SDN・ネットワーク仮想化

SDN(Software Defined Networking) えすでぃーえぬ

ソフトウェア定義ネットワークコントロールプレーンデータプレーンOpenFlowネットワーク仮想化NFV
SDNについて教えて

簡単に言うとこんな感じ!

ネットワークの設定をソフトウェアで一括管理できる仕組みだよ!従来はルーターやスイッチを1台ずつ設定していたのを、まるで指揮者が全員に一斉に指示を出すように、中央のソフトから全機器をまとめてコントロールできるんだ!


SDNとは

SDN(Software Defined Networking/ソフトウェア定義ネットワーキング) とは、ネットワーク機器の「頭脳(制御)」と「手足(通信)」を分離し、ソフトウェアによってネットワーク全体を集中制御する技術・アーキテクチャです。

従来のネットワーク機器(ルーターやスイッチ)は、どこを通るかを判断する コントロールプレーン と、実際にデータを転送する データプレーン が一体化していました。SDNではこれを分離し、コントロールプレーンを SDNコントローラー と呼ばれる中央集権的なソフトウェアに集約します。これにより、ネットワーク全体を俯瞰しながら柔軟かつ動的に設定変更できるようになります。

クラウドやデータセンターの拡大に伴い、「数千台のサーバーに対して手作業で個別設定するのは限界」という現場の要求から急速に普及しました。ビジネス的には、ネットワーク設定の自動化・迅速化により、新サービスの立ち上げ速度が大幅に向上します。


SDNのアーキテクチャと仕組み

SDNは大きく3層に分かれます。

名称役割
上位アプリケーション層ビジネスロジック・ポリシーを定義セキュリティアプリ、トラフィック最適化ツール
中間コントロール層SDNコントローラーが全体を制御OpenDaylight、ONOS、Cisco ACI
下位インフラ層(データプレーン)パケットの実際の転送を担うスイッチ、ルーター

コントローラーとネットワーク機器の間は サウスバウンドAPI(代表例:OpenFlow)で通信し、コントローラーとアプリケーションの間は ノースバウンドAPIREST APIなど)で連携します。

覚え方:「指揮者とオーケストラ」

  • コントローラー = 指揮者(楽譜を見て全体をコントロール)
  • スイッチ・ルーター = 演奏者(指示通りに動くだけ)
  • OpenFlow = 指揮棒(指揮者と演奏者をつなぐ共通言語)

従来は各演奏者が「自分で楽譜を解釈して演奏」していたのが、SDNでは指揮者が全体最適で指示を出す、というイメージです。

従来ネットワークとSDNの比較

比較項目従来ネットワークSDN
設定方法機器ごとに個別設定コントローラーから一括設定
変更の速さ時間〜日単位数秒〜分単位
柔軟性低い(ベンダー依存)高い(ソフトウェアで制御)
障害対応手動・局所的自動・全体最適
導入コスト初期は低い初期は高め
運用コスト規模拡大で急増規模拡大でも安定

歴史と背景

  • 2004年頃 — スタンフォード大学でネットワーク研究プロジェクトが活発化。従来機器の閉鎖性への問題意識が高まる
  • 2008年 — Nick McKeown教授らが OpenFlow プロトコルを発表。スイッチの転送テーブルをソフトウェアから操作する仕組みを提案
  • 2011年ONF(Open Networking Foundation) 設立。Google、Facebook、Microsoftなどが参加し、SDNの標準化推進
  • 2012年 — GoogleがデータセンターのWAN(広域通信網)を B4 と呼ぶSDN基盤に刷新。帯域利用効率が3倍に向上したと発表し業界に衝撃
  • 2013年〜 — VMware、Cisco、Juniperなど主要ベンダーが相次いでSDN製品を市場投入
  • 2015年以降 — クラウド・データセンター向けに急速普及。NFV(Network Functions Virtualization) との組み合わせが標準的に
  • 2020年代5Gコアネットワークや大規模クラウド基盤の必須技術として定着

SDNと関連技術の全体像

SDN vs NFV の違い

SDNと並んで語られる NFV(Network Functions Virtualization) は、しばしば混同されます。

観点SDNNFV
何を仮想化するかネットワーク制御(コントロールプレーン)ネットワーク機能(ファイアウォールロードバランサーなど)
目的ネットワーク経路の柔軟な制御専用ハードウェアをソフトウェアで代替
動かす場所スイッチ・ルーター上汎用サーバー上(仮想マシン・コンテナ)
代表製品OpenDaylight、Cisco ACIOpenStack、VMware NSX

両者は補完関係にあり、組み合わせて使われることが多いです。

SDNのアーキテクチャ図

アプリケーション層 セキュリティアプリ トラフィック最適化 ネットワーク監視 ↕ ノースバウンドAPI(REST API) コントロール層(SDNコントローラー) OpenDaylight / ONOS / Cisco ACI / VMware NSX ↕ サウスバウンドAPI(OpenFlow / NETCONF / gRPC) インフラ層(データプレーン) スイッチA スイッチB スイッチC 物理ネットワーク(パケット転送) ※ コントローラーがフロールールを各スイッチに配信し、転送経路を制御

主要なSDNコントローラー

製品名提供元特徴
OpenDaylightLinux Foundationオープンソース。エンタープライズ向け
ONOSONF通信キャリア向け。高可用性
Cisco ACICisco商用。データセンター向け
VMware NSXVMware(Broadcom)仮想環境との親和性が高い

関連する規格・RFC

規格・RFC番号内容
RFC 7426SDNの用語・アーキテクチャを定義するフレームワーク
RFC 7047OVSDB(Open vSwitch Database Management Protocol)の仕様
RFC 8040RESTCONF(ネットワーク機器をREST APIで管理するプロトコル)
RFC 6241NETCONF(ネットワーク機器の設定管理プロトコル)

関連用語

  • NFV(Network Functions Virtualization) — ネットワーク機能をソフトウェアで仮想化する技術。SDNと組み合わせて使われることが多い
  • OpenFlow — SDNのサウスバウンドAPIとして使われる代表的プロトコル。コントローラーとスイッチ間の通信を定義
  • VLAN — 物理ネットワークを論理的に分割する技術。SDNではソフトウェアで動的に制御可能
  • オーバーレイネットワーク — 既存の物理ネットワーク上に仮想ネットワークを構築する技術。SDNと組み合わせて使われる
  • NETCONF — ネットワーク機器の設定をXMLベースで管理するプロトコル。SDNのサウスバウンドAPIとして利用
  • データセンター — SDNが最も積極的に導入される場所。大規模な機器を一元管理するニーズと相性が良い
  • クラウドコンピューティング — クラウド基盤の柔軟なネットワーク制御にSDNが活用されている
  • ネットワーク仮想化 — 物理ネットワークをソフトウェアで抽象化・仮想化する技術の総称