OpenFlowプロトコルのシーケンス

OpenFlowプロトコルは、メッセージのやり取りを行うシーケンスを規定しています。

OpenFlowコントローラとOpenFlowスイッチ間のコネクション確立

OpenFlowコントローラとOpenFlowスイッチ間のコネクション確立

コネクションが確立したら、OpenFlowコントローラ、OpenFlowスイッチともに双方で「HELLOメッセージ」を送信します。

メッセージには、パラメータとしてOpenFlowのバージョン情報などが交換されます。

Helloメッセージの交換が終了したら、OpenFlowコントローラからOpenFlowスイッチに対して「FEATURES_REQUESTメッセージ」を送信します。

FEATURESメッセージは、OpenFlowスイッチの機能や特徴の問い合わせに使用するメッセージです。

FEATURES_REQUESTメッセージを受信したOpenFlowスイッチは、OpenFlowコントローラに対してFEATURES_REPLYを返信します。

以上のやり取りを行うことで、OpenFlowコネクションが確立し,新規にOpenFlowスイッチが検出されたと判断されます。

フローエントリー設定のシーケンス

OpenFlowコントローラからOpenFlowスイッチへ、フローエントリーをインストールする場合のシーケンスを見てみましょう。

OpenFlowコントローラからOpenFlowコントローラへ、フローエントリーをインストールする場合、OpenFlowコントローラからフローエントリーの変更メッセージ(Flow ModifyやModify Flow Entryメッセージ)を送信します。

フローエントリー設定のシーケンス

未知のパケットを受信した場合

OpenFlowスイッチのフローテーブル内に受信データと合致するフローエントリーがないときは、その都度OpenFlowコントローラに処理方法を聞くという動作になります。

未知のパケットを受信した場合

未知のパケットを受信したOpenFlowスイッチは、受信したデータを自身のバッファに格納し、Packet-inメッセージをOpenFlowコントローラに送信して、データの処理方法を問い合わせます。

OpenFlowコントローラは仕様に従って、データを転送するか破棄するかを選択し、OpenFlowスイッチにフローエントリー変更メッセージを返信します。

通常、フローエントリー変更メッセージ(Flow ModifyやModify Flow Entryメッセージ)は、フローエントリーを更新するためのメッセージで、バッファに格納されたデータを転送する処理を指示しているわけではありません。

追加されたフローエントリーは次のデータ処理のときに利用されることになります。

そのため、OpenFlowコントローラはバッファに格納されたデータの転送処理を指示するために、Packet_outメッセージを送信します。

おすすめ記事

  • 【特集】 いまさら聞けないIT契約書のはなし【第4回 契約の種類(2)】
  • 【特集】 進化する脅威にどう立ち向かうか【最終回】
  • 【特集】 災害復旧、事業継続計画(BCP)などの対策状況(2018年)・後編
  • 【特集】 地震や台風から情報資産を守る救世主・データセンター活用の今
  • 【特集】 「固定電話も、ムダ残業もやめた」徹底した"富士通流"働き方改革
  • 関連記事

    メールマガジン

    ネットワ-ク初心者のみなさま。
    ネットワークの基礎知識を疎かにすることは
    大変危険です!!

    「初心者にも理解できるネットワーク技術」

    これを読めばネットワークの基礎が分かる!!
    ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

    もちろん無料です!!

    ↓メールマガジン購読はこちら↓

    メールアドレス:

    検索

    特集

    初心者のためのciscoルータの管理

    目指せPMP


    著書

    図解入門 よくわかる最新ネットワーク技術の基本と仕組み

    初心者のためのCiscoルータ運用ガイド: 最速でCiscoルータを理解するための解説書

    目指せPMP PMBOK第5版対応: 最速でPMPに合格するための解説書

    見てわかるTCP/IP

    おすすめ記事

    カテゴリ

    ブログ最新記事