FE EXAM

SDN(ソフトウェアで制御するネットワーク)

ソフトウェアによってネットワーク構成を柔軟に制御する技術。

DIAGRAM
制御平面
データ平面
制御平面(コントローラ)頭脳:経路やルールをまとめて決めるOpenFlow で指示送信元PC宛先PCスイッチ1転送するだけスイッチ2転送するだけスイッチ3転送するだけデータ平面:指示どおりにパケットを転送する手足(スイッチ)破線 = 実際のデータ(パケット)が送信元から宛先へ流れる道すじ
解説

📌
SDNとは

ソフトウェア機器1機器2機器3

SDN(Software-Defined Networking=ソフトウェアで定義するネットワークのこと)とは、ルータやスイッチなどのネットワーク機器を、ソフトウェアからまとめて柔軟に制御する技術です。

従来のネットワークでは、機器1台ごとに人が直接ログインして設定していました。台数が増えると手間がかかり、ミスも起きやすくなります。SDNでは設定や経路の決定をソフトウェアに集約し、画面やプログラムから一括で変更できるようにします。

身近な例で考えると、オーケストラの指揮者に似ています。従来は演奏者(機器)が各自バラバラに楽譜を読んで演奏していましたが、SDNでは指揮者(ソフトウェア)が全体を見て一斉に指示を出すイメージです。上の図解で、ソフトウェアが複数の機器をまとめて操作する様子を確認してみてください。

📌
平面分離の利点

SDNの心臓部は、ネットワークの働きを2つの「平面(プレーン)」に分けることです。平面とは「役割のまとまり」のことだと考えてください。
制御平面(コントロールプレーン):頭脳。「どこへ送るか」という経路やルールを決める
データ平面(データプレーン):手足。決まったルールに従い、実際にパケット(データのかたまり)を転送する

従来のネットワークSDN
頭脳と手足各機器が両方を持つ頭脳を1か所に集約
設定方法機器ごとに手作業ソフトウェアで一括
構成変更時間がかかる柔軟ですばやい

頭脳と手足を分けると、次のような利点が生まれます。
柔軟な構成変更:機器を触らずソフトウェアの設定だけで経路を変えられる
一元管理:ネットワーク全体を1つの画面で見渡して管理できる
自動化しやすい:プログラムから制御できるため、混雑に応じた自動調整がしやすい

📌
OpenFlow

コントローラOpenFlowスイッチフローテーブルに従う

OpenFlowとは、SDNのコントローラ(制御平面)が、スイッチ(データ平面)に「このパケットはこう転送せよ」と指示を出すための代表的なプロトコルです。SDNを実現する具体的な通信規格の1つだと考えてください。

OpenFlow対応のスイッチは、フローテーブルという転送ルールの一覧を持っています。コントローラがこの表を書き換えることで、スイッチの動きを遠隔から自由に変えられます。
条件:たとえば「あて先がAのパケット」
動作:たとえば「ポート2へ転送する」
このように「条件 → 動作」のルールを並べておき、合致したパケットを処理します。

身近な例で考えると、郵便局の仕分けマニュアルに似ています。本部(コントローラ)が「この地域あての郵便はこのトラックへ」というマニュアル(フローテーブル)を作って各郵便局(スイッチ)に配り、現場はそのとおりに仕分けする──その配布の手順がOpenFlowにあたります。

📌
なぜSDNが必要か

従来(機器ごとに個別設定)機器1機器2機器3機器が増えるほど手間が増えるSDN(ソフトで一括制御)コントローラ機器機器機器機器1か所から全機器をまとめて変更

SDNが必要になったのは、従来のネットワーク管理に限界があったからです。ネットワーク機器(ルータやスイッチ)は以前から存在していましたが、設定方法に大きな問題がありました。

従来の管理の問題点は次のとおりです。
機器ごとに個別で設定が必要:機器1台1台にログインして手作業で設定を変える
機器が増えるほど作業量が増える:台数が10倍になれば作業も約10倍になる
変更に時間がかかる:組織のネットワーク構成を変えるのに数日かかることもある

特に、データセンター(=大量のサーバを置く施設)では数百〜数千台の機器を扱うため、従来の方法では管理しきれなくなりました。SDNはこの問題を「制御を1か所に集める」という発想で解決します。ソフトウェアを使えば変更は数分で全機器に反映できるようになります。

📌
SDNとNFVの関係

SDN経路・制御をソフトでNFV機器の機能をソフトで+組み合わせてネットワーク全体をソフトウェアで管理

SDNとよく一緒に出てくる言葉がNFV(Network Functions Virtualization=ネットワーク機能の仮想化のこと)です。この2つは似ているようで役割が違います。

2つの違いを簡単に整理すると次のとおりです。
SDN:「どこへデータを送るか(経路・制御)」をソフトウェアで集中管理する仕組み
NFV:「ルータやファイアウォール(=通信を守る機器)など機器の機能そのもの」を、専用のハードウェアではなく普通のサーバ上のソフトウェアで動かす仕組み

身近な例で考えると、SDNは「交通整理をソフトで行う」こと、NFVは「物理的な道路標識を、画面の表示に置き換える」ことに似ています。両方組み合わせることで、ネットワーク全体をよりソフトウェアで自由に管理できるようになります。どちらも「ハードウェアへの依存をなくし、ソフトウェアで柔軟に」という同じ方向を目指しています。

練習問題

🎯
基本情報技術者 練習問題

Q1.SDN(Software-Defined Networking)の説明として最も適切なものはどれか。
A.ネットワーク機器を1台ずつ手作業で設定する従来どおりの方式
B.ソフトウェアによってネットワーク構成を柔軟に制御する技術
C.通信を暗号化して盗聴を防ぐ技術
D.ハードディスクを仮想的に1つにまとめる技術
Q2.SDNにおける「制御平面」と「データ平面」の説明として正しいものはどれか。
A.制御平面が実際のパケット転送を行い、データ平面が経路を決める
B.制御平面が経路を決め、データ平面が実際のパケット転送を行う
C.制御平面とデータ平面はまったく同じ役割を持つ
D.データ平面は通信を暗号化する役割を持つ
Q3.SDNでコントローラとネットワーク機器の間でよく使われるプロトコルはどれか。
A.OpenFlow
B.HTTP
C.SMTP
D.POP3

関連コンテンツ