(57)【要約】入力回線から入力されたパケットの宛先アドレスに基づき当該パケットの次ホップを決定するためのルーティングテーブルを生成するルーティングテーブル生成装置は、ＴＣＡＭ（ＴｅｒｎａｒｙＣｏｎｔｅｎｔＡｄｄｒｅｓｓａｂｌｅＭｅｍｒｙ）と、外部メモリと、受信した情報を項目毎に分類する手段と、この分類された項目のうち当該情報を一意に織別する項目については前記ＴＣＡＭに格納し、その他の項目については前記外部メモリに格納する手段とを備える。
2005020525.tif 000002
【特許請求の範囲】
【請求項１】
入力回線から入力されたパケットの宛先アドレスに基づき当該パケットの次ホップを決定するためのルーティングテーブルを生成するルーティングテーブル生成装置であって、
ＴＣＡＭ（Ｔｅｒｎａｒｙ  Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）と、
外部メモリと、
受信した情報を項目毎に分類する手段と、
この分類された項目のうち当該情報を一意に識別する項目については前記ＴＣＡＭに格納し、その他の項目については前記外部メモリに格納する手段と
を備えたルーティングテーブル生成装置。
【請求項２】
新たに情報を受信したときには、当該情報の格納に先立って、
前記分類された項目のうち当該情報を一意に識別する項目を検索キーとして前記ＴＣＡＭに格納された情報を検索する手段と、
この検索により新たに受信した情報の前記一意に識別する項目と既に前記ＴＣＡＭに格納されている情報の前記一意に識別する項目とが不一致のときには、前記格納する手段による格納処理を起動する手段と、
この検索により新たに受信した情報の前記一意に識別する項目と既に前記ＴＣＡＭに格納されている情報の前記一意に識別する項目とが一致したときには、当該一意に識別する項目に対応する前記外部メモリに格納された情報と新たに受信した情報の同一項目との新旧を比較する手段と
を備えた請求項１記載のルーティングテーブル生成装置。
【請求項３】
前記比較する手段の比較結果により新たに受信した情報が既に前記外部メモリに格納されている情報よりも古いまたは同一であるときには当該新たに受信した情報を無視する手段と、
前記比較する手段の比較結果により新たに受信した情報が既に前記外部メモリに格納されている情報よりも新しいときには既に前記外部メモリに格納されている情報を新たに受信した情報により更新する手段を備えた
請求項２記載のルーティングテーブル生成装置。
【請求項４】
前記ＴＣＡＭおよび前記外部メモリに格納された情報を用いて到着したパケットの宛先アドレスに基づく最短経路探索を行う手段を備えた請求項１記載のルーティングテーブル生成装置。
【請求項５】
前記最短経路探索に基づき到着したパケットの次ホップを決定する手段を備えた請求項４記載のルーティングテーブル生成装置。
【請求項６】
入力回線から入力されたパケットの宛先アドレスに基づき当該パケットの次ホップを決定するためのルーティングテーブルを生成するルーティングテーブル生成装置に適用されるプログラムであって、
コンピュータ装置にインストールすることにより、そのコンピュータ装置に、
受信した情報を項目毎に分類する機能と、
この分類された項目のうち当該情報を一意に識別する項目についてはＴＣＡＭに格納し、その他の項目については外部メモリに格納する機能と
を実現させるプログラム。
【請求項７】
新たに情報を受信したときには、当該情報の格納に先立って、
前記分類された項目のうち当該情報を一意に識別する項目を検索キーとして前記ＴＣＡＭに格納された情報を検索する機能と、
この検索により新たに受信した情報の前記一意に識別する項目と既に前記ＴＣＡＭに格納されている情報の前記一意に識別する項目とが不一致のときには、前記格納する機能による格納処理を起動する機能と、
この検索により新たに受信した情報の前記一意に識別する項目と既に前記ＴＣＡＭに格納されている情報の前記一意に識別する項目とが一致したときには、当該一意に識別する項目に対応する前記外部メモリに格納された情報と新たに受信した情報の同一項目との新旧を比較する機能と
を実現させる請求項６記載のプログラム。
【請求項８】
前記比較する機能の比較結果により新たに受信した情報が既に前記外部メモリに格納されている情報よりも古いまたは同一であるときには当該新たに受信した情報を無視する機能と、
前記比較する機能の比較結果により新たに受信した情報が既に前記外部メモリに格納されている情報よりも新しいときには既に前記外部メモリに格納されている情報を新たに受信した情報により更新する機能とを実現させる
請求項７記載のプログラム。
【請求項９】
前記ＴＣＡＭおよび前記外部メモリに格納された情報を用いて到着したパケットの宛先アドレスに基づく最短経路探索を行う機能を実現させる請求項６記載のプログラム。
【請求項１０】
前記最短経路探索に基づき到着したパケットの次ホップを決定する機能を実現させる請求項９記載のプログラム。
【請求項１１】
請求項６記載のプログラムが記録された前記コンピュータ装置が読み取り可能な記録媒体。
【請求項１２】
パケット転送装置に備えられ、入力回線から入力されたパケットに対して処理を行うインタフェースに設けられたＬＳＤＢ（Ｌｉｎｋ  Ｓｔａｔｅ  Ｄａｔａ  Ｂａｓｅ）検索装置であって、
ルーティングプロトコルの制御パケットを用いて受信した情報を収集する手段と、
この収集した受信した情報の少なくとも一部項目を格納する手段と、
この格納した情報と前記収集する手段により新たに受信した情報の少なくとも一部項目の情報とを比較して当該情報の新旧を判定する手段と
を備えたＬＳＤＢ検索装置。
【請求項１３】
前記判定する手段の判定結果に基づき、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報よりも新しい情報であるときには、経路制御装置に前記新たに受信した情報を有する新たに到着した制御パケットを転送し、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報と同等もしくは古い情報であるときには、前記新たに受信した情報を有する新たに到着した制御パケットを廃棄する手段を備えた請求項１２記載のＬＳＤＢ検索装置。
【請求項１４】
前記判定する手段の判定結果に基づき、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報よりも新しい情報であるときには、前記経路制御装置に転送した制御パケットの少なくとも一部項目の情報を他インタフェース内のＬＳＤＢ検索装置に転送する手段を備えた請求項１３記載のＬＳＤＢ検索装置。
【請求項１５】
前記判定する手段の判定結果に基づき、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報よりも新しい情報であるときには、前記新たに受信した情報を有する新たに到着した制御パケットの少なくとも一部項目の情報を他インタフェース内のＬＳＤＢ検索装置に転送する手段と、
他より転送された前記制御パケットの少なくとも一部項目の情報を格納する手段とを備えた請求項１４記載のＬＳＤＢ検索装置。
【請求項１６】
パケット転送装置に備えられ、入力回線から入力されたパケットに対して処理を行うインタフェースに設けられたＬＳＤＢ検索装置に適用されるプログラムであって、
コンピュータ装置にインストールすることにより、そのコンピュータ装置に、
ルーティングプロトコルの制御パケットを用いて受信した情報を収集する機能と、
この収集した受信した情報の少なくとも一部を格納する機能と、
この格納した情報と前記収集する機能により新たに受信した情報の少なくとも一部の情報とを比較して当該情報の新旧を判定する機能と
を備えたＬＳＤＢ検索装置に相応する機能を実現させるプログラム。
【請求項１７】
前記判定する機能の判定結果に基づき、前記新たに受信した情報の少なくとも一部の情報が前記格納した情報よりも新しい情報であるときには、経路制御装置に前記新たに受信した情報を有する新たに到着した制御パケットを転送し、前記新たに受信した情報の少なくとも一部の情報が前記格納した情報と同等もしくは古い情報であるときには、前記新たに受信した情報を有する新たに到着した制御パケットを廃棄する機能を実現させる請求項１６記載のプログラム。
【請求項１８】
前記判定する機能の判定結果に基づき、前記新たに受信した情報の少なくとも一部の情報が前記格納した情報よりも新しい情報であるときには、前記経路制御装置に転送した制御パケットの少なくとも一部の情報を他のインタフェース内のＬＳＤＢ検索装置に転送する機能を実現させる請求項１７記載のプログラム。
【請求項１９】
前記判定する機能の判定結果に基づき、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報よりも新しい情報であるときには、前記新たに受信した情報を有する新たに到着した制御パケットの少なくとも一部項目の情報を他インタフェース内のＬＳＤＢ検索装置に転送する機能と、
他より転送された前記制御パケットの少なくとも一部項目の情報を格納する機能とを実現させる請求項１８記載のプログラム。
【請求項２０】
請求項１６記載のプログラムが記録された前記コンピュータ装置が読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】  本願は、２００３年８月２０日に出願された特願２００３−２９６４０８号、ならびに２００３年８月２２日に出願された特願２００３−２９８７３４対し優先権を主張し、その内容をここに援用する。
［技術分野］
本発明は、ネットワーク上のパケット転送装置情報、ネットワーク情報をネットワーク内のパケット転送装置間で、またはルーティングテーブル生成装置間で、ＯＳＰＦ（Ｏｐｅｎ  Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆｉｒｓｔ）やＩＳＩＳ（Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｓｙｓｔｅｍ  ｔｏ  Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｓｙｓｔｅｍ）などのルーティングプロトコルを用いて、交換し収集した情報から最短経路を計算するＤｉｊｋｓｔｒａなどの最短経路アルゴリズムを使って、パケットの宛先までの最短経路を求めるために用いるルーティングテーブルの生成技術に関する。
また、本発明は、ＩＰルータなどのパケット転送装置が、入力回線から入力されたパケットに対して必要な処理（例えば宛先アドレスを見て宛先への最短経路を求めこのパケットの出力回線を決定するなど）を行うインタフェースに利用する。特に、ＯＳＰＦ（Ｏｐｅｎ  Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆｉｒｓｔ）やＩＳＩＳ（Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｓｙｓｔｅｍ  ｔｏ  Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｓｙｓｔｅｍ）などのルーティングプロトコルで受信した制御パケットを用いて受信した情報の処理技術に関する。
【背景技術】  従来は、ルーティングテーブル生成装置は外部メモリ（ＳＲＡＭやＳＤＲＡＭ）と情報処理装置からなるだけであり、情報処理装置は受信した情報を情報の項目毎に分けて、情報を一意に識別する項目から検索ツリーを作成し、ツリーの中には受信した情報とツリー構成情報とを格納している。
また、ＯＳＰＦやＩＳＩＳなどのルーティングプロトコルは、制御メッセージをルータなどのパケット転送装置間でやりとりを行い、得られたネットワーク上のパケット転送装置のリンクコスト情報を元に最短経路を導き出す。制御メッセージはネットワーク状態の更新があった時または（および）定期的にネットワーク内の全パケット転送装置にブロードキャストされる。
ルータが制御メッセージ受信時に制御が新しいかどうか判断するために、制御メッセージから作成されたリンク状態データベース（以下、ＬＳＤＢ（Ｌｉｎｋ  Ｓｔａｔｅ  Ｄａｔａ  Ｂａｓｅ）という）検索を行うが、従来方式では、ＬＳＤＢ検索がルーティングプロトコルを制御する経路制御装置（以下、ＲＳ（Ｒｏｕｔｅ  Ｓｅｒｖｅｒ））で集中的に行われていた。
ＬＳＤＢ検索速度はメモリアクセス速度が鍵となるが、多くのパケット転送装置ではコスト削減のためにＲＳにパソコンカードを利用することが多く、これらは低速メモリを採用しており、またパソコンカードを利用しない場合でもＲＳでは様々なアプリケーションやＯＳを動かすため、大容量メモリが要求されコストの安い低速メモリを採用している。このため、ＬＳＤＢの高速検索が不可能であった。
従来は、ＲＳでＬＳＤＢ検索には検索ツリーを作成し検索を行っていた。ＲＳはインタフェースから転送された制御パケットの情報を項目毎に分けて、この情報を一意に識別する項目を元に検索ツリーを作成し、ツリーの中には受信した情報とツリー構成情報とを格納している。
検索ツリーの中でも特に一般的に用いられているパトリシアツリーについて説明する。パトリシアツリーは２分探索木の一種であり、ノードがツリー上にポインタを用いて繋がっている。
図１に検索すべき比較項目とその回答を検索テーブルで表した図を示す。図１の検索テーブルをパトリシアツリーを用いて検索する例を図２に示す。なお、説明を分かりやすくするために、各フィールドは２進数で表記しフィールドの長さは５ｂｉｔとする。また「＊」は検索時にそれ以降のビット値を無視することを示す。
検索すべき検索キーとノードに格納されている比較項目とを比較しながら、ツリーを下方向に分岐していく。検索はあるノードに検索すべき検索キーが到達したとき、そのノードが持つ比較項目と検索すべき検索キーの上位から必要なビット分（＊の直前のビットまでであり、１００＊ならば上位３ビット分）を比較する。一致しない場合は、一致する項目がないという結果で検索を終了する。一致した場合は、検索すべき検索キーの中の比較したビットの一番最後の次ビットに注目し、自分よりも下のノード（以下、子ノードと呼ぶ）が存在する場合は子ノードへ移り検索を続け、全ビットが一致した時点で検索を終了し、そのノードに格納されている回答を得ることができる。
図２では、１０００１という検索キーを検索する場合の例を示している。最初に検索キーの最初の１ビット目を見て０であるか１であるかを判断する。本例では、１であるので、ノード１００＊へ移り上位３ビット分を比較する。一致しているので次に検査ビットとなる検索キーの４ビット目を調べる。検索ビットが０なのでノード１０００１へ移る。ここで全ビット一致しているため検索を終了し、回答であるＸを得ることができる。
その他に、ＴＣＡＭ（Ｔｅｒｎａｒｙ  Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）による検索方法がある。ＴＣＡＭは、インタフェース上のルーティングテーブル検索に使われることがある。ＴＣＡＭは、ＳＲＡＭやＳＤＲＡＭのように物理アドレスをキーとして格納されているデータを出力するのではなく、各物理アドレスに格納された値と入力された値とを比較し一致した場合には一致した値が格納されていた物理アドレスを出力するものである。
図１の検索テーブルをＴＣＡＭを用いて検索する例を図３に示す。ＴＣＡＭ内には比較項目を、外部メモリにはその回答を格納する。このとき、比較項目を格納しているＴＣＡＭの物理アドレスと比較項目の回答を格納している外部メモリの物理アドレスとをマッピングできるようにしておく。本例では、比較項目を格納しているＴＣＡＭの物理アドレスと比較項目の回答を格納している外部メモリの物理アドレスとは同じ物理アドレスとしている。
前述の通りＴＣＡＭは各物理アドレスに格納された値と入力された値とを比較し、一致した場合には一致した値が格納されていた物理アドレスを出力するため、図３の例では検索キーとして１０００１を入力した時には物理アドレス＃９が出力され、その物理アドレスを元に回答を外部メモリから獲得することができる。ＴＣＡＭの検索は１回の入力で、格納されているデータ全てを１度に検索することが可能なため、非常に高速な検索が可能であり、またネットワークが大きくなっても（比較項目が多くなっても）検索に必要な時間は変わらないという利点がある。
ツリーの深さは検索すべき検索キーのビット幅に依存する。例えば検索キーがＩＰｖ４アドレスならば最大３３回必要になり、ＩＰｖ６アドレスでは最大１２９回必要になる。図４にパトリシアツリーを使った検索の経路を破線で示す。ノード内の情報は外部メモリに格納されているので、検索回数がメモリ参照回数に比例する。検索キーのビット幅が大きくなると、またツリーのノード数が増えると検索回数（メモリ参照回数）が増え検索に多くの時間が必要になるという課題がある。
ルーティングテーブル作成を行うルーティングプロトコルの処理には大きく分けて、下記の３つがある。
（１）リンク状態情報管理：リンクやネットワーク状態を伝えるリンク状態情報パケットの送受信を行い、リンク状態情報をデータベースとして管理
（２）最短経路計算：リンク状態情報のデータベースからＤｉｊｋｓｔｒａアルゴリズムのような最短経路アルゴリズムを利用し宛先までの最短経路の算出
（３）近接ルータの発見と維持（Ｈｅｌｌｏパケット処理）：Ｈｅｌｌｏパケット交換により近接ルータの発見と障害検出
特に、多くの処理時間が必要となる（１）、（２）の処理の中でも、リンク状態情報データベースの検索にかかる時間が多くを占め、また従来方式では検索ツリーを用いているためネットワークが大きくなればなるほど、ツリーのノード数が大きくなるためリンク状態情報のデータベースの検索に時間が必要になっていた。そのため近年インターネットの急速な普及により、１つの管理ドメインが管理するネットワークはますます大きくなってきているが、それに伴いルーティングテーブル生成が遅くなったり、経路がフラッピングする（最短経路が一意に決まらずフラフラする）といった問題が発生し、１つの管理ドメインでは大きなネットワークを作成できないという課題があった（例えば、Ｆａｓｔｅｒ  ｌｉｎｋ−ｓｔａｔｅ  ＩＧＰ  ｃｏｎｖｅｒｇｅｎｃｅ  ａｎｄ  ｉｍｐｒｏｖｅｄ  ｎｅｔｗｏｒｋ  ｓｃａｌａｂｉｌｉｔｙ  ａｎｄ  ｓｔａｂｉｌｉｔｙ；Ｃｈｏｕｄｈｕｒｙ，Ｇ．Ｌ．；Ｍａｕｎｄｅｒ，Ａ．Ｓ．；Ｓａｐｏｚｈｎｉｋｏｖａ，Ｖ．Ｄ．；Ｌｏｃａｌ  Ｃｏｍｐｕｔｅｒ  Ｎｅｔｗｏｒｋｓ，２００２．Ｐｒｏｃｅｅｄｉｎｇｓ．ＬＣＮ２００１．２６ｔｈ  Ａｎｎｕａｌ  ＩＥＥＥ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ，１４−１６  Ｎｏｖ．２００１．Ｐａｇｅ（ｓ）：１４９−１５８参照）。
【発明の開示】
本発明の第１態様は、このような背景に行われたものであって、ネットワークの増大に伴いルーティングテーブルの生成に時間がかかるために、１つの管理ドメインでは大きなネットワークを作ることができなかったという課題を解決することを目的とする。
本発明の第１態様は、入力回線から入力されたパケットの宛先アドレスに基づき当該パケットの次ホップを決定するためのルーティングテーブルを生成するルーティングテーブル生成装置である。
ここで、本発明の第１態様の特徴とするところは、ＴＣＡＭと、外部メモリと、受信した情報を項目毎に分類する手段と、この分類された項目のうち当該情報を一意に識別する項目については前記ＴＣＡＭに格納し、その他の項目については前記外部メモリに格納する手段とを備えたところにある。
これにより、格納してある情報を検索する際には、その情報を一意に識別する項目が格納されているＴＣＡＭだけを検索すればよいので、高速検索を実現することができる。
また、新たに情報を受信したときには、当該情報の格納に先立って、前記分類された項目のうち当該情報を一意に識別する項目を検索キーとして前記ＴＣＡＭに格納された情報を検索する手段と、この検索により新たに受信した情報の前記一意に識別する項目と既に前記ＴＣＡＭに格納されている情報の前記一意に識別する項目とが不一致のときには、前記格納する手段による格納処理を起動する手段と、この検索により新たに受信した情報の前記一意に識別する項目と既に前記ＴＣＡＭに格納されている情報の前記一意に識別する項目とが一致したときには、当該一意に識別する項目に対応する前記外部メモリに格納された情報と新たに受信した情報の同一項目との新旧を比較する手段とを備えることができる。
さらに、前記比較する手段の比較結果により新たに受信した情報が既に前記外部メモリに格納されている情報よりも古いまたは同一であるときには当該新たに受信した情報を無視する手段と、前記比較する手段の比較結果により新たに受信した情報が既に前記外部メモリに格納されている情報よりも新しいときには既に前記外部メモリに格納されている情報を新たに受信した情報により更新する手段を備えることができる。
これにより、新たに到着した情報が外部メモリに既に格納されている情報よりも古いまたは同一であるときには更新処理を行わず、更新処理に要する処理負荷を軽減させることができると共に、不要な情報の格納を回避してメモリを有効に利用することができる。
また、前記ＴＣＡＭおよび前記外部メモリに格納された情報を用いて到着したパケットの宛先アドレスに基づく最短経路探索を行う手段を備えることができる。
これにより、１つの装置の情報処理装置を用いてルーティングテーブル生成と共に最短経路探索を行うことができ、ハードウェアを有効利用することができる。
さらに、前記最短経路探索に基づき到着したパケットの次ホップを決定する手段を備えることができる。
本発明の第１態様の他の観点は、入力回線から入力されたパケットの宛先アドレスに基づき当該パケットの次ホップを決定するためのルーティングテーブルを生成するルーティングテーブル生成装置に適用されるプログラムである。
ここで、本発明の第１態様の特徴とするところは、コンピュータ装置にインストールすることにより、そのコンピュータ装置に、受信した情報を項目毎に分類する機能と、この分類された項目のうち当該情報を一意に識別する項目についてはＴＣＡＭに格納し、その他の項目については外部メモリに格納する機能とを実現させるところにある。
また、新たに情報を受信したときには、当該情報の格納に先立って、前記分類された項目のうち当該情報を一意に識別する項目を検索キーとして前記ＴＣＡＭに格納された情報を検索する機能と、この検索により新たに受信した情報の前記一意に識別する項目と既に前記ＴＣＡＭに格納されている情報の前記一意に識別する項目とが不一致のときには、前記格納する機能による格納処理を起動する機能と、この検索により新たに受信した情報の前記一意に識別する項目と既に前記ＴＣＡＭに格納されている情報の前記一意に識別する項目とが一致したときには、当該一意に識別する項目に対応する前記外部メモリに格納された情報と新たに受信した情報の同一項目との新旧を比較する機能とを実現させることができる。
さらに、前記比較する機能の比較結果により新たに受信した情報が既に前記外部メモリに格納されている情報よりも古いまたは同一であるときには当該新たに受信した情報を無視する機能と、前記比較する機能の比較結果により新たに受信した情報が既に前記外部メモリに格納されている情報よりも新しいときには既に前記外部メモリに格納されている情報を新たに受信した情報により更新する機能を実現させることができる。
また、前記ＴＣＡＭおよび前記外部メモリに格納された情報を用いて到着したパケットの宛先アドレスに基づく最短経路探索を行う機能を実現させることができる。さらに、前記最短経路探索に基づき到着したパケットの次ホップを決定する機能を実現させることができる。
本発明の第１態様のさらに他の観点は、本発明のプログラムが記録された前記コンピュータ装置読み取り可能な記録媒体である。本発明のプログラムは本発明の記録媒体に記録されることにより、前記コンピュータ装置は、この記録媒体を用いて本発明のプログラムをインストールすることができる。あるいは、本発明のプログラムを保持するサーバからネットワークを介して直接前記コンピュータ装置に本発明のプログラムをインストールすることもできる。
これにより、汎用のコンピュータ装置を用いて、ルーティングテーブルの生成時間を短縮することができ、１つの管理ドメインで大きなネットワークを作ることを可能とするルーティングテーブル生成装置を実現することができる。
本発明の第２態様は、パケット転送装置に備えられ、入力回線から入力されたパケットに対して処理を行うインタフェースに設けられたＬＳＤＢ検索装置である。本発明の第２態様の特徴とするところは、ルーティングプロトコルの制御パケットを用いて受信した情報を収集する手段と、この収集した受信した情報の少なくとも一部項目を格納する手段と、この格納した情報と前記収集する手段により新たに受信した情報の少なくとも一部項目の情報とを比較して当該情報の新旧を判定する手段とを備えたところにある。これにより、到着する情報の新旧を判定することができる。
また、上記ＬＳＤＢ検索装置は、前記判定する手段の判定結果に基づき、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報よりも新しい情報であるときには、経路制御装置に前記新たに受信した情報を有する新たに到着した制御パケットを転送し、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報と同等もしくは古い情報であるときには、前記新たに受信した情報を有する新たに到着した制御パケットを廃棄する手段とを備えることができる。
これにより、新しい情報を選択してそれだけを扱うことができるため、ＲＳの負荷を削減し、従来不可能であった１つのドメインが管理する大きなネットワークを作成することができる。
あるいは、上記ＬＳＤＢ検索装置は、前記判定する手段の判定結果に基づき、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報よりも新しい情報であるときには、前記経路制御装置に転送した制御パケットの少なくとも一部項目の情報を他のインタフェース内のＬＳＤＢ検索装置に転送する手段を備えることができる。
また、上記ＬＳＤＢ検索装置は、前記判定する手段の判定結果に基づき、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報よりも新しい情報であるときには、前記新たに受信した情報を有する新たに到着した制御パケットの少なくとも一部項目の情報を他インタフェース内のＬＳＤＢ検索装置に転送する手段を備え、他より転送された前記制御パケットの少なくとも一部項目の情報を格納する手段を備えることができる。
これにより、新たらしい情報を選択してそれだけを複数のＬＳＤＢ検索装置で共有することができる。
本発明の第２態様の他の観点は、パケット転送装置に備えられ、入力回線から入力されたパケットに対して処理を行うインタフェースに設けられたＬＳＤＢ検索装置に適用されるプログラムであって、本発明の特徴とするところは、コンピュータ装置にインストールすることにより、そのコンピュータ装置に、ルーティングプロトコルの制御パケットを用いて受信した情報を収集する機能と、この収集した受信した情報の少なくとも一部項目を格納する機能と、この格納した情報と前記収集する機能により新たに受信した情報の少なくとも一部項目の情報とを比較して当該情報の新旧を判定する機能とを備えたＬＳＤＢ検索装置に相応する機能を実現させるところにある。
また、前記判定する機能の判定結果に基づき、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報よりも新しい情報であるときには、経路制御装置に前記新たに受信した情報を有する新たに到着した制御パケットを転送し、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報と同等もしくは古い情報であるときには、前記新たに受信した情報を有する新たに到着した制御パケットを廃棄する機能を実現させることができる。
また、前記判定する機能の判定結果に基づき、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報よりも新しい情報であるときには、前記経路制御装置に転送した制御パケットの少なくとも一部項目の情報を他のインタフェース内のＬＳＤＢ検索装置に転送する機能を実現させることができる。
また、前記判定する機能の判定結果に基づき、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報よりも新しい情報であるときには、前記新たに受信した情報を有する新たに到着した制御パケットの少なくとも一部項目の情報を他インタフェース内のＬＳＤＢ検索装置に転送する機能を実現させ、他より転送された前記制御パケットの少なくとも一部項目の情報を格納する機能を実現させることができる。
さらに、本発明の第２態様の他の観点は、本発明のプログラムが記録された前記コンピュータ装置読取可能な記録媒体である。本発明のプログラムは本発明の記録媒体に記録されることにより、前記コンピュータ装置は、この記録媒体を用いて本発明のプログラムをインストールすることができる。あるいは、本発明のプログラムを保持するサーバからネットワークを介して直接前記コンピュータ装置に本発明のプログラムをインストールすることもできる。
これにより、汎用のコンピュータ装置を用いて、パケット転送装置内のＲＳの処理負荷を削減することにより、１つの管理ドメインで大きなネットワークを作ることを可能にするＬＳＤＢ検索装置を実現することができる。
【図面の簡単な説明】  図１は、従来の検索テーブルの例を示す図である。
図２は、従来のパトリシアツリーによる検索方法を説明するための図である。
図３は、従来のＴＣＡＭを使った検索を説明するための図である。
図４は、パトリシアツリーを使った検索経路を示す図である。
図５は、本発明の第１実施形態のルーティングテーブル生成装置の構成図である。
図６は、既存のパケット転送装置の構成図である。
図７は、本発明の第１実施形態のパケット転送装置の構成例１を示す図である。
図８は、本発明の第１実施形態のパケット転送装置の構成例２を示す図である。
図９は、本発明の第１実施形態のパケット転送装置の構成例３を示す図である。
図１０は、本発明の第１実施形態のパケット転送装置の構成例４を示す図である。
図１１は、Ｒｏｕｔｅｒ  ＬＳＡのフォーマットを示す図である。
図１２は、Ｎｅｔｗｏｒｋ  ＬＳＡのフォーマットを示す図である。
図１３は、本発明の第１実施形態の情報処理装置の動作を説明するためのネットワーク例を示す図である。
図１４は、本発明の第１実施形態のＴＣＡＭと外部メモリへの格納項目を示す図である。
図１５は、本発明の第１実施形態のＬＳＡ受信時の動作を説明するための図である。
図１６は、本発明の第１実施形態のＳＰＦ計算時の動作を説明するための図である。
図１７は、本発明の第１実施形態の検索モデルを示す図である。
図１８は、図１７の検索モデルによるシミュレーション結果を示すグラフである。
図１９は、本発明の第２実施形態の第１実施例のＬＳＤＢ検索装置を備えたパケット転送装置の構成図である。
図２０は、本発明の第２実施形態の第１実施例のＬＳＤＢ検索装置の構成図である。
図２１は、本発明の第２実施形態の第２実施例のＬＳＤＢ検索装置を備えたパケット転送装置の構成図である。
図２２は、本発明の第２実施形態の第２実施例のＬＳＤＢ検索装置の構成図である。
図２３は、パケット転送装置情報を記述したＬＳＡの１種であるＲｏｕｔｅｒ  ＬＳＡのフォーマットを示す図である。
図２４は、ネットワーク情報を記述したＬＳＡの１種であるＮｅｔｗｏｒｋＬＳＡのフォーマットを示す図である。
図２５は、ＬＳＤＢ検索装置に格納する情報と情報処理装置の動作例を説明する前提となるネットワーク例を示す図である。
図２６は、図２５を元にしたＬＳＤＢ検索装置に格納する情報を示す図である。
図２７は、ＬＳＤＢ検索装置がＬＳＡを受信した時の動作例を示す図である。
図２８は、既存のパケット転送装置の構成例１を示す図である。
図２９は、既存のパケット転送装置の構成例２を示す図である。
【発明を実施するための最良の形態】  以下、図面を参照しつつ、本発明の好適な実施例について説明する。ただし、本発明は以下の各実施例に限定されるものではなく、例えばこれら実施例の構成要素同士を適宜組み合わせてもよい。
＜第１実施形態＞
本発明の第１実施形態はルーティングテーブル生成装置である、このルーティングテーブル生成装置を、図５ないし図１６を参照して説明する。図５は本発明の第１実施形態のルーティングテーブル生成装置の構成図である。
本発明の第１実施形態は、入力回線から入力されたパケットの宛先アドレスに基づき当該パケットの次ホップを決定するためのルーティングテーブルを生成するルーティングテーブル生成装置である。
ここで、本発明の第１実施形態の特徴とするところは、図５に示すように、ＴＣＡＭ１０１と外部メモリ１０２とを備え、受信した情報を項目毎に分類する手段と、この分類された項目のうち当該情報を一意に識別する項目については前記ＴＣＡＭに格納し、その他の項目については前記外部メモリに格納する手段とを情報処理装置１０３に備えたところにある。
また、情報処理装置１０３は、新たに情報を受信したときには、当該情報の格納に先立って、前記分類された項目のうち当該情報を一意に識別する項目を検索キーとしてＴＣＡＭ１０１に格納された情報を検索する手段と、この検索により新たに受信した情報の前記一意に識別する項目と既にＴＣＡＭ１０１に格納されている情報の前記一意に識別する項目とが不一致のときには、前記格納する手段による格納処理を起動する手段と、この検索により新たに受信した情報の前記一意に識別する項目と既にＴＣＡＭ１０１に格納されている情報の前記一意に識別する項目とが一致したときには、当該一意に識別する項目に対応する外部メモリ１０２に格納された情報と新たに受信した情報の同一項目との新旧を比較する手段とを備える。
さらに、情報処理装置１０３は、前記比較する手段の比較結果により新たに受信した情報が既に外部メモリ１０２に格納されている情報よりも古いまたは同一であるときには当該新たに受信した情報を無視する手段と、前記比較する手段の比較結果により、新たに受信した情報が既に外部メモリ１０２に格納されている情報よりも新しいときには既に外部メモリ１０２に格納されている情報を新たに受信した情報により更新する手段を備える。
また、情報処理装置１０３は、ＴＣＡＭ１０１および外部メモリ１０２に格納された情報を用いて、到着したパケットの宛先アドレスに基づく最短経路探索を行う手段を備える。さらに、前記最短経路探索に基づき、到着したパケットの次ホップを決定する手段を備える。
また、本発明の第１実施形態は、汎用のコンピュータ装置にインストールすることにより、そのコンピュータ装置に本発明のルーティングテーブル生成装置の各手段に相応する機能を実現させるプログラムとして実現することができる。このプログラムは、記録媒体に記録されてコンピュータ装置にインストールされ、あるいは通信回線を介してコンピュータ装置にインストールされることにより当該コンピュータ装置に、情報処理装置１０３に相応する機能を実現させることができる。
以下では、本発明の第１実施形態をさらに詳細に説明する。
本実施形態のルーティングテーブル生成装置は、図５に示すように、情報処理装置１０３とＴＣＡＭ１０１と外部メモリ１０２とを備える。情報処理装置１０３は、ＯＳＰＦやＩＳＩＳなどのルーティングプロトコルを使って交換し収集した情報を、情報の項目毎に分けて、情報を一意に識別する項目をＴＣＡＭ１に格納し、それ以外の必要な項目（以下リンク状態情報と呼ぶ）を外部メモリ１０２に分けて格納したり、受信した情報から情報を一意に識別するための項目を抜き出し、ＴＣＡＭ１０１に入力して検索し、その結果に応じて情報を外部メモリ１０２に格納したり、情報の更新をしたり必要な処理を行う。また、情報処理装置１０３はＴＣＡＭ１０１と外部メモリ１０２を利用し最短経路を計算し、ルーティングテーブル検索装置にルーティングテーブルを転送する機能を持つ。
図６は既存のパケット転送装置の構成例である。ＲＳ（Ｒｏｕｔｅ  Ｓｅｒｖｅｒ）１２０、ＳＷ（Ｓｗｉｔｃｈ）１３０、ＩＦ（Ｉｎｔｅｒｆａｃｅ：回線）からなり、ＲＳ１２０でＯＳＰＦやＩＳＩＳなどのルーティングプロトコルの処理を行い、ルーティングテーブルを生成し、ＲＳ１２０で作成したルーティングテーブルをＩＦのルーティングテーブル検索装置１１０に転送していた。
入力回線から入力されたパケットはＮＰ（Ｎｅｔｗｏｒｋ  Ｐｒｏｃｅｓｓｏｒ）１１１において宛先アドレス情報を抜き出し、ルーティングテーブル検索装置１１０で宛先までの最短経路に基づく次ホップ（次ルータ）を決定し、パケットを出力するＩＦを決定していた。
以下、本発明の第１実施形態のルーティングテーブル生成装置を持ったパケット転送装置構成の例を４つ上げる。
（構成例１）
図７に本発明の第１実施形態のルーティングテーブル生成装置の構成例１を示す。構成例１はＲＳ１２１に本実施例のルーティングテーブル生成装置１２２を配備するものである。これはＯＳＰＦやＩＳＩＳなどのルーティングプロトコルの処理はＲＳ１２１で行うため、その情報を利用するルーティングテーブル生成装置１２２をＲＳ１２１内に置いた構成である。本構成はルーティングテーブル生成装置１２２をＲＳ１２１内においているので、ルーティングテーブル生成装置１２２に必要な情報のやりとりが容易という利点がある。
（構成例２）
図８に本発明の第１実施形態のルーティングテーブル生成装置の構成例２を示す。構成例２はＩＦ上にルーティングテーブル生成装置１１２を配備するものである。ルーティングテーブル生成装置１１２が生成したルーティングテーブルはルーティングテーブル検索装置１１０に転送されるため、その転送が容易であるという利点がある。
（構成例３）
図９に本実施形態のルーティングテーブル生成装置の構成例３を示す。本構成例は、ＲＳ１２３にＴＣＡＭ１０１のみを追加した構成例である。ＲＳ１２３は、図５に示した本実施形態のルーティングテーブル生成装置の情報処理装置１０３に相当するＣＰＵ１２４と外部メモリ１０２に相当する外部メモリ１２５を元々持っている。情報処理装置１０３として元々持っているＣＰＵ１２４を利用し元々持っている外部メモリ１２５とＴＣＡＭ１２６を新しく追加することで、ルーティングテーブル生成装置１２７を作成することが可能である。本例は元々持っているＣＰＵ１２４と外部メモリ１２５を利用するため、実装コストが少なくて済むという利点がある。
（構成例４）
図１０に本実施形態のルーティングテーブル生成装置の構成例４を示す。ＮＰ１１１はプロセッサ機能を持っておりこれを図５に示した情報処理装置１０３として利用し、元々ルーティングテーブル検索装置１１６のために配備しているＴＣＡＭ１１４と外部メモリ１１５を、図５に示したＴＣＡＭ１０１と外部メモリ１０２として利用することで、ルーティングテーブル生成装置を作成することが可能である。本例は元々持っているＮＰ１１１内のプロセッサと外部メモリ１１５とＴＣＡＭ１１４を利用するため、実装コストが少なくて済むという利点がある。
（構成例５）
以下ではルーティングプロトコルとしてＯＳＰＦを例に採り上げて、ＴＣＡＭ１０１と外部メモリ１０２に格納する情報と、情報処理装置１０３の動作について説明する。ネットワーク上のパケット転送装置やネットワーク情報をネットワーク内のパケット転送装置間で、または、ルーティングテーブル生成装置間で、ＯＳＰＦが交換し収集する情報は、ＬＳＵ（Ｌｉｎｋ  Ｓｔａｔｅ  Ｕｐｄａｔｅ）と呼ばれるパケットでやりとりが行われ、ＬＳＵには５種類のＬＳＡ（Ｌｉｎｋ  Ｓｔａｔｅ  Ａｄｖｅｒｔｉｓｅｍｅｎｔ）と呼ばれるパケット転送装置やネットワーク情報を記述したデータ種別がある。
パケット転送装置情報を記述したＬＳＡの１種であるＲｏｕｔｅｒ  ＬＳＡのフォーマットを図１１に示す。ネットワーク情報を記述したＬＳＡの１種であるＮｅｔｗｏｒｋ  ＬＳＡのフォーマットを図１２に示す。図１３にＴＣＡＭと外部メモリに格納する情報と、情報処理装置の動作例を説明する前提となるネットワーク例を示す。図１４に、図１３を元にしたＬＳＡ情報を集めたデータベースであるＬＳＤＢ（Ｌｉｎｋ  Ｓｔａｔｅ  Ｄａｔａ  Ｂａｓｅ）について、ＴＣＡＭと外部メモリに格納する情報を示す。
ＬＳＡは、ＬＳ  Ｔｙｐｅ、Ｌｉｎｋ  Ｓｔａｔｅ  ＩＤ、Ａｄｖｅｒｔｉｓｉｎｇ  Ｒｏｕｔｅｒにより一意に識別されるので、これらをＴＣＡＭに情報を一意に識別する項目として格納し、それ以外をリンク状態情報として、外部メモリに格納する。
図１５にはルーティングテーブル生成装置がＬＳＡを受信した時の動作例を示す。ＬＳＡ受信時には受信したＬＳＡのＬＳ  Ｔｙｐｅ、Ｌｉｎｋ  Ｓｔａｔｅ  ＩＤ、Ａｄｖｅｒｔｉｓｉｎｇ  ＲｏｕｔｅｒからＴＣＡＭでデータの有無を判断する。ＴＣＡＭに無ければ新規ＬＳＡとなるのでＬＳＤＢに追加する（ＴＣＡＭと外部メモリとに分けて情報を格納する）。ＬＳＤＢ内にデータがある場合にはＴＣＡＭでヒットするので、外部メモリから情報を引き出し、Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ等の比較等、必要な処理を実施する。
図１５の例では、パケット転送装置Ａがパケット転送装置ＤからＲｏｕｔｅｒ  ＬＳＡを受信したとする。本例の場合ＴＣＡＭでヒットするので、外部メモリから情報を引き出し、Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ等の比較等、必要な処理を実施することになる。
必要な処理とは、例えば、受信したＬＳＡのＳｅｑｕｅｎｃｅ  ｎｕｍｂｅｒと外部メモリに既に格納されている情報のＳｅｑｕｅｎｃｅ  ｎｕｍｂｅｒとを比較し、この比較結果により新たに受信したＬＳＡが既に外部メモリに格納されている情報よりも古いまたは同一であるときには当該新たに受信したＬＳＡを無視し、この比較結果により新たに受信したＬＳＡが既に外部メモリに格納されている情報よりも新しいときには既に外部メモリに格納されている情報を新たに受信したＬＳＡにより更新する。
また、図１６ではルータＡが最短経路の計算を行う例を示している。下記のステップによってネットワーク構成情報を得ることができる。ネットワーク構成情報からＤｉｊｋｓｔｒａアルゴリズムを用いて最短経路を求めることが可能となる。
Ｓｔｅｐ１：計算元ルータのＬｉｎｋ  Ｓｔａｔｅ  ＩＤからネットワークのＤＲ（指定ルータ）アドレスを求める。
Ｓｔｅｐ２，３：ＤＲアドレスを検索キーとし、Ｎｅｔｗｏｒｋ  ＬＳＡからネットワーク内のＡｔｔａｃｈｅｄ  Ｒｏｕｔｅｒ（当該ネットワークにアクセスしているルータ）とネットワークのＮｅｔ  ｍａｓｋの情報を得る。これによりネットワークとそのネットワークへ接続しているルータがわかる。
Ｓｔｅｐ４，５：Ａｔｔａｃｈｅｄ  ＲｏｕｔｅｒのアドレスをキーとしてＲｏｕｔｅｒ  ＬＳＡからＡｔｔａｃｈｅｄ  Ｒｏｕｔｅｒの情報（リンクのＩＰアドレス、メトリック等）を得る。これによりルータのリンク情報がわかり、次ホップのルータが決まる。
本発明の効果を下記のような条件で評価した。ＯＳＰＦから検索関数（検索方法はパトリシアツリーとし）を呼んでいる箇所をそのままＴＣＡＭへのアクセスへ置き換えたと仮定し、図１７のようなパトリシアツリーとＴＣＡＭにおける単純な検索モデルで比較した。検索速度は商用で容易に購入できるＳＲＡＭとＴＣＡＭのアクセス速度（各５ｎｓ）を参考にした。ＣＰＵ処理時間はパトリシアツリー検索の場合１回の検索を行う度にツリーの上位から１つづつデータを検索する必要があるが、ＴＣＡＭ検索の場合は、ＣＰＵ処理はデータをＴＣＡＭへ入力するだけであるため、明らかにパトリシアツリー検索の方が時間がかかるが、今回は考慮に入れず、メモリアクセス時間のみで評価を行った。ＬＳＡを１００００個送信した場合のＬＳＡ検索時間をパトリシアツリーで検索した場合とＴＣＡＭで検索した場合のそれぞれについて計算し予測した結果を図１８に示す。アクセス回数が増えるほどパトリシアツリーとＴＣＡＭのアクセス時間の差が広がり、最終的にはＴＣＡＭ総アクセス時間がパトリシアツリー総アクセス時間の約１／６になることが分かった。
以上記載したように、本発明の第１実施形態によれば、ルーティングテーブルの生成時間を短縮することができ、１つの管理ドメインで大きなネットワークを作ることを可能とする。
＜第２実施形態＞
本発明の第２実施形態はＬＳＤＢ検索装置である。このＬＳＤＢ検索装置を、図１９ないし図２２を参照して説明する。図１９は、本発明の第２実施形態の第１実施例のＬＳＤＢ検索装置を備えたパケット転送装置の構成図である。図２０は、本発明の第２実施形態の第１実施例のＬＳＤＢ検索装置の構成図である。図２１は、本発明の第２実施形態の第２実施例のＬＳＤＢ検索装置を備えたパケット転送装置の構成図である。図２２は、本発明の第２実施形態の第２実施例のＬＳＤＢ検索装置の構成図である。
本発明の第２実施形態は、図１９に示すように、パケット転送装置２３０に備えられ、入力回線から入力されたパケットに対して処理を行うインタフェースに設けられたＬＳＤＢ検索装置２１０である。本実施形態の特徴とするところは、図２０に示すように、ルーティングプロトコルの制御パケットを用いて受信した情報を収集する情報処理装置２０１と、この収集した受信した情報の少なくとも一部項目を格納する高速外部メモリ２０２とを備え、情報処理装置２０１は、高速外部メモリ２０２に格納した情報と新たに受信した情報の少なくとも一部項目の情報とを比較して当該情報の新旧を判定する手段を備えたところにある。
また、情報処理装置２０１は、前記判定する手段の判定結果に基づき、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報よりも新しい情報であるときには、ＲＳ２２０に前記新たに受信した情報を有する新たに到着した制御パケットを転送し、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報と同等もしくは古い情報であるときには、前記新たに受信した情報を有する新たに到着した制御パケットを廃棄する手段を備える。
また、情報処理装置２０１は、前記判定する手段の判定結果に基づき、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報よりも新しい情報であるときには、ＲＳ２２０に転送した制御パケットの少なくとも一部項目の情報を他のインタフェース内のＬＳＤＢ検索装置に転送する手段を備える。
また、情報処理装置２０１は、前記判定する手段の判定結果に基づき、前記新たに受信した情報の少なくとも一部項目の情報が前記格納した情報よりも新しい情報であるときには、前記新たに受信した情報を有する新たに到着した制御パケットの少なくとも一部項目の情報を他インタフェース内のＬＳＤＢ検索装置に転送する手段を備え、他より転送された前記制御パケットの少なくとも一部項目の情報を格納する手段を備える。
本発明は、汎用のコンピュータ装置にインストールすることにより、そのコンピュータ装置に本発明のＬＳＤＢ検索装置に相応する機能を実現させるプログラムとして実現することができる。このプログラムは、記録媒体に記録されてコンピュータ装置にインストールされ、あるいは通信回線を介してコンピュータ装置にインストールされることにより当該コンピュータ装置に、情報処理装置２０１に相応する機能を実現させることができる。
図２１に示すパケット転送装置は図２２に示すＬＳＤＢ検索装置を備えている。図２１に示すパケット転送装置では、ルーティングテーブル検索装置とＬＳＤＢ検索装置とを一つのＬＳＤＢ検索装置２１１として実現している。
（第１実施例）
図２０は、本発明の第２実施形態の第１実施例のＬＳＤＢ検索装置例を示す図である。図１９に示す第１実施例のＬＳＤＢ検索装置２１０は、情報処理装置２０１と高速外部メモリ２０２とを備える。本実施例ではＬＳＤＢの検索にはパトリシアツリーのようなツリー検索を利用するものである。ＬＳＤＢ検索装置２１０によって受信した制御パケットの一部項目がＲＳ２２０に転送されるので、情報処理装置２０１は、受け取った情報を項目毎に分けて、この情報を一意に識別する項目を元に検索ツリーを作成し、ツリーの中にはこの情報を一意に識別する項目とツリー構成情報と制御メッセージの新旧を判断する情報（以下ＬＳ  ｓｅｑｕｅｎｃｅ  ｎｕｍｂｅｒと呼ぶ）を格納する。
また、自インタフェースが受信した制御パケットの一部項目がＬＳＤＢ検索装置２１０に格納されると、ＬＳＤＢ検索装置２１０は、格納した制御パケットの一部項目を他インタフェースに転送する。さらに、他インタフェースが受信した制御パケットの一部項目が他インタフェースのＬＳＤＢ検索装置によってＬＳＤＢ検索装置２１０に転送される。これにより、各インタフェースのＬＳＤＢ検索装置２１０では、最新情報を共有することができる。
情報処理装置２０１はＯＳＰＦやＩＳＩＳなどのルーティングプロトコルの制御パケットが入力回線から入力された場合に、制御パケットの情報の項目から情報を一意に識別する項目と、ＬＳ  ｓｅｑｕｅｎｃｅ  ｎｕｍｂｅｒを取り出し、検索ツリーで検索を行う。比較項目として入力された制御パケットの中の情報を一意に識別する項目を入力し検索を行う。検索した結果、回答が見つかった場合には、入力された制御パケットのＬＳ  ｓｅｑｕｅｎｃｅ  ｎｕｍｂｅｒと、回答であるツリーに格納されているＬＳ  ｓｅｑｕｅｎｃｅ  ｎｕｍｂｅｒを比較し、入力された制御パケットの情報が新しくない（既に受信している情報と同じか古い）情報の場合にはこの制御パケットを廃棄する。比較した結果が新しい場合、ＲＳへこの制御パケットを転送する。
また、比較した結果が新しい場合には、制御パケットを受信したインタフェースのＬＳＤＢ検索装置２１０にこの制御パケットの情報を一意に識別する項目とＬＳ  ｓｅｑｕｅｎｃｅ  ｎｕｍｂｅｒが格納され、この情報を一意に識別する項目を元に検索ツリーが作成される。そしてこのＬＳＤＢ検索装置２１０は、自インタフェース以外の全インタフェースにこの制御パケットの情報を一意に識別する項目とＬＳ  ｓｅｑｕｅｎｃｅ  ｎｕｍｂｅｒを転送する。また、ＬＳＤＢ検索装置２１０は、他インタフェースから転送された制御パケットの情報を一意に識別する項目とＬＳ  ｓｅｑｕｎｅｃｅ  ｎｕｍｂｅｒを格納する。これにより、各インタフェースのＬＳＤＢ検索装置２１０で、最新情報を共有することができる。
（第２実施例）
図２２は、本発明の第２実施形態の第２実施例のＬＳＤＢ検索装置を示す図である。第２実施例のＬＳＤＢ検索装置２１１は、情報処理装置２０１とＴＣＡＭ２０３と高速外部メモリ２０２とを備える。第２実施例では、ＬＳＤＢの検索にはＴＣＡＭ２０３を利用するものである。ＬＳＤＢ検索装置２１１によって受信した制御パケットの一部項目をＲＳ２２０に転送するので、情報処理装置２０１は、受け取った情報を項目毎に分けて、この情報を一意に識別する項目をＴＣＡＭ２０３に格納し、制御メッセージの新旧を判断するＬＳ  ｓｅｑｕｅｎｃｅ  ｎｕｍｂｅｒを高速外部メモリ２０２に格納する。
また、ＬＳＤＢ検索装置２１１は、自インタフェースが受信した制御パケットの一部項目を格納すると、ＬＳＤＢ検索装置２１１は、格納した制御パケットの一部項目を他インタフェースに転送する。さらに、ＬＳＤＢ検索装置２１１は、他インタフェースから転送された制御パケットの一部項目を格納する。これにより、各インタフェースのＬＳＤＢ検索装置２１１では、最新情報を共有することができる。
情報処理装置２０１はＯＳＰＦやＩＳＩＳなどのルーティングプロトコルの制御パケットが入力回線から入力された場合に、制御パケットの情報の項目から情報を一意に識別する項目と、ＬＳ  ｓｅｑｕｅｎｃｅ  ｎｕｍｂｅｒを取り出し、ＴＣＡＭ３で検索を行う。比較項目として入力された制御パケットの中の情報を一意に識別する項目をＴＣＡＭ２０３に入力し検索を行う。
検索した結果、回答が見つかった場合には、入力された制御パケットのＬＳ  ｓｅｑｕｅｎｃｅ  ｎｕｍｂｅｒと、回答である高速外部メモリ２０２に格納されているＬＳ  ｓｅｑｕｅｎｃｅ  ｎｕｍｂｅｒを比較し、入力された制御パケットの情報が新しくない（既に受信している情報と同じか古い）情報の場合にはこの制御パケットを廃棄する。比較した結果が新しい場合、ＲＳ２２０へこの制御パケットを転送する。
また、比較した結果が新しい場合には、制御パケットを受信したインタフェースのＬＳＤＢ検索装置２１１は、この制御パケットの情報を一意に識別する項目とＬＳ  ｓｅｑｕｅｎｃ  ｎｕｍｂｅｒを格納し、この情報を一意に識別する項目を元に検索ツリーを作成する。そして、ＬＳＤＢ検索装置２１１は、自インタフェース以外の全インタフェースにこの制御パケットの情報を一意に識別する項目とＬＳ  ｓｅｑｕｅｎｃｅ  ｎｕｍｂｅｒを転送する。また、ＬＳＤＢ検索装置２１１は、他インタフェースから転送された制御パケットの情報を一意に識別する項目とＬＳ  ｓｅｑｕｅｎｃｅ  ｎｕｍｂｅｒを格納する。これにより、各インタフェースのＬＳＤＢ検索装置２１１で、最新情報を共有することができる。
（第３実施例）
以下ではルーティングプロトコルとしてＯＳＰＦを例として採り上げて、ＬＳＤＢ検索装置に格納する情報と、情報処理装置の動作について説明する。ネットワーク上のパケット転送装置情報やネットワーク情報をネットワーク内のパケット転送装置間で、またはルーティングテーブル生成装置間で、ＯＳＰＦが交換し収集する情報は、ＬＳＵ（Ｌｉｎｋ  Ｓｔａｔｅ  Ｕｐｄａｔｅ）と呼ばれるパケットでやりとりが行われ、ＬＳＵには５種類のＬＳＡ（Ｌｉｎｋ  Ｓｔａｔｅ  Ａｄｖｅｒｔｉｓｅｍｅｎｔ）と呼ばれるパケット転送装置やネットワーク情報を記述したデータ種別がある。
パケット転送装置情報を記述したＬＳＡの１種であるＲｏｕｔｅｒ  ＬＳＡのフォーマットを図２３に示す。ネットワーク情報を記述したＬＳＡの１種であるＮｅｔｗｏｒｋＬＳＡのフォーマットを図２４に示す。図２５にＬＳＤＢ検索装置に格納する情報と情報処理装置の動作例を説明する前提となるネットワーク例を示す。図２６に図２５を元にしたＬＳＤＢ検索装置に格納する情報を示す。ＬＳＡは、ＬＳ  Ｔｙｐｅ、Ｌｉｎｋ  Ｓｔａｔｅ  ＩＤ、Ａｄｖｅｒｔｉｓｉｎｇ  Ｒｏｕｔｅｒにより一意に識別されるので、これらの情報を一意に識別する項目としてＬＳＤＢ検索装置に格納する。また、ＬＳＡの新旧を判断するためには、ＬＳ  ｓｅｑｕｅｎｃｅ  ｎｕｍｂｅｒ、ＬＳ  ｃｈｅｃｋｓｕｍ、ＬＳ  ａｇｅが必要なので、これらをＬＳ  Ｓｅｑｕｅｎｃｅ  ｎｕｍｂｅｒとしてＬＳＤＢ検索装置に格納する。図２７にはＬＳＤＢ検索装置がＬＳＡを受信した時の動作例を示す。ＬＳＡ受信時には受信したＬＳＡのＬＳ  Ｔｙｐｅ、Ｌｉｎｋ  Ｓｔａｔｅ  ＩＤ、Ａｄｖｅｒｔｉｓｉｎｇ  Ｒｏｕｔｅｒを検索キーとしてＬＳＤＢ検索装置でＬＳＡの新旧を判断する。
新旧ＬＳＡの判断のステップを（１）〜（６）に示す。
（１）より大きいＬＳ  ｓｅｑｕｅｎｃｅ  ｎｕｍｂｅｒを持つＬＳＡが最新
（２）ｓｅｑｕｅｎｃｅ  ｎｕｍｂｅｒが同じ場合、より大きいＬＳ  ｃｈｅｃｋｓｕｍを持つＬＳＡが最新
（３）ＬＳ  ｃｈｅｃｋｓｕｍも同じ場合、ＭＡＸ  ＡｇｅであるＬＳ  ａｇｅのＬＳＡが最新
（４）どちらのＬＳＡもＭａｘＡｇｅでない場合、ＬＳ  ａｇｅの差がＭａｘ  Ａｇｅ  Ｄｉｆｆ（１５分）以上であるならば、より小さいＬＳ  ａｇｅを持つＬＳＡが最新
（５）（１）〜（４）に当てはまらなければ同一ＬＳＡであるとみなす
（６）最新以外のＬＳＡ（同一ＬＳＡも含む）は全て廃棄、最新のＬＳＡはＲＳへ送付  これはＯＳＰＦによって規定されている新旧ＬＳＡの判断のステップである。
以下は本実施例のＬＳＤＢ検索装置をパケット転送装置に装備する場合の構成例について説明する。
（構成例１）
図２８は既存のパケット転送装置構成例１である。パケット転送装置は大きく分けてＲＳ（Ｒｏｕｔｅｒ  Ｓｅｒｖｅｒ）２２０、ＳＷ（Ｓｗｉｔｃｈ）２４０、ＩＦ（Ｉｎｔｅｒｆａｃｅ）を備え、ＲＳ２２０でＯＳＰＦやＩＳＩＳなどのルーティングプロトコルの処理を行い、ルーティングテーブルを生成し、ＲＳ２２０で作成したルーティングテーブルをＩＦのルーティングテーブル検索装置２１５に転送していた。入力回線から入力されたパケットはＮＰ（Ｎｅｔｗｏｒｋ  Ｐｒｏｃｅｓｓｏｒ）において宛先アドレス情報を抜き出し、ルーティングテーブル検索装置２１５で宛先までの最短経路に基づく次ホップ（次ルータ）を決定し、パケットを出力するＩＦを決定していた。
図２８の既存のパケット転送装置の構成例１は、ルーティングテーブル検索装置２１５に検索ツリーを用いている。ルーティングテーブル検索装置２１５にはルーティングテーブルのみが必要なのでＲＳ２２０が必要とするメモリよりもずっと少ない容量で済む。そのため高速外部メモリを利用することができ、検索ツリーも低速外部メモリを使ったツリー検索よりも高速な検索が可能となる。
（構成例２）
図２９は既存のパケット転送装置の構成例２である。構成例１との違いはルーティングテーブル検索装置２１６にＴＣＡＭを用いている点である。大容量コアルータではより高速なパケット転送が必要となるため、ルーティングテーブル検索において、検索ツリーよりも高速検索が可能なＴＣＡＭを利用するのが一般的である。
図１９は、構成例１のＬＳＤＢ検索装置２１０を装備したパケット転送装置の構成例１である。ＩＦ上にルーティングテーブル検索装置２１５とは別にＬＳＤＢ検索装置２１０を配備する構成である。本例はルーティングテーブル検索装置２１５とは別にＬＳＤＢ検索装置２１０を配備しているため、ルーティングテーブル検索装置２１５に影響を与えない（速度、実装など）という利点がある。
図２１は構成例２のＬＳＤＢ検索装置２１１を装備したパケット転送装置構成例２である。本例は、図２９の既存のパケット転送装置２３０のルーティングテーブル検索装置２１６を利用してＬＳＤＢ検索を実施するというものである。
図１９、図２０に示したＬＳＤＢ検索装置２１０、２１１は、図２８、図２９に示したルーティングテーブル検索装置２１５、２１６と同様の物理構成を取っており（ＮＰはプロセッサであり情報処理装置になることが可能である）、機能的にも検索を行うという点でも同じ機能を必要とする。従って、既存のパケット転送装置２３０のルーティングテーブル検索装置２１６をＬＳＤＢ検索にも利用するというのが構成例２である。本例は既存のパケット転送装置２３０のルーティングテーブル検索装置２１６を利用するため実装コストが安く済むという利点がある。
以上説明したように、本発明の第２実施形態は、ＩＰルータなどのパケット転送装置を使って作成するネットワークにおいて、パケット転送装置内のＲＳの処理負荷を削減することにより、１つの管理ドメインで大きなネットワークを作ることを可能にする。
産業上の利用の可能性
本発明は、ＩＰルータなどのパケット転送装置を使って作成するネットワークにおいて、パケット転送装置内のＲＳの処理負荷を削減することにより、１つの管理ドメインで大きなネットワークを作ることを可能にする。これにより、ＩＰネットワークの大規模化に対応することができ、ネットワーク管理者、ネットワークユーザの利便性を向上させることができる。
【図１】
2005020525.tif 000003
【図２】
2005020525.tif 000004
【図３】
2005020525.tif 000005
【図４】
2005020525.tif 000006
【図５】
2005020525.tif 000007
【図６】
2005020525.tif 000008
【図７】
2005020525.tif 000009
【図８】
2005020525.tif 000010
【図９】
2005020525.tif 000011
【図１０】
2005020525.tif 000012
【図１１】
2005020525.tif 000013
【図１２】
2005020525.tif 000014
【図１３】
2005020525.tif 000015
【図１４】
2005020525.tif 000016
【図１５】
2005020525.tif 000017
【図１６】
2005020525.tif 000018
【図１７】
2005020525.tif 000019
【図１８】
2005020525.tif 000020
【図１９】
2005020525.tif 000021
【図２０】
2005020525.tif 000022
【図２１】
2005020525.tif 000023
【図２２】
2005020525.tif 000024
【図２３】
2005020525.tif 000025
【図２４】
2005020525.tif 000026
【図２５】
2005020525.tif 000027
【図２６】
2005020525.tif 000028
【図２７】
2005020525.tif 000029
【図２８】
2005020525.tif 000030
【図２９】
2005020525.tif 000031
【国際調査報告】
2005020525.tif 000032
2005020525.tif 000033
2005020525.tif 000034
2005020525.tif 000035
2005020525.tif 000036
2005020525.tif 000037