OpenFlowのフローテーブル

フローという考え方

OpenFlowでいう「フロー」とは、以下の例のように、同じルールを持つ通信の集合体のことをフローといいます。

  • 宛先ポート番号がTCPの80番の通信
  • 宛先MACアドレスがxx:xx:xx:xx:xxの通信
  • 宛先IPアドレスがxx.xx.xx.xxの通信

OpenFlowコントローラは、管理者が定義したフローをOpenFlowスイッチに指示することで、OpenFlowスイッチは「フローエントリ」として内部に保存します。

このフローエントリは、有効期限の間 OpenFlowスイッチ内で保存され、OpenFlowスイッチはこのフローエントリを参照して、フレーム/パケットを処理します。

この時に、受信したフレームがフローテーブルのルールにマッチしない場合、OpenFlowコントローラに問い合わせます。

OpenFlowコントローラはどのように処理するかを決定して、結果をメッセージとしてOpenFlowスイッチに送信します。

メッセージを受信したOpenFlowスイッチは、指示に従ってフレームを処理します。

フローテーブル

OpenFlowスイッチが保持するフローテーブルは、OpenFlowスイッチがフレームを転送する際に参照されます。

そういう意味でもフローテーブルは、従来のルーティングテーブルやアドレステーブルと同様の役割をします。

また、フローテーブルに保存される情報は、データ転送の「条件」とその条件にマッチした時の「動作条件」がセットで保持されます。

この「どういったパケット(Match)を、どう処理する(Instruction)というルール」を「フローエントリ」と呼び、フローエントリの集合のことを「フローテーブル」と呼んでいます。

フローテーブルの構成

フローテーブルの構成は、先ほど説明した「マッチ条件(Match)」と「動作条件(Instruction)」の他に、いくつかのオプションがあります。

フローテーブル

  • Match Field
    Match Fieldsは、このフローエントリがどのようなフローを識別するのかの条件。
    OpenFlowでは、ヘッダに含まれる情報を条件に用いることが出来ます。
  • Priority
    フローエントリごとの優先度で、優先度の高いフローエントリから適用される。
  • Counters
    マッチしたパケットに関する統計情報
  • Instruction
    Match Fieldにマッチしたフレームに対して行う処理
  • Timeouts
    フローエントリごとの保持時間で、この時間を過ぎるとフローエントリが削除される。
  • Cookie
    コントローラが使用する情報

おすすめ記事

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

    メールマガジン

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

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

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

    もちろん無料です!!

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

    メールアドレス:

    検索

    特集

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

    目指せPMP


    著書

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

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

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

    見てわかるTCP/IP

    おすすめ記事

    カテゴリ

    ブログ最新記事