OpenFlow

[tmkm-amazon]9784798131771[/tmkm-amazon]
次世代の宇宙機内を検討するにあたり、地上アプリケーションでのSoftware Defined Networkの基礎を勉強するため読んでみました。いままで、OpenFlowのイメージは分かっていたのですが、本質がイマイチつかみきれていませんでした。本書で示されているいくつかの例(floodハブ、ロードバランサ等)をみることで、何が”software-defined”なのかの具体的なところを理解することができました。

  • パケットのルーティング(のルール = フローエントリ)を管理(生成・登録・削除)する「OpenFlowコントローラ」と、指定されたルールに従ってパケットをルーティングする「OpenFlowスイッチ」の組み合わせでルーティング機能を実現
  • OpenFlowコントローラは、静的にも動的にも、フローエントリを生成し、OpenFlowスイッチに登録することが可能なので、運用形態の変更にあわせて動的にネットワークの動作を切り替えられる
  • ソフトウエアOpenFlowコントローラでは、フローエントリの生成や、パケットイン(OpenFlowスイッチでフローを判断するエントリが無かった場合にコントローラにパケットが送られ判断がゆだねられる動作)が発生したときの動作の記述が、CやC++、Java、Ruby、Python等のAPIで可能(使用するソフトウエアスイッチによって、いろいろな言語でAPIが提供されている)

要求される機能や性能、利用可能な部品との兼ね合いがあるため、宇宙機の場合にSDNがどのように応用できるかは、もう少し検討しないといけません。

20141026 追跡運用当番の内之浦宇宙空間観測所にて読了

 

オープンソースのOpenFlowコントローラとAPI提供言語

以下に代表的な物を、自分が名前を覚えるために書いておきます。

詳細なリストは List of OpenFlow software projects 等に出ています。