(57)【要約】【課題】現在及び過去の経路情報を提供するとともに最新の経路情報の提供の迅速化、並びに経路情報の検索速度の向上を図る。【解決手段】通信経路の変更を広報する経路情報および通信経路の取り消しを広報する経路情報を通信経路の観測装置から受信する経路情報受信部２２と、経路情報の受信時刻に基づいた経路存在期間および経路情報に含まれるプレフィクスを数値化したアドレス空間の範囲を格納した経路状態テーブルを通信経路毎に作成し、該経路状態テーブルを経路情報データベース２４に蓄積させる経路状態テーブル作成部２３とを備える。【選択図】図２
2008288848.tif 000002
【特許請求の範囲】
【請求項１】
通信経路の変更を広報する経路情報および通信経路の取り消しを広報する経路情報を通信経路の観測装置から受信する経路情報受信手段と、
前記経路情報の受信時刻に基づいた経路存在期間および前記経路情報に含まれるプレフィクスが示すアドレス空間の範囲を格納した経路状態テーブルを通信経路毎に作成し、該経路状態テーブルを経路情報データベースに蓄積させる経路状態テーブル作成手段と、
を備えたことを特徴とする経路情報管理装置。
【請求項２】
前記アドレス空間の範囲に対して、前記経路情報データベースの検索に利用可能なインデックスを付与するインデックス生成手段を備えたことを特徴とする請求項１に記載の経路情報管理装置。
【請求項３】
前記インデックスを利用した経路情報検索を前記経路情報データベースに対して行う経路情報検索手段を備えたことを特徴とする請求項２に記載の経路情報管理装置。
【請求項４】
経路存在期間から所定期間経過した経路状態テーブルを前記経路情報データベースから削除するデータベース管理手段を備えたことを特徴とする請求項１に記載の経路情報管理装置。
【請求項５】
通信経路の変更を広報する経路情報および通信経路の取り消しを広報する経路情報を通信経路の観測装置から受信する経路情報受信機能と、
前記経路情報の受信時刻に基づいた経路存在期間および前記経路情報に含まれるプレフィクスが示すアドレス空間の範囲を格納した経路状態テーブルを通信経路毎に作成し、該経路状態テーブルを経路情報データベースに蓄積させる経路状態テーブル作成機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項６】
前記アドレス空間の範囲に対して、前記経路情報データベースの検索に利用可能なインデックスを付与するインデックス生成機能をさらにコンピュータに実現させることを特徴とする請求項５に記載のコンピュータプログラム。
【請求項７】
前記インデックスを利用した経路情報検索を前記経路情報データベースに対して行う経路情報検索機能をさらにコンピュータに実現させることを特徴とする請求項６に記載のコンピュータプログラム。
【請求項８】
経路存在期間から所定期間経過した経路状態テーブルを前記経路情報データベースから削除するデータベース管理機能をさらにコンピュータに実現させることを特徴とする請求項５に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信経路（以下、単に経路と称する）の情報を管理する経路情報管理装置およびコンピュータプログラムに関する。
【背景技術】
【０００２】
インターネットは、各組織（インターネットサービスプロバイダ（ＩＳＰ）、企業等）が有する自律したＴＣＰ（Transmission Control Protocol）／ＩＰ（Internet Protocol）ネットワーク（Autonomous System：ＡＳ）を、相互に接続して構成されている。各ＡＳには識別番号（ＡＳ番号）が付与される。ＡＳは、共通の経路制御ポリシーで運用されるネットワーク接続機器（ルータ等）の集合体として構成される。ルータは、経路表を保有し、経路表に従ってパケットのルーティングを行う。経路表は、経路情報の一覧によって構成される。経路情報には、宛先アドレスの集合であるプレフィクス（ＩＰアドレスとサブネットマスクのビット数との組）と、そのプレフィクスに到達するための隣接ルータのＩＰアドレスと、優先順位等を示す属性情報とが含まれる。ある宛先アドレスを含むプレフィクスを持つ経路情報が経路表に含まれている場合、当該ルータからその宛先アドレスへ至る経路が存在していることが示される。ルータは、経路情報を相互に交換し、経路表を更新する。経路情報の交換には、ＢＧＰ（Border Gateway Protocol）が用いられる。ルータは、ＢＧＰ通信機能を持ち、経路情報を相互に交換する。その経路情報は、ＢＧＰ経路更新メッセージ（ＵＰＤＡＴＥメッセージ）と呼ばれている。経路変更および経路取り消しは、ＵＰＤＡＴＥメッセージを用いて広報される。経路変更を広報するためのＵＰＤＡＴＥメッセージの種類は「ＡＮＮＯＵＮＣＥ」である。経路取り消しを広報するためのＵＰＤＡＴＥメッセージの種類は「ＷＩＴＨＤＲＡＷ」である。
【０００３】
従来、あるＡＳのネットワーク運用者が他のＡＳで保有されている経路情報を入手するための技術として、例えば非特許文献１〜５が知られている。非特許文献１記載の従来技術は、あるＡＳが、他のＡＳに対して、ルータコマンドの入力手段を提供する仕組みである。非特許文献１記載の従来技術によれば、ネットワーク運用者は、「telnet」やWebベースでルータコマンドを入力することにより、他のＡＳで保有されている現在の経路情報を取得することができる。非特許文献２、３記載の従来技術は、多数のＡＳから収集した経路情報をWeb上に公開するものである。経路情報は、「ＭＲＴ」と呼ばれる標準フォーマットに従うファイルで蓄積される。ＭＲＴフォーマットは、ある一時刻の全プレフィクスのスナップショットであるＲＩＢ（Routing Information Base）と、一定期間内に発生した全経路変動に１対１で対応するＵＰＤＡＴＥメッセージとから構成される。非特許文献２、３記載の従来技術によれば、ネットワーク運用者は、経路情報のファイルをダウンロードして解析することにより、現在および過去の時刻における他のＡＳの経路情報を確認することができる。非特許文献４、５記載の従来技術は、ＢＧＰの通信ソフトウェアであり、ＢＧＰ通信により受信した経路情報をMRTに従って蓄積するものである。
【非特許文献１】インターネット＜ＵＲＬ：http://www.nanog.org/lookingglass.html＞、［平成１９年５月１０日検索］
【非特許文献２】インターネット＜ＵＲＬ：http://www.routeviews.org/＞、［平成１９年５月１０日検索］
【非特許文献３】インターネット＜ＵＲＬ：http://www.ripe.net/＞、［平成１９年５月１０日検索］
【非特許文献４】インターネット＜ＵＲＬ：http://www.quagga.net/＞、［平成１９年５月１０日検索］
【非特許文献５】インターネット＜ＵＲＬ：http://www.zebra.org/＞、［平成１９年５月１０日検索］
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上述した従来技術では、以下の問題がある。
非特許文献１記載の従来技術では、現在の経路情報しか入手できないため、過去に発生した障害の分析に使用する経路情報を入手することができない。非特許文献２〜５記載の従来技術では、ネットワーク運用者が目的とする経路情報を入手するのに時間がかかる。これは、次の２つの理由による。１つ目の理由は、ＭＲＴフォーマットに従った蓄積およびWeb上への公開が一定時間毎にしか行われないためである。２つ目の理由は、ＭＲＴフォーマットが経路情報の検索性能を考慮して作られていないので、ＭＲＴフォーマットの蓄積情報から目的の経路情報を検索するのに時間がかかるためである。例えば、ある時刻、あるＩＰアドレスの経路を検索するときには、次の解析処理が必要となる。まず、指定時刻直前のＲＩＢを検索し、指定ＩＰアドレスを含む全経路を取得する。通常、ＲＩＢには、ネットワーク全体に存在する全経路（インターネットでは一般に２０万件程度）が格納されており、これらを全検索する必要がある。さらに、指定ＩＰアドレスの経路に変動があったかどうかを調査するため、ＲＩＢの時刻から指定時刻に至るまでの全てのＵＰＤＡＴＥメッセージを検索しなければならない。さらに、非特許文献２〜５記載の従来技術では、経路情報を解析する仕組みが別途必要である。ＭＲＴフォーマットのファイルをテキスト表示化するツールが提供されているものの、障害調査に必要な、指定時刻や指定ＩＰアドレスの経路情報を解析するツールは提供されていない。このため、ネットワーク運用者がそのような解析ツールを自作していた。
【０００５】
本発明は、このような事情を考慮してなされたもので、その目的は、現在及び過去の経路情報を提供するとともに最新の経路情報の提供の迅速化、並びに経路情報の検索速度の向上を図ることのできる経路情報管理装置およびコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明に係る経路情報管理装置は、通信経路の変更を広報する経路情報および通信経路の取り消しを広報する経路情報を通信経路の観測装置から受信する経路情報受信手段と、前記経路情報の受信時刻に基づいた経路存在期間および前記経路情報に含まれるプレフィクスが示すアドレス空間の範囲を格納した経路状態テーブルを通信経路毎に作成し、該経路状態テーブルを経路情報データベースに蓄積させる経路状態テーブル作成手段とを備えたことを特徴とする。
【０００７】
本発明に係る経路情報管理装置においては、前記アドレス空間の範囲に対して、前記経路情報データベースの検索に利用可能なインデックスを付与するインデックス生成手段を備えたことを特徴とする。
【０００８】
本発明に係る経路情報管理装置においては、前記インデックスを利用した経路情報検索を前記経路情報データベースに対して行う経路情報検索手段を備えたことを特徴とする。
【０００９】
本発明に係る経路情報管理装置においては、経路存在期間から所定期間経過した経路状態テーブルを前記経路情報データベースから削除するデータベース管理手段を備えたことを特徴とする。
【００１０】
本発明に係るコンピュータプログラムは、通信経路の変更を広報する経路情報および通信経路の取り消しを広報する経路情報を通信経路の観測装置から受信する経路情報受信機能と、前記経路情報の受信時刻に基づいた経路存在期間および前記経路情報に含まれるプレフィクスが示すアドレス空間の範囲を格納した経路状態テーブルを通信経路毎に作成し、該経路状態テーブルを経路情報データベースに蓄積させる経路状態テーブル作成機能とをコンピュータに実現させることを特徴とする。
【００１１】
本発明に係るコンピュータプログラムにおいては、前記アドレス空間の範囲に対して、前記経路情報データベースの検索に利用可能なインデックスを付与するインデックス生成機能をさらにコンピュータに実現させることを特徴とする。
【００１２】
本発明に係るコンピュータプログラムにおいては、前記インデックスを利用した経路情報検索を前記経路情報データベースに対して行う経路情報検索機能をさらにコンピュータに実現させることを特徴とする。
【００１３】
本発明に係るコンピュータプログラムにおいては、経路存在期間から所定期間経過した経路状態テーブルを前記経路情報データベースから削除するデータベース管理機能をさらにコンピュータに実現させることを特徴とする。
これにより、前述の経路情報管理装置がコンピュータを利用して実現できるようになる。
【発明の効果】
【００１４】
本発明によれば、現在及び過去の経路情報を提供するとともに最新の経路情報の提供の迅速化、並びに経路情報の検索速度の向上を図ることができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照し、本発明の実施形態について説明する。
図１は、本発明の一実施形態に係る通信ネットワークシステムの構成を示すブロック図である。図１において、通信ネットワークシステムは、複数のＡＳを相互に接続して構成されている。ＡＳは、それぞれの組織（インターネットサービスプロバイダ、企業等）によって保有および運用される。図１の例では、３つのＡＳ（ＡＳ番号：１，２，３）が示されている。なお、ＡＳ番号は説明の便宜上の値を用いている。
【００１６】
ＡＳ番号「１」のＡＳは、経路情報管理装置１を備える。経路情報管理装置１は、同じＡＳ内のルータ２および他のＡＳ（（ＡＳ番号：２）内のルータ２との間でそれぞれにＢＧＰセッション１０を確立している。経路情報管理装置１は、ＢＧＰセッション１０を確立しているルータ２から、ＵＰＤＡＴＥメッセージ１１を受信する。ＵＰＤＡＴＥメッセージ１１は経路情報である。
【００１７】
ＵＰＤＡＴＥメッセージ１１は、宛先アドレスの集合であるプレフィクス（ＩＰアドレスとサブネットマスクのビット数との組）と、そのプレフィクスに到達するための隣接ルータのＩＰアドレスと、優先順位等を示す属性情報とを有する。ＵＰＤＡＴＥメッセージ１１の種類として「ＡＮＮＯＵＮＣＥ」と「ＷＩＴＨＤＲＡＷ」がある。「ＡＮＮＯＵＮＣＥ」のＵＰＤＡＴＥメッセージ１１は、経路変更を広報するためのメッセージであり、メッセージ種別を示す情報「ＡＮＮＯＵＮＣＥ」と、変更後のプレフィクスと、このプレフィクスに到達するためのＡＳパスを示す文字列とを有する。「ＷＩＴＨＤＲＡＷ」のＵＰＤＡＴＥメッセージ１１は、経路取り消しを広報するためのメッセージであり、メッセージ種別を示す情報「ＷＩＴＨＤＲＡＷ」と、取り消されたプレフィクスとを有する。
【００１８】
経路情報管理装置１は、ネットワーク運用者端末３からのアクセスを受け付ける。図１には、ＡＳ番号「３」のＡＳ内のネットワーク運用者端末３が示されている。ネットワーク運用者は、ネットワーク運用者端末３を操作して経路情報管理装置１にアクセスし、ＳＱＬ（Structured Query Language）ベースの経路検索要求１２を送信し、その検索結果１３を受信する。
【００１９】
図２は、図１に示す経路情報管理装置１の構成を示すブロック図である。図２において、経路情報管理装置１は、通信部２１と経路情報受信部２２と経路状態テーブル作成部２３と経路情報データベース２４と経路情報検索部２５とデータベース管理部２６を有する。
【００２０】
通信部２１は、通信回線を介したデータ通信を行う。通信部２１は、ルータ２およびネットワーク運用者端末３との間でデータを送受信する。経路情報受信部２２は、通信部２１を介して、ルータ２間のＢＧＰ通信データを送受する。経路情報受信部２２は、ＢＧＰの通信手順に従って、ルータ２からＵＰＤＡＴＥメッセージ１１を受信する。
【００２１】
経路状態テーブル作成部２３は、経路情報受信部２２からＵＰＤＡＴＥメッセージ１１を受け取る。経路状態テーブル作成部２３は、ＵＰＤＡＴＥメッセージ１１に基づいて経路状態テーブルを作成する。経路状態テーブル作成部２３は、経路状態テーブルを経路情報データベース２４に登録する。経路情報データベース２４は、経路状態テーブルを記憶し蓄積する。
【００２２】
経路情報検索部２５は、通信部２１を介して、ネットワーク運用者端末３間の通信データを送受する。経路情報検索部２５は、ネットワーク運用者端末３からＳＱＬベースの経路検索要求１２を受信する。経路情報検索部２５は、経路検索要求１２に基づいて経路情報データベース２４を検索する。経路情報検索部２５は、経路情報データベース２４の検索結果１３をネットワーク運用者端末３に返信する。
【００２３】
データベース管理部２６は、経路情報データベース２４を管理する。例えば、不要なデータの削除など、経路情報データベース２４に対する操作を行う。
【００２４】
次に、経路状態テーブル作成部２３が作成する経路状態テーブルについて説明する。経路状態テーブルは、以下に示す情報（ａ）〜（ｐ）を格納する。情報（ａ）〜（ｐ）は、数値（INTEGER）又は文字列（TEXT）である。
【００２５】
（ａ）「obs-id」：観測点のルータの識別情報（ルータＩＤ）であり、文字列である。ルータＩＤには、通常、ＩＰアドレスが用いられる。
（ｂ）「obs-as」：観測点のルータが在るＡＳのＡＳ番号であり、数値である。
なお、観測点とは、経路を観測する地点のことを指す。観測点のルータは、経路を観測し、その観測結果からＵＰＤＡＴＥメッセージを作成する。
【００２６】
（ｃ）「starttime」：経路の開始時刻（年月日時分秒）を示す数値である。経路の開始時刻には、ＵＰＤＡＴＥメッセージの受信時刻を用いる。
（ｄ）「endtime」：経路の終了時刻（年月日時分秒）を示す数値である。経路の終了時刻の初期値には、実用上、問題にならない未来の時刻（例えば、西暦９９９９年１月１日０時０分０秒）を定めておく。
（ｅ）「prefix」：プレフィクス中のＩＰアドレス部分を数値化した数値である。プレフィクスが「A.B.C.D/X」の場合、そのＩＰアドレス部分「A.B.C.D」を次式で数値化する。
「prefix」＝A×(256^3)＋B×(256^2)＋C×(256^1)＋D
＝A×16777216＋B×65536＋C×256＋D
（ｆ）「prefixlen」：プレフィクス中のサブネットマスクのビット数であり、プレフィクス長を表す数値である。プレフィクスが「A.B.C.D/X」の場合、そのサブネットマスクのビット数「X」である。
【００２７】
（ｇ）「exist」：経路の有無を示す数値であり、経路ありの場合は「1」、経路なしの場合は「0」である。ＵＰＤＡＴＥメッセージの種類が「ＡＮＮＯＵＮＣＥ」である場合に経路あり「1」とする。ＵＰＤＡＴＥメッセージの種類が「ＷＩＴＨＤＲＡＷ」である場合に経路なし「0」とする。
「exist」が経路なし「0」である場合には、以降の情報（ｈ）〜（ｐ）は意味を持たない。情報（ｈ）〜（ｐ）は、ＵＰＤＡＴＥメッセージの種類が「ＡＮＮＯＵＮＣＥ」である場合（つまり、ＡＮＮＯＵＮＣＥメッセージである場合）にのみ設定する。情報（ｉ）〜（ｐ）はＡＮＮＯＵＮＣＥメッセージ中の属性情報である。
【００２８】
（ｈ）「aspath」：ＡＳパスを示す文字列である。
（ｉ）「origin」：ＡＮＮＯＵＮＣＥメッセージ中の属性情報のうちのORIGIN属性の数値である。
（ｊ）「nexthop」：ＡＮＮＯＵＮＣＥメッセージ中の属性情報のうちのnexthop属性を示す文字列である。nexthop属性を示す文字列には、nexthop属性のＩＰアドレスを文字列としてそのまま用いる。
（ｋ）「localpref」：ＡＮＮＯＵＮＣＥメッセージ中の属性情報のうちのlocal preference属性の数値である。
（ｌ）「med」：ＡＮＮＯＵＮＣＥメッセージ中の属性情報のうちのMED属性の数値である。
（ｍ）「community」：ＡＮＮＯＵＮＣＥメッセージ中の属性情報のうちのCommunity属性の文字列である。
（ｎ）「aggregation」：ＡＮＮＯＵＮＣＥメッセージ中の属性情報のうちのaggregationの有無を示す数値であり、aggregationありの場合は「1」、aggregationなしの場合は「0」である。
（ｏ）「aggregation-id」: ＡＮＮＯＵＮＣＥメッセージ中の属性情報のうちのaggregation-id属性の文字列である。aggregationを行ったルータのルータＩＤが含まれる。aggregationなし（「aggregation」が「0」）の場合は意味を持たない。
（ｐ）「aggregation-as」：ＡＮＮＯＵＮＣＥメッセージ中の属性情報のうちのaggregation-as属性の数値である。aggregationを行ったルータが属するＡＳのＡＳ番号を示す。aggregationなし（「aggregation」が「0」）の場合は意味を持たない。
【００２９】
以下に経路状態テーブル「routes」のＳＱＬ記述例を示す。
routes(
obs-id              TEXT,
obs-as              INTEGER,
starttime           INTEGER,
endtime             INTEGER,
prefix              INTEGER,
prefixlen           INTEGER,
exist               INTEGER,
aspath              TEXT,
origin              INTEGER,
nexthop             TEXT,
localpref           INTEGER,
med                 INTEGER,
community           TEXT,
aggregation         INTEGER,
aggregation-id      TEXT,
aggregation-as      INTEGER,
);
【００３０】
なお、文字列（TEXT）である情報については、その文字列を別のテーブルに格納するようにしてもよい。この場合の経路状態テーブル「routes」のＳＱＬ記述例を以下に示す。
routes(
obs-id              INTEGER,
obs-as              INTEGER,
starttime           INTEGER,
endtime             INTEGER,
prefix              INTEGER,
prefixlen           INTEGER,
exist               INTEGER,
aspath              INTEGER,
origin              INTEGER,
nexthop             TEXT,
localpref           INTEGER,
med                 INTEGER,
community           TEXT,
aggregation         INTEGER,
aggregation-id      TEXT,
aggregation-as      INTEGER,
:
)
obs-id-list(
obs-id-name           TEXT
)
aspath-list(
aspath-name           TEXT
)
この例では経路状態テーブル「routes」において、独立なＡＳパスを識別するＩＤ「aspath」を数値（INTEGER）で管理する。個別のＡＳパス（100  200  300等）を示す文字列（TEXT）は、テーブル「aspath-list」内にその要素「aspath-name」として格納する。これにより、同じＡＳパスが複数の経路状態テーブルに格納されることがあり得るので、経路状態テーブルの保存に要する記憶領域を削減するとともに、データベース検索速度の向上が見込める。
【００３１】
次に、図３を参照して、図２に示す経路状態テーブル作成部２３が経路状態テーブルを作成する動作を説明する。図３は、本実施形態に係る経路状態テーブル作成手順を示すフローチャートである。
経路情報受信部２２がルータ２からＵＰＤＡＴＥメッセージ１１（経路情報）を受信し、経路状態テーブル作成部２３が該ＵＰＤＡＴＥメッセージ１１を経路情報受信部２２から受け取ると、図３の経路状態テーブル作成処理が開始される。経路状態テーブル作成部２３は、経路情報受信部２２から受け取ったＵＰＤＡＴＥメッセージ１１（以下、受信ＵＰＤＡＴＥメッセージと称する）に基づいて、経路状態テーブル作成処理を行う。
【００３２】
図３において、ステップＳ１では、受信ＵＰＤＡＴＥメッセージに基づいて、経路情報データベース２４内の経路状態テーブルを検索する。このときの検索項目は、「obs-id」、「obs-as」、「prefix」、「prefixlen」及び「endtime」である。これら全ての検索項目が次の各検索条件を満足する経路状態テーブルを抽出する。
「obs-id」は、受信ＵＰＤＡＴＥメッセージを送信したルータ２のルータＩＤと一致すること。「obs-as」は、受信ＵＰＤＡＴＥメッセージを送信したルータ２の在るＡＳのＡＳ番号に一致すること。「prefix」は、受信ＵＰＤＡＴＥメッセージのプレフィクス中のＩＰアドレス部分と一致すること。「prefixlen」は、受信ＵＰＤＡＴＥメッセージのプレフィクス中のサブネットマスクのビット数と一致すること。「endtime」は初期値であること。
【００３３】
次いで、ステップＳ２では、ステップＳ１の結果、該当する経路状態テーブルがあったか否かを判断し、経路状態テーブルありの場合はステップＳ３に進み、経路状態テーブルなしの場合はステップＳ５に進む。
【００３４】
ステップＳ３では、ステップＳ１で抽出された経路状態テーブルに関し、情報（ｉ）〜（ｐ）が全て受信ＵＰＤＡＴＥメッセージの属性情報に一致するか調べる。このとき、受信ＵＰＤＡＴＥメッセージの種類が「ＡＮＮＯＵＮＣＥ」である場合は、情報（ｉ）〜（ｐ）をそれぞれ検証する。受信ＵＰＤＡＴＥメッセージの種類が「ＷＩＴＨＤＲＡＷ」である場合は、属性情報が不一致である。ステップＳ３の結果、属性情報が全て一致する場合は、ステップＳ１で抽出された経路状態テーブルで示される経路が継続中であるので、そのまま図３の処理を終了する。一方、いずれか一つでも属性情報が不一致の場合はステップＳ４に進む。
【００３５】
ステップＳ４では、ステップＳ１で抽出された経路状態テーブルの「endtime」を受信ＵＰＤＡＴＥメッセージの受信時刻に書き換え、経路情報データベース２４を更新する。これにより、ステップＳ１で抽出された経路状態テーブルで示される経路が該受信時刻に終了したとして記録される。
【００３６】
次いで、ステップＳ５では、受信ＵＰＤＡＴＥメッセージに基づいて、新規に経路状態テーブルを作成し、経路情報データベース２４に新規登録する。これにより、受信ＵＰＤＡＴＥメッセージで示される経路が該受信時刻に開始されたとして記録される。
【００３７】
次いで、ステップＳ６では、新規登録した経路状態テーブルに対して、経路情報データベース２４の検索に利用可能な見出し（インデックス）を付与する。インデックスは、経路状態テーブルの「prefix」に対して付ける。これにより、経路情報データベース２４の検索の際に、「prefix」を検索項目とした検索処理の高速化が可能になる。インターネットにおける「prefix」は膨大な数にのぼるので、「prefix」を検索項目とした検索処理の高速化は非常に有用である。
なお、インデックスの付与は、汎用のデータベース機能（インデックス生成機能）を利用することができる。或いは、独自にハッシュ関数テーブル等を用いて「prefix」に対応するインデックスを作成するようにしてもよい。
【００３８】
ステップＳ６の処理が終了したら、図３の処理を終了する。
【００３９】
次に、図２に示すデータベース管理部２６の動作を説明する。
データベース管理部２６は、経路情報データベース２４に蓄積されている経路状態テーブルのうち、情報が古くなった経路状態テーブルを削除する。これは、経路状態テーブルの蓄積数が増加し、経路情報データベース２４が肥大化するのを防ぐためである。経路情報データベース２４内には、実際の運用において支障のでない期間（例えば一ヶ月）分の経路情報を蓄えておけばよい。従って、その所定期間を過ぎた経路情報については削除する。削除対象となる経路状態テーブルは、「endtime」が現在時刻よりも所定期間前のものである。削除方法としては、該所定期間よりも短い期間毎に行う。例えば、所定期間が一ヶ月の場合において、毎日、経路状態テーブルの削除処理を行うときは、現在時刻よりも一ヶ月前の「endtime」を有する経路状態テーブルを検索し、発見された経路状態テーブルを削除する。
【００４０】
次に、本実施形態に係る経路情報データベース２４を用いた経路情報検索処理について説明する。
本実施形態に係る経路情報データベース２４は、ネットワーク運用者による経路検索要求に対して、高速な応答を実現する。ネットワーク運用者は、アドレス若しくはアドレス空間、時刻及び観測点の中から全て又は一部を指定し、該当する経路の情報（経路状態テーブル中の情報）を要求することができる。
【００４１】
時刻の指定の仕方には、一つの時刻の指定と、２つの時刻の指定がある。一つの時刻を指定した場合には、指定時刻に存在した経路を示す経路状態テーブルが検索される。２つの時刻を指定した場合には、指定時刻の期間に存在した経路を示す経路状態テーブルが検索される。
【００４２】
アドレスの指定の仕方には、プレフィクスの指定その１と、プレフィクスの指定その２と、ＩＰアドレスの指定とがある。プレフィクスの指定は、「prefix」及び「prefixlen」の両方を指定するものである。ＩＰアドレスの指定は、「prefix」のみを指定するものである。プレフィクスの指定その１の場合には、指定した「prefix」及び「prefixlen」の両方に完全に一致する「prefix」及び「prefixlen」を有する経路状態テーブルが検索される。プレフィクスの指定その２の場合には、指定した「prefix」及び「prefixlen」のうち、指定した「prefix」を含む「prefix」及び「prefixlen」を有する経路状態テーブルが検索される。ＩＰアドレスの指定の場合には、指定した「prefix」を含む「prefix」及び「prefixlen」を有する経路状態テーブルが検索される。
【００４３】
以下に経路検索要求のＳＱＬ記述例を示す。
【００４４】
［一つの時刻（time1）を指定した場合の経路検索要求のＳＱＬ記述例］
＞  select * from routes where starttime<=time1 and endtime>=time1
【００４５】
［二つの時刻（time1，time2）を指定した場合の経路検索要求のＳＱＬ記述例］
＞  select * from routes where (starttime<time1 and endtime>=time1) or (starttime<=time2 and endtime>time2)
【００４６】
［プレフィクスの指定その１の場合の経路検索要求のＳＱＬ記述例］
＞  select * from routes where prefix=findprefix and prefixlen=findprefixlen
但し、指定プレフィクス「E.F.G.H/Y」の場合に、
指定プレフィクス値「findprefix」＝E×(256^3)＋F×(256^2)＋G×(256^1)＋H
指定プレフィクス最終値「findprefixend」＝「findprefix」＋2^(32-Y)-1
である。
【００４７】
［プレフィクスの指定その２又はＩＰアドレスの指定の場合の経路検索要求のＳＱＬ記述例］
ここでは、プレフィクスの指定その２の記述例を挙げ、そのプレフィクス長の範囲を24ビット〜8ビットまでとしている。ＩＰアドレスの指定の場合にはプレフィクス長の範囲は32ビットとなる。
＞  select * from routes where
((prefix=findprefix & 0xFFFFFF00
or prefix=findprefix & 0xFFFFFE00
or prefix=findprefix & 0xFFFFFC00
or prefix=findprefix & 0xFFFFF800
or prefix=findprefix & 0xFFFFF000
or prefix=findprefix & 0xFFFFE000
or prefix=findprefix & 0xFFFFC000
or prefix=findprefix & 0xFFFF8000
or prefix=findprefix & 0xFFFF0000
or prefix=findprefix & 0xFFFE0000
or prefix=findprefix & 0xFFFC0000
or prefix=findprefix & 0xFFF80000
or prefix=findprefix & 0xFFF00000
or prefix=findprefix & 0xFFE00000
or prefix=findprefix & 0xFFC00000
or prefix=findprefix & 0xFF800000
or prefix=findprefix & 0xFF000000
) and (
(prefix=findprefix & 0xFFFFFF00 and prefixlen=24)
or (prefix=findprefix & 0xFFFFFE00 and prefixlen=23)
or (prefix=findprefix & 0xFFFFFC00 and prefixlen=22)
or (prefix=findprefix & 0xFFFFF800 and prefixlen=21)
or (prefix=findprefix & 0xFFFFF000 and prefixlen=20)
or (prefix=findprefix & 0xFFFFE000 and prefixlen=19)
or (prefix=findprefix & 0xFFFFC000 and prefixlen=18)
or (prefix=findprefix & 0xFFFF8000 and prefixlen=17)
or (prefix=findprefix & 0xFFFF0000 and prefixlen=16)
or (prefix=findprefix & 0xFFFE0000 and prefixlen=15)
or (prefix=findprefix & 0xFFFC0000 and prefixlen=14)
or (prefix=findprefix & 0xFFF80000 and prefixlen=13)
or (prefix=findprefix & 0xFFF00000 and prefixlen=12)
or (prefix=findprefix & 0xFFE00000 and prefixlen=11)
or (prefix=findprefix & 0xFFC00000 and prefixlen=10)
or (prefix=findprefix & 0xFF800000 and prefixlen=9)
or (prefix=findprefix & 0xFF000000 and prefixlen=8)
)
但し、指定プレフィクス「E.F.G.H/Y」の場合に、
指定プレフィクス値「findprefix」＝E×(256^3)＋F×(256^2)＋G×(256^1)＋H
指定プレフィクス最終値「findprefixend」＝「findprefix」＋2^(32-Y)-1
である。なお、ＩＰアドレスの指定の場合には指定ＩＰアドレス「E.F.G.H/Y、但し、Y=32」となる。
【００４８】
上述の［プレフィクスの指定その２又はＩＰアドレスの指定の場合の経路検索要求のＳＱＬ記述例］では、まず、インデックスを利用可能な「prefix」のみを検索項目とした検索を行って検索対象を絞り込む。次いで、その絞り込まれた検索対象に対して、「prefixlen」を検索項目に加えた検索を行うようにしている。これにより、「prefix」に付加されたインデックスを利用した高速検索を行うことができる。
【００４９】
上述した実施形態によれば、経路情報データベース２４に現在及び過去の経路状態テーブルを蓄積させることにより、ネットワーク運用者からの要求に応じて現在及び過去の経路情報を提供することができる。また、ＵＰＤＡＴＥメッセージ１１をルータ２から受信する度に経路情報データベース２４を更新することにより、最新の経路情報を迅速に提供することができる。また、プレフィクスを数値化したアドレス空間の範囲（「prefix」および「prefixlen」）を経路状態テーブルに格納することにより、アドレス空間の範囲を指定した検索処理の高速化が可能になり、経路情報の検索速度が向上する。さらに、経路状態テーブルの「prefix」に対してインデックスを付与することにより、「prefix」を検索項目とした検索処理が格段に高速化されるので、経路情報の検索速度の向上に非常に貢献することができる。これにより、ネットワーク運用者からの現在又は過去の経路情報の検索要求に対して、応答にかかる時間を短縮することが可能になる。
【００５０】
また、本実施形態によれば、以下に示すような効果が得られる。
【００５１】
（１）ネットワーク運用者は、外部組織のインターネット経路情報を高速に検索できるようになり、現在又は過去のインターネット接続障害時の調査に使用できるようになる。現在の障害に関しては、迅速に把握することにより、障害解決までの時間を短縮することができる。過去の障害に関しては、顧客の障害申告に対して迅速に回答できるようになる。例えば、ＩＳＰが、顧客からの障害申告に対して、障害時刻や障害アドレス（顧客のアドレスあるいは顧客がアクセスするサーバ等のアドレス）をもとに、短時間で経路情報を得ることができ、顧客に対して迅速に障害状況を回答することができるようになる。
【００５２】
（２）汎用のデータベースソフトウェアを利用することができるので、ネットワーク運用者は、独自の解析ツールを作成することなしに、データベースの検索機能を用いて、障害調査に必要な経路情報を検索することができる。
（３）経路情報を提供する経路情報管理装置１は、自装置および通信ネットワークに対する負荷となる、外部へのファイルのアップロードを避けることができる。このため、より少ないリソースで経路情報管理装置１を構築できるようになる。また、より多数のネットワーク運用者に、確実に、経路情報の提供を施すことができる。
【００５３】
なお、本実施形態に係る経路情報管理装置１は、専用のハードウェアにより実現されるものであってもよく、あるいはパーソナルコンピュータ等のコンピュータシステムにより構成され、図２に示される経路情報管理装置１の各機能を実現するためのプログラムを実行することによりその機能を実現させるものであってもよい。
【００５４】
また、その経路情報管理装置１には、周辺機器として入力装置、表示装置等（いずれも図示せず）が接続されるものとする。ここで、入力装置とはキーボード、マウス等の入力デバイスのことをいう。表示装置とはＣＲＴ（Cathode Ray Tube）や液晶表示装置等のことをいう。
また、上記周辺機器については、経路情報管理装置１に直接接続するものであってもよく、あるいは通信回線を介して接続するようにしてもよい。
【００５５】
また、図３に示す各ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、経路情報管理処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Digital Versatile Disk）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００５６】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００５７】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
例えば、経路情報管理装置は、単独の装置として実現されてもよく、或いはルータと一体の装置として実現されてもよい。
【図面の簡単な説明】
【００５８】
【図１】本発明の一実施形態に係る通信ネットワークシステムの構成を示すブロック図である。
【図２】図１に示す経路情報管理装置１の構成を示すブロック図である。
【図３】本発明の一実施形態に係る経路状態テーブル作成手順を示すフローチャートである。
【符号の説明】
【００５９】
１…経路情報管理装置、２…ルータ、３…ネットワーク運用者端末、１１…ＵＰＤＡＴＥメッセージ、２１…通信部、２２…経路情報受信部、２３…経路状態テーブル作成部、２４…経路情報データベース、２５…経路情報検索部、２６…データベース管理部
【図１】
2008288848.tif 000003
【図２】
2008288848.tif 000004
【図３】
2008288848.tif 000005