Software Design plus
[増補改訂版]クラウド時代のネットワーク技術 OpenFlow実践入門
- 高宮安仁,鈴木一哉,松井暢之,村木暢哉,山崎泰宏 著
- 定価
- 3,520円(本体3,200円+税10%)
- 発売日
- 2016.2.23[在庫なし]
- 判型
- A5
- 頁数
- 352ページ
- ISBN
- 978-4-7741-7983-4 978-4-7741-8013-7
概要
OpenFlowは,データセンター以外の大規模システム基盤にも採用され始めた,ネットワークをソフトウェアで制御する実装技術の1つです。本書では,実装するためのOSSフレームワーク(Trema)を使って,「スイッチ監視ツール」「インテリジェントなパッチパネル」「ラーニングスイッチ」などを,実際にプログラミングをして構築する方法を解説しています。
こんな方にオススメ
- ネットワークエンジニア,SDNに興味のある方
目次
1章 OpenFlowの仕組み
- 1.1 ソフトウェアで楽をする
- 1.2 ネットワークもソフトウェア制御
- 1.3 OpenFlowの動作モデル
- 1.4 OpenFlowのうれしさ
- 1.5 OpenFlowで気をつけること
- 1.6 まとめ
2章 OpenFlowの仕様
- 2.1 OpenFlowの標準仕様
- 2.2 スイッチとコントローラ間のやり取り
- 2.3 フローエントリの中身
- 2.4 マルチプルテーブル
- 2.6 まとめ
3章 Hello, Trema!
- 3.1 作ってわかるOpenFlow
- 3.2 Tremaとは
- 3.3 Trema実行環境のセットアップ
- 3.4 Hello, Trema!
- 3.5 tremaコマンド
- 3.6 即席Ruby入門
- 3.7 まとめ
4章 スイッチ監視ツール
- 4.1 ネットワークを集中管理しよう
- 4.2 インストール
- 4.3 実行してみよう
- 4.4 ソースコード解説
- 4.5 まとめ
5章 マイクロベンチマークCbench
- 5.1 Cbenchベンチマークとは
- 5.2 インストール
- 5.3 実行してみよう
- 5.4 ソースコード解説
- 5.5 マルチスレッド化する
- 5.6 無理やり高速化する
- 5.7 まとめ
6章 インテリジェントなパッチパネル
- 6.1 便利なインテリジェント・パッチパネル
- 6.2 OpenFlow版インテリジェント・パッチパネル
- 6.3 実行してみよう
- 6.4 ソースコード解説
- 6.5 まとめ
7章 すべての基本,ラーニングスイッチ
- 7.1 ラーニングスイッチとは何か
- 7.2 イーサネットスイッチの仕組み
- 7.3 OpenFlow版イーサネットスイッチ(ラーニングスイッチ)の仕組み
- 7.4 実行してみよう
- 7.5 ラーニングスイッチのソースコード
- 7.6 まとめ
8章 OpenFlow 1.3版ラーニングスイッチ
- 8.1 OpenFlow 1.0版ラーニングスイッチの問題点
- 8.2 マルチプルテーブル
- 8.3 OpenFlow 1.3でのPacket In
- 8.4 OpenFlow 1.3版ラーニングスイッチの仕組み
- 8.5 ソースコード解説
- 8.6 まとめ
9章 Tremaでテスト駆動開発
- 9.1 仕様書としてのテストコード
- 9.2 リピータハブの動き
- 9.3 どこまでテストするか?
- 9.4 テストに使うツール
- 9.5 パケット受信をテストする
- 9.6 リファクタリング
- 9.7 まとめ
10章 生活ネットワークのOpenFlowへの移行
- 10.1 どんどん規模を広げていこう
- 10.2 ケガしないためのヘルメット
- 10.3 私たちの失敗談
- 10.4 OpenFlowへの移行パターン
- 10.5 逆流防止フィルタ
- 10.6 まとめ
11章 ネットワーク機器を作ろう:ファイアウォール
- 11.1 透過型ファイアウォール
- 11.2 BlockRFC1918コントローラ
- 11.3 BlockRFC1918のソースコード
- 11.4 PassDelegatedコントローラ
- 11.5 PassDelegatedのソースコード
- 11.6 まとめ
12章 ネットワーク機器を作ろう:ルータ(前編)
- 12.1 ルータとスイッチの違い
- 12.2 イーサネットだけならルータは不要?
- 12.3 ルータの動作
- 12.4 ソースコード解説
- 12.5 まとめ
13章 ネットワーク機器を作ろう:ルータ(後編)
- 13.1 宛先ホストをまとめる
- 13.2 ネットワーク宛てのエントリをまとめる
- 13.3 RoutingTableのソースコード
- 13.4 実行してみよう
- 13.5 まとめ
14章 ネットワーク機器を作ろう:ルータ(マルチプルテーブル編)
- 14.1 マルチプルテーブル版ルータのテーブル構成
- 14.2 マルチプルテーブル版ルータの動作例
- 14.3 実行してみよう
- 14.4 まとめ
15章 ネットワークトポロジの検出
- 15.1 美しい大規模ネットワーク
- 15.2 トポロジ検出の仕組み
- 15.3 実行してみよう
- 15.4 トポロジコントローラのソースコード
- 15.5 まとめ
16章 大量のスイッチを制御
- 16.1 複数のスイッチを制御する
- 16.2 最短パスを計算する
- 16.3 実行してみよう
- 16.4 ルーティングスイッチのソースコード
- 16.5 OpenFlowを使う利点
- 16.6 まとめ
17章 仮想ネットワークの実現
- 17.1 ネットワークをスライスに分ける
- 17.2 スライスの実現方法
- 17.3 インストール
- 17.4 REST APIを使う
- 17.5 REST API一覧
- 17.6 スライス機能付きスイッチの実装
- 17.7 スライス機能付きスイッチのソースコード
- 17.8 まとめ
18章 OpenVNetで本格的な仮想ネットワーク
- 18.1 OpenVNetとは
- 18.2 エッジ仮想化の利点
- 18.3 OpenVNetの全体アーキテクチャ
- 18.4 OpenVNetの主な機能
- 18.5 使ってみる
- 18.6 OpenVNetを応用した実用例
- 18.7 まとめ
プロフィール
高宮安仁
Trema開発チーム自称リーダー。コンピュータ関係の仕事をしています。東京の大学で計算科学を学んでいたころは,並列プログラミング用ライブラリや,大規模クラスタ管理ツールを開発していました。現在は企業の研究者として,なるべく自分が楽しいことだけをやっています。モットーは何がなんでも定時に帰ること。コンピュータはもちろん音楽も好きで,スクラッチDJとしても活動しています。DJの仕事ください。
鈴木一哉
某メーカーにてネットワークに関する研究に従事する傍ら,電通大の客員として教壇にも立っています。横浜DeNAベイスターズのファンで,横浜スタジアムによく応援に行っています。昨年(2015年)は前半戦首位も後半失速,惜しいところまでいけたので,今年はぜひ優勝してもらいたいです。あと最近Ingressというゲームをよくやっています。とにかく歩きまわるので,健康にとても良いゲームです。みなさんも始めるなら,ぜひ緑軍でどうぞ。
松井暢之
TIS株式会社 戦略技術センターに所属するシステムエンジニア。アーキテクトという名の何でも屋として,さまざまなプロジェクトに従事してきましたが,研究開発部門への異動を契機に,新技術の検証や新サービスの事業企画に軸足を移しています。近頃はOSSのクラウドオーケストレーションツール(CloudConductor)を開発しており,そこからOpenFlowやTremaに行きつきました。最近の悩みは,仕事とプライベートの境界が希薄になってしまったこと。いつでもどこでも使えるクラウドは,従来のインフラだけでなくエンジニアのプライベートも破壊してしまう諸刃の剣ですね。
村木暢哉
TIS株式会社 戦略技術センター所属。以前はアプリケーション・ミドルウェア開発のエンジニアでしたが,紆余曲折を経て,現在はSoftware Defined Networking/Software Defined Infrastructureの研究開発を主に担当しています。知らないことばかりで未熟さを痛感する毎日ですが,日々勉強しながら,テーマに関連するオープンソースソフトウェアの検証やプロダクト開発などにどうにか携わっています。
山崎泰宏
株式会社あくしゅ代表取締役。大手SIerで5年ほど働いて独立。その後,データセンター向けのオープンソースソフトウェアを開発する会社を始めて10年経ちます。好きな言葉は省エネ,嫌いな言葉は資金繰り。多様な文化の中で,想像性と技術力が要求されるソフトウェアを作ることにすべてを賭けています。Tremaのコードを読んだときは,これだ!と思い,すぐに自社で使う方針を立てました。会社でTremaにコードのコミットし始めて以後は,彼女ができたり,金運も良くなるなど,その効果に驚いています。