次世代ネットワーク技術として注目浴びる「SDN(Software Defined Network)」について生い立ちや基礎概念から解説している本連載。前回までの内容で、その世界観や効用については概ねご理解いただけたと思う。
今回は、そうした世界を実現するSDNの要素技術について解説しよう。
OpenFlow概説
SDNを実現する技術要素としては様々なものが存在するが、その中でも代表格となる技術が「OpenFlow」だ。同技術はスタンフォード大学の研究に端を発し、2011年3月にはGoogle, Yahoo!, Facebook, Verizon, Microsoft等が中心となりONF(Open Networking Foundation)と呼ばれる標準化団体が設立され、標準化を推進している。
OpenFlowとは、コントロールプレーンとフォワーディングプレーン間を分離してフロー単位で制御するための技術である。これにより、(1) 集中制御、(2) ネットワークプログラム、(3) 従来のネットワーク制限に縛られない柔軟な制御が可能となる。
実環境では、コントロールプレーンとフォワーディングプレーンを分離し、それぞれを「OpenFlowコントローラー」、「OpenFlowスイッチ」として機能を分担することになる。
OpenFlowと従来技術とを比較した場合、違いが顕著にあらわれるのが経路制御の方式だ。
OpenFlowでは、従来のレイヤ2・レイヤ3の通信プロトコルに縛られず、「フロー」という単位で捉えて制御する。具体的な実現方法としては、パケットを制御ルールと実施すべき処理の定義をまとめた「フローエントリー」に従って処理する。
複数のフローエントリーの集合は「フローテーブル」と呼ばれ、OpenFlowコントローラーはOpenFlowスイッチにフローテーブルを配布することで経路情報を設定する。
OpenFlowの標準化動向に目を向けると、2009年にはバージョン1.0が策定され、現在では1.3の仕様策定が完了している段階にある。各ベンダーもサポートを表明しており、国内外でも実績が増加してきている状況だ。
OpenFlowを標準化の観点からみた場合の特徴は、ユーザーやプロバイダーが主導するONFにて標準化を行い、更には検討・推進していることである。これにより、業種を超えたエコシステム(ベンダー間の連携・共生モデル)が形成され、イノベーションの加速化を促している。また、OpenFlowを使用したOSSも多数存在することや様々な研究者やベンダーがOpenFlowを使用したプロジェクトを進めていることもイノベーションを加速させる要因の一つとなっている。
一方で、OpenFlow自体は非常に基本的な要素のみでしか仕様が策定されておらず、それをどのように利用するかは実装者に依存する部分が多いので、当面は相互接続性などに留意する必要がある。
また、次項でも解説する通り、SDNを実現する手法としてはOpenFlowのみならず、OpenFlow以外の技術の組み合わせや、敢えてOpenFlowを使用しないでSDNを実現することを提唱しているベンダーも存在している。
SDNを実現する手法1 - OpenFlowを前提とする場合
ここでは、SDNを実現するための手法として、OpenFlowを中心技術として実現する場合と、OpenFlow以外の技術を利用して実現する場合に大別して解説する。まず、OpenFlowを前提としてSDNを実現する場合、「Hop by Hop方式」と「Overlay方式(トンネル方式)」と呼ばれる二つのアプローチに概ね分類できる。
(1) Hop by Hop方式
この方式では、管理対象のネットワーク上にある全てのスイッチをOpenFlow対応とし、全てのスイッチをコントローラーで一元的に管理する。柔軟な経路制御などOpenFlowで実現可能な様々なメリットを享受することができる一方で、ネットワーク上のスイッチ全てをOpenFlow対応に変更またはアップグレードする必要があるといった導入に対する若干の障壁も生じる。
(2) Overlay(トンネル)方式
この方式では、全てをOpenFlow対応スイッチとするのではなく、エッジスイッチのみをOpenFlowに対応させる。
スイッチ間の通信はトンネルを張ることで、論理的なネットワークが構成できる。また、既存のネットワークを活かすこともできるため、導入に対する障壁は低いといえる。但し、どのトンネル技術を使用するかというのは、OpenFlowで策定されている訳ではなく、VXLAN、NVGRE、STT、GREなど複数のプロトコルと組み合わせて実現することになる。
これらの2方式に加えて、最近ではOpenFlowに対応していない一部のネットワークのみをOverlay(トンネル)方式を利用し、他の箇所はHop by Hopを併用するという、「ハイブリッド型」の方式も提唱されている。
SDNを実現する手法2 – OpenFlowを前提としない場合
次に、OpenFlowを利用しないでSDNの実現を提唱しているベンダー方式の代表例をここでは紹介する。
OpenFlow以外の方式を提唱しているベンダーは、データプレーンとフォワーディングプレーン間の技術のみならず、運用管理やアプリケーション連携などについてもOpenFlowに拘らない形での方式を提唱している。
-
(1) OpenFlowと同じレイヤで使用可能な技術を提案
(例 : ベンダー独自APIs、NETCONF/YANG、ForCES、XMPPなど) -
(2) OpenFlow以外の技術による一元管理の実現および外部連携を提案
(例 : LLDP、LMPのようなトポロジディスカバリプロトコルとの連携、PCEのような最適パスの決定やリアルタイムなトポロジーの認識など) - (3) 独自OSのプログラミング環境の提供
上記のように、ポイントとしては、SDNの技術的な実現方法は多数あり、ベンダー実装も様々だ。それぞれに特徴があるため、適材適所で採用対象を検討する必要がある。
* * *
駆け足にはなったが、今回はざっとSDNに不可欠な要素技術について紹介した。
最終回となる次回は、SDNの課題や運用現場に与える影響について考えていきたい。
著者プロフィール
ネットワンシステムズ
ネットワンシステムズは、常に国内外の最先端技術動向を見極め、ネットワーク領域とプラットフォーム領域において、自ら検証した製品に高品質な技術サービスを付加することによって、お客様のビジネス成功を目的として、生産性を高め、簡便に利活用できるIT基盤ならびにコミュニケーションシステムを提供しています。SDNにおいては、先進な仮想データセンター向け製品群とオープンなSDN製品群を組み合わせることによってSDNの連携範囲をクラウド基盤全体に拡大し、構成変更や運用を自動化し、運用コストを大幅に削減するとともにビジネスの俊敏性を大きく向上するソリューションを提供しています。