JP3569802B2 - ルーティングテーブル検索装置および検索法 - Google Patents
ルーティングテーブル検索装置および検索法 Download PDFInfo
- Publication number
- JP3569802B2 JP3569802B2 JP17047999A JP17047999A JP3569802B2 JP 3569802 B2 JP3569802 B2 JP 3569802B2 JP 17047999 A JP17047999 A JP 17047999A JP 17047999 A JP17047999 A JP 17047999A JP 3569802 B2 JP3569802 B2 JP 3569802B2
- Authority
- JP
- Japan
- Prior art keywords
- prefix
- search
- address
- cam
- tree
- 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 - Lifetime
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
本発明は、高速かつ大容量のルーティングテーブル検索法に関し、特に検索回数を制限することができ、高速にルーティングテーブルを検索することが可能なルーティング検索法に関する。
【0002】
【従来の技術】
従来のCAM(Content Addressable Memory)を用いたルーティングテーブル検索法について説明する。
図2は、CAMを用いた従来のルーティングテーブル検索法の動作説明図である。
図2に示すように、Prefix長毎にCAM16−1〜16−25を用意して、ルーティングテーブル上のPrefixをそのPrefix長と対応するCAMに格納する。すなわち、Prefix長8のPrefixであればCAM(8)16−1に格納し、Prefix長9のPrefixであればCAM(9)16−2に格納し、同じようにしてPrefix長32のPrefixであればCAM(32)16−25に格納する。
検索を行う際には、検索すべき宛先IPアドレスを全CAM16−1〜16−25に入力する。Prefix長pに対応するCAMに入力された宛先IPアドレスは、宛先IPアドレスの上位pビット分とCAMが格納しているPrefixとを比較し、一致した場合、CAMはNext Hopの情報あるいはNext Hopの情報を持った他テーブルへのIndex情報を出力する。なお、複数のCAMで一致した場合には、Priority Encoder17で最も長いPrefixを格納しているCAMからの出力を選択する。図2の方式では、ルーティングテーブルにあるPrefix自身を全てCAMに格納しなければならず、その結果、多くのメモリ量が必要になるという問題があった。
【0003】
図3は、パトリシアツリーを用いた従来のルーティングテーブル検索法の説明図である。
図3に示す検索法では、各ノード31〜34はそれぞれPrefixとそのノードのPrefix長を持っている。あるノードに検索すべきIPアドレスが到達した場合、そのノードが示すPrefixと宛先IPアドレスの上位Prefix長ビット目までを比較する。比較の結果、一致しない場合には、直前に一致したノードに対応するテーブルが持つNext Hopの情報を求める情報として検索を終了し、一致した場合には、そのノードに対応するテーブルが持つNext Hopの情報を読み込み、記録する。次に、宛先IPアドレスの上位Prefix長+1ビット目を参照し、その値により子ノードが存在する場合には子ノードに移り、検索を続行し、一方、子ノードが存在しない場合には、検索を終了し、記録したNext Hopの情報を求める情報とする。
図3では、例えば、10000101・・・という宛先IPアドレスが入力されたとき、先ずルートノード31で宛先IPアドレスの上位1ビット目の値が0または1で分岐を行い、検査ビット(宛先IPアドレスの上位1ビット目)が1であるためノード(S)32に移り、上位3ビット分を比較して一致しているので、検査ビットである4ビット目を調べる。検査ビットが0であるためノード(U)33に移る。ここでは上位5ビット分を比較して一致しないので、検索を終了し、直前で一致したノード(S)32の100/3を答えとする。図3の方式では、ルーティングテーブルのエントリ数の増加やアドレス長が長くなることによって木の深さが深くなり、それに伴ない検索回数が多くなり、その結果、検索に時間がかかるという問題があった。
【0004】
図4は、Multiwayツリーを用いたルーティングテーブル検索法の説明図である。
この方式は、検索の際にノードへのアクセス回数を減らす目的で、1つの親ノードに3つ以上の複数の子ノードを持たせることによって木の深さを浅くする方法である。すなわち、図4(a)から図4(b)のように変形させたツリーにすることにより、木の深さを浅くできる。図4(b)は、3ビットずつにPrefixを区切った場合の具体例(xxx/3)であって、区切った段(Prefix長が3の倍数の段)上に存在しない有効ノード(図中でA,B,E,F,D)はPrefixを伸長して必要なだけエントリを配置する。例えばノードD(0011)を6ビットへ伸長する場合、001100、001101、001110、001111の4つのエントリを持つことになる。
【0005】
Multiwayツリーの検索は、例えば1つの親ノードに最大E個(≧3、図ではE=8)の複数の子ノードを持たせるとすると、ノードが持つPrefixとIPアドレスの上位Prefix長ビット目までを比較し、一致した場合には、IPアドレスの上位Prefix長+1ビット目から上位Prefix長+log2Eビット目までを見て、対応する子ノードがあれば移り、検索を続行する。対応する子ノードがなかった場合、またノードで比較した時に一致しなかった場合には、検索を終了し、直前に一致したノードに対応するテーブルが持つNext Hop情報を求める情報として検索を終了する。この方式では、1つの同じPrefixを表わすために、複数のノードがより多く必要となる場合があり(図4におけるノードD等)、メモリを浪費してしまうという問題があった。1つの親ノードが持つ子ノードの数を増やすほどアクセス回数を減らすことができるが、IPアドレスに割り当てられるビット数(IPv4の時は32ビット、IPv6の時は128ビット)が増加すると、木の深さが深くなり、必要なメモリ量が増加し、現実的なメモリ量を考えると、1つの親ノードがあまり多くの子ノードを持つことができなくなり、アクセス回数を減少させることが効果的に行えなくなる、という問題があった。
【0006】
【発明が解決しようとする課題】
このように、従来用いられていたCAMを用いたルーティングテーブル検索法では、Prefix自身を全てCAMに格納する必要があるため、メモリ量が多く必要になるという問題があり、またパトリシアツリーを用いたルーティングテーブル検索法では、木の深さが深くなればなるほど検索回数が多くなるため、検索に時間がかかるという問題があり、さらにMultiwayを用いたルーティングテーブル検索法では、IPアドレスに割り当てられるビット数が増えると、木の深さが深くなるため、必要なメモリ量が増加し、多くの子ノードを持てなくなり、アクセス回数を十分に減らすことができなくなるという問題があった。
【0007】
そこで、本発明の目的は、これら従来の課題を解決し、ルーティングテーブルの検索に必要な検索回数およびメモリ量を減少させ、高速かつ大容量のルーティングテーブル検索法を提供することにある。
【0008】
【課題を解決するための手段】
上記目的を達成するため、本発明のルーティングテーブル検索法では、検索を2段に分けて行い、1段目の処理ではCAMを用いて1回目の検索を実行し、2段目にツリーを配置して2回目の検索をツリーの限定された範囲内で検索を実行する。そのために、ルーティングテーブルにエントリされている全てのPrefixをPrefix長により決められた範囲にそれぞれ分け、分けられたPrefixをその範囲の中で最も小さいPrefix長へ短縮したPrefixを1段目のCAMに格納して、検索を開始する際に検索すべき宛先IPアドレスをCAMに入力する。検索すべき宛先IPアドレスが入力されたならば、CAMに格納されているPrefixと入力された宛先IPアドレスの上位Prefix長ビット分とを比較し、一致したPrefixのうち最も長いPrefix長を持つPrefixを答えとし、答えとして求めたPrefixに対応する2段目のツリーが格納されているメモリのアドレスを1段目から出力する。
2段目の処理では、検索すべき宛先IPアドレスと1段目から出力されたアドレスを読み込み、1段目から出力されたアドレスから、そのアドレスに対応するツリーの途中にあるノードを、2段目のツリーを格納しているメモリから読み込み、そのノードから検索を開始し、そのツリーに決められたルールで検索を実行し、1段目のCAMで一致したPrefixが含まれていた範囲のPrefix長の範囲内でツリーを検索する。ツリーに決められたルールで検索が終了した時、Next Hopの情報あるいはNext Hopの情報を持つ他のテーブルへのindex情報を最終的な結果として出力する。
【0009】
本発明においては、ルーティングテーブルにエントリされている全てのPrefixをPrefix長により決められた範囲に分け、分けられたPrefixをその範囲の中で最も小さいPrefix長へ短縮したPrefixをCAMに格納する。その結果、1段目でCAMを用いて得られる答えとなるPrefixは、入力されたIPアドレスとCAMに格納されているPrefixとを比較し、入力されたIPアドレスと一致するPrefixの中で最も長いPrefix長を持つPrefixとするため、2段目のツリーでの検索は、そのPrefixが含まれていたPrefix長の範囲の中で一番長いPrefix長よりも長いPrefix長で検索しても最長一致Prefixが存在する可能性がないため、そのPrefixが含まれていたPrefix長の範囲でのみ検索を行うことで、最長一致Prefixを求めることができる。検索は、ツリーの最上段にあるノードから常に検索を開始する必要はなく、ツリーの途中のノードから検索を開始し、限られた範囲内で検索を行うことにより、最長一致Prefixを求めることができる。
【0010】
【発明の実施の形態】
以下、本発明の実施例を、図面により詳細に説明する。
図1は、本発明の一実施例を示すルーティングテーブル検索装置のブロック図である。
図1において、0はルーティングテーブル検索部、1はCAMを用いた検索を実施する1段目処理部、2はツリーの限定された範囲内で検索を実施する2段目処理部、3はツリー格納メモリ部、4はNext Hopの情報格納メモリ部、11は入力線、15は出力線、12,13,14は信号線である。
入力線11は、1段目処理部1と接続し、検索すべき宛先IPアドレスを1段目処理部1に入力する。信号線12は1段目処理部1と2段目処理部2を接続し、信号線13は2段目処理部2とツリー格納メモリ部3を接続し、信号線14は2段目処理部2とNext Hopの情報格納メモリ部4とを接続する。
出力線15は、2段目処理部2からNext Hopの情報を外部に出力する。
【0011】
検索が開始されると、先ず入力線11から1段目処理部1へ検索すべき宛先IPアドレスを入力し、1段目処理部1で最初の検索を行い、その結果を信号線12を介して2段目処理部2へ送る。その結果はツリー格納メモリ部3のアドレスを示しており、この結果とツリー格納メモリ部3に格納されているPrefixとツリー情報を用いてツリー上で検索を行う。ツリーを用いた検索の結果は、Next Hopの情報格納メモリ部4のアドレスを示しており、2段目処理部2はこの結果をもとにしてNext Hopの情報格納メモリ部4へ信号線14を介してアクセスし、Next Hopの情報を読み込み、出力線15を介して出力する。
【0012】
図5は、図1における1段目処理部の詳細ブロック図である。
図5において、22はCAM処理部、20−1〜20−NはそれぞれCAM処理部22内に設けらたCAM、21はPriority Encoder、11は入力線、30−1〜30−Nは各CAM20−1〜20−Nに入力する信号線、31−1〜31−Nは各CAM20−1〜20−Nから出力されて、Priority Encoder21に入力される信号線、32は入力線11から直接Priority Encoder21に接続する信号線である。
CAM処理部22は、入力線11から入力されたIPアドレスをCAM20−1〜20−Nの全てに入力し、信号線31−1〜31−Nを介してCAM20−1〜20−Nからの出力をPriority Encoder21へ送出する。また、入力線11から入力されたIPアドレスは、信号線32を介してPriority Encoder21に入力される。
【0013】
ルーティングテーブルにエントリされている全てのPrefixを、Prefix長により決められた範囲にそれぞれ分け、分けられたPrefixをその範囲の中で最も小さいPrefix長へ短縮したPrefixをCAM20−1〜20−Nは格納している。CAM20−1〜20−Nは、入力線11から入力された検索すべきIPアドレスと格納しているPrefixとを比較して、一致しているPrefixが存在した場合には、そのPrefixに対応するツリー格納メモリ部3のアドレスを信号線31−1〜31−Nを介して出力する。Priority Encoder21は、信号線32を介して入力された検索すべきIPアドレスと、複数のCAMから一致したことを示す信号を受けた場合、それらのCAMの中で最も長いPrefix長を持つCAMからの出力を選択し、その出力を信号線12を介して出力する。また、一致を示す信号をどのCAMからも受けなかった場合には、信号線12を介してツリーの最も上に位置するノードに対応するアドレスを出力する。
【0014】
図6は、図5におけるCAM処理部の詳細ブロックの例を示す図である。
例えば、IPv4(アドレスは32ビット)のルーティングテーブルのPrefixをCAMに格納する場合、PrefixをPrefix長で3つの区切り、Prefix長8〜15、Prefix長16〜23、Prefix長24〜32に分けたとする。その場合、図6のCAM20−1,20−2,20−3に示すように、それぞれの範囲のPrefixを格納するために3つのCAMを用意し、CAM20−1,20−2,20−3の中には、分けられた範囲の中で最も小さいPrefix長へ短縮したPrefixをそれぞれ格納する。
【0015】
図7は、図6における1つのCAMへ格納するPrefix例を示す図である。
図6に示すように、CAM20−1には、Prefix長の範囲8〜15に含まれる10.2/15、12.32/13、12.4/14を、この範囲の最も小さいPrefix長8へ短縮したPrefixは10/8、12/8、12/8となり、同じPrefixはまとめて10/8、12/8を格納する。
このようにして、CAM20−1には、Prefix長8〜15のPrefixから、Prefix長8へ短縮したPrefixが格納される。
【0016】
次に、図1における2段目処理部2について述べる。
2段目処理部2におけるツリーは、様々なツリーを用いることができるが、ここではパトリシアツリーを用いた場合の実施例について説明する。
ルーティングテーブル上のPrefixとCAMに格納されているPrefixからパトリシアツリーを作成し、ツリー格納メモリ部3へ入力する。CAMは、宛先IPアドレスが入力された際にCAMが保持するPrefixと比較し一致した場合には、そのPrefixに対応するツリー格納メモリ部3のアドレスを出力するようにしている。なお、CAMに格納されているPrefixをパトリシアツリーに付け加える際に、そのノードが保持するNext Hopの情報格納メモリ部のアドレスは2種類に分かれる。
【0017】
そのアドレスの1つ目は、CAMが格納しているPrefixと同じPrefixがルーティングテーブル上に存在しない場合には、CAMが格納しているPrefixを持つノードの親ノードが持つNext Hopの情報格納メモリ部のアドレスをノードが保持する。もし、親ノードがNext Hopの情報格納メモリ部のアドレスを持っていない場合には、親ノードの親ノードが持つNext Hopの情報格納メモリ部のアドレスを保持する。以下、同様に親ノードの親ノードが持っていない場合等は、Next Hopの情報格納メモリ部のアドレスを保持する親ノードを探していく。
そのアドレスの2つ目は、CAMが格納しているPrefixと同じPrefixがルーティングテーブル上に存在する場合には、ルーティングテーブル上に存在するPrefixのみツリー格納メモリ部3で保持し、保持されたPrefixに対応するツリー格納メモリ部3のアドレスをCAMは出力するようにしている。
【0018】
図8は、パトリシアツリーとそれぞれのメモリの関係の具体例を示す説明図である。
図8(a)にパトリシアツリーを示し、図8(b)〜(d)にこのパトリシアツリーに対応するCAM、ツリー格納情報メモリ部3、Next Hopの情報格納メモリ部4を示している。ツリー格納メモリ部3の他情報は、ツリーを用いて検索を行うための情報が入っている。それぞれ10.0/9、10.34、12/22はルーティングテーブル上に存在するPrefixであり、これらのPrefixを持つノードはNext Hopの情報を持ち、また10.32/14を持つノードはパトリシアツリー上の中継ノードであって、Next Hopの情報を持たず、また10.34/16は10.34.12/22をPrefix長16へ短縮したPrefixであり、CAMにも格納されている。10.34/16がルーティングテーブル上に存在しないので、Next Hopの情報を持っていないからNext Hopの情報を持つ親ノードを探す。しかし、10.34/16の親ノード(10.32/14)がNext Hopの情報を持っていないため、その親ノード(10.0/9)が持つNext Hopの情報を10.34/16のNext Hopの情報とする。それ故、10.34/16に対応するツリー格納メモリ部のNext Hop情報格納メモリ部のアドレスを10.0/9と同じi1とする。
【0019】
例えば、IPアドレス10.34.12.50の検索を行う場合、先ずCAMから出力されたツリー格納メモリ部3のアドレスt3を利用し、ツリー格納メモリ部3に格納されているPrefix10.34/16と比較する。ここで、検索すべきIPアドレスの上位16ビットと10.34/16が一致しているため、IPアドレスの上位17ビット目が0であるか、1であるかを調べる。ここでは0であるため、ツリー格納メモリ部3に格納されているツリー情報を用いて、ノード10.34.12/22に移る。このノードにおいても同様に比較を行う。比較の結果は一致するが、子ノードがないためにここで検索を終了する。求めたアドレスi2を用いてNext Hop情報格納メモリ部4へアクセスし、Xという情報をNext Hop情報格納メモリ部4から取り出して、これを図1の出力線15を通して出力する。
【0020】
図9は、Multiwayツリーを本発明に適用する方法の具体例を示す説明図である。
図9(a)が本発明を適用していない場合のMultiwayツリーの一部であり、図9(b)が本発明を適用した場合のMultiwayツリーの一部で、図9(a)に対応するツリーである。
図9(a)(b)では、4ビット分、つまり1つの親ノードから最大16個の子ノードを持たせ、CAMの区切り位置をPrefix長4とする。例えば、4ビット分の子ノードを持たせたならば、CAMの区切り位置をPrefix長12で初めて区切るというように区切り位置を4の倍数にするように位置決めする。つまり、子ノードが存在する位置でCAMの区切り位置を決める。
ルーティングテーブルからMultiwayツリーを作り、CAMの区切り位置に存在する子ノードをCAMに格納する。検索は、図1に示す1段目処理部1の出力により、その結果に対応する範囲に区切られた所に存在するノード(図9では、0011/4)から検索を行う。
【0021】
本発明においては、(イ)ルーティングテーブルにエントリされている全てのPrefixをPrefix長により決められた範囲にそれぞれ分けて、分けられたPrefixをその範囲の中で最も小さいPrefix長へ短縮したPrefixをCAMに格納するため、CAMに格納すべきPrefixを少なくすることができ、必要なCAMのメモリ容量を減少させることができる。
また、(ロ)1段目でCAMを用いて得られる答えとなるPrefixは、入力されたIPアドレスとCAMに格納されているPrefixとを比較し、入力されたIPアドレスと一致するPrefixの中で最も長いPrefix長を持つPrefixとするため、2段目のツリーでの検索は、そのPrefixが含まれていたPrefix長の範囲よりも大きいPrefix長で検索しても、最長一致Prefixが存在する可能性がないため、ツリーの途中のノードから検索を開始し、限られた範囲内で検索を行うことで、最長一致Prefixを求めることができるので、検索回数を制限することが可能であり、その結果、高速にルーティングテーブルの検索を行える。
【0022】
【発明の効果】
以上説明したように、本発明によれば、必要なCAMのメモリ容量を減少させることができ、またツリーの途中のノードから検索を開始し限られた範囲内で検索を行うことで最長一致Prefixを求めることができるので、検索回数を制限することができ、高速にルーティングテーブルの検索を実施することができる。
【図面の簡単な説明】
【図1】本発明の一実施例を示すルーティングテーブル検索装置のブロック図である。
【図2】従来におけるCAMを用いたルーティングテーブル検索法の説明図である。
【図3】従来におけるパトリシアツリーを用いたルーティングテーブル検索法の説明図である。
【図4】従来におけるMultiwayツリーを用いたルーティングテーブケ検索法の説明図である。
【図5】図1における1段目処理部の詳細ブロック図である。
【図6】図5におけるCAM処理部の詳細ブロックの例を示す図である。
【図7】図6におけるCAMに格納するPrefix例を示す図である。
【図8】本発明のパトリシアツリーとメモリの関係を示す説明図である。
【図9】Multiwayツリーに本発明の方式を適用させた場合の例を示す説明図である。
【符号の説明】
1…1段目処理部、2…2段目処理部、3…ツリー格納メモリ部、
4…Next Hop情報格納メモリ部、11…入力線、15…出力線、
12,13,14…信号線、22…CAM処理部、
16−1…Prefix長8のPrefixを格納するCAM、
16−2…Prefix長9のPrefixを格納するCAM、
16−25…Prefix長25のPrefixを格納するCAM、
17…Priority Encoder、
21…Priority Encoder、30−1〜31−N…信号線、
20−1…Prefix長8〜15のPrefixをPrefix長8に短縮したPrefixを格納するCAM、20−2…同じくPrefix長16〜23のPrefixを16に短縮したPrefixを格納するCAM、
20−3…同じくPrefix長24〜32のPrefixをPrefix長24へ短縮したPrefixを格納するCAM。
Claims (3)
- IPパケットの宛先IPアドレスから、ルーティングテーブル内のPrefixの中で最長一致のPrefixを検索し、Next Hop情報あるいはNext Hop情報を持つ他テーブルへのIndex情報を求めるルーティングテーブル検索装置において、
前記ルーティングテーブルにエントリされている全PrefixをPrefix長により決められた複数の範囲にそれぞれ分け、分けられたPrefixをその範囲の中で最も小さいPrefix長へ短縮したPrefixを前記Prefix長毎に設けた複数のContent Address Memory(CAM)に格納し、
検索すべき宛先IPアドレスを前記CAMの全てに入力すると、該CAMに格納されているPrefixと前記宛先IPアドレスの上位Prefix長ビット分とを比較し、一致したPrefixのうち最長のPrefix長を持つCAMからのPrefixを答えとして、2段目処理部に移る1段目処理部と、
ツリーが配置され、該ツリーの途中にあり、前記1段目処理部で一致したCAMの出力に該当するノードに検索処理が移ると、該ツリーの限定された範囲内で検索を行い、検索が終了した時点でNext Hop情報あるいはNext Hop情報を持った他テーブルへのPrefix情報を最終結果として出力する2段目処理部とを具備したことを特徴とするルーティングテーブル検索装置。 - IPパケットの宛先IPアドレスから、ルーティングテーブル内のPrefixの中で最長一致のPrefixを検索し、Next Hop情報あるいはNext Hop情報を持つ他テーブルへのIndex情報を求めるルーティングテーブル検索法において、
検索を2段に分けて行い、1段目の処理では、ルーティングテーブルにエントリされている全PrefixをPrefix長により決められた複数の範囲にそれぞれ分け、分けられたPrefixをその範囲の中で最も小さいPrefix長へ短縮したPrefixをPrefix長毎に設けた複数のCAMに格納し、
検索すべき宛先IPアドレスを前記全てのCAMに入力し、該宛先IPアドレスの上位Prefix長ビット分とCAMに格納されているPrefixとを比較し、
比較の結果、一致したPrefixのうち最も長いPrefix長を持つCAMからのPrefixを答えとし、そのPrefixに対応するツリーのノードを格納しているメモリのアドレスを1段目処理部から出力することを特徴とするルーティングテーブル検索法。 - 請求項2に記載のルーティングテーブル検索法において、
前記2段の検索の中の2段目の処理では、検索すべき宛先IPアドレスと1段目処理部から出力されたアドレスを読み込み、
1段目処理部から出力された該アドレスに対応するツリーの途中にあるノードの情報を、2段目処理部のツリーを格納しているメモリから読み込み、
該ノードから検索を開始し、ツリーに決められたルールに従って検索を行い、
1段目処理部のCAMで一致したPrefixが含まれていた範囲のPrefix長の範囲内で該ツリーを検索し、
該ツリーの検索終了時点で、Next Hop情報あるいはNext Hop情報を持つ他テーブルへのIndex情報を最終結果として出力する
ことを特徴とするルーティングテーブル検索法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17047999A JP3569802B2 (ja) | 1999-06-17 | 1999-06-17 | ルーティングテーブル検索装置および検索法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17047999A JP3569802B2 (ja) | 1999-06-17 | 1999-06-17 | ルーティングテーブル検索装置および検索法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000358064A JP2000358064A (ja) | 2000-12-26 |
JP3569802B2 true JP3569802B2 (ja) | 2004-09-29 |
Family
ID=15905720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17047999A Expired - Lifetime JP3569802B2 (ja) | 1999-06-17 | 1999-06-17 | ルーティングテーブル検索装置および検索法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3569802B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107896193A (zh) * | 2017-12-29 | 2018-04-10 | 湖南恒茂高科股份有限公司 | 一种交换机的查找表的创建方法、查找方法及查找表 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3587159B2 (ja) | 2000-10-25 | 2004-11-10 | 日本電気株式会社 | 衛星通信システム及びそれに用いるルーティング方法 |
US6925503B2 (en) * | 2001-07-27 | 2005-08-02 | International Business Machines Corporation | Method and system for performing a longest prefix match search |
KR100541846B1 (ko) * | 2002-11-27 | 2006-01-11 | 한국전자통신연구원 | 3 단계 테이블로 구성된 아이피 주소 룩업 시스템 및 그방법 |
JP4336625B2 (ja) | 2004-06-17 | 2009-09-30 | 株式会社日立製作所 | パケット転送装置 |
KR100703732B1 (ko) | 2005-01-19 | 2007-04-05 | 삼성전자주식회사 | 식별 모듈의 레코드 정보를 저장하여 데이터 처리 속도를향상시키는 방법 및 장치 |
US7398278B2 (en) * | 2005-03-04 | 2008-07-08 | Nec Electronics Corporation | Prefix processing technique for faster IP routing |
US20060198379A1 (en) * | 2005-03-04 | 2006-09-07 | Nec Laboratories America, Inc. | Prefix optimizations for a network search engine |
JP6073761B2 (ja) * | 2013-08-27 | 2017-02-01 | 日本電信電話株式会社 | 検索装置および検索方法 |
-
1999
- 1999-06-17 JP JP17047999A patent/JP3569802B2/ja not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107896193A (zh) * | 2017-12-29 | 2018-04-10 | 湖南恒茂高科股份有限公司 | 一种交换机的查找表的创建方法、查找方法及查找表 |
CN107896193B (zh) * | 2017-12-29 | 2020-10-16 | 湖南恒茂高科股份有限公司 | 一种交换机及其查找表的创建方法、查找方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2000358064A (ja) | 2000-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4614946B2 (ja) | 限定サイズを有する限定数のサブデータベースに分割された転送データベースを効率的にサーチするシステムと方法 | |
US7415463B2 (en) | Programming tree data structures and handling collisions while performing lookup operations | |
US6880064B1 (en) | Method and apparatus for physical width expansion of a longest prefix match lookup table | |
US7707217B2 (en) | Trie search engines and ternary CAM used as pre-classifier | |
US7415472B2 (en) | Comparison tree data structures of particular use in performing lookup operations | |
US7286534B2 (en) | SRAM based cache for DRAM routing table lookups | |
US6792423B1 (en) | Hybrid longest prefix match and fixed match searches | |
KR100586461B1 (ko) | 파이프라인 이진 트리를 이용한 ip 어드레스 검색 방법,하드웨어 구조 및 기록매체 | |
US20030091043A1 (en) | Methods and systems for fast packet forwarding | |
WO2003069509A2 (en) | Efficient ipv4/ipv6 best matching prefix method and apparatus | |
JP4995125B2 (ja) | 固定長データの検索方法 | |
Le et al. | Scalable tree-based architectures for IPv4/v6 lookup using prefix partitioning | |
US6804230B1 (en) | Communication device with forwarding database having a trie search facility | |
JP3881663B2 (ja) | フィールドレベルツリーを用いたパケット分類装置及び方法 | |
JP3569802B2 (ja) | ルーティングテーブル検索装置および検索法 | |
US20040044868A1 (en) | Method and apparatus for high-speed longest prefix match of keys in a memory | |
US7478109B1 (en) | Identification of a longest matching prefix based on a search of intervals corresponding to the prefixes | |
US7035844B2 (en) | FFS search and edit pipeline separation | |
CN112818185A (zh) | 一种基于sram的最长前缀匹配硬件系统查找的方法 | |
US7570644B2 (en) | Routing method for a telecommunications network and router for implementing said method | |
KR100378599B1 (ko) | 주소 메모리 블록의 간섭 인덱싱에 기반한 라우팅 테이블검색 방법 | |
JP3795881B2 (ja) | テーブル検索方法および装置 | |
JP2003500901A (ja) | 最長一致プレフィックス・ルックアップ | |
Erdem et al. | Value-coded trie structure for high-performance IPv6 lookup | |
JP4726310B2 (ja) | 情報検索装置、情報検索用マルチプロセッサおよびルータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040120 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040317 |
|
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: 20040525 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20040526 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040607 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 3569802 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080702 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090702 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100702 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110702 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120702 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130702 Year of fee payment: 9 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |