JP3795881B2 - テーブル検索方法および装置 - Google Patents

テーブル検索方法および装置 Download PDF

Info

Publication number
JP3795881B2
JP3795881B2 JP2003346521A JP2003346521A JP3795881B2 JP 3795881 B2 JP3795881 B2 JP 3795881B2 JP 2003346521 A JP2003346521 A JP 2003346521A JP 2003346521 A JP2003346521 A JP 2003346521A JP 3795881 B2 JP3795881 B2 JP 3795881B2
Authority
JP
Japan
Prior art keywords
node
stored
search
tree
boundary value
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
Application number
JP2003346521A
Other languages
English (en)
Other versions
JP2005117208A (ja
Inventor
雅則 宇賀
公平 塩本
勝 片山
直明 山中
研也 高島
靖明 中西
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 JP2003346521A priority Critical patent/JP3795881B2/ja
Publication of JP2005117208A publication Critical patent/JP2005117208A/ja
Application granted granted Critical
Publication of JP3795881B2 publication Critical patent/JP3795881B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明はIPルータなどのパケット転送装置に利用する。特に、パケット転送処理を行うに当たり、入力回線から入力されたパケットの宛先アドレスからパケットの次ホップルータを決定する際に使用するテーブル検索装置に関する。
従来は、IPルータなどのパケット転送装置においては、パケットヘッダに搭載された宛先アドレスを元にルーティングテーブルを検索し、次ホップルータを決定している。ルーティングテーブルには宛先アドレスと次ホップルータの関係とを保持している。
パケット転送装置で宛先アドレスを検索する規則を説明する。パケット転送装置においては、パケットヘッダに搭載された宛先アドレスを元にルーティングテーブルを検索し、次のホップ先を決定する。インターネットではCIDR(Classless Inter Domain Routing)の機構が導入されており、ルーティングテーブルの宛先アドレスは32ビットのIPアドレスとそれに対するプレフィクス長の組み合わせで表現される。ルーティングテーブルの宛先アドレスは“IPアドレス/プレフィクス長”の形式で表される。
宛先アドレスのうち、プレフィクス長で指定された長さ以降のビットに関してはDon‘t Careである。例えば、129.131.175.129/32は32ビット全てのビットがDon’t Careでない宛先アドレスであり、129.60.83/24は先頭の24ビットが有効な宛先アドレスである。パケットヘッダの宛先アドレスが129.60.83.1も129.60.83.111も同じ宛先アドレス129.60.83/24に一致する。
ルーティングテーブルはパケットヘッダの宛先アドレスをキーとして用いて検索する。ルーティングテーブルを検索する際に、CIDRでは最長一致と呼ばれるルーティングテーブル検索規則に基づく。最長一致とはキーに用いる宛先アドレスが最も長く一致するものを正解とするものである。例えば、ルーティングテーブルに宛先アドレス129.38.111/24と宛先アドレス129.38/16の二つの宛先アドレスがある場合に、129.38.111.2という宛先アドレスを持つパケットが到着した場合は、宛先アドレス129.38.111/24の方がより長い範囲で一致するので、それを正解とする。
ツリーを用いて宛先アドレスを検索する例として境界値テーブルを用いた方式を紹介する。境界値テーブルを用いたツリー検索方式とは、最長一致検索を範囲検索の問題に変換して、昇順にソートされた境界値テーブルからツリーを作成し検索を行うという方式である。図4にルーティングテーブルの例を示す。ルーティングテーブルのエントリは、IPアドレスとプレフィクス長とで指定され、それに対応する次ホップルータを表す値が存在する。
図5に、図4のルーティングテーブルを元にした宛先アドレス空間を示す。ルーティングテーブルのエントリは、IPアドレスとプレフィクス長とで指定されるため、1つのエントリは範囲で示すことができる。例えば1.2.3.*は1.2.3.0〜1.2.3.255と等価である。
図6に図4のルーティングテーブルを元にした境界値テーブルを示す。境界値テーブルでは、ルーティングテーブルの1つのエントリを始まりと終わりの2つの境界値で表し、この範囲に入った場合にルーティングテーブルの当該エントリに一致したと判断する。したがって、境界値テーブルの境界値の数は、最大でルーティングテーブルのエントリ数の2倍になる。また、ルーティングアドレス指定におけるプレフィクスの仕組みにより、各範囲はお互いに独立しているか、どちらかが相手を包含しているかの2種類の関係のみで、一部の範囲が重なるような関係はない。
図7に図6の境界値テーブルを元にした2分探索(binary search)のツリーを示す。境界値テーブルを用いたツリー検索方式は、2入力されたパケットの宛先アドレスから2分探索のツリーを用いて次ホップルータを決定するというものである。ツリーのノード上には境界値と次ホップルータを表す値とが格納されている。ツリーの検索はツリーのルート(頂点)から行い、各ノードではパケットの宛先アドレスとノードに格納されている境界値の大小の比較を行う。大小の比較によって次のノードへ順々に移っていく。ツリーの検索が終了した時点でパケットの宛先アドレスがどの範囲に入っているかを調査することで検索の回答結果となる次ホップルータが決定できる。
具体的な検索方法について図8を用いて説明する。検索すべきパケットの宛先アドレスが1.2.3.20の場合、まずツリーのルート(root:頂点)のノードで境界値と比較をする。この場合は、
1.2.3.20<1.2.3.26
なので次ノードとして左下のノードへ移る。このノードでも境界値と比較する。
1.2.3.20>1.2.3.0
なので、今度は右下のノードへ移る。ここでも同様に比較を行うと
1.2.3.20<1.2.3.25
であり、ここで検索を終了する。
パケットの宛先アドレスが含まれる範囲は、
1.2.3.0(NH=B)<1.2.3.20<1.2.3.25(NH=C)
となることがわかり、1.2.3.20の次ホップルータはBとなる。
ここで、注意すべきことは、ノードの境界値は「その境界値以上の場合、宛先アドレスの次ホップルータを表す値がそのノードが格納している次ホップルータを表す値となる」ということである。すなわち
1.2.3.0(NH=B)<X<1.2.3.25(NH=C)
の場合、Xの次ホップルータはCではなくBである。したがって、「以上」で前ノードから1.2.3.25(NH=C)のノードに到着した場合、1.2.3.25以外の値が宛先IPアドレスであれば前ノード(ここでは1.2.3.0(NH=B))に格納されている次ホップルータを表す値が解となる。
図9に具体的な検索例をもう1つ示す。今度はパケットの宛先アドレスが1.2.3.30の場合である。図8と同様に検索を行うと、
1.2.3.26(NH=B)<1.2.3.30<1.2.4.0(NH=A)
となることが分かり、パケットの宛先アドレス1.2.30の次ホップルータはBとなる。宛先アドレスが含まれる範囲を見つけるので、「未満」で前ノードから到着した場合には、1.2.4.0以外の値が宛先IPアドレスであれば、前々ノードに格納されている次ホップルータを表す値が解となる(例えば、非特許文献1参照)。
"Routing Lookups in Hardware atMemory Access Speeds" Pankaj Gupta,Steven Lin,and Nick McKeown, IEEE INFOCOMApril 1998,Vol 3,pp.1240〜1247,San Francisco インターネットURL(http://bgp.potaroo.net/)2003年7月23日検索
ツリー検索装置は、ツリーを格納するメモリと実際に検索処理を実行する装置(プロセッサ等)から成る。高速検索は高速なメモリ(プロセッサ内部のメモリ等)を利用することにより実現可能であるが、高速なメモリは高価であり容量が少ないという問題がある。現在インターネットでは宛先アドレスが32ビットのIPv4から宛先アドレスが128ビットのIPv6へ移行しつつあること、また、図10に示すように、ルーティングテーブルのエントリ数が10万エントリを超えているため、プロセッサ内部のメモリのような高速メモリではルーティングテーブルを格納しきれないという問題がある。なお、図10は、毎年増加するエントリ数を示す図であり、横軸に年代をとり、西暦の下二桁を記す。縦軸にエントリ数[Active BGP(Border Gateway Protocol) entries(FIB(Forwarding
Information Base))]をとる(非特許文献2参照)。
ルーティングテーブル検索にTCAM(Content-Addressable-Memory)を使う方法がある。TCAMとはアドレスをキーとしてアクセスするのではなく、各番地に記録された値をキーとしてアクセスすることができる記憶素子である。TCAMの各番地には“0”と“1”のバイナリ(Binary)の値だけでなく、“Don‘t Cara”も格納することができる。このようなTCAMを用いることで高速なルーティングテーブルの検索が可能となる。
TCAMでは複数のものが同時にキーとして入力されたものに一致する場合は、最も若い番地にいるものが選ばれる。TCAMを用いて最長一致検索を行う場合はプレフィクス長が長い順番にTCAMの若番地に格納する必要が有る。最低条件は同じプレフィクス部分を共有する経路同士はプレフィクス長が長いものより若い番地に格納される必要がある。TCAMの格納領域をプレフィクス長毎に分割するのが簡便なやり方である。図11はそのような領域の分け方を示すものである。129.60.83.121/31はプレフィクス長が31の領域に格納し、129.60.83.121/30は30の領域に格納する。TCAMを用いる場合は、このように並べ替えが必要となり、更新に時間がかかるという問題がある。またTCAMの容量には限界があり、TCAM自体の構造が複雑で大規模にはできない。また原理的にアドレスを同時に多く探すので、非常に大きな消費電力を要し、かつ高価であるため経済的ではない。
本発明は、このような背景に行われたものであって、IPルータなどのパケット転送装置において、ルーティングテーブルの検索を、大規模なエントリに対応して高速かつ経済的に行うことができるテーブル検索装置を提供することを目的とする。
本発明は、入力回線から入力されたIP(Internet Protocol)パケットを識別し、このパケットを出力すべき次ホップルータを決定するためにツリーを用いるテーブル検索装置である。
ここで、本発明の特徴とするところは、前記ツリーを格納するメモリ部を備え、このメモリ部は、2以上のメモリを備え、第一のメモリには、前記ツリーをそのルート(root)に相当するノードから下流に向かってN段目までの上段部分を格納し、当該第一のメモリと異なる第二のメモリには、前記N段目以降の下段部分を格納する手段を備えたところにある。
これにより、大規模なエントリを複数のメモリに分散して格納できるため、ルーティングテーブルの検索を高速かつ経済的に行うことができる。
前記第二のメモリに格納された前記下段部分のツリーを構成するノードの中で最上段のノードには、前記ルートに相当するノードから当該最上段のノードに至る前記第一のメモリに格納された前記上段部分の経路上のノードの有するアドレス情報を格納する手段を備えることができる。
これにより、前記第一のメモリに格納されるノードが保持すべき情報としては、自ノードのアドレス情報だけでよく、メモリの使用量を少なくすることができる。
検索すべき宛先アドレスに基づき、前記第一のメモリに格納された前記ツリーの上段部分を検索する第一の検索手段と、この第一の検索手段の検索結果に基づき、前記第二のメモリに格納された前記ツリーの下段部分の最上段ノードを検索する第二の検索手段と、前記検索すべき宛先アドレスがこの第二の検索手段により検索された前記最上位ノードが有するアドレス未満のときには、当該最上位ノードに格納された前記上段部分の経路上のノードの有するアドレス情報を参照し、当該検索すべき宛先アドレス以下となる最も下流のノードが有するアドレスを当該検索すべき宛先アドレスの次ホップルータのアドレスとして決定する手段とを備えることができる。
すなわち、第一のメモリに格納された上段部分のノードにおいて、従来は次ホップルータが決定可能な場合でも本発明では第二のメモリに格納された下段部分の最上位ノードまで検索を進める。そして、この最上位ノードが有する上段部分のアドレス情報に基づき次ホップルータを決定する。これにより、メモリを複数に分けてツリーを保持することが可能になる。
また、前記第一のメモリは、前記第二のメモリと比較して高速小容量であることができる。これにより、メモリを経済的に有効利用することができる。
本発明の他の観点は、情報処理装置にインストールすることにより、その情報処理装置に、本発明のテーブル検索装置の各手段に相応する機能を実現させることを特徴とするプログラムである。
本発明のさらに他の観点は、本発明のプログラムが記録された前記情報処理装置読取可能な記録媒体である。本発明のプログラムは本発明の記録媒体に記録されることにより、前記情報処理装置は、この記録媒体を用いて本発明のプログラムをインストールすることができる。あるいは、本発明のプログラムを保持するサーバからネットワークを介して直接前記情報処理装置に本発明のプログラムをインストールすることもできる。
これにより、汎用の情報処理装置を用いて、IPルータなどのパケット転送装置において、ルーティングテーブルの検索を、大規模なエントリに対応して高速かつ経済的に行うことができるテーブル検索装置を実現することができる。
本発明によれば、IPルータなどのパケット転送装置において、ルーティングテーブルの検索を、大規模なエントリに対応して高速かつ経済的に行うことができる。
本発明実施形態を図1および図2を参照して説明する。図1は本発明実施形態のテーブル検索装置の構成図である。図2は本発明実施形態におけるツリーのメモリ部への格納状態を説明するための図である。
本実施形態は、入力回線から入力されたIPパケットを識別し、このパケットを出力すべき次ホップルータを決定するためにツリーを用いるテーブル検索装置である。
ここで、本実施形態の特徴とするところは、前記ツリーの検索処理や更新処理を行う処理部1と、前記ツリーを格納するメモリ部とを備え、このメモリ部は、図1に示すように、内部メモリ2と外部メモリ3とを備え、図2に示すように、内部メモリ2には、前記ツリーをそのルート(root)に相当するノードから下流に向かってN段目までの上段部分を格納し、外部メモリ3には、前記N段目以降の下段部分を格納する手段を備えたところにある。
外部メモリ3に格納された前記下段部分のツリーを構成するノードの中で最上段のノードには、前記ルートに相当するノードから当該最上段のノードに至る内部メモリ2に格納された前記上段部分の経路上のノードの有するアドレス情報を格納する手段を備える。
処理部1は、検索すべき宛先アドレスに基づき、内部メモリ2に格納された前記ツリーの上段部分を検索する第一の検索手段と、この第一の検索手段の検索結果に基づき、外部メモリ3に格納された前記ツリーの下段部分の最上段ノードを検索する第二の検索手段と、前記検索すべき宛先アドレスがこの第二の検索手段により検索された前記最上位ノードが有するアドレス未満のときには、当該最上位ノードに格納された前記上段部分の経路上のノードの有するアドレス情報を参照し、当該検索すべき宛先アドレス以下となる最も下流のノードが有するアドレスを当該検索すべき宛先アドレスの次ホップルータのアドレスとして決定する手段とを備える。なお、内部メモリ2は、外部メモリ3と比較して高速小容量である。
また、本発明は、汎用の情報処理装置にインストールすることにより、その情報処理装置に本発明のテーブル検索装置の各手段に相応する機能を実現させるプログラムとして実現することができる。このプログラムは、記録媒体に記録されて情報処理装置にインストールされ、あるいは通信回線を介して情報処理装置にインストールされることにより当該情報処理装置に、テーブル検索装置の各手段に相応する機能を実現させることができる。
以下、本発明の実施例を説明する。
本実施例のテーブル検索装置は、図1のように検索処理や各ツリーの更新処理を行う処理部1と、高速小容量の内部メモリ2と低速大容量の外部メモリ3とからなる。処理部1は入力されたパケットの宛先アドレスを読み込み、その宛先アドレスを検索キーとして検索を行う。まずは内部メモリ2からツリーの上段部分に存在するノードの情報を取り出し、宛先アドレスと比較を行っていく。
上段部分の検索終了後、次に検索を行う外部メモリ3からツリーの下段部分に存在するノードの情報を取り出し宛先アドレスと比較を行っていく。最終的にツリーの検索が終了した時点で解として入力されたパケットの次ホップルータを表す値を返す。
図2はツリー情報の格納例を示す。本例では、ツリーのN段目(Nは正数)までを内部メモリ2に、N+1段目以降を外部メモリ3に格納している。図3に、図7に示したツリーを2段目で切り、1から2段目までを内部メモリ2に、3段目以降を外部メモリ3に格納した例を示す。ここでは説明を簡単にするために段数は小さくしているが、実際には内部メモリ2の容量に応じて切る段数を決定することになる。
図3は本発明実施例を論理的に説明するための図である。内部メモリ2には次ホップノードあるいは次ホップルータを表す値を入れずに、外部メモリ3に格納されている下段のツリーの最上段ノード(本例では3段目)に、このノード自身の次ホップノードあるいは次ホップルータを表す値と上段ツリーの次ホップノードを表す値とを格納する。1.2.3.25(NH=C)のノードにはそのノードの直上のノードである1.2.3.0(NH=B)を次ホップノードとすることを示す値であるBも格納する。1.2.6.0(NH=A)のノードも同様に直上のノードの1.2.5.0(NH=D)を次ホップノードとすることを示す値であるDも格納する。1.2.4.0(NH=A)は直上ではなく2つ上のノード1.2.3.26(NH=B)を次ホップノードとすることを示す値であるBも格納する。
このように直上ノードあるいは2つ上のノードの次ホップノードを表す値を、外部メモリ3に格納されている下段のツリーの最上段ノードに格納する。前述した境界値テーブルからツリーを用いた検索を行う場合の説明のとおり、「以下」で前ノードからあるノードに到着し検索が終了した場合は、到着したノードが格納している境界値の値が宛先IPアドレスでなければ前ノードに格納されている次ホップルータを表す値が解となる。
したがって、そのノードに前ノードの次ホップルータを表す値を入れておけば、前ノードに次ホップルータを表す値を入れなくても検索を行うことができる。同様に「未満」で前ノードから到着した場合には、到着したノードが格納している境界値の値が宛先IPアドレスでなければ、前々ノードに格納されている次ホップルータを表す値が解となる。したがって、そのノードに前々ノードの次ホップルータを表す値を入れておけば、前々ノードに次ホップルータを表す値を入れなくても検索を行うことができる。
このように内部メモリ2内に次ホップノードあるいは次ホップルータを表す値を入れないことで、1つのエントリが使用する内部メモリ量を削減することにより、内部メモリにより多くのエントリを格納することが可能となる。
本発明は、IPルータなどのパケット転送装置において、ツリーを用いたルーティングテーブルの検索を、大規模なエントリに対応して高速かつ経済的に実現することができる。これにより、IPネットワークに収容可能なユーザ端末数の増大に対応することができ、需要拡大に対応できる。
本発明実施形態のテーブル検索装置の構成図。 本発明実施形態におけるツリーのメモリ部への格納状態を説明するための図。 本発明実施例を論理的に説明するための図。 ルーティングテーブルの一例を示す図。 宛先アドレス空間を示す図。 ルーティングテーブルと境界値テーブルとの関係を示す図。 図6の境界値テーブルを元にした2分探索(binary search)のツリーを示す図。 ツリー検索手順を説明するための図。 ツリー検索手順を説明するための図。 毎年増加するエントリ数を示す図。 TCAMを説明するための図。
符号の説明
1 処理部
2 内部メモリ
3 外部メモリ

Claims (4)

  1. アドレスの境界値がそれぞれ格納されたノードからなるツリーをルーティングテーブルとして用い、入力回線から入力されたパケットの宛先アドレスと各ノードに格納された境界値とを比較してツリーをたどることにより、そのパケットを転送すべき次ホップルータを検索するテーブル検索方法において、
    ツリーのN+1段目(Nは正数)以降の各ノードに、前記宛先アドレスとの比較を行うための境界値に加え、そのノードに到着して検索が終了した場合にパケットを転送すべき次ホップルータを表す値として、そのノードに到着するまでの条件によって、そのノードの前段または前々段のノードの境界値に関連する値を格納しておき、
    N+1段目以降のノードで検索が終了した時点で、前記宛先アドレスがそのノードに格納されているそのノードの境界値に等しい場合には、その境界値により表されるルータを、そうでない場合には、そのノードに格納されているそのノードの前段または前々段のノードの境界値に関連する値により表されるルータを次ホップルータとして決定する
    ことを特徴とするテーブル検索方法。
  2. アドレスの境界値がそれぞれ格納されたノードからなるツリーがルーティングテーブルとして格納されたメモリ部と、
    入力回線から入力されたパケットの宛先アドレスと各ノードに格納された境界値とを比較してツリーをたどって、そのパケットを転送すべき次ホップルータを検索する処理手段と
    を備え、
    前記メモリ部は、前記ツリーをその頂点に相当するノードから下流に向かってN段目(Nは正数)までの上段部分を格納する第一のメモリと、この第一のメモリより大きい容量で前記ツリーのN+1段目以降の下段部分を格納する第二のメモリとを含む
    テーブル検索装置において、
    前記第二のメモリには、各ノードに対して、前記宛先アドレスとの比較を行うための境界値に加え、そのノードに到着して検索が終了した場合にパケットを転送すべき次ホップルータを表す値として、そのノードに到着するまでの条件によって、そのノードの前段または前々段のノードの境界値に関連する値が格納され、
    前記処理手段は、N+1段目以降のノードで検索が終了した時点で、前記宛先アドレスがそのノードに格納されているそのノードの境界値に等しい場合には、その境界値により表されるルータを、そうでない場合には、そのノードに格納されているそのノードの前段または前々段のノードの境界値に関連する値により表されるルータを次ホップルータとして決定する
    ことを特徴とするテーブル検索装置。
  3. 情報処理装置にインストールすることにより、その情報処理装置に、請求項記載のテーブル検索方法の各ステップを実行させることを特徴とするプログラム。
  4. 請求項記載のプログラムが記録された前記情報処理装置読み取り可能な記録媒体。
JP2003346521A 2003-10-06 2003-10-06 テーブル検索方法および装置 Expired - Fee Related JP3795881B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003346521A JP3795881B2 (ja) 2003-10-06 2003-10-06 テーブル検索方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003346521A JP3795881B2 (ja) 2003-10-06 2003-10-06 テーブル検索方法および装置

Publications (2)

Publication Number Publication Date
JP2005117208A JP2005117208A (ja) 2005-04-28
JP3795881B2 true JP3795881B2 (ja) 2006-07-12

Family

ID=34539414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003346521A Expired - Fee Related JP3795881B2 (ja) 2003-10-06 2003-10-06 テーブル検索方法および装置

Country Status (1)

Country Link
JP (1) JP3795881B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007028561A (ja) * 2005-07-12 2007-02-01 Skipper Wireless Kk アクティブルーティングアンテナを提供するための方法及びシステム
US9049157B1 (en) * 2009-08-16 2015-06-02 Compass Electro-Optical Systems Ltd Method and device for improving scalability of longest prefix match
JP5016657B2 (ja) * 2009-11-12 2012-09-05 日本電信電話株式会社 ネクストホップ検索装置、ネクストホップ検索方法およびプログラム
JP5519257B2 (ja) * 2009-12-10 2014-06-11 Necエンジニアリング株式会社 データ転送装置

Also Published As

Publication number Publication date
JP2005117208A (ja) 2005-04-28

Similar Documents

Publication Publication Date Title
US7286534B2 (en) SRAM based cache for DRAM routing table lookups
Huang et al. A novel IP-routing lookup scheme and hardware architecture for multigigabit switching routers
US7433871B2 (en) Efficient ipv4/ipv6 best matching prefix method and apparatus
US6985483B2 (en) Methods and systems for fast packet forwarding
US6633548B2 (en) Method and apparatus for ternary content addressable memory (TCAM) table management
US6778984B1 (en) Flexible and high-performance packet classification algorithm
US7260096B2 (en) Method and router for forwarding internet data packets
US20040255045A1 (en) IP address lookup method and hardware architecture using hashing
Bando et al. FlashTrie: beyond 100-Gb/s IP route lookup using hash-based prefix-compressed trie
US8848707B2 (en) Method for IP longest prefix match using prefix length sorting
US6804230B1 (en) Communication device with forwarding database having a trie search facility
US7624226B1 (en) Network search engine (NSE) and method for performing interval location using prefix matching
JP3795881B2 (ja) テーブル検索方法および装置
JP3569802B2 (ja) ルーティングテーブル検索装置および検索法
Lim et al. Binary searches on multiple small trees for IP address lookup
Lim et al. NXG06-1: An efficient IP address lookup algorithm using a priority trie
EP1657859B1 (en) Protocol speed increasing device
US7570644B2 (en) Routing method for a telecommunications network and router for implementing said method
JP3660311B2 (ja) テーブル検索装置および方法およびプログラムおよび記録媒体
JP2005051650A (ja) テーブル検索装置
EP3319279B1 (en) Ip routing lookup
Erdem et al. Value-coded trie structure for high-performance IPv6 lookup
KR100378599B1 (ko) 주소 메모리 블록의 간섭 인덱싱에 기반한 라우팅 테이블검색 방법
SE9902175D0 (sv) Arrangement, system and method relating to datacommunication
US6788695B1 (en) System and method capable of carrying out high-speed IP routing by the use of a binary tree comprising a reduced number of nodes

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060310

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: 20060411

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060413

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090421

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100421

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110421

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees