JP7208008B2 - ネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するためのシステムおよび方法 - Google Patents

ネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するためのシステムおよび方法 Download PDF

Info

Publication number
JP7208008B2
JP7208008B2 JP2018549514A JP2018549514A JP7208008B2 JP 7208008 B2 JP7208008 B2 JP 7208008B2 JP 2018549514 A JP2018549514 A JP 2018549514A JP 2018549514 A JP2018549514 A JP 2018549514A JP 7208008 B2 JP7208008 B2 JP 7208008B2
Authority
JP
Japan
Prior art keywords
key
lookup
network
data packet
network device
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
JP2018549514A
Other languages
English (en)
Other versions
JP2020502829A5 (ja
JP2020502829A (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
Application filed by オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2020502829A publication Critical patent/JP2020502829A/ja
Publication of JP2020502829A5 publication Critical patent/JP2020502829A5/ja
Application granted granted Critical
Publication of JP7208008B2 publication Critical patent/JP7208008B2/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7452Multiple parallel or consecutive lookup operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

著作権表示
この特許文献の開示の一部は、著作権保護の対象となる資料を含む。この特許文献または特許開示は特許商標庁の特許ファイルまたは記録に記載されているため、著作権保有者は、何人によるその複写複製に対して異議はないが、その他の場合には如何なるときもすべての著作権を保有する。
発明の分野:
この発明の実施形態は概して高性能ネットワークに関し、特に、高性能ネットワークにおけるネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するためのシステムおよび方法に関する。
背景:
高性能ネットワークは、異機種ネットワーク、たとえばイーサネット(登録商標)データセンターおよびインフィニバンド(InfiniBand)データセンターで構築可能であり、イーサネットゲートウェイがこれら2つのタイプのネットワーク間をつないでいる。業界では、高性能ネットワークにおける既存のネットワークの上にオーバーレイネットワークが作成されることを可能にする技術が進化してきた。オーバーレイネットワークは、データセンターが、ネットワークオーバーレイプロトコルを使用して、既存のネットワークの制限を超えてスケーリングすることを可能にする。
高性能ネットワークにおけるデータセンターの、またはデータセンターでのアプリケーションのスケーリングは、より新しいネットワークオーバーレイプロトコルの出現により、追加のパケット構文解析および処理の複雑性を要する。スケーリングされたデータセンターのより高いスループット要件についていくには、いくつかのネットワークプロトコルレベルオフロードを最も低いハードウェアコンポーネントのレベルで行なう必要がある。たとえば、ネットワークプロトコルレベルオフロードは、ネットワークインターフェイスカード(network interface card:NIC)、スイッチ、またはNICとスイッチとの組合せ(作業はNICとスイッチとの間で共有される)によって行なわれ得る。オフロードエンジンがどこに存在するかに依存して、オフロードエンジンは、より高いスループットおよび短い待ち時間が達成され得るように、異なるように最適化される必要がある。
また、クラウドコンピューティングをサポートするために高性能ネットワークがますます使用されるにつれて、ますます多くの異なるタイプのオーバーレイプロトコルが、高性能ネットワークにおいて使用されるかもしれない。
そのため、フレームワークをサポートするハードウェアコンポーネントへの変更を必要とすることなく、さまざまなオーバーレイプロトコルをサポートするようにプログラムされ得るパケット処理フレームワークを提供することが有利であろう。また、パケット処理フレームワークがNICで使用されようと、スイッチで使用されようと、またはNICおよびスイッチの双方で使用されようと、パケット処理フレームワークが追加の最適化なしで高いスループットおよび短い待ち時間を有することも有利であろう。
概要:
一実施形態によれば、ここに説明されるのは、高性能ネットワークにおけるネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するためのシステムおよび方法である。パケット分類フレームワークは、キー合成プリミティブと、キー合成規則プリミティブと、一致アクション論理構造と、次のアクションプリミティブとを含む、複数のハードウェアベースのプログラマブル分類プリミティブを含み得る。これらの分類プリミティブは、データパケットの処理が完了するまで、ある分類プリミティブからの結果が次の分類プリミティブへ供給されることにより、論理的につなぎ合わされ得る。分類フレームワークは、ステートマシンを使用してデータパケット処理の状態を追跡し、データパケットの処理状態に基づいて分類プリミティブの挙動を動的に調節することができる。プログラマブル分類プリミティブにより、分類フレームワークは、ハードウェア変更をまったく必要とすることなく、複数のプロトコルのデータパケットを再帰的に構文解析することができる。
一実施形態に従った、高性能ネットワークにおけるネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するためのシステムを示す図である。 一実施形態に従った、高性能ネットワークにおけるネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するためのシステムをさらに示す図である。 一実施形態に従った、高性能ネットワークにおけるネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するためのシステムをさらに示す図である。 一実施形態に従った、高性能ネットワークにおけるネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するためのシステムをさらに示す図である。 一実施形態に従った、高性能ネットワークにおけるネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するための方法を示す図である。 一実施形態に従った、例示的な高性能ネットワークを示す図である。
詳細な説明:
高性能ネットワークでは、パケット分類とは、同じフローに属するすべてのデータパケットが予め規定されたルールに従い、同じ態様で処理されるように、データパケットを「フロー」へと類別するプロセスを指す。たとえば、パケット分類は、ファイアウォールおよびサービス品質といった非ベストエフォート型サービスにとって必要とされ得る。
上述のように、クラウドコンピューティングへのサポートは、高性能ネットワークにおけるデータ分類に、構文解析および処理の複雑性を追加し得る。
構文解析および処理の複雑性に対処するために、ここに説明されるのは、キー合成プリミティブと、キー合成規則プリミティブと、一致アクション論理構造と、次のアクションプリミティブとを含み得る、プログラマブルパケット分類フレームワークである。これらの分類プリミティブは、データパケットの処理が完了するまで、ある分類プリミティブからの結果が次の分類プリミティブへ供給されることにより、論理的につなぎ合わされ得る。各分類プリミティブは、ネットワークデバイスにおける1組のアセンブリ命令であり得る。
ここに使用されるように、一実施形態によれば、キー合成プリミティブは、前の処理プリミティブまたは構造から渡されたキー合成規則に基づいて一致アクション論理構造用のルックアップキーを動的に作成するために使用され得る。
現在処理中のデータパケットのために、さまざまなバイトが選択され、キーアレイ構造になるよう連結され得る。バイト選択はキー合成規則に基づいていてもよく、それらは、データパケットにおけるバイト位置を指す索引を有するバイト選択アレイを特定することができる。索引は、データパケットの開始位置、または処理中の現在のネットワーク層の開始位置に関連していてもよく、もしくは、一致規則の結果導き出されてもよい。
一実施形態によれば、各ルックアップキーは、一致アクションテーブルにおける一致アクションルックアップのためにルックアップキーが使用されるコンテキストを判断するために使用される一意識別子(ID)に関連付けられ得る。各ルックアップキーはまた、サイズにも関連付けられてもよく、それは、ルックアップキーを構築するためにデータパケットのヘッダから選択されるべき関連バイトの数を判断するために使用され得る。
また、ここに使用されるように、一実施形態によれば、キー合成規則プリミティブは、ルックアップキーIDと、バイト選択アレイと、ルックアップキーの長さと、テーブルIDとを含む構造を表わし得る。一致アクションテーブルにおける各ルックアップは、データパケット処理の次のループ用のルックアップキーを構築する際に使用するための上述の構造をもたらし得る。キー合成規則構造/プリミティブは、一致アクションテーブルにおける各一致に従って、または、予めプログラムされた別の構造へのポインタを使用することによって間接的に、特定され得る。
一実施形態によれば、パケット処理パイプラインにおけるまさしく最初のループのために、同様の構造がデフォルトとして利用可能であり得る。たとえば、デフォルト構造は、ネットワークデバイス上の複数の物理的入口ポートから、到着ポートに基づいて導き出され得る。
また、ここに使用されるように、一実施形態によれば、一致アクション論理構造は、1つ以上の三値連想メモリ(ternary content-addressable memory:TCAM)と、1つ以上のルックアップテーブルとを、内部に含み得る。
上述のように、ルックアップキーを構築するために使用されるキー合成規則プリミティブにおいて、テーブルIDが特定され得る。テーブルIDに基づいて、対応するルックアップテーブルが、キー一致ルックアップのために選択され得る。選択されたルックアップテーブルにおいてキー一致が検出されるたびに、1つ以上のアクションがキー一致に一致させられ得る。選択されたルックアップテーブルにおける1つ以上のエントリがルックアップキーと一致し得る場合、一意的なアクションを判断するために、優先順位規則に基づいたTCAM構造が使用され得る。
さらに、ここに使用されるように、次のアクションプリミティブが、上述のようにキーIDと次のテーブルIDとを含み得るキー合成規則構造を特定することができる。次のテーブルIDは、現在のルックアップテーブル、または異なるルックアップテーブルを表わし得る。
一実施形態によれば、次のアクションプリミティブは、ドロップする、転送する、リダイレクトするといった、パケット構文解析一致結果に特有のアクションと、より多くのフィールドを探すことによって、パケット処理を続ける必要があるか、または終了可能かを特定する、終了フラグまたは継続フラグとを含み得る。
加えて、次のアクションプリミティブは、ルックアップテーブルにおける特定のキー一致のために一致アクションテーブルにおいて複数の記録が利用可能であり得る場合に最終アクションを判断するために、パケット処理エンジンまたはパーサのための1つ以上の優先順位規則を特定することができる。
上述のパケット分類プリミティブにより、プログラマブルでフレキシブルなパケット分類フレームワークが、ネットワークデバイスにおいて提供され得る。同じルックアップテーブルを、異なるルックアップキーを用いて複数回使用することができるため、TCAMの効率的な使用が達成され得る。また、パケット分類フレームワークは、再帰的TCAM/テーブルルックアップに基づいて微粒子フローベースでより深いパケット検査を行なうために使用され得る。
一実施形態によれば、分類フレームワークは、ステートマシンを使用してデータパケット処理の状態を追跡し、データパケットの処理状態に基づいて分類プリミティブの挙動を動的に調節することができる。
プログラマブル分類プリミティブにより、分類フレームワークは、ハードウェア変更をまったく必要とすることなく、複数のプロトコルのデータパケットを構文解析することができる。また、パケット分類フレームワークは、基盤ネットワーキング技術から独立しており、インフィニバンドまたはイーサネットまたは別のタイプのネットワーキング技術に一律に適用され得る。
図1は、一実施形態に従った、高性能ネットワークにおけるネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するためのシステムを示す。
図1に示すように、ネットワークデバイス101、たとえば、インフィニバンドまたはイーサネットにおけるネットワークインターフェイスカード(NIC)またはスイッチは、複数のTCAM、たとえば、TCAM A 117、TCAM B 118、TCAM C 119、およびTCAM D 120と、マイクロプロセッサ103と、静的ランダムアクセスメモリ(static random-access memory:SRAM)108とを含み得る。
一実施形態によれば、TCAM A、TCAM B、およびTCAM Cの各々は、ルックアップテーブルを含み得る。TCAM BおよびTCAM Cにおけるルックアップテーブルは、図面に示されていない。TCAM Aにおけるルックアップテーブル(たとえばルックアップテーブルA 121)は、複数のフィールド/列と、複数の事前入力された記録/エントリとを含み得る。
一実施形態によれば、ルックアップテーブルAにおける複数のフィールド/列は、現在の状態127と、キーID129と、キー131と、キーマスク132とを含み得る。キーフィールドにおける各値は、オーバーレイプロトコルにおける1つ以上のヘッダフィールドに対応するバイトを含み得る。たとえば、キーフィールドにおけるある値は、仮想拡張可能LAN(Virtual Extensible LAN:VXLAN)のデータパケットにおける外部IPヘッダと、1つ以上の追加のヘッダフィールドとを表わすバイトであり得る。
一実施形態によれば、現在の状態フィールドにおける各値は、キーがどのプロトコル層に関連付けられているかを示すバイトであり得る。たとえば、現在の状態についてのある値は、L3レイヤーであり得る。
図1にさらに示すように、ネットワークデバイス101は、データパケット(たとえばデータパケット105)が受信され得る複数の入口ポート107を含み得る。SRAM108は、パケットパーサ109と、ステートマシン111と、キー合成プリミティブ141とを含み得る。それらは各々、アセンブリ命令で記述されたプログラムであり得る。
一実施形態によれば、ステートマシンは、データパケットの処理状態を追跡できる。パケットパーサは、データパケット105を受信し、処理状態を用いてステートマシンを更新するためにステートマシンと通信し、または、ステートマシンから処理状態を受信することができる。パケットパーサはさらに、キー合成プリミティブ141を呼び出し、デフォルトキー合成規則(図1には図示せず)、または、TCAM D120における一致アクションテーブル125から構成されたキー合成規則構造136からの規則に基づいて、ルックアップキー140を構築することができる。
一実施形態によれば、ルックアップキーは、デフォルトキー合成規則、または、一致アクションテーブルにおける一致に基づくキー合成規則によって特定されるようにルックアップテーブル内へと提示され得る。特定されたルックアップテーブルにおけるルックアップキーとの記録一致は、一致アクションテーブル125における記録一致をもたらし得る。
一実施形態によれば、一致アクションテーブルにおける一致は、1つ以上のアクション、たとえば、次のルックアップテーブルを続けること、終了すること、および他の処理ステップを含み得る。これらのアクションに対応するのは、パケット処理の次のループ用のキー合成規則構造を構築する際に使用するための複数のフィールドであり得る。複数のフィールドは、次のキー(ルックアップキー)133と、次のルックアップキーを構築するためにどのバイトを選択すべきかを示すキーアレイ選択135と、次のルックアップテーブル用のID137とを含み得る。
一実施形態によれば、TCAM A、TCAM B、TCAM C、およびTCAM Dの各々は、頻繁に使用されるフローまたは性能に敏感なフローに関連付けられたフローエントリを格納するように構成された1つ以上のハードウェアベースのパーティションと、分類リソーススケーラビリティのために1つ以上の追加メモリに格納された大型ルックアップテーブルにアクセスするためのファームウェアベースのパーティションとを有する、複数のレベルの分類リソースパーティションを含む、分類リソース階層構造の一部であり得る。まず、ハードウェアベースのパーティションにおけるフローエントリ一致の検索のために、ルックアップキーが使用され得る。ミスがある場合、さらに他の検索のために、ルックアップキーはファームウェアベースのパーティションへ提示され得る。ファームウェアベースのレベルからの結果が、さらに他の処理のために、ハードウェアベースのパーサへ発送し返され得る。フローエントリは、フローエントリの利用に基づいて、パーティション管理ブロックによってルックアップテーブル間を動かされ得る。
一実施形態によれば、分類リソースのハードウェアベースのパーティションは、レベル1パーティションにおける1つ以上のTCAMと、レベル2パーティションにおける1つ以上のハッシュテーブルとを含み得る。ファームウェアベースのパーティションは、分類リソースのレベル3パーティションを表わすことができ、複数のネットワーク処理要素(processing element:PE)を含む埋込み型プロセッササブシステムを含み得る。各PEは、完全なマイクロプロセッサ、またはマイクロコントローラ、またはステートマシンベースのハードウェアエンジンに基づき得る。
一実施形態によれば、パーティション管理ブロックは、所与の性能目標が満たされ得るように、分類リソースの各パーティションにおけるルックアップテーブルおよびフローエントリを効率的に管理するための、ハードウェアベースのアクションとファームウェアベースのアクションとの混合であり得る。システムは、ルックアップテーブルに関連する管理アクションを容易にするように複数の機能をサポートすることができる。
分類リソース階層構造は、TCAMと、ハッシュテーブルと、外部メモリまたは遠隔メモリに接続されたファームウェアベースのサブシステムとの階層構造として区分された大量の分類リソースを、各レベルでキャッシングして管理し、スケーリングするために使用され得る。階層構造における各レベルはフローエントリを格納でき、スループット、待ち時間、および消費電力の点で異なり得る。ここに説明されるフレームワークは、インフィニバンドまたはイーサネットなどの基盤ネットワーキング技術のタイプから独立しており、複数のネットワーク技術に一律に適用され得る。
一実施形態によれば、上述のように、複数のハードウェアベースのプログラマブル分類プリミティブは、データパケットの処理が完了するまで、ある分類プリミティブからの結果が次の分類プリミティブへ供給されることにより、論理的につなぎ合わされ得る。
図2は、一実施形態に従った、高性能ネットワークにおけるネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するためのシステムをさらに示す。
図2に示すように、パケットパーサはデータパケット221を受信できる。この特定の例示では、データパケットはVXLANデータパケットである。システムは、VXLANフォーマットのデータパケットに限定されておらず、複数の他のプロトコルまたは他のフォーマットのデータパケットを構文解析するために同様に使用され得る。
たとえば、システムは、最短経路ブリッジング(Shortest Path Bridging:SPB)、たくさんのリンクの透過的相互接続(Transparent Interconnection of Lots of Link:TRILL)、ロケータ/ID分離プロトコル(Locator/ID Separation Protocol:LISP)、汎用ルーティングカプセル化を使用するネットワーク仮想化(Network Virtualization using Generic Routing Encapsulation:NVGRE)、および、ステートレス・トランスポート・トンネリング(Stateless Transport Tunnelling:STT)というプロトコルに基づいてデータパケットを構文解析するために使用され得る。
一実施形態によれば、VXLANは、レイヤー3ネットワーク上のレイヤー2オーバーレイカプセル化プロトコルである。VXLANは、MACアドレス・イン・ユーザ・データグラム・プロトコル(MAC Address-in-User Datagram Protocol:MAC-in-UDP)カプセル化を使用して、レイヤー2セグメントをデータセンターネットワーク中に拡張するための手段を提供することができる。VXLANは、共有される共通の物理インフラストラクチャ上でフレキシブルで大規模なマルチテナント環境をサポートするためのソリューションを提供する。物理データセンターネットワーク上のトランスポートプロトコルは、IPプラスUDPである。
図2に示すようなVXLANデータパケットでは、元のレイヤー2フレーム231が追加されたVXLANヘッダ229を有しており、外部IPヘッダ225およびUDPヘッダ227によって示されるようなUDP-IPパケットに配置される。このMAC-in-UDPカプセル化とレイヤー2外部MACヘッダ223とにより、VXLANは、レイヤー3ネットワーク上にレイヤー2ネットワークをトンネリングすることができる。
一実施形態によれば、VXLANデータパケットは、24ビットのVNIDと複数の予約ビットとからなる8バイトのVXLANヘッダを含み得る。VXLANヘッダは、元のイーサネットフレームとともに、UDPペイロードに配置され得る。24ビットのVNIDは、レイヤー2セグメントを識別するために、および、セグメント間のレイヤー2絶縁を維持するために使用され得る。VNIDにおける全24ビットにより、VXLANは1600万個のLANセグメントをサポートすることができる。
一実施形態によれば、パケットパーサがVXLANデータパケットを受信すると、それは、1つ以上のレイヤー2ヘッダが処理されるべきであることを示す状態235を用いてステートマシンを更新することができる。デフォルトキー合成規則構造243が、到着ポートに基づいて導き出され得る。パケットパーサは、キー合成プリミティブを呼び出し(233)、TCAMベースのルックアップテーブルA 121でルックアップを行なう際に使用するためのルックアップキー240を構築することができる。
たとえば、デフォルトキー合成規則構造は、キーID=0;長さ=8;キーアレイ選択=バイト:0-5、バイト16-17という情報を含み得る。
一実施形態によれば、デフォルトテーブルID(たとえばルックアップテーブルA)および上述の情報が、キー{port, mac da, vlan}を構築するために使用され得る。ここで、「port」は、VXLANデータパケットが受信されるポート番号であり、「mac da」は、媒体アクセス制御(media access control:MAC)宛先アドレスであり、「vlan」は、バーチャルLANのタイプである。
図2にさらに示すように、ルックアップテーブルAにおけるルックアップキーとの一致は、一致アクションテーブルにおける一致をもたらし得る。
たとえば、一致アクションテーブルにおける一致は、1つ以上のアクション215、たとえば「ユーザキー#2&継続;次のオフセット=0」と、次のテーブルID219、たとえば「ルックアップテーブルB」と、キーアレイ選択211、たとえば、L3バイト:13-20、11;L4バイト:0-3と、次のキーID213、たとえば、キー#2とを含み得る。上述の情報は、データパケット処理の次のループで使用するためのキー合成規則構造236を構築するために使用され得る。
一実施形態によれば、ルックアップテーブルにおける一致がいったん見つかると、アクションを実行し、キー合成規則構造を構築するために、TCAMにおける1つ以上の命令セットがトリガされ得る。
図3は、一実施形態に従った、高性能ネットワークにおけるネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するためのシステムをさらに示す。
一実施形態によれば、データパケット処理の次のループは、ステートマシンにおけるL3レイヤーの状態335によって反映されるようなL3レイヤー処理である。パケットパーサは、キー合成プリミティブを呼び出し(333)、図2で説明されたようにキー合成規則構造236を使用してルックアップキー340を構築することができる。
図3に示すように、ルックアップキー340は{id2, ipsa, ipda, proto, sport, dport}であってもよく、それはバイトアレイであり得る。ルックアップキーは、IPソースアドレスについての「ipsa」と、IP宛先アドレスについての「ipda」と、UDPなどのプロトコルについての「proto」と、vxlanなどの宛先ポートについてのdportとを含み得る。「ipsa」、「ipda」、「proto」、「sport」、および「dport」は、ルックアップキーを構築するために使用されるキー合成規則構造236のキーアレイ選択における索引を使用して、VXLANデータパケットのヘッダから選択された情報を表わし得る。「id2」は、キー合成プリミティブによって挿入されたルックアップキーのIDである。
一実施形態によれば、あるルックアップキーのIDが、そのルックアップキーを表わすバイトアレイに含まれる場合、そのルックアップキーは、データパケット処理の直前のループで使用されたルックアップテーブルと同じルックアップテーブルへ提示され得る。
たとえば、直前のループはルックアップテーブルAを使用しているため、ルックアップキー340は、一致のために再度ルックアップテーブルAへ提示され得る。
一実施形態によれば、ルックアップテーブルAにおけるルックアップキー一致は、一致アクションテーブルにおける一致をもたらし得る。
図3に示すように、一致アクションテーブルにおける一致は、1つ以上のアクション315、たとえば「ユーザキー#3&ループ;次のオフセット=8」と、次のテーブルID319、たとえば「ルックアップテーブルA」と、キーアレイ選択311、たとえば、バイト:5-7、8-13、23-32と、次のキーID313、たとえば、キー#3とを含み得る。上述の情報は、データパケット処理の次のループで使用するためのキー合成規則構造336を構築するために使用され得る。
図4は、一実施形態に従った、高性能ネットワークにおけるネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するためのシステムをさらに示す。
図4に示すように、パケットパーサは、キー合成プリミティブを呼び出し(433)、図3で構成されたキーの合成規則構造に基づいて新たなルックアップキー440を構築することができる。
一実施形態によれば、ルックアップキー440は、キーID「id3」と、データパケットにおけるバイト位置を指す索引を有するバイト選択アレイに基づいてデータパケット221のヘッダから選択された複数の他のヘッダフィールドとを含み得る。バイトアレイによって表わされるルックアップキー440は当該キーのIDを含むため、ルックアップキーは、直前のループ(すなわち、図3で説明されたループ)で使用されたのと同じルックアップテーブル(すなわち、ルックアップテーブルA 121)へ提示され得る。
図4に示すように、図4のパケットパーサ109は、データパケット221の元のL2フレームでヘッダフィールドを処理することができ、それは、ステートマシン111における内部L2レイヤーの状態435によって示される。
一実施形態によれば、ルックアップキー440がルックアップテーブルAへ提示され、ルックアップテーブルにおける記録と一致させられた後で、次のルックアップキーを合成する際に使用するために次のキーID413、次のキー用のキーアレイ選択411、および次のテーブルID419からキー合成規則構造626を構築することによって、元のL2フレーム231の再帰的構文解析を開始するために、一致アクションテーブルにおけるアクション415がトリガされ得る。
一実施形態によれば、データパケット構文解析の再帰的性質は、データパケットが完全に解析されるまで、または、パケット処理の次の段階を特定するアクション、たとえばパケット処理を終了することに遭遇した場合に、継続し得る。
図5は、一実施形態に従った、高性能ネットワークにおけるネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するための方法を示す。
図5に示すように、ステップ511で、高性能ネットワークにおけるネットワークデバイスが提供される。ネットワークデバイスは、キー合成プリミティブと、キー合成規則プリミティブと、1つ以上のルックアップテーブルと、一致アクションテーブルとを含む、複数の分類プリミティブを含む。
ステップ513で、キー合成プリミティブによって、ルックアップキーが、キー合成規則プリミティブに基づいて構築される。
ステップ515で、ネットワークデバイスにおけるルックアップテーブルにおいて、ルックアップキーとの一致が検出される。
ステップ517で、一致アクションテーブルにおける一致に関連付けられた1つ以上のアクションがトリガされる。一致アクションテーブルにおける一致は、次のルックアップキーを構築する際に使用するための情報に関連付けられている。
インフィニバンド(登録商標)
インフィニバンド(登録商標)(IB)は、上述のシステムおよび方法が使用され得る例示的な高性能ネットワークである。
インフィニバンド(登録商標)は、インフィニバンド・トレード・アソシエーション(InfiniBandTM Trade Association)によって開発されたオープン標準無損失ネットワーク技術である。この技術は、特に高性能コンピューティング(high-performance computing:HPC)アプリケーションおよびデータセンタを対象とする、高スループットおよび短い待ち時間の通信を提供するシリアルポイントツーポイント全二重相互接続(serial point-to-point full-duplex interconnect)に基づいている。
インフィニバンド・アーキテクチャ(InfiniBandTM Architecture:IBA)は、2層トポロジー分割をサポートする。より低い層では、IBネットワークはサブネットと称され、1つのサブネットは、スイッチおよびポイントツーポイントリンクを使用して相互接続される一組のホストを含み得る。より高いレベルでは、1つのIBファブリックは、ルータを使用して相互接続され得る1つ以上のサブネットを構成する。
1つのサブネット内で、ホストは、スイッチおよびポイントツーポイントリンクを使用して接続され得る。加えて、サブネットにおける指定されたデバイス上に存在する、1つのマスター管理エンティティ、すなわちサブネットマネージャ(subnet manager:SM)があり得る。サブネットマネージャは、IBサブネットを構成し、起動し、維持する役割を果たす。加えて、サブネットマネージャ(SM)は、IBファブリックにおいてルーティングテーブル計算を行なう役割を果たし得る。ここで、たとえば、IBネットワークのルーティングは、ローカルサブネットにおけるすべての送信元と宛先とのペア間の適正な負荷分散を目標とする。
サブネット管理インターフェイスを通して、サブネットマネージャは、サブネット管理パケット(subnet management packet:SMP)と称される制御パケットを、サブネット管理エージェント(subnet management agent:SMA)と交換する。サブネット管理エージェントは、すべてのIBサブネットデバイス上に存在する。SMPを使用することにより、サブネットマネージャは、ファブリックを発見し、エンドノードおよびスイッチを構成し、SMAから通知を受信することができる。
一実施形態によれば、IBネットワークにおけるサブネット内ルーティングは、スイッチに格納されたLFTに基づき得る。LFTは、使用中のルーティングメカニズムに従って、SMによって計算される。サブネットでは、エンドノードおよびスイッチ上のホストチャネルアダプタ(Host Channel Adapter:HCA)ポートが、ローカル識別子(local identifier:LID)を使用してアドレス指定される。LFTにおける各エントリは、宛先LID(destination LID:DLID)と出力ポートとからなる。テーブルにおけるLIDごとに1つのエントリのみがサポートされる。パケットがあるスイッチに到着すると、その出力ポートは、そのスイッチのフォワーディングテーブルにおいてDLIDを探すことによって判断される。パケットはネットワークにおいて所与の送信元-宛先ペア(LIDペア)間で同じ経路を通るため、ルーティングは決定論的である。
一般に、マスターサブネットマネージャを除く他のすべてのサブネットマネージャは、耐故障性のために待機モードで作動する。しかしながら、マスターサブネットマネージャが故障した状況では、待機中のサブネットマネージャによって、新しいマスターサブネットマネージャが取り決められる。マスターサブネットマネージャはまた、サブネットの周期的なスイープ(sweep)を行なってあらゆるトポロジー変化を検出し、それに応じてネットワークを再構成する。
さらに、サブネット内のホストおよびスイッチは、ローカル識別子(LID)を使用してアドレス指定可能であり、単一のサブネットは、49151個のユニキャストLIDに制限可能である。サブネット内で有効なローカルアドレスであるLIDの他に、各IBデバイスは、64ビットのグローバル一意識別子(global unique identifier:GUID)を有し得る。GUIDは、IBレイヤー3(L3)アドレスであるグローバル識別子(global identifier:GID)を形成するために使用され得る。
SMは、ネットワーク初期化時間に、ルーティングテーブル(すなわち、サブネット内のノードの各ペア間の接続/ルート)を計算し得る。さらに、トポロジーが変化するたびに、ルーティングテーブルは、接続性および最適性能を確実にするために更新され得る。通常動作中、SMは、トポロジー変化をチェックするためにネットワークの周期的なライトスイープ(light sweep)を実行し得る。ライトスイープ中に変化が発見された場合、または、ネットワーク変化を信号で伝えるメッセージ(トラップ)をSMが受信した場合、SMは、発見された変化に従ってネットワークを再構成し得る。
たとえば、SMは、リンクがダウンした場合、デバイスが追加された場合、またはリンクが除去された場合など、ネットワークトポロジーが変化する場合に、ネットワークを再構成し得る。再構成ステップは、ネットワーク初期化中に行なわれるステップを含み得る。さらに、再構成は、ネットワーク変化が生じたサブネットに制限されるローカルスコープを有し得る。また、ルータを用いる大型ファブリックのセグメント化は、再構成の範囲を制限し得る。
一実施形態に従ったインフィニバンド環境の例示を示す図1に、例示的なインフィニバンドファブリックを示す。図6に示す例では、ノードA601~E605は、インフィニバンドファブリック620を使用して、それぞれのホストチャネルアダプタ611~615を介して通信する。一実施形態によれば、さまざまなノード、たとえばノードA601~E605は、さまざまな物理デバイスによって表わされ得る。一実施形態によれば、さまざまなノード、たとえばノードA601~E605は、仮想マシンなどのさまざまな仮想デバイスによって表わされ得る。
本発明は、本開示の教示に従ってプログラムされる1つ以上のプロセッサ、メモリ、および/またはコンピュータ読取可能記憶媒体を含む、1つ以上の従来の汎用または専用デジタルコンピュータ、コンピューティングデバイス、マシン、またはマイクロプロセッサを使用して、便利に実現され得る。ソフトウェア技術に精通した当業者には明らかであるように、適切なソフトウェアコーディングが、本開示の教示に基づいて、熟練したプログラマによって容易に準備され得る。
いくつかの実施形態では、本発明は、本発明のプロセスのいずれかを実行するようにコンピュータをプログラムするために使用され得る命令が格納されている非一時的な記憶媒体またはコンピュータ読取可能媒体であるコンピュータプログラム製品を含む。記憶媒体は、フロッピー(登録商標)ディスク、光ディスク、DVD、CD-ROM、マイクロドライブ、および磁気光ディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリデバイス、磁気もしくは光カード、(分子メモリICを含む)ナノシステムを含む任意のタイプのディスク、もしくは、命令および/またはデータを格納するのに適した任意のタイプの媒体もしくはデバイスを含み得るものの、これらに限定されない。
この発明の実施形態の前述の説明は、例示および説明のために提供されてきた。それは、網羅的であるよう、またはこの発明を開示された形態そのものに限定するよう意図されてはいない。当業者には、多くの修正および変形が明らかであろう。修正および変形は、開示された特徴のあらゆる関連する組合せを含む。実施形態は、この発明の原理およびその実際的な適用を最良に説明するために選択および説明されたものであり、それにより、他の当業者が、特定の使用に適したさまざまな修正を考慮して、さまざまな実施形態についてこの発明を理解することを可能にする。

Claims (16)

  1. 高性能ネットワークにおけるネットワークデバイスにおいてプログラマブルなパケット分類フレームワークを提供するためのシステムであって、
    高性能ネットワークにおけるネットワークデバイスを含み、前記ネットワークデバイスは、データパケットを分類するための複数の分類プリミティブ手段を含み、前記複数の分類プリミティブ手段は、キー合成プリミティブプログラムと、キー合成規則と、1つ以上のルックアップテーブルと、データパケットの構文に応じて当該データパケットに対するアクションを規定する一致アクションテーブルとを含み、
    前記キー合成プリミティブプログラムは、前記キー合成規則に基づいてルックアップキーを構築し、前記ルックアップキーをルックアップテーブルへ提示するように構成されており、
    前記ルックアップテーブルにおける前記ルックアップキーとの一致は、前記一致アクションテーブルにおけるアクション一致をもたらし、
    前記アクション一致は、次のルックアップキーを構築する際に使用するための情報に関連付けられている、システム。
  2. 前記複数の分類プリミティブ手段は、前記ネットワークデバイスで受信されたデータパケットの処理が完了するまで、ある分類プリミティブ手段からの結果が次の分類プリミティブ手段へ供給されることにより、論理的につなぎ合わされている、請求項1に記載のシステム。
  3. 前記キー合成規則は、前記ネットワークデバイスにおけるTCAMに存在する構造であり、キーIDと、バイト選択アレイと、前記ルックアップキーの長さと、テーブルIDとを含む、請求項1または2に記載のシステム。
  4. 前記ネットワークデバイスは、インフィニバンドネットワークまたはイーサネットネットワークにおけるネットワークインターフェイスカードまたはスイッチである、請求項1~3のいずれか1項に記載のシステム。
  5. データパケット処理の状態を追跡するように構成されたステートマシンをさらに含む、請求項1~4のいずれか1項に記載のシステム。
  6. 初めに前記ネットワークデバイスによってデータパケットが受信されると、ルックアップキーを構築するために、前記キー合成プリミティブプログラムによってデフォルトのキー合成規則が使用される、請求項1~5のいずれか1項に記載のシステム。
  7. 高性能ネットワークにおけるネットワークデバイスにおいてプログラマブルなパケット分類フレームワークを提供するための方法であって、
    高性能ネットワークにおけるネットワークデバイスを提供するステップを含み、前記ネットワークデバイスは、データパケットを分類するための複数の分類プリミティブ手段を含み、前記複数の分類プリミティブ手段は、キー合成プリミティブプログラムと、キー合成規則と、1つ以上のルックアップテーブルと、データパケットの構文に応じて当該データパケットに対するアクションを規定する一致アクションテーブルとを含み、前記方法はさらに、
    前記キー合成プリミティブプログラムを使用して、前記キー合成規則に基づいてルックアップキーを構築するステップと、
    前記ネットワークデバイスにおけるルックアップテーブルにおいて前記ルックアップキーとの一致を検出するステップと、
    前記一致アクションテーブルにおける一致に関連付けられた1つ以上のアクションをトリガするステップとを含み、
    前記一致アクションテーブルにおける前記一致は、次のルックアップキーを構築する際に使用するための情報に関連付けられている、方法。
  8. 前記複数の分類プリミティブ手段は、前記ネットワークデバイスで受信されたデータパケットの処理が完了するまで、ある分類プリミティブ手段からの結果が次の分類プリミティブ手段へ供給されることにより、論理的につなぎ合わされている、請求項7に記載の方法。
  9. 前記複数の分類プリミティブ手段の各々はプログラマブルであり、三値連想メモリ(TCAM)または静的ランダムアクセスメモリ(SRAM)に基づいている、請求項8に記載の方法。
  10. 前記データパケットは複数のプロトコルのうちの1つに基づいており、前記複数の分類プリミティブ手段によって再帰的に構文解析されるように構成されている、請求項8に記載の方法。
  11. 前記キー合成規則は、前記ネットワークデバイスにおけるTCAMに存在する構造であり、キーIDと、バイト選択アレイと、前記ルックアップキーの長さと、テーブルIDとを含む、請求項7~10のいずれか1項に記載の方法。
  12. 前記バイト選択アレイは、データパケットにおけるバイト位置を指す索引を含み、前記索引は、前記データパケットの開始位置、または処理中の現在のネットワーク層の開始位置に関連しており、もしくは、一致規則の結果導き出される、請求項11に記載の方法。
  13. 前記ネットワークデバイスは、インフィニバンドネットワークまたはイーサネットネットワークにおけるネットワークインターフェイスカードまたはスイッチである、請求項7~12のいずれか1項に記載の方法。
  14. ステートマシンを用いてデータパケット処理の状態を追跡するステップをさらに含む、請求項7~13のいずれか1項に記載の方法。
  15. 初めに前記ネットワークデバイスによってデータパケットが受信されると、ルックアップキーを構築するために、前記キー合成プリミティブプログラムによってデフォルトのキー合成規則が使用される、請求項7~14のいずれか1項に記載の方法。
  16. コンピュータシステムによって実行されると、前記コンピュータシステムに請求項7~15のいずれか1項に記載の方法を行なわせる、マシン読取可能フォーマットのプログラム命令を含む、コンピュータプログラム。
JP2018549514A 2016-12-13 2017-11-10 ネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するためのシステムおよび方法 Active JP7208008B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/377,303 US10341242B2 (en) 2016-12-13 2016-12-13 System and method for providing a programmable packet classification framework for use in a network device
US15/377,303 2016-12-13
PCT/US2017/061142 WO2018111472A1 (en) 2016-12-13 2017-11-10 System and method for providing a programmable packet classification framework for use in a network device

Publications (3)

Publication Number Publication Date
JP2020502829A JP2020502829A (ja) 2020-01-23
JP2020502829A5 JP2020502829A5 (ja) 2020-12-17
JP7208008B2 true JP7208008B2 (ja) 2023-01-18

Family

ID=60452796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018549514A Active JP7208008B2 (ja) 2016-12-13 2017-11-10 ネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するためのシステムおよび方法

Country Status (5)

Country Link
US (1) US10341242B2 (ja)
EP (1) EP3476087B1 (ja)
JP (1) JP7208008B2 (ja)
CN (1) CN108781185B (ja)
WO (1) WO2018111472A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10015048B2 (en) 2014-12-27 2018-07-03 Intel Corporation Programmable protocol parser for NIC classification and queue assignments
US9825862B2 (en) 2015-08-26 2017-11-21 Barefoot Networks, Inc. Packet header field extraction
US9912774B2 (en) 2015-12-22 2018-03-06 Intel Corporation Accelerated network packet processing
US10419366B1 (en) 2017-01-31 2019-09-17 Barefoot Networks, Inc. Mechanism for communicating to remote control plane from forwarding element
US10694006B1 (en) 2017-04-23 2020-06-23 Barefoot Networks, Inc. Generation of descriptive data for packet fields
US10826840B1 (en) 2017-07-23 2020-11-03 Barefoot Networks, Inc. Multiple copies of stateful tables
US10594630B1 (en) 2017-09-28 2020-03-17 Barefoot Networks, Inc. Expansion of packet data within processing pipeline
US11070575B2 (en) * 2019-03-06 2021-07-20 Cisco Technology, Inc. Verifying accuracy of ML pipelines using third party co-ordination
CN110933001B (zh) * 2019-11-18 2020-11-27 清华大学 一种可扩展的可重构交换机包解析器基本处理单元结构
CN112688924A (zh) * 2020-12-15 2021-04-20 中国海洋大学 网络协议分析系统
CN113037634B (zh) * 2021-03-31 2022-12-06 深圳市芯源网络科技有限公司 基于fpga的匹配动作表的处理方法、逻辑电路和设备
US20240015110A1 (en) * 2022-07-06 2024-01-11 Cisco Technology, Inc. Intelligent packet distribution control for optimizing system performance and cost
CN115883681B (zh) * 2023-02-08 2023-06-23 天翼云科技有限公司 报文解析方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000244571A (ja) 1999-02-24 2000-09-08 Hitachi Ltd ネットワーク中継装置及びネットワーク中継方法
US20130163475A1 (en) 2011-12-22 2013-06-27 Ludovic Beliveau Controller for flexible and extensible flow processing in software-defined networks
US20150172189A1 (en) 2013-12-18 2015-06-18 Telefonaktiebolaget L M Ericsson (Publ) Method, apparatus, and system for supporting flexible lookup keys in software-defined networks
JP2016001897A (ja) 2009-11-16 2016-01-07 マーベル ワールド トレード リミテッド 反復解析及び分類

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7002965B1 (en) * 2001-05-21 2006-02-21 Cisco Technology, Inc. Method and apparatus for using ternary and binary content-addressable memory stages to classify packets
US7154888B1 (en) * 2002-02-08 2006-12-26 Cisco Technology, Inc. Method for classifying packets using multi-class structures
JP3936883B2 (ja) 2002-04-08 2007-06-27 株式会社日立製作所 フロー検出装置およびフロー検出機能を備えたパケット転送装置
US8040886B2 (en) * 2003-04-08 2011-10-18 Cisco Technology, Inc. Programmable packet classification system using an array of uniform content-addressable memories
US8295286B2 (en) 2003-12-31 2012-10-23 Stmicroelectronics, Inc. Apparatus and method using hashing for efficiently implementing an IP lookup solution in hardware
CN100387028C (zh) * 2005-04-01 2008-05-07 清华大学 基于tcam的解决范围匹配的并行ip包分类器及方法
US7567567B2 (en) * 2005-04-05 2009-07-28 Sun Microsystems, Inc. Network system including packet classification for partitioned resources
US7783654B1 (en) * 2006-09-19 2010-08-24 Netlogic Microsystems, Inc. Multiple string searching using content addressable memory
US7949794B2 (en) 2006-11-02 2011-05-24 Intel Corporation PCI express enhancements and extensions
CN100488174C (zh) 2006-11-24 2009-05-13 中兴通讯股份有限公司 流分类中基于硬件的差异化组织方法
US20080134283A1 (en) 2006-12-05 2008-06-05 Electronics And Telecommunications Research Institute Security apparatus and method for supporting IPv4 and IPv6
US20080186971A1 (en) * 2007-02-02 2008-08-07 Tarari, Inc. Systems and methods for processing access control lists (acls) in network switches using regular expression matching logic
TWI348297B (en) * 2008-01-25 2011-09-01 Univ Nat Taiwan Two-stage computer network packet classification method and system
JP5807676B2 (ja) 2010-12-15 2015-11-10 日本電気株式会社 パケット分類器、パケット分類方法、及びパケット分類プログラム
US20120155472A1 (en) 2010-12-16 2012-06-21 Electronics Telecommunications Research Institute Apparatus and method for classifying packets
US8954700B2 (en) * 2011-08-02 2015-02-10 Cavium, Inc. Method and apparatus for managing processing thread migration between clusters within a processor
KR101331018B1 (ko) 2011-10-11 2014-01-15 주식회사 시큐아이 패킷 분류 방법 및 그 장치
KR20130093707A (ko) * 2011-12-23 2013-08-23 한국전자통신연구원 패킷 분류 장치 및 그것의 패킷 분류 방법
CN103546378B (zh) * 2013-05-20 2018-06-01 北京百卓网络技术有限公司 基于tcam的范围多匹配2级分层查找方法
US10362093B2 (en) * 2014-01-09 2019-07-23 Netronome Systems, Inc. NFA completion notification
US9509809B2 (en) * 2014-02-25 2016-11-29 Alcatel-Lucent Usa Inc. Packet classification using multiple processing units
US9729512B2 (en) * 2014-06-04 2017-08-08 Nicira, Inc. Use of stateless marking to speed up stateful firewall rule processing
US11178051B2 (en) * 2014-09-30 2021-11-16 Vmware, Inc. Packet key parser for flow-based forwarding elements
US10153972B2 (en) 2015-02-13 2018-12-11 Nxp Usa, Inc. Method and apparatus for coding a user defined constant into a key composition rule using variable length command
US9729680B2 (en) 2015-04-23 2017-08-08 Nxp Usa, Inc. Methods and systems to embed valid-field (VF) bits in classification keys for network packet frames
US9984144B2 (en) * 2015-08-17 2018-05-29 Mellanox Technologies Tlv Ltd. Efficient lookup of TCAM-like rules in RAM
US9825862B2 (en) * 2015-08-26 2017-11-21 Barefoot Networks, Inc. Packet header field extraction

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000244571A (ja) 1999-02-24 2000-09-08 Hitachi Ltd ネットワーク中継装置及びネットワーク中継方法
JP2016001897A (ja) 2009-11-16 2016-01-07 マーベル ワールド トレード リミテッド 反復解析及び分類
US20130163475A1 (en) 2011-12-22 2013-06-27 Ludovic Beliveau Controller for flexible and extensible flow processing in software-defined networks
US20150172189A1 (en) 2013-12-18 2015-06-18 Telefonaktiebolaget L M Ericsson (Publ) Method, apparatus, and system for supporting flexible lookup keys in software-defined networks

Also Published As

Publication number Publication date
EP3476087A1 (en) 2019-05-01
CN108781185B (zh) 2021-08-03
EP3476087B1 (en) 2021-08-18
WO2018111472A1 (en) 2018-06-21
US10341242B2 (en) 2019-07-02
JP2020502829A (ja) 2020-01-23
CN108781185A (zh) 2018-11-09
US20180167329A1 (en) 2018-06-14

Similar Documents

Publication Publication Date Title
JP7208008B2 (ja) ネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するためのシステムおよび方法
US10892987B2 (en) Segment routing network processing of packets including packets having a segment identifier structure providing processing and/or memory efficiencies
US10581711B2 (en) System and method for policing network traffic flows using a ternary content addressable memory in a high performance computing environment
US10320664B2 (en) Cloud overlay for operations administration and management
CN108702326B (zh) 检测sdn控制平面循环的方法、设备和非暂时性机器可读介质
US8913613B2 (en) Method and system for classification and management of inter-blade network traffic in a blade server
EP2985959B1 (en) Progressive mac address learning
US10958481B2 (en) Transforming a service packet from a first domain to a second domain
US7007101B1 (en) Routing and forwarding table management for network processor architectures
US11165693B2 (en) Packet forwarding
US10397116B1 (en) Access control based on range-matching
US10715439B2 (en) Longest prefix matching providing packet processing and/or memory efficiencies in processing of packets
AU4620801A (en) Method and apparatus for multi-protocol redundant router support
EP4109830A1 (en) Packet processing method, device, system, and storage medium
US20220263746A1 (en) Method for monitoring running state of peer, apparatus, and storage medium
US20120106555A1 (en) Low latency carrier class switch-router
US10805436B2 (en) Deliver an ingress packet to a queue at a gateway device
WO2023231438A1 (zh) 报文发送的方法、网络设备及系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201109

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211026

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221115

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: 20221206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230105

R150 Certificate of patent or registration of utility model

Ref document number: 7208008

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150