令和5年度 ネットワークスペシャリスト試験 午前Ⅱ 問1 OpenFlowの基本動作

Tech

IPA_Expert_01本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。

令和5年度 ネットワークスペシャリスト試験 午前Ⅱ 問1 OpenFlowの基本動作

SDNの基幹技術であるOpenFlowにおいて、スイッチが未知のパケットを受信した際のフロー制御とコントローラの役割を問う問題です。

【問題】 OpenFlowにおいて、スイッチに受信したパケットの処理ルールが設定されていない場合の動作として、適切なものはどれか。

ア コントローラにパケット情報を送信し、処理の指示を仰ぐ。 イ 近隣のスイッチにパケットを転送し、処理ルールを探索する。 ウ パケットを破棄し、送信元に対してICMP Destination Unreachableを返信する。 エ 自身のMACアドレス学習テーブルを参照し、通常のL2スイッチとして動作する。

【解説】 OpenFlowスイッチは「フローテーブル」に従ってパケットを処理します。フローテーブルは「マッチ条件」「アクション」「カウンタ」などのエントリで構成されます。

受信したパケットがフローテーブルのどのエントリにも一致しない状態を「Table-miss(テーブルミス)」と呼びます。この時の動作はスイッチのデフォルト設定(Table-missエントリ)に依存しますが、OpenFlowの基本的なアーキテクチャでは、スイッチは制御を司る「OpenFlowコントローラ」へ問い合わせを行います。

この問い合わせには Packet-In メッセージが使用されます。コントローラはパケットを解析し、適切な処理(転送、破棄、エントリの追加など)を Flow-ModPacket-Out メッセージを通じてスイッチへ指示します。

sequenceDiagram
    participant "SW as OpenFlow Switch"
    participant "CTL as OpenFlow Controller"
    Note over SW: Packet Received
    SW ->> SW: Flow Table Lookup
    Note over SW: No Matching Entry (Table-miss)
    SW ->> CTL: Packet-In Message
    CTL ->> CTL: Determine Route/Policy
    CTL ->> SW: Flow-Mod (Add Entry) / Packet-Out
    SW ->> SW: Apply Action to Packet

【選択肢の吟味】

選択肢 判定 解説
正解 Packet-Inメッセージを用いてコントローラに問い合わせるのがOpenFlowの基本動作です。
誤り スイッチ間で直接処理ルールを探索する機能はOpenFlowの標準仕様にはありません。
誤り デフォルトで即座に破棄・ICMP送信を行うのではなく、まずはコントローラの指示を待ちます。
誤り OpenFlowモードで動作している場合、自律的なMAC学習(L2学習)ではなくコントローラによる制御が優先されます。

【ポイント】

  • Table-miss: 既存のエントリにマッチしない場合の例外処理。

  • Packet-In: 未知のパケットをコントローラへ通知するメッセージ名。

  • 中央集権管理: 転送面(スイッチ)と制御面(コントローラ)を分離するSDNの核心。

ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

タイトルとURLをコピーしました