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メッセージを送信します。

おすすめ記事

  • 【特集】 今さら聞けないシステムテスト【最終回】
  • 【特集】 自分でデータを集めて最適化を実現する「自己競争AI」とは?
  • 【特集】 「Twitterパスワード平文保存事件」に学ぶ、秘密保持の落とし穴
  • 【特集】 技術的負債を解消して変化に強いチームを作る
  • 【特集】 伸びる事業部門のIT支出、積極的な業界はどこ?
  • 関連記事

    メールマガジン

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

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

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

    もちろん無料です!!

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

    メールアドレス:

    検索

    特集

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

    目指せPMP


    著書

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

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

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

    見てわかるTCP/IP

    おすすめ記事

    カテゴリ

    ブログ最新記事