SDN
ネットワーク機器の制御の機能とデータ転送の機能を分け、制御をソフトウェアで一元的に行う考え方。ネットワークの構成や設定を、プログラムから柔軟に変えられる。
イマシルちゃんの解説
ネットワークの設定を変えたいとき、これまではスイッチやルータを1台ずつ設定しなきゃいけなかったんだ。
機器が100台あったら、100回の設定作業……大変だよね!
SDNでは、ネットワーク全体を1つのソフトウェアから操作できるようにするんだ。
プログラムを書き換えるみたいに、ネットワークの形をさっと変えられるんだよ!
より深い解説
定義
SDN(Software-Defined Networking)は、ネットワーク機器が持つ2つの機能を分離し、制御の機能をソフトウェアに集めて一元的に管理する考え方である。
| 機能 | 役割 | SDNでの置き場所 |
|---|---|---|
| コントロールプレーン(制御) | 経路を計算し、どこへ転送するかを決める | コントローラーに集約する |
| データプレーン(転送) | 決められたとおりにパケットを転送する | 各スイッチに残す |
従来のネットワーク機器は、この2つを1台の中に持ち、機器ごとに独立して判断していた。
構成とAPI
| 層 | 内容 | 主なインタフェース |
|---|---|---|
| アプリケーション層 | ネットワークの使い方を決めるプログラム | |
| (上向きのAPI) | ノースバウンドAPI(REST APIなど) | |
| コントロール層 | SDNコントローラー | |
| (下向きのAPI) | サウスバウンドAPI(OpenFlow、NETCONFなど) | |
| インフラストラクチャ層 | スイッチなどのネットワーク機器 |
利点
- ネットワーク全体の状態を1か所で把握し、まとめて設定を変えられる
- 通信の種類ごとに経路を変えるなど、細かな制御をプログラムで実現できる
- 特定のメーカーの機器に依存しにくくなる
- 仮想マシンやクラウドの変化に合わせて、ネットワークを自動で作り変えられる
注意点
コントローラーに制御が集中するため、コントローラーの障害や負荷がネットワーク全体に影響する。冗長化や、コントローラーとスイッチの間の通信の保護が重要になる。
NFVとの違い
SDNとよく並べて語られるのがNFV(Network Functions Virtualization)である。
| SDN | NFV | |
|---|---|---|
| 何をするか | 制御とデータ転送を分離し、制御を集中させる | ファイアウォールやロードバランサなどの機能を、専用機器ではなく汎用サーバ上のソフトウェアで動かす |
| 目的 | ネットワークの制御を柔軟にする | 専用機器を減らし、機能を素早く配置する |
2つは別の考え方だが、組み合わせて使われることが多い。