(57)【要約】【課題】ＴＣＡＭを用いて常時高速に経路テーブルの検索を行う。【解決手段】宛先アドレス条件の上位ビットを設定する第１のＣＡＭエントリ１２０−１と、宛先アドレス条件の下位ビットを設定する第２ＣＡＭエントリ１２０−２とを含むＣＡＭ１２０と、入力されたパケットの宛先アドレスの上位ビットと、第１のＣＡＭエントリとを比較して、一致する宛先アドレス条件を検索する第１の検索処理部と、この検索結果から前記パケットの宛先アドレス上位ビットに対応する宛先アドレス条件が一意に定まらない場合には、パケットの宛先アドレス下位ビットと第２のＣＡＭエントリとを比較して、一致する宛先アドレス条件を検索する第２の検索処理部と、第１の検索処理部または第２の検索処理部で検索したパケットの宛先アドレスと一意に対応する宛先アドレス条件に基づいて、パケットの転送情報を設定する。【選択図】図４
2006005636.tif 000002
【特許請求の範囲】
【請求項１】
パケットを入力する入力回線と、
パケットを出力する複数の出力回線と、
宛先アドレスのビット毎に一致条件を指定した宛先アドレス条件と、宛先アドレス条件毎に転送情報を設定した経路エントリを複数備えて、前記入力回線へ入力されたパケットの宛先アドレスに一致する前記宛先アドレス条件を検索し、前記宛先アドレス条件に一致したパケットの転送先を、当該宛先アドレス条件に対応する転送情報に設定する経路テーブル検索部と、
前記転送情報に対応する前記複数の出力回線のいずれかに前記パケットを転送するパケット転送部と、
を備えたパケット転送装置において、
前記経路テーブル検索部は、
前記宛先アドレス条件の上位ビットを設定する第１のＴＣＡＭエントリを有するＴＣＡＭと、
前記入力されたパケットの宛先アドレスの上位ビットと、前記第１のＴＣＡＭエントリとを比較して、一致する宛先アドレス条件を検索する第１の検索処理部と、
前記検索の結果から前記パケットの宛先アドレス上位ビットに対応する宛先アドレス条件が一意に定まらない場合には、前記パケットの宛先アドレス下位ビットに基づいて一致する宛先アドレス条件を検索する第２の検索処理部と、
前記第１の検索処理部または第２の検索処理部で検索した前記パケットの宛先アドレスと一意に対応する宛先アドレス条件に基づいて、前記パケットの転送情報を設定する転送情報設定部と、
を備えたことを特徴とするパケット転送装置。
【請求項２】
前記ＴＣＡＭは、
前記宛先アドレス条件の上位ビットを設定する第１のＴＣＡＭエントリと、前記宛先アドレス条件の下位ビットを設定する第２のＴＣＡＭエントリと、を含む複数の領域を有し、
前記第２の検索処理部は、
前記第１の検索処理部の検索結果から前記パケットの宛先アドレス上位ビットに対応する宛先アドレス条件が一意に定まらない場合には、前記パケットの宛先アドレス下位ビットと前記第２のＴＣＡＭエントリとを比較して、一致する宛先アドレス条件を検索することを特徴とする請求項１に記載のパケット転送装置。
【請求項３】
前記宛先アドレス条件は、前記宛先アドレスの上位ビットをビット毎に’０’または’１’に設定するプリフィックス部と、宛先アドレスの下位ビットを指定しないことを示すマスク部とを備え、
前記プリフィックス部のビット長が、前記第１のＴＣＡＭに設定可能なビット長を超える場合には、前記第２のＴＣＡＭにプリフィックス部の下位ビットを設定し、
前記第１の検索処理部は、前記宛先アドレスの上位ビットと一致する前記プリフィックス部のうち、より長いプリフィックス部の第１のＴＣＡＭエントリを、前記パケットの宛先アドレスと一致する宛先アドレス条件として選択することを特徴とする請求項２に記載のパケット転送装置。
【請求項４】
前記経路テーブル検索部は、
前記第１の検索処理部または第２の検索処理部は検索結果の宛先アドレス条件に対応するテーブルアドレス毎に転送情報を設定した検索結果保持テーブルと、
前記検索結果保持テーブルのテーブルアドレスを設定した最終テーブルアドレス設定部と、前記第１の検索処理部の検索の後、第２の検索処理部において検索を行う必要があるか否かを示す識別子としての検索継続情報を設定した検索継続情報設定部と、前記第１のＴＣＡＭエントリと一意に対応するキー情報を設定したキー情報設定部と、を前記第１の検索処理部の検索結果に応じて設定した第１の検索中間テーブルと、を備え、
前記第１の検索処理部は、前記パケットの宛先アドレス上位ビットと第１のＴＣＡＭエントリを比較して、当該検索結果に対応する前記第１の検索中間テーブルから検索継続情報を取得し、当該検索継続情報が第２の検索処理部での検索が不要のときには、前記最終テーブルアドレス設定部のテーブルアドレスから前記検索結果保持テーブルを参照して転送情報を設定する一方、前記検索継続情報が第２の検索処理部での検索が必要のときには、前記キー情報と宛先アドレス下位ビットに基づいて、前記第２の検索処理部での検索を実行することを特徴とする請求項３に記載のパケット転送装置。
【請求項５】
前記第２の検索処理部での検索の結果、プリフィックス部のビット長が前記第１の検索処理部で一致した宛先アドレス条件よりも長い宛先アドレス条件が存在しない場合には、前記第１の検索処理部における検索結果に対応するテーブルアドレスに基づいて、前記検索結果保持テーブルから転送情報を取得して前記パケットに設定することを特徴とする請求項４に記載のパケット転送装置。
【請求項６】
前記経路テーブル検索部が、前記宛先アドレス条件の上位ビットのビット長を設定するアドレス境界蓄積部を備え、このビット長に基づいて前記宛先アドレス条件の上位ビットを設定することを特徴とする請求項１乃至５のいずれかひとつに記載のパケット転送装置。
【請求項７】
第１及び第２のＴＣＡＭエントリは、それぞれ上位ビットまたは下位ビットのいずれであるかを識別するビット位置情報を含むことを特徴とする請求項３に記載のパケット転送装置。
【請求項８】
パケットを入力する入力回線と、
パケットを出力する複数の出力回線と、
宛先アドレスのビット毎に一致条件を指定した宛先アドレス条件と、宛先アドレス条件毎に転送情報を設定した経路エントリを複数備えて、前記入力回線へ入力されたパケットの宛先アドレスに一致する前記宛先アドレス条件を検索し、前記宛先アドレス条件に一致したパケットの転送先を、当該宛先アドレス条件に対応する転送情報に設定する経路テーブル検索部と、
前記転送情報に対応する前記複数の出力回線のいずれかに前記パケットを転送するパケット転送部と、
を備えたパケット転送装置において、
前記経路テーブル検索部は、
前記宛先アドレス条件の上位ビットを順次設定する第１のＴＣＡＭエントリと、前記宛先アドレス条件の下位ビットを所定の長さでＭ−１個に分割して設定する第２〜第ＭのＴＣＡＭエントリと、を含む複数の領域を有するＴＣＡＭと、
前記入力されたパケットの宛先アドレスの上位ビットと、前記第１のＴＣＡＭエントリとを比較して、一致する宛先アドレス条件を検索する第１の検索処理部と、
前記検索の結果から前記パケットの宛先アドレス上位ビットに対応する宛先アドレス条件が一意に定まらない場合には、前記パケットの宛先アドレス下位ビットと前記第２〜ＭのＴＣＡＭエントリとを順次比較して、一致する宛先アドレス条件を検索する第２の検索処理部と、
前記第１の検索処理部または第２の検索処理部で検索した前記パケットの宛先アドレスと一意に対応する宛先アドレス条件に基づいて、前記転送情報を前記パケットに設定する転送情報設定部と、
を備えたことを特徴とするパケット転送装置。
【請求項９】
前記経路テーブル検索部が、前記第２の検索処理部の検索処理継続を指示する検索継続情報と、第２〜第ＭのＴＣＡＭエントリのそれぞれについて一意に対応するキー情報と、第２〜第ＭのＴＣＡＭエントリに対応する経路エントリ内の転送情報をテーブルアドレス毎に格納する検索結果保持テーブルと、を備えた第２の検索中間テーブルを備え、
前記第２〜第ＭのＴＣＡＭ検索結果に対応する検索継続情報が継続不要である場合には、前記第２〜第ＭのＴＣＡＭエントリの検索結果のうち最後の検索結果に対応するテーブルアドレスに基づいて転送情報を前記パケットに設定し、
前記第２〜第ＭのＴＣＡＭ検索結果に対応する検索継続情報が継続である場合には、前回までの検索処理にて未使用の前記宛先アドレスと第２〜第ＭのＴＣＡＭエントリとして未設定の宛先アドレス条件を用いて前記パケットの転送情報を設定することを特徴とする請求項８に記載のパケット転送装置。
【請求項１０】
前記経路テーブル検索部が、前記宛先アドレス条件のうち、前記第２〜第ＭのＴＣＡＭエントリに設定する宛先アドレスのビット長を設定する第２のアドレス境界蓄積部を備え、この第２アドレス境界蓄積部に蓄積されているビット長に従って前記第２の検索処理部で検索を行うことを特徴とする請求項８に記載のパケット転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速な経路テーブル検索部を備えたパケット転送装置に関し、特に、ＣＡＭを用いて経路テーブル検索の高速化を実現するパケット転送装置に関する。
【背景技術】
【０００２】
ＩＰ（Internet Protocol）ネットワークを構成するルータは、入力するパケットの宛先ＩＰアドレスから転送先のネットワーク装置のＩＰアドレス(次ホップＩＰアドレス)を判定し、このネットワーク装置に到る出力回線へパケットを転送する。
【０００３】
ルータはこの次ホップＩＰアドレスを判定するために、ＩＰアドレスの上位ビットでありネットワークを表すプリフィックスと、このプリフィックスに対応する次ホップＩＰアドレスから成る経路エントリを複数格納する経路テーブルを備えている。ルータは、パケットが入力されると各エントリのプリフィックスと、ヘッダ内の宛先ＩＰアドレスの上位ビットが一致する経路エントリを探し出して、一致した経路エントリ内の次ホップＩＰアドレスを入力パケットの次ホップＩＰアドレスと判定する。
【０００４】
複数の経路エントリが一致する場合には、プリフィックスのビット長(プリフィックス長)がより長い経路エントリを一致する経路エントリと判定する。以下ではこの一連の判定動作を経路テーブル検索と呼ぶ。
【０００５】
この経路テーブル検索を、図１３に示す経路テーブルを用いて具体的に説明する。図１３の経路テーブル１１００には、ＩＰアドレスが８ビットで表されるときに６つの経路エントリ１１０１−１〜６が存在する場合を示し、それぞれの経路エントリ１１０１はプリフィックスと等価な情報であるＩＰアドレス条件と、これらの各ＩＰアドレス条件に対応する次ホップＩＰアドレスから構成される。ここで、ＩＰアドレス条件とは、プリフィックスを上位ビットとし、ＩＰアドレスの残りのビットをマスク(＊)とした情報である。
【０００６】
例えば、宛先ＩＰアドレスが２進数で”０００１０１００”のパケットがルータに入力した場合を考える。この際の経路テーブル検索では、経路エントリ１１０１−１と１１０１−４のＩＰアドレス条件と宛先ＩＰアドレスが一致するが、プリフィックス長がより長い経路エントリ１１０１−１内の次ホップＩＰアドレス：Ａが入力したパケットの次ホップＩＰアドレスと判定される。
【０００７】
このテーブル検索処理の高速化を実現するために、高速検索用のデバイスであるＴＣＡＭ（Ternary Contents Addressable Memory）を用いた経路テーブル検索方法が提案されている。例えば、経路テーブル検索とフローの識別処理をＴＣＡＭにより高速に実現する方法について記載されている（非特許文献１）。
【０００８】
ＴＣＡＭは複数ビットの一致条件を格納するエントリを複数備え、検索キーが入力されるとエントリ内の一致条件と検索キーの一致比較を行い、一致したエントリのアドレスのなかで最も小さなアドレス値を高速に出力する。さらに、ＴＣＡＭでは一致条件のビット毎に’０’、’１’の指定だけでなく、検索キーが’０’でも’１’でも良いことを表すマスク(‘＊’と記載する)を指定することも可能である。
【０００９】
上記非特許文献１の経路テーブル検索手段は、経路エントリのＩＰアドレス条件をそのプリフィックス長が長い順に格納したＴＣＡＭと、各ＩＰアドレス条件に対応する次ホップＩＰアドレスを格納する検索結果保持テーブルを備える。
【００１０】
ＩＰアドレス条件のマスク部分は、ＴＣＡＭのマスクに対応させる。経路テーブル検索手段はパケットが入力されると、パケットヘッダ内の宛先ＩＰアドレスを経路テーブル検索手段が備えるＴＣＡＭへ検索キーとして入力する。ＴＣＡＭはこの検索キーと設定されたＩＰアドレス条件との比較を行い、一致したＩＰアドレス条件が格納されるアドレスの中で最も小さなアドレスを判定する。経路テーブル検索手段は、このアドレスに対応する検索結果保持テーブルの次ホップＩＰアドレスを、入力パケットの次ホップＩＰアドレスと判定する。ＴＣＡＭは設定エントリ数、即ちＩＰアドレス条件数に関わらず高速な検索を行うことができる。
【００１１】
上記非特許文献１を適用した経路テーブル検索部を、図１４の概念図を用いて説明する。図１４は図１３に示した６つの経路エントリのＩＰアドレス条件をプリフィックス長の順に、ＩＰアドレス条件１２０１−ｉとして設定したＴＣＡＭ１２００と、各ＩＰアドレス条件１２０１−ｉ（ｉ＝１〜６）に対応する次ホップＩＰアドレスを次ホップＩＰアドレス１２１１−ｉ（ｉ＝１〜６）として格納した検索結果保持テーブル１２１０から構成される。
【００１２】
例えば、宛先ＩＰアドレスが”０００１０１０１”のパケットが入力された場合、経路テーブル検索部のＴＣＡＭ１２００は、ＩＰアドレス条件１２０１−ｉとこの宛先ＩＰアドレスを比較して一致するＩＰアドレス条件１２０１のうち最も小さなアドレス’２’を出力する。
【００１３】
経路テーブル検索部は、検索結果保持テーブル１２１０のアドレス’２’に対応する次ホップＩＰアドレス：Ｂを入力パケットの次ホップＩＰアドレスと判定する。
【００１４】
しかし、上記ＴＣＡＭを用いた経路テーブル検索手段の高速化を実現する上で、まず、第１にＴＣＡＭの検索性能がボトルネックとなる。
【００１５】
さらに、経路テーブル検索処理部をＴＣＡＭとＡＳＩＣやネットワークプロセッサなどのＣＡＭ制御デバイスで構成した場合、ＴＣＡＭとＣＡＭ制御デバイス間の検索キーの入力帯域もボトルネックとなる。
【００１６】
そして、上記非特許文献１では常に受信したパケットの宛先アドレスの全ビットを検索キーとしてＴＣＡＭに入力するため、上記検索キーの入力帯域を最大限消費してしまう。さらに、ＴＣＡＭもこの長い検索キーとＴＣＡＭ内のエントリの一致比較を行うため、検索資源を最大限消費してしまう。このため、ＴＣＡＭの検索性能やＴＣＡＭとＣＡＭ制御デバイス間の検索キーの入力帯域がボトルネックとなったとき、最悪の検索性能しか実現できないという問題がある。
【００１７】
ＣＡＭの検索性能のボトルネックを解決する経路テーブル検索方法としては、複数のＣＡＭを用いる特許文献１が知られている。特許文献１では、経路テーブル検索を２段に分けて行い、１段目の処理部でＣＡＭ（Contents Addressable Memory）を用いて１回目の検索を行い、２段目の処理部にツリーを配置して２回目の検索を行う。１段目の処理部は、経路エントリのプリフィックス長に応じたグループ毎にＣＡＭを備える。各グループの経路エントリ中で最短のプリフィックス長分のビットだけをこのＣＡＭに格納する。検索時にはそれぞれのＣＡＭに設定されたビットに対応する宛先ＩＰアドレスのビットを入力し、ＣＡＭは一致したエントリに対応するツリー格納メモリのアドレスを出力する。２段目の処理部はこのアドレスに基づいてツリー検索を実行し、次ホップＩＰアドレスを決定する。
【特許文献１】特開２０００−３５８０６４号
【非特許文献１】宇賀  雅則、塩平  公平  著、「連想メモリを用いたフロー識別法」、社団法人電子情報通信学会、2000年総合大会講演論文集、SB-4-2、第６５４頁
【発明の開示】
【発明が解決しようとする課題】
【００１８】
しかし、上記特許文献１では、複数のＣＡＭを備えることによりＣＡＭの検索性能に関するボトルネックは解消されるが、検索キーの入力帯域のボトルネックは解消されない。この問題点を図１４のようにＩＰアドレスが８ビットであり、例えば、ＩＰアドレスのプリフィックス長が３ビットから５ビットの経路エントリ（１２０１−３〜６）を第１のＣＡＭに、６ビットから８ビットの経路エントリ（１２０１−１〜２）を第２のＣＡＭに設定した場合を用いて説明する。
【００１９】
プリフィックス長が７ビットのエントリ１２０１−２に一致すべき場合には、第二のＣＡＭだけを検索すれば良いために、宛先ＩＰアドレスの上位６ビットだけを第二のＣＡＭに入力すれぱ良い。しかし、４ビットのエントリ１２０１−５に一致すべき場合には、この６ビットに加えて第１のＣＡＭに既に第２のＣＡＭに入力した３ビットの情報を入力する必要がある。この様に、特許文献１では、同一のＩＰアドレスのビットを複数回ＣＡＭに入力する必要があるため、ＣＡＭとＣＡＭ制御デバイス間の検索キーの入力帯域がボトルネックとなったときに、検索性能劣化が大きくなるという問題がある。
【００２０】
本発明は、これらの問題点に鑑みてなされたもので、ＣＡＭに入力する宛先ＩＰアドレスの情報を１回だけ入力することで、ＣＡＭとＣＡＭ制御デバイス間の検索キーの入力帯域を有効に活用して高速に経路テーブルの検索を行うことを目的とする。
【課題を解決するための手段】
【００２１】
本発明は、ＣＡＭを用いた経路テーブル検索の高速化を実現するために、マスクも設定可能なＴＣＡＭに宛先アドレス条件の上位ビットを第１のＴＣＡＭエントリとして設定する。パケットが入力されるとこのパケットの宛先アドレスの上位ビットと第１のＴＣＡＭエントリを比較する第１の検索処理を実行する。この時点で、一致する宛先アドレス条件を一意に特定可能な場合には検索処理を終了し、この宛先アドレス条件に対応する次ホップ宛先アドレスや出力回線番号などの転送情報を前記パケットの転送情報として設定する。さらに、前記経路テーブル検索手段が、経路エントリ内の次ホップ宛先アドレスや出力回線番号などの転送情報を格納する検索結果保持テーブルと、第１のＴＣＡＭエントリに一一意に対応する第１の検索処理後の検索処理継続の要否を指示する検索継続情報と、第１のＴＣＡＭエントリに一意に対応するキー情報と、を第１の検索処理部の検索結果に関連づけて格納する第１の検索中間テーブルを備える。
【００２２】
前記第１の検索処理部により第１のＣＡＭエントリの検索を行い、一致した第１のＣＡＭエントリに対応する検索継続情報が「継続不要」である場合には、一致したＣＡＭエントリに一意に対応する転送情報を前記パケットの転送情報と判定する。一方、「継続要」である場合には、読み出したキー情報と前記宛先アドレスの下位ビットと宛先アドレス条件の下位ビットを用いて第２の検索処理部で検索を行って前記パケットの転送情報を判定する。例えば、第２の検索処理部は、第２のＴＣＡＭに宛先アドレス条件の下位ビットと上位ビットから定まるキー情報とを第２のＴＣＡＭエントリとして設定し、前記第１の検索処理部により読み出したキー情報と前記宛先アドレスの下位ビットを用いて第２のＴＣＡＭエントリの検索を行う。一致する第２のＴＣＡＭエントリが存在する場合には、このＴＣＡＭエントリに一意に対応する検索結果保持テーブル内の転送情報を前記パケットの転送情報と判定する。一致する第２のＴＣＡＭエントリが存在しない場合には、第１の検索処理にて一致したＴＣＡＭエントリに一意に対応する検索結果保持テーブル内の転送情報を前記パケットの転送情報と判定する。
【発明の効果】
【００２３】
したがって、本発明は、全ての宛先アドレスをＴＣＡＭに入力せず、宛先アドレスの上位ビットを部分的に検索キーとして入力し、この短い検索キーと第１のＴＣＡＭエントリを一致比較する。この時点で検索処理を終了可能な場合、即ち、検索継続情報が「継続不要」である場合には、短い検索キーの一度の入力とそれに対応したＴＣＡＭの検索で良いため、ＴＣＡＭの検索性能を有効に利用しながら、検索キーの入力帯域を削減できる。
【００２４】
また、「継続要」である場合にも宛先アドレスの下位ビットだけを用いて検索する。第２の検索処理部をＴＣＡＭで実現した場合には、宛先アドレスの下位ビットだけを用いて検索するため、第１の検索処理と同様の検索キーを再度ＴＣＡＭに入力する必要がない。そのため、検索キーの入力帯域が最小限に押さえられ、経路テーブル検索の高速化が実現される。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の一実施形態を添付図面に基づいて説明する。
【００２６】
図１は、本発明の経路テーブル検索部を備えたルータを示し、以下、ルータの概要動作を図１、図２および図３を用いて説明する。
【００２７】
図１は本発明のルータ２００のブロック図を示す。ルータ２００はパケットが入力するＮ個の入力回線２０１−ｉ（ｉ＝１〜Ｎ）、Ｎ個の出力回線２０２−ｉ（ｉ＝１〜Ｎ）、Ｎ個のインターフェース部２１０−ｉ（ｉ＝１〜Ｎ）と、インターフェース部２１０−ｉを結合する一つのパケット中継処理部２５０と、一つのプロセッサ２８０から構成される。なお、プロセッサ２８０は、制御端末１０からの指令を受ける。
【００２８】
インターフェース部２１０−ｉは、パケットの受信処理を行うパケット受信回路２３０と、入力パケットの宛先ＩＰアドレスに基づいて該パケットの次ホップＩＰアドレスと該パケットを出力する回線の番号（出力回線番号あるいはポート番号）を判定し、これらの情報をパケット受信回路２３０に出力する本発明固有の経路テーブル検索部１００と、パケット中継処理部２５０から受信したパケットのパケット送信処理を行うパケット送信回路２７０と、ＭＡＣアドレスとＩＰアドレスの対応関係を示すＡＲＰ（Address Resolution Protocol）テーブル検索部２２０から構成される。
【００２９】
図２は入力回線２０１−ｉ、出力回線２０２−ｉから入出力されるパケットのフォーマットの一例を示す。本フォーマットはヘッダ部３１０とデータ部３２０から構成される。ヘッダ部３１０はデータリンク層の送信元アドレスである送信元ＭＡＣアドレス３１１（Source MAC Address：以下「ＳＭＡＣ」という）、宛先アドレスである宛先ＭＡＣアドレス３１２（Destination MAC Address：以下「ＤＭＡＣ」という）と、ネットワーク層の送信元アドレス（送信端末のアドレス）である送信元ＩＰアドレス３１３（Source IP Address：以下「ＳＩＰ」という）と、宛先アドレス（受信端末のアドレス）である宛先ＩＰアドレス３１４（Destination IP Address：以下「ＤＩＰ」という）とから構成される。
【００３０】
図３は本発明のルータ２００内部のパケットフォーマットの一例を示す。本フォーマットは上記図２のパケットフォーマットに内部ヘッダ部３３０を加えたものである。
【００３１】
この内部ヘッダ部３３０は入力したパケットを出力する回線の番号である出力回線番号３３２と、該パケットを受信する次のホップ（ルータまたは端末）のＩＰアドレスである次ホップＩＰアドレス３３３（Next Hop IP Address：以下「ＮＨＩＰ」という）から構成される。
【００３２】
パケットが入力回線２０１−ｉより入力されるとパケット受信回路２３０は、内部ヘッダ部３３０を付加して本パケットを蓄積すると同時に、ヘッダ部３１０内のＤＩＰ３１４を宛先ＩＰアドレス情報２１として経路テーブル検索部１００に送信する。
【００３３】
経路テーブル検索部１００は前記宛先ＩＰアドレス情報２１内のＤＩＰ３１４よりパケットを出力する出力回線の番号（出力回線番号）と次ホップＩＰアドレスを判定し、パケット出力回線情報２２としてパケット受信回路２３０に送信する。
【００３４】
パケット受信回路２３０は、パケット出力回線情報２２内の出力回線番号と次ホップＩＰアドレスをそれぞれ出力回線番号３３２とＮＨＩＰ３３３の各フィールドに書き込み、パケット中継処理部２５０へ送信する。
【００３５】
パケットを受信したパケット中継処理部２５０は、出力回線番号３３２に対応するインターフェース部２１０−ｉのパケット送信回路２７０に送信する。パケット送信回路２７０は本パケットを蓄積すると同時に、内部ヘッダ部３３０のＮＨＩＰ３３３を次ホップＩＰアドレス情報２３としてＡＲＰテーブル検索部２２０に送信する。
【００３６】
ＡＲＰテーブル検索部２２０は次ホップＩＰアドレス情報２３を備えた次ホップのＭＡＣアドレスを判定し、ＭＡＣアドレス情報２４としてパケット送信回路２７０に送信する。
【００３７】
パケット送信回路２７０は次ホップＭＡＣアドレス情報２４を受信すると、本情報内のＭＡＣアドレスをＤＭＡＣ３１２に、インターフェース部２１０−ｉの入出力回線のＭＡＣアドレスをＳＭＡＣ３１１に書き込み、内部ヘッダ部３３０を削除して蓄積したパケットを出力回線２０２に送信する。
【００３８】
次に図４に示す本発明の経路テーブル検索部１００の詳細動作を説明する。本実施形態では、説明を簡易にするためにＩＰアドレスが８ビットであり、図１３の６つの経路エントリが存在する場合について説明する。
【００３９】
ＩＰアドレスがＩＰバージョン４の３２ビットである場合や、ＩＰバージョン６の１２８ビットである場合も、以下に説明する検索処理を同様に実行することができる。
【００４０】
図１５は、上記図１３で示したように、ＩＰアドレスが８ビットで、６つの経路エントリが存在する場合の経路エントリ１１０１を記述したツリーを示す。なお経路エントリ１１０１−１〜６はそれぞれ「１」〜「６」のノードに対応する。
【００４１】
図中の根元にある「根」が０または１が割り当てられた２本の直線（枝）により、丸で表されるノード（幹）に接続される。さらに、ノードは枝により下位の（図の下に有る）ノードに接続される。それぞれのノードは、根からそのノードに到るまでに通過する枝に割り当てられた値を順に並べ、８ビットに満たないビットをマスク（＊）としたＩＰアドレス条件に対応している。
【００４２】
例えば、図中「４」のノードは根から０→０→０→１の枝を辿れば到達できるためＩＰアドレス条件”０００１＊＊＊＊”に対応している。
【００４３】
図１３の経路エントリ１１０１−１〜６は、それぞれ図１５の「１」〜「６」のノードに対応する。あるノード１に到る経路上にあるノード２を親ノードと、またノード２に対するノード１を子ノードと呼ぶ。また、本実施形態では子ノードに対応する経路エントリから見た親ノードの経路エントリを親経路エントリと呼ぶ。例えば、図１３において、経路エントリ１１０１−６は経路エントリ１１０１−２の親経路エントリである。
【００４４】
図４は本発明の経路テーブル検索部１００のブロック図を示す。経路テーブル検索部１００は宛先ＩＰアドレス情報２１を蓄積する宛先ＩＰアドレス蓄積部１８０と、経路エントリのＩＰアドレス条件の上位ビットを設定するＴＣＡＭ１２０内の上位ビット用ＴＣＡＭ１２０−１と、ＩＰアドレス条件の下位ビットを格納する下位ビット用ＴＣＡＭ１２０−２と、検索中間テーブルＡ１４０および検索中間テーブルＢ１５０と、次ホップＩＰアドレスと出力回線番号を格納する検索結果保持テーブル１６０と、ＩＰアドレスの上位ビットのビット長が設定されるアドレス境界蓄積部１７０と、これらのＴＣＡＭ１２０、各テーブル１４０、１５０、１６０、１７０及び宛先ＩＰアドレス蓄積部１８０に格納される情報から、ルータ２００へ入力されたパケットの次ホップＩＰアドレスと出力回線番号を判定する検索制御部１１０から構成される。
【００４５】
本発明の経路テーブル検索部１００は、一つのＴＣＡＭ１２０を論理的にＴＣＡＭ１２０−１とＴＣＡＭ１２０−２に分割し、この分割したＴＣＡＭ１２０−１を用いて宛先ＩＰアドレスの上位ビットと、アドレス条件の上位ビットであるＩＰアドレス条件上位ビットを限定的に一致比較する。
【００４６】
この時点で一致すべきＩＰアドレス条件を判定可能な場合には、検索結果保持テーブル１６０より次ホップＩＰアドレスと出力回線番号を読み出して検索処理を終了する。
【００４７】
一致すべきＩＰアドレス条件を判定できない場合、再度、ＴＣＡＭ１２０−２を用いて宛先ＩＰアドレスの下位ビットとＩＰアドレス条件下位ビットを一致比較し、一致すべきＩＰアドレス条件を判定する。
【００４８】
上位ビットの検索だけで検索処理が終了する場合には、上位ビットだけが検索キーとしてＴＣＡＭ１２０−１に入力され、ＴＣＡＭ１２０−１は上位ビット分の検索キーにより検索を行うだけで良いため、本発明の経路テーブル検索部１００はＴＣＡＭ１２０の検索資源を有効に活用できる。
【００４９】
さらに、経路テーブル検索部１００をＴＣＡＭ１２０とＡＳＩＣ等のＣＡＭ制御デバイスで実現した場合、ＴＣＡＭ１２０とＣＡＭ制御デバイス間の図４の信号線２５の帯域を有効活用して、経路テーブル検索の高速化を実現することができる。
【００５０】
以下ではアドレス境界蓄積部１７０内の情報が’４’（即ち、ＩＰアドレスの長さが８ビットとしたとき、上位ビット長、下位ビット長とも４ビット）である場合について説明するが、他のビット長であっても、以下に説明する検索処理を同様に実行することができる。
【００５１】
上位ビットのビット長が’４’である時のＴＣＡＭ１２０−１、ＴＣＡＭ１２０−２のフォーマット図５に示し、検索結果保持テーブル１６０のフォーマットを図９に示す。各経路エントリのＩＰアドレス条件の上位４ビットはＴＣＡＭ１２０−１のエントリ１２１−ｉ（ｉ＝１〜６）に、ＩＰアドレス条件の下位ビット４ビットはＴＣＡＭ１２０−２のエントリ１３１−ｉ（ｉ＝１〜６）に設定される。
【００５２】
図９に示す検索結果保持テーブル１６０には、次ホップＩＰアドレスと対応する出力回線番号が、経路エントリのプリフィックス長が長い順に設定される。例えば、図１３の経路エントリ１１０１−３のＩＰアドレス条件’０１０１１＊＊＊’と、次ホップＩＰアドレスは上位ビット用ＴＣＡＭ１２０−１のエントリ１２１−３と、下位ビット用ＴＣＡＭ１２０−２のエントリ１３１−３と検索結果保持テーブル１６０のエントリ１６１−３に分割して設定される。
【００５３】
図５において、ＴＣＡＭ１２０のビット位置情報はＩＰアドレス条件として設定されるＩＰアドレス４ビットのビット位置を表す情報であり、「０」が上位ビット、「１」が下位ビットを表す。
【００５４】
ＴＣＡＭ１２０の検索時に、他の検索キーにビット位置情報を付加して検索することにより論理的にＴＣＡＭ１２０を２つのＴＣＡＭ１２０−１とＴＣＡＭ１２０−２に分割できる。
【００５５】
上記キー情報はＩＰアドレス条件の上位ビットを、少数のビット（例えば、１ビット）に圧縮した識別子であり下位ビットの検索時に用いられる。そのため、上位ビット用ＴＣＡＭ１２０−１のキー情報は常にマスク（＊）となる。
【００５６】
また、上位ビット用ＴＣＡＭ１２０−１のエントリ１２１内のＩＰアドレス条件上位ビットが同一の場合には、ＴＣＡＭ１２０のアドレスがより大きなエントリ１２１を省略することができる。これは、より大きなアドレスのエントリ１２１に一致する前に、小さなアドレスのエントリ１２１に一致した場合、本エントリの設定は意味が無いためである。例えば、エントリ１２１−２とエントリ１２１−３のＩＰアドレス条件上位ビットは共に”０１０１”であり、エントリ１２１−３は省略可能である。
また、下位ビット用ＴＣＡＭ１２０−２のＩＰアドレス条件下位ビットが全てマスクのエントリ１３１−４〜６も省略できる。
【００５７】
図１０は、経路テーブル検索部１００で行われる処理の一例を示すフローチャートで、例えば、パケット受信回路２３０からの入力をトリガとして実行される。
【００５８】
まず、経路テーブル検索部１００へ宛先ＩＰアドレス情報２１が入力されると、宛先ＩＰアドレス蓄積部１８０は本情報を蓄積し、検索制御部１１０が経路テーブル検索を開始する（ステップ１００１）。
【００５９】
検索制御部１１０は上位ビットのビット長を、アドレス境界蓄積部１７０を参照することで獲得し、宛先ＩＰアドレス蓄積部１８０より上位ビット分（本実施形態では４ビット）の宛先ＩＰアドレスを読み出す。
【００６０】
そして、この読み出した情報と、図５に示したＴＣＡＭ１２０のキー情報のビット長分の情報と、宛先ＩＰアドレスの上位ビットの入力を表すビット位置情報’０’を検索キーとしてＴＣＡＭ１２０に入力する（ステップ１００２）。
【００６１】
このキー情報は、エントリ１２１−ｉのキー情報にはマスク’＊’が設定されているため、任意の値で良い。ＴＣＡＭ１２０はこの検索キーが検索制御部１１０より入力されると、設定されているエントリ１２１−ｉと一致比較を行い、一致するエントリ１２１−ｉのアドレスの中で、最も小さな（プリフィックス部のビット長が大きい）アドレスを検索制御部１１０に出力する（ステップ１００３）。
【００６２】
検索制御部１１０がＴＣＡＭ１２０よりこのアドレスを受信すると、検索中間テーブルＡ１４０より本アドレスに対応する情報を読み出す（ステップ１００４）。
【００６３】
図７に検索中間テーブルＡ１４０のフォーマットと、図１３の経路エントリ１１０１存在時の設定値を示す。本テーブルの各エントリ１４１−ｉ（ｉ＝１〜６）は検索継続情報、キー情報、テーブルアドレスから構成される。
【００６４】
検索継続情報は、宛先ＩＰアドレスの下位４ビットによる検索の継続必要性（「有」＝１、「無」＝０）を示す。プリフィックス長が４以下のＩＰアドレス条件上位ビットに一致した場合には、一致比較されていないＩＰアドレス条件は全てマスクであり、既にこのＩＰアドレス条件に一致したと判定できる。
【００６５】
よって、プリフィックス長が４以下のＩＰアドレス条件に対応する検索継続情報は’０’となる。
【００６６】
一方、プリフィックス長が５以上のＩＰアドレス条件に対応する検索継続情報は、一致するＩＰアドレス条件を判定できないため、’１’となる。例えば、図１３の経路エントリ１１０１−１への一致は、宛先ＩＰアドレスの下位ビットと、ＩＰアドレス条件下位ビットの”０１００”を比較しないと判定できない。
【００６７】
キー情報は、ＩＰアドレス条件上位ビットをより小さなビット長に圧縮した識別子であり、後のＴＣＡＭ１２０−２の検索にて使用される。図７ではＴＣＡＭ１２０−１のエントリ１２１−１の”０００１”（テーブルアドレス＝１）に対応するキー情報は’０’、エントリ１２１−２および１２１−３の”０１０１”（テーブルアドレス＝２、３）に対応するキー情報は’１’となっている。
【００６８】
検索中間テーブルＡ１４０のテーブルアドレスは、参照すべき検索保持結果テーブル１６０のアドレスである。検索継続情報が’０’である場合、このテーブルアドレスはステップ１００３で一致したＴＣＡＭ１２０−１のエントリ１２１に対応する経路エントリに対応するアドレスである。
【００６９】
そのため、テーブルアドレスはこの経路エントリの次ホップＩＰアドレスと出力回線番号が格納されるアドレスとなる。例えば、エントリ１２１−５に対応するエントリ１４１−５のテーブルアドレスは’５’となる。
【００７０】
検索継続情報が’１’であるエントリ１４１−ｉのテーブルアドレスは、下位ビットの一致比較を行った結果、一致するプリフィックス長が５ビット以上のＩＰアドレス条件が無い場合に参照すべき検索結果保持テーブル１６０のアドレスを示す。
【００７１】
例えば、入力したパケットの上位ＩＰアドレスが”０００１”であり、図１３の経路エントリ１１０１−１に対応するＴＣＡＭ１２０−１のエントリ１２１−１（’０００１’）に一致する場合について考える。
【００７２】
宛先アドレスの下位ビットが”０１００”ではなく、経路エントリ１１０１−１（図１３参照）のＩＰアドレス条件に不一致と判定された場合、一致すべきエントリはＩＰアドレス条件の上位ビットが”０００１”である経路エントリ１１０１−４である。
【００７３】
そのため、検索中間テーブルＡ１４０のエントリ１４１−１のテーブルアドレスは’４’となる。この様に検索継続情報が’１’であるエントリ１４１−ｉのテーブルアドレスは、ステップ１００３で一致したエントリ１２１−ｉに対応する経路エントリの親経路エントリで、ステップ１００３の検索で一致することが確定しているプリフィックス長が’４’以下の経路エントリのテーブルアドレスと同一となる。
【００７４】
検索制御部１１０は検索継続情報が’０’である場合、テーブルアドレスに対応する検索結果保持テーブル１６０（図９参照）の次ホップＩＰアドレスと出力回線番号を読み出して（ステップ１０１１）、本情報をパケット出力回線情報２２としてパケット受信回路２３０に送信して（ステップ１０１２）経路テーブル検索を終了する（ステップ１０１３）。
【００７５】
一方、検索継続情報が’１’である場合には、検索制御部１１０は宛先ＩＰアドレス蓄積部１８０内の宛先ＩＰアドレスの下位４ビットと、ステップ１００４において読み出したキー情報と、宛先ＩＰアドレスの下位ビットの入力を表すビット位置情報’１’をＴＣＡＭ１２０に検索キーとして入力する（ステップ１００６）。
【００７６】
ＴＣＡＭ１２０は設定されているエントリ１３１−１と一致比較を行い、一致するエントリ１３１のアドレス中で最も小さなアドレス（プリフィックス部のビット長が大きい）を検索制御部１１０に出力し、一致するエントリ１３１が無い場合には一致するエントリが無かったことを検索制御部１１０に通知する（ステップ１００７）。
【００７７】
一致するエントリ１３１が存在した時、検索制御部１１０は出力アドレスに対応する検索中間テーブルＢ１５０のエントリ１５１−ｉ（ｉ＝１〜６）を読み出す（ステップ１００９）。
【００７８】
検索中間テーブルＢ１５０のフォーマットを図８に示す。本テーブルのフォーマットは図７の検索中間テーブルＡ１４０と同様のフォーマットとなっており、各エントリ１５１−ｉ（ｉ＝１〜６）はそれぞれ検索継続情報、キー情報、テーブルアドレスから構成される。検索継続情報は全ビットの検索は終了しているため全て’０’であり、キー情報は設定されない。テーブルアドレスとして図１３の経路エントリ１１０１−１、１１０１−２および１１０１−３に対応する検索結果保持テーブルのアドレス’１’、’２’  および’３’が設定される。
【００７９】
検索制御部１１０は、読み出したテーブルアドレスに対応する次ホップＩＰアドレスと出力回線番号を読み出し（ステップ１０１０）、パケット出力回線情報２２としてパケット受信回路２３０に送信し（ステップ１０１２）、本検索処理を終了する（ステップ１０１３）。
【００８０】
一方、一致するエントリが無い場合には、ステップ１００４において検索中間テーブルＡ１４０から読み出したテーブルアドレスに対応する次ホップＩＰアドレスと出力回線番号を読み出して（ステップ１０１１）、パケット出力回線情報２２としてパケット受信回路２３０に送信し（ステップ１０１２）、検索処理を終了する（ステップ１０１３）。
【００８１】
本発明の経路テーブル検索部１００はＴＣＡＭ１２０−１を用いて、まず、宛先ＩＰアドレスの上位ビットと、設定されたＩＰアドレス条件上位ビットを比較する。検索継続情報が’０’である場合には、ステップ１００３のＴＣＡＭ１２０の検索だけで検索を終了できる。
【００８２】
検索制御部１１０をＡＳＩＣやネットワークプロセッサなどのＴＣＡＭとは別のＣＡＭ制御デバイスで実現した場合、検索継続情報が’０’であれば、ＴＣＡＭ１２０に入力する検索キーは宛先ＩＰアドレスの上位ビットだけである。そのため、本発明の経路テーブル検索部はＴＣＡＭ１２０とこの検索制御デバイス間の検索キーの入力帯域を前記従来例（非特許文献１）に比べて有効利用できる。さらに、ＴＣＡＭ１２０は宛先ＩＰアドレスの上位ビットとＩＰアドレス上位ビットの一致比較だけを行えば良く、ＴＣＡＭ１２０の検索資源を有効活用できる。そのため、本発明を適用した経路テーブル検索部１００は、ＴＣＡＭの検索性能が性能上のボトルネックとなっている場合、前記従来例（非特許文献１）を適用した経路テーブル検索部に比べてより高速な経路テーブル検索を実行することができる。さらに、検索継続情報が’１’であっても、複数の同一検索キーをＴＣＡＭ１２０に入力する必要がないため、ＴＣＡＭ１２０とこの検索制御デバイス間の検索キーの入力帯域を前記従来例（特許文献１）に比べて有効利用できる。
【００８３】
これまで、上位ビットが４ビット、下位ビットが４ビットである際の実施例を説明してきた。アドレス境界蓄積部１７０への設定は図４、図１に記載の制御端末１０がプロセッサ２８０経由で検索制御部１１０への「アドレス境界蓄積部１７０への書き込み指示」と、「上位ビットのビット長」を送付することで実現される。
【００８４】
上位ビットのビット長を’４’とする際の制御端末１０の入力画面の例を図６に示す。図中左の“set_prefix_length”は上位ビットのビット長を設定するコマンドを、右側の’４’は設定するビット長を表している。
【００８５】
本発明のルータ２００をネットワークに配置するネットワーク管理者は、このＩＰアドレス条件の上位ビットを、経路エントリのプリフィックス長の分布に応じて変化させる。例えば、あるプリフィックス長以下の経路エントリが多い場合、上位ビット長をそのプリフィックス長と同一とすれば、ＴＣＡＭ１２０と検索制御デバイス間の検索キーの入力帯域やＴＣＡＭ１２０の検索資源の浪費を最小限に抑えた経路テーブル検索が可能となる。例えば、図１２に示す５つの経路エントリ１４０１−ｊ（ｊ＝１〜５）が存在する場合、ＩＰアドレス条件の上位ビット長を５ビットとすれば良い。
【００８６】
これまで最大２回のＴＣＡＭ１２０の検索により経路テーブル検索を行い、ＴＣＡＭの検索資源、ＴＣＡＭとＣＡＭ検索デバイス間の検索キーの入力帯域を削減する経路テーブル検索部の実施形態を記述した。しかし、これらの資源をより効率的に利用する余地が残されている。
【００８７】
例として、前述の経路エントリ１１０１−３（図１３）と一致すべき宛先ＩＰアドレスのパケットが到着した場合を考える。ステップ１００３の検索ではＴＣＡＭ１２１−１のエントリ１２１−２に一致と判定され、検索を継続することになる。この時、１ビットの検索処理を行えば経路エントリ１１０１−３に一致すると判定できるが、４ビットの検索処理を行って、ＴＣＡＭ１２０の検索資源と検索キーの入力帯域を浪費してしまう。更なるＴＣＡＭ１２０の検索資源と検索キーの入力帯域の有効活用を実現するため、最大３回のＴＣＡＭ検索により経路テーブル検索を実現し４ビット→１ビット→３ビットの検索処理を行えばより高速な経路テーブル検索処理を行える。
【００８８】
この検索をＭ（＞２）回に分割し、ＩＰアドレス条件の上位ビットより順々に検索を行う場合には、経路テーブル検索部１００はＭ個の検索中間テーブルＫ−１〜Ｍを備え、ＴＣＡＭ１２０は論理的にＭ個のＴＣＡＭに分割され、アドレス境界蓄積部１７０にはＭ−１のアドレス境界１〜Ｍ−１が設定される。
【００８９】
図１１に示す本検索処理のフローチャートは、上記Ｍ回の検索処理を行うためのループを形成するステップ１５０１〜１５０３を、上記図１０のフローチャートに付加したもので、その他の構成は同様である。
【００９０】
図１１において、ステップ１５０１では、ループ回数を１にセットし、その後、一致するエントリがある場合には、ステップ１５０２でＬをインクリメントして、ステップ１５０３でループ回数が所定回数Ｍとなるまでループを継続させる。
【００９１】
そして、ステップ１００７では、検索回数：Ｌに対応するビット位置情報と検索回数：Ｌとアドレス境界１〜Ｍ−１より決まる検索すべき宛先ＩＰアドレスの一部分の情報を検索キーとしてＴＣＡＭ１２０に入力し、ステップ１００９ａでは検索中間テーブルＫ−１〜Ｍより次ホップＩＰアドレスと出力回線番号を読み出すこととなる。
【００９２】
つまり、図１１において、ステップ１０１０ａ、１０１１ａでは、それぞれ検索中間テーブルＫのテーブルアドレスを用いて検索結果保持テーブル１６０のテーブルの次ホップＩＰアドレスと出力回線番号を読み出す。なお、検索中間テーブルＫ−１〜Ｍは、それぞれ図８の検索中間テーブルＢ１５０と同様に構成すればよい。それ以外の動作は、上記図１０のＭ＝２の場合と同様である。
【００９３】
これにより、上位ビットＩＰｖ４、ＩＰｖ６等のパケット長の違いや、プリフィックスの長さにかかわらず、宛先ＩＰアドレスから出力先の情報を、高速に検索を行うことができる。また、ＣＡＭエントリには比較するＩＰアドレスの一部を設定すればよいので、前記従来例のようにＩＰアドレスを全て記述する必要がなくなって、ＴＣＡＭ１２０を無駄なく利用することができ、高価かつ消費電力の大きいＴＣＡＭ１２０を有効に利用することが可能となる。
【００９４】
また、前記従来例（特許文献１）では、引例ではＩＰアドレス３ビットをＣＡＭに設定することになり、プリフィックス長が６ビットのエントリにヒットするパケットが入力された場合には、３ビットのツリー検索を行う必要がある。上述したように３ビット等の短いビット長の場合は問題は小さいが、ＩＰｖ６アドレスのようにビット長が長い場合には、２段目で行うツリー検索を行うビット数が長大（例えば、６４ビット）にとなる場合があり、高速検索が難しくなる。
【００９５】
また、前記従来例（特許文献１）では、例えば、３〜５ビットのプリフィックス長を持つエントリをＣＡＭ−１に設定し、６〜８ビットのプリフィックス長を持つエントリをＣＡＭ−２に設定する。この際、プリフィックス長が６ビットのエントリにヒットするパケットが入力された場合には、ＣＡＭ−１を検索するだけで良いため、極めて高速に検索を実行することが可能となる。
【００９６】
しかし、プリフィックス長が３ビットのエントリにヒットすべきパケットが入力された場合には、ＣＡＭ２も検索する必要があり、この際、ＣＡＭには６ビット（ＣＡＭ−１用）＋３ビット（ＣＡＭ−２用）の検索キーを入力することになり、上位３ビットはＣＡＭに２回入力されており、ＣＡＭのリソースを無駄にすることになる。
【００９７】
すなわち、プリフィックス長が６ビットのエントリにヒットするパケットが入力した場合は、高速検索できないことになる。
【００９８】
これに対して、本発明では、ＴＣＡＭに上位６ビットを設定する場合を考えると、プリフィックス長が６ビットのエントリにヒットする場合も、３ビットのエントリにヒットする場合も、どちらも６ビットの検索キーをＴＣＡＭに入力すれば良いだけであるので、高価なＴＣＡＭを有効に利用して、前記従来例に比して必要とするＴＣＡＭ（またはＣＡＭ）の容量を低減できる。したがって、本発明を適用することによりルータ２００などのパケット転送装置の製造コストを低減し、安価で高性能なパケット転送装置を提供することができる。
【産業上の利用可能性】
【００９９】
以上のように、本発明は、ＣＡＭの検索リソースや、ＣＡＭと検索制御デバイス間の検索キーの入力帯域を有効活用し、経路テーブル検索を高速に行うことができるので、高速なルータやＬ３スイッチなどのパケット転送装置に適用することができる。
【図面の簡単な説明】
【０１００】
【図１】本発明の一実施形態を示す、ルータのブロック図。
【図２】ルータが外部の機器と送受信するパケットのフォーマットを示す説明図。
【図３】ルータの内部で送受信を行うパケットのフォーマットを示す説明図。
【図４】ルータの経路テーブル検索部の構成を示すブロック図。
【図５】経路テーブル検索部のＴＣＡＭの構成を示す説明図。
【図６】上位ビットのビット長を設定するコマンドの一例を示す説明図。
【図７】検索中間テーブルＡのフォーマットを示す説明図。
【図８】検索中間テーブルＢのフォーマットを示す説明図。
【図９】検索結果保持テーブルのフォーマットを示す説明図。
【図１０】経路テーブル検索部で行われる処理の一例を示すフローチャート。
【図１１】経路テーブル検索部で行われる処理の他の例を示すフローチャート。
【図１２】５つの経路エントリの例を示す説明図。
【図１３】６つの経路エントリを持つ８ビットの経路テーブルの説明図。
【図１４】従来の経路テーブル検索の一例を示す説明図。
【図１５】６つの経路エントリをツリー構造で示した説明図。
【符号の説明】
【０１０１】
１００  経路テーブル検索部
１２０  ＴＣＡＭ
１４０  検索中間テーブルＡ
１５０  検索中間テーブルＢ
１６０  検索結果保持テーブル
１７０  アドレス境界蓄積部
１８０  宛先ＩＰアドレス蓄積部
２００  ルータ
【図１】
2006005636.tif 000003
【図２】
2006005636.tif 000004
【図３】
2006005636.tif 000005
【図４】
2006005636.tif 000006
【図５】
2006005636.tif 000007
【図６】
2006005636.tif 000008
【図７】
2006005636.tif 000009
【図８】
2006005636.tif 000010
【図９】
2006005636.tif 000011
【図１０】
2006005636.tif 000012
【図１２】
2006005636.tif 000013
【図１３】
2006005636.tif 000014
【図１４】
2006005636.tif 000015
【図１５】
2006005636.tif 000016
【図１１】
2006005636.tif 000017