以前の現場で少しだけかじった技術です。
私もまだまだまだまだまだまだまだまだ理解していない部分があるので、何回かに分けて投稿していこうかと思っております。
間違えている箇所とかご指摘あればお願いします。
SDN(Software-Defained Networking)とは
今まではネットワーク機器を一つ一つ設定するのが普通でしたが、
SDNを使うことにより、ルーティングテーブルの作成などをまとめて実施することができます。
ソフトウェアによりネットワークを管理・制御するための新しい考え方、
それに基づいたネットワークを構成するための技術のことです。
要するに、一個ずつスイッチやルータの設定をするの大変ですし、管理も手間がかかるから一括でまとめてソフトウェアでやってしまおうということです。
従来のネットワーク
上の図にもあるように本来のネットワーク構成ではそれぞれの機器上に設定を入れて、一つ一つの機器に設定、管理をする必要があります。
個々の機器に設定を入れるのはとても時間がかかり、人件費や時間などがとてもかかります。
SDNを実装したネットワーク
これに対して、SDNでは、データプレーンの処理とコントロールプレーンの処理を分けて考えます。
ネットワーク上に配置された各機器はデータプレーンの機能である転送処理だけを行い、
コントールプレーンで行う各種テーブル作成などの処理はネットワーク上に配置したSDNコントローラで集約し一括で行います。
①データプレーン
ネットワーク機器がデータの転送処理を行う部分。受信したデータの宛先をテーブルから検索し、送り先を決定しデータを転送、またはデータのカプセル化やACLによるフィルタリングなど
データ転送の際に必要な様々な処理もデータプレーンになります。
機能:ルーティングテーブルの検索、MACアドレステーブルの検索、パケットのカプセル化、非カプセル化、NAT変換などなど
②コントロールプレーン
データプレーンを制御する部分になります。データプレーンがデータを転送するには、転送するための宛先の情報が不可欠です。データを転送するために必要なルーティングテーブルやMACアドレステーブルなどの経路情報を作成、制御する役割があります。
機能:ルーティングテーブルの作成、MACアドレステーブルの作成、ARPによるアドレス解決などなど
SDNのメリット
性能面
今までの機器は、基本的に自分の周りにいる機器の状況しか分からなかったですが、
SDNではまとめ役のソフトウェアが全体像を把握しているので
「20キロ先で事故渋滞が発生しているから、こっちの道じゃなくてあっちの道を使うようにして」と指示を出すこともできます。
今回はここまでで次回は、もう少し掘り下げてみようかなと思います。