JP2007534203A - Tcpトラフィックのフロー特性に基づくキャッシング・ルックアップのための装置及び方法 - Google Patents

Tcpトラフィックのフロー特性に基づくキャッシング・ルックアップのための装置及び方法 Download PDF

Info

Publication number
JP2007534203A
JP2007534203A JP2006525824A JP2006525824A JP2007534203A JP 2007534203 A JP2007534203 A JP 2007534203A JP 2006525824 A JP2006525824 A JP 2006525824A JP 2006525824 A JP2006525824 A JP 2006525824A JP 2007534203 A JP2007534203 A JP 2007534203A
Authority
JP
Japan
Prior art keywords
packet
predefined
characteristic
cache
processor
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.)
Granted
Application number
JP2006525824A
Other languages
English (en)
Other versions
JP4591893B2 (ja
Inventor
コール、エベレット、ジュニア
デイビス、ゴードン
ジェフリー、クラーク
バイディヤナサン、ナタラヤン
バーリリ、コリン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2007534203A publication Critical patent/JP2007534203A/ja
Application granted granted Critical
Publication of JP4591893B2 publication Critical patent/JP4591893B2/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • 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

Abstract

【課題】 TCPトラフィックのフロー特性に基づいてキャッシング・ルックアップを行うこと。
【解決手段】 ネットワーク・デバイスの分類システムはキャッシュを含み、このキャッシュは、セッションにおける最初の「フリークエント・フライヤ」パケットに応答して、TCP/IPパケットの予め定義された特性と関連付けられた動作との間のマッピングを格納する。そのセッションにおいて、続いて受信されるパケットからの選択された特性は、予め定義された特性と相関され、選択された特性と予め定義された特性とが一致した場合には、格納された動作が受信パケットに適用され、このようにして、後続するパケットに必要とされる処理が減少される。キャッシングに選択されるパケットは、データ・パケットとすることができる。特性が一致しなかった場合には、分類システムの完全パケット検索を用いて受信パケットに適用される動作を決定する。
【選択図】 図1

Description

本発明は、一般に、通信ネットワークに関し、具体的には、前述のネットワークに接続されたデバイスのデータ管理能力を向上させるために用いられる装置及び方法に関する。
以下の説明は、ネットワーク・データ通信、及びこのような通信ネットワークに用いられるスイッチ、ネットワーク・プロセッサ、アダプタ、ルータなどに関する知識を前提とする。具体的には、この説明は、ネットワーク操作を層に分割するネットワーク・アーキテクチャのISOモデルに精通していることを前提とする。ネットワーク・アーキテクチャのISOモデルに基づく典型的なアーキテクチャは、ネットワーク操作を層に分割する。ISOモデルに基づく典型的なアーキテクチャは、物理的経路又は媒体である(「L1」と呼ばれることもある)層1から延び、これを通って信号が上位へ送られ、層2、層3、層4などを通過して層7まで到達するが、最後に挙げた層7は、ネットワークにリンクされたコンピュータ・システム上で稼動しているアプリケーション・プログラミング層である。この文書においては、L1、L2などと言及する場合は、ネットワーク・アーキテクチャの対応する層を指すことを意図している。ここに開示することはまた、このようなネットワーク通信において、パケット及びフレームとして知られるビット・ストリングの基礎的な理解を前提としている。
通信ネットワークの一般的なモデルには、ファイアウォール又は同様な構造を介してインターネットとしてよく知られるワールド・ワイド・ウェブ(WWW)のようなパブリック・ネットワークに接続される1つ又はそれ以上のプライベート・ネットワークを含むものがある。以下でネットワーク・デバイスと呼ばれる、ネットワークに接続されたデバイス間の通信は、そのプライベート・ネットワーク内のみでなされるようにしてもよいし、或いは、ファイアウォールを通してインターネットにより、遠隔のプライベート・ネットワークに対してなされるようにしてもよい。
ネットワーク・デバイス間の情報交換及びネットワーク管理のためには、何らかの形式のプロトコルが必要である。プロトコルは、ネットワークへのアクセスを管理する一組の規則として特徴付けられ、場合によっては、ネットワークを動作可能な状態に維持するために用いられる。イーサネット、トークン・リングなどのようにプライベート・ネットワーク上で用いることができる標準的なプロトコルが幾つかあるが、殆どの場合において、プライベート・ネットワークには、使用することを望むいずれのプロトコルを用いてもよい。唯一考えられる制約は、プライベート・ネットワーク上のネットワーク・デバイスがそのプロトコルを認識しなければならないということであり、さもないと、該ネットワーク・デバイスは満足に動作すなわち通信を行うことができない。
プライベート・プロトコルは一様性が乏しいため、さらなる論議はインターネット上で用いられる公共プロトコルに限定される。公共プロトコルは、TCP(伝送制御プロトコル)/IP(インターネット・プロトコル)と呼ばれている。これは、インターネット上の通信に用いられる周知のプロトコルである。
ネットワーク・プロセッサのような、IPルーティング・アプリケーションを稼動させるネットワーク・デバイスの性能についての1つの尺度は、1秒といった一定の時間間隔内に処理すなわち分類されるパケットの数に基づくものである。これは次いで、必要とされる分類形式に影響されることになる。ルーティング目的のために、ネットワーク分類におけるパケットは、層2(L2)、層3(L3)、層4(L4)、さらにその上位層にグループ化することができる。各層についての計算条件は、L2からL4、さらに上位層へ行くに従って増加する。
例えば、L2分類は、メディア・アクセス制御(MAC)テーブルとの一致を見出す程度の簡単なものとすることができる。この手順では、MACソース・アドレス(SA)又はMAC宛先アドレス(DA)のパケットを、テーブル内のアドレスと比較することを必要とする。より一般的な手法は、完全一致アルゴリズム(Full Match Algorithm)、L2分類タスクを用いることである。
L3分類は、ルーティング及びその他のL3機能に用いることができる。L3分類は、ルーティング目的で用いられる場合には、パケット内の情報とデータベース内の情報との間で最長プレフィックスの一致を見出すことが必要である。最長プレフィックス一致アルゴリズムはL3分類のために用いられる。最長プレフィックス一致アルゴリズム(Longest Prefix Match Algorithm)は、完全一致アルゴリズムよりも複雑であるため、より多くの計算時間を必要とする。
L4分類は、相互に交わる範囲が複雑になる可能性のあるフィルタ規則を実行するといった複雑な機能を含む。この分類形式は、通常、比較的長い時間間隔を用いてパケットを処理する複雑なアルゴリズムを必要とする。パケット処理のための時間間隔は、L4より上位のルックアップ又は分類においてさらに増加する。L4分類より上位の処理は、ディープ・パケット処理と呼ばれる。
米国特許第6,404,752号明細書
上述のことを考慮すると、ネットワーク・プロセッサのようなネットワーク・デバイスのスループット(毎秒処理されるパケット数)は、デバイスによって実行されるルックアップ又は分類の形式によって決まる。結果として、L3及びさらに上位のルックアップが必要な場合には、ネットワーク・プロセッサの計算リソースに負荷がかかる。さらに、ネットワーク・プロセッサは、毎秒何百万ものパケットについてルックアップを実行することを必要とする場合が多く、これがさらに計算リソースに負荷をかける。ネットワーク・プロセッサのリソースに負荷がかかると、これらがスループット要件を満たしながら、同時にL3及びさらに上位のルックアップ処理を行うことができる可能性は、相対的に低くなるように見える。従って、ネットワーク・プロセッサのようなネットワーク・デバイスが、性能要件を満たすスループットを維持しながら、同時にL3及びさらに上位のルックアップ処理を行うことを可能にするリソースの必要性が存在する。
第1の態様においては、通信ネットワークのトラフィックを管理する方法が提供され、この方法は、(a)ネットワーク・デバイス内に、パケットに関連付けられ少なくとも予め定義された特性と、前述の予め定義された特性の選択されたものと一対となる動作とを含むキャッシュを設けるステップと、(b)前述のネットワーク・デバイスにおいて、少なくとも1つのパケットを受信するステップと、(c)前述の受信パケットから、該少なくとも予め定義された特性と同様な特性を選択するステップと、(d)前述の受信パケットから選択された特性を該予め定義された特性と相関させるステップと、(e)前述の相関から得た結果を用いて、該受信パケットを処理するステップと、を含む。
この処理は、前述の受信パケットの特性が、少なくとも予め定義された特性と一致する場合に、一対となる動作を該受信パケットに対して実行するステップを含むことが好ましい。
少なくとも予め定義された特性は、インターネット・プロトコル(IP)宛先アドレス(DA)、IPソース・アドレス(SA)、伝送制御プロトコル(TCP)宛先ポート(DP)、及びTCPソース・ポート(SP)を含むことが好ましい。
相関動作は比較を含むことが好ましい。
メモリ内に、パケットに関連付けられ予め定義された特性と、実行されるべき動作とのマッピングを提供するステップと、分類されるべきパケットを受信するステップと、受信パケットの選択された特性を該予め定義された特性と相関させるステップと、該選択された特性が該予め定義された特性と一致する場合には、格納された動作を前述の受信パケットに実行するステップとを含む方法を有することが好ましい。
相関動作は比較を含むことが好ましい。
予め定義された特性は、ソース・アドレス(SA)、宛先アドレス(DA)、ソース・ポート(SP)、及び宛先ポート(DP)を含むことが好ましい。
受信パケットはデータ・パケットを含むことが好ましい。
予め定義された特性に関連付けられた、格納された動作は、パケット群の第1のパケットからのみ更新されるようにすることが好ましい。
格納された動作は、パケット群の第1のパケットに続いて、全パケットに実行されることが好ましい。
第2の態様においては、プロセッサと、前述のプロセッサに動作可能に結合されたキャッシュであって、パケットの予め定義された特性と動作との間のマッピングを格納し、そこでは、選択されたパケットの特性を該予め定義された特性と相関させる第1のプログラムを前述のプロセッサが実行する、キャッシュであって、該選択されたパケットからの特性が該予め定義された特性と一致する場合に、該予め定義された特性に関連付けられた動作を前述の選択されたパケット上で実行させる、キャッシュとを含むシステムが提供される。
予め定義された特性は、ソース・アドレス(SA)、宛先アドレス(DA)、ソース・ポート(SP)、及び宛先ポート(DP)を含むことが好ましい。
プロセッサはネットワーク・プロセッサを含むことが好ましい。
このシステムは、動作可能に前述のプロセッサに結合され、完全パケット検索のためのデータ構造を格納するメモリをさらに含み、前述のプロセッサに、該データ構造をアクセスさせ、予め定義された特性と選択されたパケットからの特性との間に不一致が生じた場合には、前述の選択されたパケットに前述のデータ構造内に格納された動作を課すようにする、第2のプログラムを、該プロセッサが実行することが好ましい。
選択されたパケットは受信パケットを含むことが好ましい。
第2のプログラムは完全一致アルゴリズムを含むことが好ましい。
第2のプログラムは最長プレフィックス一致アルゴリズムを含むことが好ましい。
第2のプログラムはソフトウェア管理ツリー・アルゴリズムを含むことが好ましい。
メモリはプロセッサ内部にあることが好ましい。
メモリはプロセッサ外部にあることが好ましい。
データ構造は直接テーブル及びパトリシア・ツリーを含むことが好ましい。
パケットの予め定義された特性と、全ての特性値の組のサブセットに対して実行されるべき動作との間のマッピングを格納するメモリと、受信パケットの特性を該予め定義された特性に相関させ、その特性が該予め定義された特性と一致している場合には、該動作を前述の受信パケットについて実行するコントローラとを含むシステムを有することが好ましい。
第3の態様においては、コンピュータ・システムにロードされ、実行されたとき、前述のコンピュータ・システムに、第1の態様に記載された方法の全ステップを実行させるコンピュータ・プログラム・コードを含むコンピュータ・プログラムが提供される。
受信パケットの特性を、全ての可能性ある特性値のサブセットを含むテーブル内の特性と相関させる命令、及び、該受信パケットの特性と該テーブル内の特性とが一致した場合には、前述のテーブル内に格納された動作を該受信パケットに実行する命令を含むコンピュータ・プログラムが記録された媒体を含むプログラム製品の形態でコンピュータ・プログラムを提供することが好ましい。
プログラムは、特性及び関連付けられた動作を含むテーブルを生成する命令をさらに含むことが好ましく、このテーブルを維持するための命令もさらに含むことが好ましい。
維持するための命令が、さらに、古くなったエントリを削除して、新規なエントリを挿入する命令を含むことが好ましい。
(b)において受信された少なくとも1つのパケットは、同じセッションに属する短いバーストのパケット内にある1つのパケットであるというフリークエント・フライヤ基準を満たすものであることが好ましい。
システムは、動作可能にメモリに結合されたエージング機構をさらに含み、前述のエージング機構は、周期的に古いエントリを前述のメモリから削除することが好ましい。
古いエントリは、予め定義された基準に基づいて削除されることが好ましい。
予め定義された基準は、前述のメモリが一杯になり、新規なエントリを追加することが必要になった場合に、最近の使用が最も少ないエントリを削除することを含むことが好ましい。
従って、通信ネットワークのパケットを分類する方法が提供され、(a)ネットワーク・デバイスにおいてパケットを受信するステップと、(b)受信パケットに存在するデータ・パケットを求めるステップと、(c)パケットの予め定義された特性と、この予め定義された特性の選択されたものに関連付けられた動作とを格納するキャッシュを設けるステップと、このように求められた各データ・パケットについて、前述の各データ・パケットの選択された特性を、前述のキャッシュにおける予め定義された特性と相関させるステップと、該予め定義された特性の1つと一致する選択された特性をもつ各データ・パケットについて、前述の予め定義された特性の1つに関連付けられた動作を、前述の各データ・パケットに課すステップと、を含むことが好ましい。
パケットはTCP/IPパケットを含むことが好ましい。
上述の求める動作は、さらに、TCPヘッダ内の制御ビットを調べるステップと、前述の制御ビットの選択されたものが第1の状態に設定されている場合には、IPヘッダにおける長さフィールドを調べてその値を求めるステップと、該TCPヘッダにおけるデータ・オフセット・フィールドの値に4を乗じるステップと、該長さフィールドの値から乗算の結果を減算するステップと、を含むことが好ましい。
第1の状態は論理「0」を有することが好ましい。
前述の制御ビットの選択されたものは、SYN、FIN、及びRSTを含むことが好ましい。
本発明の実施形態は、ネットワーク・デバイスのルックアップ性能を改善するアクセレレータを提供し、それによって、該ネットワーク・デバイスがこれまで可能であったよりも効率的に、パケットを分類することができるようにすることが好ましい。
アクセレレータは、キャッシュと呼ばれるメモリを含むことができ、(後述する)4タプルと呼ばれるTCPパケットの特性が格納されている。4タプルは、インターネット・プロトコル(IP)SA、IP DA、伝送制御プロトコル(TCP)ソース・ポート(SP)、及び宛先ポート(DP)を含む。4タプルの各々に関連付けられた動作もまた格納されている。一致論理は、受信パケットにおける4タプルをキャッシュ内の4タプルと相関させる。一致があった場合には、キャッシュ内の4タプルに関連付けられた動作が受信パケットに適用される。一致がなかった場合には、その形式のパケットを分類するのに用いられる通常の方法が続く。フロー・キャッシュを実装し、動的にエージングする特定の方法及び装置が提供される。キャッシュと関連ハードウェア及び/又はソフトウェアは、「フロー・キャッシュ」と呼ばれる。
フロー・キャッシュを用いることによって、ネットワーク・プロセッサは、これまで可能であったよりも速い速度でパケットを分類することができる。
ここで、本発明の好ましい実施形態を、単なる一例に過ぎないものとして、添付図面を参照しながら提供する。
本発明の好ましい実施形態は、フロー・キャッシングを用いて通信ネットワークにおけるパケットの分類を迅速化し、それによってネットワーク・デバイスが特定の単位時間内に処理できるパケット数を向上させる。このことは、TCPトラフィックにおいて良好に機能するので、そのような環境において説明する。しかしながら、このことはトラフィックがバースト状態で発生するようになる通信プロトコルのいずれにおいても良好に機能するので、この説明は、本発明の範囲を限定することにはならない。例えば、DNSサーバ間のUDPトラフィック(プロトコル17)はバースト状態で発生するので、これもまたフロー・キャッシングから利益を得ることができると考えられている。本発明の一般的な説明としては、通常の手法は、常に最も集中しているフローを識別し、そのフローについてのキャッシュのみに進むことである。同等に重要なことは、集中化しない種類のパケットのキャッシュを避けることである。
最も集中するフローすなわちパケットは、比較的短期間の時間間隔で発生するバースト状態となり、本明細書においては「フリークエント・フライヤ」と呼ぶ。
図1は、本発明の教示を展開するネットワーク100を極めて簡略化して示す。このネットワークは、インターネット又は他のネットワーク102に接続された複数のエッジ・デバイス104を含む。エッジ・デバイス104の各々は、サブネットワーク106と接続され、該サブネットワークは、建物、キャンパスなどにいるユーザを相互接続するプライベート・ネットワークとすることができる。このようなサブネットワークは当技術分野においては周知であり、これ以上の説明は行わない。サブネットワーク106は、ブリッジ・デバイス110によって別のサブネットワークに接続される。エッジ・デバイス104は、ルータ・スイッチ又はこの形式のパケット取扱いに用いられるあらゆる他ネットワーク・デバイスとすることができる。エッジ・デバイスの各々には、ネットワーク・プロセッサ108が与えられている。デバイスの種類によって、1つ又はそれ以上のネットワーク・プロセッサを用いることができる。ブリッジ・デバイス110はまた、ルーティング機能の実行に用いられるネットワーク・プロセッサ108を含むことができる。104及び110のようなネットワーク・デバイスの使用は当技術分野において周知であり、従って、これらのエンティティについて、これ以上の説明は提供しない。
図2は、図1に示すネットワーク・プロセッサのブロック図を示す。ネットワーク・プロセッサは、本発明の教示によるものを含むIPルーティング・アプリケーションを実行し、フレームをインターネットから受信したときにこれらを分類する。層2(MACテーブルに一致を見出す)、層3(ルーティングのためのプレフィックスの最長のものの一致を見出す、層4(プロトコル・パラメータの交差範囲が複雑になる可能性のあるフィルタ規則の実施)、及びさらに上位層のルックアップ(例えば、いわゆるディープ・パケット処理のようなアプリケーション層まで)を含む異なる分類タスクが、ネットワーク・プロセッサによって実行される。層4分類のような分類の幾つかは、複雑なアルゴリズムが係っているために、比較的長い処理時間を必要とする。本発明は、層3、層4、及びさらに上位層の分類を実行するのに必要な平均時間を大幅に減少させる装置及び技術を提供する。本発明の好ましい実施形態においては、分類機能を実行するために、どのような形式のネットワーク・プロセッサも用いることができるが、IBM(R)社によって開発され、販売されているPowerNPが用いられる。PowerNPは、基板上に集積された複数の機能単位を含む単一チップ・デバイス10である。機能単位は、上側構成及び下側構成に配置され、ここで、上側構成(「イングレス」と呼ばれることもある)は、データ移送ネットワークからのチップに向けられた(チップまで又はチップ内に)データに関連するコンポーネントを指し、「下側」構成(「エグレス」と呼ばれることもある)は、外向きの形態で、チップからデータ伝送ネットワークの方向に(チップから離れる方向に、又はネットワークに向けて、かつ、ネットワーク内に)データを伝送する機能をもつコンポーネントを指す。データ・フローは、上側構成及び下側構成それぞれの配置に従う。結果として、図2のシステムには、上側データ・フロー及び下側データ・フローがある。上側、すなわちイングレス構成要素は、エンキュー・デキュー・スケジューリングUP(EDS−UP)論理16、複数の多重化MAC−UP(PMM−UP)14、スイッチ・データ・ムーバ・アップ(SDM−DN)18、システム・インターフェースSIF(20)、データ・アライン・シリアル・リンクA(DASL A)22、及び、データ・アライン・シリアル・リンクB(DASL B)24を含む。DASL A22及びDASL B24は、ネットワーク・プロセッサを、多くのネットワーク・プロセッサを必要とする多数のネットワーク接続をもつシステムにおけるスイッチに接続する。
さらに図2を参照すると、システムの下側(すなわち、エグレス)に示されるコンポーネントは、データ・リンク(DASL−A)26、DASL−B28、システム・インターフェースSIF30、スイッチ・データ・ムーバ(SDM−DM)32、エンキュー・デキュー・スケジューラEDS−DN34、及びエグレスのための複数の多重化MAC PMM−DN36を含む。ネットワーク・プロセッサ・チップ10はまた、複数の内部静的アクセスメモリ・コンポーネント(S−RAM)、エグレス・スケジューラとしても知られるトラフィック管理スケジューラ(TRAFFIC MGT SCHEDULER)40、及び、内蔵プロセッサ複合システム12を含む。内蔵プロセッサ複合システムは、分類機能を実行するために用いられる複数のプロセッサ及びコプロセッサを有する。インターフェース・デバイス38は、それぞれのデータ移動ユニット(DMU)バスによって、PMM14及び36に結合される。インターフェース・デバイス38は、イーサネット物理デバイス又は非同期伝送モード(ATM)デバイスなどのような、(図示されていない)ネットワークに接続するのに適したあらゆるハードウェア装置であってよい。PowerNPのさらに詳細な説明は、本明細書において全体を引用によりここに組み入れる特許文献1に与えられる。
前述のように、インターネット上で用いられるプロトコルは、TCP/IPプロトコルである。本発明は、このプロトコルを用いるデータ・パケットに関して説明されている。TCP/IPプロトコルは、本発明において「フリークエント・フライヤ」と呼ばれる特定のパケットを有し、これは常にバースト状態で発生する。各プロセッサは、受信したパケットに関連して取られる動作を含む規則により予めプログラムされており、特定の規則と一致する。本発明の教示によれば、フリークエント・フライヤ及びその関連付けられた動作がキャッシュに配置されており、そのバーストの後続するメンバは、そのキャッシュ内に格納された情報に基づいて処理されることができる。結果として、本発明を用いるシステムのスループットが向上する。
キャッシュ内に、パケットについての一致が見出されなかった場合には、ネットワーク・プロセッサにおいて与えられた標準的な分類システム及び方法が続くことに注目すべきである。標準的な分類システム及び方法は、キャッシュがパケットを処理するのにかかる時間よりも多くの時間を必要とする。結果として、キャッシュは、標準的な分類システムと関連付けられた待ち時間を減少させることになる。
図4は、ヘッダ部402及びペイロード404を含むTCP/IPパケット又はフレーム400のグラフ図を示す。TCP/IPフォーマットは従来技術において周知である。従って、フォーマットのうちの本発明に係わる部分のみが、さらに論じられる。本発明に関連するフォーマットの部分は、ヘッダ402である。ヘッダ部402は、TCP部及びIP部の両方を含む。
図6は、ヘッダのIP部のIPヘッダ・フォーマット600を示す。IPヘッダ・フォーマットは従来技術において周知である。従って、ヘッダのうちの本発明にとって関心ある部分のみが論じられる。本発明に関連するIPヘッダ・フォーマットの部分は、プロトコルと表示が付されるサブフィールド、IPソース・アドレスと表示が付されるサブフィールド、及び、IP宛先アドレスと表示が付されるサブフィールドである。次に論じられるように、ソース・アドレス(SA)及び宛先アドレス(DA)は、4タプルと呼ばれる4つのパラメータのうちの2つであり、後述するフロー・キャッシュ・コントローラへのエントリとして用いられる。プロトコル・サブフィールドはまた、伝送されているパケット形式(すなわちTCP)を識別するために用いられることに注目すべきである。
図5は、TCPヘッダ・フォーマット500を示す。TCPヘッダ・フォーマットは、従来技術において周知であり、従って、本発明で用いられるフィールドのみが論じられる。用いられるフィールドは、ソース・ポート(SP)及び宛先ポート(DP)を含む。以下で論じられるように、IPヘッダ・フォーマットからのSA、DA、及び、IP TCPヘッダ・フォーマットからのSP、DPは、フロー・キャッシュで用いられることになる4タプルとして知られている。さらに関心あるものとしては、番号502により識別される制御キー502がある。各キーは、伝送されているパケット形式を識別する1ビットのフィールドである。そのビットは、パケットを生じさせるソース・デバイスによって設定される。例えば、SYNと表示が付されたキーのビットが論理「1」に設定された場合には、そのパケットは同期パケットになる。502によって識別されるパケットは、ネットワーク・デバイス間で、セッションを確立することが必要とされる。
図3は、本発明の教示によるフロー・キャッシュ・システム300の機能ブロック図を示す。フロー・キャッシュ・システムは、限定サイズの関連メモリを含み、このメモリはフローの特性とそのフローに対して取られるべき動作との間のマッピングを格納する。本発明の1つの実施形態においては、その特性とは4タプルの4つのコンポーネント、すなわちIPソース・アドレス(SA)、IP宛先アドレス(DA)、TCP宛先ポート(DP)及びソース・ポート(SP)である。コントローラ302は、受信パケットからの特性(4タプル)を、関連付けられたメモリのコンテンツと相関させる。一致が見出された場合には、次いで、4タプルに対して格納された動作が、フレーム又はパケットに適用される又は課される。フロー・キャッシュ・システム300から情報(すなわちパケットに関連して取られる動作)を抽出することで、最長プレフィックス一致又はソフトウェア管理ツリー・アルゴリズムのような従来のアルゴリズムを用いるよりもはるかに速く、パケットに対して取られるべき動作が決定される。ここで述べる説明は、層3及び層4の処理を対象とするものではあるが、これは、さらに、パケット・ヘッダからのNフィールド(OSIモデルの1つ又はそれ以上の層)を連結して「nタプル」を作成することによって、層2又は他の処理を含むように拡大することもできる。例えば、層2の動作は、層2のヘッダ・フィールドを用いて本発明の層2形態に追加することができる。
本発明が効果的であるためには、キャッシュ・サイズを制御しなければならない。キャッシュ・サイズが大き過ぎる場合には、実際にシステムの性能を低下させることがある。キャッシュは、フリークエント・フライヤのバースト持続時間においてセッション情報を維持するだけの大きさがあれば十分である。実際のインターネット・トラフィックを調べると、この間隔は約1ミリ秒であることがわかる。この間隔をネットワーク・プロセッサによって扱われるフリークエント・フライヤのパケット・レートと共に用いて、必要とされるキャッシュ・サイズを計算することができる。
理想的には、キャッシュ・サイズは、内部の高速SRAM内に納めることができ、かつ、パケット処理に利用できる時間内で検索を行うのに十分なだけ小さいものであるべきである。キャッシュが大きくなればなるほど、検索に必要とされる時間が多くなることに注目されたい。
図7は、本発明の教示によるパケット処理アルゴリズム700のフローチャートを示す。このアルゴリズムはネットワーク・プロセッサにおいて実行される。ネットワーク・パスによってサポートされる最大伝送単位(MTU)に基づいて、大容量メッセージが複数のより小さなパケットにフラグメント化される結果として、データ・フレームが典型的にはバースト状態で伝送されるため、本発明の教示を用いる場合には、データ・フレームのみが処理の対象となることが好ましい。TCP/IPプロトコルのスイートにおけるSYN、FIN、又はRSTのような他のパケットは、典型的には、必要とされるネットワーク・パスの往復遅延により時間が分離されるため、これらの種類の連続パケットはキャッシュされない。従って、データ・パケットは、TCPヘッダのフラグ・ビット502(図5)及び、場合によりIPヘッダの長さフィールド並びにTCPヘッダのデータ・オフセット・フィールドを調べることによって、データ・パケットであると識別することができる。フラグ・ビットはまた、制御ビットとも呼ばれ、これら両方は、本明細書においては互換的に用いられる。SYN、FIN、又はRSTフラグ・セットのいずれかを有するパケットは、データ・パケットではない。TCPヘッダの制御フラグ・フィールドにおいて、これらのビット値のうちのどれも設定されていない(すなわち1に等しい)場合には、次いで、IPヘッダの長さフィールドを調べなければならない。次いで、この値から、TCPヘッダのデータ・オフセット・フィールド(4を乗じたもの)を減算しなければならない。減算の結果がゼロより大きい場合には、データがパケットに存在する。或いは、0より大きい何らかの他の値を閾値として選択してもよい。その結果が、TCPパケットにデータが存在することを示す場合には、そのパケットはデータ・パケットであると考えられ、従ってフリークエント・フライヤであることになる。或いは、最初の段階として、イーサネット・ヘッダの長さフィールドのみを1,400バイトといった固定値と比較してもよい。比較値より大きい場合には、そのパケットはデータ・パケットと考えられる。
図7を再び参照すると、アルゴリズムは開始ブロック702で始まり、704へと下ってそこでパケットが受信される。パケットが受信された後、ブロック706で幾つかの最初のチェックが実行され、パケットがフリークエント・フライヤであるか、従ってキャッシュ可能であるかを確認する。ブロック708においては、IP及びTCPヘッダを調べることによってパケットがチェックされ、TCPパケットであるか確認する。TCPパケットでない場合には、完全パケット検索のための通常の転送パスが採用される(ブロック710)。通常の転送パスにおいては、パケットはネットワーク・プロセッサの完全パケット検索機構に転送される。この機構は、完全一致検索アルゴリズムでも、最長一致プレフィックス・アルゴリズムでも、又は、ソフトウェア管理ツリー・アルゴリズムでもよい。ブロック708を参照すると、パケットがTCP/IPパケットである場合には、そのパケットをチェックし(ブロック712)、このパケットが前述のフリークエント・フライヤ基準によるデータ・パケットであるか確認する(ブロック714)。これがデータ・パケットでない場合には、ブロック716において、再び通常の転送パスをたどる。これがデータ・パケットである場合(ブロック714)には、次いで、ブロック718において、パケットからの4タプルを用いてキャッシュ・ルックアップが実行される。キャッシュに一致が見出された場合(ブロック720)には、次いで、キャッシュに格納された動作が実行される(ブロック724)。通常の転送パスに係わるルックアップは避けられる。ブロック720において一致が見出されなかった場合には、次いで、完全パケット検索への通常の転送パスが実行される。さらに、パケットの4タプル及びそのパケットに実行される動作を用いて、新規なキャッシュ・エントリ(ブロック726)がキャッシュに追加される。
ここで述べる説明から、キャッシュが、上で示した構造及び完全パケット検索アルゴリズムと併せて機能することにより、より効率的なパケット分類システムを提供することは明らかである。
システムが良好に機能するためには、キャッシュのコンテンツは周期的に変更されなければならない。これは、古いエントリを削除して、キャッシュに、より新しいエントリのためのスペースを作らなければならないということを意味する。1つの実施形態によれば、図8は、エージング・アルゴリズムのフローチャート800である。エージング・アルゴリズムは、ネットワーク・プロセッサ上で実行され、周期的に関連メモリから古いエントリを削除する。このプログラムはブロック804で始まり、ブロック805へと下る。ブロック805においては、フロー・キャッシュがエージングされる頻度を制御する期間タイマーが初期化される。このタイマーは、フリークエント・フライヤの予測バースト間隔に対応する。ブロック806においては、方法は、チェック時間間隔(バースト・タイマーより短い)だけ待ち、次いで、そのチェック時間間隔の分だけ、期間タイマー値を減少させる。この時点で、層3又は層4データベースにおいて変更がなされているかチェックされる。チェック時間間隔において変更がなされていた場合には、そのキャッシュは無効であることになり、パージされるべきである。そのような場合には、キャッシュはパージされることになる(ブロック810)。次いで、処理はブロック805から継続し、新規な期間タイマーを開始させる。
データベースが変更されていなかった場合には(ブロック808)、処理はブロック812から継続する。期間タイマーが期限切れとなっているか(値がゼロに到達しているか)チェックがなされる。タイマーが期限切れとなっている場合には、キャッシュの全エントリがチェックされる(ブロック814)。タイマーが期限切れとなっていない場合には、処理はブロック806から継続する。前の期間間隔において用いられなかった各エントリは、キャッシュから除去される(ブロック816)。次いで、処理はブロック805から継続し、新規な期間タイマーを開始させる。
代替的な実施形態においては、エージング・プログラム800を用いる代わりに、アルゴリズム700をわずかに修正してエージング機能を実行することができる。ブロック726内で、追加されるべき新規なキャッシュ・エントリが利用できるスペースがない場合には、最近の使用頻度が最も低いキャッシュ・エントリを除去して新規なエントリをそこに追加することができる。
従来のアルゴリズム及びデータ構造を用いる代わりに、フロー・キャッシュを用いて通信ネットワークのパケットを分類することにより、パケットの分類に必要とされる時間が大幅に短くなり、結果として、システムのスループットが向上する。
本発明の例示的な実施形態について説明してきたが、当業者であれば、本発明の新規な教示及び進歩した用途から実質的に離れることなく、多くの修正が例示的な実施形態において可能であることを容易に理解するであろう。
本発明の教示を実施するネットワーク・デバイスをもつ通信ネットワークのブロック図を示す。 ネットワーク・プロセッサのブロック図を示す。 本発明の教示によるサブシステム(フロー・キャッシュ及びコントローラ)のブロック図を示す。 パケットのフォーマットのグラフ図を示す。 TCPヘッダのフォーマットを示す。 IPヘッダのフォーマットを示す。 本発明の教示によるコンピュータ上で実行されるプログラムのフローチャートを示す。 本発明の教示によるフロー・キャッシュをパージするためのフローチャートを示す。
符号の説明
100:ネットワーク
102:インターネット又はネットワーク
104:エッジ・デバイス
106:サブネットワーク
108:ネットワーク・プロセッサ
110:ブリッジ・デバイス

Claims (10)

  1. 通信ネットワークのトラフィックを管理する方法であって、
    (a)ネットワーク・デバイス内に、パケットに関連付けられ少なくとも予め定義された特性と、前記予め定義された特性の選択されたものと一対となる動作とを含むキャッシュを設けるステップと、
    (b)前記ネットワーク・デバイスにおいて、少なくとも1つのパケットを受信するステップと、
    (c)前記受信パケットから、前記少なくとも予め定義された特性と同様な特性を選択するステップと、
    (d)前記受信パケットから選択された特性を前記予め定義された特性と相関させるステップと、
    (e)前記相関から得た結果を用いて、前記受信パケットを処理するステップと、
    を含む方法。
  2. 前記処理が、前記受信パケットの特性が前記少なくとも予め定義された特性と一致する場合に、前記一対となる動作を前記受信パケットに対して実行するステップを含む、請求項1に記載の方法。
  3. 前記少なくとも予め定義された特性が、インターネット・プロトコル(IP)宛先アドレス(DA)、IPソース・アドレス(SA)、伝送制御プロトコル(TCP)宛先ポート(DP)、及びTCPソース・ポート(SP)を含む、請求項1又は請求項2に記載の方法。
  4. (b)において受信された前記少なくとも1つのパケットが、同じセッションに属する短いバーストのパケット内にある1つのパケットであるというフリークエント・フライヤ基準を満たす、請求項1から請求項4までのいずれか1項に記載の方法。
  5. プロセッサと、
    前記プロセッサに動作可能に結合されたキャッシュであって、パケットの予め定義された特性と動作との間のマッピングを格納し、そこでは、選択されたパケットの特性を前記予め定義された特性と相関させる第1のプログラムを前記プロセッサが実行する、キャッシュであって、前記選択されたパケットからの特性が前記予め定義された特性と一致する場合に、前記予め定義された特性に関連付けられた動作を前記選択されたパケット上で実行させる、キャッシュと
    を含むシステム。
  6. 前記予め定義された特性が、ソース・アドレス(SA)、宛先アドレス(DA)、ソース・ポート(SP)、及び宛先ポート(DP)を含む、請求項5に記載のシステム。
  7. 動作可能に前記プロセッサに結合され、完全パケット検索のためのデータ構造を格納するメモリをさらに含み、前記プロセッサに、前記データ構造をアクセスさせ、前記予め定義された特性と前記選択されたパケットからの特性との間に不一致が生じた場合には、前記選択されたパケットに前記データ構造内に格納された動作を課すようにする、第2のプログラムを、前記プロセッサが実行する、請求項5又は請求項6に記載のシステム。
  8. 前記第2のプログラムが、完全一致アルゴリズム、最長プレフィックス一致アルゴリズム、又は、ソフトウェア管理ツリー・アルゴリズムのうちの1つを含む、請求項7に記載のシステム。
  9. 前記データ構造が、直接テーブル及びパトリシア・ツリーを含む、請求項14に記載のシステム。
  10. コンピュータ・システムにロードされ、実行されたとき、前記コンピュータ・システムに、請求項1から請求項4のいずれか1項に記載された方法の全ステップを実行させるコンピュータ・プログラム・コードを含むコンピュータ・プログラム。
JP2006525824A 2003-09-11 2004-09-07 Tcpトラフィックのフロー特性に基づくキャッシング・ルックアップのための装置及び方法 Expired - Fee Related JP4591893B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/662,007 US7464181B2 (en) 2003-09-11 2003-09-11 Method for caching lookups based upon TCP traffic flow characteristics
PCT/EP2004/052068 WO2005025145A1 (en) 2003-09-11 2004-09-07 Apparatus and method for caching lookups based upon tcp traffic flow characteristics

Publications (2)

Publication Number Publication Date
JP2007534203A true JP2007534203A (ja) 2007-11-22
JP4591893B2 JP4591893B2 (ja) 2010-12-01

Family

ID=34274001

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006525824A Expired - Fee Related JP4591893B2 (ja) 2003-09-11 2004-09-07 Tcpトラフィックのフロー特性に基づくキャッシング・ルックアップのための装置及び方法

Country Status (5)

Country Link
US (2) US7464181B2 (ja)
EP (1) EP1665657A1 (ja)
JP (1) JP4591893B2 (ja)
CN (1) CN1846409B (ja)
WO (1) WO2005025145A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013183397A (ja) * 2012-03-05 2013-09-12 Kddi Corp フロー単位パケット転送のための宛先検索装置および検索方法

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7606248B1 (en) * 2002-05-10 2009-10-20 Altera Corporation Method and apparatus for using multiple network processors to achieve higher performance networking applications
US7787471B2 (en) * 2003-11-10 2010-08-31 Broadcom Corporation Field processor for a network device
US7848332B2 (en) * 2004-11-15 2010-12-07 Cisco Technology, Inc. Method and apparatus for classifying a network protocol and aligning a network protocol header relative to cache line boundary
US20060187919A1 (en) * 2005-02-18 2006-08-24 Broadcom Corporation Two stage parser for a network
US7961731B2 (en) * 2005-03-31 2011-06-14 Alcatel-Lucent Usa Inc. Method and system for real-time detection of hidden traffic patterns
US8301771B2 (en) * 2005-10-26 2012-10-30 Armstrong, Quinton Co. LLC Methods, systems, and computer program products for transmission control of sensitive application-layer data
JP4649315B2 (ja) * 2005-11-02 2011-03-09 キヤノン株式会社 通信装置及び通信方法
US7869411B2 (en) * 2005-11-21 2011-01-11 Broadcom Corporation Compact packet operation device and method
JP4232828B2 (ja) * 2007-02-01 2009-03-04 沖電気工業株式会社 アプリケーション分類方法、ネットワーク異常検知方法、アプリケーション分類プログラム、ネットワーク異常検知プログラム、アプリケーション分類装置、ネットワーク異常検知装置
CN101834777B (zh) * 2009-03-11 2015-07-29 瞻博网络公司 基于会话高速缓存的http加速
US8724487B1 (en) * 2010-02-15 2014-05-13 Cisco Technology, Inc. System and method for synchronized reporting in a network environment
WO2012144987A1 (en) * 2011-04-19 2012-10-26 Hewlett-Packard Development Company, L.P. Computing a performance characteristic of a network device
US9001830B2 (en) * 2012-09-18 2015-04-07 Cisco Technology, Inc. Ultra low latency multi-protocol network device
CN102984253B (zh) * 2012-11-27 2015-10-14 山东中创软件工程股份有限公司 一种传输控制协议粘包处理方法及装置
US9553807B2 (en) * 2014-12-24 2017-01-24 Nicira, Inc. Batch processing of packets
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
US9826071B2 (en) * 2015-08-26 2017-11-21 Barefoot Networks, Inc. Configuring a switch for extracting packet header fields
US9912774B2 (en) 2015-12-22 2018-03-06 Intel Corporation Accelerated network packet processing
US11245572B1 (en) 2017-01-31 2022-02-08 Barefoot Networks, Inc. Messaging between remote controller and forwarding element
US10320954B2 (en) * 2017-02-03 2019-06-11 Microsoft Technology Licensing, Llc Diffusing packets to identify faulty network apparatuses in multipath inter-data center networks
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
CN107707487B (zh) * 2017-09-20 2020-10-27 杭州安恒信息技术股份有限公司 一种网络业务流量的实时检索系统及实时检索方法
US10771387B1 (en) 2017-09-28 2020-09-08 Barefoot Networks, Inc. Multiple packet data container types for a processing pipeline
CN110149248B (zh) * 2019-06-06 2020-03-03 杭州商湾网络科技有限公司 一种快速统计分析路由器流量的方法
US11956204B1 (en) * 2022-12-23 2024-04-09 Plume Design, Inc. IPv4-in-IPv6 relaying systems and methods to preserve IPv4 public addresses

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5985160A (ja) * 1982-11-08 1984-05-17 Nippon Telegr & Teleph Corp <Ntt> 通信装置デ−タ転送制御方式
JPH09181776A (ja) * 1995-12-05 1997-07-11 Lucent Technol Inc Atmarpとnhrpを利用するネットワークの操作方法
JPH10322392A (ja) * 1997-05-16 1998-12-04 Hitachi Ltd パケットネットワークシステム及び通信制御装置
JP2002305541A (ja) * 2001-04-04 2002-10-18 Kddi Research & Development Laboratories Inc メッシュ網におけるロードバランシング方法
JP2003198611A (ja) * 2001-12-28 2003-07-11 Hitachi Ltd トラヒックシェーパーおよび帯域制御装置

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0501613A3 (en) * 1991-02-28 1993-09-01 Hewlett-Packard Company Heterogeneous software configuration management apparatus
US5465342A (en) * 1992-12-22 1995-11-07 International Business Machines Corporation Dynamically adaptive set associativity for cache memories
US5640531A (en) * 1993-06-22 1997-06-17 Unisys Corporation Enhanced computer operational system using auxiliary mini-cache for enhancement to general cache
US5537609A (en) * 1993-06-22 1996-07-16 Unisys Corporation Mini cache operational module for enhancement to general cache
US5781449A (en) * 1995-08-10 1998-07-14 Advanced System Technologies, Inc. Response time measurement apparatus and method
WO1997028505A1 (en) * 1996-01-31 1997-08-07 Ipsilon Networks, Inc. Improved method and apparatus for dynamically shifting between routing and switching packets in a transmission network
US5842040A (en) * 1996-06-18 1998-11-24 Storage Technology Corporation Policy caching method and apparatus for use in a communication device based on contents of one data unit in a subset of related data units
JPH1070530A (ja) * 1996-08-28 1998-03-10 Oki Electric Ind Co Ltd 情報転送システム、情報蓄積提供装置及び情報被提供装置
JP3068469B2 (ja) * 1996-08-28 2000-07-24 新潟日本電気株式会社 2次レベルキャッシュメモリシステム
US6173364B1 (en) * 1997-01-15 2001-01-09 At&T Corp. Session cache and rule caching method for a dynamic filter
US6118760A (en) * 1997-06-30 2000-09-12 Sun Microsystems, Inc. Management of entries in a network element forwarding memory
US6119202A (en) * 1997-07-24 2000-09-12 International Business Machines Corporation Method and apparatus to interleave level 1 data cache line fill data between system bus and level 2 data cache for improved processor performance
US6041053A (en) * 1997-09-18 2000-03-21 Microsfot Corporation Technique for efficiently classifying packets using a trie-indexed hierarchy forest that accommodates wildcards
US6412000B1 (en) * 1997-11-25 2002-06-25 Packeteer, Inc. Method for automatically classifying traffic in a packet communications network
US6226267B1 (en) * 1998-04-10 2001-05-01 Top Layer Networks, Inc. System and process for application-level flow connection of data processing networks
US7100020B1 (en) * 1998-05-08 2006-08-29 Freescale Semiconductor, Inc. Digital communications processor
US6247061B1 (en) * 1998-06-09 2001-06-12 Microsoft Corporation Method and computer program product for scheduling network communication packets originating from different flows having unique service requirements
US6405257B1 (en) * 1998-06-26 2002-06-11 Verizon Laboratories Inc. Method and system for burst congestion control in an internet protocol network
US6526066B1 (en) * 1998-07-16 2003-02-25 Nortel Networks Limited Apparatus for classifying a packet within a data stream in a computer network
US6286052B1 (en) * 1998-12-04 2001-09-04 Cisco Technology, Inc. Method and apparatus for identifying network data traffic flows and for applying quality of service treatments to the flows
US6185221B1 (en) * 1998-11-09 2001-02-06 Cabletron Systems, Inc. Method and apparatus for fair and efficient scheduling of variable-size data packets in an input-buffered multipoint switch
US6381649B1 (en) * 1999-02-05 2002-04-30 Pluris, Inc. Data flow monitoring at a network node using periodically incremented counters for comparison to predetermined data flow thresholds
US6356951B1 (en) * 1999-03-01 2002-03-12 Sun Microsystems, Inc. System for parsing a packet for conformity with a predetermined protocol using mask and comparison values included in a parsing instruction
US6460120B1 (en) * 1999-08-27 2002-10-01 International Business Machines Corporation Network processor, memory organization and methods
US6404752B1 (en) * 1999-08-27 2002-06-11 International Business Machines Corporation Network switch using network processor and methods
US6577596B1 (en) * 1999-11-30 2003-06-10 Telefonaktiebolaget Ln Ericsson (Publ) Method and apparatus for packet delay reduction using scheduling and header compression
US6496935B1 (en) * 2000-03-02 2002-12-17 Check Point Software Technologies Ltd System, device and method for rapid packet filtering and processing
US6754662B1 (en) * 2000-08-01 2004-06-22 Nortel Networks Limited Method and apparatus for fast and consistent packet classification via efficient hash-caching
CN1165184C (zh) * 2001-05-08 2004-09-01 华为技术有限公司 一种适合实现路由器服务质量的综合业务中的调度方法
US7007095B2 (en) * 2001-12-07 2006-02-28 Redback Networks Inc. Method and apparatus for unscheduled flow control in packet form
US7760645B2 (en) * 2002-02-25 2010-07-20 Olsonet Communications Method for routing ad-hoc signals

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5985160A (ja) * 1982-11-08 1984-05-17 Nippon Telegr & Teleph Corp <Ntt> 通信装置デ−タ転送制御方式
JPH09181776A (ja) * 1995-12-05 1997-07-11 Lucent Technol Inc Atmarpとnhrpを利用するネットワークの操作方法
JPH10322392A (ja) * 1997-05-16 1998-12-04 Hitachi Ltd パケットネットワークシステム及び通信制御装置
JP2002305541A (ja) * 2001-04-04 2002-10-18 Kddi Research & Development Laboratories Inc メッシュ網におけるロードバランシング方法
JP2003198611A (ja) * 2001-12-28 2003-07-11 Hitachi Ltd トラヒックシェーパーおよび帯域制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013183397A (ja) * 2012-03-05 2013-09-12 Kddi Corp フロー単位パケット転送のための宛先検索装置および検索方法

Also Published As

Publication number Publication date
US8005989B2 (en) 2011-08-23
EP1665657A1 (en) 2006-06-07
CN1846409B (zh) 2010-12-22
US20050060428A1 (en) 2005-03-17
US20080298244A1 (en) 2008-12-04
WO2005025145A1 (en) 2005-03-17
CN1846409A (zh) 2006-10-11
US7464181B2 (en) 2008-12-09
JP4591893B2 (ja) 2010-12-01

Similar Documents

Publication Publication Date Title
JP4591893B2 (ja) Tcpトラフィックのフロー特性に基づくキャッシング・ルックアップのための装置及び方法
US7760737B2 (en) Method for reordering and reassembling data packets in a network
US6781992B1 (en) Queue engine for reassembling and reordering data packets in a network
US6674769B1 (en) Simultaneous searching of layer 3 policy filter and policy cache in a network switch port
US6798788B1 (en) Arrangement determining policies for layer 3 frame fragments in a network switch
JP3717836B2 (ja) ダイナミック・ロード・バランサ
US6714985B1 (en) Method and apparatus for efficiently reassembling fragments received at an intermediate station in a computer network
EP1754349B1 (en) Hardware filtering support for denial-of-service attacks
US7355971B2 (en) Determining packet size in networking
US7065086B2 (en) Method and system for efficient layer 3-layer 7 routing of internet protocol (“IP”) fragments
US11374858B2 (en) Methods and systems for directing traffic flows based on traffic flow classifications
US6571291B1 (en) Apparatus and method for validating and updating an IP checksum in a network switching system
US20050276230A1 (en) Communication statistic information collection apparatus
WO2020063298A1 (zh) 处理tcp报文的方法、toe组件以及网络设备
WO2009052452A2 (en) Virtual dispersive routing
US20210409316A1 (en) Methods and systems for classifying traffic flows based on packet processing metadata
JP2002271396A (ja) ネットワーク・データ・パケット分類及び逆多重化
US20060176893A1 (en) Method of dynamic queue management for stable packet forwarding and network processor element therefor
US6950429B2 (en) IP data transmission network using a route selection based on level 4/5 protocol information
US20140334491A1 (en) Prediction based methods for fast routing of ip flows using communication/network processors
EP1355472B1 (en) Method and system to determine the most appropriate software layer after reception of a packet
WO2010081321A1 (zh) 实现上送速率动态联动的方法、装置和系统
JP2005347969A (ja) パケット転送装置およびパケット転送方法
JP4597102B2 (ja) パケット交換装置
US9152494B2 (en) Method and apparatus for data packet integrity checking in a processor

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091020

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091225

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20091225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20091228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100528

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20100902

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100907

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130924

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4591893

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees