対象試験と出題頻度

OpenFlowは、基本情報技術者・応用情報技術者で出題されるネットワーク分野のテーマです。

SDN(Software-Defined Networking)の具体的な実現技術として出題され、「コントローラーとスイッチの役割分担」「フローテーブルによる転送制御」を正しく説明できるかが問われます。

詳細をクリックして確認
対象試験:
基本情報技術者
応用情報技術者
出題頻度:
★★☆☆☆
ランクC(応用)余裕があれば覚える

用語の定義

情報処理試験を勉強していると、「OpenFlowって結局何?SDNと何が違うの?」と混乱しがちです。

OpenFlowとは、一言で言うと

 「ネットワーク機器の経路制御(コントロールプレーン)と転送処理(データプレーン)を分離し、外部のコントローラーからスイッチを集中制御するためのプロトコル」

のことです。

 

イメージとしては、「各店舗の店員が自己判断で在庫を配送するのではなく、本部の物流システムが全店舗の配送ルートを一括指示する仕組み」です。

 

店舗(OpenFlowスイッチ)は指示通りに荷物を送り出すことに専念し、どこに何を送るかの判断は本部(OpenFlowコントローラー)が一手に引き受けます。

SDNが「ソフトウェアでネットワークを制御する」という設計思想だとすれば、OpenFlowはその思想を実現する具体的なプロトコルです。

📊 OpenFlowの基本情報

項目 内容
正式名称 OpenFlow Protocol
標準化団体 ONF(Open Networking Foundation)
構成要素 OpenFlowコントローラー(OFC)+ OpenFlowスイッチ(OFS)
位置づけ SDN(Software-Defined Networking)を実現する代表的プロトコル

解説

従来のルータレイヤ2スイッチは、1台の機器の中に「パケットの転送先を決める機能(コントロールプレーン)」と「実際にパケットを送り出す機能(データプレーン)」の両方を内蔵しています。

機器ごとに独立して経路を判断するため、ネットワーク全体の構成を変更するには機器を1台ずつ設定し直す必要がありました。

OpenFlowは、この2つの機能を物理的に切り離すことで課題を解決しました。

 

OpenFlowコントローラーとOpenFlowスイッチ

OpenFlowコントローラー(OFC):ネットワーク全体の経路情報やポリシーを把握し、各スイッチに「どのパケットをどこに転送するか」のルールを配布する司令塔です。コントロールプレーンの役割を集中的に担います。

 

OpenFlowスイッチ(OFS):コントローラーから受け取ったルール(フローテーブル)に従って、パケットを転送・破棄・書き換えする実行役です。データプレーンの処理に特化しています。

 

フローテーブルによる転送制御

OpenFlowスイッチは内部にフローテーブルを持っています。

フローテーブルには「条件(マッチフィールド)」と「動作(アクション)」のペアが登録されており、受信したパケットのヘッダ情報が条件に一致すれば、対応するアクション(指定ポートへの転送、パケットの破棄など)を実行します。

 

▶ 未知のパケットが届いたときの流れ(クリックで展開)

フローテーブルに一致するエントリがないパケットを受信した場合、スイッチはそのパケットの情報をPacket-Inメッセージとしてコントローラーに送信します。

コントローラーはネットワーク全体のトポロジを把握しているため、最適な転送ルールを計算し、Flow-Modメッセージでスイッチのフローテーブルに新たなエントリを書き込みます。以降、同じ条件に一致するパケットはスイッチ単体で高速処理されます。

 

この仕組みにより、コントローラーへの問い合わせは初回だけで済み、通常時のパケット転送性能を維持しながら柔軟な経路制御を実現しています。

▶ OpenFlowとSDNの関係(クリックで展開)

SDNは「ソフトウェアでネットワークを動的に制御する」という設計思想・アーキテクチャの総称です。

OpenFlowは、その思想を実現するための代表的なプロトコルであり、ONF(Open Networking Foundation)が標準化を進めています。

つまり「SDN ⊃ OpenFlow」の関係です。SDNを実現する手段はOpenFlow以外にも存在しますが、IPA試験では「SDN=OpenFlow」のセットで問われるのが定番です。

では、この用語が試験でどのように出題されるか見ていきましょう。

💡 OpenFlowの核心を3行で

・コントロールプレーン(経路制御)とデータプレーン(転送処理)を分離するプロトコル
・OpenFlowコントローラーが司令塔、OpenFlowスイッチがフローテーブルに従う実行役
・SDNを実現する代表的技術であり、試験ではSDNとセットで出題される


試験ではこう出る!

OpenFlowは、SDNとセットで「OpenFlowを使ったSDNの説明として適切なものを選べ」という形式で繰り返し出題されています。OpenFlow単体の仕組みを深く問う出題は少なく、SDNの文脈の中で登場するのが典型です。

📊 過去問での出題実績

試験回 出題内容 問われたポイント
AP R6春
午前 問34
OpenFlowを使ったSDNの説明として適切なものを選ぶ問題。H29春問34・H30秋問35の流用。 ・「転送機器と分離したソフトウェアで集中制御」が正解
・VNF、ASN.1、OSSの説明がひっかけ
AP H29秋
午前 問35
ONFが標準化を進めるOpenFlowプロトコルを用いたSDNの説明を選ぶ問題。R3春問35にも流用。 ・「制御機能と転送機能を論理的に分離し、コントローラーで集中制御」が正解
・SNMPや従来のルーティングの説明がひっかけ
FE H29春
午前 問35
OpenFlowを使ったSDNの説明を選ぶ問題。H31春問35にも流用。 ・「データ転送と経路制御を論理的に分離」が正解
・CDN、RFID、UMLの説明がひっかけ

📝 IPA試験での出題パターン

パターン1:「OpenFlowを使ったSDNの説明を選べ」
過去問のほぼ全てがこの形式です。問題文に「OpenFlowを使ったSDN」と明記され、4つの選択肢からSDNに該当する説明を選びます。正解のキーワードは「制御と転送の分離」「コントローラーによる集中制御」。ひっかけ選択肢にはSNMP(管理ステーション)、CDN(コンテンツ配信)、VNF(仮想スイッチ)、ASN.1(形式言語)など別技術の説明が紛れ込みます。

 

パターン2:流用問題に注意
同一問題がFE→AP、AP→APで繰り返し流用されています。一度正しく理解すれば、試験区分をまたいで得点源にできます。

 

試験ではここまででOKです。Packet-InやFlow-Modといったメッセージ名やフローテーブルの詳細フィールドまでは問われないので、深追いは不要です。


【確認テスト】理解度チェック

ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。


Q. OpenFlowを使ったSDN(Software-Defined Networking)の説明として、最も適切なものはどれでしょうか?

  • A. ネットワーク制御機能とデータ転送機能を論理的に分離し、コントローラーと呼ばれるソフトウェアでデータ転送機能をもつネットワーク機器の集中制御を可能とするアーキテクチャ。
  • B. 音楽や動画などのコンテンツをインターネット経由で効率的に配信するために、ネットワーク上のサーバを最適配置する手法。
  • C. 管理ステーションからネットワーク機器のMIB情報を定期的に取得し、稼働監視や性能管理を行うネットワーク管理手法。

正解と解説を見る

正解:A

解説:
OpenFlowは、ネットワーク機器が持つ制御機能(コントロールプレーン)と転送機能(データプレーン)を分離し、コントローラーから複数のスイッチを集中制御するプロトコルです。「制御と転送の分離」「コントローラーによる集中管理」がキーワードです。

選択肢BはCDN(Content Delivery Network)の説明です。コンテンツ配信の最適化が目的であり、ネットワーク機器の制御機能の分離とは関係がありません。選択肢CはSNMP(Simple Network Management Protocol)の説明です。MIB情報の収集による監視・管理の仕組みであり、パケット転送の経路制御を集中化する技術ではありません。


よくある質問(FAQ)

Q. OpenFlowの「Open」はオープンソースという意味ですか?

違います。OpenFlowの「Open」は、特定のベンダーに縛られないオープンな標準規格であることを意味しています。実際、IPA過去問のひっかけ選択肢に「ルータやスイッチの内部ソフトウェアをOSSで実現する方式」というものがあり、これは不正解です。OpenFlowはオープンソースソフトウェアとは無関係のプロトコル規格です。

Q. OpenFlowスイッチは通常のL2スイッチやルータとは別の機器ですか?

OpenFlow専用のスイッチ製品も存在しますが、多くのネットワーク機器メーカーは既存のL2/L3スイッチにOpenFlow対応ファームウェアを搭載する形で提供しています。したがって、OpenFlow対応スイッチは「従来のスイッチ機能」と「OpenFlowスイッチ機能」を切り替えて使用できるハイブリッドモデルが主流です。

Q. フローテーブルの「フロー」とは具体的に何を指しますか?

フローとは、送信元IPアドレス、宛先IPアドレス、プロトコル種別、ポート番号など、パケットヘッダの各種フィールドの組み合わせで定義される「通信の単位」です。従来のルータがIPアドレスだけで転送先を決めるのに対し、OpenFlowではヘッダの複数フィールドを組み合わせて細かく分類できるため、より柔軟な制御が実現します。試験でここまでの詳細が問われることはないので、参考程度で構いません。