JP3936883B2 - フロー検出装置およびフロー検出機能を備えたパケット転送装置 - Google Patents
フロー検出装置およびフロー検出機能を備えたパケット転送装置 Download PDFInfo
- Publication number
- JP3936883B2 JP3936883B2 JP2002105362A JP2002105362A JP3936883B2 JP 3936883 B2 JP3936883 B2 JP 3936883B2 JP 2002105362 A JP2002105362 A JP 2002105362A JP 2002105362 A JP2002105362 A JP 2002105362A JP 3936883 B2 JP3936883 B2 JP 3936883B2
- Authority
- JP
- Japan
- Prior art keywords
- flow
- search key
- packet
- flow detection
- cam
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
本発明は、複数のネットワークを接続するパケット転送装置およびフロー検出装置に関し、更に詳しくは、CAM(Content Addressable Memory)を利用したフロー検出装置およびパケット転送装置に関する。
【0002】
【従来の技術】
IP(Internet Protocol)ネットワークを構成するパケット転送装置、例えば、ルータは、受信パケットのヘッダ情報から該パケットの属するフローを検出するフロー検出機能が必要となる。ここで、フローとは、パケットの入力回線または出力回線の識別子(回線番号)や、受信パケットのヘッダに含まれるIPアドレス、プロトコル識別子、優先度等の情報の組み合せによって特定される一連のパケットを意味している。パケット転送装置は、フロー検出部によって検出されたフロー毎に、例えば、パケット廃棄の要否判定(フィルタリング判定)や、通信品質を確保するためのパケット転送優先度(QoS:Quality of Service)の判定等のフロー制御を行う。
【0003】
近年、IPトラフィックの急増に対応するために、フロー検出の高速化が検討されている。例えば、2000年電子情報通信学会総合大会講演論文集、SB−4−2には、CAM(Content Addressable Memory)を利用した「連想メモリを用いたフロー識別法」(従来技術1)が開示されている。
【0004】
CAMを使用したフロー検出では、図2に示すように、フロー制御部61で検索キーKEYを生成し、CAM62に与える。CAM62には、図3に示すように、フロー識別条件となる項目値を記述した複数のフローエントリ620−1〜620−nが格納してあり、CAMからは、検索キーKEYと一致したフロー識別条件をもつフローエントリのアドレスが出力される。フロー制御部61は、CAM62のフローエントリアドレスと対応して入力パケットに実施すべき転送制御を指示した検索結果保持テーブル63を備えており、検索結果保持テーブル63から上記CAM出力アドレスと対応した転送制御指示を読み出し、該指示に従って入力パケットを処理する。CAMは、エントリの検索所要時間が登録フローエントリ数に依存しないため、CAMを利用することによってフロー検出を高速化することができる。
【0005】
従来技術1は、入力パケットのヘッダ情報からフロー識別に必要な全ての項目(フィールド)、例えば、送信元IPアドレス601、宛先IPアドレス602、プロトコル603等を検索キー情報として抽出し、CAM62内に検索キーと一致するフローエントリが複数存在していた場合、アドレスが最も若いエントリを優先させることを提案している。また、従来技術1は、1つのCAM内に、長いビット幅を持つフロー識別用のエントリと、短いビット幅をもつフォワーディング制御用のエントリとを登録しておき、検索キーが示すフロー識別条件に一致するフロー識別エントリと、フロー識別条件の上位特定項目に一致したフォワーディング制御用のエントリとを同時に検索することを提案している。
【0006】
IPネットワークでは、IPv6(RFC2460、Internet Protocol Version 6(IPv6) Specification、 R.Hinden他)によるIPアドレスの拡張、MPLS−VPN(RFC2547、BGP/MPLS VPNs、E.Rosen他)、MPLS Fast Reroute(draft-haskin-mpls-fast-reroute-05.txt、”Method for Setting an Alternative Label Switched Paths to Handle Fast Reroute” D.Haskin他)によるMPLSラベルスタック(RFC3032、”MPLS Label Stack Encoding” E.Rosen他)等の新規技術に対応するために、パケット転送装置のフロー検出部における検索キー(フロー識別条件)のビット長が拡大し、フロー識別条件が多様化する傾向にある。
【0007】
フロー識別条件のビット長が増大し、CAMで提供可能な検索ビット幅を超えた場合の対策として、例えば、2000年電子情報通信学会通信ソサイエティ大会B−6−21では、検索キーを2分割し、前半キーによるフローエントリ検索と後半キーによるフローエントリ検索の2回の検索を実行することによって、フロー検出条件に合致したエントリを見つける「連想メモリを用いたIPv6のフロー識別法」(従来技術2)が提案されている。
【0008】
従来技術2では、図4のように、CAMを前半用フローエントリ領域62Aと後半用フローエントリ領域62Bに分け、各フローエントリに、前後半の区分フィールド621とルール番号フィールド622を与えている。また、検索結果保持テーブル63(63A、63B)で、後半検索の要否631、ルール番号632、アクション633を指定している。前半キーKEY−Aと前半用フローエントリでは、ルール番号フィールド622がDon't Care値となっており、前半キーKEY−AによるCAM検索の結果、検索結果保持テーブル63Aからルール番号が特定され、このルール番号を適用した後半キーKEY−BによるCAM検索によって、入力パケットに対して実行すべきアクションが決まる。
【0009】
また、特開2001−156840号公報(従来技術3)には、入力パケットのヘッダから、フロー識別条件となり得る特定のフィールド、例えば、IPヘッダに含まれる送信元アドレス、宛先アドレス、プロトコル、TOS(Type of Service)と、TCPまたはUDPヘッダに含まれる発信元ポート、宛先ポートを抽出し、これらのフィールド項目に対して、予め入力論理リンク番号と対応して検索フラグテーブルに登録されたマスク用のフラグビットを適用することによって、入力論理リンク毎に、フロー検出に必要な項目(フィールド)にのみ有効データを残し、フロー検出に不要な項目は無効値に置き換えた形の検索キーを生成し、この検索キーでフロー検索テーブル用のCAMをアクセスするようにしたフロー識別装置が提案されている。
【0010】
【発明が解決しようとする課題】
然るに、上記従来技術2は、検索キーのビット長が増大した場合の1つの解決策を提案したものであって、検索キーおよびフローエントリのビット長短縮を意図したものではない。また、従来技術3は、フロー識別条件となり得るヘッダ情報項目の全てを含む汎用的な検索キー・フォーマットを採用し、入力論理リンク毎に、不要となるヘッダ情報項目をマスキングすることによって、検索キーとフローエントリとの照合を容易にしたものであり、従来技術2と同様、検索キーおよびフローエントリのビット長短縮を意図したものではない。
多様化するフロー識別条件に対して、このように汎用化された同一フォーマットの検索キーで対応しようとすると、検索キーのビット長が増大し、CAM62とフロー制御用LSI61におけるピンネックおよびCAMの容量不足の問題に直面する。
【0011】
本発明の目的は、CAMを有効に利用して、多様化されたフロー識別条件に対応できるフロー検出装置およびパケット転送装置を提供することにある。
本発明の他の目的は、CAM検索キーのビット長を短縮することによって、フロー識別条件が多様化した場合でも、CAM容量を有効に利用できるフロー検出装置およびパケット転送装置を提供することにある。
【0012】
【課題を解決するための手段】
上記目的を達成するため、本発明のフロー検出装置は、複数のフロー定義エントリを有するフロー検出CAM(Content Addressable Memory)と、フロー識別条件によって異なるフォーマットの検索キーを生成する検索キー生成部と、上記CAMの各フロー定義エントリのアドレスと対応してフロー検索結果を保持するテーブルとを備え、上記CAMをフロー識別条件に応じてパケットヘッダから抽出された少なくとも1つのヘッダ情報項目を含む可変フォーマットの検索キーでアクセスし、上記CAMから出力される上記検索キーに一致したフロー定義エントリのアドレスに従って、上記テーブルからフロー検索結果を得るようにしたことを特徴とする。
【0013】
上記フロー検出CAMは、例えば、検索キー・フォーマットの種類と対応した複数のテーブル領域からなり、テーブル領域毎に、フロー識別条件となるヘッダ情報項目の値を記述した複数のフロー定義エントリを有し、検索キーに一致した最初のフロー定義エントリのアドレスを出力する。
【0014】
また、本発明は、複数の入、出力回線に接続され、各入力回線から受信したパケットをヘッダ情報によって特定される何れかの出力回線に転送するパケット転送装置において、各受信パケットのヘッダ情報から該パケットが属するパケットフローを識別するためのフロー検出部と、各受信パケットに対して予めパケットフロー毎に指定された転送制御を実施するための手段とを有し、
上記フロー検出部が、複数のフロー定義エントリを有するフロー検出CAMと、フロー識別条件によって異なるフォーマットの検索キーを生成する検索キー生成部とを備え、上記CAMをパケットヘッダから抽出された少なくとも1つのヘッダ情報項目を含む可変フォーマットの検索キーでアクセスして、フロー検出することを特徴とする。
更に詳述すると、上記検索キー生成部は、例えば、各入力回線の識別子と対応してフロー識別条件となるヘッダ情報項目を指定した検索キー定義テーブルを備え、各受信パケットの入力回線の識別子に基づいて上記検索キー定義テーブルを参照し、該テーブルで指定されたヘッダ情報項目を含む検索キーを生成する。
【0015】
本発明の1実施例によれば、上記検索キー生成部が、各入力回線の識別子とフロー検出モードとの対応関係を示すフロー検出モードテーブルと、上記フロー検出モードテーブルが示す各フロー検出モードと対応してフロー識別条件となるヘッダ情報項目を指定した検索キー定義テーブルを備え、上記検索キー生成部が、上記フロー検出モードテーブルを参照して各受信パケットのフロー検出モードを特定し、上記検索キー定義テーブルが示す上記特定フロー検出モードのフロー識別条件に従って、検索キーを生成する。
【0016】
本発明の別の実施例では、上記検索キー生成部が、各入力回線の識別子とモード識別条件との対応関係を示すモード識別条件テーブルと、各入力回線の識別子とモード識別条件とフロー検出モードとの対応関係を示す検出モードテーブルと、上記フロー検出モードテーブルが示す各フロー検出モードと対応してフロー識別条件となるヘッダ情報項目を指定した検索キー定義テーブルを備え、上記検索キー生成部が、各受信パケットの入力回線の識別子と上記モード識別条件テーブルで指定されたモード識別条件に従って、上記フロー検出モードテーブルから各受信パケットのフロー検出モードを特定し、上記検索キー定義テーブルが示す上記特定フロー検出モードのフロー識別条件に従って、検索キーを生成する。
【0017】
ここで、フロー検出部が参照するヘッダ情報には、各入力回線に接続された入力回線インタフェースで生成された内部ヘッダ情報を含む。内部ヘッダ情報は、例えば、入力回線識別子、出力回線識別子、転送優先度情報を示す複数のフィールドからなり、1つの物理回線上に論理的な複数のパスが多重化される場合は、上記入/出力回線識別子として、物理回線識別子と論理回線識別子とが適用される。また、モード識別条件テーブルには、同一入力回線上に多重化されたパス毎にフロー識別条件を設定する場合に、モード識別条件として、例えば、入力論理回線番号やフローラベル等のパス特定情報が記憶される。
【0018】
本発明によれば、CAM検索キーが、冗長フィールドのない、各受信パケットのフロー識別に必要な項目のみを含むフォーマットとなっているため、検索キーとCAMフローエントリのビット長を短縮することができ、フロー識別条件が多様化しても、CAM容量を有効に利用して、高速のフロー検索が可能となる。
【0019】
【発明の実施の形態】
以下、本発明の実施例について、図面を参照して説明する。
図5は、本発明のパケット転送装置が適用される通信ネットワークの1例を示す。
この通信ネットワークでは、企業Aに属したサイトA1とA2、企業Bに属したサイトB1とB2が、それぞれキャリアIPネットワーク200を介して通信する。
【0020】
キャリアIPネットワーク200は、エッジルータ201、202と、これらのエッジルータ間に配置されたバックボーンルータ203、204からなる。キャリアIPネットワーク200内でのパケット転送は、例えば、IPパケットに付加されたMPLSラベルによりパスを識別するMPLS(Multi Protocol Label Switching)によって行われる。MPLSでは、トラフィックエンジニアリングやVPN(仮想閉域網)を実現でき、EXP(EXPerimental)ビットフィールドでパケット転送の優先度を表示することができる。
【0021】
サイトA1は、ゲートウェイ(GW)ルータ211を介してエッジルータ201に接続される複数の端末212、213、・・・からなり、サイトA2は、GWルータ231を介してエッジルータ202に接続される複数の端末232、233、・・・からなる。同様に、サイトB1は、GWルータ221を介してエッジルータ201に接続される複数の端末222、223、・・・からなり、サイトB2は、GWルータ241を介してエッジルータ202に接続される複数の端末242、243、・・・からなる。
【0022】
本発明のパケット転送装置は、エッジルータ201、202に適用される。以下の説明では、サイトA1、B1とエッジルータ201との間で、IPv6アドレスをもつIPパケットが通信されるものと仮定する。本発明では、例えば、GWルータ221からエッジルータ201に向かうパケットフローFL1、エッジルータ201からGWルータ211に向かうパケットフローFL2、エッジルータ201からバックボーンルータ203に向かうパケットフローFL3のように、エッジルータ201が、各入力パケットの属したフローを識別し、各入力パケットに対して、フロー毎に予め指定された転送制御制御を実行する。
【0023】
図6は、エッジルータ201が扱うパケットフォーマットを示す。
図6(A)は、エッジルータ201とサイトA1、B1との間で送受信されるパケット500のフォーマットを示す。パケット500は、データ(ユーザ情報)部510に、ISO参照モデルにおけるレイヤ4(トランスポート層)のヘッダ520、レイヤ3(ネットワーク層)のヘッダ530、レイヤ2(データリンク層)のヘッダ540からなるパケットヘッダを付加した構成となっている。
【0024】
レイヤ4ヘッダ520は、上位アプリケーションを表す送信ポート(Source Port:「SPORT」)521と、宛先ポート(Destination Port:「DPORT」)522と、図面では省略されたシーケンス番号などの情報を含む。レイヤ3ヘッダ530は、送信元IPアドレス(Source IP Address:「SIP」)531、宛先IPアドレス(Destination IP Address:「DIP」)532、フローラベル533、その他の情報を含む。
【0025】
レイヤ2ヘッダ540には、GWルータ211、221とエッジルータ201との接続回線の種類に応じて、例えば、イーサネット(登録商標)の場合は、送信元MACアドレスと宛先MACアドレス、フレームリレー回線の場合はDLCI(Data Link Connection Identifier)等の情報が設定される。接続回線がATM回線の場合、データ部510〜レイヤ3ヘッダ530からなるIPパケットが固定長の複数のブロック分割され、各ブロックにVPI/VCIを含むセルヘッダを付加し、ATMセル形式のデータ転送が行われる。この場合、レイヤ2ヘッダ540は、ATMセルに付加すべきVPI/VCIを意味している。ここでは、ネットワーク層のプロトコルがIPのパケットフォーマットを示したが、本発明のフロー制御は、ネットワーク層のプロトコルがIP以外のもの、例えば、IPX等であっても良い。
【0026】
図6(B)は、エッジルータ201とバックボーンルータ203、204との間で送受信されるパケット501のフォーマットを示す。
パケット501は、パケット500のレイヤ2ヘッダ540とレイヤ3ヘッダ530との間に、MPLS用のShimヘッダ550を付加した構成となっている。Shimヘッダ550は、MPLSラベル551と、優先度等を表すEXP552と、TTL(生存時間)等の情報を含む。
【0027】
図6(C)は、エッジルータ201内部でのパケット転送とフロー制御のために、上記パケット500および501の先頭に付加される内部ヘッダ560の構成を示す。
内部ヘッダ560は、例えば、パケットを受信した入力回線の識別子(物理回線番号561と論理回線番号562)と、パケットを送出すべき出力回線の識別子(物理番号回線563と論理回線番号564)と、パケット転送の優先度565とを示すフィールドからなっている。論理回線番号562、564を示すフィールドの内容は、例えば、ATM回線やMPLS回線のように、入出力回線上に複数のパスが多重化されている場合に有効となる。
【0028】
図1は、上述したエッジルータ201として適用可能な本発明によるパケット転送装置10の1実施例を示す。
パケット転送装置10は、それぞれ入力回線INi(i=1〜n)に接続された複数の入力回線インタフェース11−i(i=1〜n)と、それぞれ出力回線OUTi(i=1〜n)に接続された複数の出力回線インタフェース12−i(i=1〜n)と、出力回線インタフェース12−i毎に設けられた出力バッファ13−iおよびパケット振り分け回路18−i(i=1〜n)と、上記複数の入力回線インタフェース11−iおよびパケット振り分け回路18−iに接続されたパケット中継部(パケットスイッチ部)14と、各入力回線インタフェース11−iで受信された可変長パケットの転送先となる出力回線の判定(ルーティング)機能とフロー検出機能とを備えた制御部15と、上記各入力回線インタフェース11−iから信号線L1−i(i=1〜n)に出力されたパケットヘッダ情報を順次に制御部15に供給する多重化回路16と、制御部15が信号線L2、L3に出力した出力回線識別子(出力回線番号)とフロー制御指示情報を各パケットヘッダ情報の送信元となる入力回線インタフェース11−iに供給する振り分け回路17とからなる。
後述するように、制御部15は、各種のテーブルおよびCAMを備えており、これらのテーブル類へのデータ設定は管理端末90から信号線L4を介して行われる。
【0029】
図7は、入力回線インタフェース11−iと制御部15の詳細を示す。
入力回線インタフェース11−iは、入力回線INiからの受信信号から入力パケット500または501を再生するL2終端部111と、L2終端部111から受信した入力パケットに内部ヘッダ530を付加し、内部パケットとして出力する内部ヘッダ付加部112と、内部ヘッダ付加部112から受信した内部パケットを入力バッファ114に格納すると共に、内部パケットから抽出したパケットヘッダ(レイヤ4ヘッダ520〜内部ヘッダ560)を信号線L1−iに出力するパケットヘッダ抽出部113と、入力バッファ114に蓄積されたパケットのヘッダ情報の書き換えとパケット中継部14への転送を制御するパケット転送制御部115と、入力バッファ114からヘッダ変換されたパケットを読み出すパケット読出し部116とからなる。
【0030】
L2終端部111は、入力回線INiからの受信パケットがATMセルの場合、受信セルから入力パケット500または501を再生し、受信セルヘッダから抽出したVPI/VCIの値をレイヤ2ヘッダ540に設定する。内部ヘッダ付加部112は、図6の(C)に示したフォーマットを持つ内部ヘッダ560を生成し、予め指定してある入力回線INiの識別子(番号)を入力物理回線番号561に設定する。入力回線上に多重化パスが形成されていた場合は、パス識別子が入力論理回線番号562に設定され、そうでない場合は、入力論理回線番号562に無意味な値が設定される。この時点では、出力物理回線番号563、出力論理回線番号564、パケット転送優先度565には、無意味な値が設定される。
【0031】
制御部15は、ルーティング処理部20と、フロー検出部30と、フロー制御指示部40とからなっている。
ルーティング処理部20は、ルーティングテーブルを備え、多重化回路16から信号線L1に出力されるパケットヘッダ情報から宛先IPアドレス522を抽出し、ルーティングテーブルから上記宛先IPアドレスと対応して予め登録されている出力回線識別子(出力物理回線番号と出力論理回線番号)を読出して、信号線L2に出力する。
【0032】
フロー検出部30は、後述するように、フロー識別条件に応じて上記パケットヘッダ情報から抽出した複数のヘッダ情報項目からなる検索キーを生成し、フロー検出CAMから上記検索キーに該当したフローエントリを検索する。フロー制御指示部40は、フロー検出CAMから信号線L5に出力されるフローエントリアドレスの値に従って、検索結果保持テーブルを参照し、該テーブルで指定されたフロー制御指示情報(パケット処理の種類または転送優先度)を信号線L3に出力する。
【0033】
信号線L2に出力された出力回線識別子と、信号線L3に出力されたフロー制御指示情報は、振り分け回路17に入力される。振り分け回路17には、信号線L1に出力されたパケットヘッダ情報中の入力回線番号561の値iが制御信号として与えてあり、信号線L2、L3から入力された出力回線番号とフロー制御指示情報が、上記入力回線番号iで特定される入力回線インタフェース11−iのパケット転送制御部115に振り分けられる。
【0034】
フロー制御指示情報が特定の優先度付与を示していた場合、パケット転送制御部115は、入力バッファ114に蓄積された先頭パケットの内部ヘッダ560に、上記振り分け回路17から受信した出力回線識別子(出力物理回線番号563と出力論理回線番号564の値)と優先度(パケット転送優先度565の値)を書き込み、信号線L115を介して、パケット読出し部116に上記パケットの読出しを指示する。これによって、入力パケットに対するQoS制御が実現される。
フロー制御指示情報がパケット廃棄を示していた場合は、上記内部ヘッダ560への情報の書き込みとパケット読出し部116へのパケット読出しの指示は省略され、受信パケットが廃棄処理される。これによって、入力パケットのフィルタリング制御が実現される。
【0035】
パケット転送制御部115は、入力バッファ114からのパケットの転送または廃棄の都度、入力バッファの読出しアドレスを次パケットの先頭アドレスに位置付けることによって、入力バッファ中の蓄積パケットを次々と処理する。
図7に示した実施例では、ルーティング処理部20が複数の入力回線インタフェースで共用される構成となっているが、ルーティング処理部20を各入力回線インタフェース11−iに配置し、制御部15がフロー検出部30とフロー制御指示部40を備えた構成としてもよい。
【0036】
図1において、パケット中継部14は、入力回線インタフェース11−i(i=1〜n)と接続される入力ポートPIi(i=1〜n)と、パケット振り分け回路18−i(i=1〜n)と接続される出力ポートPOi(i=1〜n)とを備えており、各入力ポートPIiから受信したパケットを出力物理回線番号563の値jで特定される出力ポートPIjにスイッチングする。送信バッファ13−jは、優先度に対応した複数の送信キューからなっており、振り分け回路18―jは、出力ポートPIjから出力されたパケットを内部ヘッダのパケット転送優先度565に従って、何れかの送信キューに蓄積する。出力回線インタフェース12−jは、送信バッファ13−jの蓄積パケットを優先度順に読み出し、内部ヘッダ530を除去した後、出力回線OUTjのデータリンク層プロトコルに従ったL2ヘッダを付加した形で、出力回線OUTjに送出する。
【0037】
図8は、フロー検出部30とフロー制御指示部40の1実施例を示す。
フロー検出部30は、検索キー生成部31と、CAM制御部32と、フロー検出CAM33とからなる。検索キー生成部31は、信号線L1から受信したヘッダ情報を格納するためのヘッダ情報レジスタ310と、フロー検出モードテーブル311と、検索キー定義テーブル312と、検索キー生成制御部313とからなっている。
【0038】
フロー検出モードテーブル311は、例えば、図9に示すように、入力回線番号(入力物理回線番号)3111と対応して、入力回線上のプロトコルを示す識別子3112と、フロー検出モード3113とを示した複数のエントリ311−1、311−2、…からなっている。フロー検出モード3113は、検索キー生成制御部313で生成すべき検索キーのフォーマット種類(タイプ)を示している。
【0039】
また、検索キー定義テーブル312は、例えば、図10に示すように、フロー検出モード3121と対応して、フロー識別条件となる検索キー要素3122を指定した複数のエントリ312−1、312−2、・・・からなっている。検索キー要素3122は、検索キー生成制御部313で生成すべき検索キーの構成要素となるヘッダ情報の項目名(フィールド名)を示している。
【0040】
ここで、エントリ312−1は、検出モード1のフローが、入力パケットのMPLSフィールド551とEXPフィールド552(図6(B)参照)の組み合せによって識別されことを意味し、エントリ312−2は、検出モード2のフローが、入力パケットのSIP531とSPORT521の組み合せによって決まることを意味している。また、エントリ312−3は、検出モード3のフローが、入力パケットのDIP532とDPORT522の組み合せによって決まることを意味している。
【0041】
図8に戻って、ヘッダ情報レジスタ310には、信号線L1を介して、パケットヘッダ抽出部113で抽出した入力パケットのヘッダ情報560〜520が設定される。本実施例において、検索キー生成制御部313は、ヘッダ情報レジスタ310に設定されたヘッダ情報の中から、信号線S1で示すように、内部ヘッダ560の先頭に位置した入力物理回線番号(以下、単に入力回線番号という)フィールド561の値を読み出し、フロー検出モードテーブル311から、上記入力回線番号561(信号線S2)と対応したプロトコル識別子3112(信号線S3)とフロー検出モード3113(信号線S4)を読み出す。
【0042】
検索キー生成制御部313は、フロー検出モード3113(信号線S5)に従って検索キー定義テーブル312を参照し、上記フロー検出モードと対応する検索キー要素3112(信号線S6)を読み出す。また、ヘッダ情報レジスタ310から、上記検索キー要素3112で指定されたヘッダ情報項目(信号線S7)の値を読み出して、これらのヘッダ情報項目を含むフロー検索キーKEYを生成する。
【0043】
尚、ヘッダ情報レジスタ310に格納されたヘッダ情報は、図6の(A)、(B)で示したように、入力回線によって部分的に異なったフォーマットとなっているが、レジスタ310に格納されているヘッダ情報のフォーマットは、フロー検出モードテーブル311から読み出されたプロトコル識別子3112によって特定されるため、検索キー生成制御部313は、上記プロトコル識別子に従って、ヘッダ情報レジスタ310から検索キー要素3112で指定された任意のヘッダ情報項目を抽出できる。また、フロー検出モードテーブル311と検索キー定義テーブル312へのエントリの設定と更新は、管理端末90から信号線L4、検索キー生成制御部313を介して行われる。
【0044】
図11は、検索キー生成制御部313で生成されるフロー検索キーの1例を示す。
フロー検索キーは、フロー検出モード321と、入力回線番号322と、検索キー定義テーブル312で指定された検索キー要素323、324、・・・とからなる。ここに示したフロー検索キーKEY1〜KEY3は、それぞれ図10に示した検出モード1〜検出モード3に対応している。
【0045】
本実施例によれば、回線番号1の入力回線からの受信パケットを処理する時は、モード1、入力回線番号1、MPLS、EXPからなるフォーマットのフロー検索キーKEY1が生成され、回線番号2の入力回線からの受信パケットを処理する時は、モード2、入力回線番号2、SIP、SPORTからなるフォーマットのフロー検索キーKEY2が生成される。また、回線番号3の入力回線からの受信パケットを処理する時は、モード3、入力回線番号3、DIP、DPORTからなるフォーマットのフロー検索キーKEY3が生成される。
検索キー生成制御部313で生成されたフロー検索キーKEYは、CAM制御部32に与えられる。CAM制御部32は、上記フロー検索キーKEYに従ってフロー検出CAM33をアクセスする。
【0046】
本発明において、フロー検出CAM33は、例えば、図12に示すように、フロー検出モード(フロー検出キー・フォーマット)と対応した複数のテーブル領域330−1〜330−nに分割され、各テーブル領域330−jには、フロー検索キーと対応したヘッダ情報項目を記述した複数のフローエントリEN−jk(j=1〜n、k=1、2、・・・)が登録されている。
【0047】
従って、前述のフロー検索キーKEY1でアクセスした場合、テーブル領域330−1に登録されたエントリEN−11〜EN−1iのうちの何れが検索され、最初に見つかったフローエントリのアドレスが信号線L5に出力される。同様に、フロー検索キーKEY2でアクセスした場合は、テーブル領域330−2に登録されたエントリ群(EN−21〜EN−2j)、フロー検索キーKEY3でアクセスした場合は、テーブル領域330−3に登録されたエントリ群(EN−31、EN−32、・・・)の中から検索条件に合致したエントリが検索され、それぞれの領域で最初に見つかったエントリアドレスが信号線L5に出力される。尚、フロー検出CAM33へのフローエントリの設定と更新は、管理端末90から信号線L4、CAM制御部32を介して行われる。
【0048】
フレー検出CAM33から信号線L5に出力されたエントリアドレスは、フロー制御指示部40に入力される。フロー制御指示部40は、図8に示すように、テーブル制御部41と、検索結果保持テーブル42とからなる。
【0049】
検索結果保持テーブル42は、CAM検索結果を保持するためのものであり、例えば、図13に示すように、フロー検索CAM33のフローエントリアドレスと対応した複数のエントリ410−1〜410−qを含んでいる。これらのエントリ410−1〜410−qには、フロー制御指示情報として、入力パケットに与えるべきQoS制御(優先度)情報やフィルタリング制御情報が設定されている。
【0050】
テーブル制御部41は、上記信号線L5からフローエントリアドレスを受信すると、検索結果保持テーブル42から上記フローエントリアドレスと対応するフロー制御指示情報を信号線L3に読み出す。検索結果保持テーブル42へのエントリの設定と更新は、管理端末90から信号線L4、テーブル制御部41を介して行われる。
【0051】
上述したように、本発明のフロー検出部30では、入力回線毎に、予め検索キー定義テーブル312で指定されたフロー識別条件に従って、フロー検索キーKEYを生成し、フロー検出CAM33から上記フロー検索キーKEYに一致したフローエントリを検索するようにしている。従って、本発明によれば、図11に示したように、各フロー検索キーKEYが、入力回線毎に固有のヘッダ情報項目のみを組み合せた構造となるため、フロー検索キーのビット長を短縮することが可能となる。また、フロー検索キーのビット長が短縮された結果、フロー定義CAM33に登録されるフローエントリのビット長も短縮され、フロー定義CAM33のメモリ容量を有効に利用できる。
【0052】
これに対して、例えば、従来技術1のように、常に同一フォーマットの検索キーでCAMをアクセスする方式を採用した場合は、上述したモード1〜モード3のようにヘッダ情報の組み合せを異にした複数種類のフロー識別条件が必要となった時、フロー検索キーとCAMエントリが、個々のフロー検出では無用となる冗長なフィールドを含むことになる。
【0053】
例えば、図10に示したモード1〜モード3の3種類のフロー検出を従来技術で実現しようとすると、入力回線番号、MPLS、EXP、SIP、SPORT、DIP、DPORTの7つのフィールドからなる検索キー・フォーマットにおいて、モード1のフロー検出では、検索キーとフローエントリのSIP、SPORT、DIP、DPORTフィールドをDon't Care値とし、モード2のフロー検出では、MPLS、EXP、DIP、DPORTフィールドをDon't Care値、モード3のフロー検出では、MPLS、EXP、SIP、SPORTフィールドをDon't Care値とする必要がある。
【0054】
この場合、本発明に比較して、検索キーのビット長が増大し、CAM容量の利用率が大幅に低下することは明らかである。また、CAMで検索可能なエントリビット幅の制約から、例えば、従来技術2のように、検索キーを前半キーと後半キーに分け、CAMを前半用フローエントリ領域と後半用フローエントリ領域に分割せざるを得なくなった場合、上述したCAM容量の利用率低下の他に、フロー処理の所要時間増加の問題が発生する。これらの問題は、本発明を適用することによって解決される。
【0055】
図8に示したフロー検出部30では、検索キー生成制御部313が、フロー検出モードテーブル311と検索キー定義テーブル312を使用して、入力回線毎に固有のフロー検索キーKEYを生成したが、入力回線番号とフロー識別条件とが1対1の関係にある場合は、フロー検出モードテーブル311と検索キー定義テーブル312とを統合し、フロー検出モード3113を介在させることなく、検索キー生成制御部313が、入力回線番号(S2)に基づいて、統合テーブルからプロトコル識別子3112(S3)と検索キー要素3122(S6)を直接的に入手するようにしてもよい。この場合、各検出キーとフロー検出CAM33の各フローエントリから、検出モード331を除外できる。
【0056】
図14は、検索キー生成部31の第2の実施例を示す。
本実施例は、同一入力回線上に複数種類のフロー検出モードを設定可能にしたものであり、フロー検出モードテーブル311が、モード識別条件テーブル311Aとフロー検出モードテーブル311Bとからなることを特徴としている。
【0057】
モード識別条件テーブル311Aは、例えば、図15に示すように、入力回線番号3111と対応して、プロトコル識別子3112とモード識別条件3114とを示す複数のエントリ311A−1〜311A−nからなっている。ここで、モード識別条件3114は、入力回線番号3111をもつ入力回線上でフロー検出モードを特定するために必要なヘッダ情報項目を示す。
【0058】
一方、本実施例におけるフロー検出モードテーブル311Bは、例えば、図16に示すように、入力回線番号3111と対応して、モード識別条件となるヘッダ情報項目3115とフロー検出モード3113との関係を示す複数のエントリ311B−1〜311B−pからなっている。モード識別条件3115は、モード識別条件テーブル311Aでモード識別条件3114として使用されたヘッダ情報項目と対応する複数の項目、この例では、入力論理回線番号3115−1とフローラベル3115−2の値を示している。マーク*は、モード識別条件から除外されるマスク項目またはDon't Care値を意味している。
【0059】
検索キー生成制御部313は、ヘッダ情報レジスタ310から入力回線番号571(信号線S1)を読み出し、モード識別条件テーブル311Aから、上記入力回線番号(信号線S2)と対応するエントリのプロトコル識別子3112(信号線S3)とモード識別条件3114(信号線S10)を読み出す。
【0060】
ここで、例えば、ヘッダ情報レジスタ310から読み出した入力回線番号571の値が「回線番号2」であったと仮定すると、モード識別条件テーブル311Aからは、モード識別条件3114として、エントリ311A−2が示す「入力論理回線番号」が読み出される。この場合、検索キー生成制御部313は、ヘッダ情報レジスタ310から内部ヘッダ356の入力論理回線番号562の値を抽出し、「回線番号2」と上記入力論理回線番号562の値をキー(信号線S11)として、フロー検出モードテーブル311Bからフロー検出モード3113(信号線S4)を読み出す。上記入力論理回線番号562の値が「論理回線1」であれば、フロー検出モードは「モード3」となり、「論理回線2」であれば、フロー検出モードは「モード2」となる。
【0061】
検索キー生成制御部313は、図8で説明した第1実施例と同様、上記検出モード3113(信号線S5)に従って検索キー定義テーブル312を参照し、検出モード3113と対応する検索キー要素3112(信号線S6)を読み出し、ヘッダ情報レジスタ310から、上記検索キー要素3112で指定された項目のヘッダ情報(信号線S7)を読み出して、これらのヘッダ情報を含むフロー検索キーKEYを生成する。
【0062】
本実施例によれば、図16に示したフロー検出モードテーブル311Bの内容から明らかなように、同一の入力回線上に多重化された複数のフローに対して選択的にフロー検出モードを指定し、同一入力回線上に異なった複数種類のフロー識別条件を適用することが可能となる。
【0063】
図17は、フロー検出キー生成部31の第3の実施例を示す。
本実施例では、第2実施例におけるフロー検出モードテーブル311Bの検索にCAMを適用することによって、検索キーKEYの生成に要する時間を短縮したことを特徴としている。本実施例の検索キー生成制御部31は、図14に示したモード識別条件テーブル311Aとフロー検出モードテーブル311Bに代えて、プロトコル識別子テーブル311Cと、CAM制御部314と、検出モード定義CAM315と、検出モード保持テーブル311Dとを備えている。
【0064】
プロトコル識別子テーブル311Cは、例えば、図15に示したモード識別条件テーブル311Aにおける入力回線番号3111とプロトコル識別子3112との関係を示している。また、検出モード定義CAM315は、例えば、図16に示したフロー検出モードテーブル311Bにおける入力回線番号3111とモード識別条件3115(3115−1、3115−2)との関係を示す複数のエントリからなり、検出モード保持テーブル311Dには、上記検出モード定義CAM315のエントリアドレスと対応して、上記フロー検出モードテーブル311Bにおける検出モード3113の値が格納されている。
【0065】
検索キー生成制御部313は、ヘッダ情報レジスタ310から入力回線番号571(信号線S1)を読み出し、プロトコル識別子テーブル311Cから、上記入力回線番号(信号線S2)と対応するプロトコル識別子3112(信号線S3)を読み出す。
本実施例では、検索キー生成制御部313は、入力回線番号には関係なく、ヘッダ情報レジスタ310から、上記検出モード定義CAM315でモード識別条件3115として指定されている入力論理回線番号562とフローラベル532の値(信号線S7)を読み出し、図18に示すように、入力回線番号571と入力論理回線番号562とフローラベル532とからなる検索キーKYを生成し、これをCAM制御部314に与える。
【0066】
CAM制御部314は、上記検索キーKYによって検出モード定義CAM315をアクセスする。この結果、検出モード定義CAM315から信号線S12に、上記検索キーKYに一致した内容をもつ最初に見つかったエントリのアドレスが出力され、検出モード保持テーブル311Dから信号線S4に、上記CAM出力アドレスと対応する検出モードの値が読み出される。
【0067】
検索キー生成制御部313は、図8、図14で説明した実施例と同様、上記検出モード(信号線S5)に従って検索キー定義テーブル312を参照し、検出モード3113と対応する検索キー要素3112(信号線S6)を読み出し、ヘッダ情報レジスタ310から、上記検索キー要素3112で指定されたヘッダ情報項目の値(信号線S7)を読み出して、これらのヘッダ情報項目を含むフロー検索キーKEYを生成する。
【0068】
本実施例によれば、入力回線上の複数のフローに対して、例えば、図16のエントリ311B−1や311B−pが示すように、同一の検出モード(同じヘッダ情報項目の組み合せ)でフロー識別条件を設定した場合でも、あるいは、図16のエントリ311B−2、311B−3が示すように、入力論理回線番号やフローラベルなどの特定ヘッダ情報項目の値に応じて異なる検出モード(異なるヘッダ情報項目の組み合せ)でフロー識別条件を設定した場合でも、入力回線番号とモード識別条件となり得る数種類のヘッダ情報項目を利用して、フロー検出モードを迅速に特定し、フロー定義CAM33のアクセスに必要な検索キーKEYを短時間で生成することが可能となる。
【0069】
【発明の効果】
以上の実施例から明らかなように、本発明によれば、フロー識別条件に応じて異なったフォーマットの検索キーを生成することによって、フロー識別条件が多様化した場合でも、検索キーのビット長を短縮できる。従って、本発明によれば、検索キーと対応関係にあるフローエントリのビット長も短縮することができ、フロー検出用のCAM容量の有効利用と、多様化されたフロー識別条件下での高速フロー検出を実現できる。
【図面の簡単な説明】
【図1】本発明によるパケット転送装置の1実施例を示すブロック図。
【図2】CAMを利用したフロー検出システムの概略的な構成を示す図。
【図3】CAMを利用した従来技術1によるフロー検出を説明するための図。
【図4】CAMを利用した従来技術2によるフロー検出を説明するための図。
【図5】本発明によるパケット転送装置が適用される通信ネットワークの1例を示す図。
【図6】図5に示したエッジルータ201に入力されるパケット(A、B)と、エッジルータで生成される内部ヘッダ(C)のフォーマットの1例を示す図。
【図7】図1に示した入力回線インタフェース11−iと制御部15の詳細を示すブロック構成図。
【図8】図7に示した検索キー生成部31の第1の実施例とフロー処理部40の詳細を示す図。
【図9】図8に示したフロー検出モードテーブル311の内容の1例を示す図。
【図10】図8に示した検索キー定義テーブル312の内容の1例を示す図。
【図11】図8に示した検索キー生成部31から出力されるフロー検索キーKEYの1例を示す図。
【図12】図8に示したフロー検出CAM33の内容の1例を示す図。
【図13】図8に示した検索結果保持テーブル42の内容の1例を示す図。
【図14】検索キー生成部31の第2の実施例を示す図。
【図15】図14に示したモード識別条件テーブル311Aの内容の1例を示す図。
【図16】図14に示したフロー検出モードテーブル311Bの内容の1例を示す図。
【図17】検索キー生成部31の第3の実施例を示す図。
【図18】図17に示した検索キー生成制御部313からCAM制御部314に与えられるCAM検索キーKYの1例を示す図。
【符号の説明】
10:パケット転送装置(ルータ)、11:入力回線インタフェース、
12:出力回線インタフェース、13:出力バッファ、14:パケット中継部、
15:制御部、16:多重化回路、17、18:振り分け回路、
20:ルーティング処理部、30:フロー検出部、31:検索キー生成部、
32:CAM制御部、33:フロー検索CAM、310:ヘッダ情報レジスタ、
311:フロー検出モードテーブル、312:検索キー定義テーブル、
40:フロー制御指示部、41:テーブル制御部、42:検索結果保持テーブル。
Claims (9)
- 複数の入、出力回線に接続され、各入力回線から受信したパケットをヘッダ情報によって特定される何れかの出力回線に転送するパケット転送装置であって、
各受信パケットのヘッダ情報から該パケットが属するパケットフローを識別するためのフロー検出部と、
各受信パケットに対して予めパケットフロー毎に指定された転送制御を実施するための手段とを有し、
上記フロー検出部が、複数のフロー定義エントリを有するフロー検出CAM(Content Addressable Memory)と、フロー識別条件によって異なるフォーマットの検索キーを生成する検索キー生成部とを備え、
上記CAMの各フロー定義エントリが、上記検索キー生成部で生成される検索キーの情報項目数と同数のフィールドからなり、同一のフィールドに、上記検索キー生成部で生成される検索キーフォーマットに応じて種類が異なる情報項目が登録されており、
上記フロー検出部が、上記CAMをパケットヘッダから抽出された少なくとも1つのヘッダ情報項目を含む可変フォーマットの検索キーでアクセスして、フロー検出することを特徴とするパケット転送装置。 - 複数の入、出力回線に接続され、各入力回線から受信したパケットをヘッダ情報によって特定される何れかの出力回線に転送するパケット転送装置であって、
各受信パケットのヘッダ情報から該パケットが属するパケットフローを識別し、受信パケットに対して実施すべき転送制御を決定する制御装置と、
各受信パケットに対して上記制御装置で決定した転送制御を実施するための手段とを有し、
上記制御装置が、複数のフロー定義エントリを有するフロー検出CAM(Content Addressable Memory)と、フロー識別条件によって異なるフォーマットの検索キーを生成する検索キー生成部とからなるフロー検出部を備え、
上記CAMの各フロー定義エントリが、上記検索キー生成部で生成される検索キーの情報項目数と同数のフィールドからなり、同一のフィールドに、上記検索キー生成部で生成される検索キーフォーマットに応じて種類が異なる情報項目が登録されており、
上記フロー検出部が、上記CAMをパケットヘッダから抽出された少なくとも1つのヘッダ情報項目を含む可変フォーマットの検索キーでアクセスして、フロー検出することを特徴とするパケット転送装置。 - 前記制御装置が、前記フロー検出CAMの各フロー定義エントリのアドレスと対応して、受信パケットに対して実施すべき転送制御内容を示す検索結果保持テーブルを有し、上記CAMからフロー検出結果として出力されるフロー定義エントリのアドレスに従って、上記検索結果保持テーブルから受信パケットに対して実施すべき転送制御内容を読み出すようにしたことを特徴とする請求項2に記載のパケット転送装置。
- 前記検索キー生成部が、前記各入力回線の識別子と対応してフロー識別条件となるヘッダ情報項目を指定した検索キー定義テーブルを備え、各受信パケットの入力回線の識別子に基づいて上記検索キー定義テーブルを参照し、該テーブルで指定されたヘッダ情報項目を含む検索キーを生成することを特徴とする請求項1〜請求項3の何れかに記載のパケット転送装置。
- 前記検索キー生成部が、前記各入力回線の識別子とフロー検出モードとの対応関係を示すフロー検出モードテーブルと、上記フロー検出モードテーブルが示す各フロー検出モードと対応してフロー識別条件となるヘッダ情報項目を指定した検索キー定義テーブルを備え、
上記検索キー生成部が、上記フロー検出モードテーブルを参照して各受信パケットのフロー検出モードを特定し、上記検索キー定義テーブルが示す上記特定フロー検出モードのフロー識別条件に従って、前記検索キーを生成することを特徴とする請求項1〜請求項3の何れかに記載のパケット転送装置。 - 前記検索キー生成部が、前記各入力回線の識別子とモード識別条件との対応関係を示すモード識別条件テーブルと、前記各入力回線の識別子とモード識別条件とフロー検出モードとの対応関係を示す検出モードテーブルと、上記フロー検出モードテーブルが示す各フロー検出モードと対応してフロー識別条件となるヘッダ情報項目を指定した検索キー定義テーブルを備え、
上記検索キー生成部が、各受信パケットの入力回線の識別子と上記モード識別条件テーブルで指定されたモード識別条件に従って、上記フロー検出モードテーブルから各受信パケットのフロー検出モードを特定し、上記検索キー定義テーブルが示す上記特定フロー検出モードのフロー識別条件に従って、前記検索キーを生成することを特徴とする請求項1〜請求項3の何れかに記載のパケット転送装置。 - 前記各受信パケットのヘッダ情報が、前記各入力回線に接続された入力回線インタフェースで生成された内部ヘッダ情報を含み、該内部ヘッダ情報が入力回線識別子と出力回線識別子とを含むことを特徴とする請求項1〜請求項6の何れかに記載のパケット転送装置。
- 複数のフロー定義エントリを有するフロー検出CAM(Content Addressable Memory)と、フロー識別条件によって異なるフォーマットの検索キーを生成する検索キー生成部と、上記CAMの各フロー定義エントリのアドレスと対応してフロー検索結果を保持するテーブルとを備え、
上記CAMの各フロー定義エントリが、上記検索キー生成部で生成される検索キーの情報項目数と同数のフィールドからなり、同一のフィールドに、上記検索キー生成部で生成される検索キーフォーマットに応じて種類が異なる情報項目が登録されており、
上記CAMをパケットヘッダから抽出された少なくとも1つのヘッダ情報項目を含む可変フォーマットの検索キーでアクセスし、上記CAMから出力される上記検索キーに一致したフロー定義エントリのアドレスに従って、上記テーブルからフロー検索結果を得るようにしたことを特徴とするフロー検出装置。 - 前記フロー検出CAMが、前記検索キーのフォーマットと対応した複数のテーブル領域からなり、上記テーブル領域毎に、フロー識別条件となるヘッダ情報項目の値を含む複数のフロー定義エントリを有し、前記検索キーに一致した最初のフロー定義エントリのアドレスを出力することを特徴とする請求項8に記載のフロー検出装置。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002105362A JP3936883B2 (ja) | 2002-04-08 | 2002-04-08 | フロー検出装置およびフロー検出機能を備えたパケット転送装置 |
| US10/215,846 US7286535B2 (en) | 2002-04-08 | 2002-08-12 | Device for flow classifying and packet forwarding device with flow classify function |
| US11/898,905 US7773600B2 (en) | 2002-04-08 | 2007-09-17 | Device for flow classifying and packet forwarding device with flow classify function |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002105362A JP3936883B2 (ja) | 2002-04-08 | 2002-04-08 | フロー検出装置およびフロー検出機能を備えたパケット転送装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2003304278A JP2003304278A (ja) | 2003-10-24 |
| JP3936883B2 true JP3936883B2 (ja) | 2007-06-27 |
Family
ID=28672360
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002105362A Expired - Fee Related JP3936883B2 (ja) | 2002-04-08 | 2002-04-08 | フロー検出装置およびフロー検出機能を備えたパケット転送装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (2) | US7286535B2 (ja) |
| JP (1) | JP3936883B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9641437B2 (en) | 2013-08-05 | 2017-05-02 | Alaxala Networks Corporation | Packet relay device and packet relay method |
Families Citing this family (95)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6876653B2 (en) * | 1998-07-08 | 2005-04-05 | Broadcom Corporation | Fast flexible filter processor based architecture for a network device |
| US6826669B1 (en) * | 2001-05-08 | 2004-11-30 | Lewiz Communications | Multi-protocol memory lookup system and method |
| WO2003067382A2 (en) * | 2002-02-04 | 2003-08-14 | Intel Corporation | Service processor having a queue operations unit and an output scheduler |
| JP3936883B2 (ja) * | 2002-04-08 | 2007-06-27 | 株式会社日立製作所 | フロー検出装置およびフロー検出機能を備えたパケット転送装置 |
| US7320037B1 (en) | 2002-05-10 | 2008-01-15 | Altera Corporation | Method and apparatus for packet segmentation, enqueuing and queue servicing for multiple network processor architecture |
| US7606248B1 (en) | 2002-05-10 | 2009-10-20 | Altera Corporation | Method and apparatus for using multiple network processors to achieve higher performance networking applications |
| US7339943B1 (en) | 2002-05-10 | 2008-03-04 | Altera Corporation | Apparatus and method for queuing flow management between input, intermediate and output queues |
| US7277437B1 (en) * | 2002-05-20 | 2007-10-02 | Altera Corporation | Packet classification method |
| US7593334B1 (en) | 2002-05-20 | 2009-09-22 | Altera Corporation | Method of policing network traffic |
| US7336669B1 (en) | 2002-05-20 | 2008-02-26 | Altera Corporation | Mechanism for distributing statistics across multiple elements |
| US20050141508A1 (en) * | 2002-09-09 | 2005-06-30 | Ip Square Inc. | Information processing apparatus and method |
| US7219211B1 (en) * | 2002-11-19 | 2007-05-15 | Juniper Networks, Inc. | Precompute logic for software packet processing |
| JP4431315B2 (ja) * | 2003-01-14 | 2010-03-10 | 株式会社日立製作所 | パケット通信方法およびパケット通信装置 |
| US7382769B1 (en) | 2003-02-07 | 2008-06-03 | Juniper Networks, Inc. | Automatic filtering to prevent network attacks |
| US7743166B2 (en) * | 2003-04-04 | 2010-06-22 | Ellacoya Networks, Inc. | Scaleable flow-based application and subscriber traffic control |
| US20040196840A1 (en) * | 2003-04-04 | 2004-10-07 | Bharadwaj Amrutur | Passive measurement platform |
| FR2858502B1 (fr) * | 2003-08-01 | 2006-02-24 | Cit Alcatel | Dispositif et procede de traitement de donnees de trafic reseau pour l'auto-configuration d'un routeur |
| JP4587446B2 (ja) * | 2003-08-07 | 2010-11-24 | キヤノン株式会社 | ネットワークシステム、並びにスイッチ装置及び経路管理サーバ及びそれらの制御方法、及び、コンピュータプログラム及びコンピュータ可読記憶媒体 |
| US20060259620A1 (en) * | 2003-10-10 | 2006-11-16 | Hiroaki Tamai | Statistical information collecting method and apparatus |
| JP4320603B2 (ja) | 2004-02-26 | 2009-08-26 | 日本電気株式会社 | 加入者回線収容装置およびパケットフィルタリング方法 |
| US7440460B2 (en) * | 2004-03-05 | 2008-10-21 | Samsung Electronics Co., Ltd. | Apparatus and method for forwarding mixed data packet types in a high-speed router |
| JP2007533012A (ja) * | 2004-04-12 | 2007-11-15 | アリゾナ ボード オブ リージェンツ | データ格納のための情報処理と輸送アーキテクチャ |
| US8514865B2 (en) * | 2004-04-30 | 2013-08-20 | Hewlett-Packard Development Company, L.P. | Assigning WAN links to subflows based on WAN link characteristics and application preferences |
| US7492763B1 (en) * | 2004-07-16 | 2009-02-17 | Applied Micro Circuits Corporation | User-specified key creation from attributes independent of encapsulation type |
| CN100466594C (zh) * | 2004-10-09 | 2009-03-04 | 华为技术有限公司 | 一种对报文进行分类处理的方法 |
| JP4622490B2 (ja) * | 2004-12-02 | 2011-02-02 | 株式会社日立製作所 | データ転送装置 |
| US7742406B1 (en) * | 2004-12-20 | 2010-06-22 | Packeteer, Inc. | Coordinated environment for classification and control of network traffic |
| US7742444B2 (en) | 2005-03-15 | 2010-06-22 | Qualcomm Incorporated | Multiple other sector information combining for power control in a wireless communication system |
| US9055552B2 (en) | 2005-06-16 | 2015-06-09 | Qualcomm Incorporated | Quick paging channel with reduced probability of missed page |
| US8750908B2 (en) | 2005-06-16 | 2014-06-10 | Qualcomm Incorporated | Quick paging channel with reduced probability of missed page |
| US7580356B1 (en) * | 2005-06-24 | 2009-08-25 | Packeteer, Inc. | Method and system for dynamically capturing flow traffic data |
| US7782793B2 (en) * | 2005-09-15 | 2010-08-24 | Alcatel Lucent | Statistical trace-based methods for real-time traffic classification |
| JP4564433B2 (ja) * | 2005-09-26 | 2010-10-20 | 富士通株式会社 | 伝送装置およびフレーム転送方法 |
| CN100417140C (zh) * | 2005-10-24 | 2008-09-03 | 华为技术有限公司 | 一种流分类装置和方法以及采用该流分类装置的基站 |
| EP1941767A1 (en) * | 2005-10-27 | 2008-07-09 | QUALCOMM Incorporated | A method and apparatus for attempting access in wireless communication systems |
| US20090207790A1 (en) | 2005-10-27 | 2009-08-20 | Qualcomm Incorporated | Method and apparatus for settingtuneawaystatus in an open state in wireless communication system |
| JP4588652B2 (ja) * | 2006-03-07 | 2010-12-01 | 日本電信電話株式会社 | 接続性確認方法 |
| US7522581B2 (en) * | 2006-08-01 | 2009-04-21 | International Business Machines Corporation | Overload protection for SIP servers |
| JP4701152B2 (ja) * | 2006-10-20 | 2011-06-15 | 富士通株式会社 | データ中継装置、データ中継方法およびデータ中継プログラム |
| US7983164B2 (en) * | 2006-12-01 | 2011-07-19 | Electronics And Telecommunications Research Institute | Apparatus and method for merging internet traffic mirrored from multiple links |
| JP4793491B2 (ja) * | 2007-03-20 | 2011-10-12 | 富士通株式会社 | パケット中継装置、パケット中継装置における廃棄パケットの転送方法、およびそのプログラム |
| US7876759B2 (en) * | 2007-07-11 | 2011-01-25 | Hewlett-Packard Development Company, L.P. | Quality of service with control flow packet filtering |
| US8072991B2 (en) * | 2007-07-24 | 2011-12-06 | Cisco Technology, Inc. | Allocation of route targets based on service offered |
| JP2009239401A (ja) * | 2008-03-26 | 2009-10-15 | Alaxala Networks Corp | パケット転送装置 |
| EP2316203A4 (en) * | 2008-08-22 | 2014-12-17 | Ericsson Telefon Ab L M | METHOD AND APPARATUS FOR AVOIDING UNPOLDED DATA PACKETS |
| US7590245B1 (en) * | 2008-09-10 | 2009-09-15 | Gutman Levitan | Anonymous communicating over interconnected networks |
| US8984309B2 (en) | 2008-11-21 | 2015-03-17 | Intel Corporation | Reducing network latency during low power operation |
| WO2010103909A1 (ja) * | 2009-03-09 | 2010-09-16 | 日本電気株式会社 | OpenFlow通信システムおよびOpenFlow通信方法 |
| JP5477378B2 (ja) * | 2009-03-30 | 2014-04-23 | 日本電気株式会社 | 通信フロー制御システム、通信フロー制御方法及び通信フロー処理プログラム |
| WO2011043416A1 (ja) * | 2009-10-07 | 2011-04-14 | 日本電気株式会社 | 情報システム、制御サーバ、仮想ネットワーク管理方法およびプログラム |
| US8576715B2 (en) * | 2009-10-26 | 2013-11-05 | Mellanox Technologies Ltd. | High-performance adaptive routing |
| US8316094B1 (en) * | 2010-01-21 | 2012-11-20 | Symantec Corporation | Systems and methods for identifying spam mailing lists |
| WO2011096127A1 (ja) * | 2010-02-04 | 2011-08-11 | 日本電信電話株式会社 | パケット転送処理装置、方法及びプログラム |
| JP5480056B2 (ja) * | 2010-07-30 | 2014-04-23 | アラクサラネットワークス株式会社 | パケット転送装置、パケット転送装置管理システム及びパケット転送装置管理方法 |
| JP5561366B2 (ja) * | 2010-09-08 | 2014-07-30 | 日本電気株式会社 | スイッチシステム、スイッチ制御方法、及び記憶媒体 |
| JP5818268B2 (ja) * | 2010-11-02 | 2015-11-18 | 日本電気株式会社 | 通信システム、制御装置、経路制御方法およびプログラム |
| US9225628B2 (en) | 2011-05-24 | 2015-12-29 | Mellanox Technologies Ltd. | Topology-based consolidation of link state information |
| US9397960B2 (en) | 2011-11-08 | 2016-07-19 | Mellanox Technologies Ltd. | Packet steering |
| KR20130057255A (ko) * | 2011-11-23 | 2013-05-31 | 한국전자통신연구원 | 실시간 통계 처리가 가능한 플로우 기반 QoS 라우터 및 그 동작 방법 |
| US8718064B2 (en) | 2011-12-22 | 2014-05-06 | Telefonaktiebolaget L M Ericsson (Publ) | Forwarding element for flexible and extensible flow processing software-defined networks |
| US8711860B2 (en) | 2011-12-22 | 2014-04-29 | Telefonaktiebolaget L M Ericsson (Publ) | Controller for flexible and extensible flow processing in software-defined networks |
| US8521905B2 (en) | 2011-12-22 | 2013-08-27 | Telefonaktiebolaget L M Ericsson (Publ) | System for flexible and extensible flow processing in software-defined networks |
| KR102019104B1 (ko) * | 2012-01-20 | 2019-09-06 | 한국전자통신연구원 | 다중 네트워크 인터페이스 카드를 이용한 트래픽 처리방법 및 네트워크 디바이스 |
| US9871734B2 (en) | 2012-05-28 | 2018-01-16 | Mellanox Technologies, Ltd. | Prioritized handling of incoming packets by a network interface controller |
| US8948177B2 (en) * | 2012-07-30 | 2015-02-03 | Hewlett-Packard Development Company, L.P. | Policy based routing |
| US9014034B2 (en) * | 2012-09-21 | 2015-04-21 | Cisco Technology, Inc. | Efficient network traffic analysis using a hierarchical key combination data structure |
| JP6170718B2 (ja) * | 2012-11-21 | 2017-07-26 | ルネサスエレクトロニクス株式会社 | 検索システム |
| RU2628477C2 (ru) * | 2012-12-19 | 2017-08-17 | Нек Корпорейшн | Устройство обработки пакета, способ конфигурирования записи потока и программа |
| US9014006B2 (en) | 2013-01-31 | 2015-04-21 | Mellanox Technologies Ltd. | Adaptive routing using inter-switch notifications |
| US9060297B1 (en) * | 2013-03-14 | 2015-06-16 | Sprint Communications Company L.P. | Application labels for data communication |
| JP6060051B2 (ja) * | 2013-08-08 | 2017-01-11 | アラクサラネットワークス株式会社 | パケット中継装置及びパケット中継方法 |
| US10454768B2 (en) | 2013-11-15 | 2019-10-22 | F5 Networks, Inc. | Extending policy rulesets with scripting |
| US10454991B2 (en) | 2014-03-24 | 2019-10-22 | Mellanox Technologies, Ltd. | NIC with switching functionality between network ports |
| US9729473B2 (en) | 2014-06-23 | 2017-08-08 | Mellanox Technologies, Ltd. | Network high availability using temporary re-routing |
| US9806994B2 (en) | 2014-06-24 | 2017-10-31 | Mellanox Technologies, Ltd. | Routing via multiple paths with efficient traffic distribution |
| US9699067B2 (en) | 2014-07-22 | 2017-07-04 | Mellanox Technologies, Ltd. | Dragonfly plus: communication over bipartite node groups connected by a mesh network |
| 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 |
| US9894005B2 (en) | 2015-03-31 | 2018-02-13 | Mellanox Technologies, Ltd. | Adaptive routing controlled by source node |
| US9973435B2 (en) | 2015-12-16 | 2018-05-15 | Mellanox Technologies Tlv Ltd. | Loopback-free adaptive routing |
| US10819621B2 (en) | 2016-02-23 | 2020-10-27 | Mellanox Technologies Tlv Ltd. | Unicast forwarding of adaptive-routing notifications |
| US10326700B1 (en) * | 2016-03-29 | 2019-06-18 | F5 Networks, Inc. | Hash based per subscriber DNS based traffic classification |
| US10178029B2 (en) | 2016-05-11 | 2019-01-08 | Mellanox Technologies Tlv Ltd. | Forwarding of adaptive routing notifications |
| US10404594B2 (en) * | 2016-12-13 | 2019-09-03 | Oracle International Corporation | System and method for providing partitions of classification resources in a network device |
| US10341242B2 (en) | 2016-12-13 | 2019-07-02 | Oracle International Corporation | System and method for providing a programmable packet classification framework for use in a network device |
| US10200294B2 (en) | 2016-12-22 | 2019-02-05 | Mellanox Technologies Tlv Ltd. | Adaptive routing based on flow-control credits |
| CN112003685B (zh) * | 2017-10-18 | 2024-06-04 | 华为技术有限公司 | 一种灵活以太网报文转发方法及装置 |
| US10644995B2 (en) | 2018-02-14 | 2020-05-05 | Mellanox Technologies Tlv Ltd. | Adaptive routing in a box |
| US11005724B1 (en) | 2019-01-06 | 2021-05-11 | Mellanox Technologies, Ltd. | Network topology having minimal number of long connections among groups of network elements |
| US11575594B2 (en) | 2020-09-10 | 2023-02-07 | Mellanox Technologies, Ltd. | Deadlock-free rerouting for resolving local link failures using detour paths |
| US11411911B2 (en) | 2020-10-26 | 2022-08-09 | Mellanox Technologies, Ltd. | Routing across multiple subnetworks using address mapping |
| US11398979B2 (en) | 2020-10-28 | 2022-07-26 | Mellanox Technologies, Ltd. | Dynamic processing trees |
| US11870682B2 (en) | 2021-06-22 | 2024-01-09 | Mellanox Technologies, Ltd. | Deadlock-free local rerouting for handling multiple local link failures in hierarchical network topologies |
| US11765103B2 (en) | 2021-12-01 | 2023-09-19 | Mellanox Technologies, Ltd. | Large-scale network with high port utilization |
| US12155563B2 (en) | 2022-09-05 | 2024-11-26 | Mellanox Technologies, Ltd. | Flexible per-flow multipath managed by sender-side network adapter |
| US12328251B2 (en) | 2022-09-08 | 2025-06-10 | Mellano Technologies, Ltd. | Marking of RDMA-over-converged-ethernet (RoCE) traffic eligible for adaptive routing |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5748905A (en) * | 1996-08-30 | 1998-05-05 | Fujitsu Network Communications, Inc. | Frame classification using classification keys |
| JPH10285179A (ja) | 1997-04-10 | 1998-10-23 | Hitachi Ltd | Atm交換機および輻輳制御方式 |
| US6876653B2 (en) * | 1998-07-08 | 2005-04-05 | Broadcom Corporation | Fast flexible filter processor based architecture for a network device |
| JP3381687B2 (ja) | 1999-11-25 | 2003-03-04 | 日本電気株式会社 | フロー識別装置、フロー処理装置、フロー識別方法及びフロー処理方法 |
| JP3386117B2 (ja) * | 2000-01-11 | 2003-03-17 | 日本電気株式会社 | マルチレイヤクラス識別通信装置と通信装置 |
| JP3591420B2 (ja) | 2000-04-07 | 2004-11-17 | 日本電気株式会社 | ルータにおけるキャッシュテーブル管理装置およびプログラム記録媒体 |
| US6718326B2 (en) * | 2000-08-17 | 2004-04-06 | Nippon Telegraph And Telephone Corporation | Packet classification search device and method |
| JP3601445B2 (ja) * | 2000-12-06 | 2004-12-15 | 日本電気株式会社 | パケット転送装置及びそれに用いる転送情報管理方法並びにその転送情報検索方法 |
| US7061874B2 (en) * | 2001-01-26 | 2006-06-13 | Broadcom Corporation | Method, system and computer program product for classifying packet flows with a bit mask |
| US7193997B2 (en) * | 2001-03-19 | 2007-03-20 | International Business Machines Corporation | Packet classification |
| JP3489573B2 (ja) * | 2001-07-11 | 2004-01-19 | 日本電気株式会社 | パケット処理装置 |
| US7028098B2 (en) * | 2001-07-20 | 2006-04-11 | Nokia, Inc. | Selective routing of data flows using a TCAM |
| US7245623B1 (en) * | 2002-01-08 | 2007-07-17 | Cisco Technology, Inc. | System and method using hierarchical parallel banks of associative memories |
| JP3936883B2 (ja) * | 2002-04-08 | 2007-06-27 | 株式会社日立製作所 | フロー検出装置およびフロー検出機能を備えたパケット転送装置 |
-
2002
- 2002-04-08 JP JP2002105362A patent/JP3936883B2/ja not_active Expired - Fee Related
- 2002-08-12 US US10/215,846 patent/US7286535B2/en not_active Expired - Lifetime
-
2007
- 2007-09-17 US US11/898,905 patent/US7773600B2/en not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9641437B2 (en) | 2013-08-05 | 2017-05-02 | Alaxala Networks Corporation | Packet relay device and packet relay method |
Also Published As
| Publication number | Publication date |
|---|---|
| US20080037546A1 (en) | 2008-02-14 |
| JP2003304278A (ja) | 2003-10-24 |
| US20030189932A1 (en) | 2003-10-09 |
| US7773600B2 (en) | 2010-08-10 |
| US7286535B2 (en) | 2007-10-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3936883B2 (ja) | フロー検出装置およびフロー検出機能を備えたパケット転送装置 | |
| EP1021889B1 (en) | A system and method for a multi-layer network element | |
| EP1005743B1 (en) | A system and method for a multi-layer network elememt | |
| EP1158725B1 (en) | Method and apparatus for multi- redundant router protocol support | |
| CA2282441C (en) | Atm relay device and network including same | |
| US7379454B2 (en) | Packet routing apparatus and routing controller | |
| EP1261178B1 (en) | System and method for enhancing the availability of routing systems through equal cost multipath | |
| KR100358153B1 (ko) | 서비스 품질을 지원하는 아이피 패킷 포워딩 분산 처리장치 및 그 방법 | |
| US6977932B1 (en) | System and method for network tunneling utilizing micro-flow state information | |
| US6636516B1 (en) | QOS-based virtual private network using ATM-based internet virtual connections | |
| US7558268B2 (en) | Apparatus and method for combining forwarding tables in a distributed architecture router | |
| EP1158724A2 (en) | Packet processor with programmable application logic | |
| CA2352697C (en) | Router device and priority control method for use in the same | |
| US20070263634A1 (en) | MPLS implementation of an ATM platform | |
| US7277386B1 (en) | Distribution of label switched packets | |
| US6373845B1 (en) | Multilayer ATM communication equipment | |
| US7031307B2 (en) | Packet routing apparatus having label switching function | |
| JP3637886B2 (ja) | パケット網転送システム、パケット網転送装置及びそれに用いるパケット網転送方法 | |
| JP3720738B2 (ja) | 経路制御装置および方法 | |
| JP2000312225A (ja) | パケット中継装置 | |
| US8094665B1 (en) | Packet forwarding using intermediate policy information | |
| WO2001080493A2 (en) | Method and device for layer 3 address learning | |
| JP3870821B2 (ja) | Atmスイッチ装置及びそれに用いる輻輳抑制ルーティング方法 | |
| Liu et al. | High speed IP switching over the EtherSwitch | |
| Bavant et al. | IP switch over ATM LAN emulation (IP-Express/sup TM/) |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050314 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060901 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060926 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061124 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20061124 |
|
| 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: 20070227 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070326 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 3936883 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110330 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110330 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120330 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130330 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130330 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140330 Year of fee payment: 7 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |