2012年2月6日、西新宿にある株式会社ニフティさんで行われた “OpenFlow 勉強会” に参加したので簡単なレポメモを書いておきます。
まずは OpenFlow の基本動作。
- メッセージの切り出し
- ハンドシェイク
- コネクションの維持
- スイッチから送られてくるメッセージへの応答
構成は
- OpenFlow コントローラ, スイッチから成る
- コントローラは通信制御
- スイッチはフロールールをコントローラに問い合わせ通信を受け流し(packet/frame 転送)
- コントローラは L2 - L4 フィールドを見て制御する
そしてコントローラ、スイッチは各社・団体から提供されている。今月も Nicira Networks さんが自社システムの構成を抽象的ではありますが公開され、HP さんも OpenFlow 対応スイッチを12製品ほど発表されました。
コントローラの種別、
- Beacon (Java)
- NOX (Python)
- Ryu
- NodeFlow
- Trema (C/ruby)
- Nicira Networks
- Big Switch Networks
- Midokura
- NTT Data
スイッチの種別、
- cisco nexus 3000
- IBM BNT rackSwitch G8264
- NEC Univerge PF5240/PF5820
- Pronto Systems 3240/3290
- HP 3500/5400
- HP OpenFlow 化 firmware
- Reference Implementation (Software)
- Open vSwitch (Software)
NEC さんの PF ほにゃららは、GUI なインターフェースと API を持った製品で OpenFlow 1.0.0 仕様に準拠。スイッチ25台までを管理するコントローラ。価格は、コントローラ : 1000万, スイッチ : 250万 だそうです。スイッチ25台はあくまでもソフトリミットらしいです。
Trema は開発者が日本人で OpenFlow 1.1.0 に準拠。Ruby / C を使ってフロールールが掛けるフレームワーク型のソフトウェアで、github にある Wiki を見ても分かりますが、とても簡潔なルール記述が可能です。あと、特徴なのがテストフレームワーク(シュミレータ)が付いているので、OpenFlow 対応スイッチを購入しなくても自分で書いたルールがテスト出来ます。これはとても大きな意味がある。自宅でもあれこれルールを書けて動作を知るにはとても良い機能です。
Nicira Networks の NVP (Nacira Virtual Platform) はハイパーバイザ上の OpenvSwitch やアプライアンスなスイッチを管理するコントローラから成ると今月公開されました。ただ抽象的な言葉ばかりが並んでいて ( web, datasheet 共に ) まだまだ、仕組みを理解するには情報が足らないのかなぁと感じています。特に distributed controller はどう冗長取れている?など。software designed network の ML が日本でも管理され始めて議論されていますが、ハイパーバイザ上の OpenvSwitch で、カプセル化時のオーバーヘッドをどう攻略するか?が問題じゃないかと話し合われています。
Midokura さんも会場にいらっしゃったのですが、印象的な言葉は “OpenFlow は夢の技術ではないし、既存のネットワーク技術を置き換えるものでもない” でした。サービスを形成するサーバファーム周りで OpenFlow を使ったシステムを組むには良いですけどね。
最後に参考 URL を記しておきます。