SDN(ソフトウェア定義ネットワーキング)とは? 基礎概念まとめ

SDN(ソフトウェア定義ネットワーキング)は、個々のネットワーク機器が持っていた判断機能を切り出し、一か所に集約する考え方です。実際に何を意味するのか整理しました。

核となる発想は制御プレーンとデータプレーンの分離

「制御プレーン」は通信をどこへ送るかを決める部分、「データプレーン」は実際に通信を運ぶ部分です。ルーターのような従来型のネットワーク機器はこの両方を1台の機器の中にまとめていますが、SDNはこれらを切り離します。

集中管理コントローラーがネットワーク全体の判断を行う

SDN構成では、物理的なスイッチとは別に動作するソフトウェアのコントローラーがネットワーク全体を把握し、各スイッチに転送指示を送ります。各機器が個別に経路を判断するのではなく、コントローラーが一元的に判断します。

OpenFlowはこの考え方を広めたプロトコル

OpenFlowは、SDNコントローラーが特定の種類の通信をどう扱うかをスイッチに具体的に指示できるようにする標準的な通信プロトコルで、SDNを研究段階の概念から実用的で相互運用可能な仕組みへと押し上げたプロトコルとして広く評価されています。

従来型ネットワークは機器ごとに個別に設定する

従来型のネットワークでは、管理者が通常、各ルーターやスイッチごとに個別にルーティングの動作を設定します。SDN構成ではポリシーをコントローラー側で一度定義すればネットワーク全体に自動的に適用されるため、変更が速く、規模が大きくなってもミスが起きにくくなります。

手動設定ではなくプログラムで制御できるネットワークになる

SDNはネットワークの動作をソフトウェアのインターフェース(API)を通じて公開するため、機器ごとに手作業で設定する必要がなくなり、ネットワークの動作を自動化・スクリプト化し、リアルタイムの状況に応じて動的に変更できるようになります。

大規模データセンターやクラウド事業者が主な利用者

SDNは、ネットワークの規模が大きく、変化が頻繁で、集中的な自動化が必要な環境で最も価値を発揮します。大規模データセンター、クラウド基盤事業者、大規模な仮想化ネットワークを運用する通信事業者などが典型的な利用者で、一般的な家庭や小規模オフィスのネットワークとは事情が異なります。

なぜ大規模環境でこの分離が重要になるのか

数千台のスイッチが存在するネットワークでは、ルーティングの変更を機器ごとに手作業で設定するのは時間がかかりミスも起きやすくなります。この判断をソフトウェア側に集約することで、管理者、あるいは自動化されたシステムが、1か所でネットワーク全体の動作を変更できるようになります。これが大手クラウド事業者がSDNを広く採用した主な理由です。

SDNとネットワーク機能仮想化の関係

SDNは、専用ハードウェア機器(物理的なファイアウォールやロードバランサーなど)の機能を、標準的なサーバー上で動くソフトウェアに置き換えるネットワーク機能仮想化(NFV)と併せて語られることがよくあります。両者は関連が深く、一緒に導入されることも多いですが、SDNはあくまで制御プレーンとデータプレーンの分離を指し、ハードウェア機能そのものの仮想化を指す言葉ではありません。

よくある質問

SDNは家庭用ネットワークにも関係がありますか?

直接的にはあまり関係ありません。SDNが提供する複雑さと集中制御の価値は、機器が多く、要件が頻繁に変化する大規模ネットワークで主に発揮されるもので、一般的な家庭や小規模オフィスのネットワークが置かれている状況とは異なります。

OpenFlowはSDNを実現する唯一の方法ですか?

いいえ。OpenFlowはSDNを広めたプロトコルですが、現在では他の方式やコントローラー・スイッチ間のプロトコルも存在し、最新のSDN実装の中にはOpenFlowに依存しないものもあります。