はじめに
2022年4月の応用情報勉強中です。
応用情報H29秋午後のネットワークの問題を通して学んだことや、ポイントをまとめました。
ネットワーク初心者なので自分用の勉強メモですが、他の方にも参考になればと思います。
*問題の解き方の解説ではありません。
問題はコチラ
https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2017h29.html#29aki
知っておきたい前提知識
ブロードキャスト
同じネットワークに属する機器全てを宛先としてデータを送る。
ブロードキャストをする場合、宛先MACアドレスに"FFFF.FFFF.FFFF"を指定する。
ARP
既知のIPアドレスに対応するMACアドレスを知るための通信プロトコル
このIPアドレスの機器は応答してくださいという命令をブロードキャスト
するイメージ(対応するIPアドレスの機器のみから応答がある)
L2SW(レイヤ2スイッチ)
MACアドレスを用いてデータの中継を行うスイッチ
基本的なL2SWではMACアドレスとポートの対応テーブルに基づき、データを中継する。
一般的なL2SWは、通信の度にMACアドレスとポートの関係を逐一登録していく。
今回のSDNの場合は、L2SWはSDNで定義した制御パターンで通信制御を行う。
問題のポイント
この問題はSDN(Software-Design-Network)を題材にした問題です。
今回のネットワークではSDNコントローラで定義されたL2SW通信制御テーブル
で通信を制御しネットワークを構築します。
L2SW#1のテーブルはコチラです
今回の問題のポイントは、このテーブルの意味を理解することだけです。
テーブルのルールは簡単。
①パケットの送信元、宛先MACに対応するパターンを探す
②該当したパターンのアクションへパケットを中継する
(これだけわかれば、この問題の9割は解けます)
前提知識がいるのは設問3(2)
こちらは、テーブルの項番9-13の宛先anyが全てのMACアドレスを示すと記載されているので、
ブロードキャスト用パケットの中継パターンだと想像できます。
(現実的には宛先MACが"FFFF.FFFF.FFFF"の場合はこのパターンにマッチすると思われる)
そして、知っておきたい前提知識の
ブロードキャストとARPについて理解していればコチラもおのずと答えにたどり着きます。
少し深堀
一般的なネットワークの場合、宛先MACがブロードキャストであった場合、
L2SWは全てのポートへデータを中継するフラッディングを行います。
しかし、今回はSDNでL2SWは制御されており、ブロードキャストでも特定のポートへ
中継するように制御されています。(なので、ブロードキャストしても違う顧客のサーバー
にデータが届くことはありません)
残りのL2SWに対しても適切にテーブルを定義すれば、MACアドレス(OSI参照モデル第2層)のみで
ある意味独立したネットワークが構築できます。
なので、顧客Yの仮想サーバに例えば192.168.0.1を付与し、顧客Zの仮想サーバにも
192.168.0.1を付与しても問題なく通信ができます。
これが、問題文の"顧客Yと顧客ZのサーバのIPアドレスが一緒であっても、
それぞれの顧客の通信を区別することができる"の意味です。
最後に
これまで、SDNという言葉は基本情報の午前問題などで見かけて、ソフトウェアでなんか
ネットワーク管理してるんだなくらいのイメージしか持てていませんでいたが、
ほんのちょっぴり理解が深まった気がします。