(57)【要約】【課題】通信コストや計算コストを低く抑えながら、通常経路とdisjointな経路を正確かつ効率的に探索できる経路探索方法およびシステムを提供する。【解決手段】経路情報探索部１０４は、経路情報DB１０２に経路情報が登録されているBGPルータRを対象に、送信元ノードSまたは宛先ノードDへ至る経路上に交点ノードIとしての履歴を有するASが存在するか否かを判定し、交点ノードIが存在する経路または当該経路を与えたBGPルータRを対象に、各BGPルータから送信元ノードSおよび宛先ノードDへ至る各経路を探索する。交点算出部１０５は、ルータペア(Ri,Rj)の一方から宛先ノードDへ至る経路とルータペアの他方から送信元ノードSへ至る経路との交点ノードIを算出する。経路評価部１０７は、送信元ノードSから交点ノードIで反射して宛先ノードDへ至る経路を通常経路Psdと比較して評価する。【選択図】図４
2010239426.tif 000002
【特許請求の範囲】
【請求項１】
経路探索要求に応答して送信元ノードから宛先ノードへ至る経路を探索する経路探索システムにおいて、
ネットワーク上の複数のルータから経路情報を収集する手段と、
前記収集した経路情報を蓄積するデータベースと、
経路情報を収集したルータ同士のペアごとに、その一方のルータから送信元ノードへ至る経路と他方のルータから宛先ノードへ至る経路とが交差する交点ノードを算出する交点算出手段とを具備し、
前記送信元ノードから交点ノードを中継して宛先ノードへ至る経路を探索結果とすることを特徴とする経路探索システム。
【請求項２】
前記送信元ノードから交点ノードを中継して宛先ノードへ至る複数の経路候補を評価する評価手段をさらに具備し、
評価の高い経路候補を探索結果とすることを特徴とする請求項１に記載の経路探索システム。
【請求項３】
前記評価手段は、送信元ノードから宛先ノードへ至る通常経路と各経路候補とを比較し、共有する中継ノードが少ない経路候補ほど高く評価することを特徴とする請求項２に記載の経路探索システム。
【請求項４】
前記評価手段は、送信元ノードから宛先ノードへ至る通常経路と各経路候補とを比較し、共有するリンクが少ない経路候補ほど高く評価することを特徴とする請求項２に記載の経路探索システム。
【請求項５】
前記評価手段は、経路長の短い経路候補ほど高く評価することを特徴とする請求項２に記載の経路探索システム。
【請求項６】
前記評価手段は、予め設定されたノードを中継する経路候補の評価を高くすることを特徴とする請求項２に記載の経路探索システム。
【請求項７】
前記評価手段は、予め設定されたノードを中継しない経路候補の評価を高くすることを特徴とする請求項２に記載の経路探索システム。
【請求項８】
交点ノードの履歴を管理する手段と、
前記交点ノードの履歴に基づいて経路の探索範囲を予め絞り込む探索範囲絞込手段とを具備したことを特徴とする請求項１ないし７のいずれかに記載の経路探索システム。
【請求項９】
前記探索範囲絞込手段は、経路情報を収集した各ルータから送信元ノードおよび宛先ノードへ至る各経路に交点ノードとしての履歴を有するノードが存在するか否かを判定し、各ルータから送信元ノードおよび宛先ノードへ至る経路を前記交点ノードが存在する経路に絞り込み、
前記交点算出手段は、前記絞り込まれた経路同士の交点を算出することを特徴とする請求項８に記載の経路探索システム。
【請求項１０】
前記探索範囲絞込手段は、経路情報を収集した各ルータから送信元ノードおよび宛先ノードへ至る各経路に交点ノードとしての履歴を有するノードが存在するか否かを判定し、前記ルータを前記交点ノードが存在する経路を与えるルータに絞り込み、
前記交点算出手段は、前記絞り込まれたルータ同士のペアごとに、送信元ノードへ至る経路と宛先ノードへ至る経路との交点を算出することを特徴とする請求項８に記載の経路探索システム。
【請求項１１】
始めに経路の探索範囲を絞り込んで探索を行い、評価が所定の条件を満足する経路候補を探索できないと、次いで経路の探索範囲を絞り込まずに探索を行うことを特徴とする請求項８ないし１０のいずれかに記載の経路探索システム。
【請求項１２】
経路探索要求に応答して送信元ノードから宛先ノードへ至る経路を探索する経路探索方法において、
ネットワーク上の複数のルータから経路情報を収集する第１手順と、
経路情報を収集したルータ同士のペアごとに、その一方のルータから送信元ノードへ至る経路と他方のルータから宛先ノードへ至る経路とが交差する交点ノードを算出する第２手順と、
前記送信元ノードから交点ノードを中継して宛先ノードへ至る経路候補を探索する第３手順とを含むことを特徴とする経路探索方法。
【請求項１３】
前記経路候補を評価する第４手順と、
前記第２手順から第４手順までを繰り返して、評価が所定の基準値を超える少なくとも一つの経路候補を探索結果とする第５手順とを含むことを特徴とする請求項１２に記載の経路探索方法。
【請求項１４】
交点ノードの履歴を管理する手順と、
前記交点ノードの履歴に基づいて経路の探索範囲を予め絞り込む手順とを具備したことを特徴とする請求項１２または１３に記載の経路探索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネット等のネットワークを対象とした経路探索方法およびシステムに係り、特に、送信元ノードと宛先ノードとの間に設定された通常経路(default path)とノードやリンクを共有しないdisjoint（相互に素）な経路の探索に好適な経路探索方法およびシステムに関する。
【背景技術】
【０００２】
インターネットが世界に広域かつ密に普及するにつれてネットワーク接続は大きな冗長度を持つようになった。その結果、インターネットでは目的地までの異なる経路が多数存在することがわかっている。しかしながら、現在のインターネットでは、一般的に送信元ノードと宛先ノートとの間に単一の経路しか提供されない。もし、通常経路とは異なり、かつ通常経路とノードやリンクを共有しないdisjointな経路を自由に扱うことが可能になれば、複数経路の同時接続による速度の向上や故障率の低下、さらには障害復旧時間の短縮等に役立つ。非特許文献１，２には、通常経路と異なるdisjointな経路の発見や利用法に関する研究報告が開示されている。
【０００３】
さらに、インターネットにおいてオーバーレイネットワークを利用すれば、one-hop disjoint path (OHDP)を用いた通信が可能となる。OHDPとは、ある一つの中継点で２つのインターネットの経路を繋いで構築された、通常経路とは交わらないdisjoint な経路を意味し、適正な中継点（ノード）を発見できれば容易に確立できる。OHDPに関しては、例えば地震などの災害時において、経路制御の収束を待つことなく中継点を利用した迂回路を利用できるなどの有効性が認知されている。非特許文献３には、インターネット上のある２点間の通常経路に対する複数のOHDPをランダムに選択しながら探索する技術が開示されている。
【非特許文献１】K. Gummadi, H. Madhyastha, S. Gribble, H. Levy, and D. Wetherall. Improving the Reliability of Internet Paths with One-hop Source Routing. Proc. 6th USENIX OSDI.
【非特許文献２】J. Han and F. Jahanian. Impact of path diversity on multi-homed and overlay networks. Dependable Systems and Networks, 2004 International Conference on, pages 29.38.
【非特許文献３】J. Wu, Y. Zhang, Z. Mao, and K. Shin. Internet routing resilience to failures:analysis and implications. Proceedings of the 2007 ACM CoNEXT conference, 2007.
【発明の開示】
【発明が解決しようとする課題】
【０００４】
インターネット上の膨大な経路の中から通常経路とdisjointな経路を効率良く探し出すために、従来の多くの研究では、インターネット上のある２点間の通常経路に対する複数のOHDP をランダムに選択して評価したり、あるいはBGP 情報から得られたグラフから推測したりするなど、膨大な通信コストや計算コストの発生を余儀なくされていた。
【０００５】
本発明の目的は、上記の従来技術の課題を解決し、インターネットが経路制御に用いた既存の経路情報を再利用し、検索空間を小さく定義し直すことで、通信コストや計算コストを低く抑えながら、通常経路とdisjointな経路を正確かつ効率的に探索できる経路探索方法およびシステムを提供することにある。
【課題を解決するための手段】
【０００６】
上記の目的を達成するために、本発明は、経路探索要求に応答して送信元ノードから宛先ノードへ至る経路を探索する経路探索システムにおいて、以下のような手段を講じた点に特徴がある。
【０００７】
(1)ネットワーク上の複数のルータから経路情報を収集する手段と、収集した経路情報を蓄積するデータベースと、経路情報を収集したルータ同士のペアごとに、その一方のルータから送信元ノードへ至る経路と他方のルータから宛先ノードへ至る経路とが交差する交点ノードを算出する交点算出手段とを具備し、送信元ノードから交点ノードを中継して宛先ノードへ至る経路を探索結果とすることを特徴とする。
【０００８】
(2)交点ノードの履歴を管理する手段と、交点ノードの履歴に基づいて経路の探索範囲を予め絞り込む探索範囲絞込手段とを具備したことを特徴とする。
【０００９】
(3)送信元ノードから交点ノードを中継して宛先ノードへ至る複数の経路候補を評価する評価手段をさらに具備し、評価の高い経路候補を探索結果とすることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、以下のような効果が達成される。
【００１１】
(1)送信元ノードSから宛先ノードDへ至る通常経路以外の経路を、tracerouteなどの経路探索用のトラヒックを新たに生じさせることなく、ルータにより収集されて一般に公開されている既知の経路情報を再利用して探索できるので、経路探索を小さな通信コストで実現できるようになる。
【００１２】
(2)送信元ノードSから宛先ノードDへ至る通常経路以外の経路を、２本の経路の交点を算出するという単純な手法で探索できるので、経路探索を小さな計算コストで実現できるようになる。
【００１３】
(3)送信元ノードSから宛先ノードDへ至る通常経路以外の多数の経路を単純な手法で探索できるので、通常経路とdisjointな経路を簡単に発見できるようになる。
【００１４】
(4)交点履歴に基づいて、経路候補が中継（反射）する交点算出用のルータペアや経路を予め絞り込むようにしたので、経路探索の計算コストを更に削減できるようになる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照して本発明の実施形態について詳細に説明する。図１は、本発明に係る経路探索方法の基本的な考え方を模式的に示した図であり、ここではAS(Autonomous System)レベルでのOHDP (one-hop disjoint path)の効率的な探索に焦点を当て、AS70に存在する送信元ノードSからAS7に存在する宛先ノードDへ至る経路の探索を例にして説明する。
【００１６】
送信元ノードSおよび宛先ノードDの各ASとは別に２つのAS（AS1,AS10）に注目したとき、AS1から宛先ノードDへ至る経路P1（AS1→AS2→AS3→AS100→AS5→AS6→AS7）とAS10から送信元ノードS へ至る経路P2（AS10→AS20→AS30→AS100→AS50→AS60→AS70）とがAS100で交差していれば、送信元ノードSと宛先ノードDとの間には交点のAS100で反射（中継）する経路（AS70→AS60→AS50→AS100→AS5→AS6→AS7）が存在することが判る。
【００１７】
さらに、着目した２つのAS1，AS10のBGPルータがBGPテーブルの経路情報を公開していれば、新たにtracerouteなどを実行して経路情報を取得することなく、AS1から宛先ノードD(AS7)へ至る経路P1およびAS10から送信元ノードS (AS70)へ至る経路P2の経路情報を取得できるので、少ない計算量で効率よくOHDPを探索できることが判る。
【００１８】
なお、送信元ノードSからAS100へ至る経路（AS70→AS60→AS50→AS100）は前記経路P2の一部の反転経路であるため、厳密には経路P2と異なるが、ネットワーク上の経路はある程度の確率で対称性を有することから、実質的には送信元ノードSから交点AS100へ至る経路を前記経路P2の反転経路で代用できる。
【００１９】
そこで、本発明では各ASにおいて経路情報を公開しているBGPルータRに注目し、図２に示したように、一組のノードペア（送信元ノードSおよび宛先ノードDのペア）に対して多数のBGPルータRの組合せ（ルータペア）を適用し、経路長が最短で、かつ通常経路Psdとdisjointな経路を確立できる交点AS(I)を探索するようにしている。すなわち、経路情報を提供するBGPルータRがn個であれば、n(n-1)組のルータペア(Ri,Rj)から交点AS(I)を求めて経路を探索する。
【００２０】
図３は、本発明の経路探索システムが適用されるネットワークの構成を示した図であり、多数のAS（AS1，AS2，AS3…）の集合体であるインターネットNWには、送信元ノードSおよび宛先ノードDのノードペアならびに本発明に係る経路探索システム１が接続されている。前記経路探索システム１は、送信元ノードSから経路要求(1)を受信すると、送信元ノードSから宛先ノードDへ至る経路であって、通常経路Psdとdisjointな一ないし複数の経路候補P(S,I,D)を探索し、これを経路応答(2)として送信元ノードSへ返信する。
【００２１】
図４は、前記経路探索システム１の主要部の構成を示した機能ブロック図である。経路情報収集部１０１は、経路情報を公開しているASのBGPルータRから、そのBGPテーブルに登録されている経路情報を収集し、これを各BGPルータの識別子と対応付けて経路情報データベース(DB)１０２へ蓄積する。経路要求受信部１０３は、送信元ノードSから当該送信元ノードSおよび宛先ノードDのアドレスペア(s,d)を含む経路要求を受信すると、これに応答して経路情報探索部１０４へ経路探索を要求する。
【００２２】
経路情報探索部１０４は探索範囲絞込部１０４ａを含み、後に詳述するように、経路情報DB１０２に経路情報が登録されている多数のBGPルータRを対象に、送信元ノードSまたは宛先ノードDへ至る経路上に交点ノードIとしての履歴を有するASが存在するか否かを判定し、交点ノードIが存在する経路または当該経路を与えたBGPルータRのみに経路探索範囲を予め絞り込む。そして、絞り込まれた探索範囲を対象に、BGPルータペア(Ri,Rj)の各BGPルータから送信元ノードSおよび宛先ノードDへ至る各経路を、前記経路情報DB１０２に登録されている経路情報に基づいて探索する。
【００２３】
交点算出部１０５は、図５に示したように、ルータペア(Ri,Rj)の一方Riから宛先ノードDへ至る経路P(i,D)とルータペア(Ri,Rj)の他方Rjから送信元ノードSへ至る経路P(j,S)との交点ノードIij、および図６に示したように、ルータペア(Ri,Rj)の他方Rjから宛先ノードDへ至る経路P(j,D)とルータペア(Ri,Rj)の一方Riから送信元ノードSへ至る経路P(i,S)との交点ノードIjiを算出する。経路候補探索部１０６は、前記送信元ノードSから交点ノードIij，Ijiで反射して宛先ノードDへ至る経路P(S,Iij,R)，P(S,Iji,R)を経路候補として探索する。
【００２４】
経路評価部１０７は、図５に示したように送信元ノードSから交点ノードIijで反射して宛先ノードDへ至る経路P(S,Iij,R)と通常経路Psdとを比較し、共有するAS数やリンク数等に基づいて経路P(S,Iij,R)を評価する。前記経路評価部１０７はさらに、図６に示したように送信元ノードSから交点ノードIjiで反射して宛先ノードDへ至る経路P(S,Iji,R)と通常経路Psdとを比較して経路P(S,Iji,R)を評価する。前記経路評価部１０７で高い評価の得られた経路候補P(S,I,R)およびその交点ノードIは、前記経路要求に対する応答として経路応答返信部１０８から送信元ノードSへ通知される。
【００２５】
交点DB１０９には、今回の送信元／宛先のアドレスペア(s,d)にかかわらず前記経路評価部１０７で高い評価の得られた全ての経路候補P(S,I,R)の交点ノードIが履歴情報として蓄積される。この交点履歴は、前記経路情報探索部１０４の探索範囲絞込部１０４ａにおいて探索範囲を予め絞り込む際に利用される。
【００２６】
次いで、前記探索範囲絞込部１０４ａについて、その作用効果を説明する。発明者等は、上記交点ノードIに着目してdisjointな経路を探索する方式の有効性を検証するために、２種類のルータセットと２種類のノードセットとの組み合わせである計４種類のデータセットDS1，DS2，DS3，DS4を用意した。
【００２７】
ルータセットとは、経路情報を公開しているBGPルータペア(Ri,Rj)の集合であり、本実施形態では、多数のASとEBGP(External BGP)接続を行って各ASが送信するBGP経路更新メッセージを収集し、BGP経路表を定期的に公開しているRIPE [http://www.ripe.net/]の経路表およびRouteViews [http://www.ripe.net/]の経路表をルータセットとした。
【００２８】
ノードセットとは通常経路Psdが既知である送信元ノードSおよび宛先ノードDのノードペア(S,D)の集合であり、本実施形態ではPlanetLab [http://www.planet-lab.org] により提供される経路情報およびCAIDA [https://ark.caida.org/skitter-by-number/list-006]により提供される経路情報をノードセットとした。各データセットDS1，DS2，DS3，DS4の内訳は以下の通りである。
【００２９】
DS1：RIPEのルータセットおよびPlanetLabのノードセット
DS2：RIPEのルータセットおよびCAIDAのノードセット
DS3：RouteViewsのルータセットおよびPlanetLabのノードセット
DS4：RouteViewsのルータセットおよびCAIDAのノードセット
【００３０】
発明者が上記４種類のデータセットDS1，DS2，DS3，DS4を対象に調査したところ、一部のASが高頻度で交点ノードとなり、例えば、全世界に２万個あるAS のうち、たった１０個の交点ノードが全ノードペア(S,D)の６５−８５％に対して、通常経路Psdと全ての中継ノード(AS)およびリングが異なるdisjointな経路を提供することが判った。
【００３１】
図７，８は、小数の交点ノードが多くのルータペア(Ri,Rj)およびノードペア(S,D)の組合せに関して高い頻度で交点ノードと成り得る事を示した図である。
【００３２】
ここでは始めに、４種類の各データセットDS1，DS2，DS3，DS4における多数のルータペア(Ri,Rj)およびノードペア(S,D)の組合せについてdisjointな経路を提供する交点ノードIを探索し、さらに交点となる頻度の高い上位２０個の交点ノードを抽出した。次いで、前記データセットDS1，DS2，DS3，DS4のルータペア(Ri,Rj)およびノードペア(S,D)の組合せに関して、交点履歴のあるノードの集合（交点ノード候補）の中から交点ノードを発見できる確率を、当該交点ノード候補に前記抽出した上位２０個の交点ノードを一つずつ追加しながら求めた。
【００３３】
図７は、交点ノード候補に追加した交点ノード数（横軸）とdisjointな最適経路を発見できたノードペア(S,D)の確率（縦軸）との関係を示した図であり、例えば８個の交点ノードが、データセットDS1，DS2に関しては６５−７０％、データセットDS3，DS4に関しては約９０％の確率でノードペア(S,D)にdisjointな最適経路を提供でき、いずれのデータセットでも、２０個の交点ノードで約１００％のノードペア(S,D)に最適経路を提供できることが判る。
【００３４】
図８は、disjointな最適経路を与える交点ノードは発見できなかったものの、一部のノードしか重複せず、実使用上は最適経路と同等に機能できる準最適経路を与える交点ノードのみを発見できたルータペアおよびノードペア(S,D)の組合せを対象に、上記と同様にして、準最適経路の交点となる頻度の高い上位２０個について、交点ノード候補に追加した交点ノード数と準最適経路を発見できたノードペア(S,D)の確率との関係を示した図である。いずれのデータセットでも、２０個の交点ノードで約１００％のノードペア(S,D)に準最適経路を提供できることが判る。
【００３５】
そこで、本実施形態では経路情報探索部１０４に探索範囲絞込部１０４ａを設けると共に、OHDP を構築する交点ノードとなったASの履歴情報を交点DB１０９に蓄積し、交点ノードIとなる頻度の高いASを含む経路を送信元ノードSまたは宛先ノードDとの間に確立できるルータあるいは当該経路のみを探索対象とすることで探索の効率化を図るようにしている。
【００３６】
次いで、フローチャートを参照して本実施形態の動作を詳細に説明する。図９は、本実施形態における経路探索サーバ１の動作を示したフローチャートである。
【００３７】
ステップＳ１において、送信元ノードSから送信された経路要求が前記経路要求受信部１０３で受信されるとステップＳ２へ進む。ステップＳ２では、後述するステップＳ３の交点算出において注目する探索範囲をノードペア(S,D)ごとに予め絞り込むための「探索範囲絞込処理」が前記探索範囲絞込部１０４ａで実行される。
【００３８】
図１０は、前記「探索範囲絞込処理（ステップＳ２）」の手順を示したフローチャートであり、ステップＳ１０では、OHDPを与える確率の高いASの集合Mから、一つの交点ASが今回の注目交点ノードItとして抽出される。本実施形態では、前記交点DB１０９が集合Mとされ、交点頻度の高いASから順に注目交点ノードItとして抽出される。ステップＳ１１では、経路情報を公開しているBGPルータRの集合から一つのBGPルータが今回の注目ルータRtとして抽出される。
【００３９】
ステップＳ１２では、前記注目ルータRtから予め収集されて経路情報DB１０２に蓄積されている経路情報に基づいて、当該注目ルータRtから送信元ノードSへ至る経路P(Rt,S)に前記注目交点ノードItが含まれるか否かが判定される。今回の注目交点ノードItが含まれていればステップＳ１３へ進み、今回の経路P(Rt,S)が絞込経路集合Qsに登録される。ステップＳ１４では、前記注目ルータRtから宛先ノードdへ至る経路P(Rt,D)に前記注目交点ノードItが含まれるか否かが判定される。今回の注目交点ノードItが含まれていればステップＳ１５へ進み、今回のP(Rt,D)が絞込経路集合Qdに登録される。
【００４０】
ステップＳ１６では、所定数のBGPルータRについて上記の処理が完了したか否かが判定される。完了していなければステップＳ１１へ戻り、注目ルータRtを変更しながら上記の処理が繰り返される。ステップＳ１７では、集合M（交点DB１０９）に既登録であって交点頻度が上位である所定数（例えば、２０個）の交点ノードIについて上記の処理が完了したか否かが判定される。完了していなければステップＳ１０へ戻り、注目交点ノードItを変更しながら上記の処理が繰り返される。
【００４１】
以上の処理が完了すると、絞込経路集合Qs，Qdには、各BGPルータから送信元ノードSまたは宛先ノードDに至る多数の経路のうち、その経路上に前記集合Mに属する交点ノードIが存在する経路のみが登録されることになる。
【００４２】
図９へ戻り、続くステップＳ３では、前記絞込経路集合Q，Qdのそれぞれから抽出した経路P(Ri,S)，P(Rj,D)の交点ノードIを算出し、さらに送信元ノードSから当該交点ノードIを中継して宛先ノードDへ至る経路候補(S,I,D)が、通常経路Psdとdisjointな経路であるか否かを評価する「交点算出および経路評価処理」が実行される。
【００４３】
図１１は、前記「交点算出および経路評価処理（ステップＳ３）」の手順を示したフローチャートである。
【００４４】
ステップＳ２０では、絞込経路集合Qsからの中から一つの経路P(Ri,S)が抽出され、さらに絞込経路集合Qdからの中から一つの経路P(Rj,D)が抽出される。ステップＳ２１では、経路P(Ri,S)と経路P(Rj,D)とが交差する交点ノードIijが前記交点算出部１０５において算出される。なお、図１２に一例を示したように、複数の交点ノードIij1，Iij2が存在する場合には、経路のホップ数が最小となる一つの交点ノード（ここでは、交点ノードIij1）が選択されるようにしても良い。
【００４５】
ステップＳ２２では、前記経路候補探索部１０６により、交点ノードIijを中継して送信元ノードSから宛先ノードDへ至る経路、すなわち経路P(Rj,S)を反転した経路P(S,Rj)と経路P(Ri,D)とを交点ノードIijで繋いで得られる経路候補(S,Iij,R)が探索される。ステップＳ２３では、前記経路評価部１０７において、前記経路候補(S,Iij,R)が通常経路Psdと比較され、送信元ノードSおよび宛先ノードDを除いて共有するAS数やリンク数が算出される。
【００４６】
ステップＳ２４では、前記経路候補(S,Iij,R)の共有ASや共有リンク数が所定の条件を満足するか否かが判定される。本実施形態では、経路候補をOHDPとする条件として、図１５に示したように共有AS数が「０」[同図(a)]、「１」[同図(b)]あるいは「２」[同図(c)]のように予め設定されている。
【００４７】
一般にdisjoint な経路とは、通常経路Psdに対して構成要素であるノードやリンクが完全に交わりを持たない最適経路として定義される。しかしながら、通信の効率や堅牢性の観点からは、ノードやリンクの一部が共有状態となる経路あっても、その共有部分が少ない場合には有用である場合も多い。そこで、本実施形態では完全にdisjointな最適経路のみならず、ノードやリンクの一部が通常経路Psdと共有状態にある準最適経路についても、所定の条件下ではdisjoint な経路とみなして、その交点ノードが経路探索の結果とされる。なお、複数経路の探索を要求されている場合にはステップＳ２０へ戻り、ルータペアを変更しながら上記の処理が繰り返されて他の交点ノードが更に算出される。
【００４８】
ステップＳ２５では、前記算出された交点ノードIijが交点DB１０９に登録される。本実施形態では、交点DB１０９において各交点ノードIに頻度情報が付加されており、登録しようとする交点ノードIが交点DB１０９に既登録であれば、その頻度情報が更新（例えば、交点回数のインクリメント）され、交点頻度が上位の交点ノードIのみが前記図１０のステップＳ１０において交点ASの集合Mとして利用される。
【００４９】
図９へ戻り、ステップＳ４では、前記ステップＳ２４で判別された一ないし複数の交点ノードIが送信元ノードSへ経路応答として通知される。
【００５０】
次いで、前記「探索範囲絞込処理（ステップＳ２）」および「交点算出および経路評価処理（ステップＳ３）」の他の実施形態について、それぞれ図１３，１４のフローチャートを参照して説明する。
【００５１】
上記の実施形態では、disjoint な経路の探索範囲が、経路情報を公開しているBGPルータとノードペア(S,D)とを結ぶ経路のうち、交点ノードIとしての頻度が高いASを含む経路に絞り込まれるものとして説明したが、本実施形態では、disjoint な経路の探索範囲が、経路情報を公開しているBGPルータのうち、ノードペア(S,D)へ至る経路が交点ノードIとしての頻度が高いASを含むBGPルータに絞り込まれるようにしている。
【００５２】
図１３の「探索範囲絞込処理（図９のステップＳ２）」において、ステップＳ３０では、OHDPを与える確率の高いASの集合Mから、一つの交点ASが今回の注目交点ノードItとして抽出される。本実施形態でも、前記交点DB１０９が集合Mとされ、交点頻度の高いASから順に注目交点ノードItとして抽出される。ステップＳ３１では、経路情報を公開しているBGPルータRの集合から一つのBGPルータが今回の注目ルータRtとして抽出される。
【００５３】
ステップＳ３２，Ｓ３３では、前記注目ルータRtから予め収集されて経路情報DB１０２に蓄積されている経路情報に基づいて、当該注目ルータRtから送信元ノードSへ至る経路P(Rt,S)、または注目ルータRtから宛先ノードDへ至る経路P(Rt,D)に前記注目交点ノードItが含まれるか否かが判定される。いずれかの経路に今回の注目交点ノードItが含まれていればステップＳ３４へ進み、今回の注目ルータRtが絞込ルータ集合Qに登録される。
【００５４】
ステップＳ３５では、所定数のBGPルータRについて上記の処理が完了したか否かが判定される。完了していなければステップＳ３１へ戻り、注目ルータRtを変更しながら上記の処理が繰り返される。ステップＳ３６では、集合M（交点DB１０９）に既登録であって交点頻度が上位である所定数（例えば、２０個）の交点ノードIについて上記の処理が完了したか否かが判定される。完了していなければステップＳ３０へ戻り、注目交点ノードItを変更しながら上記の処理が繰り返される。
【００５５】
以上の処理が完了すると、絞込ルータ集合Qには、多数のBGPルータのうち送信元ノードSまたは宛先ノードDに至る経路上に前記集合Mに属する交点ノードIが存在するBGPルータのみが登録されることになる。
【００５６】
図９へ戻り、続くステップＳ３では、前記絞込ルータ集合Qから抽出したルータペア(Ri,Rj)の各ルータRi，Rjからノードペア(S,D)の各ノードS，Dへ至る経路の交点ノードIを算出し、さらに送信元ノードSから当該交点ノードIを中継して宛先ノードDへ至る経路候補(S,I,D)が、通常経路Psdとdisjointな経路であるか否かを評価する「交点算出および経路評価処理」が実行される。
【００５７】
図１４は、前記「交点算出および経路評価処理（ステップＳ３）」の手順を示したフローチャートである。
【００５８】
ステップＳ４０では、絞込ルータ集合Qの中から２つのルータが今回の注目ルータペア(Ri,Rj)として抽出される。ステップＳ４１では、前記図５に示したように、注目ルータペアの一方Riから宛先ノードDへ至る経路P(Ri,D)が、前記経路情報探索部１０４により経路情報DB１０２から抽出される。ステップＳ４２では、注目ルータペアの他方Rjから送信元ノードSへ至る経路P(Rj,S)が経路情報DB１０２から抽出される。ステップＳ４３では、経路P(Ri,D)と経路P(Rj,S)とが交差する交点ノードIijが前記交点算出部１０５において算出される。
【００５９】
ステップＳ４４では、前記図６に示したように、注目ルータペアの他方Rjから宛先ノードDへ至る経路P(Rj,D)が、前記経路情報探索部１０４により経路情報DB１０２から抽出される。ステップＳ４５では、注目ルータペアの一方Riから送信元ノードSへ至る経路P(Ri,S)が経路情報DB１０２から抽出される。ステップＳ４６では、経路P(Rj,D)と経路P(Ri,S)とが交差する交点ノードIjiが前記交点算出部１０５において算出される。
【００６０】
ステップＳ４７では、前記経路候補探索部１０６により、交点ノードIijを中継して送信元ノードSから宛先ノードDへ至る経路、すなわち経路P(Rj,S)を反転した経路P(S,Rj)と経路P(Ri,D)とを交点ノードIijで繋いで得られる経路候補(S,Iij,R)が探索され、さらに前記交点ノードIjiを中継して送信元ノードSから宛先ノードDへ至る経路、すなわち経路P(Ri,S)を反転した経路P(S,Ri)と経路P(Rj,D)とを交点ノードIjiで繋いで得られる経路候補(S,Iji,R)が探索される。
【００６１】
ステップＳ４８では、前記経路評価部１０７において、経路候補(S,Iij,R)が通常経路Psdと比較され、送信元ノードSおよび宛先ノードDを除いて共有するAS数やリンク数が算出される。さらに、経路候補(S,Iji,R)についても同様に通常経路Psdと比較され、共有するAS数やリンク数が算出される。
【００６２】
ステップＳ４９では、前記各経路候補(S,Iij,R)，(S,Iji,R)の共有ASや共有リンク数が所定の条件を満足するか否かが判定される。本実施形態でも完全にdisjointな最適経路のみならず、ノードやリンクの一部が通常経路Psdと共有状態にある準最適経路についても、所定の条件下ではdisjoint な経路とみなして、その交点ノードが経路探索の結果とされる。なお、複数経路の探索を要求されている場合にはステップＳ４０へ戻り、ルータペアを変更しながら上記の処理が繰り返されて他の交点ノードが更に算出される。ステップＳ５０では、前記算出された交点ノードIij，Ijiが交点DB１０９に登録される。
【００６３】
図９へ戻り、ステップＳ４では、前記ステップＳ４９で判別された一ないし複数の交点ノードIが送信元ノードSへ経路応答として通知される。
【００６４】
なお、上記の実施形態では、多数の交点ノードIの中から頻度の高い交点ノードIが経路応答として通知されるものとして説明したが、本発明はこれのみに限定されるものではなく、各交点ノードを中継する経路のホップ数を比較し、ホップ数が少ない上位の一ないし複数の交点ノードIが送信元ノードSへ経路応答として通知されるようにしても良い。
【００６５】
また、上記の実施形態では、経路評価部１０７により複数の経路候補(S,Iij,R)が通常経路Psdと比較され、送信元ノードSおよび宛先ノードDを除いて共有するAS数やリンク数の少ない経路候補、さらにはホップ数の少ない経路候補ほど高い評価が得られるものとして説明したが、本発明はこれのみに限定されるものではなく、例えば中継したいノードや中継したくないノードが既知であれば、これらを予めポリシーベース（図示せず）に登録しておき、中継したいノードを中継しない経路候補や中継したくないノードを中継する経路候補に評価値を下げるペナルティを設定しても良い。このようにすれば、例えばバックボーンの脆弱なノードや輻輳の頻発するノードを中継しないように設定できるので、より好ましい経路を探索できるようになる。
【００６６】
さらに、上記の各実施形態では交点ノードの履歴に基づいて経路の探索範囲を予め絞り込み、絞り込まれた探索範囲内で経路探索が行われるものとして説明したが、本発明はこれのみに限定されるものではなく、探索範囲を絞り込まずに探索を行っても良い。あるいは最初に探索範囲を絞り込んで優先的に経路探索を行い、評価が所定の条件を満足する経路候補を探索できなかった場合のみ、探索範囲を絞り込まずに改めて探索を行うようにしても良い。
【００６７】
さらに、上記の各実施形態では、本発明を送信元／宛先ノード間に確立あるいは予定されている通常経路とdisjointな最適経路や準最適経路の探索を例にして説明したが、本発明はこれのみに限定されるものではなく、送信元／宛先ノード間に新規に確立する経路（通常経路）の探索にも適用できる。
【００６８】
図１６は、送信元／宛先ノード間に通常経路を新規に確立するシステムの構成を示した機能ブロック図であり、前記と同一の符号は同一または同等部分を表している。
【００６９】
経路決定部１１０は、今回のノードペア(S,D)に関して複数の交点ノードが発見された場合に、例えば経路長（本実施形態では、ホップ数）に基づいて最良の経路を決定し、これを経路応答返信部１０８から送信元ノードSへ通知すると共に、当該最良の経路が中継する交点ノードIを経路情報探索部１０４の探索範囲絞込部１０４ａへ通知する。
【００７０】
本実施形態によれば、送信元ノードSと宛先ノードDとの間に確立する経路を、tracerouteなどの経路探索用のトラヒックを新たに生じさせることなく、ルータにより収集されて一般に公開されている既知の経路情報を再利用して探索できるので、経路探索を小さな通信コストで実現できるようになる。
【図面の簡単な説明】
【００７１】
【図１】本発明に係る経路探索方法の基本的な考え方を示した図（その１）である。
【図２】本発明に係る経路探索方法の基本的な考え方を示した図（その２）である。
【図３】本発明の経路探索システムが適用されるネットワークの構成を示した図である。
【図４】本発明に係る経路探索システムの第１実施形態の機能ブロック図である。
【図５】交点算出部の機能を説明した図である。
【図６】交点算出部の機能を説明した図である。
【図７】探索範囲絞込部１０４ａの作用効果を説明するための図（その１）である。
【図８】探索範囲絞込部１０４ａの作用効果を説明するための図（その２）である。
【図９】経路探索システムの動作を示したフローチャートである。
【図１０】探索範囲絞込処理（その１）の手順を示したフローチャートである。
【図１１】交点算出および経路評価処理（その１）の手順を示したフローチャートである。
【図１２】交点ノードが複数存在する場合の交点の選択方法を示した図である。
【図１３】探索範囲絞込処理（その２）の手順を示したフローチャートである。
【図１４】交点算出および経路評価処理（その２）の手順を示したフローチャートである。
【図１５】経路候補の評価方法の一例を示した図である。
【図１６】本発明に係る経路探索システムの他の実施形態の機能ブロック図である。
【符号の説明】
【００７２】
１…経路探索システム，１０１…経路情報収集部，１０２…経路情報データベース，１０３…経路要求受信部，１０４…経路情報探索部，１０４ａ…探索範囲絞込部，１０５…交点算出部，１０６…経路候補探索部，１０７…経路評価部，１０８…経路応答返信部，１０９…交点データベース，１１０…経路決定部
【図１】
2010239426.tif 000003
【図２】
2010239426.tif 000004
【図３】
2010239426.tif 000005
【図４】
2010239426.tif 000006
【図５】
2010239426.tif 000007
【図６】
2010239426.tif 000008
【図７】
2010239426.tif 000009
【図８】
2010239426.tif 000010
【図９】
2010239426.tif 000011
【図１０】
2010239426.tif 000012
【図１１】
2010239426.tif 000013
【図１２】
2010239426.tif 000014
【図１３】
2010239426.tif 000015
【図１４】
2010239426.tif 000016
【図１５】
2010239426.tif 000017
【図１６】
2010239426.tif 000018