IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

仮想化の歴史と機能

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第6回 ネットワーク仮想化(2) OpenFlow (志茂吉建) 2012年10月

 第6回目も引き続きネットワークの仮想化について見ていきたいと思います。今回取り上げるのはOpenFlowです。

仮想化ネットワークの課題

 前回、仮想化システム設計で一番難しいのはネットワーク設計だとお伝えしました。ネットワークの仮想化の技術の一つにVLANがありますが、VLANの設定はスイッチごとに設定する必要があります。複数のスイッチがあれば、個別に設定を行う必要があります。これに加え、ルータ、ロードバランサー、NAT、Firewallなど様々なネットワークを個別に設定していかなければなりません。それほど規模が大きくなく、単一のサービスを行うのであれば、一度設定してしまえばそれほど多くの変更はないと思います。それでも、何か変更を行う場合はネットワーク機器の関連性を確認した上で設定しないとトラブルの元になるのは間違いありません。ましてや、データセンターなどで仮想サーバを利用してサービスを提供していたとしたら、新規サービスを提供するたびにネットワーク変更があり、他のサービスに影響がないか冷や冷やしながら変更作業を行うはめになります。

OpenFlowとは

 OpenFlowとは、近年では珍しくIT業界が注目しているキーワードの一つです。誤解を恐れずに表現すればOpenFlowは仮想ネットワークの複雑な設定から解放してくれる救世主といえるのではないでしょうか。ネットワーク機器の役割は、受け取ったパケットを適切な処理をして宛先に送付する(もしくは遮断する)ということになります。L2スイッチは文字通りレイヤ2、ルータはレイヤ3、ロードバランサーはレイヤ4とレイヤこそ違いますが、やっていることは同じです。
 OpenFlowではフローテーブルと呼ばれるマッチングルール(パケットの条件、例えば、IPアドレスの宛先、VLAN ID、入力ポートなど)に一致したパケットに対して、Instructionsに定義されたアクションを実施してパケットを転送します。マッチングルールはレイヤに依存することなく柔軟に設定することができます。

OpenFlowの構成

 OpenFlowはコントロールプレーンとデータプレーンで構成されています。コントロールプレーンとはネットワークをコントロールする仕組みを提供しています。データプレーンはコントロールプレーンからの設定に従ってパケットを配送します。1つまたは冗長化されたコントロールプレーンから複数のデータプレーンを管理することが出来ます。管理者の立場から見るとネットワーク全体を一元管理することができるということになります。

OpenFlowの導入形式

 OpenFlowの導入形式については、いくつかパターンがあります。ホップバイホップとオーバーレイ方式です。ホップバイホップは、ネットワーク機器をすべてOpenFlow対応のものに変更して運用する形式です。サーバは既存のものを利用することができ、本当の意味で柔軟なネットワークを構成することができます。ホップバイホップ方式で物理的に離れたネットワークを同一セグメントにするには、OpenFlowの設定だけで行うことができます。
 一方のオーバーレイ方式では、ネットワーク側は既存のものを利用してサーバ上で動作する仮想OpenFlowスイッチによって実現する方式です。既存のネットワークを利用するので、制限はありますが、大きな追加投資なしに導入することができます。オーバーレイ方式で物理的に離れたネットワークを同一のL2セグメントに設定するには何らかのトンネリングが必要になります。

まとめ

 一見万能に見えるOpenFlowですがスイッチの仕様は策定途中であり、進化の途中です。なお、仕様のリリース状況は以下の通りです。

  • OpenFlow 1.0 2009年9月
  • OpenFlow 1.1 2011年2月
  • OpenFlow 1.2 2011年12月
  • OpenFlow 1.3 2012年6月

 2012年7月現在、メーカからリリースされている製品の仕様はOpenFlow 1.0に準拠したものが多いようです。みなさんも業界動向など見極めながら、OpenFlow導入にむけて技術調査からは始めてみてはいかがでしょうか。

参考文献

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes