(57)【特許請求の範囲】
【請求項１】
ＢＧＰ（Border Gateway Protocol）により経路情報を交換するルータを備えるＡＳ（Autonomous System）内において最適経路を計算するシミュレーション装置を用いたＢＧＰシミュレーション方法であって、
前記シミュレーション装置が、
記憶部に記憶された前記ＡＳのトポロジ情報を参照して、前記経路情報の広告元ルータから広告された経路情報が伝播するルータをトレースし、このトレース結果を用いて、前記広告元ルータごとに当該経路情報が伝播するルータを示したルータリストを作成し、前記記憶部に記録するステップと、
前記記憶部に記憶された前記ＡＳのトポロジ情報および前記ルータそれぞれに設定されたＢＧＰフィルタを示したフィルタリストを参照して、前記経路情報の広告元となるルータごとに、このルータから広告される経路情報のアドレスおよびこの経路情報に付加されるＢＧＰ属性値とを示した広告元経路情報テーブルを作成し、前記記憶部に記録するステップと、
前記ルータリストを参照して、前記広告元経路情報テーブルに示される前記経路情報が伝播するルータそれぞれに設定される最適経路を選択するステップと、
前記ルータごとに、当該ルータに設定される最適経路を示したＢＧＰテーブルを作成し、前記記憶部に記録するステップとを実行し、
前記最適経路を選択するステップにおいて、
前記広告元経路情報テーブルに、同じアドレスの経路情報が複数登録されているとき、その経路情報それぞれに付加されるＢＧＰ属性値のうち、Ｌｏｃａｌ  Ｐｒｅｆｅｒｅｎｃｅ、ＡＳ＿ＰＡＴＨ、ＯＲＩＧＩＮおよびＭＥＤについて、（１）Ｌｏｃａｌ  Ｐｒｅｆｅｒｅｎｃｅ、（２）ＡＳ＿ＰＡＴＨ、（３）ＯＲＩＧＩＮ、（４）ＭＥＤという順に値を比較するＢＧＰ属性値比較ステップを実行し、そのＢＧＰ属性値比較ステップの結果、最も優先度の高い経路情報の経路を前記アドレスへの最適経路として選択することを特徴とするＢＧＰシミュレーション方法。
【請求項２】
前記シミュレーション装置が、
前記最適経路を選択するステップにおいて、
前記広告元経路情報テーブルに、当該アドレスの経路情報が１つしか登録されていないと判断したとき、前記経路情報に示される経路を当該アドレスへの最適経路として選択することを特徴とする請求項１に記載のＢＧＰシミュレーション方法。
【請求項３】
前記シミュレーション装置が、
前記記憶部に記憶された前記ＡＳのトポロジ情報および前記フィルタリストを参照して、前記広告元ルータごとに、この広告元ルータからの経路情報が伝播するルータに設定されているＢＧＰフィルタのリストを示したフィルタリストを作成し、前記記憶部に記録するステップを実行し、
前記最適経路を選択するステップにおいて、
前記ルータリストおよび前記フィルタリストを参照して、前記広告元経路情報テーブルに登録される経路情報から、前記ＢＧＰフィルタによるフィルタ対象の経路情報を除いた経路情報を対象に、前記ＢＧＰ属性値比較ステップを実行し、前記アドレスへの最適経路を選択することを特徴とする請求項１または請求項２に記載のＢＧＰシミュレーション方法。
【請求項４】
前記シミュレーション装置が、
前記最適経路を選択するステップにおいて、
前記広告元経路情報テーブルに、同じアドレスの経路情報が複数登録され、前記ＢＧＰ属性値比較ステップにおいて、その経路情報それぞれに付加されるＢＧＰ属性値のＬｏｃａｌ  Ｐｒｅｆｅｒｅｎｃｅ、ＡＳ＿ＰＡＴＨ、ＯＲＩＧＩＮおよびＭＥＤの値がすべて同じと判断されたとき、この同じ値を持つ経路情報を除いた経路情報を対象として、前記アドレスへの最適経路を選択することを特徴とする請求項１ないし請求項３のいずれか１項に記載のＢＧＰシミュレーション方法。
【請求項５】
請求項１ないし請求項４のいずれか１項に記載のＢＧＰシミュレーション方法を、コンピュータである前記シミュレーション装置に実行させることを特徴とするＢＧＰシミュレーションプログラム。
【請求項６】
ＢＧＰ（Border Gateway Protocol）により経路情報を交換するルータを備えるＡＳ（Autonomous System）内において最適経路を計算するシミュレーション装置であって、
前記ＡＳのトポロジ情報および前記ＡＳの前記ルータそれぞれに設定されたＢＧＰフィルタを示したフィルタリストを記憶する記憶部と、
（１）前記ＡＳのトポロジ情報を参照し、前記経路情報の広告元ルータから広告された経路情報が伝播するルータをトレースし、このトレース結果を用いて、前記広告元ルータごとに前記経路情報が伝播するルータを示したルータリストを作成し、（２）前記ＡＳのトポロジ情報および前記フィルタリストを参照して、前記経路情報の広告元となるルータごとに、このルータから広告される経路情報のアドレスおよびこの経路情報に付加されるＢＧＰ属性値とを示した広告元経路情報テーブルを作成し、前記作成したルータリストおよび経路広告元経路情報テーブルを前記記憶部に記録するリスト作成部と、
前記ルータリストを参照して、前記広告元経路情報テーブルに示される経路情報が伝播するルータそれぞれに設定される最適経路を選択する最適経路選択部とを備え、
前記最適経路選択部は、
前記広告元経路情報テーブルに、同じアドレスの経路情報が複数登録されているとき、その経路情報それぞれに付加されるＢＧＰ属性値のうち、Ｌｏｃａｌ  Ｐｒｅｆｅｒｅｎｃｅ、ＡＳ＿ＰＡＴＨ、ＯＲＩＧＩＮおよびＭＥＤについて、（１）Ｌｏｃａｌ  Ｐｒｅｆｅｒｅｎｃｅ、（２）ＡＳ＿ＰＡＴＨ、（３）ＯＲＩＧＩＮ、（４）ＭＥＤという順に値を比較し、その結果、最も優先度の高い経路情報の経路を前記アドレスへの最適経路として選択することを特徴とするシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰ（Internet Protocol）ネットワークのシミュレーション技術に関する。
【背景技術】
【０００２】
社会的なインフラとしてのＩＰネットワークの重要性が高まるにつれて、ＩＰネットワークに対する信頼性向上の要求が高まっている。また、ＩＰ電話をはじめとする様々なサービスがＩＰネットワーク上に統合されることにより、通信キャリアのサービス基盤として、ＩＰネットワークが急速に拡大しつつある。このような状況において、通信キャリアは、これまで以上に大規模なＩＰネットワークを安全に運用する必要に迫られている。
【０００３】
ＩＰネットワークの運用において、ルータの増設時やルータのメンテナンスのためトラフィックの迂回時等に、パラメータの一時的な変更作業が必要となる。このとき、事前にパラメータ変更の影響をコンピュータ上で再現するネットワークシミュレータを利用することで、事前に手順ミスや設計ミスを発見できる。
【０００４】
このネットワークシミュレータは、市販品やオープンソースのもの等、数多くの製品があるが、ＩＰネットワークのルーティングプロトコルとして広く利用されているＢＧＰ（Border Gateway Protocol、非特許文献１参照）のシミュレーションでは、実際にルータが広告するメッセージを模擬する方式を採用しているものが殆どである。
【非特許文献１】Y.Rekhter，“A Border Gateway Protocol 4 (BGP-4)”，RFC4274，[online]、[平成19年12月14日検索],インターネット,<URL:http:www.ietf.org/rfc/rfc4271.txt>
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、前記した技術により、シミュレーション装置が一経路ごとに経路広告を追いかけていたのでは、経路数が数万〜数十万という大規模なネットワークのＢＧＰシミュレーションに多大な時間を要することが懸念される。そこで、本発明は、前記した問題を解決し、ＢＧＰシミュレーションに要する時間を短縮することを目的とする。
【課題を解決するための手段】
【０００６】
前記した課題を解決するため、請求項１に記載の発明は、ＢＧＰ（Border Gateway Protocol）により経路情報を交換するルータを備えるＡＳ（Autonomous System）内において最適経路を計算するシミュレーション装置を用いたＢＧＰシミュレーション方法であって、前記シミュレーション装置が、記憶部に記憶された前記ＡＳのトポロジ情報を参照して、前記経路情報の広告元ルータから広告された経路情報が伝播するルータをトレースし、このトレース結果を用いて、前記広告元ルータごとに当該経路情報が伝播するルータを示したルータリストを作成し、前記記憶部に記録するステップと、前記記憶部に記憶された前記ＡＳのトポロジ情報および前記ルータそれぞれに設定されたＢＧＰフィルタを示したフィルタリストを参照して、前記経路情報の広告元となるルータごとに、このルータから広告される経路情報のアドレスおよびこの経路情報に付加されるＢＧＰ属性値とを示した広告元経路情報テーブルを作成し、前記記憶部に記録するステップと、前記ルータリストを参照して、前記広告元経路情報テーブルに示される前記経路情報が伝播するルータそれぞれに設定される最適経路を選択するステップと、前記ルータごとに、当該ルータに設定される最適経路を示したＢＧＰテーブルを作成し、前記記憶部に記録するステップとを実行し、前記最適経路を選択するステップにおいて、前記広告元経路情報テーブルに、同じアドレスの経路情報が複数登録されているとき、その経路情報それぞれに付加されるＢＧＰ属性値のうち、Ｌｏｃａｌ  Ｐｒｅｆｅｒｅｎｃｅ、ＡＳ＿ＰＡＴＨ、ＯＲＩＧＩＮおよびＭＥＤについて、（１）Ｌｏｃａｌ  Ｐｒｅｆｅｒｅｎｃｅ、（２）ＡＳ＿ＰＡＴＨ、（３）ＯＲＩＧＩＮ、（４）ＭＥＤという順に値を比較するＢＧＰ属性値比較ステップを実行し、そのＢＧＰ属性値比較ステップの結果、最も優先度の高い経路情報の経路を前記アドレスへの最適経路として選択することを特徴とするＢＧＰシミュレーション方法とした。
【０００７】
請求項６に記載の発明は、ＢＧＰ（Border Gateway Protocol）により経路情報を交換するルータを備えるＡＳ（Autonomous System）内において最適経路を計算するシミュレーション装置であって、前記ＡＳのトポロジ情報および前記ＡＳの前記ルータそれぞれに設定されたＢＧＰフィルタを示したフィルタリストを記憶する記憶部と、（１）前記ＡＳのトポロジ情報を参照し、前記経路情報の広告元ルータから広告された経路情報が伝播するルータをトレースし、このトレース結果を用いて、前記広告元ルータごとに前記経路情報が伝播するルータを示したルータリストを作成し、（２）前記ＡＳのトポロジ情報および前記フィルタリストを参照して、前記経路情報の広告元となるルータごとに、このルータから広告される経路情報のアドレスおよびこの経路情報に付加されるＢＧＰ属性値とを示した広告元経路情報テーブルを作成し、前記作成したルータリストおよび経路広告元経路情報テーブルを前記記憶部に記録するリスト作成部と、前記ルータリストを参照して、前記広告元経路情報テーブルに示される経路情報が伝播するルータそれぞれに設定される最適経路を選択する最適経路選択部とを備え、前記最適経路選択部は、前記広告元経路情報テーブルに、同じアドレスの経路情報が複数登録されているとき、その経路情報それぞれに付加されるＢＧＰ属性値のうち、Ｌｏｃａｌ  Ｐｒｅｆｅｒｅｎｃｅ、ＡＳ＿ＰＡＴＨ、ＯＲＩＧＩＮおよびＭＥＤについて、（１）Ｌｏｃａｌ  Ｐｒｅｆｅｒｅｎｃｅ、（２）ＡＳ＿ＰＡＴＨ、（３）ＯＲＩＧＩＮ、（４）ＭＥＤという順に値を比較し、その結果、最も優先度の高い経路情報の経路を前記アドレスへの最適経路として選択することを特徴とするシミュレーション装置とした。
【０００８】
このようにすることで、シミュレーション装置は、各ルータがやりとりする経路情報（ＢＧＰメッセージ）を個別にシミュレートすることなく、このルータそれぞれにおいて選択される最適経路を計算することができる。つまり、シミュレーション装置は、ＡＳ内の個々のＢＧＰメッセージの流れを追わずに最適経路を計算できるので、ＢＧＰシミュレーションに要する時間の短縮を図ることができる。これは以下の原理に基づく。
【０００９】
ＢＧＰには最適経路選択に用いられる様々な属性値（ＢＧＰ属性値）がある。ネットワーク内の各ルータは、同じアドレス（プレフィックス）の経路情報が複数登録されていた場合、その属性値を比較することによって最適経路を選択する。ここで、この属性値のうち、Ｌｏｃａｌ Ｐｒｅｆｅｒｅｎｃｅ、ＡＳ＿ＰＡＴＨ、ＯＲＩＧＩＮおよびＭＥＤは、ＡＳ内における当該ルータの位置に関係なく、これらの値の大小関係のみで最適経路が判断できる属性値である。また、ＢＧＰ最適経路選択プロセスにおいて、このＬｏｃａｌ Ｐｒｅｆｅｒｅｎｃｅ、ＡＳ＿ＰＡＴＨ、ＯＲＩＧＩＮおよびＭＥＤは、優先的に比較される属性値である（非特許文献１参照）。すなわち、シミュレーション装置は、各ＡＳのルータの位置関係を把握することなく、経路情報に付された属性値の大小関係で最適経路が分かるものについては、この属性値を用いて最適経路を推測する。よって、シミュレーション装置は、ＡＳ内の個々のＢＧＰメッセージの流れを追わずに最適経路を推測できるので、ＢＧＰシミュレーションに要する時間の短縮を図ることができる。
【００１０】
なお、これらの属性値のうち、Ｌｏｃａｌ ＰｒｅｆｅｒｅｎｃｅおよびＭＥＤは、自ＡＳから外部ＡＳへの出力トラフィックでどちらの経路を優先するかを示した属性値である。各ルータにおいて、このＬｏｃａｌ＿Ｐｒｅｆｅｒｅｎｃの値が高いものの方が最適経路として選択される。また、ＭＥＤについては、その値が低い方の値が最適経路として選択される。これらの属性値は、オペレータが各ルータにおける経路選択を意図的に操作するための属性値であり、この経路情報を広告するルータにＢＧＰフィルタ（フィルタ）を適用することによって設定される。
【００１１】
また、ＯＲＩＧＩＮは、経路を最初に広告したルータ２が、ＡＳ内部にあるか（属性値「０」）、ＡＳ外部にあるか（属性値「１」）、それ以外か（属性値「２」）を示した属性値であり、各ルータにおいて、その値が小さいもの（つまり、ＡＳ内部から広告された経路）が最適経路として選択される。さらに、ＡＳ＿ＰＡＴＨは、自ＡＳに到達するまでに経由したＡＳのＡＳ番号のリストであり、各ルータにおいてＡＳ＿ＰＡＴＨに示されるＡＳの数がより少ない経路が最適経路として選択される。なお、これらの属性値の意味と大小関係による優先度とはＢＧＰの仕様で決められているものである。
【００１２】
請求項２に記載の発明は、請求項１に記載のＢＧＰシミュレーション方法の前記最適経路を選択するステップにおいて、前記シミュレーション装置が、前記広告元経路情報テーブルに、当該アドレスの経路情報が１つしか登録されていない判断したとき、前記経路情報に示される経路を当該アドレスへの最適経路として選択することを特徴とする。
【００１３】
このようにすることで、シミュレーション装置は、当該アドレスの経路情報が１つしか登録されていないとき、その経路情報を当該アドレスへの最適経路として選択することができる。
【００１４】
請求項３に記載の発明は、請求項１または請求項２に記載のＢＧＰシミュレーション方法において、前記シミュレーション装置が、前記記憶部に記憶された前記ＡＳのトポロジ情報および前記フィルタリストを参照して、前記広告元ルータごとに、この広告元ルータからの経路情報が伝播するルータに設定されているＢＧＰフィルタのリストを示したフィルタリストを作成し、前記記憶部に記録するステップを実行し、前記最適経路を選択するステップにおいて、前記ルータリストおよび前記フィルタリストを参照して、前記広告元経路情報テーブルに登録される経路情報から、前記ＢＧＰフィルタによるフィルタ対象の経路情報を除いた経路情報を対象に、前記ＢＧＰ属性値比較ステップを実行し、前記アドレスへの最適経路を選択することを特徴とする。
【００１５】
このようにすることで、シミュレーション装置は、ＡＳ内のルータにＢＧＰフィルタが設定されていた場合でも、いずれのフィルタの影響も受けない経路については高速に最適経路を計算できるので、ＢＧＰシミュレーションに要する時間の短縮を図ることができる。
【００１６】
請求項４に記載の発明は、請求項１ないし請求項３のいずれか１項に記載のＢＧＰシミュレーション方法において、前記シミュレーション装置が、前記最適経路を選択するステップにおいて、前記広告元経路情報テーブルに、同じアドレスの経路情報が複数登録され、前記ＢＧＰ属性値比較ステップにおいて、その経路情報それぞれに付加されるＢＧＰ属性値のＬｏｃａｌ  Ｐｒｅｆｅｒｅｎｃｅ、ＡＳ＿ＰＡＴＨ、ＯＲＩＧＩＮおよびＭＥＤの値がすべて同じと判断されたとき、この同じ値を持つ経路情報を除いた経路情報を対象として、前記アドレスへの最適経路を選択することを特徴とする。
【００１７】
このようにすることで、シミュレーション装置は、広告元経路情報テーブルに、同じアドレスの経路情報が複数登録され、かつ、その経路情報それぞれに付加されるＢＧＰ属性値（Ｌｏｃａｌ Ｐｒｅｆｅｒｅｎｃｅ、ＡＳ＿ＰＡＴＨ、ＯＲＩＧＩＮおよびＭＥＤ）も同じとき、この経路情報を除いて最適経路を選択することができる。
【００１８】
請求項５に記載の発明は、請求項１ないし請求項４のいずれか１項に記載のＢＧＰシミュレーション方法を、コンピュータである前記シミュレーション装置に実行させることを特徴とするＢＧＰシミュレーションプログラムとした。
【００１９】
このようにすることで、一般的なコンピュータに請求項１ないし請求項４のいずれか１項に記載のＢＧＰシミュレーション方法を実行させることができる。
【発明の効果】
【００２０】
本発明によれば、シミュレーション装置は、ＡＳ内のＢＧＰの動作をコンピュータ上でシミュレーションする場合に、ＡＳ内の個々のＢＧＰメッセージの流れを追わずに最適経路を計算できるので、ＢＧＰシミュレーションに要する時間の短縮を図ることができる。ができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明を実施するための最良の形態（以下、実施の形態という）について説明する。まず、図１を用いて、本実施の形態の概要を説明する。図１は、本実施の形態の概要を説明した図である。なお、以下の説明において、シミュレーション装置は、いわゆるＢＧＰシミュレーション（シミュレーション）のうち、主に、ＩＰネットワーク内の各ルータにおいて選択される最適経路の推測を行うものとして説明する。
【００２２】
ここでは、本実施の形態のシミュレーション装置が、図１に示すＩＰネットワーク１を対象として、ＢＧＰシミュレーション（シミュレーション）を実行する場合を例に説明する。このＩＰネットワーク１は、複数のルータ２（ルータ２Ａ，２Ｂ，２Ｃ，２Ｄ，２Ｅ，２Ｆ，２Ｇ）を含む。このルータ２間にはＢＧＰメッセージ（経路情報）を交換するためのＢＧＰピアが確立されている。このＩＰネットワーク１は、ルータ２Ａ，２Ｂによりユーザネットワーク５（プレフィックス＝１００．１．１．０／２４）に接続され、このルータ２Ａ，２Ｂは、このプレフィックスの経路情報をＢＧＰメッセージとして広告している。なお、このＩＰネットワーク１のルータ２Ｅは、プレフィックス＝１００．１．１．０／２４について、ＢＧＰフィルタを設定しているものとする。
【００２３】
ここで、図１に示すようにユーザネットワーク５への経路が、ルータ２Ａ経由のものと、ルータ２Ｂ経由のものと２つあるとき（つまり、ユーザネットワーク５への経路が冗長化されていたとき）、このルータ２Ａ，２Ｂはそれぞれ、同じプレフィックス「１００．１．１．０／２４」のＢＧＰメッセージを広告することになる。
【００２４】
この場合において、シミュレーション装置が、事前に、（１）これらのＢＧＰメッセージが到達するルータ２と、（２）広告元であるルータ２Ａ，２Ｂそれぞれから広告されるＢＧＰメッセージに付されるＢＧＰ属性値と、（３）ＢＧＰフィルタの影響により、途中最適経路が変更される可能性のあるルータ２とを知っていれば、各ルータ２におけるＢＧＰメッセージ１つ１つの流れを追わなくても、各ルータ２が選択する最適経路を知ることができる。
【００２５】
つまり、シミュレーション装置において、同じプレフィックスの経路の広告元のルータ２Ａ，２Ｂにおいて、ルータ２Ｂ経由の経路よりもルータ２Ａ経由の経路の優先度が高く設定され、かつ、このルータ２ＡからのＢＧＰメッセージが到達する各ルータ２において、ＢＧＰフィルタの影響を受けないことが分かっていれば、各ルータ２に、このルータ２Ａから広告された経路（つまり、ＮＥＸＴ＿ＨＯＰが「ルータ２Ａ」の経路）が最適経路として選択される。よって、シミュレーション装置は、各ルータ２に設定される最適経路をシミュレートするため、ルータ２すべてについて、このルータ２でやりとりされるＢＧＰメッセージの流れを追う必要がなくなる。
【００２６】
ここで、このルータ２Ａ，２Ｂから広告されるＢＧＰメッセージのＢＧＰ属性値のうち、ＢＧＰ最適経路選択プロセスで優先的に比較されるＬｏｃａｌ Ｐｒｅｆｅｒｅｎｃｅ、ＡＳ＿ＰＡＴＨ、ＯＲＩＧＩＮ、ＭＥＤに違いがあれば、シミュレーション装置は、ＡＳの各ルータの位置関係を把握することなく、どちらの経路が最適経路として設定されるかが推測できる。すなわち、図１に示した例でいうと、ルータ２ＡからのＢＧＰメッセージが到達する範囲は、ルータ２Ａ，２Ｂ，２Ｃ，２Ｄ，２Ｅである。また、ルータ２ＢからのＢＧＰメッセージが到達する範囲は、ルータ２Ａ，２Ｂ，２Ｃ，２Ｄ，２Ｅ，２Ｆ，２Ｇである。よって、シミュレーション装置は、プレフィックス「１００．１．１．０／２４」について、ルータ２Ａから広告されるＢＧＰメッセージのＭＥＤは「１０」、ルータ２Ｂから広告されるＢＧＰメッセージのＭＥＤは「２０」であることが分かっていれば、各ルータ２に設定される最適経路を以下のように推測する。
【００２７】
すなわち、シミュレーション装置は、ルータ２Ｃ，２Ｄ，２Ｅにおいて選択されるプレフィックス「１００．１．１．０／２４」の最適経路を、「ＮＥＸＴ＿ＨＯＰ＝２Ａ（ルータ２Ａ）」と推測する。つまり、このルータ２Ｃ，２Ｄ，２Ｅが受信するプレフィックス「１００．１．１．０／２４」のＢＧＰメッセージは、「ＮＥＸＴ＿ＨＯＰ＝２Ａ（ルータ２Ａ）」のものと、「ＮＥＸＴ＿ＨＯＰ＝２Ｂ（ルータ２Ｂ）」のものがあるが、ＭＥＤの値を比較すると、「ＮＥＸＴ＿ＨＯＰ＝２Ａ（ルータ２Ａ）」の方が小さいので、この「ＮＥＸＴ＿ＨＯＰ＝２Ａ（ルータ２Ａ）」の経路を選択する。また、シミュレーション装置は、ルータ２Ｆにおいて選択されるプレフィックス「１００．１．１．０／２４」の最適経路を、「ＮＥＸＴ＿ＨＯＰ＝２Ｂ（ルータ２Ｂ）」と推測する。なお、ルータ２Ｇにおいて選択される最適経路については、ルータ２ＥのＢＧＰフィルタの影響を受けるので除外する。つまり、このルータ２Ｇに設定される最適経路については、別の方法でシミュレーションする。
【００２８】
次に、図２を用いて、前記したシミュレーションを行う本実施の形態のシミュレーション装置を説明する。図２は、本実施の形態のシミュレーション装置の構成を示したブロック図である。
【００２９】
シミュレーション装置１０は、入力部１１、処理部１２、記憶部１３および出力部１４を備えるコンピュータにより実現される。この入力部１１および出力部１４は、入出力インタフェースにより実現される。また、処理部１２は、このシミュレーション装置１０が備えるＣＰＵ（Central Processing Unit）によるプログラム実行処理や、専用回路等により実現される。さらに、記憶部１３は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ（Hard Disk Drive）、フラッシュメモリ等の記憶媒体により実現される。なお、シミュレーション装置１０をプログラム実行処理により実現する場合、記憶部１３には、このシミュレーション装置１０の機能を実現するためのＢＧＰシミュレーションプログラムが記憶される。
【００３０】
＜入力部＞
入力部１１は、シミュレーションの対象となるネットワークにおける各ルータ２のトポロジ情報や各ルータ２に設定されるフィルタ情報（ＢＧＰフィルタの設定情報）等の入力を受け付ける。なお、ここでのトポロジ情報は、例えば、図１に示したＩＰネットワーク１における各ルータ２のネットワーク構成を示した情報である。つまり、どのルータ２とどのルータ２との間にＢＧＰピアが確立され、どのユーザネットワーク５に接続されているかを示した情報である。また、フィルタ情報は、各ルータ２に設定されるＢＧＰフィルタの設定情報を示した情報である。このＢＧＰフィルタの設定情報は、例えば、ルータ２Ｄは、プレフィックス「２００．１．１．０／２４」に含まれる経路をルータ２Ｅへ広告する場合は、ＢＧＰメッセージのＭＥＤを「３０」に設定して広告する、といった情報である。このようなＢＧＰフィルタの設定情報により、各ルータ２がどのようなＢＧＰ属性値を付与してＢＧＰメッセージを広告するかや、どのルータ２から広告されるＢＧＰメッセージについて、ＢＧＰ属性値が変更される可能性があるのかを知ることができる。
【００３１】
＜処理部＞
処理部１２は、トポロジ情報１３０やフィルタ設定リスト１３１等を参照して、ＢＧＰシミュレーションを行う。このような処理部１２は、設定情報入力部１２１、リスト作成部１２２、フィルタ検査部１２３および最適経路選択部１２４を含んで構成される。
【００３２】
設定情報入力部１２１は、入力部１１経由で、トポロジ情報やフィルタ情報等の入力を受け付ける。そして、この設定情報入力部１２１は、入力されたトポロジ情報をトポロジ情報１３０として記憶部１３に格納する。また、設定情報入力部１２１は、フィルタ情報をフィルタ設定リスト１３１（後記する図３参照）として記憶部１３に格納する。
【００３３】
リスト作成部１２２は、トポロジ情報１３０を参照して、ルータリスト１３２を作成する。つまり、リスト作成部１２２は、まず、トポロジ情報１３０を参照して、経路情報の広告元ルータから広告された経路情報が伝播するルータ２をトレースする。次に、このトレース結果を用いて、広告元ルータごとに当該経路情報が伝播するルータ２を特定し、この特定したルータ２をルータリスト１３２に登録する。このルータリスト１３２の詳細は、図４を用いて後記する。また、このリスト作成部１２２は、広告元経路情報テーブル１３４を作成する。この広告元経路情報テーブル１３４は、フィルタ設定リスト１３１および経路情報の広告元となるルータ２ごとに、このルータ２が広告する経路のアドレス（プレフィックス）と、この経路情報に設定されるＢＧＰ属性値とを示した情報である。この広告元経路情報テーブル１３４の詳細は、図６を用いて後記する。
【００３４】
フィルタ検査部１２３は、フィルタ設定リスト１３１およびルータリスト１３２を参照して、広告元経路情報テーブル１３４に示される各経路情報が、ＢＧＰフィルタの影響を受ける可能性があるか否かを判断する。つまり、このフィルタ検査部１２３は、広告元経路情報テーブル１３４に示される経路情報の広告元のルータ２の識別情報を参照して、この経路情報が、ルータリスト１３２に示されるルータ２間を伝播していく過程で、このルータ２に設定されたＢＧＰフィルタの影響で、経路情報のＢＧＰ属性値が変更される可能性があるか否かを判断する。そして、フィルタ検査部１２３は、広告元経路情報テーブル１３４に示される経路情報から、このＢＧＰフィルタの影響を受ける可能性があると判断された経路情報を取り除く。そして、フィルタ検査部１２３は、このＢＧＰフィルタの影響を受ける可能性があると判断された経路情報を取り除いた経路情報を最適経路選択部１２４へ出力する。
【００３５】
最適経路選択部１２４は、フィルタ検査部１２３により出力された経路情報から、最適経路を選択する。そして、この選択した最適経路をＢＧＰテーブル１３５に記録する。このＢＧＰテーブル１３５の詳細は、図７を用いて後記する。この最適経路選択部１２４による最適経路の選択は以下のように行われる。すなわち、最適経路選択部１２４は、フィルタ検査部１２３により出力された、ＢＧＰフィルタの影響を受ける可能性のある経路情報を取り除いた経路情報について、同じプレフィックスの経路情報が１つであれば、その経路を最適経路として選択する。一方、同じプレフィックスの経路情報が複数あれば、最適経路選択部１２４は、ＢＧＰ最適経路選択プロセス情報１３３に示される順に、これらの経路情報のＢＧＰ属性値のＬｏｃａｌ Ｐｒｅｆｅｒｅｎｃｅ、ＡＳ＿ＰＡＴＨ、ＯＲＩＧＩＮおよびＭＥＤを順に比較して、優先度が最も高い経路情報を選択する。
【００３６】
例えば、プレフィックス「１００．１．１．０／２４」の経路情報について、広告元がルータ２Ａのものと、ルータ２Ｂのものと２つあったとき、最適経路選択部１２４は、まず、これらの経路情報のＬｏｃａｌ Ｐｒｅｆｅｒｅｎｃｅの値を比較する。ここで、このＬｏｃａｌ Ｐｒｅｆｅｒｅｎｃｅの値が同じなら、最適経路選択部１２４は、ＡＳ＿ＰＡＴＨ（ＡＳ＿ＰＡＴＨ長）の値を比較する。次に、このＡＳ＿ＰＡＴＨの値が同じなら、最適経路選択部１２４は、ＯＲＩＧＩＮの値を比較する。さらに、ＯＲＩＧＩＮの値が同じなら、最適経路選択部１２４は、ＭＥＤの値を比較する、という順に、最適経路選択部１２４は、これらの経路情報のＢＧＰ属性値を順に比較し、どちらの経路の優先度が高いかを判断する。この最適経路選択の詳細については、具体例を用いて後記する。
【００３７】
＜記憶部＞
記憶部１３は、この処理部１２がＢＧＰシミュレーションに用いる各種情報を記憶する。この記憶部１３は、トポロジ情報１３０と、フィルタ設定リスト１３１と、ルータリスト１３２と、ＢＧＰ最適経路選択プロセス情報１３３と、広告元経路情報テーブル１３４と、ＢＧＰテーブル１３５とを所定領域に記憶する。
【００３８】
トポロジ情報１３０は、シミュレーションの対象となるネットワークのトポロジを示した情報である。このトポロジ情報１３０は、シミュレーションの対象となるネットワーク内の各ルータ２の識別情報と、ルータ２間におけるＢＧＰピアの確立状態、ルートリフレクタとなるルータ２の識別情報、ルートリフレクタクライアントとなるルータ２の識別情報、ルータ２に接続されるユーザネットワーク５のアドレス等を示した情報である。
【００３９】
フィルタ設定リスト１３１は、各ルータ２に設定されているＢＧＰフィルタ（フィルタ）の内容を示したリストである。図３は、図２のフィルタ設定リストを例示した図である。図３に示すように、フィルタ設定リスト１３１は、ルータ２の識別情報ごとに、このルータ２で用いられるフィルタ内容を示した情報である。このフィルタ内容は、フィルタＩＤ（フィルタの通し番号）、対抗ピア、そのフィルタのルール（フィルタの対象となる経路のアドレス）、そのフィルタを適用した経路情報に対するアクション等を含む。例えば、図３のフィルタ設定リスト１３１において、ルータ２Ａには、対向ピアとなるルータ２Ｃ，２Ｄに対して、全経路のＭＥＤ値を「１０」にするフィルタが設定されている。ここで、フィルタＩＤ「１」のフィルタの対向ピアの欄に「２Ｃ（ｏｕｔ）」と記載されているが、これはルータ２Ａからルータ２Ｃへ向かって広告される経路情報（ＢＧＰメッセージ）に対してルータ２Ａがフィルタを適用することを示す。また、対向ピアの欄に「２Ｃ（ｉｎ）」と記載されていた場合、ルータ２Ｃからルータ２Ａへ向かって広告される経路に対しフィルタを適用することを示す。
【００４０】
図２のルータリスト１３２は、この経路情報の広告元ルータごとに、この経路情報が到達するルータ２の識別情報を示した情報である。図４は、図２のルータリストを例示した図である。図４に示すように、ルータリスト１３２は、広告元ルータの識別情報ごとに、このルータ２から広告された経路情報が到達するルータ２の識別情報を示した情報である。なお、このルータリスト１３２は、このルータリストに示されるルータ２に適用されるＢＧＰフィルタのＩＤ（フィルタリスト）を含めるようにしてもよい。このフィルタリストは、リスト作成部１２２がフィルタ設定リスト１３１およびＢＧＰ最適経路選択プロセス情報１３３を参照して、記載する。このときのフィルタリストの作成手順の詳細は、フローチャートを用いて後記する。
【００４１】
図２のＢＧＰ最適経路選択プロセス情報１３３は、各ルータ２において複数の経路情報の中から最適経路を選択するときのルールを示した情報である。図５は、図２のＢＧＰ最適経路選択プロセス情報を示した図である。なお、図５の各ルールに付された数字は、このルールの適用の優先順位を示す。つまり、最適経路選択部１２４は、経路情報が複数あったとき、このＢＧＰ最適経路選択プロセス情報１３３を参照して、１.Ｌｏｃａｌ Ｐｒｅｆｅｒｅｎｃｅの最も大きい経路を優先する、２.ＡＳ＿ＰＡＴＨ長の最も短い経路を優先する、３.ＯＲＩＧＩＮの最も小さい経路を優先する、４.ＭＥＤの最も小さい経路を優先（同じＡＳからの経路を対象とする）…という順にルールを適用し、各ルータ２において選択される最適経路を判断する。なお、このルールの適用順は、ＢＧＰを実装した各ルータ２において最適経路の選択に用いられるルールの適用順と同じである。
【００４２】
図２の広告元経路情報テーブル１３４は、経路情報の広告元となるルータ２の識別情報ごとに、このルータ２から広告される経路情報に示されるアドレスと、この経路情報に付加されるＢＧＰ属性値（Ｌｏｃａｌ Ｐｒｅｆｅｒｅｎｃｅ、ＡＳ＿ＰＡＴＨ、ＯＲＩＧＩＮ、ＭＥＤ）とを示した情報である。図６は、図２の広告元経路情報テーブルを例示した図である。例えば、図６の広告元経路情報テーブル１３４において、ルータ２Ａを広告元とする経路情報は、アドレス「１００．１．１．０／２４」に関するもので、その経路情報に付加されるＢＧＰ属性値のうち、ＯＲＩＧＩＮは「１」であり、ＭＥＤは「１０」であることを示す。また、ルータ２Ｂを広告元とする経路情報は、同じくアドレス「１００．１．１．０／２４」に関するもので、ＯＲＩＧＩＮは「１」であり、ＭＥＤは「２０」であることを示す。
【００４３】
図２のＢＧＰテーブル１３５は、各ルータ２において選択される最適経路を示した情報である。図７は、図３のＢＧＰテーブルを例示した図である。図７に示すように、ＢＧＰテーブル１３５は、ルータ２の識別情報ごとに、当該ルータ２で選択される最適経路の経路情報（アドレス、ＮＥＸＴ＿ＨＯＰ、ＢＧＰ属性値等）が示される。例えば、図７の一番手前のＢＧＰテーブル１３５は、ルータ２Ｃに関するものであり、このルータ２Ｃにおいて選択される、アドレス「１００．１．１．０／２４」に関する最適経路は、ＮＥＸＴ＿ＨＯＰ「２Ａ」であり、そのＢＧＰ属性値は、ＯＲＩＧＮが「１」であり、ＭＥＤが「１０」のものであることを示す。このＢＧＰテーブル１３５の情報は、出力部１４経由で、外部の表示装置等に出力される。これにより、ユーザは、ネットワーク内の各ルータ２において選択される最適経路のシミュレーション結果を知ることができる。なお、このＢＧＰテーブル１３５は、最適経路以外の経路の経路情報を含んでいてもよい。
【００４４】
＜出力部＞
図２の出力部１４は、この処理部１２によるＢＧＰテーブル１３５の情報等を出力する。
【００４５】
＜動作手順の概要＞
次に、前記した図２ないし図７を参照しつつ、図８を用いて、シミュレーション装置１０の動作手順を説明する。図８は、図２のシミュレーション装置の動作手順の概要を示したフローチャートである。
【００４６】
まず、事前準備として、図２のシミュレーション装置１０の設定情報入力部１２１は、トポロジ情報やフィルタ情報等の入力を受け付ける。そして、この入力されたトポロジ情報をトポロジ情報１３０として記憶部１３に格納し、フィルタ情報をフィルタ設定リスト１３１として記憶部１３に格納しておく。
【００４７】
（Ｓ１：ルータリスト、フィルタリストの生成）
そして、リスト作成部１２２は、このトポロジ情報１３０に示されるＢＧＰトポロジ（ＢＧＰピアの接続関係）をトレースし、各ルータ２から広告される経路情報が到達するルータ２のリスト（ルータリスト１３２（図４参照））と、その間に存在するフィルタのリスト（フィルタリスト）を作成する。つまり、リスト作成部１２２は、フィルタ設定リスト１３１を参照して、この経路情報が到達するルータ２のリストと、そのルータ２間に存在するフィルタのリスト（フィルタリスト）を作成する。また、リスト作成部１２２は、設定情報入力部１２１を通じて入力されたトポロジ情報に含まれるユーザネットワークの情報を参照して、広告元経路情報テーブル１３４（図６参照）も作成しておく。リスト作成部１２２は、作成したルータリスト１３２および広告元経路情報テーブル１３４を記憶部１３に格納する。
【００４８】
（Ｓ２：フィルタ検査）
次に、フィルタ検査部１２３は、広告元経路情報テーブル１３４に示される経路情報ごとに、この経路情報が、Ｓ１で作成したルータリスト１３２のフィルタリストに示されるフィルタに該当するか否かを検査し、該当する経路情報を除外する。つまり、フィルタ検査部１２３は、フィルタの影響によりＢＧＰ属性値が変わる可能性がある経路情報については除外する。
【００４９】
（Ｓ３：最適経路選択）
そして、最適経路選択部１２４は、Ｓ２で残った経路情報について、最適経路選択を実施し、ＢＧＰテーブル１３５に結果を記録する。つまり、最適経路選択部１２４は、Ｓ２で残った経路情報のうち、その経路情報に付加されたＢＧＰ属性値とＢＧＰ最適経路選択プロセス情報１３３とを参照して、各ルータ２で選択される最適経路を決定し、その結果を、ＢＧＰテーブル１３５に記録する。
【００５０】
そして、シミュレーション装置１０は、このＢＧＰテーブル１３５に記録された情報を出力部１４経由で出力する。
【００５１】
なお、シミュレーション装置１０は、例えば、Ｓ２で除外された経路（つまり、フィルタの影響によりＢＧＰ属性値が変わる可能性がある経路の経路情報）については、別の方法で最適経路のシミュレーションを行い、そのシミュレーション結果をＢＧＰテーブル１３５に記録するようにしてもよい。
【００５２】
＜動作手順の具体例＞
次に、図２ないし図７を参照しつつ、図９および図１０を用いて、図８に示したシミュレーション装置１０の動作手順を詳細に説明する。図９は、図２のシミュレーション装置がシミュレーションの対象とするＩＰネットワークを例示した図である。図１０は、図２のルータリストの作成手順を例示した図である。
【００５３】
ここで、図９のＩＰネットワーク１について説明すると、このＩＰネットワーク１は、ルータ２（２Ａ，２Ｂ，２Ｃ，２Ｄ，２Ｅ）を含んで構成される。このルータ２（２Ａ〜２Ｅ）は、ＢＧＰメッセージにより経路情報を交換する。このルータ２間には、このＢＧＰメッセージを交換するため、図１に示すようなＢＧＰピアが確立されている。このＩＰネットワーク１は、ユーザネットワーク５（５Ａ，５Ｂ）と接続される。このうちユーザネットワーク５Ａのアドレスは「１００．１．１．０／２４」であり、ユーザネットワーク５Ｂのアドレスは「２００．１．１．０／２４」である。
【００５４】
なお、このルータ２のうち、ルータ２Ｃ，２Ｄは、ルートリフレクタ（ＲＲ）であり、ルータ２Ａ，２Ｂは、このルートリフレクタクライアント（クライアント）であるものとする。また、ルータ２Ｅは、ルートリフレクタのクライアントではない通常のルータ（ノンクライアント）であるものとする。ルートリフレクタとは、ネットワーク内のＢＧＰピア数を削減するために用いられるルータであり、クライアントから受信したＢＧＰメッセージをクライアントおよびノンクライアントへ転送する。なお、ルートリフレクタが、ノンクライアントから受信したＢＧＰメッセージをクライアントへ転送するが、ノンクライアントへは転送しない。
【００５５】
（図８のＳ１：ルータリスト、フィルタリストの生成の詳細）
まず、図８のＳ１：ルータリスト、フィルタリストの生成の詳細を説明する。このＳ１において、リスト作成部１２２は、ルータリスト１３２作成にあたり、トポロジ情報１３０を参照して、ルータ２Ａが保持する２つのＢＧＰピア（ルータ２Ｃ宛とルータ２Ｄ宛）を辿って、例えば、図１０に示す情報を得る。
【００５６】
図１０の符号２０１は、ルータ２Ａのルータ２Ｃ宛のＢＧＰピアからの広告を辿った結果を示す。ルータ２Ａから広告された経路情報は、ルートリフレクタであるルータ２Ｃにより、他のルータ２（ルータ２Ｂ，２Ｄ）へ広告される。ルータ２Ｂは、ルートリフレクタではないので、それ以上の広告は行われない。一方、ルータ２Ｄは、ルートリフレクタであるため、ルータ２Ａ，２Ｂへの広告が行われる。ここで、ルータ２Ｄからルータ２Ｅには広告されていない。これは、ルートリフレクタは、クライアントではないＢＧＰピアから受信した経路情報（ここでは、ルータ２Ｃから受信した経路情報）を、自身のクライアントのＢＧＰピアのみに再広告するというＢＧＰの仕様によるものである。ここでは、ルータ２Ｅは、ルータ２Ｄのクライアイントになっていないので広告されない。その結果、ルータ２Ａのルータ２Ｃ宛のＢＧＰピアから広告した経路情報は、ルータ２Ｂ，２Ｃ，２Ｄの３台のルータに到達する（ルータ２Ａは広告元なので除外する）。このため、図１０に示すように、ルータ２Ａのルータ２Ｃ宛のＢＧＰピアからの経路情報の広告において、この経路情報が到達するルータリストは、「２Ｂ，２Ｃ，２Ｄ」となる。また、図３に示すフィルタ設定リスト１３１によると、符号２０１に示すルータ２Ａからルータ２Ｃへの経路広告ルートのルータ２にフィルタは設定されていないので、フィルタリストは「なし」になる。ここで、図３に示したフィルタ設定リスト１３１では、フィルタＩＤ「１」のフィルタがルータ２Ａに設定されているが、このフィルタは、ルータ２Ａが広告元となり広告される経路情報のＢＧＰ属性値設定に利用されるものなので、フィルタリストに加えない。すなわち、このフィルタは、ネットワーク内を広告されていく過程でＢＧＰ属性値を変更するものではないので、このフィルタはフィルタリストに加えない。
【００５７】
同様に、図１０の符号２０２は、ルータ２Ａのルータ２Ｄ宛のＢＧＰピアからの広告を辿った結果を示す。ここでは、ルータ２Ａから広告された経路情報は、ルータ２Ｄ経由でルータ２Ｅにも広告されているが、これは、ルートリフレクタは、クライアントから受信した経路情報を、すべてのＢＧＰピアに再広告するというＢＧＰの仕様によるものである。
【００５８】
これに伴って、ルータ２Ｄに設定されているフィルタＩＤ「５」のフィルタが適用される（図３のフィルタ設定リスト１３１参照）。図３のフィルタ設定リスト１３１によれば、このフィルタはＭＥＤの変更に関するものである。よって、各ルータ２Ｅの最適経路選択の結果に影響を与える可能性があるため、フィルタリストに加える。従って、結果としてルータリストは「ルータ２Ｂ，２Ｃ，２Ｄ，２Ｅ」、フィルタリストは「５」となる。このように、ルータ２Ａから広告される経路情報は、これら２つのＢＧＰピアからのトレースの結果を総合して、図１０の符号２０３に示すように、ルータリストは「ルータ２Ｂ，２Ｃ，２Ｄ，２Ｅ」となり、フィルタリストは「５」となる。
【００５９】
図１０では、ルータ２Ａからの経路情報の広告の例を示したが、リスト作成部１２２がすべてのルータ２を対象に前記したような処理を実施し、図４に示すようなルータリスト１３２を作成する。
【００６０】
なお、リスト作成部１２２は、広告経路上にフィルタが存在すると判断したとき、そのフィルタをルータリスト１３２のフィルタリストに加えるか否かは、ＢＧＰ最適経路選択プロセス情報１３３を参照して決定する。本実施の形態において、シミュレーション装置１０は、ＢＧＰ最適経路選択プロセス情報１３３に示されるＢＧＰ属性値を、このＢＧＰ最適経路選択プロセス情報１３３に示す順に比較することで最適経路を選択する方法を採用している。このため、リスト作成部１２２は、このＢＧＰ最適経路選択プロセス情報１３３に示されるＢＧＰ属性値を変更するフィルタが存在すると判断した場合には、このフィルタをフィルタリストに追加する。
【００６１】
（図８のＳ２：フィルタ検査の詳細）
次に、図８のＳ２：フィルタ検査について詳細に説明する。このＳ２では、Ｓ１で抽出したフィルタリストに対して、各ルータ２により広告される経路情報が、フィルタ処理の影響を受けるか否かを調べる。
【００６２】
まず、その前準備として、リスト作成部１２２は、各ルータ２が広告する経路情報をまとめた広告元経路情報テーブル１３４（図６参照）を作成しておく。なお、このとき各広告元ルータから広告される経路情報に付されるＢＧＰ属性値は、リスト作成部１２２がフィルタ設定リスト１３１を参照して判断する。
【００６３】
例えば、図６の広告元経路情報テーブル１３４に示すように、ルータ２Ａを広告元とする経路情報は、図３のフィルタ設定リスト１３１のフィルタＩＤ「１，２」のフィルタが適用されるので、「全経路に対して、ＭＥＤ＝１０に設定」が適用された後の値とする。また、ルータ２Ｂを広告元とする経路情報は、図３のフィルタ設定リスト１３１のフィルタＩＤ「３，４」のフィルタが適用されるので、「全経路に対して、ＭＥＤ＝２０に設定」が適用された後の値とする。このようにして、リスト作成部１２２は、広告元経路情報テーブル１３４を作成すると、この広告元経路情報テーブル１３４には、アドレス「１００．１．１．０／２４」の経路情報について、広告元ルータが「ルータ２Ａ」、ＭＥＤが「１０」のものと、広告元ルータが「ルータ２Ｂ」、ＭＥＤが「２０」という情報とが登録される。
【００６４】
なお、広告元ルータが複数のＢＧＰピアを保持する場合には、そのＢＧＰピアごとにフィルタの設定が異なることがある。その場合は、リスト作成部１２２は、ＢＧＰ最適経路選択プロセス情報１３３（図５参照）を参照して、より優先となる方のフィルタを適用する。
【００６５】
次に、フィルタ検査部１２３は、広告元経路情報テーブル１３４に示される経路情報ごとに、この経路情報がＳ１で生成したフィルタリストに含まれるフィルタのフィルタ処理の対象となるか否かを調べる。
【００６６】
例えば、フィルタ検査部１２３は、図６の広告元経路情報テーブル１３４を参照して、アドレスが「１００．１．１．０／２４」の経路情報は、ルータ２Ａとルータ２Ｂとが広告元であることを特定する。これに対して、フィルタ検査部１２３は、図４のルータリスト１３２のフィルタリストを参照して、ルータ２Ａ，２Ｂが広告元となる経路情報に対して、フィルタＩＤ「５」のフィルタが適用されることを知る。次に、フィルタ検査部１２３は、図３のフィルタ設定リスト１３１のフィルタＩＤ「５」の欄を参照して、このフィルタは「２００．１．１．０／２４」というアドレスを対象としたものなので、現在着目している「１００．１．１．０／２４」というアドレスは対象外であると判断する。すなわち、フィルタ検査部１２３は、このフィルタＩＤ「５」のフィルタが「１００．１．１．０／２４」の経路情報に対して実際には適用されないと判断する。
【００６７】
一方、フィルタ検査部１２３は、図６の広告元経路情報テーブル１３４を参照して、ルータ２Ｅが広告する「２００．１．１．０／２４」について以下のような処理を行う。すなわち、フィルタ検査部１２３は、図６の広告元経路情報テーブル１３４および図４のルータリスト１３２のフィルタリストを参照して、ルータ２Ｅから広告される経路情報に、フィルタＩＤ「６」のフィルタが適用されることを知る。
【００６８】
ここで、フィルタ検査部１２３は、図３のフィルタ設定リスト１３１を参照して、フィルタＩＤ「６」のフィルタは、「２００．１．１．０／２４」に対してＭＥＤを変更するものであることを知る。従って、フィルタ検査部１２３は、ルータ２Ｅが広告する「２００．１．１．０／２４」の経路情報は、このフィルタの対象と判断し、Ｓ３における最適経路選択処理の対象から除外する。なお、ここでフィルタ検査部１２３は、同じアドレスを持つ経路情報が複数ある場合、そのすべての経路情報を除外するものとする。除外された経路情報については、例えば、シミュレーション装置１０が、別途、メッセージごとのシミュレーションを実施することで最適経路を求める。
【００６９】
（図８のＳ３：最適経路選択の詳細）
最後に、図８のＳ３：最適経路選択の詳細を説明する。Ｓ３では、Ｓ２で除外されなかった経路情報、つまり、フィルタが適用されない経路情報に対して、図２の最適経路選択部１２４が最適経路選択を実施する。
【００７０】
（パターン１）
例えば、図６の広告元経路情報テーブル１３４において、同じアドレスの経路情報が１つしか存在しない場合には、最適経路選択部１２４は、その経路情報を最適経路として各ルータ２に関するＢＧＰテーブル１３５（図７参照）に記載する。
【００７１】
（パターン２）
一方、同じアドレスの経路情報が複数存在する場合には、最適経路選択部１２４は、これらの経路情報のＢＧＰ属性値を、ＢＧＰ最適経路選択プロセス情報１３３に示される順（Ｌｏｃａｌ Ｐｒｅｆｅｒｅｎｃｅ、ＡＳ＿ＰＡＴＨ、ＯＲＩＧＩＮ、ＭＥＤの順）に比較して最適経路を決定する。そして、この決定した最適経路を各ルータ２に関するＢＧＰテーブル１３５に記載する。
【００７２】
ここで、最適経路選択部１２４が、パターン２の処理で最適経路を決定できなかったもの、すなわち、ＢＧＰ最適経路選択プロセス情報１３３に示される順に、Ｌｏｃａｌ  ＰｒｅｆｅｒｅｎｃｅからＭＥＤまでのＢＧＰ属性値を比較したが、そのＢＧＰ属性値がすべて同じ場合、最適経路選択部１２４は、広告元経路情報テーブル１３４に示される経路情報のうち、該当するアドレスをもつ経路情報をすべて除外する。
【００７３】
例えば、図６の広告元経路情報テーブル１３４に示される経路情報のうち、ルータ２Ｅが広告元となる「２００．１．１．０／２４」の経路情報は、Ｓ２で既に除外されている。このため、最適経路選択部１２４は、残りの「１００．１．１．０／２４」について、以下のようにして最適経路選択を実施する。
【００７４】
すなわち、図６の広告元経路情報テーブル１３４に示すように、「１００．１．１．０／２４」の経路情報は、ルータ２Ａ，２Ｂが広告元である。このため、前記した(パターン２)に該当する。従って、最適経路選択部１２４が、これらの経路情報のＢＧＰ属性値を順に見ていくと、Ｌｏｃａｌ  Ｐｒｅｆｅｒｅｎｃｅについては、両方とも記載がないので決着がつかない。また、ＡＳ＿ＰＡＴＨについても、両方とも記載がない。つまり、両方ともＡＳ＿ＰＡＴＨ長は「０」なので決着がつかない。さらに、ＯＲＩＧＩＮも両方とも「１」であるため、これも決着がつかない。しかし、ＭＥＤは、広告元がルータ２Ａのものが「１０」、ルータ２Ｂのものが「２０」であり、ルータ２Ａの方が、優先度が高いことが分かる。よって、最適経路選択部１２４は、以上のような比較を行った上で、複数ある「１００．１．１．０／２４」の経路情報のうち、ルータ２Ａを広告元とする経路を最適経路として決定する。最後に、最適経路選択部１２４は、決定した最適経路をＢＧＰテーブル１３５（図７参照）に記録する。ここでは、「１００．１．１．０／２４」の最適経路は、ルータ２Ａを広告元とする経路であることがわかったため、最適経路選択部１２４は、この「１００．１．１．０／２４」の経路情報が到達する範囲のルータ２に関するＢＧＰテーブル１３５の、当該経路情報に関するＮＥＸＴ＿ＨＯＰの欄に、ルータ２Ａの識別情報（例えば、ルータ２ＡのＩＰアドレス）を記載する（図７参照）。
【００７５】
ここで、図４のルータリスト１３２に示すように、ルータ２Ａを広告元とする経路情報が到達する範囲は、ルータ２Ｂ，２Ｃ，２Ｄ，２Ｅである。しかし、ルータ２Ｂは自らも同じアドレス「１００．１．１．０／２４」の経路情報を広告しているので（図９参照）、このルータ２Ｂが選択する最適経路は、自身のルータ２をＮＥＸＴ＿ＨＯＰとしたものである。よって、最適経路選択部１２４は、このルータ２Ｂに関するＢＧＰテーブル１３５の当該経路情報に関するＮＥＸＴ＿ＨＯＰの欄に、ルータ２Ａではなく、ルータ２Ｂの識別情報を記載する。つまり、最適経路選択部１２４は、ルータ２Ｃ，２Ｄ，２Ｅに関するＢＧＰテーブル１３５に「１００．１．１．０／２４」の経路のＮＥＸＴ＿ＨＯＰは「ルータ２Ａ」という経路情報を記載する。
【００７６】
このように、シミュレーション装置１０は、ネットワーク内のルータ２において選択される最適経路を推測するとき、予め、Ｌｏｃａｌ  Ｐｒｅｆｅｒｅｎｃｅ、ＡＳ＿ＰＡＴＨ、ＯＲＩＧＩＮおよびＭＥＤにより最適経路が選択できるものについては、これらのＢＧＰ属性値を用いて、最適経路を推測する。このようにすることで、シミュレーション装置１０は、シミュレーションを行うために、ルータ２間でやりとりされるすべてのＢＧＰメッセージを追いかける必要がなくなる。これにより、ＡＳ等、経路数が数万〜数十万という大規模なネットワークにおけるシミュレーション時間を短縮できる。なお、一般的には、同じＡＳ内の各ルータ２において、経路広告の途中で優先度が変更されるようなＢＧＰフィルタが設定されるルータ２の数はきわめて少ない。つまり、前記した図８のＳ２において、ＢＧＰフィルタの影響により除外される経路は少ないと考えられる。よって、従来技術を適用した場合に比べて、本実施の形態のシミュレーション装置１０を適用した方が、シミュレーション時間は大幅に短縮できる。
【００７７】
また、予めシミュレーション装置１０のシミュレーション対象となる各ルータ２のうち、経路情報が伝播する経路上のどのルータ２にも、ＢＧＰフィルタが設定されていないことが分かっていた場合、前記した図８のＳ２（フィルタ検査）の処理を省くようにしてもよい。
【００７８】
本実施の形態に係るシミュレーション装置１０は、前記したような処理を実行させるプログラムによって実現することができ、そのプログラムをコンピュータによる読み取り可能な記憶媒体（ＣＤ−ＲＯＭ等）に記憶して提供することが可能である。また、そのプログラムを、インターネット等のネットワークを通して提供することも可能である。
【図面の簡単な説明】
【００７９】
【図１】本実施の形態の概要を説明した図である。
【図２】本実施の形態のシミュレーション装置の構成を示したブロック図である。
【図３】図２のフィルタ設定リストを例示した図である。
【図４】図２のルータリストを例示した図である。
【図５】図２のＢＧＰ最適経路選択プロセス情報を示した図である。
【図６】図２の広告元経路情報テーブルを例示した図である。
【図７】図３のＢＧＰテーブルを例示した図である。
【図８】図２のシミュレーション装置の動作手順の概要を示したフローチャートである。
【図９】図２のシミュレーション装置がシミュレーションの対象とするＩＰネットワークを例示した図である。
【図１０】図２のルータリストの作成手順を例示した図である。
【符号の説明】
【００８０】
１      ＩＰネットワーク
２（２Ａ，２Ｂ，２Ｃ，２Ｄ，２Ｅ，２Ｆ，２Ｇ）      ルータ
５（５Ａ，５Ｂ）      ユーザネットワーク
１０    シミュレーション装置
１１    入力部
１２    処理部
１３    記憶部
１４    出力部
１２１  設定情報入力部
１２２  リスト作成部
１２３  フィルタ検査部
１２４  最適経路選択部
１３０  トポロジ情報
１３１  フィルタ設定リスト
１３２  ルータリスト
１３３  ＢＧＰ最適経路選択プロセス情報
１３４  広告元経路情報テーブル
１３５  ＢＧＰテーブル
【図１】
0004759007.tif 000002
【図２】
0004759007.tif 000003
【図３】
0004759007.tif 000004
【図４】
0004759007.tif 000005
【図５】
0004759007.tif 000006
【図６】
0004759007.tif 000007
【図７】
0004759007.tif 000008
【図８】
0004759007.tif 000009
【図９】
0004759007.tif 000010
【図１０】
0004759007.tif 000011