読了/OpenFlow本2種

インフルエンザで思わぬ外出禁止令を食らったため暇に飽かせてインプットしてきた物を小出しにするシリーズ。
ついにこの1月から OpenFlow 解説本が発売されています。ちょっと読んでみた。

クラウド時代のネットワーク技術 OpenFlow実践入門 (Software Design plus)

クラウド時代のネットワーク技術 OpenFlow実践入門 (Software Design plus)

Trema 開発者による技術解説、特に Trema を使ったアプリケーション開発というところで、実際に手を動かしながら理解するという点に重点があります。開発者が書いているので、オフィシャルで同梱されてる src/examples のコードをベースに説明してもらえるとか、内部構造や TremaShark など技術詳細についてわかりやすくかつ信頼できる情報が手に入るという意味では、いま最初の一歩として読むならこの本かなあ、と言う感じですね。
16,17章〜Appendix当たりは Google の取り組みや国内での OSS 応用例 (wakame-VDC) など、国内外の応用例・動向などについても解説が入ってくるあたりも、この辺のメジャーどころの動きも見ておこうと思う人にはいいんじゃないかな。

OpenFlowネットワーク入門

OpenFlowネットワーク入門

うーん、上の本を読んだ後にこれを読むと、どうも狙い所というかピントがはっきりしない印象を受けてしまった。

  • 2章にある OpenFlow プロトコル解説みたいなところは、これ v1.1 についての説明だよね…。OFプロトコルにバージョンがあるみたいな話とか全然出てこないまま、いきなり操作可能な tuple に MPLS がはいってたり、インストラクションセットとフローテーブル・パイプラインに関する解説が始まったりするので、何も知らないで読むと誤解する可能性があるんじゃなかろうか。特に、その後、本の後半で使っている Trema に関する部分は OpenFlow v1.0 ベースな訳で。
  • 3章は何だろうこれ。あまり必要性を感じない…。
  • OpenFlowの応用例としてこういう物があります、の流れで障害対策…特にDR(災害対策)みたいなところに持って行きたいぽい印象。4章なんかはまさに "OpenFlowネットワークの障害対応" ってことになってるんだけど、これがどこまで参考になるのかと言うと微妙な感じ。やる人は当然この辺の話にはすぐ到達すると思うので、もうちょっと踏み込んで何か書いてもらえると良かったのかなあ。
  • 5章〜7章は、こちらも実際に OpenFlow コントローラのプログラミングをやるという話で、Trema ベースの話になる。Tremaサブコマンドとか、イベントハンドラに関する説明、OFSからOFCへの通知/OFCからOFSへの問い合わせ、みたいなところについてはわりと網羅的にいろいろ解説してくれているので、リファレンスというか解説書としてみる分には使えるのではないだろうか。
    • APIの引数がどうなってるとか、どういうイベントハンドラがあるとか、その辺の解説についてはこちらの方がいろいろ書いてある。とはいえ、7章とか、スイッチへの問い合わせで何ができるかというあたりは、概要説明にとどまっていたりするので、その辺はとっかかりとして使うのがいいんじゃないかな…。自力でAPI情報調べられる人ならありがたみが薄いかもしれない。
    • L2スイッチはともかくルータのコードとかはどうも汎用性に欠ける感じのコードになっているので、その辺は上の「実践入門」の方を見る方が良いと思います。あるいは実装の方針としてこういうやり方もあるよ、という参考としてか。

という感じでした。

「実践入門」の方は、狙い所がはっきりしていて、その分わかりやすい。"OpenFlow ナニソレ" な人がゼロから初めて、実際にコードつくって動かしてみて、コントローラプログラミングとかを順を追って理解していけるようになっている。というところに焦点をあてて書いてあるので、その応用とか発展については、自分で考えたり調べたりしてよ、と。そのために必要な基礎知識とポインタは載せておくから、という感じ。
「OFネットワーク入門」は、導入部分とか、あるいは結論部分にある今後の応用やら動向やらなんやらについての話は……特にビジネス動向とか産業としてどうよみたいな話については……これを鵜呑みにはできないなあと言う印象が強くてですね…。Trema 触ってる人がリファレンス的な解説として読めばいいところの他は、ある程度の予備知識がある人が自分で調べて判断すべきところが多々あるから、読むならそういうもんだと思って読んでよ、というところかなあ。