(57)【要約】【課題】  経路変更に伴う経路表の書き換え回数を減らす。【解決手段】  経路を表すプレフィクスと内部ＩＤとの対応関係を保持する一次対応表と、この内部ＩＤと次ホップルータとの対応関係を保持する二次対応表とを備える。経路の変更に際し、次ホップルータが変更されるときには、二次対応表における内部ＩＤと次ホップルータとの対応関係を書き換える。【選択図】  図１
2005117213.tif 000002
【特許請求の範囲】
【請求項１】
経路を表すプレフィクスと内部ＩＤとの対応関係を保持する一次対応表と、
この内部ＩＤと次ホップルータとの対応関係を保持する二次対応表と
を備えたことを特徴とする経路表。
【請求項２】
入力ＩＰパケットのＩＰアドレスを取得し、そのＩＰアドレスのプレフィクスと内部ＩＤとの対応関係を保持する一次対応表を検索して当該プレフィクスに対応する前記内部ＩＤを取得するステップと、
取得した前記内部ＩＤと次ホップルータとの対応関係を保持する二次対応表を検索して次ホップルータを決定するステップと
を実行することを特徴とする経路検索方法。
【請求項３】
次ホップルータの変更に際し、前記二次対応表における内部ＩＤと次ホップルータとの対応関係を書き換えるステップを実行する請求項２記載の経路検索方法。
【請求項４】
経路の追加に際し、新規な経路を表すプレフィクスと次ホップルータとの組み合わせ情報を取得し、当該次ホップルータが既に前記二次対応表にあるときには、当該次ホップルータに対応する内部ＩＤを取得して前記一次対応表に前記プレフィクスと当該内部ＩＤとの対応関係を追加するステップと、
経路の追加に際し、新規な経路を表すプレフィクスと次ホップルータとの組み合わせ情報を取得し、当該次ホップルータが前記二次対応表に無いときには、未使用の内部ＩＤを取得して当該次ホップルータに対応する内部ＩＤとし、当該次ホップルータと当該内部ＩＤとの対応関係を前記第二対応表に追加し、さらに、前記プレフィクスと当該内部ＩＤとの対応関係を前記一次対応表に追加するステップと
を実行する請求項２記載の経路検索方法。
【請求項５】
経路の削除に際し、当該経路を表すプレフィクスに対応する内部ＩＤが他のプレフィクスに対しても対応しているか否かを判定するステップと、
この判定するステップの判定結果により当該内部ＩＤが削除されるプレフィクス以外のプレフィクスにも対応しているときには、削除されるプレフィクスとこれに対応する内部ＩＤとの組を前記一次対応表から削除するステップと、
前記判定するステップの判定結果により当該内部ＩＤが削除されるプレフィクス以外のプレフィクスには対応していないときには、削除されるプレフィクスとこれに対応する内部ＩＤとの組を前記一次対応表から削除すると共に、前記二次対応表において当該内部ＩＤを次ホップルータ未割当て状態とするステップと
を実行する請求項２記載の経路検索方法。
【請求項６】
前記判定するステップは、内部ＩＤのプレフィクスに対する新規な対応関係が生成される度にカウント値を加算し、内部ＩＤのプレフィクスに対する対応関係が解除される度にカウント値を減算するステップを実行し、
このステップの計数結果が２以上であれば前記プレフィクスに対応する内部ＩＤが他のプレフィクスに対しても対応していると判定するステップを実行する
請求項５記載の経路検索方法。
【請求項７】
情報処理装置にインストールすることにより、その情報処理装置に、請求項１記載の経路表に相応する機能を実現させることを特徴とするプログラム。
【請求項８】
情報処理装置にインストールすることにより、その情報処理装置に、請求項２ないし６のいずれかに記載の経路検索方法の各ステップを実行させることを特徴とするプログラム。
【請求項９】
請求項７または８記載のプログラムが記録された前記情報処理装置読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＩＰルータなどのパケット転送装置において、パケット転送処理を行うに当たり、パケットヘッダ情報を元にパケットの転送経路を決定する際に検索するテーブルの検索方法に関する。
【背景技術】
【０００２】
ＩＰルータなどのパケット転送装置においては、パケットヘッダに搭載された宛先アドレスを元に経路表を検索し、次の方路を決定する。経路表には経路と次ホップルータ（ＮＨＲと図示）との対応関係を保持している。図８に従来の経路表の例を示す。次の方路は次ホップのルータを指し、次ホップのルータも同様の経路表を持つことで、ホップバイホップでＩＰパケットが転送されていく。
【０００３】
経路表で経路を表現する方法として、インターネットではＣＩＤＲ(Classless
Inter Domain Routing)の機構が導入されている。経路は３２ビットのＩＰアドレスとそれに対するプレフィクス長の組み合わせで表現される。すなわち、経路表の経路は“ＩＰアドレス／プレフィクス長”の形式で表される。経路のうち、プレフィクス長で指定された長さ以降のビットに関してはＤｏｎ‘ｔ  Ｃａｒｅである。例えば１２９．１３１．１７５．１２９／３２は３２ビット全てのビットがＤｏｎ’ｔ  Ｃａｒｅでない経路であり、１２９．６０．８３／２４は先頭の２４ビットが有効な経路である。パケットヘッダの宛先アドレスが１２９．６０．８３．１も１２９．６０．８３．１１１も同じ経路１２９．６０．８３／２４に一致する（例えば特許文献１または２参照）。
【０００４】
【特許文献１】特開２０００−３３２７８６号公報
【特許文献２】特開２０００−３５８０６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＩＰルーティングではＯＳＰＦ(Open Shortest Path First)やＩＳＩＳ(Intermediate
System to Intermediate System)などのルーティングプロトコルにより、トポロジの変化に応じて動的に経路表が変更される。図６はルータＡからＧよりなるネットワークの例である。ルータＧの先には三つの経路１２７．３２．９６．０／２４、１２９．６０．０．０／１６、１２７．３２．０．０／１６が接続されており、ルータＡから見た場合はルータＢを次ホップとした経路表を持つ。ここでルータＡとルータＢを接続するリンクが故障した場合にはルータＥを次ホップとして経路表を書き換える必要がある。この場合はルータＡが経路表に持つ、三つの経路１２７．３２．９６．０／２４、１２９．６０．０．０／１６、１２７．３２．０．０／１６に関して次ホップルータを書き換えることになる。このようにトポロジが変化した場合は経路表の一括書き換えが必要となる。この様子を図９に示す。図９に示すように、複数のプレフィクスに対応する次ホップルータＢをＥに変更する必要がある。
【０００６】
経路表の経路数は年々増加しており、１０万経路に達するとの報告もある。一方で次ホップルータの数はルータからみて隣接ルータの数であり、一般的には多くても数十程度である。上記のような経路表の一括書き換えを行う際、平均してＮ／ｈ経路の書き換えが必要となる。ここで、Ｎは経路表の経路数、ｈは隣接ルータ数とする。Ｎが１０万で、ｈが１０の場合、平均して１万回経路の書き換えが必要となる。
【０００７】
本発明は、このような背景に行われたものであって、経路の変更に際し、書き換え回数を減らすことができる経路表および経路表検索方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第一の観点は、経路を表すプレフィクスと内部ＩＤとの対応関係を保持する一次対応表と、この内部ＩＤと次ホップルータとの対応関係を保持する二次対応表とを備えたことを特徴とする経路表である（請求項１）。
【０００９】
本発明の第二の観点は、この経路表を用いた経路検索方法であって、入力ＩＰパケットのＩＰアドレスを取得し、そのＩＰアドレスのプレフィクスと内部ＩＤとの対応関係を保持する一次対応表を検索して当該プレフィクスに対応する前記内部ＩＤを取得するステップと、取得した前記内部ＩＤと次ホップルータとの対応関係を保持する二次対応表を検索して次ホップルータを決定するステップとを実行することを特徴とする（請求項２）。
【００１０】
このように、本発明の経路検索方法は、二段階に分けて経路検索を行うことを特徴とする。これにより、次ホップルータの変更に際し、前記二次対応表における内部ＩＤと次ホップルータとの対応関係を書き換えるステップを実行することができる（請求項３）。
【００１１】
すなわち、一般的に、一つのプレフィクスに対して次ホップルータは複数存在する。従来の経路表では、プレフィクスと次ホップルータとが直接対応していたので、一つの次ホップルータが変更になったときには、経路表の中からこの一つの次ホップルータに関わる複数のエントリを探し出し、当該複数のエントリの書き換えを必要とした。これに対し、本発明の経路表では、内部ＩＤと次ホップルータとが二次対応表の上で１対１に対応している。したがって、一つの次ホップルータが変更になったときには、二次対応表の一つの次ホップルータを書き換えれば済む。これにより、従来と比較して経路表の書き換え回数を大きく低減させることができる。
【００１２】
また、経路の追加に際し、新規な経路を表すプレフィクスと次ホップルータとの組み合わせ情報を取得し、当該次ホップルータが既に前記二次対応表にあるときには、当該次ホップルータに対応する内部ＩＤを取得して前記一次対応表に前記プレフィクスと当該内部ＩＤとの対応関係を追加するステップと、経路の追加に際し、新規な経路を表すプレフィクスと次ホップルータとの組み合わせ情報を取得し、当該次ホップルータが前記二次対応表に無いときには、未使用の内部ＩＤを取得して当該次ホップルータに対応する内部ＩＤとし、当該次ホップルータと当該内部ＩＤとの対応関係を前記第二対応表に追加し、さらに、前記プレフィクスと当該内部ＩＤとの対応関係を前記一次対応表に追加するステップとを実行することができる（請求項４）。
【００１３】
また、経路の削除に際し、当該経路を表すプレフィクスに対応する内部ＩＤが他のプレフィクスに対しても対応しているか否かを判定するステップと、この判定するステップの判定結果により当該内部ＩＤが削除されるプレフィクス以外のプレフィクスにも対応しているときには、削除されるプレフィクスとこれに対応する内部ＩＤとの組を前記一次対応表から削除するステップと、前記判定するステップの判定結果により当該内部ＩＤが削除されるプレフィクス以外のプレフィクスには対応していないときには、削除されるプレフィクスとこれに対応する内部ＩＤとの組を前記一次対応表から削除すると共に、前記二次対応表において当該内部ＩＤを次ホップルータ未割当て状態とするステップとを実行することができる（請求項５）。
【００１４】
また、前記判定するステップは、内部ＩＤのプレフィクスに対する新規な対応関係が生成される度にカウント値を加算し、内部ＩＤのプレフィクスに対する対応関係が解除される度にカウント値を減算するステップを実行し、このステップの計数結果が２以上であれば前記プレフィクスに対応する内部ＩＤが他のプレフィクスに対しても対応していると判定するステップを実行することができる（請求項６）。
【００１５】
本発明の第三の観点は、情報処理装置にインストールすることにより、その情報処理装置に、本発明の経路表に相応する機能を実現させる（請求項７）、あるいは、本発明の経路検索方法の各ステップを実行させることを特徴とするプログラムである（請求項８）。
【００１６】
本発明の第四の観点は、本発明のプログラムが記録された前記情報処理装置読取可能な記録媒体である（請求項９）。本発明のプログラムは本発明の記録媒体に記録されることにより、前記情報処理装置は、この記録媒体を用いて本発明のプログラムをインストールすることができる。あるいは、本発明のプログラムを保持するサーバからネットワークを介して直接前記情報処理装置に本発明のプログラムをインストールすることもできる。
【００１７】
これにより、汎用の情報処理装置を用いて、経路の変更に際し、書き換え回数を減らすことができる経路表および経路表検索方法を実現することができる。
【発明の効果】
【００１８】
本発明によれば、経路の変更に際し、経路表の書き換え回数を減らすことができる。
【発明を実施するための最良の形態】
【００１９】
本発明実施形態の構成を図１に示す。本実施形態はプレフィクスと内部ＩＤとの対応関係を保持する一次対応表１と、内部ＩＤと次ホップルータ（ＮＨＲと図示）との対応関係を保持する二次対応表２とからなる（請求項１）。
【００２０】
経路表はルーティングプロトコルにより生成された全ての経路を保持する。各経路には次ホップルータが対応するが、一次対応表１には次ホップルータを直接記載するのでなく、次ホップルータをルータがユニークに識別するための内部ＩＤを搭載する。一方、二次対応表２には内部ＩＤと次ホップルータとの関係を記載する。
【００２１】
本実施形態の経路表を検索する手順を図２を参照して説明する。まず、ＩＰアドレスのプレフィクスを取得し、これをキーに用いて、一次対応表１を検索し、内部ＩＤを求める。次に内部ＩＤをキーに用いて、二次対応表２を検索し、次ホップルータを求める（請求項２）。このように一次対応表１と二対応次表２の二段検索を行うことで、経路に対応した次ホップルータを求めることができる。
【００２２】
次に、経路表に経路を追加する手順を図３を参照して説明する。追加する経路を表すプレフィクスと次ホップルータとの組み合わせ情報を網トポロジを管理する装置などから取得し、追加するプレフィクスに対応する次ホップルータが既に二次対応表２に存在する場合は、その次ホップルータに対応する内部ＩＤとプレフィクスとを一次対応表１に登録する。一方、追加するプレフィクスに対応する次ホップルータが二次対応表２に存在しない場合には、既に使用中の内部ＩＤとバッティングしない内部ＩＤを払い出し、その内部ＩＤと次ホップルータとを二次対応表２に登録すると同時に、プレフィクスと内部ＩＤとの関係を一次対応表１に登録する（請求項４）。
【００２３】
内部ＩＤの管理を図４を参照して説明する。内部ＩＤの管理は、二次対応表２の空塞の状態を示すフィールドを持たせたり、空きＩＤをスタックやキューなどに確保しておくなどにより容易に実現できる。図４の例では、内部ＩＤ＃１〜＃４までが塞がっており、内部ＩＤ＃５および＃６が空いている。
【００２４】
次に、経路表から経路を削除する手順を図５を参照して説明する。削除する経路を表すプレフィクスを取得し、一次対応表１を検索してこのプレフィクスに対応する内部ＩＤを取得する。この内部ＩＤをキーに二次対応表２を検索して次ホップルータを取得する。また、この内部ＩＤが、削除されるプレフィクスに対応する以外に、まだ一次対応表１にあれば、この内部ＩＤに対応する次ホップルータは、他の経路によっても使用されている可能性があるので、単に、削除するプレフィクスとこれに対応する内部ＩＤを一次対応表１から削除する。一方、削除されるプレフィクスに対応する内部ＩＤが他のプレフィクスに対応して一次対応表１に残っていなければ、この内部ＩＤに対応する次ホップルータは、他の経路によって使用されている可能性が無いので、一次対応表１からその経路に関する情報を削除するとともに、二次対応表２からその次ホップルータに対応する内部ＩＤの情報を未割当状態に変更し、次の新しい次ホップルータに割当てられるようにする（請求項５）。
【００２５】
なお、削除するプレフィクスに対応する内部ＩＤが他のプレフィクスに対応して一次対応表１に残っているかどうかの判定は、例えば、図４に示すように、二次対応表２にフィールドを追加し、一次対応表１に内部ＩＤに対する新規な対応関係が生成される度または内部ＩＤに対する対応関係が解除される度に、カウント値をＵＰまたはＤＯＷＮすることで判定可能である。すなわち、複数の内部ＩＤが一次対応表１に有ればカウント値は２以上になる（請求項６）。
【００２６】
次に、経路の書き換え手順を図６および図７を参照して説明する。図６は経路が変更される状況を説明するための図である。図７は本実施形態における経路の書き換え手順を説明するための図である。
【００２７】
本実施形態では、図６に示すように、ルータＡの次ホップルータがＢであったところ、障害発生等の事情により、次ホップルータＥに変更が必要になったときには、図７に示すように、二次対応表２における内部ＩＤと次ホップルータとの対応関係をＢからＥに書き換えるだけでよい（請求項３）。これにより、一次対応表１において内部ＩＤ＃２に対応したプレフィクスの経路については全て次ホップルータがＢからＥに変更される。
【００２８】
本発明は、汎用の情報処理装置にインストールすることにより、その情報処理装置に本発明の経路表に相応する機能を実現させるプログラム（請求項７）、あるいは、その情報処理装置に本発明の経路検索方法を実行させるプログラムとして実現することができる（請求項８）。このプログラムは、記録媒体に記録されて情報処理装置にインストールされ（請求項９）、あるいは通信回線を介して情報処理装置にインストールされることにより当該情報処理装置に、本発明の経路表に相応する機能を実現させ、あるいは、本発明の経路検索方法を実行させることができる。
【産業上の利用可能性】
【００２９】
本発明によれば、経路の変更に際し、書き換え回数を減らすことができる経路表および経路表検索方法を提供することができる。したがって、ＩＰネットワークの経路数の増加に対応することができ、ネットワークの管理者およびユーザの利便性を向上させることができる。
【図面の簡単な説明】
【００３０】
【図１】本実施形態の経路表の構成を示す図。
【図２】本実施形態の経路表における次ホップルータの検索手順を示す図。
【図３】本実施形態の経路表における経路追加手順を示す図。
【図４】本実施形態の経路表に付加されたフィールドの構成を示す図。
【図５】本実施形態の経路表における経路削除手順を示す図。
【図６】次ホップルータが変更される状況を説明するための図。
【図７】本実施形態の経路表における経路の書き換え手順を説明するための図。
【図８】従来の経路表の構成図。
【図９】従来の問題点を説明するための図。
【符号の説明】
【００３１】
１  一次対応表
２  二次対応表
Ａ〜Ｇ  ルータ
【図１】
2005117213.tif 000003
【図２】
2005117213.tif 000004
【図３】
2005117213.tif 000005
【図４】
2005117213.tif 000006
【図５】
2005117213.tif 000007
【図６】
2005117213.tif 000008
【図７】
2005117213.tif 000009
【図８】
2005117213.tif 000010
【図９】
2005117213.tif 000011