【えすでぃーえぬ】

SDN とは?

💡 ネットワーク設定を「ソフトウェアで集中管理」する考え方
📌 このページのポイント
SDN(Software-Defined Networking) アプリケーション層 ファイアウォール 負荷分散 監視 QoS制御 Northbound API コントロールプレーン SDN コントローラ 集中 制御 Southbound API(OpenFlow等) データプレーン(スイッチ群) SW1 SW2 SW3 SW4 SW5
SDNのアーキテクチャ
ひよこ ひよこ

SDNって何?

ペンギン先生 ペンギン先生

従来のネットワーク機器は設定が各機器にバラバラに入っていた。SDNはその制御を一箇所(コントローラ)に集めて、ソフトウェアで一元管理するという考え方だよ。

ひよこ ひよこ

何がうれしいの?

ペンギン先生 ペンギン先生

ネットワーク構成の変更が自動化できる。例えばクラウドでサーバを追加したとき、APIでSDNコントローラに指示を出せば瞬時にネットワーク設定が反映される。手動でルータを設定して回る必要がなくなる。

ひよこ ひよこ

OpenFlowって何?

ペンギン先生 ペンギン先生

SDNを実現するための標準プロトコルの一つ。SDNコントローラがOpenFlowプロトコルでスイッチのフロー(転送ルール)を書き換えることで、柔軟なルーティングを実現する。AWSGCPVPCもSDN的な思想で作られているよ。

ひよこ ひよこ

実際にSDNを導入している例ってどんなもの?

ペンギン先生 ペンギン先生

Googleの内部ネットワーク「B4」が有名な事例だよ。データセンター間の帯域をSDNで動的に最適化して、帯域利用率を95%以上に高めた。通常のネットワークでは30〜40%程度なので劇的な改善だね。AWSVPCも裏側ではSDN技術が使われている。

ひよこ ひよこ

SDNを学ぶにはどうすればいいの?

ペンギン先生 ペンギン先生

まずはMininet(SDNのシミュレーター)を触ってみるのがおすすめ。仮想的にスイッチやホストを作ってOpenFlowコントローラで制御する実験ができる。ネットワークの基礎(L2/L3、VLANルーティング)を理解した上で取り組むと理解が早いよ。SDNの考え方はクラウドエンジニアにとって必須の知識になりつつあるんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
SDNって出てきたら「ネットワーク機器の制御をソフトウェアで集中・自動化する仕組みの総称」と思えばOK!
📖 おまけ:英語の意味
「Software-Defined Networking」 = ソフトウェア定義ネットワーキング
💬 2010年代にスタンフォード大学のNick McKeown教授らが提唱した概念。クラウド化に伴う大規模ネットワーク管理の効率化が背景にある
← 用語集にもどる