JP3779619B2 - Packet transfer device, network, program, and recording medium - Google Patents
Packet transfer device, network, program, and recording medium Download PDFInfo
- Publication number
- JP3779619B2 JP3779619B2 JP2002004839A JP2002004839A JP3779619B2 JP 3779619 B2 JP3779619 B2 JP 3779619B2 JP 2002004839 A JP2002004839 A JP 2002004839A JP 2002004839 A JP2002004839 A JP 2002004839A JP 3779619 B2 JP3779619 B2 JP 3779619B2
- Authority
- JP
- Japan
- Prior art keywords
- rule
- search
- policy table
- function
- header information
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
【0001】
【発明の属する技術分野】
本発明はIPルータなどのパケット転送装置に利用する。特に、パケット転送処理を行うに当り、パケットヘッダ情報を元にパケットに対する処理を決定する際に検索するテーブルの検索方法に関する。
【0002】
【従来の技術】
従来のIPルータなどのパケット転送装置では、パケットヘッダに搭載された宛先アドレスを元に経路表を検索し、次の方路を決定している。経路表には宛先アドレスと次の方路の関係を保持している。このように従来のインターネットでは宛先アドレスのみを用いた単純な転送処理を行うだけであった。
【0003】
しかし、近年では、インターネットの広がりに伴い、従来の単純な転送処理だけでは十分でなくなっており、ヘッダに搭載された宛先アドレスだけでなく、送信元アドレスやTCP/UDPポート番号などを用いた高度な転送制御が必要となっている。
【0004】
これらはポリシ制御やQoS制御に用いられる。例えば、特定のアプリケーションの通信を禁止する場合は、そのアプリケーションに割当てられたTCP/UDPポート番号のパケットが転送されないようにフィルタリングすることによりポリシ制御ができる。また、特定のユーザからの特定のアプリケーションのパケット転送のQoSを上げるためには、そのユーザの送信元アドレスとTCP/UDPポート番号とを元にパケットの優先制御を行うことでQoS制御ができる。
【0005】
これらの処理に必要なのがポリシテーブルの検索である。ポリシテーブルはパケットのヘッダ情報の複数のフィールド情報をキーとして検索し、そのパケットに対する扱いルールを決めるために用いられる。パケットヘッダのフィールド情報としては宛先アドレス(DA)、送信元アドレス(SA)、宛先ポート番号(DP)、送信元ポート番号(SP)、プロトコル識別子(PID)、サービス差別化符号(DSCP)などの6組が代表的なものである。
【0006】
図7を参照して従来のポリシテーブルの検索例を示す。図7の符号N1、N2、N3はネットワークであり、符号Pはパケット転送装置である。なお、以下においては簡易な記述をするために、各フィールドは2進数で表記し、また*はポリシテーブル検索時にはそれ以降のビットの値を無視することを示す。例えば、IPv4の宛先アドレスは本来32bitsあるが、宛先アドレスを10*と表記した場合には3bits目から32bits目は検索時には無視することになる。したがって、ヘッダ情報中のIPv4の宛先アドレスが100100110…(全部で32bits)のようなパケットがパケット転送装置に到着した場合には、ポリシテーブル上の宛先アドレスの項目に10*があれば、その項目とヘッダ情報の宛先アドレスとは一致したことになる。逆に、ポリシテーブル上に101*というものがあった場合には一致しないことになる。
【0007】
図7の従来のポリシテーブル検索例はポリシテーブルがパケット転送装置に設定されていて、パケットが入力されたときに、パケットのヘッダ情報とポリシテーブルとを比較し、ポリシテーブルのルールと一致した場合には、そのルールに記述されている処理を行うことを示している。例えば100*で示されるネットワークから1100*で示されるネットワークへパケットを送信した場合には、送信元アドレスが10000…(全部で32bits)、宛先アドレスが1100000…(全部で32bits)のようなヘッダを持つパケットが送信される。このようなパケットがパケット転送装置に入力されると、ポリシテーブル上のルールR2に一致するため、このパケットは優先転送される。
【0008】
【発明が解決しようとする課題】
ポリシテーブルの検索では、全てのエントリの中から問題のパケットのヘッダ情報に最も一致するものを答えとする必要がある。このような検索を行う一つの方法としてポリシテーブルを上から下まで全検索する方法が考えられる。しかしながらこの方法ではポリシテーブルのエントリの数が多くなると、検索に多大の時間を要する。
【0009】
また、ツリーを使った検索方法がある。図8を参照して従来のツリーを使った検索方法を説明する。図中の円はツリーのノードを示す。ノードの中には宛先アドレスと次ノードへのポインタ、ルール番号が格納されている。
【0010】
検索すべき宛先アドレスとノードに格納されている宛先アドレスとを比較しながら、ツリーを下方向へ分岐していく。検索はあるノードに検索すべきIPアドレスが到達したとき、そのノードが示す宛先アドレスと検索すべき宛先IPアドレスの上位から必要なビット分(*の直前のビットまでであり、100*ならば上位3ビット分)を比較する。一致しない場合は、検索を終了する。一致した場合は、一致したノード中の処理を記録する。
【0011】
次に検索すべき宛先IPアドレスで、比較したビットの一番最後の次ビットに注目し、自分よりも下のノード(以下、子ノードと呼ぶ)が存在する場合は子ノードへ移り、検索を続け、子ノードが存在しない場合は、検索を終了し、記録したルール番号からポリシテーブル中の処理を実行する。以下では10000101…というIPアドレスを検索する場合の具体例を示す。
【0012】
最初にIPアドレスの最初の1ビット目を見て0であるか1であるかを判断する。本例では、1であるので、ノード100*へ移り上位3ビット分を比較する。一致しているので次に検査ビットとなるIPアドレスの4ビット目を調べる。検査ビットが0なのでノード10001*へ移るが、ここで一致しないため検索を終了し、ノード*とノード100*の2つが一致したことになる。このように、ツリー構造を利用した方法はポリシテーブルを上から下まで全検索する方法と比べて高速に検索が出来るという利点がある。
【0013】
次に、ツリー構造を利用した従来のポリシテーブル検索法の一例を示す。まず、図9にポリシテーブルの例を示す。図10は、図9のポリシテーブルを元に作成したツリー構造を利用したポリシテーブル検索方法の例である。本検索例はフィールド情報毎にツリーを作成し、それぞれのツリーで検索を行うものである。
【0014】
まず、ポリシテーブルのDAだけに着目してツリーを作成し(図10のDAツリー)、同様にSAだけに着目してツリーを作成する(図10のSAツリー)。パケットのヘッダ情報を検索するときには、DAツリーにはヘッダ情報のDAだけを入れて検索を行い、同様に、SAツリーにはヘッダ情報のSAだけを入れて検索を行う。各ツリーでの検索は最も長く一致するまで続ける最長一致検索を行う。
【0015】
ツリー以外に一致テーブルを用意する。ツリー検索中に一致したルールが存在すれば、一致テーブルの一致したルールに印をつける。本例では一致したものには“1”を、不一致なものには“0”を印とした。各ツリーで独立に検索を行い、一致テーブルに記入していく。全ツリーの検索が終わった時点で一致テーブルを比較し、全フィールド情報で一致したルールを探すために、フィールド情報毎に論理積(and)をとっていく。具体的には、まず、DAとSAとで論理積を演算する。その結果と次のフィールド情報(図10の例ではないが、例えば上位プロトコルのフィールド情報など)と論理積を演算する。これを繰り返す。最終的に、全フィールドで一致したことが分かったルールを回答とする。図10の例では、論理積を演算することでルールR3のみが一致を示し、論理積の結果として“1”が出る。
【0016】
本方法は、最初に各ツリーを独立に検索して最後に一致テーブルの論理積を演算して最終的な結果を得ることを特徴としている。本方法の大きな課題は論理積を演算する所である。通常、プロセッサが1回の計算で論理積を演算することができるのが16bit、32bit、64bit程度であり、例えば、図11のように、1000ルールでフィールド情報数が6個で、かつ論理積を演算することが可能なbit数が32bitの場合には、1000÷32×5から、157回の計算が必要となり、最終的な結果を得るのに時間がかかるという問題がある。
【0017】
本発明は、このような背景に行われたものであって、ポリシテーブルの検索を高速に実行することができるパケット転送装置およびネットワークおよびプログラムおよび記録媒体を提供することを目的とする。
【0018】
【課題を解決するための手段】
本発明は、一致テーブルに記録された検索結果を最終的に論理積演算する際に、はじめから演算を行う必要のない部分を除外することにより、演算速度を高めることを特徴とする。
【0019】
すなわち、本発明の第一の観点は、到来するパケットのヘッダ情報を抽出する手段と、当該ヘッダ情報に対応するパケットの扱いルールが記録されたポリシテーブルと、前記抽出する手段により抽出された前記ヘッダ情報と前記ポリシテーブルとを比較して前記ルールを特定する手段とを備え、前記ポリシテーブルは、前記ヘッダ情報に含まれる属性の異なる複数のフィールド情報毎に検索項目がそれぞれ設けられ、前記特定する手段は、前記検索項目毎に前記ヘッダ情報に含まれるフィールド情報と前記ポリシテーブルに含まれるフィールド情報とを比較した検索結果が一致した前記ルールについては“1”とし不一致の前記ルールについては“0”とする手段と、全ての前記検索項目に対する検索終了後に複数の前記ルールのそれぞれについて前記検索結果の論理積を演算する手段と、この論理積を演算する手段の演算結果が“1”となる前記ルールを当該パケットの扱いルールとして最終的に特定する手段とを備えたパケット転送装置である。
【0020】
ここで、本発明の特徴とするところは、一つの前記検索項目が示すルールの範囲がもう一つの前記検索項目が示すルールの範囲を包含する関係を内包関係と定義し、少なくとも一つの前記検索項目についてこの内包関係にある前記ルールの集合をあらかじめ複数生成する手段が設けられ、前記論理積を演算する手段は、前記集合に含まれる前記ルールを除く他の前記ルールについては論理積の演算対象からあらかじめ除外する手段を備えたところにある。
【0021】
ここで、内包関係についてさらに詳細に説明すると、ポリシテーブルで定義されるフィールド情報の多くが下位ビットを無視する*で表されるためルールは範囲を持つことになる。簡単のためDAが4ビットと仮定しDAだけのルールしか存在しないとする。例えばDA=1*は1000から1111までを表すことになる。内包とは「下位ビットを無視する*で表される2つのルール間で、1つのルールが示す範囲がもう1つのルールが示す範囲を含む」ということである。例えば1*(1000から1111)が示す範囲は11*(1100から1111)が示す範囲を含むため、1*は11*を内包するということになる。2つ以上のフィールドからなるものでも同様のことがいえる。例えばDAとSAの組(DA,SA)=(1*,1*)が1つのルールR1であり、(DA,SA)=(11*,11*)が1つのルールR2である場合には、R1のDAはR2のDAを内包し、かつR1のSAはR2のSAを内包するためルールR1はR2を内包する。
【0022】
本発明では、少なくとも一つの検索項目に着目してこのような内包関係に基づく前記ルールの集合(実施例ではマルチヒット群と呼ぶ)をあらかじめ複数生成しておく。例えば最初の検索項目(DA)を用いて前記集合を生成した場合には、実際にパケットが到着すると、そのヘッダ情報に含まれるフィールド情報の最初の検索項目の検索結果は、前記集合のいずれかに含まれることになる。当該最初の検索項目の検索結果を含む前記集合は複数にわたる場合もある。最終的に論理積を演算するときには、当該最初の検索項目の検索結果が含まれない前記集合については、論理積を演算しても無効であることが既に明らかであるので、そのような無効となる論理積演算を除外することができる。これにより、ポリシテーブルの検索を高速に実行することができる。
【0023】
本発明の第二の観点は、本発明のパケット転送装置を備えたことを特徴とするネットワークである。
【0024】
本発明の第三の観点は、情報処理装置にインストールすることにより、その情報処理装置に、到来するパケットのヘッダ情報を抽出する機能と、当該ヘッダ情報に対応するパケットの扱いルールが記録されたポリシテーブルに相応する機能と、前記抽出する機能により抽出された前記ヘッダ情報と前記ポリシテーブルとを比較して前記ルールを特定する機能とを備え、前記ポリシテーブルは、前記ヘッダ情報に含まれる属性の異なる複数のフィールド情報毎に検索項目がそれぞれ設けられ、前記特定する機能は、前記検索項目毎に前記ヘッダ情報に含まれるフィールド情報と前記ポリシテーブルに含まれるフィールド情報とを比較した検索結果が一致した前記ルールについては“1”とし不一致の前記ルールについては“0”とする機能と、全ての前記検索項目に対する検索終了後に複数の前記ルールのそれぞれについて前記検索結果の論理積を演算する機能と、この論理積を演算する機能の演算結果が“1”となる前記ルールを当該パケットの扱いルールとして最終的に特定する機能とを備えたパケット転送装置に相応する機能を実現させるプログラムである。
【0025】
ここで、本発明の特徴とするところは、一つの前記検索項目が示すルールの範囲がもう一つの前記検索項目が示すルールの範囲を包含する関係を内包関係と定義し、少なくとも一つの前記検索項目についてこの内包関係にある前記ルールの集合をあらかじめ複数生成する機能を実現させ、前記論理積を演算する機能として、前記集合に含まれる前記ルールを除く他の前記ルールについては論理積の演算対象からあらかじめ除外する機能を実現させるところにある。
【0026】
本発明の第四の観点は、本発明のプログラムが記録された前記情報処理装置読取可能な記録媒体である。本発明のプログラムは本発明の記録媒体に記録されることにより、前記情報処理装置は、この記録媒体を用いて本発明のプログラムをインストールすることができる。あるいは、本発明のプログラムを保持するサーバからネットワークを介して直接前記情報処理装置に本発明のプログラムをインストールすることもできる。
【0027】
これにより、コンピュータ装置等の情報処理装置により、ポリシテーブルの検索を高速に実行することができるパケット転送装置およびネットワークを実現することができる。
【0028】
【発明の実施の形態】
本発明実施例を図1ないし図6を参照して説明する。図1は本実施例で用いる一致テーブルを示す図である。図2は本実施例のDAツリーによる検索方法を示す図である。図3は本実施例のDAツリーの検索結果が記録された一致テーブルを示す図である。図4は本実施例のSAツリーの検索結果が記録された一致テーブルを示す図である。図5は本実施例の論理的な一致テーブルと物理的メモリ上に展開された一致テーブルとを示す図である。図6は本実施例の具体的な論理積演算を説明するための図である。
【0029】
本実施例はパケット転送装置の実施例であって、本実施例のパケット転送装置は、到来するパケットのヘッダ情報を抽出し、図11に示すように、当該ヘッダ情報に対応するパケットの扱いルールが記録されたポリシテーブルを備え、抽出された前記ヘッダ情報と前記ポリシテーブルとを比較して前記ルールを特定する。
【0030】
前記ポリシテーブルは、前記ヘッダ情報に含まれる属性の異なる複数のフィールド情報毎に検索項目がそれぞれ設けられ、前記検索項目毎に前記ヘッダ情報に含まれるフィールド情報と前記ポリシテーブルに含まれるフィールド情報とを比較した検索結果が一致した前記ルールについては“1”とし不一致の前記ルールについては“0”として図1に示すような一致テーブルを生成し、全ての前記検索項目に対する検索終了後に複数の前記ルールのそれぞれについて前記検索結果の論理積を演算し、この演算結果が“1”となる前記ルールを当該パケットの扱いルールとして最終的に特定する。
【0031】
ここで、本実施例の特徴とするところは、一つの前記検索項目が示すルールの範囲がもう一つの前記検索項目が示すルールの範囲を包含する関係を内包関係と定義し、少なくとも一つの前記検索項目についてこの内包関係にある前記ルールの集合であるマルチヒット群をあらかじめ複数生成し、前記集合に含まれる前記ルールを除く他の前記ルールについては論理積の演算対象からあらかじめ除外するところにある。本実施例では最初の検索項目であるDAを用いてマルチヒット群を生成する例を示すが、他の検索項目の一つまたは複数を用いてマルチヒット群を生成することもできる。図1の例では、3つのマルチヒット群が記されており、到来するパケットのヘッダ情報に応じてこれら3つのマルチヒット群のいずれかが論理積演算対象として選択される。
【0032】
本実施例のパケット転送装置は、情報処理装置であるコンピュータ装置により実現する。すなわち、コンピュータ装置にインストールすることにより、そのコンピュータ装置に、到来するパケットのヘッダ情報を抽出する機能と、当該ヘッダ情報に対応するパケットの扱いルールが記録されたポリシテーブルに相応する機能と、前記抽出する機能により抽出された前記ヘッダ情報と前記ポリシテーブルとを比較して前記ルールを特定する機能とを備え、前記ポリシテーブルは、前記ヘッダ情報に含まれる属性の異なる複数のフィールド情報毎に検索項目がそれぞれ設けられ、前記特定する機能は、前記検索項目毎に前記ヘッダ情報に含まれるフィールド情報と前記ポリシテーブルに含まれるフィールド情報とを比較した検索結果が一致した前記ルールについては“1”とし不一致の前記ルールについては“0”とする機能と、全ての前記検索項目に対する検索終了後に複数の前記ルールのそれぞれについて前記検索結果の論理積を演算する機能と、この論理積を演算する機能の演算結果が“1”となる前記ルールを当該パケットの扱いルールとして最終的に特定する機能とを備えたパケット転送装置に相応する機能を実現させるプログラムをコンピュータ装置にインストールすることにより、そのコンピュータ装置を本実施例のパケット転送装置に相応する装置とすることができる。
【0033】
本実施例のプログラムの特徴とするところは、一つの前記検索項目が示すルールの範囲がもう一つの前記検索項目が示すルールの範囲を包含する関係を内包関係と定義し、少なくとも一つの前記検索項目についてこの内包関係にある前記ルールの集合であるマルチヒット群をあらかじめ複数生成する機能を実現させ、前記論理積を演算する機能として、前記集合に含まれる前記ルールを除く他の前記ルールについては論理積の演算対象からあらかじめ除外する機能を実現させるところにある。
【0034】
本実施例のプログラムは本実施例の記録媒体に記録されることにより、コンピュータ装置は、この記録媒体を用いて本実施例のプログラムをインストールすることができる。あるいは、本実施例のプログラムを保持するサーバからネットワークを介して直接コンピュータ装置に本実施例のプログラムをインストールすることもできる。
【0035】
これにより、コンピュータ装置により、ポリシテーブルの検索を高速に実行することができる本実施例のパケット転送装置を実現することができる。さらに、本実施例のパケット転送装置をネットワークに備えることにより、本実施例のネットワークを実現することができる。
【0036】
以下では、本実施例をさらに詳細に説明する。
【0037】
図1は本実施例を説明するための一致テーブルで、DAフィールド情報上でマルチヒットするルールを集めてマルチヒット群を作成するように図11で示されたポリシテーブルのルールを並べ替えている。図2は、図11のポリシテーブルからDAツリーを構築し、DA=Xなるパケットのヘッダ情報を検索し、ルールR250のDAを格納しているノードで最も長く一致したことを示すイメージ図である。
【0038】
図2の検索終了後に行う動作を図3に示す。ルールR250のDAを格納しているノードは一致情報を持っている。一致情報とは当該ノードが検索時にルールの情報とヘッダ情報とが最も長く一致したノードであった場合の一致テーブルのデータであり、一致テーブルの中で書き込むべきメモリの番地と情報の中身を示す。
【0039】
図3の例では、ルールR250のDAを格納しているノードは一致情報として、一致テーブルのR250のマルチヒット群が格納されているメモリ番地とそのメモリ番地に格納すべきルールの一致情報(どのルールが一致したか否かを“1”、“0”で表す。本例では一致したものは“1”、一致しなかったものは“0”)を持っており、これを利用して必要なメモリ番地にルールの一致情報を書込む。
【0040】
1番目のツリー(本例ではDAツリー)の検索が終了後、2番目のツリーの検索を行う。本例では2番目のツリーの検索をSAツリーで行うこととし、具体的にSAを検索する例が図4である。SAツリーでもヘッダ情報のSAとSAツリー上のノードに格納されているSAとを比較し、最も長く一致するノードが見つかるまで検索を行う。図4では、ルールR150のSAが格納されているノードが最も長く一致したノードである。このノードが最も長く一致した場合の一致情報(どのノードが一致したかの情報で、この場合は書込むべきメモリ番地を含んでいて必要なルールのみの一致情報だけを持っていればよいし、メモリ番地を含まずに全ルールの一致情報を持っていてもよい。本例ではメモリ番地を含まないこととする)をこのノードが持っており、これを一致情報に書込む。以降PIDといった検索に必要なフィールド情報毎のツリーを検索していき、同様に一致情報を書込んでいく。最後のツリー検索が終了した時点で検索は終了する。
【0041】
検索終了後、DAツリーで一致したマルチヒット群のみ(本例ではメモリ番地10)で論理積をとり、最終的に一致したルールを得る。本実施例では最初に検索したツリーで一致したマルチヒット群のみの範囲で論理積をとればよいので、従来のように全ルールで論理積を演算する必要が無いため、論理積の回数を減らすことができる。
【0042】
なお、図中の一致テーブルは論理的なテーブルを示したが、実際にメモリ上に展開した場合には、横方向に1000個のルールを並べることはできない。図5は、例えば32bit分しかメモリの横方向に並べることができない場合に、一致テーブルを実際のメモリに格納した例を示す。
【0043】
さらに具体的な本実施例の論理積演算について図6を参照して説明する。図6に示すDAツリーでは、ルールR1、R100、R120=*となっており、これらのルールR1、R100、R120が他の全てのルールを内包する関係にある。そこで、図6の例では、まず、ルールR1、R100、R120により一つのマルチヒット群として*群を生成する。
【0044】
次に、ルールR150=1*に着目すると、ルールR150は、ルールR230=10*およびR250=11*およびR310=111*を内包する。そこで、図6の例では、ルールR150、R230、R250、R310により一つのマルチヒット群としてマルチヒット群2を生成する。また、ルールR2=0*に着目すると、ルールR2は、ルールR560=00*およびR599=000*を内包する。そこで、図6の例では、ルールR2、R560、R599により一つのマルチヒット群としてマルチヒット群3を生成する。
【0045】
このような状況下で、例えば、ヘッダ情報にDA=1000というフィールド情報を含むパケットが到着したときには、DA=1000は、ルールR1、R100、R120=*に該当するので、*群に含まれる。さらに、DA=1000は、ルールR230=10*に該当するので、マルチヒット群2に含まれる。
【0046】
このような場合に、最終的に論理積を演算するマルチヒット群は、*群およびマルチヒット群2である。結果的に2回の論理積を演算する必要があるが、従来例と比較しても十分少なくて済む。
【0047】
【発明の効果】
以上説明したように、本発明によれば、高速にポリシテーブル検索を行うことができる。
【図面の簡単な説明】
【図1】本実施例で用いる一致テーブルを示す図。
【図2】本実施例のDAツリーによる検索方法を示す図。
【図3】本実施例のDAツリーの検索結果が記録された一致テーブルを示す図。
【図4】本実施例のSAツリーの検索結果が記録された一致テーブルを示す図。
【図5】本実施例の論理的な一致テーブルと物理的メモリ上に展開された一致テーブルとを示す図。
【図6】本実施例の具体的な論理積演算を説明するための図。
【図7】パケット転送装置の概念図。
【図8】従来のツリー検索方法を説明するための図。
【図9】ポリシテーブルを示す図。
【図10】従来のフィールド情報毎のツリー検索方法を説明するための図。
【図11】従来の論理積演算を説明するための図。
【符号の説明】
N1、N2、N3 ネットワーク
P パケット転送装置[0001]
BACKGROUND OF THE INVENTION
The present invention is used for a packet transfer apparatus such as an IP router. More particularly, the present invention relates to a table search method that is used to determine processing for a packet based on packet header information when performing packet transfer processing.
[0002]
[Prior art]
In a conventional packet transfer device such as an IP router, a route table is searched based on a destination address mounted in a packet header to determine a next route. The route table holds the relationship between the destination address and the next route. As described above, the conventional Internet only performs a simple transfer process using only the destination address.
[0003]
However, in recent years, with the spread of the Internet, the conventional simple transfer processing is no longer sufficient, and not only the destination address mounted in the header but also the advanced address using the source address, TCP / UDP port number, etc. Transfer control is required.
[0004]
These are used for policy control and QoS control. For example, when communication of a specific application is prohibited, policy control can be performed by filtering so that a packet of a TCP / UDP port number assigned to the application is not transferred. Further, in order to increase the QoS of packet transfer of a specific application from a specific user, QoS control can be performed by performing packet priority control based on the transmission source address and TCP / UDP port number of the user.
[0005]
A policy table search is required for these processes. The policy table is used to search a plurality of field information of the header information of a packet as a key and determine a handling rule for the packet. Field information of the packet header includes destination address (DA), source address (SA), destination port number (DP), source port number (SP), protocol identifier (PID), service differentiation code (DSCP), etc. Six sets are representative.
[0006]
A conventional policy table search example will be described with reference to FIG. Reference numerals N1, N2, and N3 in FIG. 7 are networks, and reference numeral P is a packet transfer apparatus. In the following, for simple description, each field is represented by a binary number, and * indicates that the value of the subsequent bits is ignored when the policy table is searched. For example, the IPv4 destination address is originally 32 bits, but if the destination address is written as 10 *, the 3rd to 32nd bits are ignored during the search. Therefore, when a packet such as the destination address of IPv4 in the header information 100100110... (32 bits in total) arrives at the packet transfer apparatus, if there is 10 * in the destination address item on the policy table, that item And the destination address of the header information match. Conversely, if there is a 101 * on the policy table, it will not match.
[0007]
In the conventional policy table search example of FIG. 7, when the policy table is set in the packet forwarding device, when a packet is input, the header information of the packet is compared with the policy table, and the policy table rule is matched. Indicates that the process described in the rule is performed. For example, when a packet is transmitted from the network indicated by 100 * to the network indicated by 1100 *, headers such as a transmission source address of 10000... (32 bits in total) and a destination address of 1100000 (total of 32 bits) are used. The packet with is sent. When such a packet is input to the packet transfer apparatus, it matches the rule R2 on the policy table, so this packet is preferentially transferred.
[0008]
[Problems to be solved by the invention]
In the search of the policy table, it is necessary to use the entry that most closely matches the header information of the packet in question among all entries. As one method for performing such a search, a method of searching all of the policy table from the top to the bottom can be considered. However, in this method, if the number of entries in the policy table increases, a long time is required for the search.
[0009]
There is also a search method using a tree. A conventional search method using a tree will be described with reference to FIG. Circles in the figure indicate tree nodes. A node stores a destination address, a pointer to the next node, and a rule number.
[0010]
The tree is branched downward while comparing the destination address to be searched with the destination address stored in the node. When an IP address to be searched reaches a certain node, the search is performed from the higher order of the destination address indicated by the node and the destination IP address to be searched (up to the bit immediately before *, if 100 *, the higher order Compare 3 bits). If they do not match, the search ends. If there is a match, the process in the matched node is recorded.
[0011]
At the destination IP address to be searched next, pay attention to the last bit of the compared bits, and if there is a node lower than itself (hereinafter referred to as a child node), move to the child node and search If no child node exists, the search is terminated and the process in the policy table is executed from the recorded rule number. In the following, a specific example in the case of searching for an IP address of 10000101.
[0012]
First, it is judged whether it is 0 or 1 by looking at the first bit of the IP address. In this example, since it is 1, it moves to the
[0013]
Next, an example of a conventional policy table search method using a tree structure is shown. First, FIG. 9 shows an example of a policy table. FIG. 10 shows an example of a policy table search method using a tree structure created based on the policy table of FIG. In this search example, a tree is created for each field information, and the search is performed on each tree.
[0014]
First, a tree is created by focusing only on the DA in the policy table (DA tree in FIG. 10), and similarly a tree is created by focusing only on SA (SA tree in FIG. 10). When searching the header information of a packet, the DA tree is searched with only the header information DA, and similarly, the SA tree is searched with only the header information SA. The search in each tree is the longest match search that continues until the longest match.
[0015]
Prepare a match table in addition to the tree. If there is a matching rule during the tree search, mark the matching rule in the match table. In this example, “1” is marked for matching, and “0” is marked for mismatching. Search independently in each tree and fill in the match table. When the search of all the trees is completed, the match tables are compared, and a logical product (and) is taken for each field information in order to find a rule that matches all the field information. Specifically, first, a logical product is calculated between DA and SA. The logical product of the result and the next field information (not in the example of FIG. 10, for example, the field information of the upper protocol) is calculated. Repeat this. Finally, the rule that is found to match in all fields is taken as the answer. In the example of FIG. 10, by calculating the logical product, only the rule R3 indicates a match, and “1” is output as the result of the logical product.
[0016]
This method is characterized in that each tree is first searched independently, and finally the logical product of the match table is calculated to obtain the final result. The big problem of this method is a place where the logical product is calculated. Usually, the processor can calculate the logical product in one calculation of about 16 bits, 32 bits, and 64 bits. For example, as shown in FIG. When the number of bits that can be calculated is 32 bits, there is a problem that it takes 157 times from 1000/32 × 5 and it takes time to obtain the final result.
[0017]
An object of the present invention is to provide a packet transfer apparatus, a network, a program, and a recording medium that can be used to search a policy table at high speed.
[0018]
[Means for Solving the Problems]
The present invention is characterized in that when a search result recorded in a match table is finally subjected to a logical product operation, a portion that does not need to be calculated from the beginning is excluded to increase the calculation speed.
[0019]
That is, the first aspect of the present invention is a means for extracting header information of an incoming packet, a policy table in which rules for handling a packet corresponding to the header information are recorded, and the extraction means extracted by the extraction means. Means for comparing the header information with the policy table to identify the rule, wherein the policy table is provided with a search item for each of a plurality of field information having different attributes included in the header information, The means for performing the search for the field information included in the header information and the field information included in the policy table for each search item is “1” for the rule that matches, and “ 0 ”and each of the plurality of rules after the search for all the search items is completed. Packet transfer means comprising: means for calculating a logical product of the search results; and means for finally specifying the rule for which the operation result of the means for calculating the logical product is “1” as a handling rule for the packet. Device.
[0020]
Here, a feature of the present invention is that a relationship in which a range of rules indicated by one search item includes a range of rules indicated by another search item is defined as an inclusion relationship, and at least one search is performed. Means for generating in advance a plurality of sets of the rules having this inclusion relation for items are provided, and means for calculating the logical product is a logical product operation target for the other rules excluding the rules included in the set. It is in the place with the means to exclude beforehand.
[0021]
Here, the inclusion relationship will be described in more detail. Since most of the field information defined in the policy table is represented by * that ignores the lower bits, the rule has a range. For simplicity, it is assumed that DA is 4 bits and there are only rules of DA only. For example, DA = 1 * represents 1000 to 1111. Comprehension means that “a range indicated by one rule includes a range indicated by another rule between two rules represented by * ignoring lower bits”. For example, since the range indicated by 1 * (1000 to 1111) includes the range indicated by 11 * (1100 to 1111), 1 * includes 11 *. The same can be said for two or more fields. For example, when a set of DA and SA (DA, SA) = (1 *, 1 *) is one rule R1, and (DA, SA) = (11 *, 11 *) is one rule R2. , R1 DA contains R2 DA, and R1 SA contains R2 SA, so rule R1 contains R2.
[0022]
In the present invention, paying attention to at least one search item, a plurality of sets of rules (referred to as multi-hit groups in the embodiment) based on such inclusion relationships are generated in advance. For example, when the set is generated using the first search item (DA), when the packet actually arrives, the search result of the first search item of the field information included in the header information is one of the sets. Will be included. The set including the search result of the first search item may be plural. When the logical product is finally calculated, it is clear that the set that does not include the search result of the first search item is invalid even if the logical product is calculated. Can be excluded. Thereby, the policy table search can be executed at high speed.
[0023]
A second aspect of the present invention is a network including the packet transfer apparatus of the present invention.
[0024]
According to a third aspect of the present invention, when installed in an information processing apparatus, a function for extracting header information of an incoming packet and a handling rule for a packet corresponding to the header information are recorded in the information processing apparatus. A function corresponding to a policy table, and a function for specifying the rule by comparing the header information extracted by the extracting function with the policy table, and the policy table includes an attribute included in the header information. Search items are provided for each of a plurality of different field information, and the specifying function has a search result obtained by comparing field information included in the header information and field information included in the policy table for each search item. A function of “1” for the matched rule and “0” for the unmatched rule; A function for calculating a logical product of the search results for each of the plurality of rules after completion of the search for all the search items, and a rule for which the operation result of the function for calculating the logical product is “1”. This is a program for realizing a function corresponding to a packet transfer apparatus having a function finally specified as a handling rule.
[0025]
Here, a feature of the present invention is that a relationship in which a range of rules indicated by one search item includes a range of rules indicated by another search item is defined as an inclusion relationship, and at least one search is performed. A function for generating in advance a plurality of sets of the rules having this inclusion relation with respect to an item, and a function for calculating the logical product, with respect to other rules other than the rule included in the set, a logical product operation target The function to be excluded in advance is to be realized.
[0026]
A fourth aspect of the present invention is the information processing apparatus-readable recording medium on which the program of the present invention is recorded. By recording the program of the present invention on the recording medium of the present invention, the information processing apparatus can install the program of the present invention using this recording medium. Alternatively, the program of the present invention can be directly installed in the information processing apparatus via a network from a server holding the program of the present invention.
[0027]
As a result, a packet transfer device and a network that can execute a policy table search at high speed by an information processing device such as a computer device can be realized.
[0028]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described with reference to FIGS. FIG. 1 is a diagram showing a matching table used in this embodiment. FIG. 2 is a diagram showing a search method using a DA tree according to this embodiment. FIG. 3 is a diagram showing a match table in which search results of the DA tree of this embodiment are recorded. FIG. 4 is a diagram showing a match table in which search results of the SA tree of this embodiment are recorded. FIG. 5 is a diagram showing a logical match table of this embodiment and a match table developed on a physical memory. FIG. 6 is a diagram for explaining a specific logical product operation of this embodiment.
[0029]
The present embodiment is an embodiment of a packet transfer device, and the packet transfer device of this embodiment extracts header information of an incoming packet and, as shown in FIG. 11, rules for handling packets corresponding to the header information Is stored, and the rule is specified by comparing the extracted header information with the policy table.
[0030]
In the policy table, a search item is provided for each of a plurality of field information having different attributes included in the header information, and field information included in the header information and field information included in the policy table for each search item, As shown in FIG. 1, a match table as shown in FIG. 1 is generated with “1” for the rule that matches the search result of “1” and “0” for the rule that does not match. The logical product of the search results is calculated for each rule, and the rule for which the calculation result is “1” is finally specified as the handling rule for the packet.
[0031]
Here, the feature of the present embodiment is that a relationship including a rule range indicated by one search item includes a rule range indicated by another search item is defined as an inclusion relationship, and For a search item, a plurality of multi-hit groups that are a set of the rules having the inclusion relation are generated in advance, and the other rules excluding the rule included in the set are excluded in advance from a logical product calculation target. . In this embodiment, an example is shown in which a multi-hit group is generated using the first search item DA, but a multi-hit group can also be generated using one or more of the other search items. In the example of FIG. 1, three multi-hit groups are shown, and one of these three multi-hit groups is selected as an AND operation target according to the header information of the incoming packet.
[0032]
The packet transfer apparatus of the present embodiment is realized by a computer apparatus that is an information processing apparatus. That is, by installing in a computer device, the computer device has a function of extracting header information of incoming packets, a function corresponding to a policy table in which rules for handling packets corresponding to the header information are recorded, and A function for identifying the rule by comparing the header information extracted by the extracting function with the policy table, and the policy table is searched for a plurality of field information having different attributes included in the header information. Each item is provided, and the specifying function is “1” for the rule in which the search result obtained by comparing the field information included in the header information with the field information included in the policy table matches for each search item. And the function that sets “0” for all the rules that do not match, A rule for calculating the logical product of the search results for each of the plurality of rules after the search for the search item is completed, and a rule for handling the packet in which the calculation result of the function for calculating the logical product is “1” By installing a program that realizes a function corresponding to the packet transfer apparatus having a finally specified function in the computer apparatus, the computer apparatus can be made an apparatus corresponding to the packet transfer apparatus of this embodiment. it can.
[0033]
A feature of the program of the present embodiment is that a relationship including a rule range indicated by one search item includes a rule range indicated by another search item is defined as an inclusion relationship, and at least one search is performed. A function for generating a plurality of multi-hit groups, which is a set of the rules in this inclusion relation, in advance for an item, and a function for calculating the logical product, for the other rules other than the rule included in the set, This is to realize the function of excluding from the operation target of the logical product in advance.
[0034]
By recording the program of the present embodiment on the recording medium of the present embodiment, the computer apparatus can install the program of the present embodiment using this recording medium. Alternatively, the program of this embodiment can be directly installed on the computer device from the server holding the program of this embodiment via the network.
[0035]
As a result, the packet transfer apparatus according to the present embodiment can be realized in which the policy table can be searched at high speed by the computer apparatus. Further, by providing the network with the packet transfer apparatus of the present embodiment, the network of the present embodiment can be realized.
[0036]
Hereinafter, this embodiment will be described in more detail.
[0037]
FIG. 1 is a match table for explaining the present embodiment. The rules of the policy table shown in FIG. 11 are rearranged so as to create a multi-hit group by collecting multi-hit rules on DA field information. . FIG. 2 is an image diagram showing that the DA tree is constructed from the policy table of FIG. 11, the header information of the packet with DA = X is searched, and the longest match is found in the node storing the DA of rule R250.
[0038]
FIG. 3 shows an operation performed after the search in FIG. The node storing the DA of rule R250 has matching information. Match information is the data of the match table when the node is the node with the longest match between the rule information and the header information at the time of search, and indicates the memory address to be written in the match table and the contents of the information .
[0039]
In the example of FIG. 3, the node storing the DA of the rule R250 is used as match information, and the match information of the rule to be stored at the memory address and the memory address where the multi-hit group of R250 of the match table is stored (which Whether or not the rule matches is indicated by “1” or “0.” In this example, “1” indicates that the rule matches, and “0” indicates that the rule does not match. Write the rule match information to the correct memory address.
[0040]
After the first tree (DA tree in this example) is searched, the second tree is searched. In this example, the second tree search is performed in the SA tree, and FIG. 4 shows an example in which the SA is specifically searched. Even in the SA tree, the SA of the header information is compared with the SA stored in the node on the SA tree, and the search is performed until the longest matching node is found. In FIG. 4, the node storing the rule R150 SA is the longest matching node. Matching information when this node has been matched the longest (information about which node matched, in this case it only needs to have matching information for the necessary rule including the memory address to be written, This node has the matching information of all the rules without including the memory address (in this example, it is assumed that the memory address is not included), and this is written in the matching information. Thereafter, the tree for each field information necessary for the search such as PID is searched, and the matching information is similarly written. The search ends when the last tree search ends.
[0041]
After the search is completed, a logical product is obtained by using only the multi-hit group matched in the DA tree (
[0042]
Note that the matching table in the figure is a logical table, but when it is actually expanded on the memory, 1000 rules cannot be arranged in the horizontal direction. FIG. 5 shows an example in which the match table is stored in the actual memory when, for example, only 32 bits can be arranged in the horizontal direction of the memory.
[0043]
A more specific AND operation of this embodiment will be described with reference to FIG. In the DA tree shown in FIG. 6, rules R1, R100, and R120 = *, and these rules R1, R100, and R120 are in a relationship including all other rules. Therefore, in the example of FIG. 6, first, the * group is generated as one multi-hit group by the rules R1, R100, and R120.
[0044]
Next, focusing on the rule R150 = 1 *, the rule R150 includes rules R230 = 10 *, R250 = 11 *, and R310 = 111 *. Therefore, in the example of FIG. 6, the
[0045]
Under such circumstances, for example, when a packet including field information of DA = 1000 arrives in the header information, DA = 1000 corresponds to the rules R1, R100, R120 = *, and thus is included in the * group. Furthermore, since DA = 1000 corresponds to the rule R230 = 10 *, it is included in the
[0046]
In such a case, the multi-hit group that finally calculates the logical product is the * group and the
[0047]
【The invention's effect】
As described above, according to the present invention, a policy table search can be performed at high speed.
[Brief description of the drawings]
FIG. 1 is a diagram showing a matching table used in the present embodiment.
FIG. 2 is a diagram illustrating a search method using a DA tree according to the embodiment.
FIG. 3 is a diagram illustrating a matching table in which search results of DA trees according to the embodiment are recorded.
FIG. 4 is a diagram showing a match table in which search results of the SA tree according to the embodiment are recorded.
FIG. 5 is a diagram showing a logical matching table and a matching table developed on a physical memory according to the present embodiment.
FIG. 6 is a diagram for explaining a specific logical product operation of the embodiment;
FIG. 7 is a conceptual diagram of a packet transfer apparatus.
FIG. 8 is a diagram for explaining a conventional tree search method;
FIG. 9 is a diagram showing a policy table.
FIG. 10 is a diagram for explaining a conventional tree search method for each field information.
FIG. 11 is a diagram for explaining a conventional logical product operation;
[Explanation of symbols]
N1, N2, N3 Network P Packet transfer device
Claims (4)
当該ヘッダ情報に対応するパケットの扱いルールが記録されたポリシテーブルと、
前記抽出する手段により抽出された前記ヘッダ情報と前記ポリシテーブルとを比較して前記ルールを特定する手段と
を備え、
前記ポリシテーブルは、前記ヘッダ情報に含まれる属性の異なる複数のフィールド情報毎に検索項目がそれぞれ設けられ、
前記特定する手段は、
前記検索項目毎に前記ヘッダ情報に含まれるフィールド情報と前記ポリシテーブルに含まれるフィールド情報とを比較した検索結果が一致した前記ルールについては“1”とし不一致の前記ルールについては“0”とする一致テーブルを作成する手段と、
全ての前記検索項目に対する検索終了後に複数の前記ルールのそれぞれについて前記検索結果の論理積を演算する手段と、
この論理積を演算する手段の演算結果が“1”となる前記ルールを当該パケットの扱いルールとして最終的に特定する手段と
を備えたパケット転送装置において、
前記ポリシテーブルの前記ルールは、検索項目ごとに上位のノードが下位のノードのもつルールを包含する関係を内包関係として、最上位のノードから下位のノードに至るツリー状に形成され、
少なくとも一つの検索項目について、上位のノードに属する下位のルールの集合をあらかじめ複数生成する手段が設けられ、
前記論理積を演算する手段は、前記ヘッダ情報に含まれるフィールド情報とポリシテーブルに含まれるフィールド情報との検索結果が一致したルールが一つでも含まれる前記集合を論理積の演算対象とし、一致したルールが一つも含まれない前記集合を論理積演算の対象から除外する手段を備えた
ことを特徴とするパケット転送装置。Means for extracting header information of incoming packets;
A policy table in which rules for handling packets corresponding to the header information are recorded;
Means for comparing the header information extracted by the extracting means with the policy table to identify the rule;
In the policy table, a search item is provided for each of a plurality of field information having different attributes included in the header information,
The means for specifying is
For each search item, "1" is set for the rule that matches the search result comparing the field information included in the header information and the field information included in the policy table, and "0" for the rule that does not match. A means of creating a match table;
Means for calculating a logical product of the search results for each of the plurality of rules after the search for all the search items is completed;
A packet transfer apparatus comprising: means for finally specifying the rule for which the operation result of the means for calculating the logical product is “1” as the handling rule of the packet;
The rule of the policy table is formed in a tree shape from the highest node to the lower node, with the relationship including the rule of the lower node being included by the higher node for each search item,
For at least one search item, means for generating in advance a plurality of sets of lower rules belonging to higher nodes is provided,
The means for calculating the logical product uses the set including at least one rule in which the search results of the field information included in the header information and the field information included in the policy table match as a logical operation target. packet transfer device rule is characterized by comprising a means for target or we divided out of the logical aND operation of the set that are not included one.
到来するパケットのヘッダ情報を抽出する機能と、
当該ヘッダ情報に対応するパケットの扱いルールが記録されたポリシテーブルに相応する機能と、
前記抽出する機能により抽出された前記ヘッダ情報と前記ポリシテーブルとを比較して前記ルールを特定する機能と
を備え、
前記ポリシテーブルは、前記ヘッダ情報に含まれる属性の異なる複数のフィールド情報毎に検索項目がそれぞれ設けられ、
前記特定する機能は、
前記検索項目毎に前記ヘッダ情報に含まれるフィールド情報と前記ポリシテーブルに含まれるフィールド情報とを比較した検索結果が一致した前記ルールについては“1”とし不一致の前記ルールについては“0”とする一致テーブルを作成する機能と、
全ての前記検索項目に対する検索終了後に複数の前記ルールのそれぞれについて前記検索結果の論理積を演算する機能と、
この論理積を演算する機能の演算結果が“1”となる前記ルールを当該パケットの扱いルールとして最終的に特定する機能と
を備えた
パケット転送装置に相応する機能を実現させるプログラムにおいて、
前記ポリシテーブルの前記ルールは、検索項目ごとに上位のノードが下位のノードのもつルールを包含する関係を内包関係として、最上位のノードから下位のノードに至るツリー状に形成されており、
少なくとも一つの検索項目について、上位のノードに属する下位のルールの集合をあらかじめ複数生成する機能を実現させ、
一つの前記検索項目が示すルールの範囲がもう一つの前記検索項目が示すルールの範囲を包含する関係を内包関係と定義し、
少なくとも一つの前記検索項目についてこの内包関係にある前記ルールの集合をあらかじめ複数生成する機能を実現させ、
前記論理積を演算する機能として、前記ヘッダ情報に含まれるフィールド情報とポリシテーブルに含まれるフィールド情報との検索結果が一致したルールが一つでも含まれる前記集合を論理積の演算対象とし、一致したルールが一つも含まれない前記集合を論理積演算の対象から除外する機能を実現させる
ことを特徴とするプログラム。By installing on an information processing device,
A function to extract header information of incoming packets;
A function corresponding to a policy table in which a handling rule of a packet corresponding to the header information is recorded;
A function for specifying the rule by comparing the header information extracted by the extracting function and the policy table;
In the policy table, a search item is provided for each of a plurality of field information having different attributes included in the header information,
The specified function is:
For each search item, "1" is set for the rule that matches the search result comparing the field information included in the header information and the field information included in the policy table, and "0" for the rule that does not match. The ability to create match tables;
A function of calculating a logical product of the search results for each of the plurality of rules after the search for all the search items is completed;
In a program for realizing a function corresponding to a packet transfer apparatus having a function of finally specifying the rule that the operation result of the function of calculating a logical product is “1” as a handling rule of the packet,
The rule of the policy table is formed in a tree shape from the highest node to the lower node, with the inclusion relationship including the rule of the lower node in the upper node for each search item,
For at least one search item, realize the function to generate multiple sets of lower rules belonging to higher nodes in advance,
Defining a relationship in which a range of rules indicated by one search item includes a range of rules indicated by another search item as an inclusion relationship;
Realizing a function of generating a plurality of sets of the rules having the inclusion relation in advance for at least one search item;
As a function of calculating the logical product, the set including at least one rule in which the search result of the field information included in the header information and the field information included in the policy table matches is set as a logical product operation target. program rule which is characterized in that to realize the function of interest whether we divided out of the logical aND operation of the set that are not included one.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002004839A JP3779619B2 (en) | 2002-01-11 | 2002-01-11 | Packet transfer device, network, program, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002004839A JP3779619B2 (en) | 2002-01-11 | 2002-01-11 | Packet transfer device, network, program, and recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003209565A JP2003209565A (en) | 2003-07-25 |
JP3779619B2 true JP3779619B2 (en) | 2006-05-31 |
Family
ID=27644055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002004839A Expired - Fee Related JP3779619B2 (en) | 2002-01-11 | 2002-01-11 | Packet transfer device, network, program, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3779619B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8195705B2 (en) | 2001-12-11 | 2012-06-05 | International Business Machines Corporation | Hybrid search memory for network processor and computer systems |
JP3757882B2 (en) * | 2002-03-12 | 2006-03-22 | 日本電信電話株式会社 | Packet filtering method |
JP3784054B2 (en) * | 2002-06-10 | 2006-06-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method and recording medium for rearranging MAC addresses |
-
2002
- 2002-01-11 JP JP2002004839A patent/JP3779619B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003209565A (en) | 2003-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104243315B (en) | Device and method for uniquely enumerating the path in analytic tree | |
US7702630B2 (en) | Longest prefix match lookup using hash function | |
US6651096B1 (en) | Method and apparatus for organizing, storing and evaluating access control lists | |
US7865608B1 (en) | Method and apparatus for fast and scalable matching of structured data streams | |
US7782868B2 (en) | Two-stage computer network packet classification method and system | |
JP2005538624A (en) | How to create a programmable state machine data structure to parse the input word chain, how to use the programmable state machine data structure to find the resulting value corresponding to the input word chain, deep wire speed A method for performing packet processing, a device for deep packet processing, a chip embedding device, and a computer program including programming code instructions (method and device for deep packet processing) | |
CN111988231B (en) | Mask quintuple rule matching method and device | |
AU2017345769A1 (en) | Systems and methods for scalable network modeling | |
CN113691460B (en) | Data transmission method, device, equipment and storage medium based on load balancing | |
CN110061921B (en) | Cloud platform data packet distribution method and system | |
WO2017157335A1 (en) | Message identification method and device | |
CN106487769B (en) | Method and device for realizing Access Control List (ACL) | |
JP2014504042A (en) | Packet classifier, packet classification method, and packet classification program | |
CN111030971A (en) | Distributed access control method and device and storage equipment | |
CN104954415B (en) | Handle the method and device of HTTP request | |
US6680916B2 (en) | Method for using a balanced tree as a base for a routing table | |
JP3779619B2 (en) | Packet transfer device, network, program, and recording medium | |
US11552887B2 (en) | System and method of processing packet classification with range sets | |
CN109688237A (en) | A kind of NAT method, device and NAT device | |
US7844731B1 (en) | Systems and methods for address spacing in a firewall cluster | |
JP3949696B2 (en) | Protocol acceleration device | |
JP3609358B2 (en) | Flow identification search apparatus and method | |
CN112437065B (en) | Strategy conflict detection and solution method based on graphic representation under SDN environment | |
JP3660311B2 (en) | Table search apparatus and method, program, and recording medium | |
JP3779618B2 (en) | Packet transfer device, network, program, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050222 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050421 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060131 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060206 |
|
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: 20060228 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060302 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090310 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100310 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110310 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110310 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120310 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130310 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |