JP2004056340A - Ip flow multistage hash apparatus, ip flow multistage hash method, ip flow multistage hash program, and recording medium therefor - Google Patents
Ip flow multistage hash apparatus, ip flow multistage hash method, ip flow multistage hash program, and recording medium therefor Download PDFInfo
- Publication number
- JP2004056340A JP2004056340A JP2002209282A JP2002209282A JP2004056340A JP 2004056340 A JP2004056340 A JP 2004056340A JP 2002209282 A JP2002209282 A JP 2002209282A JP 2002209282 A JP2002209282 A JP 2002209282A JP 2004056340 A JP2004056340 A JP 2004056340A
- Authority
- JP
- Japan
- Prior art keywords
- address
- destination
- source
- flow
- packet
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、ネットワーク中継装置において、送信先ポートを決定するハッシュテーブルの制御に関し、特にフローの持つ特性に従い、宛先IPアドレスのみによるハッシュ情報と宛先IPアドレスと送信元IPアドレスとを組にしたハッシュ情報とを切り分けて送信先ポートの決定を行うIPフロー多段ハッシュ装置、IPフロー多段ハッシュ方法、IPフロー多段ハッシュプログラム及びその記録媒体に関する。
【0002】
【従来の技術】
IP(Internet Protocol)層で転送(フォワーディング、ルーティング)を行う装置をルータと呼ぶ。ルータは複数のネットワーク同士やネットワークと端末間で高速にデータの転送を行う際のネットワーク中継装置であり、その内部にデータを転送する宛先向けの経路を選定するテーブルを備えている。ルータはデータを受信するとそのデータからIP層のIPヘッダを参照して経路を選定するテーブルをもとに転送先を決定する。
【0003】
近年、この転送をソフトウェアではなくハードウェア(ASICと呼ばれるチップ)によって高速に行う装置が利用されてきていて、その一つにL3スイッチがある。
【0004】
ルータは配置された場所によって期待される役割が異なる。一般的には、ネットワークのコア(バックボーン)側に配置されたルータでは、細かな制御はそれほど必要ではなく、大量のパケットを高速に処理する役割がある。細かな制御とは、例えば不要なパケットの廃棄を行うフィルタリングやフローの優先度に基づくサービス品質を反映したQoS(Quality of Service)制御などを指す。
【0005】
一方、端末の接続されたエッジ側に配置されたルータは、大量のパケットを処理する必要はないが、フィルタリングやQoSなどの細かな制御を行う役割が必要とされる。
【0006】
高速転送を行うためのテーブルによって、IPのフロー(または複数のフローの集合)単位に、送信先の中継ルータ等の宛先決定をして宛先に対応する送出ポートの選択をするルータ装置について考えてみる。
【0007】
このような装置では、高速に宛先IPアドレスを検索するための1つとして、例えばIPアドレスを構成する先頭ビットからそのビットのオン、オフによって二分木構造にIPアドレスを分割して管理することで宛先を検索する方法がある。
【0008】
宛先のIPアドレスやネットワークアドレスをハッシュしたハッシュテーブルからハードウェアによって高速に宛先を検索し、検索に失敗するとソフトウェアによってニ分木構造による検索を行う方法もある。以降、このハッシュによる高速転送用のテーブルを、フローテーブルと呼ぶことにする。
【0009】
この種の従来技術として特開2000−138688には、受信したパケットから抽出した宛先IPアドレスに基づいて最大ビットのネットマスク値を1ビットずつ減算しながらネットワークアドレスを求め、宛先ネットワークアドレスとルータの転送先送出ポートを組にしたテーブルを検索して該当する転送先送出ポートを決定するという内容が記載されている。
【0010】
【発明が解決しようとする課題】
このフローテーブルによる検索において、従来の問題点は以下のようである。
【0011】
フローテーブルに登録するフローの単位を細かくすると、前述したような細かな制御が可能となるが、大量のテーブルを消費してしまう。逆にフローの単位を大まかにすると消費するテーブル個数は少なくて済むが、細かな制御が不可能になってしまうという問題がある。
【0012】
二分木とフローテーブルとを前述したように両方使用する検索方法の場合、テーブルを大量に使用すると、メモリを大量に消費するので装置毎に使用する量の上限がある。上限に達すると高速転送は不可能となり、低速な二分木による転送を使用することになってしまう。L3スイッチにおいては、フローテーブルの検索はハードウェアで行い、二分木検索はソフトウェアで行う場合が一般的であり、この場合の速度差は桁違いである。
【0013】
ユーザの使い方によっては、コア側のルータであっても一部細かな制御したい場合や、エッジ側のルータであっても(メモリを消費せず)大量にパケットを扱いたい要求があった。
【0014】
まず、フローテーブル中に登録するIPアドレスの個数をより少なくする方法を考えてみる。フローテーブルに登録するIPアドレスにハッシュを用いる場合、フローテーブルのIPアドレスの使用個数を削減するためにネットマスク(ネットワークアドレス)を使用するのは以下の理由で困難である。
【0015】
IPパケット受信時にIPヘッダから宛先IPアドレスを取り出しハッシュしてフローテーブルの検索開始位置(ハッシュ位置)を計算するとき、宛先IPアドレス全体を使用する場合には、この宛先IPアドレスと同じ宛先ネットワークのネットワークアドレスによるハッシュ位置とは同じにならない可能性が高い。このようにネットマスク(ネットワークアドレス)を使用することで、フローテーブルに登録するIPアドレスの個数を削減する試みは無意味となる。例えば、ネットマスクをルータ装置全体で一つにしてしまえば問題は回避できるが、可変長ネットマスクが一般的な現在において、現実的でない。
【0016】
特開2000−138688では、何度もハッシュ計算することで回避しているが、複数回のハッシュ計算による速度低下が否めない。
【0017】
よって、フローテーブルへの登録におけるネットマスク(ネットワークアドレス)を使用してIPアドレスの個数を少なくする方法は採用できないので、宛先IPアドレスは必ず4バイト全体をハッシュ計算に使用せざるを得ない。
【0018】
ところで、宛先IPアドレスだけの登録では、例えば、同じ宛先IPアドレスへの送信パケットであっても、ある送信元IPアドレスのパケットは転送し、別の送信元IPアドレスのパケットは破棄するといった制御を、フローテーブルだけで決定することができない。すなわち、送信元IPアドレスを考慮した破棄(フィルタリング)、優先制御(QoS制御)等を行うことができない。
【0019】
特開平6−152655にはこのフィルタリングや流量制御等の問題を宛先と送信元のアドレスを組にしてルータのアドレステーブルに登録することで解決する内容が記載されているが、前述したフローテーブルへの登録IPアドレス数の増加についての対策は考慮されていない。
【0020】
そこで、本発明は、フローテーブルに宛先IPアドレスのみからなるテーブルと宛先IPアドレスと送信元IPアドレスの組からなるテーブルとを設け、フローの内容に応じて2つのテーブルを使い分け、段階的に送信元IPアドレスやL4ポート番号を追加登録していくことで、きめ細かなフロー制御を行うとともにフローテーブルの増大を防ぎ、上記問題の解決を図るIPフロー多段ハッシュ装置、IPフロー多段ハッシュ方法、IPフロー多段ハッシュプログラム及びその記録媒体を提供するものである。
【0021】
【課題を解決するための手段】
本発明の第1のIPフロー多段ハッシュ装置は、受信したIPパケットをQoS情報と送出ポートを含む転送制御情報が登録されたフローテーブルを参照して中継する転送手段と、前記フローテーブルへの前記転送制御情報の登録を行う登録手段と、を含み、
前記登録手段は、前記IPパケットを受信すると、予め定義され、1つのエントリが宛先IPアドレスと送信元IPアドレスとQoS情報から構成されるQoSテーブルを前記IPパケットの有する前記宛先IPアドレスと前記送信元IPアドレスの組でサーチし、一致するエントリがないと、前記フローテーブルに前記宛先アドレスをハッシュしハッシュ値先に前記宛先IPアドレスの登録を行い、一致するエントリがあると、前記宛先IPアドレスと送信元IPアドレスの組をハッシュしてハッシュ値先に前記宛先IPアドレスと送信元IPアドレスの組を登録することを備える。
【0022】
本発明の第2のIPフロー多段ハッシュ装置は、受信したIPパケットをQoS情報と送出ポートを含む転送制御情報が登録されたフローテーブルを参照して中継する転送手段と、前記フローテーブルへの前記転送制御情報の登録を行う登録手段と、を含み、
前記登録手段は、前記フローテーブルを、第1のテーブルと第2のテーブルとに区分し、
前記第1のテーブルには、前記IPパケットの宛先IPアドレスをハッシュし、そのハッシュ値先に前記第1または第2のテーブルへのリンクをマークビットによって示し、前記宛先IPアドレスと前記QoS情報と前記送出ポートとが記述された0個以上の同一ハッシュ値を持つエントリを登録し、
前記第2のテーブルには、前記IPパケットの宛先IPアドレスと送信元IPアドレスを組にしてハッシュし、そのハッシュ値先に前期宛先IPアドレスと送信元IPアドレスの組と前記QoS情報と前記送出ポートとが記述された0個以上の同一ハッシュ値を持つエントリを登録し、
前記転送手段は、前記IPパケットを受信すると、前記宛先IPアドレスをハッシュして前記第1のテーブルのハッシュ値先をアクセスし、前記マークビットを参照し前記第1のテーブルへのリンクを検出すると、前記宛先IPアドレスによって前記第1のテーブルのハッシュ値先にリンクされた前記エントリをサーチし、一致する前記エントリを検出すると、該エントリに記述された前記QoS情報と前記送出ポートとに従い、前記IPパケットの中継を行い、
前記マークビットを参照し前記第2のテーブルへのリンクを検出すると、前記宛先IPアドレスと送信元IPアドレスの組をハッシュして前記第2のテーブルのハッシュ値先をアクセスし、ハッシュ値先にリンクされた前記エントリから同一の前記宛先IPアドレスと送信元IPアドレスの組を有する前記エントリをサーチし、一致する前記エントリを検出すると該エントリに記述された前記QoS情報と前記送出ポートとに従い、前記IPパケットの中継を行うことを備える。
【0023】
本発明の第3のIPフロー多段ハッシュ装置は、第1、第2または第3の発明において、前記転送手段は、前記IPパケットを受信すると、前記宛先IPアドレスによる前記第1のテーブルの前記エントリの検索の実行、または前記宛先IPアドレスと送信元IPアドレスの組による前記第2のテーブルの前記エントリの検索を実行し、一致する前記エントリがないと前記登録手段に通知することを備える。
【0024】
本発明の第4のIPフロー多段ハッシュ装置は、第1または第2の発明において、前記登録手段は、前記通知を受けると、前記宛先IPアドレス、前記送信元IPアドレス、前記QoS情報を含むQoSテーブルを前記受信したIPパケットのフローを特定する前記宛先IPアドレスと送信元IPアドレスを組にしてサーチし、一致するフローの登録があれば、前記宛先IPアドレスと送信元IPアドレスの組を前記第2のテーブルに登録し、前記宛先IPアドレスと送信元IPアドレスの組と一致するフローの登録がないと、前記宛先IPアドレスを前記第1のテーブルに登録することを備える。
【0025】
本発明の第5のIPフロー多段ハッシュ装置は、受信したIPパケットをQoS情報と送出ポートを含む転送制御情報が登録されたフローテーブルを参照して中継する転送手段と、前記フローテーブルへの転送制御情報の登録を行う登録手段と、を含み、
前記登録手段は、前記フローテーブルを、第1のテーブルと第2のテーブルと第3のテーブルに区分し、
前記第1のテーブルには、前記IPパケットの宛先IPアドレスをハッシュし、そのハッシュ値先に前記第1または前記第2または前記第3のテーブルへのリンクをマークビットによって示し、前記宛先IPアドレスと前記QoS情報と前記送出ポートとが記述された0個以上の同一ハッシュ値を持つエントリを登録し、
前記第2のテーブルには、前記IPパケットの宛先IPアドレスと送信元IPアドレスを組にしてハッシュし、そのハッシュ値先に前期宛先IPアドレスと送信元IPアドレスの組と前記QoS情報と前記送出ポートとが記述された0個以上の同一ハッシュ値を持つエントリを登録し、
前記第3のテーブルには、前記IPパケットの宛先IPアドレスと送信元IPアドレスとプロトコル番号と宛先ポート番号と送信元ポート番号を組にしてハッシュし、そのハッシュ値先に前期宛先IPアドレスと送信元IPアドレスとプロトコル番号と宛先ポート番号と送信元ポート番号の組と前記QoS情報と前記送出ポートとが記述された0個以上の同一ハッシュ値を持つエントリを登録し、
前記転送手段は、前記IPパケットを受信すると、前記宛先IPアドレスをハッシュして前記第1のテーブルをアクセスし、アクセスの結果、前記第2のテーブルへのリンクを検出すると、前記宛先IPアドレスと送信元IPアドレスの組をハッシュして前記第2のテーブルをアクセスし、アクセス先の前記エントリから同一の前記宛先IPアドレスと送信元IPアドレスの組を有する前記エントリをサーチし、一致する前記エントリを検出すると該エントリに記述された前記QoS情報と前記送出ポートとに従って前記IPパケットの中継を行い、
前記転送手段は、前記IPパケットを受信すると、前記宛先IPアドレスをハッシュして前記第1のテーブルをアクセスし、アクセスの結果、前記第3のテーブルへのリンクを検出すると、前記宛先IPアドレスと送信元IPアドレスとプロトコル番号と宛先ポート番号と送信元ポート番号の組をハッシュして前記第3のテーブルをアクセスし、アクセス先の前記エントリから同一の前記宛先IPアドレスと送信元IPアドレスとプロトコル番号と宛先ポート番号と送信元ポート番号の組を有する前記エントリをサーチし、一致する前記エントリを検出すると該エントリに記述された前記QoS情報と前記送出ポートとに従って前記IPパケットの中継を行うことを備える。
【0026】
本発明の第1のIPフロー多段ハッシュ方法は、受信したIPパケットをQoS情報と送出ポートを含む転送制御情報が登録されたフローテーブルを参照して送信先に中継する第1のステップと、
前記第1のステップにおいて前記フローテーブルに前記送信先の登録が無いと、前記送信先の登録を行う登録手段を呼び出す第2のステップと、
前記登録手段は前記呼び出しを受けると、前記IPパケットの宛先IPアドレスと送信元アドレスの組を元に、宛先IPアドレスと送信元IPアドレスとQoS情報を含むフローについてのQoSを定義したQoSテーブルをサーチし、一致するしないのマッチング情報とQoS情報とを取り出す第3のステップと、
前記宛先IPアドレスによって前記フローテーブルに前記送信先の登録を行うか、前記宛先IPアドレスと送信元IPアドレスの組によって前記送信先の登録を行うかを前記マッチング情報から決定する第4のステップと、
宛先IPアドレスからルーティングテーブルを参照して送出ポートを取り出す第5のステップと、
前記宛先IPアドレスによって前記送信先を登録する場合、前記宛先IPアドレスをハッシュして前記フローテーブルの第1のテーブルをアクセスし、そのハッシュ値先に前記宛先IPアドレスと前記QoS情報と前記送出ポートとを登録し、
前記宛先IPアドレスと送信元IPアドレスの組で前記送信先を登録する場合、前記宛先IPアドレスをハッシュして前記第1のテーブルをアクセスしハッシュ値先に前記フローテーブルの第2のテーブルへのリンクを記すとともに、前記宛先IPアドレスと送信元IPアドレスの組をハッシュして前記第2のテーブルをアクセスし、そのハッシュ値先に前期宛先IPアドレスと送信元IPアドレスの組と前記QoS情報と前記送出ポートとを登録する第6のステップと、
を備える。
【0027】
本発明の第1のIPフロー多段ハッシュプログラムは、コンピュータに、
受信したIPパケットをQoS情報と送出ポートを含む転送制御情報が登録されたフローテーブルを参照して送信先に中継する第1のステップと、
前記第1のステップにおいて前記フローテーブルに前記送信先の登録が無いと、前記送信先の登録を行う登録手段を呼び出す第2のステップと、
前記登録手段は前記呼び出しを受けると、前記IPパケットの宛先IPアドレスと送信元アドレスの組を元に、前記宛先IPアドレスと前記送信元IPアドレスとQoS情報を含むフローについてのQoSを定義したQoSテーブルをサーチし、一致するしないのマッチング情報とQoS情報とを取り出す第3のステップと、
前記宛先IPアドレスによって前記フローテーブルに前記送信先の登録を行うか、前記宛先IPアドレスと送信元IPアドレスの組によって前記送信先の登録を行うかを前記マッチング情報から決定する第4のステップと、
宛先IPアドレスからルーティングテーブルを参照して送出ポートを取り出す第5のステップと、
前記宛先IPアドレスによって前記送信先を登録する場合、前記宛先IPアドレスをハッシュして前記フローテーブルの第1のテーブルをアクセスし、そのハッシュ値先に前記宛先IPアドレスと前記QoS情報と前記送出ポートとを登録し、
前記宛先IPアドレスと送信元IPアドレスの組で前記送信先を登録する場合、前記宛先IPアドレスをハッシュして前記第1のテーブルをアクセスしハッシュ値先に前記フローテーブルの第2のテーブルへのリンクを記すとともに、前記宛先IPアドレスと送信元IPアドレスの組をハッシュして前記第2のテーブルをアクセスし、そのハッシュ値先に前期宛先IPアドレスと送信元IPアドレスの組と前記QoS情報と前記送出ポートとを登録する第6のステップと、
を実行させる。
【0028】
本発明の第2のIPフロー多段ハッシュプログラムは、受信したIPパケットをQoS情報と送出ポートを含む転送制御情報が登録されたフローテーブルを参照して送信先に中継するコンピュータに実行させるプログラムであって、
前記IPパケットの宛先IPアドレスと送信元アドレスの組を元に、前記宛先IPアドレスと前記送信元IPアドレスとQoS情報を含むフローについてのQoSを定義したQoSテーブルをサーチし、一致するしないのマッチング情報とQoS情報とを取り出す第1のステップと、
前記宛先IPアドレスによって前記フローテーブルに前記送信先の登録を行うか、前記宛先IPアドレスと送信元IPアドレスの組によって前記送信先の登録を行うかを前記マッチング情報から決定する第2のステップと、
宛先IPアドレスからルーティングテーブルを参照して送出ポートを取り出す第3のステップと、
前記宛先IPアドレスによって前記送信先を登録する場合、前記宛先IPアドレスをハッシュして前記フローテーブルの第1のテーブルをアクセスし、そのハッシュ値先に前記宛先IPアドレスと前記QoS情報と前記送出ポートとを登録し、
前記宛先IPアドレスと送信元IPアドレスの組で前記送信先を登録する場合、前記宛先IPアドレスをハッシュして前記第1のテーブルをアクセスしハッシュ値先に前記フローテーブルの第2のテーブルへのリンクを記すとともに、前記宛先IPアドレスと送信元IPアドレスの組をハッシュして前記第2のテーブルをアクセスし、そのハッシュ値先に前期宛先IPアドレスと送信元IPアドレスの組と前記QoS情報と前記送出ポートとを登録する第4のステップと、
を備える。
【0029】
本発明の第1の記録媒体は、コンピュータに、受信したIPパケットをQoS情報と送出ポートを含む転送制御情報が登録されたフローテーブルを参照して送信先に中継する第1のステップと、
前記第1のステップにおいて前記フローテーブルに前記送信先の登録が無いと、前記送信先の登録を行う登録手段を呼び出す第2のステップと、
前記登録手段は前記呼び出しを受けると、前記IPパケットの宛先IPアドレスと送信元アドレスの組を元に、前記宛先IPアドレスと前記送信元IPアドレスとQoS情報を含むフローについてのQoSを定義したQoSテーブルをサーチし、一致するしないのマッチング情報とQoS情報とを取り出す第3のステップと、
前記宛先IPアドレスによって前記フローテーブルに前記送信先の登録を行うか、前記宛先IPアドレスと送信元IPアドレスの組によって前記送信先の登録を行うかを前記マッチング情報から決定する第4のステップと、
宛先IPアドレスからルーティングテーブルを参照して送出ポートを取り出す第5のステップと、
前記宛先IPアドレスによって前記送信先を登録する場合、前記宛先IPアドレスをハッシュして前記フローテーブルの第1のテーブルをアクセスし、そのハッシュ値先に前記宛先IPアドレスと前記QoS情報と前記送出ポートとを登録し、
前記宛先IPアドレスと送信元IPアドレスの組で前記送信先を登録する場合、前記宛先IPアドレスをハッシュして前記第1のテーブルをアクセスしハッシュ値先に前記フローテーブルの第2のテーブルへのリンクを記すとともに、前記宛先IPアドレスと送信元IPアドレスの組をハッシュして前記第2のテーブルをアクセスし、そのハッシュ値先に前期宛先IPアドレスと送信元IPアドレスの組と前記QoS情報と前記送出ポートとを登録する第6のステップと、
を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【0030】
本発明の第2の記録媒体は、受信したIPパケットをQoS情報と送出ポートを含む転送制御情報が登録されたフローテーブルを参照して送信先に中継するコンピュータに実行させるIPフロー多段ハッシュプログラムを記録した記録媒体であって、
前記IPパケットの宛先IPアドレスと送信元アドレスの組を元に、前記宛先IPアドレスと前記送信元IPアドレスとQoS情報を含むフローについてのQoSを定義したQoSテーブルをサーチし、一致するしないのマッチング情報とQoS情報とを取り出す第1のステップと、
前記宛先IPアドレスによって前記フローテーブルに前記送信先の登録を行うか、前記宛先IPアドレスと送信元IPアドレスの組によって前記送信先の登録を行うかを前記マッチング情報から決定する第2のステップと、
宛先IPアドレスからルーティングテーブルを参照して送出ポートを取り出す第3のステップと、
前記宛先IPアドレスによって前記送信先を登録する場合、前記宛先IPアドレスをハッシュして前記フローテーブルの第1のテーブルをアクセスし、そのハッシュ値先に前記宛先IPアドレスと前記QoS情報と前記送出ポートとを登録し、
前記宛先IPアドレスと送信元IPアドレスの組で前記送信先を登録する場合、前記宛先IPアドレスをハッシュして前記第1のテーブルをアクセスしハッシュ値先に前記フローテーブルの第2のテーブルへのリンクを記すとともに、前記宛先IPアドレスと送信元IPアドレスの組をハッシュして前記第2のテーブルをアクセスし、そのハッシュ値先に前期宛先IPアドレスと送信元IPアドレスの組と前記QoS情報と前記送出ポートとを登録する第4のステップと、
を備えるプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【0031】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【0032】
本発明の実施の形態の構成を図1を用いて説明する。
【0033】
図1を参照すると、L3スイッチ(IPルータ)10は、ソフトウェアプログラムからなるフロー管理モジュール25と、フローテーブル26と、ハードウェアのLSIチップによる送信先の決定を行う転送チップ27と、を備えている。
【0034】
L3スイッチ10は、図示しないCPUを持つコンピュータである。
【0035】
尚、転送チップ27の機能を全てソフトウェアプログラムによって構成することも可能である。
【0036】
またL3スイッチ10内には他にも、フロー管理モジュール25にフロー情報の登録を要求する上位モジュールとしてIPモジュール21と、QoSテーブル24を管理するQoS管理モジュール23と、を備えている。IPモジュール21とQoS管理モジュール23もソフトウェアプログラムである。
【0037】
尚、登録手段20は、IPモジュール21とQoS管理モジュール23とフロー管理モジュール25とQoSテーブル24とルーティングテーブル22を総称する。
【0038】
さらに、L3スイッチ10は、図7に例示するように送信の対象となるL3スイッチ10に隣接するルータや端末等について、その装置の属するネットワークのアドレスとL3スイッチ10の送出ポートと隣接ルータとからなるルーティングテーブル22を備える。
【0039】
さらに、L3スイッチ10は、図6に例示するように、個々のフローを識別する為の送信元IPアドレス、宛先IPアドレス、識別されたフローの持つ優先順位からなるQoS情報とパケットの廃棄を指定した備考情報とからなるQoSテーブル24を備える。本発明で説明するQoS情報は、そのフローの有する優先順位(高、中、低)とそのフローに含まれるパケットを廃棄するか否かの情報からなっているが、これにとらわれるものではない。
【0040】
本発明を構成するプログラムは、例えばCD−ROM等の記録媒体に記録され、そのような記録媒体からL3スイッチ10の図示しないCD−ROM装置によってL3スイッチ10にロードされてもよいし、通信機能によって他のコンピュータからロードされてもよい。
【0041】
次に、フローテーブル26の構成を図5を用いて説明する。
【0042】
図5を見ると、フローテーブル26は、宛先IPアドレスをハッシュしたハッシュ値に対応する数バイト長のエントリを連続して集合した第1ハッシュ先頭領域31と、宛先IPアドレスと送信元IPアドレスの組をハッシュしたハッシュ値に対応するエントリを連続して集合した第2ハッシュ先頭領域32と、第1ハッシュ先頭領域31のそれぞれのエントリからリンクされた宛先IPアドレスとQoS情報等を含む宛先IPエントリ33と、同様に第2ハッシュ先頭領域32のそれぞれのエントリからリンクされた宛先IPアドレスと送信元IPアドレスとQoS情報等を含む宛先送信元IPエントリ34と、から構成される。
【0043】
尚、宛先IPエントリ33は同じハッシュ値を持つ次の宛先IPエントリ33をリンクするリンクフィールドを持つ。同様に宛先送信元IPエントリ34も同じハッシュ値を持つ次の宛先送信元IPエントリ34へのリンクフィールドを持つ。
【0044】
異なる宛先IPアドレスでもハッシュ時に同一のハッシュ値となった場合には、同じハッシュ値を持つ宛先IPエントリ33同士はリンクフィールドによってリンクされる。宛先送信元IPエントリ34についても同様である。
【0045】
さらに、第1ハッシュ先頭領域31の各エントリにはマークビットがあって、マークビットがオンの場合、第2ハッシュ先頭領域32をアクセスする必要があることを表している。
【0046】
次に、本発明の実施の形態の動作について図面を参照して説明する。
【0047】
最初に図1と図2のフローチャートを用いて転送チップ27の動作を説明する。
【0048】
L3スイッチ10がIP(Internet Protocol)パケットを受信すると、転送チップ27が動作し、受信したIPパケットのIPヘッダに記述された宛先IPアドレスをハッシュしてフローテーブル26の第1ハッシュ先頭領域31をアクセスする(ステップA1)。次に、アクセスしたエントリのマークビットのオン、オフをチェックする(ステップA2)。
【0049】
マークビットがオフの場合は、第1ハッシュ先頭領域31にリンクされた情報をアクセスすることを意味し、アクセスしたエントリの持つリンクフィールドに宛先IPエントリ33がリンクされているかをチェックする(ステップA3)。転送チップ27は、リンクがない場合、ソフトウェアに割り込みをあげて当該IPパケットについての処理を終了する(ステップA4)。リンクされている場合は、IPヘッダから取得した宛先IPアドレスをもとにリンクされた宛先IPエントリ33の宛先IPアドレスと比較し、一致するものがあるかをチェックする(ステップA5)。この処理を宛先IPエントリ33のリンクフィールドをたどり最後まで行う。最後までたどっても一致するものがないとソフトウェアに割り込みをあげて当該IPパケットについての転送チップ27の処理を終了する(ステップA4)。
【0050】
(ステップA5)のチェックで一致した宛先IPエントリ33があると、この宛先IPエントリ33に記述された送出ポートとQoS情報を取り出し、取り出した内容に従ったハードウェアによる受信IPパケットの送信処理を実行する(ステップA6)。
【0051】
先に戻って、第1ハッシュ先頭領域31にアクセスした結果、(ステップA2)のチェックでハッシュ値先のエントリのマークビットがオンの場合は、第2ハッシュ先頭領域32にリンクされた情報をアクセスすることを意味し、IPヘッダから取り出した宛先IPアドレスと送信元IPアドレスを組にしてハッシュを行い、第2ハッシュ先頭領域32をアクセスする(ステップA7)。
【0052】
このとき、IPヘッダから取り出した宛先IPアドレスと送信元IPアドレスの組と、ハッシュ値によって求めた第2ハッシュ先頭領域32のエントリからリンクされた宛先送信元IPエントリ34の持つ宛先IPアドレスと送信元IPアドレスの組とをリンクフィールドをたどって最後まで順に比較する(ステップA8)。比較の結果、一致するものがない場合は、ソフトウェアに割り込みをあげる(ステップA4)。一致するものがある場合は、一致した宛先送信元IPエントリ34から送出先の送出ポートとQoS情報を取り出しその内容に従ったハードウェアによる送信処理を実行する(ステップA6)。
【0053】
次にソフトウェアによるフローテーブル26への登録処理の全貌を図1、図6、図7と図3のフローチャートを参照して説明する。
【0054】
転送チップ27の動作時、ソフトウェアに対する割り込みがあがると、受信したパケットに関し、ソフトウェアの登録手段20によってフローテーブル26への宛先IPアドレス等を含む転送制御情報の登録処理が実行される。
【0055】
転送チップ27から割り込みの通知を受けたソフトウェアの登録手段20では最初にIPモジュール21が動作する(ステップB1)。
【0056】
IPモジュール21は、受信したIPパケットが含まれるフローが持つQoSデータをQoS管理モジュール23に要求する(ステップB2)。
【0057】
QoS管理モジュール23は、受信したIPパケットのIPヘッダから送信元IPアドレスと宛先IPアドレスとを取り出し、取り出した情報とQoSテーブル24のに定義されたフローとを順に比較し、一致するフローに予め定義されたQoSデータとパケットの廃棄情報とをIPモジュール21に返す(ステップB3)。
【0058】
この比較の結果として宛先IPアドレスと送信元IPアドレスの両方が一致したか、または一致しなかったかのマッチング情報も返却される。QoS管理モジュールは、一致するフローのQoS情報の定義が無い場合、デフォールトのQoS情報を返却する。
【0059】
図6に例示したQoSテーブル24を参照すると、第1の例として受信したパケットが、例えば、宛先IPアドレスが10.1.1.4で、送信元IPアドレスが10.1.1.1の場合、図6の先頭の欄の内容に一致するので、QoS管理モジュール23は、このフローについてのQoS情報として高優先であり、宛先IPアドレスと送信元IPアドレスのフローが定義されていることをIPモジュール21に通知する。また、第2の例として、宛先IPアドレスが10.1.1.5で送信元IPアドレスが10.1.1.4の場合、どれにもマッチしないので当該フローが未定義であることと、デフォールト値として選択した、例えば中優先を通知する。
【0060】
IPモジュール21は受け取ったQoS情報とマッチング情報とから、宛先IPアドレスだけでフローを登録すべきか、宛先IPアドレスと送信元IPアドレスの組でフローをフローテーブル26に登録すべきかを決定してフロー決定情報を作成する(ステップB4)。先の第1の例では、宛先IPアドレスと送信元IPアドレスの組での登録、第2の例の場合では、宛先IPアドレスのみでの登録がそれぞれ選択される。尚、宛先IPアドレスのみでの登録の場合でもフロー決定情報には、送信元IPアドレスも記述が行われる。
【0061】
IPモジュール21は、IPヘッダの宛先IPアドレスからルーティングテーブル22を参照して順に比較し一致する隣接ルータや端末等の送信先を決定し、送出ポートを取り出す(ステップB5)。
【0062】
図7を参照すると、例えば宛先IPアドレスが10.1.1.2の場合、ルーティングテーブル22の宛先アドレス10.1.1/24が合致するので送出ポートとして送出ポート1(隣接ルータが隣接ルータ1)が選択される。IPモジュール21は、取り出した送出ポートをフロー決定情報に記述する。
【0063】
IPモジュール21は、以上のように作成したフロー決定情報をフロー管理モジュール25に提供し、フロー管理モジュール25はこれをもとにフローテーブル26への登録処理を実行する(ステップB6)。
【0064】
IPモジュール21は、フロー決定情報の登録を終えると、L3スイッチ10に当該パケットを送出する指示を行い受信したパケットの送信処理を終了する(ステップB7)。
【0065】
転送チップ27は、前述したようフローテーブル26に登録が行われたフローについて、次に同一フローに属するパケットを受信すると、宛先IPアドレスのみ、または宛先IPアドレスと送信元IPアドレスの組によるハッシュ検索を行うと、ヒットするのでこのパケットをハードウェア転送する。もし受信したパケットのフローが別フローでヒットしなかった場合は、ソフトウェアに割り込み通知し(ステップB1)の動作に戻る。
【0066】
図8を見ると端末3から端末1への送信処理における優先順位は普通であり、同じ端末3から端末2への優先順位は高い状態を例示している。
【0067】
次に、図4のフローチャートと図5を参照してフロー管理モジュール25の転送制御情報の登録処理の詳細を説明する。
【0068】
IPモジュール21によるフロー登録要求処理として、IPモジュール21は、フロー決定情報を引数としてフロー管理モジュール25を呼び出す(ステップC1)。フロー管理モジュール25は、フロー決定情報の宛先IPアドレスをハッシュ計算する。
【0069】
ハッシュ計算の結果、生成された数値に第1ハッシュ先頭領域31のエントリサイズ(例えば6バイト長)を掛けて第1ハッシュ先頭領域31における該当するエントリを求める(ステップC2)。
【0070】
求めたエントリのマークビットのオン、オフをチェックする(ステップC3)。オンの場合は、(ステップC10)にジャンプする。初期状態ではマークビットはオフである。マークビットがオフの場合、次にフロー決定情報を参照して宛先IPアドレスのみでの登録か宛先IPアドレスと送信元IPアドレスの組での登録かをチェックする(ステップC4)。
【0071】
宛先IPアドレスと送信元IPアドレスの組での登録の場合はマークビットをオンにする(ステップC9)。そして第1ハッシュ先頭領域31のエントリのリンクフィールドがnullか否かをチェックする(ステップC15)。nullの場合は、(ステップC10)にジャンプする。
【0072】
nullでない場合はリンクフィールドにリンクされている全ての宛先IPエントリ33を消去し、空きの宛先IPエントリ33として(ステップC16)、(ステップ10)にジャンプする。
【0073】
(ステップC4)でのチェックで宛先IPアドレスのみの登録の場合、フロー管理モジュール25は、空きの宛先IPエントリ33を求め、当該宛先IPエントリ33に宛先IPアドレスとフロー決定情報から取り出したQoS情報としての優先順位、IPパケットの廃棄情報と送出ポートを記入する(ステップC5)。次にハッシュ値から得たエントリのリンクフィールドに、記入を終えた宛先IPエントリ33を第1ハッシュ先頭領域31のエントリのリンクフィールドに登録する(ステップC6)。
【0074】
図9には、第1ハッシュ先頭領域に宛先IPエントリ33がリンクされている様子が例示されている。第1ハッシュ先頭領域31の第3エントリには宛先IPアドレスとしてIP1とIP3をもつ宛先IPエントリ33が、第6エントリにはIP2の宛先IPエントリ33がそれぞれリンクされている。
【0075】
次に、フロー決定情報が宛先IPアドレスと送信元IPアドレスの組の場合について説明する。
【0076】
宛先IPアドレスと送信元IPアドレスを組としてこれをハッシュ計算し、このハッシュ値から第2ハッシュ先頭領域32のエントリを求める(ステップC10)。次に、空きの宛先送信元IPエントリ34を求め、宛先IPアドレス、送信元IPアドレス、QoS情報、IPパケットの廃棄情報と送出ポートを記入する(ステップC11)。これを第2ハッシュ先頭領域32のエントリのリンクフィールドに登録する(ステップC12)。
【0077】
図10には、第1ハッシュ先頭領域31の第6と第8のマークビットがオンであり、第2ハッシュ先頭領域32の第2と第8エントリに対応する情報が格納されている様子を例示している。
【0078】
尚、以上の説明から判るようにフロー決定情報が宛先IPアドレスのみの登録の場合でも、宛先IPアドレスをハッシュ計算して求めた第1ハッシュ先頭領域31のハッシュ位置エントリのマークビットが既にオンの場合は、第2ハッシュ先頭領域32に登録が行われることになる。
【0079】
上記の宛先IPアドレスと送信元IPアドレスのフロー管理モジュール25による登録処理及び転送チップ27による検索時に使用するハッシュ計算方法は完全に同一の方法にする必要があることは前述した内容から明らかである。
【0080】
送信元IPアドレス以外にも、TCP(Transmission Control Protocol)やUDP(User Datagram Protocol)のL4ポート番号を含めてフローを特定した制御を行う場合には、以上説明した2段階のハッシュ領域にさらにもう1段のポート番号に対応するアプリケーションプログラムレベルのQoS情報を含むハッシュ領域を追加した3段階のハッシュ構成をとることができる。
【0081】
さらに、この場合、QoSテーブル24として、図6に例示した宛先IPアドレス、送信元IPアドレスのほかにTCP/UDP等を識別するプロトコル番号、宛先ポート番号、送信元ポート番号等を追加することによってアプリケーションレベルを意識したフローを識別し、このフローのQoS情報を含むQoSテーブル24を備えることになる。このQoSテーブル24を宛先IPアドレス、送信元IPアドレス、プロトコル番号、宛先ポート番号、送信元ポート番号によって検索した結果、一致するレベルに3段階を設ける。
【0082】
第1は宛先IPアドレスと送信元IPアドレスの組でも一致するものがない場合、第2は宛先IPアドレスと送信元IPアドレスの組で一致するものがある場合、第3はポート番号も含めて全てが一致する場合である。ここで第1と第2の場合は、これまで説明した内容にあたる。第3の場合のハッシュ対象となる情報は、宛先IPアドレス、送信元IPアドレス、プロトコル番号、宛先ポート番号、送信元ポート番号となるがプロトコル番号と宛先ポート番号、送信元ポート番号のいずれかは省略可能である。
【0083】
この場合のマークの定義は、次の段階のハッシュに進む意味にしても良いが、1段目のハッシュエントリにマークビット1とマークビット2を設け、マークビット1とマークビット2が両方ともオフであれば1段目を検索、マークビット1がオンであれば2段目を検索、マークビット2がオンであれば3段目を直接検索するようにして指定した段数のハッシュ領域に直接進ませる意味にしても良い。
【0084】
登録手段20による転送制御情報の登録時、第3の場合の登録を行う場合は、まず宛先IPアドレスでハッシュして第1ハッシュ先頭領域を求め、マークビット1をオフ、マークビット2をオンとする。次に前述したハッシュ対象情報をハッシュして第3段階のテーブルを求めハッシュ対象情報やQoS情報等を含む転送制御情報の登録を行う。
【0085】
尚、転送チップは、マークビット2がオンのとき、受信したIPパケットのTCPまたはUDPヘッダをアクセスし、必要となる情報を取り出すことになる。
【0086】
図11に例示するように、同じ端末で複数のアプリケーションプログラムが動作する場合、ポート番号で識別されたアプリケーションプログラム単位に細かなフロー制御ができる。
【0087】
また、データリンク層のL2転送において1段目を宛先MAC(MediaAccess Control)アドレス、2段目を送信元MACアドレスに適用する構成もとることができる。L2転送において1段目を宛先MACアドレス、2段目を送信元MACアドレス、3段目をIPやIPXを識別するイーサネット(登録商標)・タイプとして3段階のハッシュ構成もとることができる。L3スイッチ10でなくソフトウェア・ルータの場合でも、優先的に高速転送するフローにのみハッシュテーブルを使用する装置にも適用できる。
【0088】
以上の内容を踏まえると、次のように一般化することができる。
【0089】
宛先MACアドレス、送信元MACアドレス、宛先IPアドレス、送信元IPアドレス等のパケットの属するフローを識別するデータをフロー識別データと呼ぶとして、このフロー識別データをQoS情報を付与する対象のフロー単位で複数に区分しフロー階層としてそれぞれに番号を与える。この区分されたフロー識別情報を使用してフローとそのフローのQoS情報が一つのエントリとして定義されたQoSテーブルを準備する。
【0090】
受信したパケットの前記フロー識別データを元に前記QoSテーブルをサーチし、一致するエントリがあると、そのエントリの前記フロー識別情報と前記フロー識別情報から決定されるフロー階層と前記QoS情報を取り出す。
【0091】
次に、例えばルーティングテーブル等からパケットの送信先の前記送出ポートを求める。
【0092】
宛先アドレスをハッシュして前記フローテーブル26の第1のテーブルをアクセスし、そのハッシュ値先に前記フロー階層を記録する。最後にQoSテーブル24から取り出したフロー識別情報をハッシュして前記フロー階層で識別されるテーブルをアクセスし、ハッシュ値先に前記フロー識別情報と前記QoS情報と前記送出ポートとを記録する。
【0093】
【発明の効果】
本発明の効果は、宛先IPアドレスだけで登録するフローと、宛先IPアドレスと送信元IPアドレスの組で登録するフローとが1つのハッシュ領域で両立して管理されることで、細かなフロー制御と大まかなフロー制御の混在ができ、ハッシュ領域で使用する大まかな制御の為のメモリと細かな制御の為のメモリとのバランスをとることが可能となる。
【0094】
混在させても同一ハッシュ値のリスト段数を押さえて、高速検索が可能である。
【0095】
また、細かな制御が不要の場合は、宛先IPエントリだけで登録することでメモリ使用量を押さえ、大量のフローを処理することができる。
【0096】
さらに、宛先IPアドレスだけではハッシュ値が分散しないときに、送信元IPアドレスも含めたハッシュで分散させることが可能となるという効果もある。
【図面の簡単な説明】
【図1】本発明の実施の形態の構成を説明したブロック図である。
【図2】本発明の実施の形態の動作を説明したフローチャートである。
【図3】本発明の実施の形態の動作を説明したフローチャートである。
【図4】本発明の実施の形態の動作を説明したフローチャートである。
【図5】本発明の実施の形態のフローテーブルの説明図である。
【図6】本発明の実施の形態のQoSテーブルの説明図である。
【図7】本発明の実施の形態のルーティングテーブルの説明図である。
【図8】本発明の実施の形態の端末間での送信優先順位の説明図である。
【図9】本発明の実施の形態の第1ハッシュ先頭領域に宛先IPエントリがリンクされている状態の説明図である。
【図10】本発明の実施の形態の第2ハッシュ先頭領域に宛先送信元IPエントリがリンクされている状態の説明図である。
【図11】本発明の実施の形態のL4ポート番号間での送信優先順位の説明図である。
【符号の説明】
20 登録手段
21 IPモジュール
22 ルーティングテーブル
23 QoS管理モジュール
24 QoSテーブル
25 フロー管理モジュール
26 フローテーブル
27 転送チップ
31 第1ハッシュ先頭領域
32 第2ハッシュ先頭領域
33 宛先IPエントリ
34 宛先送信元IPエントリ[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to control of a hash table for determining a destination port in a network relay device, and in particular, hashes in which hash information using only a destination IP address, a destination IP address, and a source IP address are combined according to characteristics of a flow. The present invention relates to an IP flow multi-stage hash device, an IP flow multi-stage hash method, an IP flow multi-stage hash program, and a recording medium therefor that separate information and determine a destination port.
[0002]
[Prior art]
A device that performs transfer (forwarding, routing) in an IP (Internet Protocol) layer is called a router. A router is a network relay device for transferring data at high speed between a plurality of networks or between a network and a terminal, and has a table for selecting a route for a destination to which data is to be transferred. Upon receiving the data, the router determines a transfer destination based on a table for selecting a route by referring to the IP header of the IP layer from the data.
[0003]
In recent years, devices that perform this transfer at high speed by hardware (chip called ASIC) instead of software have been used, and one of them is an L3 switch.
[0004]
The expected role of the router differs depending on where it is located. In general, a router arranged on the core (backbone) side of the network does not require much detailed control and plays a role in processing a large amount of packets at high speed. The fine control refers to, for example, filtering for discarding unnecessary packets, QoS (Quality of Service) control reflecting service quality based on flow priority, and the like.
[0005]
On the other hand, the router arranged on the edge side to which the terminal is connected does not need to process a large amount of packets, but needs a role of performing fine control such as filtering and QoS.
[0006]
Consider a router device that determines a destination of a destination relay router or the like and selects a transmission port corresponding to the destination in units of IP flows (or a group of a plurality of flows) by using a table for performing high-speed transfer. View.
[0007]
In such an apparatus, one of the methods for searching for a destination IP address at a high speed is to manage the IP address by dividing the IP address into a binary tree structure by turning on and off the bit from the first bit constituting the IP address. There is a way to search for a destination.
[0008]
There is also a method in which a destination is searched at high speed by hardware from a hash table in which the IP address or network address of the destination is hashed, and if the search fails, a search using a binary tree structure is performed by software. Hereinafter, the table for high-speed transfer using this hash will be referred to as a flow table.
[0009]
Japanese Patent Application Laid-Open No. 2000-138688 discloses this type of prior art, in which a network address is obtained while subtracting a maximum bit of a netmask value one bit at a time based on a destination IP address extracted from a received packet. It describes that a table in which transfer destination transmission ports are paired is searched to determine a corresponding transfer destination transmission port.
[0010]
[Problems to be solved by the invention]
The conventional problems in the search using the flow table are as follows.
[0011]
If the unit of the flow registered in the flow table is made fine, the above-described fine control becomes possible, but a large amount of tables is consumed. Conversely, if the unit of the flow is roughly reduced, the number of tables to be consumed can be reduced, but there is a problem that fine control becomes impossible.
[0012]
In the case of the search method using both the binary tree and the flow table as described above, if a large number of tables are used, a large amount of memory is consumed, so there is an upper limit to the amount used for each device. When the upper limit is reached, high-speed transfer becomes impossible, and a low-speed binary tree transfer is used. In the L3 switch, a flow table search is generally performed by hardware, and a binary tree search is generally performed by software. In this case, the speed difference is orders of magnitude.
[0013]
Depending on the user's usage, there is a demand to handle a large number of packets even if the router on the core side wants to perform some fine control, or even the router on the edge side (without consuming memory).
[0014]
First, consider a method of reducing the number of IP addresses registered in the flow table. When a hash is used for an IP address registered in a flow table, it is difficult to use a netmask (network address) to reduce the number of IP addresses used in the flow table for the following reasons.
[0015]
When calculating the search start position (hash position) of the flow table by extracting the destination IP address from the IP header and hashing when receiving the IP packet, when using the entire destination IP address, the same destination network as the destination IP address is used. It is highly likely that the hash position will not be the same as the hash position by the network address. By using the netmask (network address) in this way, an attempt to reduce the number of IP addresses registered in the flow table becomes meaningless. For example, the problem can be avoided if one netmask is used in the entire router device, but it is not practical at present when variable-length netmasks are common.
[0016]
In Japanese Patent Application Laid-Open No. 2000-138688, the hash calculation is avoided by performing the hash calculation many times.
[0017]
Therefore, a method of reducing the number of IP addresses by using a netmask (network address) in registration in the flow table cannot be adopted, so that the entire 4 bytes of the destination IP address must be used for hash calculation.
[0018]
By the way, in the registration of only the destination IP address, for example, even if the packet is transmitted to the same destination IP address, control such that a packet of a certain source IP address is transferred and a packet of another source IP address is discarded. Cannot be determined only by the flow table. That is, discarding (filtering), priority control (QoS control), and the like in consideration of the source IP address cannot be performed.
[0019]
Japanese Unexamined Patent Publication No. Hei 6-152655 describes that the problems such as filtering and flow rate control can be solved by registering a destination address and a transmission source address in an address table of a router. No countermeasures are taken against the increase in the number of registered IP addresses.
[0020]
Therefore, according to the present invention, a table including only a destination IP address and a table including a set of a destination IP address and a transmission source IP address are provided in a flow table. An IP flow multi-stage hash device, an IP flow multi-stage hash method, and an IP flow that solve the above-mentioned problem by performing detailed flow control and preventing an increase in the flow table by additionally registering the original IP address and L4 port number A multi-stage hash program and a recording medium thereof are provided.
[0021]
[Means for Solving the Problems]
The first IP flow multi-stage hash device of the present invention includes: a transfer unit that relays a received IP packet by referring to a flow table in which transfer control information including QoS information and a transmission port is registered; Registration means for registering the transfer control information,
The registration unit, upon receiving the IP packet, stores a QoS table, which is defined in advance and one entry is composed of a destination IP address, a source IP address, and QoS information, with the destination IP address included in the IP packet and the transmission. A search is performed with a set of original IP addresses, and if there is no matching entry, the destination address is hashed in the flow table, and the destination IP address is registered in a hash value destination. If there is a matching entry, the destination IP address is registered. And hashing a set of the source IP address and registering the set of the destination IP address and the source IP address in the hash value destination.
[0022]
A second IP flow multi-stage hashing apparatus according to the present invention includes: a transfer unit that relays a received IP packet by referring to a flow table in which transfer control information including QoS information and a transmission port is registered; Registration means for registering the transfer control information,
The registration unit divides the flow table into a first table and a second table,
In the first table, a destination IP address of the IP packet is hashed, a link to the first or second table is indicated by a mark bit ahead of the hash value, and the destination IP address, the QoS information, Register entries having the same hash value of 0 or more in which the transmission port is described,
In the second table, the destination IP address and the source IP address of the IP packet are hashed as a set, and the set of the destination IP address and the source IP address, the QoS information, and the transmission Register entries having the same hash value of 0 or more in which the port is described,
Upon receiving the IP packet, the transfer unit accesses the hash value destination of the first table by hashing the destination IP address, and refers to the mark bit to detect a link to the first table. Searching for the entry linked to the hash value destination of the first table by the destination IP address, and detecting the matching entry, according to the QoS information and the transmission port described in the entry, Relays IP packets,
When the link to the second table is detected with reference to the mark bit, the set of the destination IP address and the source IP address is hashed, the hash value destination of the second table is accessed, and the hash value destination is accessed. Searching for the entry having the same pair of the destination IP address and the source IP address from the linked entry, and detecting the matching entry, according to the QoS information and the transmission port described in the entry, Relaying the IP packet.
[0023]
In a third IP flow multistage hash apparatus according to the present invention, in the first, second, or third invention, when the transfer unit receives the IP packet, the transfer unit includes an entry in the first table based on the destination IP address. Or executing a search for the entry in the second table based on the set of the destination IP address and the source IP address, and notifying the registration unit that there is no matching entry.
[0024]
In a fourth IP flow multistage hashing apparatus according to the first or second aspect of the present invention, the registration means, upon receiving the notification, a QoS including the destination IP address, the transmission source IP address, and the QoS information The table is searched for a set of the destination IP address and the source IP address for specifying the flow of the received IP packet, and if a matching flow is registered, the set of the destination IP address and the source IP address is set to the Registering the destination IP address in the first table when there is no registration of a flow that matches the pair of the destination IP address and the source IP address in the second table.
[0025]
A fifth IP flow multistage hashing apparatus according to the present invention includes: a transfer unit that relays a received IP packet with reference to a flow table in which transfer control information including QoS information and a transmission port is registered; and transfer to the flow table. Registration means for registering control information,
The registration unit divides the flow table into a first table, a second table, and a third table,
In the first table, a destination IP address of the IP packet is hashed, and a link to the first, second, or third table is indicated by a mark bit ahead of the hash value, and the destination IP address is indicated. And zero or more entries having the same hash value in which the QoS information and the transmission port are described,
In the second table, the destination IP address and the source IP address of the IP packet are hashed as a set, and the set of the destination IP address and the source IP address, the QoS information, and the transmission Register entries having the same hash value of 0 or more in which the port is described,
The third table has a set of a destination IP address, a source IP address, a protocol number, a destination port number, and a source port number of the IP packet, and performs hashing. Registering an entry having zero or more identical hash values that describes a set of a source IP address, a protocol number, a destination port number, a source port number, the QoS information, and the transmission port,
The transfer means, upon receiving the IP packet, accesses the first table by hashing the destination IP address, and upon detecting a link to the second table as a result of the access, sets the destination IP address and Accessing the second table by hashing a set of source IP addresses, searching for the entry having the same set of destination IP address and source IP address from the entry of the access destination, and matching the entry And relaying the IP packet according to the QoS information and the transmission port described in the entry,
The transfer means, upon receiving the IP packet, accesses the first table by hashing the destination IP address, and upon detecting a link to the third table as a result of the access, sets the destination IP address and The third table is accessed by hashing a set of a source IP address, a protocol number, a destination port number, and a source port number, and the same destination IP address, source IP address, and protocol are obtained from the entry of the access destination. Searching for the entry having a set of a number, a destination port number, and a source port number, and relaying the IP packet according to the QoS information described in the entry and the transmission port when the matching entry is detected. Is provided.
[0026]
The first IP flow multi-stage hashing method of the present invention includes a first step of relaying a received IP packet to a destination by referring to a flow table in which transfer control information including QoS information and a transmission port is registered,
A second step of calling a registration unit for registering the destination if the destination is not registered in the flow table in the first step;
Upon receiving the call, the registration unit stores a QoS table defining a QoS for a flow including a destination IP address, a source IP address, and QoS information based on a set of a destination IP address and a source address of the IP packet. A third step of searching and extracting matching information and QoS information that do not match;
A fourth step of determining from the matching information whether to register the transmission destination in the flow table by the destination IP address or to register the transmission destination by a set of the destination IP address and the transmission source IP address; ,
A fifth step of extracting a transmission port by referring to a routing table from a destination IP address;
When the destination is registered by the destination IP address, the destination IP address is hashed to access the first table of the flow table, and the destination IP address, the QoS information, and the transmission port are added to the hash value destination. And register
When registering the destination with the set of the destination IP address and the source IP address, the destination IP address is hashed, the first table is accessed, and the hash value is stored in the second table of the flow table. A link is described, the set of the destination IP address and the source IP address are hashed, the second table is accessed, and the set of the destination IP address and the source IP address, the QoS information and A sixth step of registering the sending port;
Is provided.
[0027]
The first IP flow multi-stage hash program of the present invention provides a computer
A first step of relaying the received IP packet to a destination by referring to a flow table in which transfer control information including QoS information and a transmission port is registered;
A second step of calling a registration unit for registering the destination if the destination is not registered in the flow table in the first step;
Upon receiving the call, the registration unit defines a QoS for a flow including the destination IP address, the source IP address, and QoS information based on a set of a destination IP address and a source address of the IP packet. A third step of searching the table and extracting matching information and QoS information that do not match;
A fourth step of determining from the matching information whether to register the transmission destination in the flow table by the destination IP address or to register the transmission destination by a set of the destination IP address and the transmission source IP address; ,
A fifth step of extracting a transmission port by referring to a routing table from a destination IP address;
When the destination is registered by the destination IP address, the destination IP address is hashed to access the first table of the flow table, and the destination IP address, the QoS information, and the transmission port are added to the hash value destination. And register
When registering the destination with the set of the destination IP address and the source IP address, the destination IP address is hashed, the first table is accessed, and the hash value is stored in the second table of the flow table. A link is described, the set of the destination IP address and the source IP address are hashed, the second table is accessed, and the set of the destination IP address and the source IP address, the QoS information and A sixth step of registering the sending port;
Is executed.
[0028]
A second IP flow multi-stage hash program according to the present invention is a program for causing a computer that relays a received IP packet to a destination by referring to a flow table in which transfer control information including QoS information and a transmission port is registered. hand,
Based on a set of a destination IP address and a source address of the IP packet, a QoS table that defines a QoS for a flow including the destination IP address, the source IP address, and QoS information is searched, and a match that does not match is searched. A first step of retrieving information and QoS information;
A second step of determining from the matching information whether to register the destination in the flow table by the destination IP address or to register the destination by a set of the destination IP address and the source IP address; ,
A third step of extracting a transmission port by referring to a routing table from a destination IP address;
When the destination is registered by the destination IP address, the destination IP address is hashed to access the first table of the flow table, and the destination IP address, the QoS information, and the transmission port are added to the hash value destination. And register
When registering the destination with the set of the destination IP address and the source IP address, the destination IP address is hashed, the first table is accessed, and the hash value is stored in the second table of the flow table. A link is described, the set of the destination IP address and the source IP address are hashed, the second table is accessed, and the set of the destination IP address and the source IP address, the QoS information and A fourth step of registering the transmission port;
Is provided.
[0029]
The first recording medium of the present invention comprises: a first step of relaying a received IP packet to a transmission destination by referring to a flow table in which transfer control information including QoS information and a transmission port is registered;
A second step of calling a registration unit for registering the destination if the destination is not registered in the flow table in the first step;
Upon receiving the call, the registration unit defines a QoS for a flow including the destination IP address, the source IP address, and QoS information based on a set of a destination IP address and a source address of the IP packet. A third step of searching the table and extracting matching information and QoS information that do not match;
A fourth step of determining from the matching information whether to register the transmission destination in the flow table by the destination IP address or to register the transmission destination by a set of the destination IP address and the transmission source IP address; ,
A fifth step of extracting a transmission port by referring to a routing table from a destination IP address;
When the destination is registered by the destination IP address, the destination IP address is hashed to access the first table of the flow table, and the destination IP address, the QoS information, and the transmission port are added to the hash value destination. And register
When registering the destination with the set of the destination IP address and the source IP address, the destination IP address is hashed, the first table is accessed, and the hash value is stored in the second table of the flow table. A link is described, the set of the destination IP address and the source IP address are hashed, the second table is accessed, and the set of the destination IP address and the source IP address, the QoS information and A sixth step of registering the sending port;
Is a computer-readable recording medium on which a program for executing the program is recorded.
[0030]
A second recording medium according to the present invention includes an IP flow multi-stage hash program for causing a computer relaying a received IP packet to a destination by referring to a flow table in which transfer control information including QoS information and a transmission port is registered. A recorded medium,
Based on a set of a destination IP address and a source address of the IP packet, a QoS table that defines a QoS for a flow including the destination IP address, the source IP address, and QoS information is searched, and a match that does not match is searched. A first step of retrieving information and QoS information;
A second step of determining from the matching information whether to register the destination in the flow table by the destination IP address or to register the destination by a set of the destination IP address and the source IP address; ,
A third step of extracting a transmission port by referring to a routing table from a destination IP address;
When the destination is registered by the destination IP address, the destination IP address is hashed to access the first table of the flow table, and the destination IP address, the QoS information, and the transmission port are added to the hash value destination. And register
When registering the destination with the set of the destination IP address and the source IP address, the destination IP address is hashed, the first table is accessed, and the hash value is stored in the second table of the flow table. A link is described, the set of the destination IP address and the source IP address are hashed, the second table is accessed, and the set of the destination IP address and the source IP address, the QoS information and A fourth step of registering the transmission port;
A computer-readable recording medium that records a program including
[0031]
BEST MODE FOR CARRYING OUT THE INVENTION
Next, embodiments of the present invention will be described in detail with reference to the drawings.
[0032]
The configuration of the embodiment of the present invention will be described with reference to FIG.
[0033]
Referring to FIG. 1, the L3 switch (IP router) 10 includes a flow management module 25 composed of a software program, a flow table 26, and a transfer chip 27 that determines a destination by a hardware LSI chip. I have.
[0034]
The
[0035]
Note that all functions of the transfer chip 27 may be configured by a software program.
[0036]
The
[0037]
The
[0038]
Further, as illustrated in FIG. 7, the
[0039]
Further, as illustrated in FIG. 6, the
[0040]
The program constituting the present invention is recorded on a recording medium such as a CD-ROM, and may be loaded from such a recording medium into the
[0041]
Next, the configuration of the flow table 26 will be described with reference to FIG.
[0042]
Referring to FIG. 5, the flow table 26 includes a first
[0043]
The destination IP entry 33 has a link field linking the next destination IP entry 33 having the same hash value. Similarly, the destination
[0044]
If the same hash value is obtained even when different destination IP addresses are hashed, the destination IP entries 33 having the same hash value are linked by a link field. The same applies to the destination transmission
[0045]
Furthermore, each entry of the first
[0046]
Next, the operation of the embodiment of the present invention will be described with reference to the drawings.
[0047]
First, the operation of the transfer chip 27 will be described with reference to the flowcharts of FIGS.
[0048]
When the
[0049]
When the mark bit is off, it means that the information linked to the first
[0050]
If there is a destination IP entry 33 that matches the check in (Step A5), the sending port and the QoS information described in the destination IP entry 33 are extracted, and the transmission processing of the received IP packet by the hardware according to the extracted contents is performed. Execute (Step A6).
[0051]
Returning to the previous, as a result of accessing the first
[0052]
At this time, a set of the destination IP address and the source IP address extracted from the IP header, the destination IP address of the destination
[0053]
Next, the entire process of registration in the flow table 26 by software will be described with reference to the flowcharts of FIGS. 1, 6, 7 and 3.
[0054]
During the operation of the transfer chip 27, when an interrupt to software rises, registration processing of transfer control information including a destination IP address and the like in the flow table 26 is executed by the software registration means 20 for the received packet.
[0055]
In the
[0056]
The IP module 21 requests the
[0057]
The
[0058]
As a result of this comparison, matching information indicating whether both the destination IP address and the source IP address match or not match is also returned. When there is no definition of the QoS information of the matching flow, the QoS management module returns the default QoS information.
[0059]
Referring to the QoS table 24 illustrated in FIG. 6, as a first example, a packet received has a destination IP address of 10.1.4.4 and a source IP address of 10.1.1.1. In this case, since the contents match the contents in the first column in FIG. 6, the
[0060]
Based on the received QoS information and matching information, the IP module 21 determines whether the flow should be registered only with the destination IP address or whether the flow should be registered in the flow table 26 with the combination of the destination IP address and the source IP address. The decision information is created (step B4). In the first example, registration using a pair of a destination IP address and a transmission source IP address is selected, and in the second example, registration using only a destination IP address is selected. Note that even in the case of registration using only the destination IP address, the source IP address is also described in the flow determination information.
[0061]
The IP module 21 refers to the routing table 22 in order from the destination IP address of the IP header, compares them in order, determines a matching destination such as an adjacent router or terminal, and extracts a transmission port (step B5).
[0062]
Referring to FIG. 7, for example, when the destination IP address is 10.1.1.2, the destination address 10.1.1 / 24 in the routing table 22 matches, so that the output port is the output port 1 (adjacent router is 1) is selected. The IP module 21 describes the extracted transmission port in the flow determination information.
[0063]
The IP module 21 provides the flow determination information created as described above to the flow management module 25, and the flow management module 25 executes a registration process in the flow table 26 based on the information (step B6).
[0064]
After completing the registration of the flow determination information, the IP module 21 instructs the
[0065]
When the transfer chip 27 receives a packet belonging to the same flow next for the flow registered in the flow table 26 as described above, the transfer chip 27 performs a hash search based on only the destination IP address or a combination of the destination IP address and the source IP address. Is performed, the packet is hit, so this packet is transferred by hardware. If the flow of the received packet does not hit in another flow, an interrupt is notified to the software (step B1) and the operation returns to the operation.
[0066]
Referring to FIG. 8, the priority in the transmission process from the terminal 3 to the
[0067]
Next, the details of the transfer control information registration processing of the flow management module 25 will be described with reference to the flowchart of FIG. 4 and FIG.
[0068]
As a flow registration request process by the IP module 21, the IP module 21 calls the flow management module 25 with the flow determination information as an argument (Step C1). The flow management module 25 calculates the hash of the destination IP address of the flow determination information.
[0069]
As a result of the hash calculation, the generated numerical value is multiplied by the entry size (for example, 6 bytes) of the first
[0070]
The on / off state of the mark bit of the obtained entry is checked (step C3). If it is on, the process jumps to (Step C10). In the initial state, the mark bit is off. If the mark bit is off, it is next checked with reference to the flow determination information whether the registration is made only with the destination IP address or with the combination of the destination IP address and the source IP address (step C4).
[0071]
In the case of registration with a set of the destination IP address and the source IP address, the mark bit is turned on (step C9). Then, it is checked whether or not the link field of the entry of the first
[0072]
If it is not null, all the destination IP entries 33 linked to the link field are deleted, and the process jumps to (Step C16) and (Step 10) as empty destination IP entries 33.
[0073]
In the case where only the destination IP address is registered in the check in (Step C4), the flow management module 25 obtains an empty destination IP entry 33 and stores the destination IP address and the QoS information extracted from the flow determination information in the destination IP entry 33. , The discard information of the IP packet and the transmission port are entered (step C5). Next, the completed destination IP entry 33 is registered in the link field of the entry obtained from the hash value in the link field of the entry in the first hash head area 31 (step C6).
[0074]
FIG. 9 illustrates an example in which the destination IP entry 33 is linked to the first hash head area. The third entry of the first
[0075]
Next, a case where the flow determination information is a set of a destination IP address and a source IP address will be described.
[0076]
The destination IP address and the source IP address are used as a set and hash calculation is performed, and an entry of the second hash head area 32 is obtained from the hash value (step C10). Next, an empty destination transmission
[0077]
FIG. 10 illustrates an example in which the sixth and eighth mark bits of the first
[0078]
As can be understood from the above description, even when the flow determination information is registration of only the destination IP address, the mark bit of the hash position entry of the first
[0079]
It is apparent from the above description that the above-described destination IP address and source IP address are required to be completely identical in the hash calculation method used in the registration processing by the flow management module 25 and the search by the transfer chip 27. .
[0080]
In addition to the source IP address, when performing control specifying a flow including an L4 port number of TCP (Transmission Control Protocol) or UDP (User Datagram Protocol), the two-stage hash area described above is further added. It is possible to adopt a three-stage hash configuration in which a hash area including QoS information at the application program level corresponding to the one-stage port number is added.
[0081]
Further, in this case, by adding a protocol number for identifying TCP / UDP, etc., a destination port number, a source port number, etc. in addition to the destination IP address and the source IP address illustrated in FIG. A flow conscious of the application level is identified, and a QoS table 24 including the QoS information of the flow is provided. As a result of searching this QoS table 24 by the destination IP address, the transmission source IP address, the protocol number, the destination port number, and the transmission source port number, three levels are provided for matching levels.
[0082]
The first is when there is no match in the pair of the destination IP address and the source IP address, the second is when there is a match in the pair of the destination IP address and the source IP address, and the third is when the group includes the port number. This is the case when all match. Here, the first and second cases correspond to the contents described so far. The information to be hashed in the third case is a destination IP address, a source IP address, a protocol number, a destination port number, and a source port number, and any one of the protocol number, the destination port number, and the source port number is It can be omitted.
[0083]
In this case, the definition of the mark may mean that the process proceeds to the next-stage hash. However, the
[0084]
When registering the transfer control information by the registration means 20, when performing the registration in the third case, first, the first IP address is hashed to obtain the first hash head area, the
[0085]
When the
[0086]
As illustrated in FIG. 11, when a plurality of application programs operate on the same terminal, fine flow control can be performed for each application program identified by a port number.
[0087]
In the L2 transfer of the data link layer, the first stage may be applied to a destination MAC (Media Access Control) address, and the second stage may be applied to a source MAC address. In the L2 transfer, the first stage can be a destination MAC address, the second stage is a source MAC address, and the third stage is an Ethernet (registered trademark) type for identifying IP or IPX, and can have a three-stage hash configuration. Even in the case of a software router instead of the
[0088]
Based on the above contents, it can be generalized as follows.
[0089]
Data for identifying a flow to which a packet belongs, such as a destination MAC address, a transmission source MAC address, a destination IP address, and a transmission source IP address, is referred to as flow identification data. It divides into a plurality and gives numbers to each as a flow hierarchy. Using the divided flow identification information, a QoS table in which the flow and the QoS information of the flow are defined as one entry is prepared.
[0090]
The QoS table is searched based on the flow identification data of the received packet, and when there is a matching entry, the flow information and the flow hierarchy determined from the flow identification information of the entry and the QoS information are extracted.
[0091]
Next, the transmission port of the transmission destination of the packet is obtained from, for example, a routing table.
[0092]
The first address of the flow table 26 is accessed by hashing the destination address, and the flow hierarchy is recorded at the destination of the hash value. Finally, the flow identification information extracted from the QoS table 24 is hashed to access the table identified by the flow hierarchy, and the flow identification information, the QoS information, and the transmission port are recorded in a hash value destination.
[0093]
【The invention's effect】
The effect of the present invention is that a flow registered with only a destination IP address and a flow registered with a set of a destination IP address and a source IP address are managed in a single hash area, thereby enabling fine flow control. And rough flow control can be mixed, and it is possible to balance the memory for rough control used in the hash area with the memory for fine control.
[0094]
Even if they are mixed, a high-speed search can be performed while suppressing the number of lists having the same hash value.
[0095]
Further, when detailed control is not required, by registering only the destination IP entry, it is possible to suppress the memory usage and process a large amount of flows.
[0096]
Further, when the hash value is not distributed only by the destination IP address, the hash value including the transmission source IP address can be distributed.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of an embodiment of the present invention.
FIG. 2 is a flowchart illustrating an operation of the exemplary embodiment of the present invention.
FIG. 3 is a flowchart illustrating an operation of the exemplary embodiment of the present invention.
FIG. 4 is a flowchart illustrating an operation of the exemplary embodiment of the present invention.
FIG. 5 is an explanatory diagram of a flow table according to the embodiment of this invention.
FIG. 6 is an explanatory diagram of a QoS table according to the embodiment of this invention.
FIG. 7 is an explanatory diagram of a routing table according to the embodiment of this invention.
FIG. 8 is an explanatory diagram of transmission priorities among terminals according to the embodiment of the present invention.
FIG. 9 is an explanatory diagram illustrating a state where a destination IP entry is linked to a first hash head area according to the embodiment of this invention.
FIG. 10 is an explanatory diagram illustrating a state where a destination transmission source IP entry is linked to a second hash head area according to the embodiment of this invention.
FIG. 11 is an explanatory diagram of transmission priorities among L4 port numbers according to the embodiment of this invention.
[Explanation of symbols]
20 Registration means
21 IP Module
22 Routing Table
23 QoS management module
24 QoS table
25 Flow management module
26 Flow Table
27 Transfer Chip
31 First hash head area
32 Second hash head area
33 Destination IP entry
34 Destination IP entry
Claims (10)
前記登録手段は、前記IPパケットを受信すると、予め定義され、1つのエントリが宛先IPアドレスと送信元IPアドレスとQoS情報から構成されるQoSテーブルを前記IPパケットの有する前記宛先IPアドレスと前記送信元IPアドレスの組でサーチし、一致するエントリがないと、前記フローテーブルに前記宛先アドレスをハッシュしハッシュ値先に前記宛先IPアドレスの登録を行い、一致するエントリがあると、前記宛先IPアドレスと送信元IPアドレスの組をハッシュしてハッシュ値先に前記宛先IPアドレスと送信元IPアドレスの組を登録することを特徴とするIPフロー多段ハッシュ装置。Transfer means for relaying a received IP (Internet Protocol) packet with reference to a flow table in which transfer control information including QoS (Quality of Service) information and a transmission port is registered, and transfer of the transfer control information to the flow table Registration means for performing registration,
The registration unit, upon receiving the IP packet, stores a QoS table, which is defined in advance and one entry is composed of a destination IP address, a source IP address, and QoS information, with the destination IP address included in the IP packet and the transmission. A search is performed with a set of original IP addresses, and if there is no matching entry, the destination address is hashed in the flow table and the destination IP address is registered at the destination of the hash value. An IP flow multi-stage hashing apparatus, wherein a set of the destination IP address and the source IP address is registered in a destination of the hash value by hashing a set of the IP flow and the source IP address.
前記登録手段は、前記フローテーブルを、第1のテーブルと第2のテーブルとに区分し、
前記第1のテーブルには、前記IPパケットの宛先IPアドレスをハッシュし、そのハッシュ値先に前記第1または第2のテーブルへのリンクをマークビットによって示し、前記宛先IPアドレスと前記QoS情報と前記送出ポートとが記述された0個以上の同一ハッシュ値を持つエントリを登録し、
前記第2のテーブルには、前記IPパケットの宛先IPアドレスと送信元IPアドレスを組にしてハッシュし、そのハッシュ値先に前期宛先IPアドレスと送信元IPアドレスの組と前記QoS情報と前記送出ポートとが記述された0個以上の同一ハッシュ値を持つエントリを登録し、
前記転送手段は、前記IPパケットを受信すると、前記宛先IPアドレスをハッシュして前記第1のテーブルのハッシュ値先をアクセスし、前記マークビットを参照し前記第1のテーブルへのリンクを検出すると、前記宛先IPアドレスによって前記第1のテーブルのハッシュ値先にリンクされた前記エントリをサーチし、一致する前記エントリを検出すると、該エントリに記述された前記QoS情報と前記送出ポートとに従い、前記IPパケットの中継を行い、
前記マークビットを参照し前記第2のテーブルへのリンクを検出すると、前記宛先IPアドレスと送信元IPアドレスの組をハッシュして前記第2のテーブルのハッシュ値先をアクセスし、ハッシュ値先にリンクされた前記エントリから同一の前記宛先IPアドレスと送信元IPアドレスの組を有する前記エントリをサーチし、一致する前記エントリを検出すると該エントリに記述された前記QoS情報と前記送出ポートとに従い、前記IPパケットの中継を行うことを特徴とするIPフロー多段ハッシュ装置。A transfer unit that relays the received IP packet with reference to a flow table in which transfer control information including QoS information and a transmission port is registered; and a registration unit that registers the transfer control information in the flow table. ,
The registration unit divides the flow table into a first table and a second table,
In the first table, a destination IP address of the IP packet is hashed, a link to the first or second table is indicated by a mark bit ahead of the hash value, and the destination IP address, the QoS information, Register entries having the same hash value of 0 or more in which the transmission port is described,
In the second table, the destination IP address and the source IP address of the IP packet are hashed as a set, and the set of the destination IP address and the source IP address, the QoS information, and the transmission Register entries having the same hash value of 0 or more in which the port is described,
Upon receiving the IP packet, the transfer unit accesses the hash value destination of the first table by hashing the destination IP address, and refers to the mark bit to detect a link to the first table. Searching for the entry linked to the hash value destination of the first table by the destination IP address, and detecting the matching entry, according to the QoS information and the transmission port described in the entry, Relays IP packets,
When the link to the second table is detected with reference to the mark bit, the set of the destination IP address and the source IP address is hashed, the hash value destination of the second table is accessed, and the hash value destination is accessed. Searching for the entry having the same pair of the destination IP address and the source IP address from the linked entry, and detecting the matching entry, according to the QoS information and the transmission port described in the entry, An IP flow multi-stage hashing device for relaying the IP packet.
前記登録手段は、前記フローテーブルを、第1のテーブルと第2のテーブルと第3のテーブルに区分し、
前記第1のテーブルには、前記IPパケットの宛先IPアドレスをハッシュし、そのハッシュ値先に前記第1または前記第2または前記第3のテーブルへのリンクをマークビットによって示し、前記宛先IPアドレスと前記QoS情報と前記送出ポートとが記述された0個以上の同一ハッシュ値を持つエントリを登録し、
前記第2のテーブルには、前記IPパケットの宛先IPアドレスと送信元IPアドレスを組にしてハッシュし、そのハッシュ値先に前期宛先IPアドレスと送信元IPアドレスの組と前記QoS情報と前記送出ポートとが記述された0個以上の同一ハッシュ値を持つエントリを登録し、
前記第3のテーブルには、前記IPパケットの宛先IPアドレスと送信元IPアドレスとプロトコル番号と宛先ポート番号と送信元ポート番号を組にしてハッシュし、そのハッシュ値先に前期宛先IPアドレスと送信元IPアドレスとプロトコル番号と宛先ポート番号と送信元ポート番号の組と前記QoS情報と前記送出ポートとが記述された0個以上の同一ハッシュ値を持つエントリを登録し、
前記転送手段は、前記IPパケットを受信すると、前記宛先IPアドレスをハッシュして前記第1のテーブルをアクセスし、アクセスの結果、前記第2のテーブルへのリンクを検出すると、前記宛先IPアドレスと送信元IPアドレスの組をハッシュして前記第2のテーブルをアクセスし、アクセス先の前記エントリから同一の前記宛先IPアドレスと送信元IPアドレスの組を有する前記エントリをサーチし、一致する前記エントリを検出すると該エントリに記述された前記QoS情報と前記送出ポートとに従って前記IPパケットの中継を行い、
前記転送手段は、前記IPパケットを受信すると、前記宛先IPアドレスをハッシュして前記第1のテーブルをアクセスし、アクセスの結果、前記第3のテーブルへのリンクを検出すると、前記宛先IPアドレスと送信元IPアドレスとプロトコル番号と宛先ポート番号と送信元ポート番号の組をハッシュして前記第3のテーブルをアクセスし、アクセス先の前記エントリから同一の前記宛先IPアドレスと送信元IPアドレスとプロトコル番号と宛先ポート番号と送信元ポート番号の組を有する前記エントリをサーチし、一致する前記エントリを検出すると該エントリに記述された前記QoS情報と前記送出ポートとに従って前記IPパケットの中継を行うことを特徴とするIPフロー多段ハッシュ装置。A transfer unit that relays the received IP packet with reference to a flow table in which transfer control information including QoS information and a transmission port is registered, and a registration unit that registers transfer control information in the flow table;
The registration unit divides the flow table into a first table, a second table, and a third table,
In the first table, a destination IP address of the IP packet is hashed, and a link to the first, second, or third table is indicated by a mark bit ahead of the hash value, and the destination IP address is indicated. And zero or more entries having the same hash value in which the QoS information and the transmission port are described,
In the second table, the destination IP address and the source IP address of the IP packet are hashed as a set, and the set of the destination IP address and the source IP address, the QoS information, and the transmission Register entries having the same hash value of 0 or more in which the port is described,
The third table has a set of a destination IP address, a source IP address, a protocol number, a destination port number, and a source port number of the IP packet, and performs hashing. Registering an entry having zero or more identical hash values that describes a set of a source IP address, a protocol number, a destination port number, a source port number, the QoS information, and the transmission port,
The transfer means, upon receiving the IP packet, accesses the first table by hashing the destination IP address, and upon detecting a link to the second table as a result of the access, sets the destination IP address and Accessing the second table by hashing a set of source IP addresses, searching for the entry having the same set of destination IP address and source IP address from the entry of the access destination, and matching the entry And relaying the IP packet according to the QoS information and the transmission port described in the entry,
The transfer means, upon receiving the IP packet, accesses the first table by hashing the destination IP address, and upon detecting a link to the third table as a result of the access, sets the destination IP address and The third table is accessed by hashing a set of a source IP address, a protocol number, a destination port number, and a source port number, and the same destination IP address, source IP address, and protocol are obtained from the entry of the access destination. Searching for the entry having a set of a number, a destination port number, and a source port number, and relaying the IP packet according to the QoS information described in the entry and the transmission port when the matching entry is detected. An IP flow multi-stage hashing apparatus characterized by the above-mentioned.
前記第1のステップにおいて前記フローテーブルに前記送信先の登録が無いと、前記送信先の登録を行う登録手段を呼び出す第2のステップと、
前記登録手段は前記呼び出しを受けると、前記IPパケットの宛先IPアドレスと送信元アドレスの組を元に、前記宛先IPアドレスと前記送信元IPアドレスとQoS情報を含むフローについてのQoSを定義したQoSテーブルをサーチし、一致するしないのマッチング情報とQoS情報とを取り出す第3のステップと、
前記宛先IPアドレスによって前記フローテーブルに前記送信先の登録を行うか、前記宛先IPアドレスと送信元IPアドレスの組によって前記送信先の登録を行うかを前記マッチング情報から決定する第4のステップと、
宛先IPアドレスからルーティングテーブルを参照して送出ポートを取り出す第5のステップと、
前記宛先IPアドレスによって前記送信先を登録する場合、前記宛先IPアドレスをハッシュして前記フローテーブルの第1のテーブルをアクセスし、そのハッシュ値先に前記宛先IPアドレスと前記QoS情報と前記送出ポートとを登録し、
前記宛先IPアドレスと送信元IPアドレスの組で前記送信先を登録する場合、前記宛先IPアドレスをハッシュして前記第1のテーブルをアクセスしハッシュ値先に前記フローテーブルの第2のテーブルへのリンクを記すとともに、前記宛先IPアドレスと送信元IPアドレスの組をハッシュして前記第2のテーブルをアクセスし、そのハッシュ値先に前期宛先IPアドレスと送信元IPアドレスの組と前記QoS情報と前記送出ポートとを登録する第6のステップと、
を備えることを特徴とするIPフロー多段ハッシュ方法。A first step of relaying the received IP packet to a destination by referring to a flow table in which transfer control information including QoS information and a transmission port is registered;
A second step of calling a registration unit for registering the destination if the destination is not registered in the flow table in the first step;
Upon receiving the call, the registration unit defines a QoS for a flow including the destination IP address, the source IP address, and QoS information based on a set of a destination IP address and a source address of the IP packet. A third step of searching the table and extracting matching information and QoS information that do not match;
A fourth step of determining from the matching information whether to register the transmission destination in the flow table by the destination IP address or to register the transmission destination by a set of the destination IP address and the transmission source IP address; ,
A fifth step of extracting a transmission port by referring to a routing table from a destination IP address;
When the destination is registered by the destination IP address, the destination IP address is hashed to access the first table of the flow table, and the destination IP address, the QoS information, and the transmission port are added to the hash value destination. And register
When registering the destination with the set of the destination IP address and the source IP address, the destination IP address is hashed, the first table is accessed, and the hash value is stored in the second table of the flow table. A link is described, the set of the destination IP address and the source IP address are hashed, the second table is accessed, and the set of the destination IP address and the source IP address, the QoS information and A sixth step of registering the sending port;
An IP flow multi-stage hashing method comprising:
受信したIPパケットをQoS情報と送出ポートを含む転送制御情報が登録されたフローテーブルを参照して送信先に中継する第1のステップと、
前記第1のステップにおいて前記フローテーブルに前記送信先の登録が無いと、前記送信先の登録を行う登録手段を呼び出す第2のステップと、
前記登録手段は前記呼び出しを受けると、前記IPパケットの宛先IPアドレスと送信元アドレスの組を元に、前記宛先IPアドレスと前記送信元IPアドレスとQoS情報を含むフローについてのQoSを定義したQoSテーブルをサーチし、一致するしないのマッチング情報とQoS情報とを取り出す第3のステップと、
前記宛先IPアドレスによって前記フローテーブルに前記送信先の登録を行うか、前記宛先IPアドレスと送信元IPアドレスの組によって前記送信先の登録を行うかを前記マッチング情報から決定する第4のステップと、
宛先IPアドレスからルーティングテーブルを参照して送出ポートを取り出す第5のステップと、
前記宛先IPアドレスによって前記送信先を登録する場合、前記宛先IPアドレスをハッシュして前記フローテーブルの第1のテーブルをアクセスし、そのハッシュ値先に前記宛先IPアドレスと前記QoS情報と前記送出ポートとを登録し、
前記宛先IPアドレスと送信元IPアドレスの組で前記送信先を登録する場合、前記宛先IPアドレスをハッシュして前記第1のテーブルをアクセスしハッシュ値先に前記フローテーブルの第2のテーブルへのリンクを記すとともに、前記宛先IPアドレスと送信元IPアドレスの組をハッシュして前記第2のテーブルをアクセスし、そのハッシュ値先に前期宛先IPアドレスと送信元IPアドレスの組と前記QoS情報と前記送出ポートとを登録する第6のステップと、
を実行させるためのIPフロー多段ハッシュプログラム。On the computer,
A first step of relaying the received IP packet to a destination by referring to a flow table in which transfer control information including QoS information and a transmission port is registered;
A second step of calling a registration unit for registering the destination if the destination is not registered in the flow table in the first step;
Upon receiving the call, the registration unit defines a QoS for a flow including the destination IP address, the source IP address, and QoS information based on a set of a destination IP address and a source address of the IP packet. A third step of searching the table and extracting matching information and QoS information that do not match;
A fourth step of determining from the matching information whether to register the transmission destination in the flow table by the destination IP address or to register the transmission destination by a set of the destination IP address and the transmission source IP address; ,
A fifth step of extracting a transmission port by referring to a routing table from a destination IP address;
When the destination is registered by the destination IP address, the destination IP address is hashed to access the first table of the flow table, and the destination IP address, the QoS information, and the transmission port are added to the hash value destination. And register
When registering the destination with the set of the destination IP address and the source IP address, the destination IP address is hashed, the first table is accessed, and the hash value is stored in the second table of the flow table. A link is described, the set of the destination IP address and the source IP address are hashed, the second table is accessed, and the set of the destination IP address and the source IP address, the QoS information and A sixth step of registering the sending port;
An IP flow multi-stage hash program for executing the program.
前記IPパケットの宛先IPアドレスと送信元アドレスの組を元に、前記宛先IPアドレスと前記送信元IPアドレスとQoS情報を含むフローについてのQoSを定義したQoSテーブルをサーチし、一致するしないのマッチング情報とQoS情報とを取り出す第1のステップと、
前記宛先IPアドレスによって前記フローテーブルに前記送信先の登録を行うか、前記宛先IPアドレスと送信元IPアドレスの組によって前記送信先の登録を行うかを前記マッチング情報から決定する第2のステップと、
宛先IPアドレスからルーティングテーブルを参照して送出ポートを取り出す第3のステップと、
前記宛先IPアドレスによって前記送信先を登録する場合、前記宛先IPアドレスをハッシュして前記フローテーブルの第1のテーブルをアクセスし、そのハッシュ値先に前記宛先IPアドレスと前記QoS情報と前記送出ポートとを登録し、
前記宛先IPアドレスと送信元IPアドレスの組で前記送信先を登録する場合、前記宛先IPアドレスをハッシュして前記第1のテーブルをアクセスしハッシュ値先に前記フローテーブルの第2のテーブルへのリンクを記すとともに、前記宛先IPアドレスと送信元IPアドレスの組をハッシュして前記第2のテーブルをアクセスし、そのハッシュ値先に前期宛先IPアドレスと送信元IPアドレスの組と前記QoS情報と前記送出ポートとを登録する第4のステップと、
を備えることを特徴とするIPフロー多段ハッシュプログラム。An IP flow multi-stage hash program for causing a computer relaying to a destination to execute a received IP packet with reference to a flow table in which transfer control information including QoS information and a transmission port is registered,
Based on a set of a destination IP address and a source address of the IP packet, a QoS table that defines a QoS for a flow including the destination IP address, the source IP address, and QoS information is searched, and a match that does not match is searched. A first step of retrieving information and QoS information;
A second step of determining from the matching information whether to register the destination in the flow table by the destination IP address or to register the destination by a set of the destination IP address and the source IP address; ,
A third step of extracting a transmission port by referring to a routing table from a destination IP address;
When the destination is registered by the destination IP address, the destination IP address is hashed to access the first table of the flow table, and the destination IP address, the QoS information, and the transmission port are added to the hash value destination. And register
When registering the destination with the set of the destination IP address and the source IP address, the destination IP address is hashed, the first table is accessed, and the hash value is stored in the second table of the flow table. A link is described, the set of the destination IP address and the source IP address are hashed, the second table is accessed, and the set of the destination IP address and the source IP address, the QoS information and A fourth step of registering the transmission port;
An IP flow multi-stage hash program, comprising:
受信したIPパケットをQoS情報と送出ポートを含む転送制御情報が登録されたフローテーブルを参照して送信先に中継する第1のステップと、
前記第1のステップにおいて前記フローテーブルに前記送信先の登録が無いと、前記送信先の登録を行う登録手段を呼び出す第2のステップと、
前記登録手段は前記呼び出しを受けると、前記IPパケットの宛先IPアドレスと送信元アドレスの組を元に、前記宛先IPアドレスと前記送信元IPアドレスとQoS情報を含むフローについてのQoSを定義したQoSテーブルをサーチし、一致するしないのマッチング情報とQoS情報とを取り出す第3のステップと、
前記宛先IPアドレスによって前記フローテーブルに前記送信先の登録を行うか、前記宛先IPアドレスと送信元IPアドレスの組によって前記送信先の登録を行うかを前記マッチング情報から決定する第4のステップと、
宛先IPアドレスからルーティングテーブルを参照して送出ポートを取り出す第5のステップと、
前記宛先IPアドレスによって前記送信先を登録する場合、前記宛先IPアドレスをハッシュして前記フローテーブルの第1のテーブルをアクセスし、そのハッシュ値先に前記宛先IPアドレスと前記QoS情報と前記送出ポートとを登録し、
前記宛先IPアドレスと送信元IPアドレスの組で前記送信先を登録する場合、前記宛先IPアドレスをハッシュして前記第1のテーブルをアクセスしハッシュ値先に前記フローテーブルの第2のテーブルへのリンクを記すとともに、前記宛先IPアドレスと送信元IPアドレスの組をハッシュして前記第2のテーブルをアクセスし、そのハッシュ値先に前期宛先IPアドレスと送信元IPアドレスの組と前記QoS情報と前記送出ポートとを登録する第6のステップと、
を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。On the computer,
A first step of relaying the received IP packet to a destination by referring to a flow table in which transfer control information including QoS information and a transmission port is registered;
A second step of calling a registration unit for registering the destination if the destination is not registered in the flow table in the first step;
Upon receiving the call, the registration unit defines a QoS for a flow including the destination IP address, the source IP address, and QoS information based on a set of a destination IP address and a source address of the IP packet. A third step of searching the table and extracting matching information and QoS information that do not match;
A fourth step of determining from the matching information whether to register the transmission destination in the flow table by the destination IP address or to register the transmission destination by a set of the destination IP address and the transmission source IP address; ,
A fifth step of extracting a transmission port by referring to a routing table from a destination IP address;
When the destination is registered by the destination IP address, the destination IP address is hashed to access the first table of the flow table, and the destination IP address, the QoS information, and the transmission port are added to the hash value destination. And register
When registering the destination with the set of the destination IP address and the source IP address, the destination IP address is hashed, the first table is accessed, and the hash value is stored in the second table of the flow table. A link is described, the set of the destination IP address and the source IP address are hashed, the second table is accessed, and the set of the destination IP address and the source IP address, the QoS information and A sixth step of registering the sending port;
And a computer-readable recording medium on which a program for executing the program is recorded.
前記IPパケットの宛先IPアドレスと送信元アドレスの組を元に、前記宛先IPアドレスと前記送信元IPアドレスとQoS情報を含むフローについてのQoSを定義したQoSテーブルをサーチし、一致するしないのマッチング情報とQoS情報とを取り出す第1のステップと、
前記宛先IPアドレスによって前記フローテーブルに前記送信先の登録を行うか、前記宛先IPアドレスと送信元IPアドレスの組によって前記送信先の登録を行うかを前記マッチング情報から決定する第2のステップと、
宛先IPアドレスからルーティングテーブルを参照して送出ポートを取り出す第3のステップと、
前記宛先IPアドレスによって前記送信先を登録する場合、前記宛先IPアドレスをハッシュして前記フローテーブルの第1のテーブルをアクセスし、そのハッシュ値先に前記宛先IPアドレスと前記QoS情報と前記送出ポートとを登録し、
前記宛先IPアドレスと送信元IPアドレスの組で前記送信先を登録する場合、前記宛先IPアドレスをハッシュして前記第1のテーブルをアクセスしハッシュ値先に前記フローテーブルの第2のテーブルへのリンクを記すとともに、前記宛先IPアドレスと送信元IPアドレスの組をハッシュして前記第2のテーブルをアクセスし、そのハッシュ値先に前期宛先IPアドレスと送信元IPアドレスの組と前記QoS情報と前記送出ポートとを登録する第4のステップと、
を備えるプログラムを記録したコンピュータ読み取り可能な記録媒体。A recording medium recording an IP flow multi-stage hash program for causing a computer relaying to a destination to execute a received IP packet by referring to a flow table in which transfer control information including QoS information and a transmission port is registered,
Based on a set of a destination IP address and a source address of the IP packet, a QoS table that defines a QoS for a flow including the destination IP address, the source IP address, and QoS information is searched, and a match that does not match is searched. A first step of retrieving information and QoS information;
A second step of determining from the matching information whether to register the destination in the flow table by the destination IP address or to register the destination by a set of the destination IP address and the source IP address; ,
A third step of extracting a transmission port by referring to a routing table from a destination IP address;
When the destination is registered by the destination IP address, the destination IP address is hashed to access the first table of the flow table, and the destination IP address, the QoS information, and the transmission port are added to the hash value destination. And register
When registering the destination with the set of the destination IP address and the source IP address, the destination IP address is hashed, the first table is accessed, and the hash value is stored in the second table of the flow table. A link is described, the set of the destination IP address and the source IP address are hashed, the second table is accessed, and the set of the destination IP address and the source IP address, the QoS information and A fourth step of registering the transmission port;
A computer-readable recording medium recording a program comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002209282A JP3711965B2 (en) | 2002-07-18 | 2002-07-18 | IP flow multi-stage hash device, IP flow multi-stage hash method, IP flow multi-stage hash program, and recording medium thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002209282A JP3711965B2 (en) | 2002-07-18 | 2002-07-18 | IP flow multi-stage hash device, IP flow multi-stage hash method, IP flow multi-stage hash program, and recording medium thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004056340A true JP2004056340A (en) | 2004-02-19 |
JP3711965B2 JP3711965B2 (en) | 2005-11-02 |
Family
ID=31933170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002209282A Expired - Fee Related JP3711965B2 (en) | 2002-07-18 | 2002-07-18 | IP flow multi-stage hash device, IP flow multi-stage hash method, IP flow multi-stage hash program, and recording medium thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3711965B2 (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008070961A (en) * | 2006-09-12 | 2008-03-27 | Nippon Telegr & Teleph Corp <Ntt> | Message transfer system and message transfer program |
JP2009525709A (en) * | 2006-02-01 | 2009-07-09 | ココ・コミュニケーションズ・コーポレーション | Protocol line layer |
WO2010103909A1 (en) * | 2009-03-09 | 2010-09-16 | 日本電気株式会社 | OpenFlow COMMUNICATION SYSTEM AND OpenFlow COMMUNICATION METHOD |
WO2010116606A1 (en) | 2009-03-30 | 2010-10-14 | 日本電気株式会社 | Communication flow control system, communication flow control method, and communication flow processing program |
JP2010288168A (en) * | 2009-06-15 | 2010-12-24 | Fujitsu Ltd | Switch, and address learning method |
US8015315B2 (en) * | 2007-03-09 | 2011-09-06 | Cisco Technology, Inc. | Compression of IPV6 addresses in a netflow directory |
WO2011132568A1 (en) | 2010-04-19 | 2011-10-27 | 日本電気株式会社 | Switch, and flow table control method |
WO2012033041A1 (en) * | 2010-09-09 | 2012-03-15 | 日本電気株式会社 | Computer system and communication method in computer system |
US8780721B2 (en) | 2009-10-06 | 2014-07-15 | Nec Corporation | Network system, controller, method, and program |
TWI456950B (en) * | 2010-10-28 | 2014-10-11 | Nec Corp | Network system and communication traffic control method |
US20160021001A1 (en) * | 2013-03-29 | 2016-01-21 | Fujitsu Limited | Communication control apparatus, communication control method, communication system, and recording medium |
JP2018033017A (en) * | 2016-08-25 | 2018-03-01 | 日本電信電話株式会社 | Network processing apparatus and packet processing method |
-
2002
- 2002-07-18 JP JP2002209282A patent/JP3711965B2/en not_active Expired - Fee Related
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009525709A (en) * | 2006-02-01 | 2009-07-09 | ココ・コミュニケーションズ・コーポレーション | Protocol line layer |
US10116561B2 (en) | 2006-02-01 | 2018-10-30 | Coco Communications Corp. | Protocol circuit layer |
US9246808B2 (en) | 2006-02-01 | 2016-01-26 | Coco Communications Corp. | Protocol circuit layer |
US8665710B2 (en) | 2006-02-01 | 2014-03-04 | Coco Communications Corp. | Protocol circuit layer |
US8208466B2 (en) | 2006-02-01 | 2012-06-26 | Coco Communications Corp. | Protocol circuit layer |
JP2008070961A (en) * | 2006-09-12 | 2008-03-27 | Nippon Telegr & Teleph Corp <Ntt> | Message transfer system and message transfer program |
JP4620022B2 (en) * | 2006-09-12 | 2011-01-26 | 日本電信電話株式会社 | Message transfer system and message transfer program |
US8015315B2 (en) * | 2007-03-09 | 2011-09-06 | Cisco Technology, Inc. | Compression of IPV6 addresses in a netflow directory |
US8605734B2 (en) | 2009-03-09 | 2013-12-10 | Nec Corporation | OpenFlow communication system and OpenFlow communication method |
WO2010103909A1 (en) * | 2009-03-09 | 2010-09-16 | 日本電気株式会社 | OpenFlow COMMUNICATION SYSTEM AND OpenFlow COMMUNICATION METHOD |
JP5408243B2 (en) * | 2009-03-09 | 2014-02-05 | 日本電気株式会社 | OpenFlow communication system and OpenFlow communication method |
JP2014112927A (en) * | 2009-03-30 | 2014-06-19 | Nec Corp | Communication system, controller, and communication method |
WO2010116606A1 (en) | 2009-03-30 | 2010-10-14 | 日本電気株式会社 | Communication flow control system, communication flow control method, and communication flow processing program |
EP2741458A2 (en) | 2009-03-30 | 2014-06-11 | Nec Corporation | Communication flow control system, communication flow control method, and communication flow processing program |
US10084714B2 (en) | 2009-03-30 | 2018-09-25 | Nec Corporation | Communication flow control system, communication flow control method, and communication flow processing program |
US9635119B2 (en) | 2009-03-30 | 2017-04-25 | Nec Corporation | Communication flow control system, communication flow control method, and communication flow processing program |
JP4688946B2 (en) * | 2009-06-15 | 2011-05-25 | 富士通株式会社 | Switch and address learning method |
JP2010288168A (en) * | 2009-06-15 | 2010-12-24 | Fujitsu Ltd | Switch, and address learning method |
US8780721B2 (en) | 2009-10-06 | 2014-07-15 | Nec Corporation | Network system, controller, method, and program |
WO2011132568A1 (en) | 2010-04-19 | 2011-10-27 | 日本電気株式会社 | Switch, and flow table control method |
US8971342B2 (en) | 2010-04-19 | 2015-03-03 | Nec Corporation | Switch and flow table controlling method |
KR101478475B1 (en) * | 2010-09-09 | 2014-12-31 | 닛본 덴끼 가부시끼가이샤 | Computer system and communication method in computer system |
US9215175B2 (en) | 2010-09-09 | 2015-12-15 | Nec Corporation | Computer system including controller and plurality of switches and communication method in computer system |
WO2012033041A1 (en) * | 2010-09-09 | 2012-03-15 | 日本電気株式会社 | Computer system and communication method in computer system |
TWI461032B (en) * | 2010-09-09 | 2014-11-11 | Nec Corp | Computer system and communication method in the computer system |
CN103081418A (en) * | 2010-09-09 | 2013-05-01 | 日本电气株式会社 | Computer system and communication method in computer system |
TWI456950B (en) * | 2010-10-28 | 2014-10-11 | Nec Corp | Network system and communication traffic control method |
US10009265B2 (en) * | 2013-03-29 | 2018-06-26 | Fujitsu Limited | Communication control apparatus, communication control method, communication system, and recording medium |
US20160021001A1 (en) * | 2013-03-29 | 2016-01-21 | Fujitsu Limited | Communication control apparatus, communication control method, communication system, and recording medium |
JP2018033017A (en) * | 2016-08-25 | 2018-03-01 | 日本電信電話株式会社 | Network processing apparatus and packet processing method |
Also Published As
Publication number | Publication date |
---|---|
JP3711965B2 (en) | 2005-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6957272B2 (en) | Stackable lookup engines | |
US7353332B2 (en) | Switching circuit implementing variable string matching | |
JP5567641B2 (en) | How to provide virtual router functionality | |
US6987735B2 (en) | System and method for enhancing the availability of routing systems through equal cost multipath | |
EP1754349B1 (en) | Hardware filtering support for denial-of-service attacks | |
US20060242313A1 (en) | Network content processor including packet engine | |
US7764672B2 (en) | Packet communication device | |
US8767757B1 (en) | Packet forwarding system and method using patricia trie configured hardware | |
US20120275466A1 (en) | System and method for classifying packets | |
US20050171937A1 (en) | Memory efficient hashing algorithm | |
JP3957570B2 (en) | Router device | |
US8555374B2 (en) | High performance packet processing using a general purpose processor | |
JP2001357071A (en) | Packaging of full matching search algorithm for network processor | |
US7624226B1 (en) | Network search engine (NSE) and method for performing interval location using prefix matching | |
JP2004056340A (en) | Ip flow multistage hash apparatus, ip flow multistage hash method, ip flow multistage hash program, and recording medium therefor | |
WO2007000092A1 (en) | A network processor | |
US20060221850A1 (en) | Field content based packet classification | |
JP2002271379A (en) | Soft multi-contract rate polishing | |
CN116545921A (en) | Message forwarding method, device, equipment and storage medium based on ECMP | |
US6950429B2 (en) | IP data transmission network using a route selection based on level 4/5 protocol information | |
US7177313B2 (en) | Method and system for converting ranges into overlapping prefixes for a longest prefix match | |
EP1128611A2 (en) | Method for table lookup | |
US7590112B2 (en) | Packet forwarding apparatus of high speed routing system and routing lookup method using the same | |
JP3950895B2 (en) | Communication system and communication method | |
US8806059B1 (en) | Rule tree for network device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050307 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050317 |
|
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: 20050726 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050808 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |