JP5981993B2 - オープンフローのためのコントローラ駆動型のoam - Google Patents

オープンフローのためのコントローラ駆動型のoam Download PDF

Info

Publication number
JP5981993B2
JP5981993B2 JP2014519658A JP2014519658A JP5981993B2 JP 5981993 B2 JP5981993 B2 JP 5981993B2 JP 2014519658 A JP2014519658 A JP 2014519658A JP 2014519658 A JP2014519658 A JP 2014519658A JP 5981993 B2 JP5981993 B2 JP 5981993B2
Authority
JP
Japan
Prior art keywords
openflow
oam
packet
module
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014519658A
Other languages
English (en)
Other versions
JP2014525178A (ja
Inventor
ヨチャ、ダーヴィッド
ケルン、アンドラス
Original Assignee
テレフオンアクチーボラゲット エルエム エリクソン(パブル)
テレフオンアクチーボラゲット エルエム エリクソン(パブル)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=47438608&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP5981993(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by テレフオンアクチーボラゲット エルエム エリクソン(パブル), テレフオンアクチーボラゲット エルエム エリクソン(パブル) filed Critical テレフオンアクチーボラゲット エルエム エリクソン(パブル)
Publication of JP2014525178A publication Critical patent/JP2014525178A/ja
Application granted granted Critical
Publication of JP5981993B2 publication Critical patent/JP5981993B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • H04L41/342Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/555Error detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

関連出願の相互参照
本出願は、2011年7月8日に出願された、“CONTROLLER DRIVEN OAM FOR OPENFLOW”と題する米国仮特許出願第61/505,617号の優先権を主張する。
本発明の実施形態は、オープンフローのための保守運用管理(OAM:operations, administration and management)機能の実装に関する。特に、本発明の実施形態は、オープンフローコントローラにおいて、OAM機能を提供するためのオープンフローのデータフロー監視、及びメトリック収集を開始するための方法及びシステムに関する。
同じボックス(box)(ネットワークエレメント)の中で(データ)転送プレーンと制御プレーンの両方を統合する、従来のネットワークアーキテクチャとは異なり、スプリット(split)アーキテクチャのネットワークは、これら2つのプレーンを分離し、転送要素(スイッチ)から物理的に異なる場所にある可能性があるサーバ上で制御プレーンを実行する。ネットワーク内でスプリットアーキテクチャを用いると、転送プレーンを実装するスイッチを簡素化することができ、スイッチを監督するある数のコントローラの中にネットワークの知能部(intelligence)がシフトする。
従来のアーキテクチャにおいては、転送プレーンと制御プレーンを密接に連結すると、通常、制御プレーンは非常に複雑になり、ネットワーク管理が困難となる。このことが、新しいプロトコルと技術開発に対し、大きな負荷と高い障壁をもたらすことは知られている。回線速度、ポート密度、及び性能の急速な改善にも関わらず、ネットワーク制御プレーンのメカニズムは、転送プレーンのメカニズムよりもはるかに遅いペースで進歩している。
スプリットアーキテクチャネットワークにおいては、コントローラは、スイッチから情報を収集し、適切な転送決定を算出し、スイッチに分配する。コントローラとスイッチは、通信及び情報交換のためにプロトコルを用いる。このようなプロトコルの一例が、スイッチがコントローラと通信するためのオープンかつ標準化された方法を提供するオープンフロー(OpenFlow(www.openflow.orgを参照))であり、研究者と産業界の双方から大きな関心を集めている。
オープンフローコントローラを実装するネットワークエレメントによって実行される方法であって、オープンフローコントローラは、保守運用管理(OAM:operations, administration and management)モジュールを含む。オープンフローを実装するネットワークにおいて、OAMモジュールは、OAM機能要求にサービスする。当該方法は、ネットワーク内のオープンフロースイッチのサブセットが、要求されたOAM機能を実行するための情報をOAMモジュールに提供するために、オープンフローデータフローのためのメトリックを報告することを要求する。当該方法は、ネットワークエレメントのOAMモジュールによって、OAM機能を実行するための要求を受信するステップと、OAMモジュールによって監視トリガメッセージを生成するステップであって、監視トリガメッセージは、オープンフロースイッチのサブセット内のオープンフロースイッチによって実行されるべきアクションを定義し、当該アクションは、オープンフローデータフローのためのメトリックを提供することであり、監視トリガメッセージをオープンフロースイッチに送信するステップと、オープンフロースイッチのサブセットから複数の監視応答メッセージを受信するステップであって、複数の監視応答メッセージの各々は、オープンフローデータフローのためのメトリックを含み、複数の監視応答メッセージをOAM機能要求と関連付けるステップと、OAMモジュールによって、オープンフローデータフローのメトリックを用いて、要求されたOAM機能を実行するステップと、要求されたOAM機能の結果を返すステップと、を含む。
オープンフロースイッチを実装するネットワークエレメントによって実行される方法であって、オープンフロースイッチは、プロトコルエージェント及びオープンフロースイッチモジュールを含む。オープンフロースイッチは、オープンフローデータフローのためのメトリックをオープンフローコントローラに報告し、メトリックは、オープンフローコントローラの保守運用管理(OAM:operations, administration and management)機能を支援する。オープンフロースイッチは、OAMパケットをオープンフローデータフローとともに転送し、オープンフローデータフローのためのメトリックを収集する。当該方法は、オープンフロースイッチによって、オープンフローコントローラから監視トリガメッセージを受信するステップと、プロトコルエージェントによってOAMパケットを生成するステップであって、OAMパケットは、監視トリガメッセージによって定義され、OAMパケットをオープンフローデータフローと集約するために、オープンフロースイッチモジュールを経由してOAMパケットを転送するステップと、オープンフロースイッチモジュールにおいてOAMパケットを検出するステップと、プロトコルエージェントによって、OAMパケットの検出に応じて監視応答メッセージを生成するステップと、オープンフローデータフロー及びOAMデータパケットのためにオープンフロースイッチモジュールからメトリックを収集するステップと、メトリックとともに監視応答メッセージをオープンフローコントローラに送信するステップと、を含む。
ネットワークエレメントは、オープンフローコントローラを実装する。オープンフローコントローラは、オープンフローを実装するネットワークにおいてOAM機能要求にサービスする。オープンフローコントローラは、ネットワーク内のオープンフロースイッチのサブセットが、要求されたOAM機能を実行するための情報を提供するために、オープンフローデータフローのためのメトリックを報告するように要求する。ネットワークエレメントは、保守運用管理(OAM:operations, administration and management)モジュール及びメッセージ相関モジュールを含むオープンフローコントローラを含む。OAMモジュールは、OAM機能要求によって特定されるOAM機能を実行することにより、OAM機能要求を処理し、監視トリガメッセージを生成するように構成され、監視トリガメッセージは、オープンフロースイッチのサブセット内のオープンフロースイッチによって実行されるべきアクションを定義し、当該アクションは、オープンフローデータフローのためのメトリックを提供するためのものであり、OAMモジュールは、監視トリガメッセージをオープンフロースイッチに送信し、メッセージ相関モジュールによって提供されるオープンフローデータフローのメトリックを用いて、要求されたOAM機能を実行し、要求されたOAM機能の結果を返すように構成される。メッセージ相関モジュールは、OAMモジュールと通信可能に連結される。メッセージ相関モジュールは、オープンフロースイッチのサブセットから複数の監視応答メッセージを受信するように構成され、複数の監視応答メッセージの各々は、オープンフローデータフローのためのメトリックを含み、メッセージ相関モジュールは、複数の監視応答メッセージをOAM機能要求と関連付ける。
本発明は、添付図面の図において、限定としてではなく例として図示され、同種の参照符号は同様の要素を示す。本開示中の一実施形態に対する異なる参照符号は、必ずしも同一の実施形態に対してではなく、そのような参照部号は、少なくとも一つを意味することに留意すべきである。さらに、特定の特徴、構造または特性がある実施形態と関連付けて説明されているとき、明示的に説明されているか否かにかかわらず、他の実施形態と関連においてそのような特徴、構造または特性を作用させることは、当業者の知識の範囲内であると考えられる。
単純なオープンフローネットワークの一例のアーキテクチャの一実施形態の図である。 汎用的なパケット監視メカニズム及び処理を実行するネットワークエレメントの一実施形態の図である オープンフロースイッチモジュールの第1実施形態の図である。 オープンフロースイッチモジュールの第2実施形態の図である。 オープンフローマッチング構造の図である。 オープンフローメッセージフォーマットを切り替えるためのコントローラの一実施形態の図である。 注入アクションフォーマットの一実施形態の図である。 オープンフロースイッチモジュールによってオープンフローOAMパケットを挿入するための処理の一実施形態のフローチャートである。 ネットワークエレメントの仮想ポートによってオープンフローOAMパケットを準備するための処理の一実施形態のフローチャートである。 逆多重化するための処理の一実施形態のフローチャートである。 OAMをサポートするオープンフローネットワークの一実施形態の図である。 監視トリガメッセージの例示的実施形態の図である。 OAM機能要求処理のための処理の一実施形態のフローチャートである。 監視報告メッセージの一例の実施形態の図である。 監視報告メッセージの一例の実施形態の図である。 オープンフロースイッチにおけるOAMサポートのための処理の一実施形態のフローチャートである。
以下の説明において、多くの具体的詳細が記載されている。しかしながら、本発明の実施形態は、これらの具体的詳細なしに実施されうることと理解されたい。他の例において、周知の回路、構造及び技術は、この説明の理解を曖昧にしないために詳細には示されない。本発明は、このような具体的詳細なしに実施できることが、当業者によって、理解されよう。当業者は、含まれる説明を用いて、過度の実験なしに適切な機能を実現することができるであろう。
図に示された技術は、1以上の電子機器(例えば、エンドステーション、ネットワークエレメント、サーバ、または類似の電子機器)上に格納され、実行されたコード及びデータを用いて実装することができる。このような電子機器は、機械読み取り可能な、またはコンピュータ読み取り可能な非一時的記憶媒体(例えば、磁気ディスク、光磁気ディスク、ランダムアクセスメモリ、読み出し専用メモリ、フラッシュメモリ装置及び相変化メモリ)などの、機械読み取り可能な、またはコンピュータ読み取り可能な非一時的媒体を使用して、コード及びデータを格納し、(内部で、及び/またはネットワークを介して他の電子機器との間で)通信する。さらに、このような電子機器は、一般に、1以上の記憶装置、ユーザ入力/出力装置(例えば、キーボード、タッチスクリーン、及び/またはディスプレイ)及びネットワーク接続などの、1以上の他の構成要素と連結された1以上のプロセッサ一式を含む。プロセッサ一式と他の構成要素の連結は、一般に、1以上のバス及びブリッジ(バスコントローラとも呼ばれる)を通じて行われる。記憶装置は、1以上の機械読み取り可能な、またはコンピュータ読み取り可能な非一時的記憶媒体、及び機械読み取り可能な、またはコンピュータ読み取り可能な非一時的通信媒体を意味する。したがって、所定の電子機器の記憶装置は、一般に、当該電子機器の1以上のプロセッサ一式上で実行するためのコード及び/またはデータを格納する。当然ながら、本発明の実施形態の1以上の部分は、ソフトウェア、ファームウェア、及び/またはハードウェアの異なる組み合わせを用いて実現されてもよい。
本明細書において、ネットワークエレメント(例えば、ルータ、スイッチ、ブリッジ、または類似のネットワーク機器)は、ネットワーク上で他の装置を通信可能に相互接続するハードウェア及びソフトウェアを含むネットワーク機器(例えば、他のネットワークエレメント、エンドステーション、または類似のネットワーク機器)の一つである。ネットワークエレメントの中には、複数のネットワーク機能(例えば、ルーティング、ブリッジング、スイッチング、レイヤ2アグリゲーション、セッションボーダーコントロール、マルチキャスト、及び/または加入者管理)のサポートを提供し、及び/または複数のアプリケーションサービス(例えば、データ収集)のサポートを提供する「マルチサービスネットワークエレメント」もある。
以下の説明及び特許請求の範囲において、「連結された」及び「接続された」という用語は、それらの派生語と同様、使用することができる。これらの用語は互いに同義語として意味しないことを理解すべきである。「連結された」は、直接物理的に、または電気的に互いに接触し、協働し、または互いに相互作用していてもいなくてもよい、2以上の要素を示すために使用される。「接続された」は、互いに連結された2以上の要素の間の通信の確立を示すために使用される。
本発明の実施形態は、従来技術の短所を回避するための方法及びシステムを提供する。オープンフローと組み合わせて使用される、イーサネットまたはマルチプロトコルラベルスイッチング(MPLS)などのほとんどのデータプレーン技術は、これらの技術に固有のOAMソリューションを定義した。これらのデータプレーン技術によって定義されるOAMソリューションは、データフローへの/からのOAMパケットの識別(identify)、注入(inject)及び逆多重化(de-multiplex)のためのメカニズムを提供する。また、これらのOAMソリューションは、OAMパケットのための正確なフェイトシェアリングを保証しており、フェイトシェアリングでは、サービスパケットがネットワークを経由して転送されるのと同じ形でOAMパケットが転送される。しかし、オープンフローは、OAMパケットを識別し、注入し、または逆多重化することを可能とするいかなるメカニズムもサポートしていない。このことは、オープンフロードメイン内のいかなるOAMソリューションの実装をも、不可能にしている。オープンフローで使用されるOAM技術のためのフェイトシェアリングを実装することにより、OpenFlow1.1の仕様でサポートされていないOAMパケットの識別について、特別な考慮が必要となる。
さらに、オープンフロー1.1は、OAM機能を実行するオープンフロースイッチを構成するためのいかなる手段も定義していない。オープンフロースイッチに設定情報を送信するための確立された制御メッセージも、オープンフロースイッチでOAM関連機能をアクティブ化するためのいかなる制御メッセージもない。同様に、オープンフロースイッチからOAMに関するデータを受信するための制御メッセージは存在しない。オープンフローにおいていかなるOAMサポートもされていないことにより、イーサネットとMPLSのような他のデータプレーン技術のOAM機能を完全に実装するようにオープンフロースイッチを実装するネットワークエレメントが必要となり、これはネットワークエレメントのコストを増加させる。
本発明の実施形態は、これらの従来技術の短所を克服する。本発明の実施形態は、OAMパケット(すなわち、タグ付きフレーム)がオープンフローデータフローに挿入され、オープンフローデータフローから逆多重化されることを可能にするための処理及びシステムを提供する。当該処理及びシステムは、オープンフローOAMパケットが、データフローの発信元と目的地の間のネットワークを経由して、データフロー(すなわち、データストリーム)の他のデータパケットと同一の経路をとることを保証する、オープンフローOAMパケットのためのフェイトシェアリングをサポートする。オープンフローOAMパケット(すなわち、タグ付きフレーム)を他のオープンフローデータパケットと区別するために、オープンフローデータパケットのハンドリングのための照合時には考慮されていないマッチングフィールドが、OAMパケットを識別するのに利用される。選択されたフィールドのドメインの未割り当ての値は、OAMパケット(タグ付きフレーム)を識別するために使用される。パケット処理パイプラインの任意の段階にOAMパケット(タグ付きフレーム)を挿入するために、オープンフロースイッチモジュールに新しい論理モジュールが追加される。新しい論理モジュールは、「パケット注入ロジック」(PIL)と呼ばれる。例示する2つの実装オプションが、本明細書に記載されている。最初の例の実装では、PILは、OAMパケット(タグ付きフレーム)の注入をパケット単位で管理するように構成され、例示する第2の実施形態においては、PILは、OAMパケットに付加されたメタデータを介して、ネットワークエレメントの他のスイッチモジュールからOAMパケット(タグ付きフレーム)の注入を指示する命令を受信する。他の例示する実施形態では、逆多重化処理が、スイッチ内及び/またはコントローラ終端のオプションを用いて、オープンフローデータパケットとオープンフローOAMパケット(タグ付きフレーム)を区別する。オープンフロープロトコルは、オープンフローOAMパケットの識別、注入及び逆多重化に関連するPILの遠隔命令をサポートするために拡張される。
加えて、本発明の実施形態は、オープンフロースイッチにおいて、オープンフローコントローラからの制御メッセージに応じてオープンフローデータフローの監視及びパフォーマンス測定の収集を開始し、オープンフローコントローラにおいて、ドメイン内の全てのオープンフロースイッチから監視及び測定結果を収集し、これらの結果を処理し、集中型オープンフローコントローラにおいてこれらの結果に基づいて次のアクションを開始する処理を含む、全てのOAM関連の知能部を実装する。オープンフロースイッチは、十分なメトリック情報をオープンフローコントローラに提供するために、基本的かつ汎用的な特徴のみを実装する。
オープンフローコントローラは、オープンフローデータフローが横断している第1のオープンフロースイッチに、OAMパケットを送信することを指示し、第1のオープンフロースイッチに、転送しているOAMパケットと、関連するオープンフローデータフローに関するデータを収集するように指示することによって、オープンフローデータフローの監視を開始する。オープンフローコントローラからの指示に応答して、オープンフロースイッチによって生成されたOAMパケットに関し、第1のオープンフロースイッチは、オープンフローコントローラにフィードバックを送信する。フィードバックは、OAMパケット上で一致するフローまたはグループテーブルエントリ、一致するエントリのカウンタの値、一致のタイムスタンプ、または類似の情報を含むことができる。OAMパケットを受信したら、フィードバックをオープンフローコントローラに送信するようにあらかじめ構成されている場合は、オープンフローデータフローによって横断されるその他のオープンフロースイッチもまた、同様のフィードバックをオープンフローコントローラに送信することができる。
OAMパケットの監視に関連するオープンフロースイッチによって提供されるフィードバック情報と、関連するオープンフローデータフローを使用して、オープンフローコントローラは、任意のオープンフローデータフローのための接続性検証(CV)、リンク追跡(LT)、遅延測定(DM)、損失測定(LM)のような標準的なOAM機能を実装することができる。
オープンフローアーキテクチャ
図1は、スイッチとコントローラの間のオープンフローインタフェースの概要を示す図である。オープンフローは、パケット処理パイプラインを生成するためのフローテーブルの形式で、汎用的なテーブルベースのモデルを用いる論理スイッチのパケット転送を定義し、処理する機能を含む論理スイッチモデルを定義する。このテーブルモデルで定義されたテーブルは、各行がルール、アクション及びカウンタの3つのフィールドを持つパケット処理選択肢を記述した行を含む。ルールは、アクションが実行される状況を指定する。アクションが適用されるそれぞれの場合に、対応するカウンタが更新される。
オープンフロー1.1の仕様では、2つのテーブルの種類、フローテーブルとグループテーブルが定義されている。フローテーブルでは、ルールフィールドには、ヘッダからの属性のベクトルが含まれている。このベクトルは、イーサネット、MPLS、IP及びTCP/UDPのヘッダの変数を含む。グループテーブルのルールは、パケットに対して実行すべきアクションのリスト内で、アクションを識別するインデックスである。グループテーブルは、それによってマルチキャスト及び保護などの複雑なアクションをサポートしている。
パケット処理パイプラインは、フローテーブルのシーケンスに続く1つのグループテーブルによって形成される。スイッチに入るあらゆるパケットが、自動的に第1のフローテーブルに従って処理される。第1のフローテーブル内のパケットを照合した結果、パケットは更新することができ、ポートを経由して送信されるか、またはさらなる処理のために後続のテーブルに送信される。メタデータは、各フローテーブル内の処理中にパケットに割り当てられ、後続のテーブルに渡されることができる。パケットが後続のテーブルに送信される場合、そのフローテーブルに従って処理される。パケットは、パイプライン内の各テーブルによって処理されることができ、またはそれによって中間テーブルの処理をバイパスするパイプライン内のポートまたは任意の特定のテーブルに転送されることができる。
パケット処理パイプライン内の最後のテーブルは、グループテーブルである。グループテーブルは、グループエントリで構成されている。特定のデータフロー(すなわち、特定のフロー)内のパケットの、グループをポインティングする能力は、そのフロー(例:選択、全て、高速フェイルオーバー、及び同様のアクション)のパケットを転送する追加の方法をオープンフローが表現することを可能にする。グループテーブルエントリに関連付けられたアクション・バケットがあり、各アクション・バケットには、実行するアクションの集合が含まれている。グループテーブルエントリはどのアクション・バケットを実行すべきかを決定し、アクションの候補はフローテーブルで定義されたものと類似している。
スプリットアーキテクチャの分離された制御プラットフォームは、ネットワーク制御ロジックを変更する作業を容易にし、開発者が、多種多様な新しいプロトコルや管理アプリケーションを構築することができるプログラムインタフェースを提供する。このモデルでは、データプレーンエレメントのコストを低減しつつ、データプレーン及び制御プレーンは、独立して発展し、拡張できる。
ネットワークエレメントアーキテクチャ
本発明の実施形態は、例えばインターネットなどのワイドエリアネットワーク、又は類似のネットワーク内のルータやスイッチなどのネットワークエレメントにおいて、実装されている。例示するネットワークエレメントが、図2に示されている。ネットワークエレメント201は、着信(incoming)物理ポート221から受信され、発信(outgoing)物理ポート223によって送信されるパケットを処理するネットワークプロセッサ203を含むことができ、各ポートは、1のネットワークまたはネットワークの集合にネットワークエレメントを接続する。本明細書中で使用される「集合」は、1の項目を含む任意の正の整数の項目を指す。
着信物理ポート221及び発信物理ポート223は、物理及びリンクレベルのデータ処理を管理する。着信物理ポート221は、フレーミングまたは類似の着信信号処理、及び更なる処理のためにこのデータをネットワークプロセッサ203に提供することにより、物理及びリンクレベルでの着信データトラフィックを処理する。同様に、発信物理ポート223は、デフレーミングまたは接続されたネットワークを通じて他の機器に送信する類似の処理により、物理及びリンクレベルにおいて発信データトラフィックを処理する。これら2つのポートの集合は、共に、いくつものリンクまたはリンクの組み合わせを用いるネットワークを通じて、いくつもの他の機器と通信することができるようにする働きをする。
ネットワークプロセッサ203は、他のコンポーネントの間でスイッチモジュール、仮想ポート及びプロトコルエージェントの集合を含むことができる。他のコンポーネントは、明確化のために省略されている一方、オープンフローOAM処理の理解に関連するこれらのコンポーネントは、図示及び記載されている。スイッチモジュールは、非オープンフロースイッチモジュール205とオープンフロースイッチモジュール209を含むことができる。非オープンフロースイッチモジュール205は、例えば、OAMフレームの生成または終端を含む、データパケットの転送及び処理プロセス専用の任意数のモジュールでありうる。オープンフロースイッチモジュール209は、図3A及び図3Bに関してさらに詳細に本明細書に記載されている。オープンフロースイッチモジュール209は、フローテーブルを実装し、全てのオープンフローデータパケットの転送及び処理を管理する。
オープンフロープロトコルエージェント207は、ネットワークエレメント201とコントローラとの間の通信を管理する。オープンフロープロトコルエージェント207は、オープンフローコントローラから受信したオープンフロー制御メッセージを処理し、必要に応じて、コントローラへのオープンフローメッセージを生成する。オープンフロープロトコルエージェント207は、データフローにOAMパケットを挿入するために、コンフィギュレーションメッセージを受信するためのサポートを含むことができ、処理のためにオープンフローコントローラに、受信されたOAMパケットを送信するためのサポートを含むことができる。
一実施形態では、仮想ポート211A及び211Bは、任意で、ネットワークエレメント201によって受信されたOAMパケットの前処理を提供することができる。OAMパケットは、これらのOAMパケットのメタデータを処理し、更新するためにこれらの仮想ポートに向けられることができる。一実施形態では、OAMパケットは、当該OAMパケットのソースによってこれらの仮想ポートに向けられることができ、その場合、オープンフロースイッチモジュールによる適切な転送または処理を保証するために、OAMパケットのメタデータがソースにより指示される通りにポートにより更新される
別の実施形態では、仮想ポート211A及び211Bは、その仮想ポートに固有の方法でメタデータを変更または更新する。本実施形態では、OAMパケットのソースは、その仮想ポートにとって既知の方法で処理されるように、仮想ポートへOAMパケットを向かわせる。
パケット識別
本発明の実施形態は、オープンフロースイッチ内のオープンフローデータフローの特定のパケットを識別するための汎用的な構成方法を記載しており、その方法は、それらのパケットの識別を可能にし、データフローに属するパケットとのフェイトシェアリングを保証する。
オープンフローデータフローにおけるOAMパケットのような特定のパケットを識別するために、本発明の実施形態は、照合の間に利用されない(すなわち、データパケットがどのようにネットワークをわたって転送されるかを決定するとき考慮されない)オープンフローデータパケット内のフィールドを利用する。このようなフィールドは、ワイルドカードまたはワイルドカードのフィールドと呼ばれる。これらのフィールドは、オープンフロースイッチによって、データフロー内の他のデータパケットから特定のパケットを識別するために使用することができる。オープンフローパケットの任意数のこれらのフィールドまたはこれらのフィールドの組み合わせは、データフローの識別においてまたは転送の決定を行うために考慮されるのではない限り、照合フィールドとして選択されることができる。選択された照合フィールドのドメインに置かれたときに、OAMパケットを識別するために用いられる値は、いかなる有効なデータパケットでも使用されていない、任意の値でありうる。
図4は、データパケットまたはデータフレームを包含する例示的なオープンフローマッチング構造の図である。図示された例では、ワイルドカードセクション及びフィールドは、イーサネット及び/またはIPフローの実施例の場合には、(タグ付きパケットと呼ばれる)特定のパケットを識別するために使用されることができる。これらの実施例は、他のフィールドの使用を排除するものではなく、例えば、優先度フィールドは、タグ付けにも使用することができることに留意されたい。
パケット注入
一実施形態では、そのオープンフローコントローラまたは他のソースによってOAMパケットのようなパケット(タグ付きパケットと称する)をデータフローに注入するよう指示される任意のオープンフロースイッチは、オープンフローの転送メカニズムの一部でないかもしれないエンティティ(すなわち、ソース)によって生成された、注入されるべきパケットを扱っている。そのようなエンティティは、例えば、スイッチ(例えば、非オープンフロースイッチモジュール205)またはオープンフローコントローラに接続された外部のOAMモジュールでありうる。そのようなエンティティによって生成されたタグ付きパケットは、仮想ポートを経由して、オープンフロースイッチモジュールによって受信されることができる。一実施形態では、物理的または仮想ポートを経由してオープンフロースイッチモジュールに入る全てのパケットは、全パケット処理パイプラインを経由して送信されなければならない。
図3A及び3Bは、オープンフロースイッチモジュールにおけるオープンフローOAMパケットの処理、注入及び検出の2つの例示的な実施形態の図である。これらの例示的なオープンフロースイッチモジュールによって実装されるプロセスは、各々が第1のフローテーブルにおけるデータの初期処理で始まる。図3Aに示される一構成例では、様々な小さいフローのデータパケットは、共通のより大きなフローの中に集約されることができる。フローエントリは、それぞれの小さいフローのフローテーブルに定義され、これらのエントリのアクションは、データパケットの更新が新たな集約されたフローに適合するように指示する。第2のフローエントリは、共通のフローを記述する後続のテーブルに配備されることができる。
例示する本発明の実施形態は、新しいモジュール、パケットインジェクトロジック(PIL)301をオープンフロースイッチモジュール109に追加し、それは、パケット処理パイプラインの前に配置される。PIL301は、PIL301の後の最初のテーブルで始まるデフォルトの処理パイプラインを経由してデータパケットを送信するか、またはパイプライン内の後続のフローテーブルにデータパケットを挿入するかどうかを決定するために、受信したデータパケット、またはデータパケットの内容のそれぞれに関連付けられたメタデータをチェックする。この後者の場合、PIL301は、後続のテーブル内を照合する時に考慮することができるメタデータを定義する(すなわち、データパケットにメタデータを書き込む)こともできる。
図3Aの第1の実施形態では、PIL301は、PIL分析ベースのデータパケット処理プロセスを実装するために、オープンフロー1.1の拡張可能なマッチング機能を利用する。PILモジュール301は、第1のフローテーブルによって実装され、他のフローテーブルは、次の後続のフローテーブルにシフトされる。例えば、第1のフローテーブルは、実際には第2のフローテーブルなどによって実装されている。各フローテーブルによって実行される照合は、考慮することができるパケットデータ及び/またはデータパケットのヘッダフィールドとともに提供されるメタデータを調べる。この後者の場合、標準的な照合タイプを所望のパケットフィールドと一致させることができない場合には、新たな照合タイプが定義されることができる。この例示的なPIL分析の実施形態では、そのテーブルのためのデフォルトのアクション(つまり、一致しないパケットにすべきこと)は、これらの一致しないパケットを次のテーブルに送信することであるが、新たなPILマッチングテーブル303は、後のパイプラインステージに挿入すべき全てのパケットをリストにする。
図3Bに示された第2の例示的な実施形態では、PILモジュール301は、メタデータ指向のデータパケット処理プロセスを実装する。PILモジュール301は、データパケットと一緒に渡されるメタデータを受信し、このメタデータは、共通のデータフローに含まれなければならないパケットを、パイプラインステージで明示的に決定する。本実施形態では、PILモジュール301は、各データパケットのメタデータを読み出し、共通のフローにデータパケットを結合するために適切なフローテーブルまたはグループテーブルにデータパケットを渡す。この例示的なメタデータ指向のパケット処理の実施形態において、メタデータまたはパケットデータは、(1)データパケットが転送されるフローテーブルの識別子(オープンフロー1.1によれば0〜255)である属性のような属性を任意数含むことができる。パケットがグループテーブルに直接送信される場合、属性は、(2)フローテーブルのIDドメインの範囲外の値(例えば、オープンフロー1.1の場合は256)にセットされるテーブルIDでありうる。他の属性は、(3)テーブルIDがグループテーブル定数に設定されることができる(それ以外の場合は考慮されなくてもよい)グループIDと、他の(4)照合する時に使用するメタデータとを含むことができる。
図3Aに示す第1の例示的なPIL分析ベースの実施形態を実現するために、オープンフローOAMパケット(タグ付きパケット)の内容は、OAMパケットをどのように処理するかを決定するために利用(すなわち、照合に使用)されている。OAMパケットの場合、OAMパケットの内容は、適切なテーブルまたはグループを選択するためにチェックされる(例えば、MEP ID)必要がある。これらのフィールドについて照合を行うために、オープンフロースイッチモジュールは、新しい照合タイプを実装することができる。さらに、これらの新たな照合タイプは、タグ付きパケットのタイプに固有である。いくつかの限定されたシナリオでは、現在のスイッチの実装は、重大なハードウェアの更新をせずにパケット注入をサポートすることができる。むしろ、本明細書で説明される機能は、標準的なフローテーブル処理を移行し、第一のフローテーブル内にPILを挿入するようにオープンフロースイッチモジュール109を構成することによって、一部または全部をソフトウェア構成で実装することができる。
図3Bに示される第2のメタデータ指向の実装では、オープンフロースイッチモジュール109の拡張が必要である。しかし、これらの拡張機能は、ソリューション固有のものではない。パケットをどうするかについての決定は、実際にオープンフロースイッチモジュール外部のモジュールによって決定されるため、PILモジュール301を含むようにオープンフロースイッチモジュールを変更することは、全てのシナリオについて汎用的なことでありうる。
オープンフロースイッチモジュール109の構成に関して、図3Aの第1のPIL分析ベースの実施形態では、第1のテーブル(すなわち、PILモジュール301)を継続的にメンテナンスし、構成する必要がある。PILモジュール301内にタグ付きパケットの新しいクラスを挿入するためには、タグ付きパケットの新しいクラスを照合し処理するための適切なフロールールで、第1のテーブルを拡張する必要がある。図3Bの第2のメタデータ指向の実装では、継続的な構成管理を行う必要がない。
仮想ポート
図3A及び3Bに示す実装の両方は、何らかの情報がPILによって処理されるデータパケットにメタデータとして提供され付加されることを前提としており、そのメタデータは物理ポートまたは仮想ポートによって提供され、当該物理ポートまたは仮想ポートから当該データパケットがオープンフロースイッチモジュールによって受信される。一実施形態において、物理ポートまたは仮想ポートは、ポートがオープンフロースイッチモジュールにデータパケットとともにメタデータを渡すことができ、オープンフロースイッチモジュール内のPILが、パケット処理中に受信したメタデータを解釈することができるものとなるように拡張される。物理ポートまたは仮想ポートによってメタデータ内に置かれるそのような情報のソースに応じて、2つの代替的な実施形態は、外部ソースの実施形態と内部定義の実施形態を区別している。
外部ソースの実施形態において、メタデータは、パケットのソース、例えば、オープンフローコントローラによって生成される。この場合、仮想ポートは、ソースによって提供されるメタデータを、オープンフロースイッチモジュールに渡されるデータパケットのメタデータへコピーする。この外部ソースの実施形態は、既存のオープンフロー仮想ポートを構成する手続きのいかなる構成の更新も必要としない。
内部定義の実施形態では、データパケットのためのメタデータは、仮想ポート自体によって生成される。本実施形態では、メタデータの定義の粒度は、受信仮想ポートに関係し、すなわち、同一の仮想ポートからの全てのパケットが同様に扱われ、各データパケットは、同一のメタデータを与えられ、その結果、パイプラインの同一ステージにPILによって注入される。これらの仮想ポートの構成は、オープンフローコントローラで管理される専門的なプロセスまたはプロトコルでありうる。
OAMパケットの処理に関しては、オープンフローコントローラは、OAM(タグ付き)パケットのソースのうちの1つである。例えば、オープンフローコントローラは、オープンフローデータフローが適切に構成されているかどうかを確認することができる。システムがメタデータ指向のパケット処理の実施形態を利用する場合、データパケットのソースは、同様に、メタデータを提供しなければならない。オープンフローコントローラがこの要件を満たすようにするには、オープンフロープロトコルは、以下に記載されるように拡張することができる。
コントローラにより生成されるタグ付きパケットのためのオープンフローメッセージオプション
新しいオープンフローメッセージのオプションは、次のフィールドを含む新規のオープンフローコントローラとスイッチ間のメッセージを定義する。(1)オープンフロープロトコルのバージョン、タイプ及びメッセージとトランザクション識別子の長さをエンコードした、共通のオープンフローヘッダ、(2)入力ポート(in_port)として照合時に考慮される、着信ポートの識別子、(3)有効なテーブルインデックスまたはGROUP_TABLE定数のいずれかに設定されることができる、パケットが注入されるスタートテーブルインデックス、(4)スタートテーブルインデックスをGROUP_TABLE定数に設定した場合は有効であり、そうでない場合はコントローラによって0に設定され、スイッチに無視されるグループ識別子、(5)照合の間使用されるメタデータ、及び(6)挿入されるOAMパケット。このメッセージの例示的なレイアウトが、図5に示されている。
GROUP_TABLE定数は、衝突を避けるためにインデックスが付与された、有効なフローテーブルの範囲外である必要がある。オープンフロー1.1では、フローテーブルは、0から255までのインデックスが付与されている。したがって、GROUP_TABLEは、255より大きい任意の値でありうる。
コントローラにより生成されるタグ付きパケットのためのオープンフローアクションのオプション
本発明の実施形態は、オープンフローフローの監視及び他のOAM機能の実装に用いる、新しいアクションを定義する。このアクションオプションは、オープンフロー1.1標準によって特定される既存のPacketOutメッセージを使用することができる。標準によると、PacketOutメッセージは、OFPAT_OUTPUTコマンドを含むことにより、オープンフロースイッチに、処理パイプラインを経由してパケットを送信するように指示することができ、その出力ポートはOFPP_TABLE仮想ポートに設定される。しかしながら、コマンドは、パイプラインを経由してパケットが送られることを表すだけであり、オープンフロースイッチモジュールの処理パイプラインのどのステージにおいてそれを挿入すべきかを特定することはできない。本実施形態は、次のフィールドを含む、本明細書においてOFPAT_INJECT_PACKETと呼ばれる新しいアクションを定義する。(1)フローテーブルインデックスまたは(GROUP TABLE定数を通じて)利用されるグループテーブルを示すインジケータをエンコードするテーブルインデックス、(2)テーブルインデックスがGROUP_TABLE定数に設定されている場合は、グループテーブルエントリを識別するグループエントリ識別子、そうでない場合、この値はnullに設定され、オープンフロースイッチモジュールのPILによって無視されなければならない、(3)処理パイプラインにおけるパケット処理(すなわち、照合)の間使用されるメタデータフィールド。アクションのレイアウトの例が、図6に示されている。
コントローラによる処理パイプラインに、タグ付きパケット(例えば、OAMパケット)を注入するために、PacketOutメッセージは、そのアクションフィールドにOFPAT_INJECT_PACKETアクションを含み、OFPAT_OUTPUTアクションを含まないことができる。
図7A及び7Bは、それぞれ、上述したパケット注入処理及びシステムを実装する、PILモジュール及び仮想ポートの処理の一実施形態を示すフローチャートである。PILモジュールに関連して、図7Aに示すように、処理は、物理ポートまたは仮想ポートからデータパケットを受信することに応答して開始される(ブロック701)。PILモジュールは、PIL解析ベースのパケット処理やメタデータ指向のパケット処理のいずれかを使用して、各着信パケットを検査する。いずれの場合においても、PILは、例えば、OAMパケットのようなデータフローを監視するためのパケットを識別し、共通のデータフローへのデータパケットの挿入を実装するためにデータパケットを転送するパケット処理パイプラインステージを決定するために、パケットデータを照合する(ブロック703)。PIL分析ベースのプロセスでは、PILモジュールは、データパケットの任意のフィールド、上述したマッチング構造全体、またはそれらの任意の組み合わせもしくはサブコンビネーションを含むことができるマッチングルールに基づいて、パイプラインステージを識別する。照合は、OAMパケットやデータフローを監視するための類似のパケットとしてデータパケットを識別するタグを含むパケットの照合を含む。メタデータ指向の分析では、マッチングルールは、タグに基づいてOAMパケットを識別するが、その後、第一に、オープンフロースイッチがデータパケットを受信するのに経由するポートによって定義されたステージのメタデータ識別子に基づいて転送するために、パイプラインステージを識別する。タグ付けされていないデータパケットは、一般にはパイプラインの次のステージである、デフォルトのパイプラインステージに転送される。
ある実施形態では、決定されたパイプラインステージにデータパケットを転送する前に、マッチングルールと関連付けられたPILモジュールの動作を、データパケットのメタデータを更新するために実行することができる(ブロック705)。メタデータの更新は、それが転送される先のパイプラインステージにおけるデータパケットの処理に影響を与えることができる。メタデータが更新された後、データパケットは、識別されたパイプラインステージ(すなわち、フローテーブルまたはグループテーブル)に転送される(ブロック707)。
図7Bは、仮想ポートにおける処理パケットの処理を示すフローチャートである。一実施形態において、処理は、コントローラ、またはデータフローに挿入されるデータパケットの類似のソースからのオープンフローパケット注入メッセージの受信に応答して開始される(ブロック751)。仮想ポートは、外部ソースベースのプロセスまたは内部定義のプロセスのいずれかを使用して各データパケットを処理することができる。いずれの場合も、仮想ポートは、オープンフローコントローラからの着信メッセージによって指示される通り、データフローに挿入されるデータパケットを生成することができ、オープンフロースイッチモジュールに送信されるデータパケットのためのメタデータを定義する(ブロック753)。メタデータは、着信メッセージにおいて定義された情報に基づいて決定されることができ(外部ソースベースのプロセス)、あるいはメッセージが向けられている仮想ポートによって決定されることができる(内部定義のプロセス)。データパケット及びメタデータが、外部ソースベースのプロセスまたは内部定義のプロセスに基づいて生成された後、次いで、データパケット及びメタデータは、オープンフロースイッチモジュールに転送される(ブロック755)。
タグ付きパケットの逆多重化処理
逆多重化または除去及び処理方法は、宛先または出口のオープンフロースイッチに実装される処理である。逆多重化処理は、宛先のオープンフロースイッチへのパスに沿って、オープンフローデータフローの監視を可能にする。OAMパケットなどの監視されたデータパケットを識別する任意のサポートするオープンフロースイッチは、本明細書で出口(egress)オープンフロースイッチと呼ぶ。出口オープンフロースイッチにおいて、2つのフローテーブルエントリが定義されうる。(1)第1のフローテーブルエントリは、タグ付きデータパケットを識別するための基準を定義し、それらの取り扱いを定義し、(2)第2のフローテーブルエントリは、他のデータパケットの取り扱いを定義する。タグ付きパケットの取り扱いは、特定のオープンフローアクションのいずれかによってエンコードされ、またはタグ付きパケットを明確に定義された仮想ポートに送信することによって表されることができる。この後者の場合、タグ付きパケットを仮想ポートに送信することは、タグ付きパケットに関連する情報をエンコードしたオープンフロー制御メッセージをトリガするか、または特定のスイッチモジュールにタグ付きパケットを中継するかのいずれかである。エンコードされた情報を有する制御メッセージは、OAM機能を可能にするためにオープンフローコントローラに送信される。タグ付きパケットを処理するための2つの代替的な処理は、さらに以下で述べる。
スイッチ局所終端処理
タグ付きデータパケットを逆多重化する本実施形態では、タグ付きデータパケットまたはフレームは、オープンフロースイッチモジュール及びパイプライン処理から分離された、非オープンフロースイッチモジュールに転送される。非オープンフロースイッチモジュール及びオープンフロースイッチモジュールは、仮想ポートを介して互いに通信することができる。非オープンフロースイッチモジュールは、オープンフロースイッチモジュールにメタデータを渡すことができる。このスイッチ局所終端処理は、オープンフロースイッチモジュールが仮想ポートを経由してメタデータを他のスイッチモジュールに渡すことができることを規定する。メタデータを処理可能な非オープンフロースイッチモジュールが利用できない場合は、その結果、仮想ポートがメタデータを抑制する、すなわち、それを処理することなく廃棄することができる。
コントローラターゲット処理
タグ付きデータパケットを逆多重化する本実施形態では、タグ付きデータパケットがコントローラに中継(すなわち、転送)される。PacketInメッセージは、いかなる変更もなしにこの特徴を実装するのに用いられることができる。しかしながら、PacketInメッセージは、着信ポート(物理及び/または仮想)及びテーブルIDのみを運ぶため、データパケットの全てのメタデータをコントローラに渡さない。従って、PacketInメッセージに追加される以下のフィールドは、追加によってこのコントローラターゲット処理をサポートするために定義される。(1)データパケットがフローテーブルまたはグループテーブルによる処理後、受信されたことを示す、グループ/フローテーブル選択フラグ。このグループ/フローテーブルフラグが0に設定されるとき、テーブルIDフィールドは、フローテーブルのインデックスを持つ。そうでない場合、テーブルIDは、オープンフロースイッチモジュールのPILによって0に設定されなければならず、コントローラによる処理の間省略されなければならない。(2)パケット処理の間使用されるメタデータフィールドの値を持つ、メタデータフィールド。(3)実行されるグループテーブルエントリの識別子を定義する、グループIDフィールド。グループ/フローテーブル選択フラグが1に設定される場合、それは有効な情報を持つ。そうでない場合、このフィールドは、0に設定されなければならず、コントローラによって無視されるべきである。
図8は、逆多重化処理の一実施形態のフローチャートである。一実施形態においては、オープンフロースイッチモジュールでオープンフローデータパケットを受信したことに応答して、処理が開始される(ブロック801)。データパケットは、最初に、監視されるデータパケットとしてパケットを識別する指定値に対し、データパケットの指定されたフィールドをチェックすることによって、監視されるパケット(例えば、OAMパケット)としてパケットの識別子を照合するためにPILモジュールによって処理される(ブロック803)。受信したパケットのヘッダまたはメタデータは、監視されるパケットとしてパケットを識別するのに用いられることができ、マッチング構造全体又はそれらの任意の組み合わせを利用することもできる。一実施形態において、データパケットを受信した仮想ポートは、監視されるデータパケットとしてデータパケットを識別するために、メタデータを変更することができる。分離または結合されたステップとして、データパケットは、データパケットが非オープンフロースイッチモジュールまたはオープンフローコントローラに転送されるべきかどうかを決定するために照合されることができる(ブロック805)。これは、データパケットのメタデータまたはヘッダにおいてエンコードされることができる。例えば、データパケットが、オープンフローコントローラから分離されたOAMモジュールによって生成され監視されるOAMパケットであるとき、データパケットは、処理されるために非オープンフロースイッチモジュールに転送されることができる。例えば、データパケットがOAMパケットであり、OAMモジュールがオープンフローコントローラの一部である場合に、データパケットは、メタデータを含むデータパケット全体を提供するために、制御メッセージを用いてオープンフローコントローラに送信されることができる。
例1:イーサネットパケットフロー
このセクションでは、フレーム識別と、イーサネットフローのためのOAMフレームのフレーム注入及び逆多重化を構成することと、に適用される本発明の実施形態の使用例を示す。
識別(Identification)
第1の例では、イーサネットフローが配備され、すなわち、イーサネットヘッダフィールドのみが、送信元及び宛先のMACアドレスと、VLANタグフィールドとを含む、データパケットの照合及び処理に利用される。イーサネットパケットのペイロードに制限はない。
イーサネットパケットのイーサタイプフィールドを定義する、マッチング構造のDL_TYPEは、ワイルドカードとなる。この例示的な本発明の実施形態によると、このDL_TYPEフィールドは、データパケットを区別するのに選択される。使用可能なドメイン(16ビット)から適切な値を選択するために、1つの割り当てされていないイーサタイプの値が選択されうる。例えば、値は、IANAによって定義された、割り当てられたイーサタイプの値と衝突しないように選択することができる。
監視されているフローの入口(ingress)側では、以下のような構成が設定されている。単一のマッチングテーブルのみが使用される。OAMフレームを注入するために、パケットヘッダは、OAM(例えば、0xD001)に設定されているイーサタイプを除いて、サービスパケットと同一である。他の全てのフィールドがワイルドカードであるものの、イーサネットdstは実際の宛先アドレスであるようにマッチングルールが設定されている。アクションは、次のテーブルまたは出力ポートに送信することである。
出口側では、単一のテーブルが2つのフローエントリとともに用いられる。第1のフローエントリは、OAMトラフィックのためである。マッチングは次のように設定される。イーサネットdst=実際の宛先アドレス、イーサネットタイプ=OAM(例えば、0xD001)で、他の全てのフィールドはワイルドカードである。ルール優先度=101。アクション=OAMポートに送信。
第2のフローエントリは、サービストラフィックのためである。マッチングは、イーサネットdst=実際の宛先アドレス、他の全てのフィールドはワイルドカードである。ルール優先度=100、アクション=次のテーブルまたは出力ポートに送信。
例2:MPLSパケットフロー
このセクションでは、フレーム識別と、MPLSフローのためのOAMフレームのフレーム注入及び逆多重化を構成することと、に適用される本発明の実施形態の使用例を示す。
識別
第2の例では、MPLSフローが考慮され、次のフローのマッチングエントリが、転送の間使用される。イーサネットフィールドは、設定されてもよく、設定されなくてもよいが、イーサネットタイプは、8847hまたは8848hのいずれかに設定される。MPLSラベルマッチングフィールドは、有効なラベルの値(16〜1048576の間)に設定される。他の全てのマッチングフィールドは、オープンフロー1.1標準によると、照合の間考慮されない。その後、第2のラベルがパケットの例外(exceptions)のために使用される。OAMパケットは、例えば、他の標準によって特定されない、0〜15の値を有する第2のラベルを設定することにより、識別されることができる。
入口側では、単一のテーブルが、1つのフローエントリとともに使用される。OAMフレームを注入するために、パケットヘッダは、追加のMPLSヘッダが使用されている以外は、OAM(例えば、10)ラベルで、サービスパケットと同一である。フローテーブルエントリは、マッチングを次のように設定される。イーサタイプ=0x8847、MPLS=所与のラベル、他の全てのフィールドはワイルドカードである。アクション=所与のラベルをプッシュし、次のテーブルまたは出力ポートに送信。
出口側では、2つのテーブルが使用される。第1のテーブルは、監視されたパケット及び監視されているパケットの両方のために、単一のフローエントリを含む。マッチングは、所与のラベルに設定され、他の全てのフィールドはワイルドカードである。アクションは、ラベルを除去し、第2のテーブルに進むことである。第2のテーブルは2つのエントリを含む。第1のエントリは、パケットの監視のためであり、マッチングは、イーサタイプ=0x8847、MPLS=OAM(例えば、10)、他の全てのフィールドはワイルドカードである。優先度は101である。アクションは、OAMポートに送信である。第2のエントリは、監視されたトラフィックのためであり、マッチングの設定は、メタデータ=所与のラベル、他の全てのフィールドはワイルドカードである。優先度=100。アクション=次のテーブルまたは出力ポートに送信。
例3:IPパケットフロー
このセクションでは、フレーム識別と、フレーム注入及びOAMフレームのIPv4フローへのフレーム注入を構成することと、に適用される本発明の実施形態の使用例を示す。
識別
IPフローの場合、イーサネットフィールドは、設定されてもされなくてもよいが、イーサタイプは、0800hに設定される。IPヘッダフィールドは、送信元及び宛先IPアドレスのように考慮され、IPパケットのペイロードに制限はない。次いで、次にカプセル化されるIPパケットのプロトコルに反映されるIPマッチング構造のプロトコルは、ワイルドカードである。本発明の一実施例の実現によれば、このフィールドは、特定のパケットを区別するために選択される。
入口側では、単一のテーブルが使用される。OAMフレームを注入するため、パケットヘッダは、新しいOAM(例えば250)タイプに設定されるIPv4プロトフィールドを除いて、サービスパケットと同一である。フローエントリのマッチングは、イーサタイプ=0800、IP宛先は所与の宛先アドレス、他の全てのフィールドはワイルドカードに設定される。アクションは、次のテーブルまたは出力ポートに送信することである。
出口側では、2つのエントリとともに1つのテーブルが使用される。第1のフローエントリは、OAMトラフィックのためである。マッチングは、イーサタイプ=0800、IP宛先は所与の宛先アドレス、IPv4_protoはOAM(例えば、250)、他の全てのフィールドは、ワイルドカードである。ルール優先度=101である。アクション=OAMポートへの送信である。第2のフローエントリは、サービストラフィックのためである。マッチングは、イーサタイプ=0800、IP宛先=所与の宛先アドレス、他の全てのフィールドはワイルドカードである。ルール優先度=100である。アクション=次のテーブルまたは出力ポートへの送信である。
図9は、OAMをサポートするオープンフローネットワークの一実施形態の図である。一実施形態では、OAMは、オープンフローコントローラ901にOAM関連の制御回路及び論理回路を配備することにより実装される。オープンフロースイッチ907A−Zは、OAM機能の集合を実装するためのオープンフローネットワーク内で、オープンフローコントローラ901にオープンフローネットワーク及びオープンフローデータフローの状態についての十分な情報を提供する、基本的かつ汎用的なOAMサポート機能を実装する。図9は、さらに、オープンフローコントローラ及びオープンフロースイッチのコンポーネントの構成例と、有効なOAM機能のコンポーネントとの間で実行されるメッセージ交換の集合の例を示す。例示するネットワークは、単一のオープンフローコントローラ901とオープンフロースイッチ907A−Zの集合を含む。当業者は、任意数のオープンフローコントローラとオープンフロースイッチが、本明細書に記載の原理及び構造を実装するように編成及び構成されうることを理解するであろう。明確化のため、例示する構成では、1つのオープンフローコントローラと、4つのオープンフロースイッチを利用する。
オープンフローコントローラ901は、OAMモジュール903及びメッセージ相関モジュール905を含むことができる。OAMモジュール903は、オープンフローコントローラ903内のOAM機能の実装を管理することができる。OAMモジュール903は、データに関するOAMへの要求またはOAM機能を実行するための命令を、他のオープンフローコントローラコンポーネント(不図示)またはオープンフローコントローラ901外部の他の発信元から受信することができる。オープンフローOAMモジュール903は、接続性検証(CV)、リンク追跡(LT)、損失測定(LM)、遅延測定(DM)、継続性(continuity)チェック(CC)、及び同様のOAM機能をサポートすることができる。
OAMモジュール903は、メッセージ相関器905により支援されることができる。メッセージ相関器は、オープンフローコントローラ901内で分離したモジュールであり、OAMモジュール903のコンポーネントでありうる。メッセージ相関器905は、オープンフローコントローラ901のドメイン内のオープンフロースイッチ907A−Zから着信する監視応答メッセージを受信し、ソートする。メッセージ相関器905は、着信する監視応答メッセージを、OAMモジュール903で実行されている、要求されたOAM機能と照合する。メッセージ相関器905は、着信する監視応答メッセージを、監視応答メッセージ内の明示の識別子、監視応答データ内のメタデータまたは監視応答データ内の類似の情報に基づいて照合する。OAMモジュール903は、識別子及び要求された各OAM機能に関連付けられたメタデータを、メッセージ相関器905が監視応答メッセージを照合するのに利用可能にすることもできる。例示する一実施形態では、メッセージ相関器905は、OAMパケットまたは監視応答メッセージとともに含まれる同様のデータに基づいて、監視応答メッセージを要求されたOAM機能と照合する。受信されたOAMパケットは、OAMモジュール903によって生成されたOAMパケットと照合され、監視トリガメッセージを介してオープンフロースイッチ907Aに送信される。
OAMモジュール903及び/またはメッセージ相関器905は、図に示すような一般的な監視手続きを実装する。処理は、任意のOAM機能に対する、オープンフローコントローラ901の内部及び外部の発信元を含む任意の発信元からの要求に応答して開始されることができる。オープンフローコントローラ901は、「監視トリガ(trigger monitoring)」メッセージをオープンフロースイッチ907Aに送信し、オープンフロースイッチ907AがOAMパケットまたは類似の「探査(probe)」パケットをオープンフロースイッチ901Aのパケット処理パイプライン911Aを経由して送信することを要求する。監視トリガメッセージは、プロトコルエージェント909Aまたは類似のコンポーネントによって、オープンフロースイッチ907Aで受信される。プロトコルエージェント909Aは、例えば、OAMパケットを監視トリガメッセージから抽出することによって、本明細書で上述したパケット処理パイプラインに送られるべきOAMパケットを生成することができる。OAMパケットは、パケット処理パイプライン及びプロトコルエージェント909Aに「監視応答(monitor response)」メッセージを生成させオープンフローコントローラ901に返信させるために、パケット処理パイプライン911Aを経由して送信される。
スイッチ907Aは、本明細書において上述したオープンフロースイッチモジュールにより実装されるパケット処理パイプラインを介してOAMパケットを処理する。パケット処理パイプラインは、一致したフローテーブル及びグループテーブルのエントリと、これらのテーブルのエントリと関連する同様のメトリックデータとを、カウンタの集合及びオープンフロースイッチモジュールによってメンテナンスされる類似のメカニズムから収集する。オープンフロースイッチモジュールは、オープンフローデータフローとのフェイトシェアリングを有するように、OAMパケットを指定されたオープンフローデータフローと集約する。図示された例では、OAMパケットは、オープンフロースイッチ907Bに送信されるようになる。パケット処理パイプライン内でOAMパケットを処理した後、オープンフロースイッチ907Aは、関連するメトリックデータとともに一致したフローテーブルのエントリとグループテーブルのエントリをエンコードして、監視応答メッセージをオープンフローコントローラ901に送信する。監視応答メッセージによって提供されるこのデータは、プロトコルエージェント909Aによって収集され、メッセージ内に挿入される。
OAMメッセージ及び関連するオープンフローデータフローは、中間のオープンフロースイッチ907Bで、オープンフロースイッチ907Bによって受信される。図示された例では、オープンフロースイッチ907Bは、本明細書で述べるOAMによりサポートされる実施形態を実装しない。したがって、オープンフロースイッチ907Bは、特にOAMパケットが関連付けられているオープンフローデータフローと同じ方法で、他のオープンフローデータパケットのように、OAMパケット907Bを処理する。例では、オープンフロースイッチ907Bは、OAMパケットと、関連するオープンフローデータフローとを、オープンフロースイッチ907Cに転送する。
オープンフロースイッチ907CはOAMパケットを受信し、オープンフロースイッチモジュール内のパケット処理パイプライン911Cの構成にしたがって、それを処理する。さらに、プロトコルエージェント909Cは、OAMパケットのコピーを、一致したフローテーブルエントリとグループテーブルエントリとともに、OAMパケットのためのカウンタ及び関連するメトリックデータと、関連するオープンフローデータフローとを含めて、オープンフローコントローラ901に送信する。この情報は、監視応答メッセージ内で、オープンフローコントローラ901に送信される。オープンフロースイッチ907Cの構成によれば、OAMパケットは、その後、次のオープンフロースイッチ907Zに転送される。
オープンフロースイッチ907Zは、OAMパケットを受信し、オープンフロースイッチモジュール内のパケット処理パイプライン911Zの構成にしたがって、それを処理する。さらに、プロトコルエージェント909Zは、OAMパケットのコピーを、一致したフローテーブルエントリとグループテーブルエントリデータとともに、OAMパケットのためのカウンタ及び関連するメトリックデータと、関連するオープンフローデータフローとを含めて、オープンフローコントローラ901に送信する。この情報は、監視応答メッセージ内で、オープンフローコントローラ901に送信される。オープンフロースイッチ907Zの構成によれば、OAMパケットは、その後、関連するオープンフローデータフローがオープンフローネットワークの終端またはオープンフローネットワークで最後に監視されるネットワークエレメント(すなわち、監視されうるオープンフローネットワークを経由する経路の一部のみ)に到達したために、破棄され得る。
一実施形態では、プロトコルエージェントは、図1−8に関して述べたようにOAMパケットをオープンフロースイッチモジュールのパケット処理パイプライン内に注入するために、図1−8に関して本明細書で述べた処理及び構造を包含する。同様に、プロトコルエージェントは、OAMパケットを逆多重化し、逆多重化を目的とするオープンフローコントローラのためにオープンフロー制御メッセージを生成するための、図1−8を参照して本明細書で述べた処理及び構造を包含することもできる。一般に、図9−14に関連して述べたOAMの実装は、図1−8に関連して述べた一般的なパケット監視の特徴に依存して実装されることができる。
監視トリガメッセージ
監視トリガメッセージは、オープンフロースイッチに、オープンフロースイッチモジュールのパケット処理パイプライン内のOAMパケットを処理し、監視応答メッセージを介してオープンフローコントローラにメトリック情報の報告を返送するように指示する。監視トリガメッセージは、OAMパケット全体を搬送することができ、またはオープンフロースイッチによって生成されるOAMパケットを識別することができる。オープンフローにおける監視トリガメッセージの実装には、いくつかの方法がある。監視トリガメッセージは、改訂されたPacketOutメッセージ、拡張されたPacketOutメッセージ、または新たなオープンフローメッセージタイプでありうる。
各監視トリガメッセージは、オープンフロースイッチ内で、類似の振る舞いを生成する。オープンフロースイッチが、オープンフローコントローラからOAMパケットを含む監視トリガメッセージを受信すると、オープンフロースイッチは、OAMパケットの処理及び/または関連するオープンフローデータフローについてのメトリック情報を収集することによって応答するであろう。収集されたデータは、OAMパケットによるオープンフロースイッチの横断の間に発生した、全てのフローテーブル及びグループテーブルの一致部分についての情報を含むことができる。オープンフロースイッチがOAMパケットの処理を終了するとき、収集されたメトリック情報を含む監視応答メッセージで、オープンフローコントローラに返信する。
監視トリガメッセージは、OAMパケットを処理するためのいくつかの命令を識別し、定義することもできる。例えば、監視トリガメッセージは、OAMパケットについて実行されるいくつかのアクションを問い合わせ、OAMパケットが送出される出力ポートを定義し、パケット処理パイプライン全体を経由してパケットを送信し、OAMパケット処理のための同様の命令を提供することができる。
改訂されたPacketOutメッセージ
オープンフローによって規定されるPacketOutメッセージは、オープンフローコントローラがオープンフロースイッチのパケット処理パイプライン内にパケットを挿入し、またはオープンフロースイッチの任意のポートでパケットを送信することができるようにする。一実施形態では、監視トリガメッセージのための実装オプションは、PacketOutメッセージを監視トリガメッセージとみなすことである。この場合、オープンフロースイッチは、PacketOutメッセージの使用を通じてオープンフローコントローラによって送信された全てのパケットについてのメトリック情報を収集し、収集されたメトリック情報データを含む監視応答メッセージの形式で、パケットに何が起こったかについての報告を生成するように構成されることができる。
拡張されたPacketOutメッセージ
一実施形態では、オープンフローによって規定されるPacketOutメッセージは、監視トリガメッセージを実装するように拡張される。拡張されたPacketOutメッセージは、新たなアクション、OFPAT_TRIG_MONアクションを規定する。オープンフロースイッチのプロトコルエージェントがPacketOutメッセージを受信した場合、PacketOutメッセージのアクションリスト内でこの新たなアクションを見つけ出し、その後、それを監視トリガメッセージに関して述べた追加の手続きに適用する。そうでない場合、プロトコルエージェントは、オープンフロー標準により規定された標準的なパケットアウト操作を実行する
図10は、OFPAT_TRIG_MONアクションの一実施形態を示す。PacketOutメッセージ内のアクションの存在により、監視トリガメッセージ手続きが実行されることを示しているので、アクションは追加のフィールドを持たない。オープンフロー仕様書では、アクションは少なくとも8オクテットの長さでなければならず、そのため、4オクテットの長さのパディングフィールドは、オープンフローのこの側面に適合するアクションをもたらすように定義される。
新たなオープンフローメッセージ
一実施形態では、新たなオープンフローメッセージが、監視トリガメッセージを実装するために使用される。このメッセージは、PacketOutメッセージと同一のフィールド群を持つ。プロトコルエージェントとオープンフロースイッチのパケット処理パイプラインは、メトリック追跡及び報告が開始されることを除いてPacketOutメッセージと同様の方法で、新たなオープンフローメッセージと、含まれているOAMパケットとを処理するように構成される。フィールド群、それらのフォーマット及び関連するパケット処理ルールは、オープンフロー1.1仕様書のセクションA3.7で規定されるものと同一または類似であることができる。新たなオープンフローメッセージとオープンフローPacketOutメッセージとを区別するために、新たなオープンフローメッセージタイプが割り当てられることができる。
図11は、OAM機能要求処理のための処理の一実施形態のフローチャートである。一実施形態において、OAM機能要求処理のプロセスは、OAM機能に対する要求の受信に応答して開始される(ブロック1101)。OAM機能要求は、他のオープンフローコントローラのコンポーネント及び外部ネットワーク管理ソフトウェアまたは同様の送信元を含む、任意の送信元から受信されることができる。オープンフローのコントローラのOAMモジュールは、オープンフローデータフローのためのメトリックを提供するためにオープンフロースイッチによって実行されるアクションを定義しまたは特定する、監視トリガメッセージを生成することによって、OAM要求を処理する(ブロック1103)。監視トリガメッセージは、転送され、オープンフローデータフローに集約されるべきOAMパケットを含む。当該OAMパケットの特徴は、したがって、本明細書で上述したような、オープンフローデータフローとのフェイトシェアリングを保証するために必要なオープンフローデータフローの特徴と一致する。監視トリガメッセージによって定義され、または指定されるアクションには、オープンフロースイッチのパケット処理パイプラインにOAMパケットを挿入するためのアクションや、特定のポートにOAMパケットを転送するためのアクションが含まれる。
生成されたトリガメッセージは、オープンフローデータフローの監視が開始されことになる、オープンフロースイッチに送信される(ブロック1105)。これは、本明細書に記載されるように、汎用的なまたはOAM特有のパケット監視をサポートするように構成されている各下流オープンフロースイッチにおけるオープンフローデータフローの監視を開始することができる。オープンフローコントローラは、その後、オープンフローデータフローの経路に沿った、サポートするオープンフロースイッチのそれぞれから返されるOAM関連のメトリックデータを待つ。このメトリックデータは、サポートするオープンフロースイッチのそれぞれから監視応答メッセージの形式で受信される(ブロック1107)。受信した監視応答メッセージには、メトリック情報とともにOAMパケットのコピーまたはその識別子が含まれている。
これらの監視応答メッセージは、まず、監視応答メッセージを、監視処理を開始したOAM機能要求と関連付けるメッセージ相関器によって、オープンフローコントローラで処理されることができる(ブロック1109)。着信する監視応答メッセージは、オープンフローコントローラのOAMモジュールによって送出された監視トリガメッセージまたはOAMパケットからの識別子を用いて、要求されたOAM機能と照合されることができる。メッセージ相関器は、メトリックデータをコンパイルし、または同様に、オープンフローコントローラ内のOAMモジュールにおいてそれを渡す前のデータを前処理することができる。他の実施形態では、メトリックデータは前処理されず、メッセージ相関器により関連付けられるだけである。さらなる実施形態では、メッセージ相関機能は、OAMモジュールと一体化される。
OAMモジュールは、その後、要求されたOAM機能、または要求されたOAM機能の集合にしたがって、受信したメトリックデータを処理する(ブロック1111)。メトリックは、OAMパケット及び/または関連するオープンフローデータフローの監視に、直接関係することができる。いずれの場合においても、メトリックデータは、オープンフローデータフローを代表し、オープンフローデータフローのためのOAMに関する情報を導き出すために利用される。OAM機能の集合の結果は、要求元に提供される(ブロック1113)。結果は、単一の応答であることができ、または要求されたOAM機能に依存して受信される監視データとして、進行中のまたは断続的な応答であることができる。
オープンフロースイッチにおけるOAMパケットの検知及び処理
オープンフローネットワーク内の各オープンフロースイッチは、OAMパケットを認識し、OAMパケットに関連するメトリックと、関連するオープンフローデータフローとを報告することにより、オープンフローコントローラにおけるOAM機能をサポートするように構成されることができる。各オープンフロースイッチは、OAMパケットがオープンフロースイッチングモジュールのパケット処理パイプラインを経由して行ってしまったあとで、監視応答メッセージを発生させるために、OAMパケットまたはパケットのコピーをプロトコルエージェントに中継するように構成されることができる。
現在のオープンフロースイッチが出口または宛先スイッチでない場合、OAMパケットは次のオープンフロースイッチに転送される。オープンフロースイッチが、出口スイッチまたは宛先スイッチである場合、OAMパケット及び関連するメトリックは、オープンフローコントローラに転送されることができる。オープンフロースイッチが、単なる中間スイッチである場合は、OAMパケットは、メトリック報告後のさらなる処理のために次のスイッチに転送されてもよい。オープンフロースイッチが、宛先スイッチである場合、メトリックの報告が生成されなければならず、OAMパケットは破棄される。デフォルトでは、オープンフロースイッチは、関連するオープンフローデータフロー内の他の任意のデータパケットのように、OAMパケットを転送できる。
OAMパケットは、例えば、関連するオープンフローデータフロー内のデータパケットの識別の際に考慮されていない、いくつかの余分なフィールドを検査することや、または本明細書で上述した、OAMパケット内に存在する特定のペイロードにより、識別されることができる。
監視応答メッセージは、プロトコルエージェントによってオープンフローコントローラに送信され、OAMパケットが横断するオープンフロースイッチのオープンフロースイッチモジュール内で一致する、全てのフローテーブル及びグループテーブルについてのメトリック情報を含む。これらの一致は、監視応答メッセージを生成するためのOAMパケットをOAMパケットとして識別するフローテーブルまたはグループテーブルエントリの場合を除き、関連するオープンフローデータフローのデータパケットの場合と同じである。しかしながら、オープンフローコントローラは、この違いを認識し、メトリック上のこれらの影響を無視し、またはこれらの影響のためメトリックを調整することができる。
カウンタ読み込み
標準的なオープンフローパケット処理の一部として、OAMパケットの検知または類似の「探査」または監視されたパケットにより、オープンフロースイッチモジュールのパケット処理パイプラインをパケットが横断する際に、フローテーブル及びグループテーブルのエントリのためのカウンタの集合をインクリメントすることができる。カウンタは、標準的なデータパケットとOAMパケットのように特に監視されるパケットとの両方の一致に対し、インクリメントされることができる。これらのカウンタの更新は、オープンフロースイッチの起動から、またはオープンフローコントローラからのメッセージの受信に応答して、連続的になされることができる。監視するパケットの検知により、一致した各フローテーブルまたはグループテーブルのエントリのカウンタの読み出しが発生することができる。カウンタ値は、所定のフローテーブルエントリの統計フィールドの要素、または、オープンフローコントローラに報告されるメトリック情報として提供される類似のものとして、監視応答メッセージ内に含めることができる。
このカウンタの読み出しは、カウンタの更新後、及び、一致したフローテーブルまたはグループテーブルのエントリのアクション実行前または実行後のいずれか任意の場合に、発生しうる。しかし、いずれのオプションが実装されるとしても、(例えば、プロトコルエージェントによる)オープンフロースイッチにおける処理のタイミングは、標準的なデータパケットのために、OAMパケットのように特に監視されるパケットの場合と同時にカウンタを読み出す。
タイムスタンプ
一実施形態では、オープンフロースイッチにおけるパケット処理は、データパケットまたは監視されるパケットがフローテーブルまたはグループテーブルのエントリと一致するときのタイムスタンプの記録も含む。例えば、タイムスタンプは、IEEE1588−2002「ネットワーク測定・制御システムのための高精度時刻同期プロトコル標準」により定義された時刻表示形式に基づく形式または類似の形式を有する、8オクテットのフィールドとして格納されることができる。タイムスタンプは、所定のフローテーブルエントリの統計フィールドの要素として、監視応答メッセージに付加されることができる。
このタイムスタンプは、カウンタの更新前または更新後のいずれか、及び、フローテーブルまたはグループテーブルのエントリのアクションの実行前または実行後のいずれかにおける、フローテーブルエントリまたはグループテーブルエントリとパケットの一致後に、オープンフロースイッチモジュール内で発生する。但し、タイムスタンプのタイミングは、標準的なデータパケットと、OAMパケットのように特に監視されるパケットの両方について同一である。
監視応答メッセージ
OAMパケットまたは同様の監視されたパケットの検知に応答して、OAMパケットと、関連するメトリックデータを有する一致したフローテーブル及びグループテーブルのエントリとが、本明細書で上述したオープンフロースイッチのプロトコルエージェントに提供される。その後、オープンフロースイッチのプロトコルエージェントは、監視応答メッセージを生成し、監視応答メッセージをオープンフローコントローラに送信する。一実施形態では、監視応答メッセージは、以下のものを含む。
・OAMパケット 同じOAMパケットによりトリガされ、但し異なるスイッチにより生成される監視応答メッセージを、オープンフローコントローラが相関付けるのを助ける
・各エントリに含まれる統計エントリのリスト
i. フローテーブルまたはグループテーブルのエントリへの参照、例えば、テーブル及びフローエントリのクッキーの識別子
ii. 任意で、所定のテーブルエントリの実行タイムスタンプ
iii. 任意で、所定のテーブルエントリのカウンタ値
監視応答メッセージは、標準的なオープンフローのPacketInメッセージの拡張、新たなオープンフローメッセージタイプとして実装することができ、または、フロー統計タイプOFPT_STATS_REPLYメッセージの更新として実現されることができる。
拡張されたPacketInメッセージ
本実装オプションは、メトリックエントリのリストを搬送する任意のフィールドで、オープンフローにより仕様化されたPacketInメッセージを拡張する。図12は、拡張されたPacketInメッセージとして実装された監視報告メッセージの例示する一実施形態の図である。バージョン、タイプ、長さ、XID、バッファID、入力ポート、入力物理ポート、フレーム長、理由、テーブルID及びフレームデータフィールドが、オープンフロー1.1で仕様化された基本的なPacketInメッセージのものと、同一のままである。本実施形態では、これらのフィールドのあとに、各フローテーブルまたはグループテーブル照合のためのメトリックエントリと関連付けるフィールドの集合が続く。参照タイプフィールドは、指標ビットの集合を有することができ、当該フィールドの1ビットはメトリックが参照するテーブルがフローテーブルであるかグループテーブルであるかを示し、1ビットはパケットカウントがあるかどうかを示し、1ビットはバイトカウントがあるかどうかを示し、1ビットはタイムスタンプがあるかどうかを示す。テーブルID、グループID、優先度、マッチング構造及びクッキーのフィールドは、対応するフローまたはグループテーブルのエントリを識別する。パケットカウント及びバイトカウントは、フローテーブルエントリの統計の一部である。パケットカウントは、フローテーブル内の所定のフローエントリに一致したオープンフローデータパケットの数である。バイトカウントは、関連するデータパケットのバイトカウントの合計を格納する。このデータは、OAM機能を実行するために使用することができる。
新たなオープンフローメッセージ
一実施形態では、監視応答メッセージは、新たに定義されたオープンフローメッセージである。図13は、新たなオープンフローメッセージとして実装される監視報告メッセージを例示する一実施形態の図である。「監視」タイプを有するこのメッセージのために、新たなオープンフローメッセージタイプが導入される。バージョン、タイプ、長さ及びXIDフィールドは、上述し、かつオープンフロー1.1仕様書で記述された、PacketInメッセージまたは拡張されたPacketInメッセージのものと同様である。本実施形態では、これらのフィールドの後に、各フローテーブルまたはグループテーブル照合のためのメトリックエントリと関連するフィールドの集合が続く。参照タイプフィールドは、指標ビットの集合を有することができ、当該フィールドの1ビットはメトリックが参照するテーブルがフローテーブルであるかグループテーブルであるかを示し、1ビットはパケットカウントがあるかどうかを示し、1ビットはバイトカウントがあるかどうかを示し、1ビットはタイムスタンプがあるかどうかを示す。テーブルID、グループID、優先度、マッチング構造及びクッキーは、一致したフローテーブルまたはグループテーブルのエントリを識別する。パケットカウント及びバイトカウントは、フローテーブルエントリの統計の一部である。パケットカウントは、フローテーブル内の所定のフローエントリ一致したオープンフローデータパケットの数である。バイトカウントは、関連するデータパケットのバイトカウントの合計を格納する。このデータは、OAM機能を実行するために使用することができる。
OAMパケットに関連する情報の収集
各オープンフロースイッチのプロトコルエージェントは、一致したフロー及びグループテーブルのエントリを取得し、オープンフロースイッチモジュールから受信するOAMパケットに基づいて関連するメトリック情報を収集することができる。プロトコルエージェントをサポートするために、オープンフロースイッチモジュールは、全パケットまたはいくつかの特定のパケットのサブセットについての関連するメトリックで、照合されるフローテーブル及びグループテーブルのエントリのリストをメンテナンスする。
一実施形態では、オープンフロースイッチモジュールのデフォルトの操作は、ハンドリングされる全てのパケットのためにそのような一致するメトリックを収集することである。しかしながら、このオプションは、結果的に、オープンフロースイッチモジュールに負担となる追加の管理及び計算をもたらす。この振る舞いは、例えば、オンデマンドの短期モニタリングの場合に用いられることができる。一実施形態では、この負担を軽減するために、オープンフロースイッチモジュールは、最後の数個(例えば、1、2または3個)の一致するフローテーブル及び/またはグループテーブルのエントリだけを、メトリックとともに格納する。この実施形態では、新たな一致エントリが格納されるときはいつでも、パケットごとの一致メトリック記憶領域がいっぱいのとき、最も古い一致エントリを破棄する。この処理は、事前監視(proactive monitoring)のための例に使用することができる。
他の実施形態では、この計算及び記憶領域の負担を軽減するために、オープンフロースイッチモジュールは、区別されまたはタグ付きのパケット(すなわち、OAMパケット)だけの、一致するメトリックを収集することができる。メンテナンスすべき照合されるエントリの量と、それらを管理する処理は、オープンフローコントローラのOAMモジュールによって構成可能であるか、同様に構成可能である。
オープンフロースイッチ内のプロトコルエージェントまたは同様のコンポーネントが例えば監視トリガメッセージの結果としてパケットの送信元である場合、オープンフロースイッチモジュールは、当該パケットがOAMパケットであり一致するメトリックが収集されなければならないことを、決定することができるか、またはプロトコルエージェントによって命令されることができる。OAMパケットが、物理ポートを経由してオープンフロースイッチに入るとき、それは、直接パケット処理モジュールに送信される。その後、オープンフロースイッチモジュールは、その構成に基づいて区別されたパケットを識別することができる。例示する実装においては、本明細書でさらに上述したように、フローテーブルエントリが、区別されたパケットを識別するために形成されることができ、フローテーブルエントリに割り当てられた命令は、一致するメトリックの収集を開始するようにオープンフロースイッチモジュールに命令することができる。このオプションの欠点は、統計を収集するオープンフロースイッチモジュールに到着するその命令の受信より前に一致したエントリについて、いかなる情報もないことである。前のオープンフロースイッチの構成は、この問題を回避するために用いられる。
図14は、オープンフロースイッチにおけるOAMサポートのための処理の一実施形態のフローチャートである。フローチャートは、オープンフロースイッチにおけるOAMサポートの流れを示す。この処理は、オープンフローコントローラから監視トリガメッセージを受信することに応答して開始されることができる(ブロック1401)。監視トリガメッセージは、監視トリガメッセージによって定義されるOAMパケットを生成するために、オープンフロースイッチのプロトコルエージェントまたは同様のコンポーネントによって、オープンフロースイッチにおいて処理されることができる(ブロック1403)。OAMパケットは監視トリガメッセージ内で提供されてもよく、その場合、それは抽出されてパケット処理パイプラインに挿入され、または監視トリガメッセージによって指示される通りポートに転送される(ブロック1405)。OAMパケットをオープンフロースイッチモジュールのパケット処理パイプライン内に挿入すること、またはポートに転送することによって、OAMパケットは監視されるオープンフローデータフローと集約される。
OAMパケットは、オープンフロースイッチモジュール内のフローテーブル及び/またはグループテーブルのエントリと照合される(ブロック1407)。これにより、対応するカウンタがインクリメントされ、一致するメトリックデータが記録される。OAMパケットが、オープンフロースイッチモジュールを横断したあと、プロトコルエージェントに通知が行われ、監視応答メッセージがプロトコルエージェントによって生成される(ブロック1409)。プロトコルエージェントは、オープンフローデータフロー及び/またはOAMパケットのために、メトリック及び一致データをオープンフロースイッチモジュールから収集する(すなわち、回収する)(ブロック1411)。このメトリックデータは、監視応答メッセージに追加され、オープンフローコントローラに送信される(ブロック1413)。このメトリック情報は、その後、要求され、かつ監視トリガメッセージを開始するOAM機能を、オープンフローコントローラによって実行するために用いられることができる。
OAMの特徴の実装
接続性検証
接続性を検証するために、オープンフローコントローラは、監視されるオープンフローデータフローのOAMパケットが一致するかどうか、かつ所望のフローテーブルエントリのみに一致するかどうかを検査することができる。OAM機能の接続性検証のために、照合されるフローテーブルのエントリは、入口及び出口オープンフロースイッチの両方において、識別されなければならない。このことは、OAMパケットの監視の結果としてオープンフロースイッチからオープンフローコントローラに送信される監視応答メッセージに、各照合テーブルエントリへの参照を、追加することによって解決される。この参照は、オープンフローエントリ構造または全マッチング構造のクッキーフィールド内にあることができる。
監視されるOAMパケットへの応答が、それぞれのオープンフロースイッチのオープンフローコントローラへの入口ポートと出口ポートの両方から使用可能になると、オープンフローコントローラは、監視されるパケットが、正確に所望のフローテーブルエントリに一致することを検証することができる。これらのフローテーブルエントリは、監視されるオープンフローデータフローのために一致したフローテーブルエントリと同じであり、相違点は、監視されるパケット自体をOAMパケットとして識別する、フローテーブルエントリだけであってもよい。双方向フローを両方の方向において別々に検証するため、この機能は一方向性である。
リンク追跡
接続性検証に加えて、リンク追跡機能を提供するために、全ての中間オープンフロースイッチが、これらの中間オープンフロースイッチを横断するOAMパケットとして記録される。オープンフローコントローラは、適切なOAMメッセージを追跡パスの入口オープンフロースイッチに送信することによって、リンク追跡を開始する。入口オープンフロースイッチによるOAMパケットの転送後、出口オープンフロースイッチが、一致するフロー識別子とともに、OAMパケットをオープンフローコントローラに送信することによってOAMパケットを終端する一方で、全ての中間オープンフロースイッチが、一致するフロー識別子を送信することにより、監視応答メッセージを用いてオープンフローコントローラに応答することができる。双方向フローを両方の方向において別々に検証するため、この機能は一方向性である。
損失測定
損失測定のOAM機能として、送信パケット及び受信パケットの数は、入口オープンフロースイッチ及び出口オープンフロースイッチにおいて知られなければならない。フローテーブルエントリのためのオープンフロースイッチモジュールのカウンタは、損失測定を実現するために用いられることができる各オープンフロースイッチである。特定の位置における単一のカウンタのみを用いる代わりに、OAMパケットを処理する間、全てのマッチングテーブルのカウンタが用いられる。フローエントリ識別に加え、損失測定のために、一致したパケットのカウンタもまた、オープンフローコントローラに送信されるデータに追加される。
入口オープンフロースイッチ及び出口オープンフロースイッチからのこれらのカウンタを使用することにより、オープンフローコントローラは、オープンフローデータフローのフレーム損失を計算することができる。損失は、入口オープンフロースイッチにおいてカウントされた、適切なフローテーブルエントリの一致から、出口オープンフロースイッチにおいてカウントされた、適切なフローテーブルエントリの一致を引いた数である。オープンフローコントローラのOAMモジュールにおいて最後に測定した後のパケット損失を取得するために、損失の前回の値が現在の値から引き算されることができる。
実装に応じて、カウンタもまた、測定されたOAMパケットをカウントする。しかしながら、オープンフローコントローラがこれらのメッセージを開始し及び終了させるため、損失値は、損失したオープンフローデータパケットの数のみを含むように訂正されることができる。双方向フローを両方の方向において別々に測定しなければならないため、このOAM機能は一方向性である。
遅延測定
一実施形態では、監視されるオープンフローデータフローの入口オープンフロースイッチにおいて、タイムスタンプが遅延測定OAMパケットに追加される。出口オープンフロースイッチにおいて、追加のタイムスタンプが、遅延測定OAMパケットに追加される。これらのタイムスタンプを使用することによって、OAMパケットの遅延が、オープンフローコントローラによって計算されることができる。一実施形態では、1つのタイムスタンプだけでなく、オープンフロースイッチモジュール全体にわたって、一致したフローテーブルまたはグループテーブルのエントリ毎にそれぞれスタンプを追加することも可能である。
フローエントリ識別に加え、遅延測定のために、照合の時間のタイムスタンプが追加される。入口オープンフロースイッチ及び出口オープンフロースイッチからこれらのタイムスタンプを使用することによって、オープンフローコントローラは、オープンフローデータフローのフレーム遅延を計算することができる。片方向の遅延を計算する本方法の実施形態は、スイッチのクロックが同期しているかどうかが重要である。往復の遅延では、クロックのずれが解消される。一実施形態では、両方向のフローの往復の遅延が、2方向のフローの片方向の遅延から計算される。これは、第1の方向からのOAMフレームの遅延測定をオープンフローコントローラが受信し、他の方向における追加の測定を生成するように実装される。往復遅延の計算は、ITU−T Y.1731として実装されることができ、相違点は、遅延から引かれる、出口オープンフロースイッチにおける処理時間が、OAMパケットをオープンフローコントローラに送信し、他の方向からOAMパケットを受信することを含むということだけである。
仮想MEP及びMIP
上でさらに詳細に述べた通り、管理エンドポイント(MEP)または監視する中間ポイント(MIP)を、OAM機能の多くのタイプをサポートするために、処理パイプラインの様々な場所に配置することができなければならない。構成例では、様々なより小さなオープンフローデータフローのデータパケットが共通のより大きなフローの中に集約されることができる。その後、フローエントリは、それぞれのより小さいフローのために定義され、これらのエントリのアクションは、新しい集約されたフローにそれらを合わせるために、パケットの更新を指示する。後続のテーブルに配備された第2のフローエントリは、共通のフローを記述する。MEPは、より小さなフローと集約されたフローの両方に配置されることができる。
実際のMEPを配置する代わりに、これらの観測点において、本発明の実施形態は、オープンフロースイッチ内に実際には存在しない仮想のMEPを配置できるようにし、それらはコントローラのロジック内にのみ存在する。パケット処理パイプラインは監視され、上述のOAM機能を実現することができるように、これらのMEPとMIPSを用いてオープンフローコントローラに報告される。上記構成例を考慮すると、オープンフローコントローラに返信されたメトリック情報は、両者の値が含まれているため、オープンフローデータフローの両方のタイプは、オープンフローコントローラによって監視されることができる。
本発明の実施形態は、データパケットフローへ/からの特定のデータパケット(タグ付きフレーム)の注入及び逆多重化を可能にするオープンフロースイッチオペレーションへの拡張を説明する。このような構成の変更は、パケットの注入または除去処理に関与するオープンフロースイッチのみに影響を与え、どの中間オープンフロースイッチにもいかなる設定変更をも必要としない。従って、いかなる中間オープンフローノードにおいても、同じ転送エントリが、通常のデータパケット及びタグ付きフレームの両方に適用される。この特徴は、データフローに挿入され、監視されるデータパケットのフェイトシェアリングを保証する。
本発明の実施形態は、監視されたデータパケットに対するフェイトシェアリングを提供するように、オープンフロードメイン内のOAMツールの簡単かつ柔軟な配備を可能にするだけでなく、実施形態は、オープンフロースイッチまたはオープンフローコントローラにおいて実装されているかどうかにかかわらず、監視ポイントに/からOAMパケットを転送するメカニズムを提供する。
さらに、本発明の実施形態は、監視されるデータフローのタイプに依存しない、オープンフロードメインにおけるOAMツールセットを実装する。このOAMツールセットは、イーサネット、MPLS、IP、TCP、及び同様のデータフローの監視に使用することができる。オープンフローOAMの実装は、いかなる基礎となる技術とも無関係であり、OAMソリューション特有のいかなる技術もサポートまたは実装するために使用することができ、それにより、これらのOAMソリューションの別個の実装の必要性を回避する。オープンフロースイッチから収集されるメトリックデータの処理はオープンフローコントローラ内に実装されるため、オープンフロースイッチ内に、OAMの機能的または物理的な監視ポイントを配備する必要はない。オープンフロースイッチにおいて物理的な監視ポイントを排除することにより、いくつかの利点をもたらす。
例えば、これらの監視ポイントを配備し、構成するためのいかなる構成プロトコルの拡張をも必要としない。さらに、このような監視ポイントの構成は、非常に複雑になることがあり、例えば、それぞれのOAMの特徴(例えば、パケット損失)を提供するために評価されるフローエントリの指定を必要とする。したがって、本発明の実施形態は、オープンフロースイッチにおけるOAM機能の実装を簡素化し、それにより、これらのオープンフロースイッチのコストを低下させる。
本発明の実施例は、オープンフロー1.1で定義されたものを超える、オープンフロースイッチ、オープンフローコントローラ、及びオープンフロープロトコルの拡張が含まれている。これらの拡張機能は、オープンフロー1.1と下位互換性がある。他のスイッチは、既存のオープンフロー仕様に従った標準スイッチであることができる一方、オープンフローコントローラにフィードバックを提供するこれらのオープンフロースイッチだけは、拡張機能をサポートしている必要がある。
上記の説明は例示であって限定的なものではないことを意図していることを理解すべきである。多くの他の実施形態は、上記の説明を読み、理解することにより当業者には明らかであろう。本発明の範囲は、したがって、そのような請求項に付与される均等物の全範囲とともに、添付の特許請求の範囲を参照して決定されるべきである。

Claims (14)

  1. オープンフローコントローラを実装するネットワークエレメントによって実行される方法であって、前記オープンフローコントローラは、OAMモジュールを含み、前記OAMモジュールは、オープンフローを実装するネットワークにおいてOAM機能要求を提供するためのものであり、前記方法は、前記ネットワーク内のオープンフロースイッチのサブセットが、要求されたOAM機能を実行するための情報をOAMモジュールに提供するために、オープンフローデータフローのためのメトリックを通知することを要求するための方法であって、
    前記ネットワークエレメントのOAMモジュールによって、前記OAM機能を実行するための要求を受信するステップと、
    前記OAMモジュールによってトリガ監視メッセージを生成するステップであって、前記トリガ監視メッセージは、前記オープンフロースイッチのサブセットの中のオープンフロースイッチによって実行されるべきアクションを定義し、前記アクションは、オープンフローデータフローのためのメトリックを提供することであり、
    前記トリガ監視メッセージを前記オープンフロースイッチに送信するステップと、
    前記オープンフロースイッチのサブセットから複数の監視応答メッセージを受信するステップであって、前記複数の監視応答メッセージの各々は、オープンフローデータフローのためのメトリックを含み、
    前記複数の監視応答メッセージを前記OAM機能要求と関連付けるステップと、
    前記OAMモジュールによって、前記オープンフローデータフローのメトリックを用いて、要求されたOAM機能を実行するステップと、
    前記要求されたOAM機能の結果を返すステップと、
    を含む方法。
  2. 前記監視トリガメッセージを生成するステップは、前記オープンフロースイッチによって前記オープンフローデータフローと集約されるべきOAMパケットを定義するステップをさらに含む、請求項1に記載の方法。
  3. 前記監視トリガメッセージを生成するステップは、前記オープンフロースイッチ内のオープンフロースイッチモジュールのフローテーブルまたはグループテーブルのためのアクションを定義するステップをさらに含む、請求項1に記載の方法。
  4. 前記監視トリガメッセージを生成するステップは、前記オープンフロースイッチのプロトコルエージェントによって報告されるべき前記メトリックを定義するステップをさらに含む、請求項1に記載の方法。
  5. 前記複数の監視応答メッセージを前記OAM機能要求と関連付けるステップは、前記監視応答メッセージ内の前記OAMデータパケットを用いて、前記監視応答メッセージを要求された前記OAM機能と照合するステップをさらに含む、請求項1に記載の方法。
  6. オープンフロースイッチを実装するネットワークエレメントによって実行される方法であって、前記オープンフロースイッチは、プロトコルエージェントと、オープンフロースイッチモジュールとを含み、前記オープンフロースイッチは、オープンフローデータフローのためのメトリックをオープンフローコントローラに報告し、前記メトリックは、前記オープンフローコントローラのOAM(operations, administration and management)機能を支援し、前記オープンフロースイッチは、OAMパケットを前記オープンフローデータフローとともに転送し、前記オープンフローデータフローのための前記メトリックを収集し、前記方法は、
    前記オープンフロースイッチによって、前記オープンフローコントローラから監視トリガメッセージを受信するステップと、
    前記プロトコルエージェントによってOAMパケットを生成するステップであって、前記OAMパケットは前記監視トリガメッセージによって定義され、
    前記OAMパケットを前記オープンフローデータフローと集約するために、前記オープンフロースイッチモジュールを経由して前記OAMパケットを転送するステップと、
    前記オープンフロースイッチモジュールにおいて前記OAMパケットを検出するステップと
    前記プロトコルエージェントによって、前記OAMパケットの検出に応じて監視応答メッセージを生成するステップと、
    前記オープンフローデータフローおよびOAMデータパケットについて、前記オープンフロースイッチモジュールから前記メトリックを収集するステップと、
    前記メトリックとともに前記監視応答メッセージを前記オープンフローコントローラに送信するステップと、
    を含む方法。
  7. 前記監視トリガメッセージ内で定義された、前記オープンフロースイッチモジュールのフローテーブルまたはグループテーブルにアクションを追加するステップをさらに含む、請求項6に記載の方法。
  8. 前記プロトコルエージェントによって、前記監視応答メッセージ内に前記OAMパケットを挿入するステップをさらに含む、請求項6に記載の方法。
  9. 前記メトリックを収集するステップは、
    フローテーブルエントリのカウンタまたはグループテーブルエントリのカウンタを読み出すステップと、
    前記フローテーブルエントリまたは前記グループテーブルエントリの実行のタイムスタンプを読み出すステップと、
    をさらに含む、請求項6に記載の方法。
  10. オープンフローコントローラを実装するネットワークエレメントであって、前記オープンフローコントローラは、オープンフローを実装するネットワークにおいてOAM機能要求にサービスし、前記オープンフローコントローラは、ネットワーク内のオープンフロースイッチのサブセットが、要求された前記OAM機能を実行するための情報を提供するために、オープンフローデータフローのためのメトリックを報告するように要求し、
    前記ネットワークエレメントは、OAM(operations, administration and management)モジュール及びメッセージ相関モジュールを含む、前記オープンフローコントローラを含み、
    前記OAMモジュールは、前記OAM機能要求によって特定されるOAM機能を実行し、監視トリガメッセージを生成することによって、前記OAM機能要求を処理するように構成され、前記監視トリガメッセージは、前記オープンフロースイッチのサブセット内のオープンフロースイッチによって実行されるべきアクションを定義し、前記アクションは、前記オープンフローデータフローのための前記メトリックを提供するためのものであり、前記OAMモジュールは、前記監視トリガメッセージを前記オープンフロースイッチに送信し、前記メッセージ相関モジュールによって提供される前記オープンフローデータフローの前記メトリックを用いて、要求された前記OAM機能を実行し、要求された前記OAM機能の結果を返すように構成され、
    前記メッセージ相関モジュールは、OAMモジュールに通信可能に連結され、前記メッセージ相関モジュールは、前記オープンフロースイッチのサブセットから複数の監視応答メッセージを受信するように構成され、前記複数の監視応答メッセージの各々は、前記オープンフローデータフローのための前記メトリックを含み、前記メッセージ相関モジュールは、前記複数の監視応答メッセージを前記OAM機能要求と関連付けるように構成される、
    ネットワークエレメント。
  11. 前記OAMモジュールは、さらに、前記オープンフロースイッチによって前記オープンフローデータフローと共に転送されるべきOAMパケットを定義するように構成される、請求項10に記載のネットワークエレメント。
  12. 前記OAMモジュールは、さらに、前記オープンフロースイッチ内のオープンフロースイッチモジュールのフローテーブルまたはグループテーブルのための処理を定義するように構成される、請求項10に記載のネットワークエレメント。
  13. 前記OAMモジュールは、さらに、前記オープンフロースイッチのプロトコルエージェントによって報告されるべき前記メトリックを定義するように構成される、請求項10に記載のネットワークエレメント。
  14. 前記OAMモジュールは、さらに、前記監視応答メッセージ内の前記OAMデータパケットを用いて、前記監視応答メッセージを要求された前記OAM機能と照合するように構成される、請求項10に記載のネットワークエレメント。
JP2014519658A 2011-07-08 2012-07-04 オープンフローのためのコントローラ駆動型のoam Active JP5981993B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161505617P 2011-07-08 2011-07-08
US61/505,617 2011-07-08
US13/279,018 2011-10-21
US13/279,018 US8964563B2 (en) 2011-07-08 2011-10-21 Controller driven OAM for OpenFlow
PCT/IB2012/053389 WO2013008134A2 (en) 2011-07-08 2012-07-04 Controller driven oam for openflow

Publications (2)

Publication Number Publication Date
JP2014525178A JP2014525178A (ja) 2014-09-25
JP5981993B2 true JP5981993B2 (ja) 2016-08-31

Family

ID=47438608

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014519658A Active JP5981993B2 (ja) 2011-07-08 2012-07-04 オープンフローのためのコントローラ駆動型のoam

Country Status (11)

Country Link
US (3) US8964563B2 (ja)
EP (2) EP2730059B1 (ja)
JP (1) JP5981993B2 (ja)
KR (1) KR101911579B1 (ja)
CN (1) CN103765823B (ja)
BR (1) BR112013033936B1 (ja)
CA (1) CA2841230C (ja)
DK (1) DK2730059T3 (ja)
HU (1) HUE025074T2 (ja)
RU (1) RU2608879C2 (ja)
WO (1) WO2013008134A2 (ja)

Families Citing this family (193)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2629463B1 (en) * 2010-10-15 2019-09-04 Nec Corporation Switching system, and monitoring centralization management method
US8971338B2 (en) * 2012-01-09 2015-03-03 Telefonaktiebolaget L M Ericsson (Publ) Expanding network functionalities for openflow based split-architecture networks
WO2013108761A1 (ja) * 2012-01-16 2013-07-25 日本電気株式会社 ネットワークシステム、及び経路情報同期方法
WO2013114166A1 (en) * 2012-02-01 2013-08-08 Nds Limited Known plaintext attack protection
WO2013128915A1 (en) * 2012-02-29 2013-09-06 Nec Corporation Communication apparatus, communication method, communication system and program
US20150003291A1 (en) * 2012-03-19 2015-01-01 Nec Corporation Control apparatus, communication system, communication method, and program
JP2015511074A (ja) * 2012-03-23 2015-04-13 日本電気株式会社 通信のためのシステム及び方法
CN103379039B (zh) * 2012-04-23 2016-12-14 华为技术有限公司 一种用于流统计的方法、装置及系统
WO2013168737A1 (ja) * 2012-05-09 2013-11-14 日本電気株式会社 通信システム、制御装置、通信方法及びプログラム
US9571523B2 (en) * 2012-05-22 2017-02-14 Sri International Security actuator for a dynamically programmable computer network
US10999171B2 (en) 2018-08-13 2021-05-04 Accedian Networks Inc. Method for devices in a network to participate in an end-to-end measurement of latency
US8830860B2 (en) 2012-07-05 2014-09-09 Accedian Networks Inc. Method for devices in a network to participate in an end-to-end measurement of latency
US10341175B2 (en) * 2012-08-01 2019-07-02 Telefonaktiebolaget L M Ericsson (Publ) Operations, administration, and management (OAM) functions in a software defined network
IN2014DN11220A (ja) * 2012-08-01 2015-10-02 Ericsson Telefon Ab L M
US8792380B2 (en) 2012-08-24 2014-07-29 Accedian Networks Inc. System for establishing and maintaining a clock reference indicating one-way latency in a data network
US9178807B1 (en) 2012-09-20 2015-11-03 Wiretap Ventures, LLC Controller for software defined networks
FI20126105L (fi) * 2012-10-25 2014-04-26 Tellabs Oy Menetelmä ja ohjauslaite ohjelmallisesti määriteltävän verkon konfiguroimiseksi
US10104004B2 (en) 2012-11-08 2018-10-16 Texas Instruments Incorporated Openflow match and action pipeline structure
US10250528B2 (en) * 2012-11-13 2019-04-02 Netronome Systems, Inc. Packet prediction in a multi-protocol label switching network using operation, administration, and maintenance (OAM) messaging
CN103001887B (zh) * 2012-11-22 2018-01-05 中兴通讯股份有限公司 一种链路保活方法、控制器及交换机
US9588874B2 (en) * 2012-12-14 2017-03-07 Microsoft Technology Licensing, Llc Remote device automation using a device services bridge
DE112012005356T5 (de) * 2012-12-18 2014-10-02 Intel Corporation Techniken in Verbindung mit Server-Transaktionslatenzinformationen
CN103067534B (zh) * 2012-12-26 2016-09-28 中兴通讯股份有限公司 一种NAT实现系统、方法及Openflow交换机
US20150365290A1 (en) * 2013-01-23 2015-12-17 Nec Corporation Network verification apparatus, network verification method and program
US9787567B1 (en) 2013-01-30 2017-10-10 Big Switch Networks, Inc. Systems and methods for network traffic monitoring
CN103078791B (zh) * 2013-01-31 2016-08-10 华为技术有限公司 Oam报文处理方法、设备及系统
KR102087226B1 (ko) * 2013-02-14 2020-03-10 삼성전자주식회사 다수의 사업자 지원을 위한 sdn 기반의 네트워크 공유 방법
GB201302984D0 (en) * 2013-02-20 2013-04-03 Nominet Uk A method of, and apparatus for, monitoring traffic in a communications network
WO2014128265A1 (en) * 2013-02-21 2014-08-28 Nec Europe Ltd. Securing network measurements using openflow
US9008080B1 (en) 2013-02-25 2015-04-14 Big Switch Networks, Inc. Systems and methods for controlling switches to monitor network traffic
JP5950019B2 (ja) 2013-03-07 2016-07-13 日本電気株式会社 通信システム、統合コントローラ、パケット転送方法及びプログラム
US9137174B2 (en) 2013-03-14 2015-09-15 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Synchronization of OpenFlow controller devices via OpenFlow switching devices
US9118984B2 (en) * 2013-03-15 2015-08-25 International Business Machines Corporation Control plane for integrated switch wavelength division multiplexing
US9769074B2 (en) 2013-03-15 2017-09-19 International Business Machines Corporation Network per-flow rate limiting
US9444748B2 (en) 2013-03-15 2016-09-13 International Business Machines Corporation Scalable flow and congestion control with OpenFlow
US9596192B2 (en) 2013-03-15 2017-03-14 International Business Machines Corporation Reliable link layer for control links between network controllers and switches
US9609086B2 (en) 2013-03-15 2017-03-28 International Business Machines Corporation Virtual machine mobility using OpenFlow
US9104643B2 (en) 2013-03-15 2015-08-11 International Business Machines Corporation OpenFlow controller master-slave initialization protocol
US9407560B2 (en) 2013-03-15 2016-08-02 International Business Machines Corporation Software defined network-based load balancing for physical and virtual networks
US9356871B2 (en) * 2013-03-15 2016-05-31 Cisco Technology, Inc. Programmable management engine for networks
US9917766B2 (en) 2013-03-15 2018-03-13 Hewlett Packard Enterprise Development Lp Loop-free hybrid network
CN104488235B (zh) * 2013-04-09 2017-08-04 华为技术有限公司 报文转发方法和网络设备
US20140301226A1 (en) * 2013-04-09 2014-10-09 Electronics And Telecommunications Research Institute Apparatus and method for network monitoring and packet inspection
US9210104B2 (en) * 2013-04-13 2015-12-08 Hei Tao Fung Switch fabric
US9025459B2 (en) * 2013-04-13 2015-05-05 Hei Tao Fung Network traffic load balancing
JP6134571B2 (ja) * 2013-04-22 2017-05-24 エヌ・ティ・ティ・コムウェア株式会社 疎通確認装置、ネットワークシステム、疎通確認方法、および疎通確認プログラム
FI20135413L (fi) 2013-04-23 2014-10-24 Tellabs Oy Menetelmä ja laite ohjelmallisesti määriteltävän verkon verkkoelementti konfigurointijärjestelmän optimoimiseksi
EP2800304A1 (en) 2013-04-30 2014-11-05 Telefonaktiebolaget L M Ericsson (Publ) Technique for configuring a Software-Defined Network
FI20135462L (fi) * 2013-05-03 2014-11-04 Tellabs Oy Ohjelmallisesti määriteltävän verkon verkkoelementti
US20140337674A1 (en) * 2013-05-10 2014-11-13 Nec Laboratories America, Inc. Network Testing
CN104158747B (zh) * 2013-05-14 2019-09-24 中兴通讯股份有限公司 网络拓扑发现方法和系统
TWI520530B (zh) 2013-05-17 2016-02-01 智邦科技股份有限公司 封包交換裝置及方法
JP6101573B2 (ja) * 2013-06-03 2017-03-22 エヌ・ティ・ティ・コミュニケーションズ株式会社 パケット転送装置、検査方法、及びプログラム
US9124506B2 (en) 2013-06-07 2015-09-01 Brocade Communications Systems, Inc. Techniques for end-to-end network bandwidth optimization using software defined networking
US9143419B2 (en) 2013-06-14 2015-09-22 Hewlett-Packard Development Company, L.P. Measuring flow activity on an openflow enabled network device
CN103354522B (zh) 2013-06-28 2016-08-10 华为技术有限公司 一种多级流表查找方法和装置
CN104252504B (zh) * 2013-06-29 2018-02-09 华为技术有限公司 数据查询方法、设备和系统
US9325630B2 (en) 2013-07-05 2016-04-26 Red Hat, Inc. Wild card flows for switches and virtual switches based on hints from hypervisors
CN104471538B (zh) * 2013-07-15 2017-09-29 华为技术有限公司 一种数据流处理方法、设备和系统
US9712431B2 (en) * 2013-07-17 2017-07-18 Kt Corporation Methods for managing transaction in software defined network
CN104348568A (zh) * 2013-07-23 2015-02-11 中兴通讯股份有限公司 时间同步处理方法及装置
WO2015024838A1 (en) * 2013-08-23 2015-02-26 Nokia Solutions And Networks Oy Subscriber tracing in communications
ES2681393T3 (es) * 2013-09-03 2018-09-12 Huawei Technologies Co., Ltd. Método, controlador, dispositivo y sistema de protección de una ruta de servicio
US9654372B2 (en) * 2013-09-06 2017-05-16 Nec Corporation Patent latency monitoring in software-defined networks
WO2015040625A1 (en) * 2013-09-23 2015-03-26 Hewlett-Packard Development Company, L.P. Troubleshooting openflow networks
US9910686B2 (en) 2013-10-13 2018-03-06 Nicira, Inc. Bridging between network segments with a logical router
WO2015061706A1 (en) * 2013-10-24 2015-04-30 University Of Houston System Location-based network routing
CN104639362A (zh) * 2013-11-15 2015-05-20 中兴通讯股份有限公司 Oam性能监控方法及装置
KR101525047B1 (ko) * 2013-11-19 2015-06-09 경북대학교 산학협력단 오픈플로우 통신 시스템 및 방법
JP6244567B2 (ja) * 2013-11-27 2017-12-13 エヌ・ティ・ティ・コムウェア株式会社 ネットワーク管理システム
JP6480452B2 (ja) * 2013-12-11 2019-03-13 華為技術有限公司Huawei Technologies Co.,Ltd. パケット処理方法および装置
US9699057B2 (en) * 2013-12-23 2017-07-04 Dell Products L.P. System and method for diagnostic packet identification
CN104734877B (zh) * 2013-12-24 2018-12-14 杭州华为数字技术有限公司 一种获取配置服务器信息的方法、装置及系统
EP2890151B1 (en) * 2013-12-26 2016-06-01 Telefónica, S.A. Method, system and apparatus for efficient multilayer optical networking
WO2015097318A1 (es) * 2013-12-26 2015-07-02 Telefonica, S.A Procedimiento y sistema para restaurar degradaciones de la qos en redes de mpls
CN103763197B (zh) * 2014-01-27 2017-04-12 杭州华三通信技术有限公司 一种流表项冲突检测装置和方法
EP3091695B1 (en) * 2014-01-29 2018-10-24 Huawei Technologies Co., Ltd. Wireless network system
JP6326503B2 (ja) * 2014-02-04 2018-05-16 ノキア ソリューションズ アンド ネットワークス オサケユキチュア 通信におけるサービスのスケーリング
US9544182B2 (en) 2014-02-19 2017-01-10 Steven Waldbusser Monitoring gateway systems and methods for openflow type networks
JPWO2015136585A1 (ja) * 2014-03-14 2017-04-06 日本電気株式会社 制御装置、制御方法および制御プログラム
WO2015143620A1 (zh) * 2014-03-25 2015-10-01 华为技术有限公司 一种数据流统计方法、系统和装置
US9893988B2 (en) 2014-03-27 2018-02-13 Nicira, Inc. Address resolution using multiple designated instances of a logical router
US9454575B2 (en) 2014-03-28 2016-09-27 Hewlett Packard Enterprise Development Lp Processing a metric of a component of a software-defined network
US9654395B2 (en) 2014-03-31 2017-05-16 Kulcloud SDN-based service chaining system
EP3116160B1 (en) * 2014-04-04 2017-11-15 Huawei Technologies Co., Ltd. Oam packet processing method, network device and network system
WO2015156832A1 (en) * 2014-04-08 2015-10-15 Hewlett Packard Development Company, L.P. Pipeline table identification
CN105099721B (zh) 2014-04-28 2018-12-07 华为技术有限公司 维护组播成员的方法及设备
US10142220B2 (en) * 2014-04-29 2018-11-27 Hewlett Packard Enterprise Development Lp Efficient routing in software defined networks
US9491031B2 (en) * 2014-05-06 2016-11-08 At&T Intellectual Property I, L.P. Devices, methods, and computer readable storage devices for collecting information and sharing information associated with session flows between communication devices and servers
US9935831B1 (en) 2014-06-03 2018-04-03 Big Switch Networks, Inc. Systems and methods for controlling network switches using a switch modeling interface at a controller
CN105207958B (zh) * 2014-06-05 2020-05-05 中兴通讯股份有限公司 一种元数据处理方法、交换机及控制器
US9600263B2 (en) * 2014-07-21 2017-03-21 Big Switch Networks, Inc. Systems and methods for performing uninterrupted network upgrades with controllers
US10270645B2 (en) 2014-07-21 2019-04-23 Big Switch Networks, Inc. Systems and methods for handling link aggregation failover with a controller
US9813312B2 (en) * 2014-07-21 2017-11-07 Big Switch Networks, Inc. Systems and methods for performing debugging operations on networks using a controller
US9503344B2 (en) * 2014-07-25 2016-11-22 Telefonaktiebolaget L M Ericsson (Publ) Data path performance measurement using network traffic in a software defined network
US9537741B2 (en) 2014-07-25 2017-01-03 Telefonaktiebolaget L M Ericsson (Publ) Data path performance measurement using test messages in a software defined network
US9531672B1 (en) * 2014-07-30 2016-12-27 Palo Alto Networks, Inc. Network device implementing two-stage flow information aggregation
US9898318B2 (en) * 2014-08-15 2018-02-20 Centurylink Intellectual Property Llc Multi-line/multi-state virtualized OAM transponder
US9479409B2 (en) 2014-08-18 2016-10-25 Telefonaktiebolaget L M Ericsson (Publ) Passive reachability measurement for inline service chaining
WO2016029345A1 (zh) * 2014-08-25 2016-03-03 华为技术有限公司 网络流的信息统计方法和装置
CN104219151B (zh) * 2014-09-19 2018-05-01 国家电网公司 一种基于SDN的Goose报文流表过滤方法
US10979332B2 (en) 2014-09-25 2021-04-13 Accedian Networks Inc. System and method to measure available bandwidth in ethernet transmission system using train of ethernet frames
CN105723657B (zh) * 2014-09-26 2020-10-09 华为技术有限公司 交换机、控制器、系统及链路质量检测方法
US10250443B2 (en) 2014-09-30 2019-04-02 Nicira, Inc. Using physical location to modify behavior of a distributed virtual network element
US10511458B2 (en) 2014-09-30 2019-12-17 Nicira, Inc. Virtual distributed bridging
WO2016070947A1 (en) * 2014-11-05 2016-05-12 Telefonaktiebolaget L M Ericsson (Publ) Transmitting residence time information in a network
WO2016077948A1 (zh) * 2014-11-17 2016-05-26 华为技术有限公司 交换机端口控制方法、装置及系统
US20160142269A1 (en) * 2014-11-18 2016-05-19 Cisco Technology, Inc. Inline Packet Tracing in Data Center Fabric Networks
CN104378299B (zh) * 2014-11-20 2017-10-17 新华三技术有限公司 流表项处理方法以及装置
US9838286B2 (en) 2014-11-20 2017-12-05 Telefonaktiebolaget L M Ericsson (Publ) Passive performance measurement for inline service chaining
US9705775B2 (en) 2014-11-20 2017-07-11 Telefonaktiebolaget Lm Ericsson (Publ) Passive performance measurement for inline service chaining
CN105721235B (zh) * 2014-12-05 2019-06-11 华为技术有限公司 一种检测连通性的方法和装置
CN105790984B (zh) * 2014-12-23 2020-11-03 中兴通讯股份有限公司 一种操作维护管理功能的配置、实现方法及转发设备
CN105790988B (zh) * 2014-12-23 2020-01-14 中兴通讯股份有限公司 操作维护管理功能的实现方法及装置
EP3249859B1 (en) * 2015-01-19 2020-02-19 Nec Corporation Communication control system, communication control method and computer program for same
US9660904B2 (en) * 2015-02-10 2017-05-23 Alcatel Lucent Method and system for inserting an openflow flow entry into a flow table using openflow protocol
US9686137B2 (en) 2015-02-10 2017-06-20 Alcatel Lucent Method and system for identifying an outgoing interface using openflow protocol
US9813323B2 (en) 2015-02-10 2017-11-07 Big Switch Networks, Inc. Systems and methods for controlling switches to capture and monitor network traffic
US9660903B2 (en) * 2015-02-10 2017-05-23 Alcatel Lucent Method and system for inserting an openflow flow entry into a flow table using openflow protocol
US9667440B2 (en) 2015-02-10 2017-05-30 Alcatel Lucent Method and system for identifying an incoming interface using openflow protocol
JP6247239B2 (ja) * 2015-02-17 2017-12-13 日本電信電話株式会社 ネットワーク検証システム、ネットワーク検証方法、フロー検査装置、及びプログラム
US9521071B2 (en) * 2015-03-22 2016-12-13 Freescale Semiconductor, Inc. Federation of controllers management using packet context
US9853874B2 (en) * 2015-03-23 2017-12-26 Brocade Communications Systems, Inc. Flow-specific failure detection in SDN networks
CN104702536B (zh) * 2015-03-26 2017-11-28 清华大学 用于无线通信中OpenFlow交换机的报文处理方法
CN104836749B (zh) * 2015-03-27 2018-10-30 清华大学 一种sdn数据平面带状态转发处理器
US9912536B2 (en) 2015-04-01 2018-03-06 Brocade Communications Systems LLC Techniques for facilitating port mirroring in virtual networks
US9596173B2 (en) 2015-04-09 2017-03-14 Telefonaktiebolaget L M Ericsson (Publ) Method and system for traffic pattern generation in a software-defined networking (SDN) system
US10361952B2 (en) 2015-06-30 2019-07-23 Nicira, Inc. Intermediate logical interfaces in a virtual distributed router environment
US9749401B2 (en) 2015-07-10 2017-08-29 Brocade Communications Systems, Inc. Intelligent load balancer selection in a multi-load balancer environment
JP6467316B2 (ja) * 2015-08-10 2019-02-13 日本電信電話株式会社 フロー検査装置、転送装置及びフロー検査方法
US10116571B1 (en) 2015-09-18 2018-10-30 Sprint Communications Company L.P. Network Function Virtualization (NFV) Management and Orchestration (MANO) with Application Layer Traffic Optimization (ALTO)
US10142212B2 (en) * 2015-10-26 2018-11-27 Keysight Technologies Singapore (Holdings) Pte Ltd On demand packet traffic monitoring for network packet communications within virtual processing environments
CN105306276B (zh) * 2015-11-13 2019-07-09 上海斐讯数据通信技术有限公司 基于软件定义网络的oam协议封装方法、系统及epon接入网
US10225169B2 (en) * 2015-11-23 2019-03-05 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for autonomously relaying statistics to a network controller in a software-defined networking network
CN106817269B (zh) * 2015-12-01 2020-03-20 中国电信股份有限公司 网络层监测方法和系统以及相关设备
WO2017097175A1 (en) 2015-12-09 2017-06-15 Huawei Technologies Co., Ltd. System, method and nodes for performance measurement in segment routing network
CN105553851A (zh) * 2015-12-10 2016-05-04 中国电子科技集团公司第三十二研究所 基于sdn的网络处理器微码和流表实现装置及方法
US10178512B2 (en) * 2015-12-18 2019-01-08 At&T Intellectual Property I, L.P. Information broadcast
US10541900B2 (en) * 2016-02-01 2020-01-21 Arista Networks, Inc. Hierarchical time stamping
WO2017142862A1 (en) * 2016-02-18 2017-08-24 Idac Holdings, Inc. Open flow functionality in a software-defined network
US10264035B2 (en) 2016-02-23 2019-04-16 At&T Intellectual Property I, L.P. Method and apparatus for architecting multimedia conferencing services using SDN
CN107566277B (zh) * 2016-06-30 2020-09-25 华为技术有限公司 拓扑确定方法、消息响应方法、控制器以及交换机
US10264040B2 (en) * 2016-08-03 2019-04-16 Big Switch Networks, Inc. Systems and methods to manage multicast traffic
CN107872343B (zh) * 2016-09-28 2022-05-06 中兴通讯股份有限公司 流量转发控制方法、装置及软件定义网络控制器
US10439932B2 (en) * 2016-10-05 2019-10-08 Avago Technologies International Sales Pte. Limited System and method for flow rule management in software-defined networks
US20180123927A1 (en) * 2016-10-27 2018-05-03 Nanning Fugui Precision Industrial Co., Ltd. Method and device for detecting network packet loss based on software defined network
CN108123813B (zh) 2016-11-28 2020-06-02 华为技术有限公司 操作、管理和维护oam数据的传输方法和装置
JP6352459B2 (ja) * 2017-01-23 2018-07-04 エヌ・ティ・ティ・コミュニケーションズ株式会社 検査制御装置、検査制御方法、及びプログラム
US10476673B2 (en) 2017-03-22 2019-11-12 Extrahop Networks, Inc. Managing session secrets for continuous packet capture systems
US10560354B2 (en) 2017-03-24 2020-02-11 Cisco Technology, Inc. End-to-end, in situ packet enrichment for network analytics
WO2018220638A1 (en) * 2017-06-01 2018-12-06 Telefonaktiebolaget Lm Ericsson (Publ) Optimizing service node monitoring in sdn
US10764176B1 (en) 2017-07-09 2020-09-01 Barefoot Networks, Inc. Compiler and hardware interactions to reuse register fields in the data plane of a network forwarding element
CN114726479A (zh) * 2017-07-18 2022-07-08 华为技术有限公司 一种检测块发送和接收的方法、网络设备和系统
CN112134655B (zh) * 2017-09-21 2023-05-09 中国移动通信有限公司研究院 Oam消息传输方法、传输设备及存储介质
US10419327B2 (en) 2017-10-12 2019-09-17 Big Switch Networks, Inc. Systems and methods for controlling switches to record network packets using a traffic monitoring network
US9967292B1 (en) 2017-10-25 2018-05-08 Extrahop Networks, Inc. Inline secret sharing
US10374827B2 (en) 2017-11-14 2019-08-06 Nicira, Inc. Identifier that maps to different networks at different datacenters
US10511459B2 (en) 2017-11-14 2019-12-17 Nicira, Inc. Selection of managed forwarding element for bridge spanning multiple datacenters
US10389574B1 (en) 2018-02-07 2019-08-20 Extrahop Networks, Inc. Ranking alerts based on network monitoring
US10270794B1 (en) 2018-02-09 2019-04-23 Extrahop Networks, Inc. Detection of denial of service attacks
JP2019201342A (ja) * 2018-05-17 2019-11-21 富士通株式会社 検証パケット生成装置、検証システム、および検証パケット生成プログラム
CN110572293B (zh) * 2018-06-06 2023-02-14 华为技术有限公司 一种数据报文的检测方法、设备及系统
US11005777B2 (en) * 2018-07-10 2021-05-11 At&T Intellectual Property I, L.P. Software defined prober
US10284429B1 (en) 2018-08-08 2019-05-07 Cisco Technology, Inc. System and method for sharing subscriber resources in a network environment
US10411978B1 (en) 2018-08-09 2019-09-10 Extrahop Networks, Inc. Correlating causes and effects associated with network activity
US11558288B2 (en) * 2018-09-21 2023-01-17 Cisco Technology, Inc. Scalable and programmable mechanism for targeted in-situ OAM implementation in segment routing networks
US11537541B2 (en) * 2018-09-28 2022-12-27 Xilinx, Inc. Network interface device and host processing device
US11570045B2 (en) 2018-09-28 2023-01-31 Xilinx, Inc. Network interface device
US11012411B2 (en) 2018-11-05 2021-05-18 Xilinx, Inc. Network interface device
US11909650B2 (en) * 2019-02-22 2024-02-20 Juniper Networks, Inc. Internet protocol operations and management option
US10965702B2 (en) 2019-05-28 2021-03-30 Extrahop Networks, Inc. Detecting injection attacks using passive network monitoring
US10742530B1 (en) 2019-08-05 2020-08-11 Extrahop Networks, Inc. Correlating network traffic that crosses opaque endpoints
US11388072B2 (en) 2019-08-05 2022-07-12 Extrahop Networks, Inc. Correlating network traffic that crosses opaque endpoints
US10742677B1 (en) 2019-09-04 2020-08-11 Extrahop Networks, Inc. Automatic determination of user roles and asset types based on network monitoring
CN113542008A (zh) * 2019-09-24 2021-10-22 华为技术有限公司 一种网络的oam方法及装置
CN111211999A (zh) * 2019-11-28 2020-05-29 中国船舶工业系统工程研究院 一种基于ovs的实时虚拟网络的实现方法
US11240154B2 (en) * 2020-01-14 2022-02-01 Cisco Technology, Inc. Dynamic hardware forwarding pipeline compression
US11283699B2 (en) 2020-01-17 2022-03-22 Vmware, Inc. Practical overlay network latency measurement in datacenter
US11356333B2 (en) * 2020-01-24 2022-06-07 Arista Networks, Inc. Predicting forwarding destinations for packets
US11570090B2 (en) 2020-07-29 2023-01-31 Vmware, Inc. Flow tracing operation in container cluster
US11558426B2 (en) 2020-07-29 2023-01-17 Vmware, Inc. Connection tracking for container cluster
US11463466B2 (en) 2020-09-23 2022-10-04 Extrahop Networks, Inc. Monitoring encrypted network traffic
EP4218212A1 (en) 2020-09-23 2023-08-02 ExtraHop Networks, Inc. Monitoring encrypted network traffic
US11444865B2 (en) * 2020-11-17 2022-09-13 Vmware, Inc. Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN
US11736436B2 (en) 2020-12-31 2023-08-22 Vmware, Inc. Identifying routes with indirect addressing in a datacenter
US11336533B1 (en) 2021-01-08 2022-05-17 Vmware, Inc. Network visualization of correlations between logical elements and associated physical elements
US11146468B1 (en) * 2021-03-08 2021-10-12 Pensando Systems Inc. Intelligent export of network information
US11687210B2 (en) 2021-07-05 2023-06-27 Vmware, Inc. Criteria-based expansion of group nodes in a network topology visualization
US11711278B2 (en) 2021-07-24 2023-07-25 Vmware, Inc. Visualization of flow trace operation across multiple sites
US11929917B2 (en) * 2021-07-30 2024-03-12 Cisco Technology, Inc. Systems and methods for determining problematic paths between interest points in a multi-cloud environment
US11677645B2 (en) 2021-09-17 2023-06-13 Vmware, Inc. Traffic monitoring
US11296967B1 (en) 2021-09-23 2022-04-05 Extrahop Networks, Inc. Combining passive network analysis and active probing
US11843606B2 (en) 2022-03-30 2023-12-12 Extrahop Networks, Inc. Detecting abnormal data access based on data similarity

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8249015B2 (en) * 2005-11-10 2012-08-21 Interdigital Technology Corporation Method and system for media independent handover using operation, administration and maintenance protocol
US8184549B2 (en) * 2006-06-30 2012-05-22 Embarq Holdings Company, LLP System and method for selecting network egress
US20080101241A1 (en) 2006-10-31 2008-05-01 Nortel Networks Limited Ethernet OAM at intermediate nodes in a PBT network
JP2008131346A (ja) * 2006-11-21 2008-06-05 Oki Electric Ind Co Ltd Ipネットワークシステム
JPWO2010064532A1 (ja) * 2008-12-02 2012-05-10 日本電気株式会社 通信ネットワーク管理システム、方法、プログラム、及び管理計算機
JP5408243B2 (ja) * 2009-03-09 2014-02-05 日本電気株式会社 OpenFlow通信システムおよびOpenFlow通信方法
WO2010143607A1 (ja) * 2009-06-08 2010-12-16 日本電気株式会社 通信ネットワーク管理システム、方法、及び管理計算機
CN104113477A (zh) 2009-11-18 2014-10-22 日本电气株式会社 动态路由分支系统和动态路由分支方法
WO2011074516A1 (ja) * 2009-12-15 2011-06-23 日本電気株式会社 ネットワークシステムとその制御方法、及びコントローラ
JP5493926B2 (ja) * 2010-02-01 2014-05-14 日本電気株式会社 インタフェース制御方式、インタフェース制御方法、及びインタフェース制御用プログラム
CN102823194A (zh) 2010-03-31 2012-12-12 瑞典爱立信有限公司 操作、监管和管理代理和用于处理操作、监管和管理消息的方法
US8503307B2 (en) * 2010-05-10 2013-08-06 Hewlett-Packard Development Company, L.P. Distributing decision making in a centralized flow routing system
WO2011144495A1 (en) 2010-05-19 2011-11-24 Telefonaktiebolaget L M Ericsson (Publ) Methods and apparatus for use in an openflow network

Also Published As

Publication number Publication date
HUE025074T2 (en) 2016-01-28
RU2608879C2 (ru) 2017-01-25
US9306819B2 (en) 2016-04-05
EP2863585A1 (en) 2015-04-22
US20150319057A1 (en) 2015-11-05
US9112774B2 (en) 2015-08-18
US8964563B2 (en) 2015-02-24
CN103765823B (zh) 2016-12-07
JP2014525178A (ja) 2014-09-25
WO2013008134A2 (en) 2013-01-17
WO2013008134A3 (en) 2013-06-27
BR112013033936B1 (pt) 2022-04-05
CA2841230C (en) 2019-05-07
KR20140060282A (ko) 2014-05-19
CA2841230A1 (en) 2013-01-17
RU2014104251A (ru) 2015-08-20
BR112013033936A2 (pt) 2017-02-14
EP2730059A2 (en) 2014-05-14
DK2730059T3 (en) 2015-07-20
EP2863585B1 (en) 2016-05-04
CN103765823A (zh) 2014-04-30
US20150098339A1 (en) 2015-04-09
US20130010600A1 (en) 2013-01-10
KR101911579B1 (ko) 2018-10-24
EP2730059B1 (en) 2015-04-22

Similar Documents

Publication Publication Date Title
JP5981993B2 (ja) オープンフローのためのコントローラ駆動型のoam
US11750483B2 (en) In-line performance monitoring
EP2544409B1 (en) Generic monitoring packet handling mechanism for OpenFlow 1.1
WO2017206841A1 (zh) 一种网络设备的服务质量检测方法和装置
US9847925B2 (en) Accurate measurement of distributed counters
WO2020228398A1 (zh) 一种报文的检测方法、设备及系统
CN104509032A (zh) 软件定义的网络中的操作、监管、以及管理(oam)功能
US10623278B2 (en) Reactive mechanism for in-situ operation, administration, and maintenance traffic
WO2017000802A1 (zh) 一种业务故障定位方法及装置
CN105991338A (zh) 网络运维管理方法及装置
CN112532468B (zh) 网络测量系统、方法、设备及存储介质
US10904123B2 (en) Trace routing in virtual networks
Ren et al. A reactive traffic flow estimation in software defined networks
WO2024131771A1 (zh) 业务质量检测方法、装置、节点设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160622

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160719

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160729

R150 Certificate of patent or registration of utility model

Ref document number: 5981993

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250