SDNとは
SDN(Software-Defined Networking)は、ネットワークの制御機能(コントロールプレーン)とデータ転送機能(データプレーン)を分離し、ソフトウェアからネットワークをプログラム可能にする考え方です。コントローラがネットワーク全体を論理的にまとめて制御し、対応する機器へ転送ルールなどを設定します。この記事では、2つのプレーンの役割と、代表的な制御用プロトコルであるOpenFlowを整理します。
制御プレーンとデータプレーン
制御プレーンは、ネットワークの状態や方針に基づいて経路や転送ルールを決める機能です。データプレーンは、そのルールに従ってパケットを転送・破棄するなどの処理を行う機能です。SDNでは、この2つを分離し、ソフトウェアから機器の動作を制御できるようにします。
コントローラによる集中制御は「論理的な集中」を意味します。必ず1台の物理サーバーで動かすという意味ではなく、複数のコントローラで役割を分担する構成もあります。従来のネットワークでも遠隔設定は可能であり、SDNの特徴は現地作業の有無ではなく、制御と転送の分離およびプログラム可能な制御にあります。
具体例
データセンターで用途別の通信ルールを変更する場合、コントローラが管理するネットワーク機器へ新しい転送ルールを設定し、既存の物理ネットワーク上で通信の扱いを変更できます。物理的な接続や機器の対応機能は前提であり、ソフトウェアがLANケーブルそのものを接続・変更するわけではありません。反映時間や変更できる範囲は、機器や構成によって異なります。
OpenFlowの役割
OpenFlowは、コントローラと対応スイッチの間で転送処理を制御する代表的なプロトコルです。コントローラはフローテーブルに、パケットのヘッダなどに対する一致条件と、転送・破棄・ヘッダの書換えなどの処理を設定します。スイッチはルールに従ってパケットを処理します。SDNの実装方式は複数あり、すべてのSDNがOpenFlowを使うとは限りません。
試験でのポイント
応用情報の学習では、制御プレーンとデータプレーンの役割、両者を分離する理由、コントローラによる論理的な集中制御を整理します。OpenFlowは制御用プロトコルの代表例として、フローテーブルの一致条件と処理の関係を押さえましょう。
関連する技術に、WANへソフトウェアによる制御を応用するSD-WAN、仮想的なネットワークを構成するオーバーレイ、ネットワーク機能をソフトウェア化するNFVがあります。それぞれの目的とSDNとの関係を区別して学びます。
次に学ぶ・参考資料
ネットワークを論理的に分けるVLANの基本を読む:VLANによる論理的な分割を確認し、SDNによる制御との違いを整理できます。