JP2000358064A - ルーティングテーブル検索装置および検索法 - Google Patents

ルーティングテーブル検索装置および検索法

Info

Publication number
JP2000358064A
JP2000358064A JP17047999A JP17047999A JP2000358064A JP 2000358064 A JP2000358064 A JP 2000358064A JP 17047999 A JP17047999 A JP 17047999A JP 17047999 A JP17047999 A JP 17047999A JP 2000358064 A JP2000358064 A JP 2000358064A
Authority
JP
Japan
Prior art keywords
prefix
cam
tree
address
search
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP17047999A
Other languages
English (en)
Other versions
JP3569802B2 (ja
Inventor
Masanori Uga
雅則 宇賀
Kohei Shiomoto
公平 塩本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP17047999A priority Critical patent/JP3569802B2/ja
Publication of JP2000358064A publication Critical patent/JP2000358064A/ja
Application granted granted Critical
Publication of JP3569802B2 publication Critical patent/JP3569802B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】ルーティングテーブル検索の回数とメモリ量を
低減し、高速検索する。 【解決手段】検索を2段に分けて行い、1段目処理部1
でCAMを用いて1回目の検索を行い、2段目処理部2
にツリーを配置して2回目の検索を行う。テーブルにエ
ントリされている全てのPrefixをPrefix長
で決められた範囲に分け、そのPrefixをその範囲
中で最小のPrefix長に短縮したPrefixをC
AMに格納する。1段目処理部1では入力IPアドレス
とCAMに格納されたPrefixを比較し、一致した
ときそのPrefixに対応するツリー格納メモリ部3
のアドレスを出力する。ツリーの途中にあるCAMの出
力に該当するノードに移り、限定された範囲内で検索
し、検索終了時にNextHop情報格納メモリ4の情
報を最終的結果として出力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、高速かつ大容量の
ルーティングテーブル検索法に関し、特に検索回数を制
限することができ、高速にルーティングテーブルを検索
することが可能なルーティング検索法に関する。
【0002】
【従来の技術】従来のCAM(Content Add
ressable Memory)を用いたルーティン
グテーブル検索法について説明する。図2は、CAMを
用いた従来のルーティングテーブル検索法の動作説明図
である。図2に示すように、Prefix長毎にCAM
16−1〜16−25を用意して、ルーティングテーブ
ル上のPrefixをそのPrefix長と対応するC
AMに格納する。すなわち、Prefix長8のPre
fixであればCAM(8)16−1に格納し、Pre
fix長9のPrefixであればCAM(9)16−
2に格納し、同じようにしてPrefix長32のPr
efixであればCAM(32)16−25に格納す
る。検索を行う際には、検索すべき宛先IPアドレスを
全CAM16−1〜16−25に入力する。Prefi
x長pに対応するCAMに入力された宛先IPアドレス
は、宛先IPアドレスの上位pビット分とCAMが格納
しているPrefixとを比較し、一致した場合、CA
MはNext Hopの情報あるいはNext Hop
の情報を持った他テーブルへのIndex情報を出力す
る。なお、複数のCAMで一致した場合には、Prio
rity Encoder17で最も長いPrefix
を格納しているCAMからの出力を選択する。図2の方
式では、ルーティングテーブルにあるPrefix自身
を全てCAMに格納しなければならず、その結果、多く
のメモリ量が必要になるという問題があった。
【0003】図3は、パトリシアツリーを用いた従来の
ルーティングテーブル検索法の説明図である。図3に示
す検索法では、各ノード31〜34はそれぞれPref
ixとそのノードのPrefix長を持っている。ある
ノードに検索すべきIPアドレスが到達した場合、その
ノードが示すPrefixと宛先IPアドレスの上位P
refix長ビット目までを比較する。比較の結果、一
致しない場合には、直前に一致したノードに対応するテ
ーブルが持つNext Hopの情報を求める情報とし
て検索を終了し、一致した場合には、そのノードに対応
するテーブルが持つNext Hopの情報を読み込
み、記録する。次に、宛先IPアドレスの上位Pref
ix長+1ビット目を参照し、その値により子ノードが
存在する場合には子ノードに移り、検索を続行し、一
方、子ノードが存在しない場合には、検索を終了し、記
録したNext Hopの情報を求める情報とする。図
3では、例えば、10000101・・・という宛先I
Pアドレスが入力されたとき、先ずルートノード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)であって、区切った段(Pre
fix長が3の倍数の段)上に存在しない有効ノード
(図中でA,B,E,F,D)はPrefixを伸長し
て必要なだけエントリを配置する。例えばノードD(0
011)を6ビットへ伸長する場合、001100、0
01101、001110、001111の4つのエン
トリを持つことになる。
【0005】Multiwayツリーの検索は、例えば
1つの親ノードに最大E個(≧3、図ではE=8)の複
数の子ノードを持たせるとすると、ノードが持つPre
fixとIPアドレスの上位Prefix長ビット目ま
でを比較し、一致した場合には、IPアドレスの上位P
refix長+1ビット目から上位Prefix長+l
og2Eビット目までを見て、対応する子ノードがあれ
ば移り、検索を続行する。対応する子ノードがなかった
場合、またノードで比較した時に一致しなかった場合に
は、検索を終了し、直前に一致したノードに対応するテ
ーブルが持つNext Hop情報を求める情報として
検索を終了する。この方式では、1つの同じPrefi
xを表わすために、複数のノードがより多く必要となる
場合があり(図4におけるノードD等)、メモリを浪費
してしまうという問題があった。1つの親ノードが持つ
子ノードの数を増やすほどアクセス回数を減らすことが
できるが、IPアドレスに割り当てられるビット数(I
Pv4の時は32ビット、IPv6の時は128ビッ
ト)が増加すると、木の深さが深くなり、必要なメモリ
量が増加し、現実的なメモリ量を考えると、1つの親ノ
ードがあまり多くの子ノードを持つことができなくな
り、アクセス回数を減少させることが効果的に行えなく
なる、という問題があった。
【0006】
【発明が解決しようとする課題】このように、従来用い
られていたCAMを用いたルーティングテーブル検索法
では、Prefix自身を全てCAMに格納する必要が
あるため、メモリ量が多く必要になるという問題があ
り、またパトリシアツリーを用いたルーティングテーブ
ル検索法では、木の深さが深くなればなるほど検索回数
が多くなるため、検索に時間がかかるという問題があ
り、さらにMultiwayを用いたルーティングテー
ブル検索法では、IPアドレスに割り当てられるビット
数が増えると、木の深さが深くなるため、必要なメモリ
量が増加し、多くの子ノードを持てなくなり、アクセス
回数を十分に減らすことができなくなるという問題があ
った。
【0007】そこで、本発明の目的は、これら従来の課
題を解決し、ルーティングテーブルの検索に必要な検索
回数およびメモリ量を減少させ、高速かつ大容量のルー
ティングテーブル検索法を提供することにある。
【0008】
【課題を解決するための手段】上記目的を達成するた
め、本発明のルーティングテーブル検索法では、検索を
2段に分けて行い、1段目の処理ではCAMを用いて1
回目の検索を実行し、2段目にツリーを配置して2回目
の検索をツリーの限定された範囲内で検索を実行する。
そのために、ルーティングテーブルにエントリされてい
る全てのPrefixをPrefix長により決められ
た範囲にそれぞれ分け、分けられたPrefixをその
範囲の中で最も小さいPrefix長へ短縮したPre
fixを1段目のCAMに格納して、検索を開始する際
に検索すべき宛先IPアドレスをCAMに入力する。検
索すべき宛先IPアドレスが入力されたならば、CAM
に格納されているPrefixと入力された宛先IPア
ドレスの上位Prefix長ビット分とを比較し、一致
したPrefixのうち最も長いPrefix長を持つ
Prefixを答えとし、答えとして求めたPrefi
xに対応する2段目のツリーが格納されているメモリの
アドレスを1段目から出力する。2段目の処理では、検
索すべき宛先IPアドレスと1段目から出力されたアド
レスを読み込み、1段目から出力されたアドレスから、
そのアドレスに対応するツリーの途中にあるノードを、
2段目のツリーを格納しているメモリから読み込み、そ
のノードから検索を開始し、そのツリーに決められたル
ールで検索を実行し、1段目のCAMで一致したPre
fixが含まれていた範囲のPrefix長の範囲内で
ツリーを検索する。ツリーに決められたルールで検索が
終了した時、Next Hopの情報あるいはNext
Hopの情報を持つ他のテーブルへのindex情報
を最終的な結果として出力する。
【0009】本発明においては、ルーティングテーブル
にエントリされている全てのPrefixをPrefi
x長により決められた範囲に分け、分けられたPref
ixをその範囲の中で最も小さいPrefix長へ短縮
したPrefixをCAMに格納する。その結果、1段
目でCAMを用いて得られる答えとなるPrefix
は、入力されたIPアドレスとCAMに格納されている
Prefixとを比較し、入力されたIPアドレスと一
致するPrefixの中で最も長いPrefix長を持
つPrefixとするため、2段目のツリーでの検索
は、そのPrefixが含まれていたPrefix長の
範囲の中で一番長いPrefix長よりも長いPref
ix長で検索しても最長一致Prefixが存在する可
能性がないため、そのPrefixが含まれていたPr
efix長の範囲でのみ検索を行うことで、最長一致P
refixを求めることができる。検索は、ツリーの最
上段にあるノードから常に検索を開始する必要はなく、
ツリーの途中のノードから検索を開始し、限られた範囲
内で検索を行うことにより、最長一致Prefixを求
めることができる。
【0010】
【発明の実施の形態】以下、本発明の実施例を、図面に
より詳細に説明する。図1は、本発明の一実施例を示す
ルーティングテーブル検索装置のブロック図である。図
1において、0はルーティングテーブル検索部、1はC
AMを用いた検索を実施する1段目処理部、2はツリー
の限定された範囲内で検索を実施する2段目処理部、3
はツリー格納メモリ部、4はNext Hopの情報格
納メモリ部、11は入力線、15は出力線、12,1
3,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 Ho
pの情報を外部に出力する。
【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 Enco
der、11は入力線、30−1〜30−Nは各CAM
20−1〜20−Nに入力する信号線、31−1〜31
−Nは各CAM20−1〜20−Nから出力されて、P
riority Encoder21に入力される信号
線、32は入力線11から直接Priority En
coder21に接続する信号線である。CAM処理部
22は、入力線11から入力されたIPアドレスをCA
M20−1〜20−Nの全てに入力し、信号線31−1
〜31−Nを介してCAM20−1〜20−Nからの出
力をPriority Encoder21へ送出す
る。また、入力線11から入力されたIPアドレスは、
信号線32を介してPriority Encoder
21に入力される。
【0013】ルーティングテーブルにエントリされてい
る全てのPrefixを、Prefix長により決めら
れた範囲にそれぞれ分け、分けられたPrefixをそ
の範囲の中で最も小さいPrefix長へ短縮したPr
efixを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ビット)のルーティングテーブルのPref
ixをCAMに格納する場合、PrefixをPref
ix長で3つの区切り、Prefix長8〜15、Pr
efix長16〜23、Prefix長24〜32に分
けたとする。その場合、図6のCAM20−1,20−
2,20−3に示すように、それぞれの範囲のPref
ixを格納するために3つのCAMを用意し、CAM2
0−1,20−2,20−3の中には、分けられた範囲
の中で最も小さいPrefix長へ短縮したPrefi
xをそれぞれ格納する。
【0015】図7は、図6における1つのCAMへ格納
するPrefix例を示す図である。図6に示すよう
に、CAM20−1には、Prefix長の範囲8〜1
5に含まれる10.2/15、12.32/13、1
2.4/14を、この範囲の最も小さいPrefix長
8へ短縮したPrefixは10/8、12/8、12
/8となり、同じPrefixはまとめて10/8、1
2/8を格納する。このようにして、CAM20−1に
は、Prefix長8〜15のPrefixから、Pr
efix長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が格納しているPre
fixと同じPrefixがルーティングテーブル上に
存在する場合には、ルーティングテーブル上に存在する
Prefixのみツリー格納メモリ部3で保持し、保持
されたPrefixに対応するツリー格納メモリ部3の
アドレスをCAMは出力するようにしている。
【0018】図8は、パトリシアツリーとそれぞれのメ
モリの関係の具体例を示す説明図である。図8(a)に
パトリシアツリーを示し、図8(b)〜(d)にこのパ
トリシアツリーに対応するCAM、ツリー格納情報メモ
リ部3、Next Hopの情報格納メモリ部4を示し
ている。ツリー格納メモリ部3の他情報は、ツリーを用
いて検索を行うための情報が入っている。それぞれ1
0.0/9、10.34、12/22はルーティングテ
ーブル上に存在するPrefixであり、これらのPr
efixを持つノードはNext Hopの情報を持
ち、また10.32/14を持つノードはパトリシアツ
リー上の中継ノードであって、Next Hopの情報
を持たず、また10.34/16は10.34.12/
22をPrefix長16へ短縮したPrefixであ
り、CAMにも格納されている。10.34/16がル
ーティングテーブル上に存在しないので、Next H
opの情報を持っていないからNext Hopの情報
を持つ親ノードを探す。しかし、10.34/16の親
ノード(10.32/14)がNext Hopの情報
を持っていないため、その親ノード(10.0/9)が
持つNext Hopの情報を10.34/16のNe
xt 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に格納されているツリー情報を用いて、ノード1
0.34.12/22に移る。このノードにおいても同
様に比較を行う。比較の結果は一致するが、子ノードが
ないためにここで検索を終了する。求めたアドレスi2
を用いてNext Hop情報格納メモリ部4へアクセ
スし、Xという情報をNext Hop情報格納メモリ
部4から取り出して、これを図1の出力線15を通して
出力する。
【0020】図9は、Multiwayツリーを本発明
に適用する方法の具体例を示す説明図である。図9
(a)が本発明を適用していない場合のMultiwa
yツリーの一部であり、図9(b)が本発明を適用した
場合のMultiwayツリーの一部で、図9(a)に
対応するツリーである。図9(a)(b)では、4ビッ
ト分、つまり1つの親ノードから最大16個の子ノード
を持たせ、CAMの区切り位置をPrefix長4とす
る。例えば、4ビット分の子ノードを持たせたならば、
CAMの区切り位置をPrefix長12で初めて区切
るというように区切り位置を4の倍数にするように位置
決めする。つまり、子ノードが存在する位置でCAMの
区切り位置を決める。ルーティングテーブルからMul
tiwayツリーを作り、CAMの区切り位置に存在す
る子ノードをCAMに格納する。検索は、図1に示す1
段目処理部1の出力により、その結果に対応する範囲に
区切られた所に存在するノード(図9では、0011/
4)から検索を行う。
【0021】本発明においては、(イ)ルーティングテ
ーブルにエントリされている全てのPrefixをPr
efix長により決められた範囲にそれぞれ分けて、分
けられたPrefixをその範囲の中で最も小さいPr
efix長へ短縮したPrefixをCAMに格納する
ため、CAMに格納すべきPrefixを少なくするこ
とができ、必要なCAMのメモリ容量を減少させること
ができる。また、(ロ)1段目でCAMを用いて得られ
る答えとなるPrefixは、入力されたIPアドレス
とCAMに格納されているPrefixとを比較し、入
力されたIPアドレスと一致するPrefixの中で最
も長いPrefix長を持つPrefixとするため、
2段目のツリーでの検索は、そのPrefixが含まれ
ていたPrefix長の範囲よりも大きいPrefix
長で検索しても、最長一致Prefixが存在する可能
性がないため、ツリーの途中のノードから検索を開始
し、限られた範囲内で検索を行うことで、最長一致Pr
efixを求めることができるので、検索回数を制限す
ることが可能であり、その結果、高速にルーティングテ
ーブルの検索を行える。
【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情報格納メモリ部、1
1…入力線、15…出力線、12,13,14…信号
線、22…CAM処理部、16−1…Prefix長8
のPrefixを格納するCAM、16−2…Pref
ix長9のPrefixを格納するCAM、16−25
…Prefix長25のPrefixを格納するCA
M、17…Priority Encoder、21…
Priority Encoder、30−1〜31−
N…信号線、20−1…Prefix長8〜15のPr
efixを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)

    【特許請求の範囲】
  1. 【請求項1】 IPパケットの宛先IPアドレスから、
    ルーティングテーブル内のPrefixの中で最長一致
    のPrefixを検索し、Next Hop情報あるい
    はNext Hop情報を持つ他テーブルへのInde
    x情報を求めるルーティングテーブル検索装置におい
    て、 検索すべき宛先IPアドレスをContent Add
    ressable Memory(CAM)に入力する
    と、該CAMに格納されているPrefixと前記宛先
    IPアドレスの上位Prefix長ビット分とを比較
    し、一致したPrefixのうち最長のPrefix長
    を持つPrefixを答えとして、2段目処理部に移る
    1段目処理部と、 ツリーが配置され、該ツリーの途中にあり、前記1段目
    処理部で一致したCAMの出力に該当するノードに検索
    処理が移ると、該ツリーの限定された範囲内で検索を行
    い、検索が終了した時点でNext Hop情報あるい
    はNext Hop情報を持った他テーブルへのInd
    ex情報を最終結果として出力する2段目処理部とを具
    備したことを特徴とするルーティングテーブル検索装
    置。
  2. 【請求項2】 IPパケットの宛先IPアドレスから、
    ルーティングテーブル内のPrefixの中で最長一致
    のPrefixを検索し、Next Hop情報あるい
    はNext Hop情報を持つ他テーブルへのInde
    x情報を求めるルーティングテーブル検索法において、 検索を2段に分けて行い、1段目の処理では、ルーティ
    ングテーブルにエントリされている全PrefixをP
    refix長により決められた範囲にそれぞれ分け、分
    けられたPrefixをその範囲の中で最も小さいPr
    efix長へ短縮したPrefixをCAMに格納し、 検索すべき宛先IPアドレスをCAMに入力し、該宛先
    IPアドレスの上位Prefix長ビット分とCAMに
    格納されているPrefixとを比較し、 比較の結果、一致したPrefixのうち最も長いPr
    efix長を持つPrefixを答えとし、そのPre
    fixに対応するツリーのノードを格納しているメモリ
    のアドレスを1段目処理部から出力することを特徴とす
    るルーティングテーブル検索法。
  3. 【請求項3】 請求項2に記載のルーティングテーブル
    検索法において、 前記2段の検索の中の2段目の処理では、検索すべき宛
    先IPアドレスと1段目処理部から出力されたアドレス
    を読み込み、 1段目処理部から出力された該アドレスに対応するツリ
    ーの途中にあるノードの情報を、2段目処理部のツリー
    を格納しているメモリから読み込み、 該ノードから検索を開始し、ツリーに決められたルール
    に従って検索を行い、 1段目処理部のCAMで一致したPrefixが含まれ
    ていた範囲のPrefix長の範囲内で該ツリーを検索
    し、 該ツリーの検索終了時点で、Next Hop情報ある
    いはNext Hop情報を持つ他テーブルへのInd
    ex情報を最終結果として出力することを特徴とするル
    ーティングテーブル検索法。
JP17047999A 1999-06-17 1999-06-17 ルーティングテーブル検索装置および検索法 Expired - Lifetime JP3569802B2 (ja)

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 true JP2000358064A (ja) 2000-12-26
JP3569802B2 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 (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 단계 테이블로 구성된 아이피 주소 룩업 시스템 및 그방법
US7006462B2 (en) 2000-10-25 2006-02-28 Nec Corporation Satellite communication system and routing method using the same
JP2006246488A (ja) * 2005-03-04 2006-09-14 Nec Electronics Corp ネットワーク・ルータ、アドレス処理方法及びコンピュータ・プログラム
JP2006246489A (ja) * 2005-03-04 2006-09-14 Nec Electronics Corp データベースへのプリフィックス集合の格納方法、及びそれをコンピュータに実行させるためのプログラム
US7315547B2 (en) 2004-06-17 2008-01-01 Hitachi, Ltd. Packet forwarding device
US7801883B2 (en) 2005-01-19 2010-09-21 Samsung Electronics Co., Ltd. Method and apparatus for improving data processing speed through storage of record information of identity module
JP2015046711A (ja) * 2013-08-27 2015-03-12 日本電信電話株式会社 検索装置および検索方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107896193B (zh) * 2017-12-29 2020-10-16 湖南恒茂高科股份有限公司 一种交换机及其查找表的创建方法、查找方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7006462B2 (en) 2000-10-25 2006-02-28 Nec Corporation Satellite communication system and routing method using the same
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 단계 테이블로 구성된 아이피 주소 룩업 시스템 및 그방법
US7315547B2 (en) 2004-06-17 2008-01-01 Hitachi, Ltd. Packet forwarding device
US7801883B2 (en) 2005-01-19 2010-09-21 Samsung Electronics Co., Ltd. Method and apparatus for improving data processing speed through storage of record information of identity module
JP2006246488A (ja) * 2005-03-04 2006-09-14 Nec Electronics Corp ネットワーク・ルータ、アドレス処理方法及びコンピュータ・プログラム
JP2006246489A (ja) * 2005-03-04 2006-09-14 Nec Electronics Corp データベースへのプリフィックス集合の格納方法、及びそれをコンピュータに実行させるためのプログラム
JP2015046711A (ja) * 2013-08-27 2015-03-12 日本電信電話株式会社 検索装置および検索方法

Also Published As

Publication number Publication date
JP3569802B2 (ja) 2004-09-29

Similar Documents

Publication Publication Date Title
EP2560327B1 (en) Routing table establishment method and device
EP1168723B1 (en) Method and apparatus for longest matching prefix determination in a communication network
US7403494B2 (en) Method for generating nodes in multiway search tree and search method using the same
JP4336625B2 (ja) パケット転送装置
US6792423B1 (en) Hybrid longest prefix match and fixed match searches
US6691124B2 (en) Compact data structures for pipelined message forwarding lookups
US6618760B1 (en) Forwarding information retrieval technique
KR100586461B1 (ko) 파이프라인 이진 트리를 이용한 ip 어드레스 검색 방법,하드웨어 구조 및 기록매체
JP4995125B2 (ja) 固定長データの検索方法
WO2003069509A2 (en) Efficient ipv4/ipv6 best matching prefix method and apparatus
JP2006527526A (ja) 限定サイズを有する限定数のサブデータベースに分割された転送データベースを効率的にサーチするシステムと方法
CN105141525B (zh) IPv6路由查找方法及装置
JP2003196295A (ja) ツリー型知識ベース検索のルックアップ・パフォーマンスを向上させる方法
US6804230B1 (en) Communication device with forwarding database having a trie search facility
EP2544414A1 (en) Method and device for storing routing table entry
US7478109B1 (en) Identification of a longest matching prefix based on a search of intervals corresponding to the prefixes
JP2000358064A (ja) ルーティングテーブル検索装置および検索法
US20040044868A1 (en) Method and apparatus for high-speed longest prefix match of keys in a memory
CN112818185A (zh) 一种基于sram的最长前缀匹配硬件系统查找的方法
US7570644B2 (en) Routing method for a telecommunications network and router for implementing said method
KR100560420B1 (ko) 트라이를 이용한 인터넷 프로토콜 주소 검색 방법
KR100378599B1 (ko) 주소 메모리 블록의 간섭 인덱싱에 기반한 라우팅 테이블검색 방법
Erdem et al. Value-coded trie structure for high-performance IPv6 lookup
JP2003500901A (ja) 最長一致プレフィックス・ルックアップ
JP2000332786A (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