やさしいネットワークとセキュリティ

情報処理安全確保支援士、ネットワークスペシャリスト、技術士として、資格取得を目指す方に有益な情報を発信します。

OpenFlowにおけるフローテーブルに基づくデータ転送【ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問2-5】

 情報処理技術者試験の午後問題を通じて、ネットワークの知識を体系的に蓄積していきましょう。

 キーワードに加え、設計や障害対応能力をシミュレーションできる良い学びの場ですので、試験合格はもちろん、ネットワークスペシャリストとなった後も能力向上のために学習できるいい機会です。

 今回は、「OpenFlowにおけるフローテーブルに基づくデータ転送」を取り上げた「ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問2-5」です。

 問題文中、設問に該当する部分ですぐに解答を説明しています。

 ストーリーとして何度も読みこなすと、自然に記憶に定着してくると思います。

ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問2-5

問2 サービス基盤の構築に関する次の記述を読んで、設問1~5に答えよ。

(略)

【技術習得を目的とした制御方式の設計】

 テストシステムの構築に当たって、N主任とJさんの2人は最初に、OFの技術習得を目的として、MACアドレスの学習によるパケットの転送制御方式を考えることにした。

 テストシステムは、図1中のP社、Q社及びZ社の3顧客向けのシステムを収容した構成である。テストシステムの構成を図4に、テストシステム中の機器と仮想サーバのMACアドレスを表2に示す。

f:id:aolaniengineer:20200807041911p:plain

f:id:aolaniengineer:20200807041940p:plain

 図4に示したように、P社にはVLAN IDに100、110、120、Q社にはVLAN IDに200、210、Z社にはVLAN IDに300、310を、それぞれ割り当てる。各顧客のWebサーバと業務サーバ間の通信は発生しない。

 2人は、Fテーブルの構成について検討した。Fテーブルは、OFSのデータ転送動作を確認しやすくするために、最初に処理されるFテーブル0と、パケットの入力ポートに対応して処理されるFテーブル1~4の五つの構成とした。2人がまとめた、五つのFテーブルの役割を表3に示す。

f:id:aolaniengineer:20200807042132p:plain

 Fテーブルは、複数のフローエントリ(以下、Fエントリという)からなる。

 Fエントリは、OFSに入力されたパケットがどのFエントリに一致するかを判定するためのマッチング条件、条件に一致したパケットに対する操作を定義するアクション、パケットが複数のFエントリに一致した場合の優先度などで構成される。入力されたパケットが、Fテーブル内の複数のFエントリのマッチング条件に一致した場合は、優先度が最も高いFエントリのアクションが実行される。また、どのマッチング条件にも一致しないパケットは廃棄される。一つのFエントリには、複数のアクションを定義できる。

 OFCとOFSの間では、メッセージの交換が行われる。このメッセージの中には、OFSに対してFエントリを設定するFlow-Modメッセージ、OFSが受信したパケットをOFCに送信するPacket-Inメッセージ、OFCがOFSに対して指定したパケットの転送を指示するPacket-Outメッセージなどがある。

 

 次に、2人は、3顧客で全てのサーバとの通信が正常に行われたとき(以下、正常通信完了時という)に、OFCによってOFSに生成されるFエントリを、机上で作成した。正常通信完了時のFテーブル0~4を、それぞれ表4~8に示す。

f:id:aolaniengineer:20200807042335p:plain

f:id:aolaniengineer:20200807042401p:plain

f:id:aolaniengineer:20200807042427p:plain

f:id:aolaniengineer:20200807042455p:plain

f:id:aolaniengineer:20200807042525p:plain

 

 表8中の項番2は、イーサタイプがARP、VLAN IDが100及び宛先MACアドレスがFF-FF-FF-FF-FF-FFのパケットを、VLANタグを削除してp1から出力することを示している。

 OFSにパケットが入力されると、OFSは表4のFテーブル0の処理を最初に実行する。例えば、図4中のQ社のIPsecルータからOFS1のp2にARPリクエストパケットが入力された場合、そのパケットは、表4中の項番2に一致するので、パケットにVLAN IDが200のVLANタグをセットし、次に表5のFテーブル1で定義された処理を行う。表5のFテーブル1では、項番1に一致するので、当該パケットはPacket-Inメッセージに格納されて、OFCに送信される。OFCは受信したパケットの内容を基に、Flow-ModメッセージでFエントリを生成したり、Packet-OutメッセージなどをOFSに送信したりする。

 

 N主任とJさんは、作成したFテーブルの論理チェックを行い、五つのFテーブルによってテストシステムを稼働させることができると判断した。

 パケット転送制御方式の机上作成を通してOFの動作イメージが学習できたので、次に、2人は、実際にテストシステムを構築して、動作検証と性能評価を行うことにした。

【出典:ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問2(一部、加工あり)】

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2018h30_2/2018h30a_nw_pm2_qs.pdf

P社のWebサーバ利用者から送信された、Webサーバ宛てのユニキャストパケットがWebサーバp1に転送されるとき、パケットの転送は、次の【パケット転送処理手順】となる。

【パケット転送処理手順】

ルータ→L2SW→Fテーブル0、項番1→(オ)→FWp→LBp→(カ)→(キ)→Webサーバp1

 

【パケット転送処理手順】中の(オ)~(キ)に入れる適切なFテーブル名と項番を答えよ。Fテーブル名は、Fテーブル0~4から選べ。また、項番は表4~8中の交番で答えよ。ここで、パケット転送制御を行うOFSは特定しないものとする。:(オ)Fテーブル1項番2(カ)Fテーブル0項番6(キ)Fテーブル4項番6

 パケット転送処理手順を図4に照らし合わせて順番に確認していきます。

  1. P社のWebサーバ利用者から送信されたパケットがルータ→L2SW経由でOFS1p1で受信
  2. OFS1Fテーブル0(表4)を参照。「入力ポート=p1」にマッチする項番1のアクションを実施VLAN ID100のタグをセット。Fテーブル1で定義された処理を行う。」
  3. OFS1Fテーブル1(表5)を参照。L2SWから受信したフレームの宛先MACアドレスはFWpWAN側に相当する「mFWpw」です。これにマッチする項番2のアクションを実施p13から出力」
  4. FWp→LBpを経由してOFS1P13で受信
  5. OFS1Fテーブル0(表4)を参照。「入力ポート=p13」にマッチする項番6のアクションを実施Fテーブル4で定義された処理を行う。」
  6. OFS1Fテーブル4(表8)を参照。LBpから受信したフレームの宛先MACアドレスはWebサーバp1に相当する「mWSp1」、送信元MACアドレスはLBpの内部側に相当する「mLBp」です。これにマッチする項番6のアクションを実施p11から出力」
P社のWebサーバp4が物理サーバ2に移動し、表7のOFS1のFテーブル3中の項番5によって、OFCにPacket-Inメッセージが送信されると、OFCは表8のFテーブル4中の二つの項番を変更する。Fテーブル4が変更されるOFS名を全て答えよ。また、項番3のほかに変更される項番及び変更後のアクションを答えよ。:(OFS名)OFS1、OFS2(項番)7(変更後のアクション)p12から出力

 Webサーバp4が物理サーバ2に移動して通信するには、OFSがWebサーバp4宛のフレームを送信するポートを変更する必要があります。

 このため、Fテーブル3(表7)の項番5にある「eTYPE=RARP」という条件で、OFCにPacket-Inメッセージを送信してFテーブルを変更するということです。

 Fテーブル4(表8)で変更する箇所は、Webサーバp4のMACアドレスに相当する「mWSp4」がマッチする箇所になります。

 探すと項番7に「mDES=mWSp4」があり、アクションが「p11から出力」とありますので、「p12から出力」とすればいいと分かります。