JP5514913B2 - フローアウェアネットワークノード内でデータパケットを処理するための方法 - Google Patents

フローアウェアネットワークノード内でデータパケットを処理するための方法 Download PDF

Info

Publication number
JP5514913B2
JP5514913B2 JP2012531426A JP2012531426A JP5514913B2 JP 5514913 B2 JP5514913 B2 JP 5514913B2 JP 2012531426 A JP2012531426 A JP 2012531426A JP 2012531426 A JP2012531426 A JP 2012531426A JP 5514913 B2 JP5514913 B2 JP 5514913B2
Authority
JP
Japan
Prior art keywords
packet
flow
flow data
data
memory
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.)
Expired - Fee Related
Application number
JP2012531426A
Other languages
English (en)
Other versions
JP2013507022A (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 JP2013507022A publication Critical patent/JP2013507022A/ja
Application granted granted Critical
Publication of JP5514913B2 publication Critical patent/JP5514913B2/ja
Expired - Fee Related 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • 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/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • 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

Landscapes

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

Description

本発明は通信網の分野に関し、より正確にはパケットルータ内におけるデータパケット処理の分野に関する。
データパケットルータは、ネットワークノード内に配置されている。フローアウェアパケット網の場合、前記ルータ、とりわけネットワークの縁に位置しているノードに対応するルータは、システムに流入するフローの状態情報の記憶を維持しなければならない。このような記録は、ネットワークノードが受信するすべてのフローに対して達成しなければならない。高速チャネル(≧10Gb/s)の場合、パケット処理中の遅延を防止するためには、フローIDに関連する前記フロー状態情報を可能な限り速く利用することができなければならない。
その上、フローサイズが、数個のパケット(例えば12個のパケット)からなる「マウス」フローから、数百個のパケットからなる「エレファント」フローに変化することがある。したがってあらゆる状況をカバーするだけの十分な記憶容量が必要である。
したがってフロー情報の記憶には、伝送されるパケットを伝送のデータビットレートに従って処理することができるよう、大容量メモリと、記憶されているデータに対する短い待ち時間アクセスとを組み合わせる必要がある。さらに、広範囲にわたって使用するためには、このようなメモリのコストを可能な限り低いコストに維持しなければならない。
本発明の目的は、限られたコストに対する伝送データ処理能力を変更することなくフローデータを記憶するための機器を提供することである。
本発明は、パケット処理機器内におけるフローデータの記憶を管理するための方法に関しており、前記機器は、パケットの極めて多数の全く異なるフローの無作為集合体であるパケットストリームを処理し、また、前記機器は、高速アクセス内部メモリと、アクセス速度がより遅い外部メモリとを備えており、前記方法には以下のステップが含まれている:
− パケット処理機器の入力でデータパケットを受信するステップ。
− データパケットヘッダからフローIDを抽出し、かつ、抽出したフローIDを、対応するフローデータがアクセス速度がより遅い外部メモリに記憶されるアドレスにマッピングするステップ。
− 前記受信したデータパケットが新しいフローに対応しているかどうかを決定するステップであって、
前記受信したデータパケットがそのフローの最初のデータパケットである場合、
− 新しいフローデータ記録を生成し、
フローの少なくとも1つの他のパケットがパケット処理機器の中に既に受信されている場合、
− 前記受信したパケットに対応するフローデータを高速アクセス内部メモリから入手することができるかどうかを決定し、
対応するフローデータを高速アクセス内部メモリから入手することができる場合、
− 前記フローデータの位置を指定し、
対応するフローデータを高速アクセス内部メモリから入手することができない場合、
− 前記対応するフローデータをアクセス速度がより遅い外部メモリから取り出し、かつ、それらを高速アクセス内部メモリに記憶する
ステップ。
− 高速アクセス内部メモリからの対応するフローデータを使用してパケット処理を達成するステップであって、
所与のフローのパケットがそれ以上パケット処理機器の中に位置していない場合、
− アクセス速度がより遅い外部メモリ内の対応するフローデータを高速内部メモリ内のフローデータから更新し、
− 対応するフローデータ更新を保証する
ステップ。
本発明の他の態様によれば、フローIDを抽出し、かつ、抽出したフローIDを対応するアドレスにマッピングするステップの開始時間と、パケットを処理するステップの開始時間との間の遅延は、フローIDを対応するアドレスにマッピングする時間+アクセス速度がより遅い外部メモリのアクセス待ち時間より長い継続期間に対応している。
本発明のさらに他の態様によれば、対応するフローデータ更新を保証するステップは、パケットを処理するステップが終了する時間の後、アクセス速度がより遅い外部メモリの書込みアクセス待ち時間より長い遅延の間、フローデータを高速アクセス内部メモリに保持することによって達成される。
本発明の一追加態様によれば、高速アクセス内部メモリは、オンチップスタティックランダムアクセスメモリ(SRAM)に対応しており、また、アクセス速度がより遅い外部メモリは、オフチップダイナミックランダムアクセスメモリ(DRAM)に対応している。
本発明の他の態様によれば、前記方法には、対応するフローデータの高速アクセス内部メモリのメモリ空間を解放するステップに対応する追加ステップが含まれており、前記追加ステップは、前記フローのパケットがパケット処理機器の中に受信されると、最新のフローデータが使用されることを保証するために、対応するフローデータ更新を保証するステップの後に達成される。
本発明のさらに他の態様によれば、高速アクセス内部メモリの容量は、機器の中を通過中の最大可能数のパケットに対応するフローデータを記録するために必要な容量に対応している。
本発明の一追加態様によれば、データパケットヘッダからフローIDおよびメモリアドレスを抽出するステップは、編成済みデータリポジトリによって達成される。
本発明の他の態様によれば、編成済みデータリポジトリは経路指定ルックアップテーブルである。
本発明のさらに他の態様によれば、パケット処理機器はパケットパイプラインを備えており、前記パケットパイプラインの中を伝送されるパケットに少なくとも1つの処理が連続的に加えられる。
本発明の一追加態様によれば、高速アクセス内部メモリは、個々にアドレス指定することができるセクタに分割されており、また、異なる並行処理の機能に分散されている。
本発明の他の実施形態によれば、受信したパケットのタイムスロットのうちの、アクセス速度がより遅い外部メモリにアクセスするためのごく一部分は、内部サービスパケットのために保存される。
本発明のさらに他の実施形態によれば、パケット処理機器の入力でデータパケットを受信すると、パケットペイロードがパケットヘッダから分離され、前記パケットペイロードがメモリに記憶され、また、高速アクセス内部メモリからの対応するフローデータを使用してパケット処理を達成するステップがパケットヘッダに加えられ、パケットヘッダが処理された後、パケットペイロードおよびパケットヘッダが1つに結合される。
また、本発明は、高速アクセス内部メモリおよびアクセス速度がより遅い外部メモリを備えたパケット処理機器に関しており、パケット処理機器は、さらに、
− パケット処理機器の入力でデータパケットを受信し、
− データパケットヘッダからフローIDおよびメモリアドレスを抽出し、
− 抽出したフローIDおよびアドレスに対応するフローデータをアクセス速度がより遅い外部メモリに保存し、
− アクセス速度がより遅い外部メモリから前記フローデータを取り出し、かつ、それらを高速アクセス内部メモリに記憶し、
− 高速アクセス内部メモリからの対応するフローデータを使用してパケット処理を達成し、
− フローのパケットがそれ以上パケット処理機器の中に位置していない場合、アクセス速度がより遅い外部メモリの対応するフローデータを更新し、
− 所定の時間の間、対応するフローデータを高速アクセス内部メモリに保持する
ための手段を備えている。
本発明の他の態様によれば、パケット処理を達成するステップには、パケット処理に基づく高速アクセス内部メモリ内のフローデータの修正が含まれている。
本発明のさらに他の態様によれば、高速アクセス内部メモリは、オンチップスタティックランダムアクセスメモリ(SRAM)に対応しており、また、アクセス速度がより遅い外部メモリは、オフチップダイナミックランダムアクセスメモリ(DRAM)に対応している。
本発明の一追加態様によれば、前記手段は、また、対応するフローデータの高速アクセス内部メモリのメモリ空間を解放するように構成されている。
パケット処理機器の一可能実施形態の線図である。 本発明の一実施形態の異なるステップを示す通観的線図である。 サービスパケットを管理するために必要な機器の実施態様を示す線図である。 パケットヘッダ処理機器の一可能実施形態の線図である。
本明細書において使用されているように、「フロー」という用語は、共通の属性、とりわけ共通のフローIDを有する複数のデータパケットを意味している。
本明細書において使用されているように、「フローID」という用語は、データフローの識別を意味しており、前記識別は、対応するデータフローを表す特徴または要素からなっている。
本明細書において使用されているように、「アクセス待ち時間」という用語は、コアデバイス内における読取り要求のトリガから、コアデバイス内でデータが事実上利用可能になるまでの間に必要な時間、あるいは書込み要求からメモリデバイス内の記憶が事実上更新されるまでの間に必要な時間を意味している。
図1は、本発明によるパケット処理機器1の実施形態の一例を示したものである。前記機器は、例えばパケットパイプラインであってもよいパケットプロセッサユニット3を備えている。パケット4は、入力5で受信された後、パケットプロセッサユニット3に沿ったパケットストリームとして前記パケットプロセッサユニット3の出力7へ通過する。
図2は、図1で説明した機器に基づく本発明の一実施形態の異なるステップを示したものである。
パケットプロセッサユニットの入力5で受信されると(ステップ101)、受信したパケットに対応するフローIDを抽出するためにパケットヘッダが読み取られる(ステップ102)。実際、パケット4は複数のフローから無作為に受信され、前記フローは異なる起点および行先を有している。さらに、異なるフローは、異なるサイズ(パケットの数)を有することができる。したがって受信したパケットのフローIDと、外部低速アクセスメモリ9に既に記録されているフローデータが存在しているフローIDが比較される。前記メモリは、例えばオフチップダイナミックランダムアクセスメモリ(DRAM)であってもよい。
DRAMの場合、アクセス待ち時間は低速データ伝送を意味しないことに留意されたい。実際、データ伝送自体はバーストによって達成することができ、したがって高速データ転送速度を達成することができる。
フローIDの前記比較は、編成済みデータリポジトリ11、例えば経路指定ルックアップテーブルまたは3値連想記憶装置あるいは複数のハッシュテーブルの中で達成される。また、ブルームフィルタを前記編成済みデータリポジトリ11に使用することが可能であることについても留意されたい。知られているフローIDの整合の結果、対応するフローデータが外部低速アクセスメモリ9に記憶されるアドレスにフローIDがマップされる。
さらに、このような比較により、受信したパケットが新しいフローの最初のパケットであるかどうかを決定することができる(ステップ103)。このような場合、そのフローIDに含まれているデータおよび同じフローに属するすべての後続データを保存するために、低速アクセス外部メモリ9に新しいフローデータ記録が生成される(ステップ104)。
本発明の一態様は、高速アクセス内部メモリ13、例えばオンチップスタティックランダムアクセスメモリ(SRAM)と、アクセス速度がより遅い外部メモリ9の組合せである。このような組合せにより、アクセス待ち時間が短い大容量メモリを提供することができ、その一方で前記メモリのコストを制限することができる。したがってステップ104で、高速アクセス内部メモリ13の空きメモリ空間(メモリの自由キャッシュラインとも呼ばれる)がパケットに割り当てられる。
高速アクセス内部メモリ13のサイズ(したがってコスト)を低減するために、パケットプロセッサユニット3の中を通過中のパケットに関するフローデータのみが高速アクセス内部メモリ13の中に置かれる。したがって高速アクセス内部メモリ13の容量は、パケットプロセッサユニット3全体に沿った異なるフローに属する単一のパケットのみを有するパケットストリームに対応するメモリ要求事項の点で最悪の事例を処理するだけの十分な容量にしなければならない。このような場合、通過中のすべてのパケット4に対してメモリ空間が必要である。
フローの最初のパケットがパケット処理機器1の入力で受信されると、対応する最初のフローデータがアクセス速度がより遅い外部メモリ9に保存され、フローの第2のパケット、あるいはもっと後のパケットが受信されると、前記フローデータが外部メモリから取り出される。いずれの場合においても、高速アクセス内部メモリ13の割り当てられた空きメモリ空間に前記データがコピーされる(ステップ105)。
次に、パケットプロセッサユニット3を通過している間、パケットに異なる処理15が加えられる(ステップ106)。前記処理15は、例えばヘッダ修正、整形などのフィルタリング処理、フロー統計量の修正(パケットまたはビットカウンタ増分など)、輻輳ビットの更新またはフロービットレート平均決定であってもよい。
図1で説明した実施態様のおかげで、異なる処理のために必要なフローデータを高速アクセス内部メモリ13から入手することができるため、前記データにアクセスするための待ち時間が短縮され、パケットの高ビットレート伝送を妨げることはない。
さらに、異なる処理によってフローデータが修正されるため、メモリの高速アクセスにも同じくフローデータの修正値の更新が必要である。フローのパケットがパケットプロセッサユニットの出力に到達すると、ステップ107で決定される、パケットプロセッサユニット3の中を通過中の同じフローのパケットの存在の有無の作用によって異なるケースが生じることがある。
同じフローの他のパケットがパケットプロセッサユニット3の中を通過中である場合、通過中の前記新しいパケットは、高速アクセス内部メモリ13からの同じフローデータを使用することになり、したがってフローデータは、前記高速アクセス内部メモリ13内に留まる。これでパケット処理が終了する(ステップ108)。
他のパケットがパケットプロセッサユニット3の中を通過していない場合、アクセス速度がより遅い外部メモリ9に最新のフローデータがコピーされ(ステップ109)、最終的には前記データを消去することによって高速アクセス内部メモリ内のこのフローデータに対応するメモリ空間が解放され(ステップ110)、したがって他のパケットのために前記メモリを再使用することができる。
したがって、パケットプロセッサユニット3の入力5で、先行するパケットが前記パケットプロセッサユニット3を介して伝送されたフローに属するパケットが受信されると、既に前記フローデータが存在しているため、新しいフローデータ記録を生成する必要はない。しかしながら、そのフローの先行するパケットが依然としてパケットプロセッサユニット3の中を通過中であるかどうかをチェックする必要がある(ステップ111)。
2つの全く異なるケースが生じることがある。そのフローの先行するパケットが依然としてパケットプロセッサユニット3の中を通過中である場合は、依然として高速アクセス内部メモリ13からフローデータを入手することができ、新しく受信したパケットに対する処理を達成するために使用することができる。この場合、次のステップはステップ106である。
一方、そのフローの先行するパケットがパケットプロセッサユニット3の出力7から既に出てしまっている場合、それは、対応するフローデータが高速アクセス内部メモリ13から既に消去され、アクセス速度がより遅い外部メモリ9に記録されている対応するフローデータが高速アクセス内部メモリ13にコピーされていることを意味している(ステップ112)。
さらに、フローの終了時に、対応するフローデータを削除することによってアクセス速度がより遅い外部メモリ9が同じく解放される。フローの終了は、例えば同じフローの2つのパケットの間に最大時間(例えば2秒)を設定することによって決定することができる。したがってこの(2秒の)時間が経過すると、フローが終了したものと見なされ、対応するデータがメモリ9から消去される。
さらに、高速アクセス内部メモリ13は、所与のセクタが所与の処理のために使用されるよう、個々にアドレス指定することができるセクタに分割することができる。したがって1つのアドレス指定可能セクタは1つの処理に対応している。
本発明の他の態様によれば、パケット処理の正確性を保証するためには、上で説明したステップ間のタイミングを考慮しなければならない。
時間軸は、図1の一番下に示されている。時間T1は、パケットプロセッサユニット3の入力におけるパケットの受取りに対応している。時間T2は、アクセス速度がより遅い外部メモリ9から高速アクセス内部メモリ13へ向かうデータ転送またはデータコピーの完了に対応している。
フローデータが高速アクセス内部メモリ13に転送されたことを保証するためには、T1とT2の間の遅延を外部メモリ9に対するアクセスの待ち時間に等しいか、あるいはそれより長くしなければならない。
時間T3は、高速アクセス内部メモリ13からアクセス速度がより遅い外部メモリ9への最新フローデータの転送の開始に対応している。時間T4は、高速アクセス内部メモリ13内のフローデータの消去に対応している。
データの記憶を確保し、かつ、最新データの使用を確実にするためには、最新データの記憶が時間T4で完了するよう、T3とT4の間の遅延を外部メモリ9に対する書込みアクセスの待ち時間に等しいか、あるいはそれより長くしなければならない。実際、このような遅延により、そのフローの新しいパケットが先行するパケットのT3とT4の間の遅延の間にパケットプロセッサユニット3の入力5に到着する場合においても、依然として高速アクセス内部メモリ13内に最新データを有することができる。そのフローの新しいパケットが、同じフローの先行するパケットの時間T4の後にパケットプロセッサユニット3の入力5に到着する場合、アクセス時間がより遅い外部メモリ9に記録されているデータが最新であり、取り出されることになる。時間T3とT4の間に到着する場合、低速外部メモリへのフローデータのコピーが未だ完了していないため、依然として高速内部メモリ内に存在しているフローデータが使用される。
本発明の他の態様によれば、パケット処理機器が適切に機能することを確実にするためにサービスパケットが使用され、かつ、パケットプロセッサユニット3内をデータパケットと共に伝送される。
図3は、これらのサービスパケットの編成を示したものである。編成済みデータリポジトリ11によってフローIDが解析されると、データパケットがそれらのフローIDと共にマルチプレクサ17の入力に伝送される。マルチプレクサの他の入力は、クリーンアップサービスパケットを提供しているデータベースクリーンアップ発生器19、および制御/管理サービスパケットを提供しているノード制御、管理および知識構築ユニット21に接続されている。
したがってサービスパケットはデータパケットストリーム中に挿入される。これは、例えばタイムスロットを修正することによって達成することができる。例えば、50nsの代わりに40nsアクセスの場合、内部サービスタイムスロットと呼ばれる1つの追加タイムスロットを4つのタイムスロット毎に追加することができる(データパケットタイムスロット)。前記内部サービスパケットは、メモリおよびデータベース内の旧データの削除を制御し、かつ、ノードの他の機器と制御情報、監視情報または管理情報を交換する。
パケットプロセッサユニット3の出力では、パケットはデマルチプレクサ23に伝送され、データパケットはそれらの行先25に向けて送られ、一方、サービス応答パケットは、クリーンアップサービスパケットの場合はデータベースクリーンアップ発生器19に送り返され、あるいは制御/管理パケットの場合はノード制御/管理ユニット21に送り返され、前記パケットは、例えば処理または生成あるいは削除された異なるフローに関する統計情報を運んでいる。
さらに、統計情報は、データベースクリーンアップ発生器から制御/管理ユニット21へ伝送される(矢印27)。
また、正しい機能のために、あるいはパケットプロセッサユニット3内のアイドル期間の場合に、また、そのペイロードが処理を全く必要としない大きいパケットの遅延の間に必要である場合、「使用されていない」データパケットタイムスロットを内部サービスタイムスロットに変換することができることに留意されたい。
本発明の他の実施形態によれば、パケットペイロードが不変を維持している間に処理されるのはパケットヘッダのみであり、適切である場合、処理を加速することができる。
図4に示されているように、時間T’1でパケットが受信される。アクセス速度がより遅い外部メモリ9と同様の待ち行列メモリ9’にパケットペイロードが記憶されている間にパケットヘッダプロセッサユニット3’に伝送されるのはヘッダ部分のみである。この場合も、フローIDがヘッダから抽出され、アクセス速度がより遅い外部メモリ9のアドレスにマップされる。時間T’2で、一方ではアクセス速度がより遅い外部メモリ9から高速アクセス内部メモリ13へフローデータが転送され、他方ではペイロードが記憶されているメモリ空間の記憶ポインタがパケットヘッダ処理ユニット3’に送られる。次に、パケットヘッダに処理15が加えられる。時間T3’で、一方では高速アクセス内部メモリ13からアクセス速度がより遅い外部メモリ9へ最新フローデータが送られ、他方ではプロセッサがポインタおよび処理済みパケットヘッダを待ち行列メモリ9’に送り返す。パケットの状態に応じて、時間T’4で、パケットのすべての内容が最終的に待ち行列メモリから回復されるか、あるいは後の転送のためにヘッダがペイロードと共にバッファされる。前記バッファリングは、待ち行列およびトラフィックマネジャー27によって管理される。待ち行列を全く必要としないパケットは、カットスルーマルチプレクサ29を介して直ちに出力に送ることができ、さもなければパケット転送スケジュールが待ち行列およびトラフィックマネジャー27によって管理される。

Claims (15)

  1. パケット処理機器(1)内におけるフローデータの記憶を管理するための方法であって、前記パケット処理機器(1)が、パケット(4)の極めて多数の全く異なるフローの無作為集合体であるパケットストリームを処理し、また、前記パケット処理機器(1)が、高速アクセス内部メモリ(13)と、アクセス速度がより遅い外部メモリ(9)とを備え、前記方法が、
    前記パケット処理機器の入力でデータパケットを受信するステップ(101)と、
    − データパケットヘッダからフローIDを抽出し、かつ、抽出したフローIDを、対応する前記フローデータが前記アクセス速度がより遅い外部メモリに記憶されるアドレスにマッピングするステップ(102)と、
    − 前記受信したデータパケットが新しいフローの最初のパケットであるかどうかを決定するステップ(103)と、
    前記受信したデータパケットが前記新しいフローの最初のデータパケットである場合、
    − 新しいフローデータ記録を生成するステップ(104)
    フローの少なくとも1つの他のパケットが前記パケット処理機器の中に既に受信されている場合、
    − 前記受信したパケットに対応するフローデータを前記高速アクセス内部メモリ(13)から入手することができるかどうかを決定するステップ(111)
    前記対応するフローデータを前記高速アクセス内部メモリ(13)から入手することができる場合、
    − 前記対応するフローデータの位置を指定するステップと
    前記対応するフローデータを前記高速アクセス内部メモリ(13)から入手することができない場合、
    − 前記対応するフローデータを前記アクセス速度がより遅い外部メモリから取り出し、かつ、それらを前記高速アクセス内部メモリ(13)に記憶するステップ(112)と、
    前記高速アクセス内部メモリ(13)からの前記対応するフローデータを使用してパケット処理を達成するステップ(106)と、
    所与のフローのパケットがそれ以上前記パケット処理機器(1)の中に位置していない場合、
    前記アクセス速度がより遅い外部メモリ(9)内の前記対応するフローデータを高速内部メモリ(13)内のパケット処理された最新のフローデータ更新するステップ(109)
    − 対応するフローデータ更新を保証するステップを含み、
    前記対応するフローデータ更新を保証するステップが、パケットを処理するステップ(106)が終了する時間の後、前記アクセス速度がより遅い外部メモリ(9)の書込みアクセス待ち時間より長い遅延の間、前記最新のフローデータを前記高速アクセス内部メモリ(13)に保持することによって達成される、
    パケット処理機器(1)内におけるフローデータの記憶を管理するための方法。
  2. フローIDを抽出し、かつ、抽出したフローIDを対応するアドレスにマッピングするステップ(102)の開始時間と、パケットを処理するステップ(106)の開始時間との間の遅延が、フローIDを対応するアドレスにマッピングする時間+前記アクセス速度がより遅い外部メモリ(9)のアクセス待ち時間より長い継続期間に対応する、請求項1に記載のパケット処理機器(1)内におけるフローデータの記憶を管理するための方法。
  3. 前記高速アクセス内部メモリ(13)がオンチップスタティックランダムアクセスメモリ(SRAM)に対応し、また、前記アクセス速度がより遅い外部メモリ(9)がオフチップダイナミックランダムアクセスメモリ(DRAM)に対応する、請求項1又は2に記載のパケット処理機器(1)内におけるフローデータの記憶を管理するための方法。
  4. 前記方法が、前記対応するフローデータの前記高速アクセス内部メモリ(13)のメモリ空間を解放するステップ(110)に対応する追加ステップを含み、前記追加ステップが、前記フローのパケットがパケット処理機器(1)の中に受信されると、前記最新のフローデータが使用されることを保証するために、前記対応するフローデータを最新のフローデータで新するステップの後に達成される、請求項1からのいずれか一項に記載のパケット処理機器(1)内におけるフローデータの記憶を管理するための方法。
  5. 前記高速アクセス内部メモリ(13)の容量が、前記パケット処理機器(1)の中を通過中の最大可能数のパケット(4)に対応する前記フローデータを記録するために必要な容量に対応する、請求項1からのいずれか一項に記載のパケット処理機器(1)内におけるフローデータの記憶を管理するための方法。
  6. データパケットヘッダからフローIDおよびメモリアドレスを抽出するステップが編成済みデータリポジトリ(11)によって達成される、請求項1からのいずれか一項に記載のパケット処理機器(1)内におけるフローデータの記憶を管理するための方法。
  7. 編成済みデータリポジトリ(11)が経路指定ルックアップテーブルである、請求項に記載のパケット処理機器(1)内におけるフローデータの記憶を管理するための方法。
  8. 前記パケット処理機器(1)がパケットパイプラインを備え、前記パケットパイプラインの中を伝送されるパケット(4)に少なくとも1つの処理が連続的に加えられる、請求項1からのいずれか一項に記載のパケット処理機器(1)内におけるフローデータの記憶を管理するための方法。
  9. 前記高速アクセス内部メモリ(13)が、個々にアドレス指定することができるセクタに分割され、また、異なる並行処理(15)の機能に分散される、請求項1からのいずれか一項に記載のパケット処理機器(1)内におけるフローデータの記憶を管理するための方法。
  10. 受信したパケットのタイムスロットのうちの、前記アクセス速度がより遅い外部メモリ(9)にアクセスするためのごく一部分が、内部サービスパケットのために保存される、請求項1からのいずれか一項に記載のパケット処理機器内におけるフローデータの記憶を管理するための方法。
  11. 前記パケット処理機器の入力でデータパケットを受信すると(101)、パケットペイロードがパケットヘッダから分離され、前記パケットペイロードがメモリに記憶され、また、前記高速アクセス内部メモリ(13)からの前記対応するフローデータを使用してパケット処理を達成するステップ(106)がパケットヘッダに加えられ、パケットヘッダが処理された後、パケットペイロードおよびパケットヘッダが1つに結合される、請求項1から10のいずれか一項に記載のパケット処理機器内におけるフローデータの記憶を管理するための方法。
  12. 高速アクセス内部メモリ(13)およびアクセス速度がより遅い外部メモリ(9)を備えたパケット処理機器(1)であって、
    前記パケット処理機器(1)の入力でデータパケットを受信し、
    − データパケットヘッダからフローIDおよびメモリアドレスを抽出し、
    − 抽出したフローIDおよびアドレスに対応するフローデータを前記アクセス速度がより遅い外部メモリ(9)に保存し、
    前記アクセス速度がより遅い外部メモリ(9)から前記フローデータを取り出し、かつ、それらを前記高速アクセス内部メモリ(13)に記憶し、
    前記高速アクセス内部メモリ(13)からの前記対応するフローデータを使用してパケット処理を達成し、
    − フローのパケットがそれ以上前記パケット処理機器(1)の中に位置していない場合、前記アクセス速度がより遅い外部メモリ(9)の前記対応するフローデータを更新し、
    − 所定の時間の間、前記対応するフローデータを前記高速アクセス内部メモリ(13)に保持する
    ための手段をさらに備えた、パケット処理機器(1)。
  13. パケット処理を達成するステップが、パケット処理に基づく前記高速アクセス内部メモリ(13)内の前記対応するフローデータの修正を含む、請求項12に記載のパケット処理機器(1)。
  14. 前記高速アクセス内部メモリ(13)がオンチップスタティックランダムアクセスメモリ(SRAM)に対応し、また、前記アクセス速度がより遅い外部メモリがオフチップダイナミックランダムアクセスメモリ(DRAM)に対応する、請求項12または13のいずれかに記載のパケット処理機器(1)。
  15. 前記手段が、前記対応するフローデータの前記高速アクセス内部メモリ(13)のメモリ空間を解放するようにさらに構成される、請求項12から14のいずれか一項に記載のパケット処理機器。
JP2012531426A 2009-09-30 2010-09-30 フローアウェアネットワークノード内でデータパケットを処理するための方法 Expired - Fee Related JP5514913B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP09290749.2 2009-09-30
EP09290749A EP2306322A1 (en) 2009-09-30 2009-09-30 Method for processing data packets in flow-aware network nodes
PCT/EP2010/064535 WO2011039300A1 (en) 2009-09-30 2010-09-30 Method for processing data packets in flow-aware network nodes

Publications (2)

Publication Number Publication Date
JP2013507022A JP2013507022A (ja) 2013-02-28
JP5514913B2 true JP5514913B2 (ja) 2014-06-04

Family

ID=41345295

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012531426A Expired - Fee Related JP5514913B2 (ja) 2009-09-30 2010-09-30 フローアウェアネットワークノード内でデータパケットを処理するための方法

Country Status (6)

Country Link
US (1) US9253093B2 (ja)
EP (1) EP2306322A1 (ja)
JP (1) JP5514913B2 (ja)
KR (1) KR101407743B1 (ja)
CN (1) CN102549552B (ja)
WO (1) WO2011039300A1 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102209021A (zh) * 2010-03-31 2011-10-05 西门子公司 一种包聚合传输的方法和装置
KR101975528B1 (ko) 2012-07-17 2019-05-07 삼성전자주식회사 패스트 어레이 영역을 갖는 반도체 메모리 셀 어레이 및 그것을 포함하는 반도체 메모리
KR20140052107A (ko) * 2012-10-10 2014-05-07 주식회사 아이디어웨어 타임라인 생성장치 및 방법과 기록매체
CN103927124B (zh) * 2013-01-15 2018-03-13 深圳市腾讯计算机系统有限公司 以Hash方式组织的磁盘访问控制装置及方法
US9515929B2 (en) * 2013-06-28 2016-12-06 Netronome Systems, Inc. Traffic data pre-filtering
US9712442B2 (en) * 2013-09-24 2017-07-18 Broadcom Corporation Efficient memory bandwidth utilization in a network device
US9473405B2 (en) * 2014-03-10 2016-10-18 Palo Alto Research Center Incorporated Concurrent hashes and sub-hashes on data streams
US9917727B2 (en) 2014-06-03 2018-03-13 Nicira, Inc. Consistent hashing for network traffic dispatching
US9397941B2 (en) 2014-06-27 2016-07-19 International Business Machines Corporation Dual purpose on-chip buffer memory for low latency switching
US9699084B1 (en) 2015-03-01 2017-07-04 Netronome Systems, Inc. Forwarding messages within a switch fabric of an SDN switch
US9503372B1 (en) 2015-03-01 2016-11-22 Netronome Systems, Inc. SDN protocol message handling within a modular and partitioned SDN switch
US9729442B1 (en) 2015-03-01 2017-08-08 Netronome Systems, Inc. Method of detecting large flows within a switch fabric of an SDN switch
US10009270B1 (en) * 2015-03-01 2018-06-26 Netronome Systems, Inc. Modular and partitioned SDN switch
US9998374B1 (en) * 2015-03-01 2018-06-12 Netronome Systems, Inc. Method of handling SDN protocol messages in a modular and partitioned SDN switch
US9467378B1 (en) 2015-03-01 2016-10-11 Netronome Systems, Inc. Method of generating subflow entries in an SDN switch
US10412002B1 (en) * 2015-03-25 2019-09-10 Amazon Technologies, Inc. Processing packet data using an offload engine in a service provider environment
IL238690B (en) 2015-05-07 2019-07-31 Mellanox Technologies Ltd Network-based computational accelerator
US10152441B2 (en) 2015-05-18 2018-12-11 Mellanox Technologies, Ltd. Host bus access by add-on devices via a network interface controller
US9641436B1 (en) 2015-05-29 2017-05-02 Netronome Systems, Inc. Generating a flow ID by passing packet data serially through two CCT circuits
US9819585B1 (en) * 2015-05-29 2017-11-14 Netronome Systems, Inc. Making a flow ID for an exact-match flow table using a programmable reduce table circuit
US9807006B1 (en) 2015-05-29 2017-10-31 Netronome Systems, Inc. Crossbar and an egress packet modifier in an exact-match flow switch
US9756152B1 (en) * 2015-05-29 2017-09-05 Netronome Systems, Inc. Making a flow ID for an exact-match flow table using a byte-wide multiplexer circuit
US10033638B1 (en) * 2015-05-29 2018-07-24 Netronome Systems, Inc. Executing a selected sequence of instructions depending on packet type in an exact-match flow switch
US9912591B1 (en) 2015-05-29 2018-03-06 Netronome Systems, Inc. Flow switch IC that uses flow IDs and an exact-match flow table
US9871748B2 (en) * 2015-12-09 2018-01-16 128 Technology, Inc. Router with optimized statistical functionality
US10382350B2 (en) 2017-09-12 2019-08-13 Mellanox Technologies, Ltd. Maintaining packet order in offload of packet processing functions
US11502948B2 (en) 2017-10-16 2022-11-15 Mellanox Technologies, Ltd. Computational accelerator for storage operations
US11005771B2 (en) 2017-10-16 2021-05-11 Mellanox Technologies, Ltd. Computational accelerator for packet payload operations
US10841243B2 (en) 2017-11-08 2020-11-17 Mellanox Technologies, Ltd. NIC with programmable pipeline
US10708240B2 (en) 2017-12-14 2020-07-07 Mellanox Technologies, Ltd. Offloading communication security operations to a network interface controller
US10824469B2 (en) 2018-11-28 2020-11-03 Mellanox Technologies, Ltd. Reordering avoidance for flows during transition between slow-path handling and fast-path handling
US11184439B2 (en) 2019-04-01 2021-11-23 Mellanox Technologies, Ltd. Communication with accelerator via RDMA-based network adapter
IL276538B2 (en) 2020-08-05 2023-08-01 Mellanox Technologies Ltd A cryptographic device for data communication
CN114095153A (zh) 2020-08-05 2022-02-25 迈络思科技有限公司 密码数据通信装置
US11934333B2 (en) 2021-03-25 2024-03-19 Mellanox Technologies, Ltd. Storage protocol emulation in a peripheral device
US11934658B2 (en) 2021-03-25 2024-03-19 Mellanox Technologies, Ltd. Enhanced storage protocol emulation in a peripheral device
US11799761B2 (en) 2022-01-07 2023-10-24 Vmware, Inc. Scaling edge services with minimal disruption
US11888747B2 (en) 2022-01-12 2024-01-30 VMware LLC Probabilistic filters for use in network forwarding and services

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11331268A (ja) * 1998-05-11 1999-11-30 Sumitomo Electric Ind Ltd パケット中継装置
US20030061269A1 (en) * 2001-09-17 2003-03-27 Flow Engines, Inc. Data flow engine
US20050204091A1 (en) * 2004-03-11 2005-09-15 Kilbuck Kevin M. Non-volatile memory with synchronous DRAM interface
JP2005347969A (ja) * 2004-06-01 2005-12-15 Matsushita Electric Ind Co Ltd パケット転送装置およびパケット転送方法
US7325099B2 (en) * 2004-10-27 2008-01-29 Intel Corporation Method and apparatus to enable DRAM to support low-latency access via vertical caching
JP4483535B2 (ja) * 2004-11-05 2010-06-16 株式会社日立製作所 ネットワーク装置
EP1842134A1 (en) * 2005-01-26 2007-10-10 Infineon Technologies AG Improvements in and relating to memory updating
US20090138673A1 (en) * 2007-11-28 2009-05-28 Apple Inc. Internal memory mapped external memory interface
US20100162265A1 (en) * 2008-12-23 2010-06-24 Marco Heddes System-On-A-Chip Employing A Network Of Nodes That Utilize Logical Channels And Logical Mux Channels For Communicating Messages Therebetween
US20120017039A1 (en) * 2010-07-16 2012-01-19 Plx Technology, Inc. Caching using virtual memory

Also Published As

Publication number Publication date
EP2306322A1 (en) 2011-04-06
CN102549552B (zh) 2015-12-02
JP2013507022A (ja) 2013-02-28
WO2011039300A1 (en) 2011-04-07
CN102549552A (zh) 2012-07-04
US20120314709A1 (en) 2012-12-13
US9253093B2 (en) 2016-02-02
KR101407743B1 (ko) 2014-06-16
KR20120070595A (ko) 2012-06-29

Similar Documents

Publication Publication Date Title
JP5514913B2 (ja) フローアウェアネットワークノード内でデータパケットを処理するための方法
JP3777161B2 (ja) マルチキャスト伝送の効率的処理
JP4615030B2 (ja) バッファを再要求するための方法および装置
JP4078445B2 (ja) データ識別子を複製することによって複数のコピーを送信するための方法および装置
JP4603102B2 (ja) ネットワークスイッチ内のブロックされた出力キューに関するパケットを選択的に廃棄するための方法および装置
US7058789B2 (en) System and method for packet storage and retrieval
CN110808910B (zh) 一种支持QoS的OpenFlow流表节能存储架构及其方法
US8248945B1 (en) System and method for Ethernet per priority pause packet flow control buffering
JP4541454B2 (ja) 受信データの関数としてデータの送信の開始を制御するための方法および装置
CN115516833A (zh) 网络设备中的分组缓冲溢出
WO2017219993A1 (zh) 报文调度
EP3657744B1 (en) Message processing
US20090257441A1 (en) Packet forwarding apparatus and method for discarding packets
TWI360744B (en) Data packet processing device
CN109564502A (zh) 应用于存储设备中的访问请求的处理方法和装置
US8717891B2 (en) Shaping apparatus and method
WO2016202113A1 (zh) 一种队列管理方法、装置及存储介质
US10999223B1 (en) Instantaneous garbage collection of network data units
US6850999B1 (en) Coherency coverage of data across multiple packets varying in sizes
JP7241194B2 (ja) メモリ管理方法及び装置
JP2016091222A (ja) データ処理装置、データ処理方法およびプログラム
US7525962B2 (en) Reducing memory access bandwidth consumption in a hierarchical packet scheduler
WO2022143678A1 (zh) 报文存储方法、报文出入队列方法及存储调度装置
US8959278B2 (en) System and method for scalable movement and replication of data
CN112965833B (zh) 日志处理方法及装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130917

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140331

R150 Certificate of patent or registration of utility model

Ref document number: 5514913

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

LAPS Cancellation because of no payment of annual fees