(57)【特許請求の範囲】
【請求項１】
ＡＳ（Autonomous System）内においてルータ同士を接続するＢＧＰ（Border Gateway Protocol）セッションの設計方法であって、
前記ＡＳ内のルータそれぞれにおける、パケットの宛先となるＩＰ（Internet Protocol）アドレス空間を示すプレフィックスごとに、そのプレフィックスへパケットを送信するときのネクストホップを示したＢＧＰルートの集合である経路情報を記録した経路情報データベースと、前記ＡＳ内の各ルータ間におけるｉＢＧＰ（internalＢＧＰ）セッションの設定状態を示すｉＢＧＰセッショントポロジ情報とを記憶する記憶部を備え、前記ＢＧＰセッションを設定するルータを計算するセッション設計装置が、
前記経路情報データベースおよび前記ｉＢＧＰセッショントポロジ情報を参照して、前記経路情報に、前記ネクストホップが冗長化されていないプレフィックスＰｒｅｑを１以上持つルータの中から、ｉＢＧＰセッション追加対象ルータを特定するセッション追加対象ルータ特定処理を実行することを特徴とするＢＧＰセッションの設計方法。
【請求項２】
前記セッション追加対象ルータ特定処理は、
前記セッション設計装置が、
前記経路情報データベースを参照して、前記ルータのうち、前記経路情報に、前記ネクストホップが冗長化されていないプレフィックスＰｒｅｑを１以上持つルータを特定し、この特定したルータの中から任意のルータを第１のルータとして選択するステップと、
前記ｉＢＧＰセッショントポロジ情報を参照して、前記選択した第１のルータとの間で前記ｉＢＧＰセッションを設定していない第２のルータを特定するステップと、
前記経路情報データベースを参照して、前記特定した第２のルータの中で、前記プレフィックスＰｒｅｑのうち、少なくともいずれか１つのプレフィックスのＢＧＰルートを前記経路情報に持ち、かつ、そのプレフィックスが、前記第１のルータに設定されているプレフィックスＰｒｅｑに対するネクストホップとは異なるネクストホップが設定されたルータを、前記第１のルータに対するｉＢＧＰセッション追加対象ルータとして特定するステップとを含むことを特徴とする請求項１に記載のＢＧＰセッションの設計方法。
【請求項３】
前記セッション設計装置は、
前記プレフィックスＰｒｅｑに対するネクストホップとは異なるネクストホップが設定されたルータが複数あったとき、これらのルータのうち、前記ネクストホップが異なるプレフィックスの数が最も多いルータを、前記ｉＢＧＰセッション追加対象ルータとすることを特徴とする請求項２に記載のＢＧＰセッションの設計方法。
【請求項４】
前記セッション設計装置は、
前記記憶部に、前記ＡＳ内の各ルータがｅＢＧＰ（externalＢＧＰ）セッションにより、外部のＡＳから受信しているＢＧＰルートを示したｅＢＧＰルート情報を記憶し、
前記ｅＢＧＰルート情報を参照して、自身のＡＳ内で前記外部のＡＳとの境界に設置される境界ルータのうち、当該プレフィックスのｅＢＧＰルートを受信しているルータが１つのみであるプレフィックスがあったとき、当該プレフィックス以外のプレフィックスを、前記プレフィックスＰｒｅｑとすることを特徴とする請求項２または請求項３に記載のＢＧＰセッションの設計方法。
【請求項５】
前記ＡＳ内のルータのうち、前記境界ルータは、ＢＧＰ拡張として、前記ＢＧＰルートを広告するとき、自身のルータにおけるベストルートに加え、前記外部のＡＳから広告されたｅＢＧＰルートを、前記ｉＢＧＰセッションを設定した他のルータに広告するexternal bestが設定されたルータであり、
前記セッション設計装置は、
前記第２のルータを特定するステップにおいて、前記ｉＢＧＰセッショントポロジ情報および前記ｅＢＧＰルート情報を参照して、前記第１のルータとの間で前記ｉＢＧＰセッションを設定しておらず、かつ、前記プレフィックスＰｒｅｑを前記ｅＢＧＰルートとして受信しているルータを前記第２のルータとして特定することを特徴とする請求項４に記載のＢＧＰセッションの設計方法。
【請求項６】
前記セッション設計装置は、
前記ｅＢＧＰルート情報を参照して、自身のＡＳ内の前記境界ルータのうち、当該プレフィックスのｅＢＧＰルートを受信しているルータが１つのみであるプレフィックスがあったとき、前記自身のＡＳ内のルータのうち、当該プレフィックスのｅＢＧＰルートを受信しているルータ以外のルータの中から、新たに前記プレフィックスのｅＢＧＰルートを受信するルータを選択すること特徴とする請求項４または請求項５に記載のＢＧＰセッションの設計方法。
【請求項７】
前記セッション設計装置は、
前記セッション追加対象ルータ特定処理の対象とするルータおよびプレフィックスＰｒｅｑを示した設定情報の入力を受け付け、前記設定情報に示されるルータおよびプレフィックスＰｒｅｑを対象に、前記セッション追加対象ルータ特定処理を実行することを特徴とする請求項１ないし請求項６のいずれか１項に記載のＢＧＰセッションの設計方法。
【請求項８】
前記セッション設計装置は、
前記セッション追加対象ルータ特定処理により特定された、前記第１のルータとこの第１のルータに対する前記ｉＢＧＰセッション追加対象ルータそれぞれとの間に前記ｉＢＧＰセッションを設定するよう指示するステップを実行することを特徴とする請求項２ないし請求項７のいずれか１項に記載のＢＧＰセッションの設計方法。
【請求項９】
前記セッション設計装置は、
前記ｉＢＧＰセッションを設定するよう指示したルータそれぞれから、前記経路情報を取得し、この取得した経路情報において前記プレフィックスＰｒｅｑに対し、ネクストホップが冗長化されていないルータがあったとき、このルータに対し再度ｉＢＧＰセッションの設定を指示することを特徴とする請求項８に記載のＢＧＰセッションの設計方法。
【請求項１０】
ＡＳ（Autonomous System）内においてＢＧＰ（Border Gateway Protocol）セッションの設定を行うルータを計算するセッション設計装置であって、
前記ＡＳ内のルータそれぞれにおける、パケットの宛先となるＩＰ（Internet Protocol）アドレス空間を示すプレフィックスごとに、そのプレフィックスへパケットを送信するときのネクストホップを示したＢＧＰルートの集合である経路情報を記録した経路情報データベースと、前記ＡＳ内の各ルータ間におけるｉＢＧＰ（internalＢＧＰ）セッションの設定状態を示すｉＢＧＰセッショントポロジ情報とを記憶する記憶部と、
前記経路情報データベースおよび前記ｉＢＧＰセッショントポロジ情報を参照して、前記経路情報に、前記ネクストホップが冗長化されていないプレフィックスＰｒｅｑを１以上持つルータの中から、ｉＢＧＰセッション追加対象ルータを特定するセッション追加対象ルータ特定部とを備えることを特徴とするセッション設定装置。
【請求項１１】
請求項１ないし請求項９のいずれか１項に記載のＢＧＰセッションの設計方法を、コンピュータであるセッション設定装置に実行させることを特徴とするＢＧＰセッション設計プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のＡＳ（自律システム、Autonomous  System）からなるネットワークにおける、ＢＧＰ（Border Gateway Protocol）セッションの設計技術に関する。
【背景技術】
【０００２】
インターネットは、複数のＡＳ（またはドメイン）から構成されている。このＡＳ間でＢＧＰルート（経路情報）を交換する必要があるが、このときに利用される代表的プロトコルは、ＢＧＰである。ＢＧＰは、ｅ（external）ＢＧＰとｉ（internal）ＢＧＰとがあり、ｅＢＧＰは、隣接しているＡＳとの間でＢＧＰルートを交換するときに用いられるプロトコルである。ｉＢＧＰは、ＡＳ内でＢＧＰルートを配布（交換）するときに用いられるプロトコルである。
【０００３】
ＢＧＰルートは、パケットの宛先となるアドレスであるプレフィックス（ＩＰ（Internet Protocol）アドレス、サブネットアドレス等）、そのプレフィックス宛にパケットを転送するときの直近の境界ルータのアドレスであるネクストホップ、ＢＧＰに関する各種属性情報等を含んで構成される。なお、ここでの境界ルータとはドメイン（ＡＳ）の境界にあるルータである。
【０００４】
ここで、ＡＳ間を繋ぐ経路の障害発生時に、通信を速やかに復旧させるためには、ＡＳ内の各ルータが、隣接するＡＳへのルート（経路）を複数持つことが好ましい。つまり、ＡＳ内の各ルータが同じプレフィックスに対し、異なるルータをネクストホップとするＢＧＰルート（ネクストホップの冗長性を持つルート情報）を複数保持するのが好ましい。
【０００５】
このことを図６および図７を用いて説明した図６および図７は本願発明の比較例となる技術を説明した図である。ここでは、図６に示すように、ＡＳ−Ａと、ＡＳ−Ｂとを含むネットワークを例に説明する。このＡＳ−Ａは、ルータ２０（２０Ａ,２０Ｂ）を備え、ＡＳ−Ｂは、ルータ２０（２０Ｃ,２０Ｄ,２０Ｅ,２０Ｆ）を備える。ルータ２０Ａ〜２０Ｄは、境界ルータであり、ルータ２０Ａ,２０Ｃ間、ルータ２０Ｂ,２０Ｄ間にはそれぞれｅＢＧＰセッションが確立され、ルータ２０Ｃ,２０ＤはこのｅＢＧＰセッションによりプレフィックスＰのＢＧＰルート（ｅＢＧＰルート）を受信し、経路情報２０１Ｃ,２０１Ｄに記録する。また、ルータ２０Ｅ,２０ＦはＲＲ（ルートリフレクタ）であり、他のルータ２０から広告されたＢＧＰルートを転送する。ここで、ＡＳ−Ｂのルータ２０Ｃ,２０Ｅ間、ルータ２０Ｅ,２０Ｆ間、ルータ２０Ｆ,２０Ｄ間にはｉＢＧＰセッションが確立され、お互いにＢＧＰルートを交換しているものとする。
【０００６】
ここで、各ルータ２０Ｃ〜２０ＦはｉＢＧＰセッションを用いて、ＢＧＰルートを広告し、経路情報２０１（２０１Ｃ,２０１Ｄ,２０１Ｅ,２０１Ｆ）に示すような経路情報を登録する。なお、経路情報２０１２０１において、プレフィックスに「＞」が付いたルートはベストルートである。ルータ２０は同じプレフィックスのＢＧＰルートが複数あるとき、この「＞」のついたベストルートを選択する。
【０００７】
このようなネットワーク構成において、ルータ２０Ｃ,２０Ａ間の経路に障害が発生すると、ルータ２０Ｃの経路情報２０１Ｃには、プレフィックスＰに対するネクストホップはルータ２０Ａしか設定されていないので、ルータ２０ＣからプレフィックスＰへのパケットをＡＳ−Ａへ転送することができない。つまり、ルータ２０Ｃ経由での通信が中断することになる。
【０００８】
ここで、図７の破線矢印で示すように、ルータ２０Ｃ,２０Ｄ間にｉＢＧＰセッションがあれば、ルータ２０Ｃの経路情報２０１Ｃに、プレフィックスＰのネクストホップはルータ２０ＢというＢＧＰルートが登録される。これにより、ルータ２０Ａ,２０Ｃ間の経路に障害が発生した場合でも、ルータ２０Ｃにおいて経路の切り替えを行うことで、プレフィックスＰ宛のパケットはルータ２０Ｃ→ルータ２０Ｄ、ルータ２０Ｄ→ルータ２０Ｂという経路を辿って、プレフィックスＰへ到達することができる。このように、各ルータ２０にネクストホップの冗長性を持つＢＧＰルートを配布することは、ＡＳ間の経路の耐障害性を考えたときに非常に重要な問題である。ここで、ネクストホップの冗長性を高めるため、ＡＳ内の各ルータ２０間にフルメッシュでｉＢＧＰセッションを確立することも考えられるが、各ルータ２０のｉＢＧＰピア（ｉＢＧＰセッションで隣接するノード）の数が膨大になり、現実的ではない。つまり、ＲＲ（ルートリフレクタ）を用いて、ｉＢＧＰピアの数を低減しつつ、ＡＳ内のルータ２０のネットワーク構成を考える方が現実的である。
【０００９】
また、ルータ２０にexternal bestと呼ばれるＢＧＰ拡張を用いることで、境界ルータであるルータ２０は、ベストルートに加え、外部ＡＳから受信した外部ＡＳへのＢＧＰルートもｉＢＧＰセッションにより広告することができる（非特許文献１）。これにより、ＡＳ内の各ルータ２０は、異なるネクストホップを持つＢＧＰルートを受信しやすくなる。つまり、ＡＳ内の各ルータ２０の経路情報２０１においてネクストホップを冗長化しやすくなる。
【非特許文献１】Juniper Networks,Inc.,”Configuring BGP routing-advertising routes:bgp advertise-best-external-to-internal,”[online]、[2007年10月27日検索]、インターネット、<URL:http://www.juniper.net/techpubs/software/erx/junose71/swconfig-bgp-mpls/html/bgp-config10.html>
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかし、前記した技術のいずれもが、ＡＳ内にどのようにｉＢＧＰセッションを設定すれば、各ルータがネクストホップの冗長性を持つようにＢＧＰルートの広告をできるかについては考慮されていなかった。また、前記したexternal bestによりＡＳ内の各ルータが、ｅＢＧＰルートを受け取りやすくしたとしても、そのことにより、ＡＳ内の各ルータが確実にネクストホップの冗長性が持つＢＧＰルートを持つことになるとは限らない。
【００１１】
本発明は、前記した問題を解決し、ＡＳ内の各ルータが、ネクストホップの冗長性のあるＢＧＰルートを持つようなＢＧＰセッションの設計を行うことを目的とする。
【課題を解決するための手段】
【００１２】
請求項１に記載の発明は、ＡＳ（AutonomousSystem）内においてルータ同士を接続するＢＧＰ（Border Gateway Protocol）セッションの設計方法であって、前記ＡＳ内のルータそれぞれにおける、パケットの宛先となるＩＰ（Internet Protocol）アドレス空間を示すプレフィックスごとに、そのプレフィックスへパケットを送信するときのネクストホップを示したＢＧＰルートの集合である経路情報を記録した経路情報データベースと、前記ＡＳ内の各ルータ間におけるｉＢＧＰ（internalＢＧＰ）セッションの設定状態を示すｉＢＧＰセッショントポロジ情報とを記憶する記憶部を備え、前記ＢＧＰセッションを設定するルータを計算するセッション設計装置が、前記経路情報データベースおよび前記ｉＢＧＰセッショントポロジ情報を参照して、前記経路情報に、前記ネクストホップが冗長化されていないプレフィックスＰｒｅｑを１以上持つルータの中から、ｉＢＧＰセッション追加対象ルータを特定するセッション追加対象ルータ特定処理を実行することを特徴とする。
【００１３】
請求項２に記載の発明は、請求項１に記載のＢＧＰセッションの設計方法において、前記セッション追加対象ルータ特定処理は、前記セッション設計装置が、前記経路情報データベースを参照して、前記ルータのうち、前記経路情報に、前記ネクストホップが冗長化されていないプレフィックスＰｒｅｑを１以上持つルータを特定し、この特定したルータの中から任意のルータを第１のルータとして選択するステップと、前記ｉＢＧＰセッショントポロジ情報を参照して、前記選択した第１のルータとの間で前記ｉＢＧＰセッションを設定していない第２のルータを特定するステップと、前記経路情報データベースを参照して、前記特定した第２のルータの中で、前記プレフィックスＰｒｅｑのうち、少なくともいずれか１つのプレフィックスのＢＧＰルートを前記経路情報に持ち、かつ、そのプレフィックスが、前記第１のルータに設定されているプレフィックスＰｒｅｑに対するネクストホップとは異なるネクストホップが設定されたルータを、前記第１のルータに対するｉＢＧＰセッション追加対象ルータとして特定するステップとを含むことを特徴とする。
【００１４】
請求項１０に記載の発明は、ＡＳ（AutonomousSystem）内においてＢＧＰ（Border Gateway Protocol）セッションの設定を行うルータを計算するセッション設計装置であって、前記ＡＳ内のルータそれぞれにおける、パケットの宛先となるＩＰ（Internet Protocol）アドレス空間を示すプレフィックスごとに、そのプレフィックスへパケットを送信するときのネクストホップを示したＢＧＰルートの集合である経路情報を記録した経路情報データベースと、前記ＡＳ内の各ルータ間におけるｉＢＧＰ（internalＢＧＰ）セッションの設定状態を示すｉＢＧＰセッショントポロジ情報とを記憶する記憶部と、前記経路情報データベースおよび前記ｉＢＧＰセッショントポロジ情報を参照して、前記経路情報に、前記ネクストホップが冗長化されていないプレフィックスＰｒｅｑを１以上持つルータの中から、ｉＢＧＰセッション追加対象ルータを特定するセッション追加対象ルータ特定部とを備えることを特徴とする。
【００１５】
このようにすることで、セッション設計装置は、ＡＳ内の各ルータがネクストホップの冗長性のあるＢＧＰルートを受信できるようなｉＢＧＰセッションの設計を行うことができる。なお、このように予めネクストホップの冗長性のあるＢＧＰルートを受信できるようなルータを、ｉＢＧＰセッションを追加するルータとすることで、ＡＳ内に無駄なｉＢＧＰセッションを設定することなく、ＡＳ内の各ルータがネクストホップの冗長性のあるＢＧＰルートを受信できるようになる。つまり、ＡＳ内の各ルータのｉＢＧＰセッション数を低減できる。
【００１６】
請求項３に記載の発明は、請求項２に記載のＢＧＰセッションの設計方法において、前記セッション設計装置が、前記プレフィックスＰｒｅｑに対するネクストホップとは異なるネクストホップが設定されたルータが複数あったとき、これらのルータのうち、前記ネクストホップが異なるプレフィックスの数が最も多いルータを、前記ｉＢＧＰセッション追加対象ルータとすることを特徴とする。
【００１７】
このようにすることで、セッション設計装置は、ＡＳ内の各ルータにおけるｉＢＧＰセッション数をより低減することができる。つまり、セッション設計装置は、セッション追加対象ルータとして、ｉＢＧＰセッションを１本追加することで、ネクストホップが異なるＢＧＰルートをより多数受信できるルータを選択するので、ルータがネクストホップの冗長化のために設定するｉＢＧＰセッション数を低減できる。
【００１８】
請求項４に記載の発明は、請求項２または請求項３に記載のＢＧＰセッションの設計方法において、前記セッション設計装置が、前記記憶部に、前記ＡＳ内の各ルータがｅＢＧＰ（externalＢＧＰ）セッションにより、外部のＡＳから受信しているＢＧＰルートを示したｅＢＧＰルート情報を記憶し、前記ｅＢＧＰルート情報を参照して、自身のＡＳ内で前記外部のＡＳとの境界に設置される境界ルータのうち、当該プレフィックスのｅＢＧＰルートを受信しているルータが１つのみであるプレフィックスがあったとき、当該プレフィックス以外のプレフィックスを、前記プレフィックスＰｒｅｑとすることを特徴とする。
【００１９】
このようにすることで、セッション設計装置は、セッション追加対象ルータ特定処理を効率よく行うことができる。つまり、自身のＡＳ内の境界ルータのうち、当該プレフィックスのｅＢＧＰルートを受信しているルータが１つのみであるプレフィックスがあれば、ＡＳ内にどのようにｉＢＧＰセッションを設定しても、そのプレフィックスに対しネクストホップは１つのみなので、冗長化できない。よって、セッション設計装置は、このプレフィックスを除外すれば、効率よくセッション追加対象ルータ特定処理を実行することができる。
【００２０】
請求項５に記載の発明は、請求項４に記載のＢＧＰセッションの設計方法において、前記ＡＳ内のルータのうち、前記境界ルータは、ＢＧＰ拡張として、前記ＢＧＰルートを広告するとき、自身のルータにおけるベストルートに加え、前記外部のＡＳから広告されたｅＢＧＰルートを、前記ｉＢＧＰセッションを設定した他のルータに広告するexternal bestが設定されたルータであり、前記セッション設計装置は、前記第２のルータを特定するステップにおいて、前記ｉＢＧＰセッショントポロジ情報および前記ｅＢＧＰルート情報を参照して、前記第１のルータとの間で前記ｉＢＧＰセッションを設定しておらず、かつ、前記プレフィックスＰｒｅｑを前記ｅＢＧＰルートとして受信しているルータを前記第２のルータとして特定することを特徴とする。
【００２１】
このようにすることで、ＡＳ内のルータは、境界ルータからｉＢＧＰセッションにより、ｅＢＧＰルート（外部ＡＳへ接続するＢＧＰルート）を受信しやすくなる。つまり、このような設定がされた境界ルータとの間でｉＢＧＰセッションを設定したルータは、この境界ルータから、この境界ルータのベストルート以外のｅＢＧＰルートも受信できるので、ネクストホップの冗長化を行いやすくなる。
【００２２】
請求項６に記載の発明は、請求項４または請求項５に記載のＢＧＰセッションの設計方法において、前記セッション設計装置は、前記ｅＢＧＰルート情報を参照して、自身のＡＳ内の前記境界ルータのうち、当該プレフィックスのｅＢＧＰルートを受信しているルータが１つのみであるプレフィックスがあったとき、前記自身のＡＳ内のルータのうち、当該プレフィックスのｅＢＧＰルートを受信しているルータ以外のルータの中から、新たに前記プレフィックスのｅＢＧＰルートを受信するルータを選択することを特徴とする。
【００２３】
このようにすることで、セッション設計装置は、ｅＢＧＰセッションの追加により、ＡＳ内の各ルータにネクストホップの冗長性を持たせることができる。
【００２４】
請求項７に記載の発明は、請求項１ないし請求項６のいずれか１項に記載のＢＧＰセッションの設計方法において、前記セッション設計装置が、前記セッション追加対象ルータ特定処理の対象とするルータおよびプレフィックスＰｒｅｑを示した設定情報の入力を受け付け、前記設定情報に示されるルータおよびプレフィックスＰｒｅｑを対象に、前記セッション追加対象ルータ特定処理を実行することを特徴とする。
【００２５】
このようにすることで、セッション設計装置は、このセッション設計装置の利用者が所望するプレフィックス、ルータを対象として、セッション追加対象ルータ特定処理を行うことができる。
【００２６】
請求項８に記載の発明は、請求項２ないし請求項７のいずれか１項に記載のＢＧＰセッションの設計方法において、前記セッション設計装置が、前記セッション追加対象ルータ特定処理により特定された、前記第１のルータとこの第１のルータに対する前記ｉＢＧＰセッション追加対象ルータそれぞれとの間に前記ｉＢＧＰセッションを設定するよう指示するステップを実行することを特徴とする。
【００２７】
このようにすることで、セッション設計装置は、第１のルータとこの第１のルータに対するｉＢＧＰセッション追加対象ルータとの間にｉＢＧＰセッションを設定できる。
【００２８】
請求項９に記載の発明は、請求項８に記載のＢＧＰセッションの設計方法において、前記セッション設計装置が、前記ｉＢＧＰセッションを設定するよう指示したルータそれぞれから、前記経路情報を取得し、この取得した経路情報において前記プレフィックスＰｒｅｑに対し、ネクストホップが冗長化されていないルータがあったとき、このルータに対し再度ｉＢＧＰセッションの設定を指示することを特徴とする。
【００２９】
このようにすることで、セッション設定装置は、特定したセッション追加対象ルータに対し、ｉＢＧＰセッションを設定することができる。
【００３０】
請求項１１に記載の発明は、請求項１ないし請求項９のいずれか１項に記載のＢＧＰセッションの設計方法を、コンピュータであるセッション設定装置に実行させることを特徴とするＢＧＰセッション設計プログラムである。
【００３１】
このようなプログラムによれば、請求項１ないし請求項９のいずれか１項に記載のＢＧＰセッションの設計方法を、コンピュータであるセッション設定装置に実行させることができる。
【発明の効果】
【００３２】
本発明によれば、セッション設計装置は、ＡＳ内の各ルータに、ネクストホップの冗長性が高い経路情報を持たせるようなＢＧＰセッションの設計を行うことができる。これにより、各ルータは障害発生時においても即座に経路の切り替えを行えることができるので、経路障害による通信の中断時間を短くすることができる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明を実施するための最良の形態（以下、実施の形態という）を、図面を参照しながら説明する。まず、図１を用いて本実施の形態のシステムの全体構成および動作概要を説明した図１は、本実施の形態のシステムの全体構成および動作概要を例示した図である。
【００３４】
図１に示すように、システムは、ＡＳ-Ｂ、ＡＳ-Ｃ、ＡＳ-ＤおよびＡＳ-Ｅを含んで構成される。ＡＳ−ＢにはＡＳ−Ｂ内の各ルータ（経路制御装置）２０（２０Ｃ,２０Ｄ,２０Ｅ,２０Ｆ）と、このルータ２０Ｃ〜２０ＦのＢＧＰセッションの制御を行うセッション設計装置１００が設置される。このルータ２０Ｃ〜２０Ｆと、セッション設計装置１００とはネットワーク経由で接続される。なお、ここでのルータ２０（２０Ｃ,２０Ｄ,２０Ｇ〜２０Ｉ）はＡＳＢＲ(Autonomous System Boundary Router、外部のＡＳと接続する境界ルータ)とする。ルータ２０Ｅ,２０Ｆは、ＡＳＢＲであるが、ＲＲ（ルートリフレクタ）としての機能も備えるものとする。ルータ２０は、通信プロトコルとしてＢＧＰ（ｉＢＧＰおよびｅＢＧＰ）を実装し、他のルータ２０との間でＢＧＰルートを交換する。
【００３５】
ここで、ルータ２０Ｃと、ＡＳ−Ｃのルータ２０Ｈとの間でｅＢＧＰセッションが設定（確立）され、ルータ２０Ｃは、このルータ２０ＨからプレフィックスＰ,Ｑ,ＲのＢＧＰルート（ｅＢＧＰルート）の広告を受けている。また、ルータ２０Ｅと、ＡＳ−Ｄのルータ２０Ｇとの間でｅＢＧＰセッションが確立され、ルータ２０Ｅは、このルータ２０ＧからプレフィックスＰのＢＧＰルート（ｅＢＧＰルート）の広告を受けている。さらに、ルータ２０Ｆと、ＡＳ−Ｅのルータ２０Ｉとの間でｅＢＧＰセッションが確立され、ルータ２０Ｆはこのルータ２０ＩからプレフィックスＲのＢＧＰルート（ｅＢＧＰルート）の広告を受けている。
【００３６】
このようなネットワーク構成において、ＡＳ−Ｂのルータ２０Ｃ,２０Ｅ間、ルータ２０Ｅ,２０Ｆ間およびルータ２０Ｆ,２０Ｄ間にはそれぞれｉＢＧＰセッションが確立される。このｉＢＧＰセッションにより、ルータ２０Ｃ〜２０ＤがＢＧＰルートを交換するとことで、それぞれのルータ２０の経路情報２０１は、経路情報２０１（２０１Ｃ,２０１Ｄ,２０１Ｅ,２０１Ｆ）に示すようになる。なお、前記したとおり、この経路情報２０１も、プレフィックスと、ネクストホップとを含んで構成される。プレフィックスとはパケットの宛先となるアドレスであり、ネクストホップは、そのプレフィックス宛にパケットを送信するための次のルータのアドレスである。さらに、プレフィックスに「＞」が付いたルートはベストルートである。ルータ２０は同じプレフィックスのＢＧＰルートが複数あるとき、この「＞」のついたベストルートを選択してパケットの経路制御を行う。
【００３７】
ここでセッション設計装置１００は、各ルータ２０Ｃ〜２０Ｄの経路情報２０１（２０１Ｃ〜２０１Ｆ）を参照して、経路情報２０１に、ネクストホップが冗長化されていないルータ２０を探す。例えば、ルータ２０Ｃの経路情報２０１Ｃは、プレフィックスＰ,Ｒについてネクストホップが冗長化されていない。また、ルータ２０Ｄの経路情報２０１Ｄは、プレフィックスＰ,Ｑ,Ｒすべてについてネクストホップが冗長化されていない。さらに、ルータ２０Ｅの経路情報２０１Ｅは、プレフィックスＰについてネクストホップが冗長化されていない。また、ルータ２０Ｆの経路情報２０１Ｆは、プレフィックスＰ,Ｑについてネクストホップが冗長化されていない。
【００３８】
ここで、セッション設計装置１００は、各ルータ２０が外部のＡＳから広告されているｅＢＧＰルートの情報（ｅＢＧＰルート情報）から、ネクストホップを冗長化できるプレフィックスを判断する。例えば、図１に示すネットワーク構成の場合、プレフィックスＱ,Ｒについては、このプレフィックスを外部のＡＳから受信しているルータ２０が複数あるが、プレフィックスＰについては、このプレフィックスを外部のＡＳから受信しているのはルータ２０Ｃのみなので、このプレフィックスＰについてはネクストホップを冗長化できない。従って、セッション設計装置１００は、このＡＳ−ＢがｅＢＧＰルートを受信しているプレフィックスＰ,Ｑ,Ｒから、プレフィックスＰを除いたプレフィックスＱ,Ｒについてネクストホップの冗長化を行えばよいと判断する。
【００３９】
この後、セッション設計装置１００は、各ルータ２０に対し、プレフィックスＱ,Ｒについてネクストホップの冗長化をするようにルータ２０間にｉＢＧＰセッションを確立する。例えば、図１に示すネットワーク構成の場合、セッション設計装置１００は、ルータ２０Ｃ,２０Ｄ間と、ルータ２０Ｃ,２０Ｆ間とにｉＢＧＰセッションを追加するよう指示する。このようにすることで、ルータ２０Ｃは、ルータ２０ＦからプレフィックスＰについてネクストホップはルータ２０ＦというＢＧＰルート（符号１０１Ｃ）を経路情報２０１Ｃに追加できる。また、ルータ２０Ｆはルータ２０Ｃから、プレフィックスＱについてネクストホップはルータ２０ＣというＢＧＰルート（符号１０１Ｆ）を経路情報２０１Ｆに追加できる。さらに、ルータ２０Ｄはルータ２０ＣからプレフィックスＲ,Ｑについてネクストホップはルータ２０ＣというＢＧＰルート（符号１０１Ｄ）を経路情報２０１Ｄに追加できる。つまり、ＡＳ−Ｂ内のルータ２０はプレフィックスＱ,Ｒについてネクストホップの冗長化をすることができる。
【００４０】
次に、このようなセッション設計装置１００の構成を詳細に説明する。図２（ａ）は、図１のセッション設計装置の機能ブロック図である。図２（ｂ）は、図２（ａ）の経路情報ＤＢを例示した図である。
【００４１】
図２（ａ）に示すように、セッション設計装置１００は、設定情報等の入出力を司る入出力部１１と、ｉＢＧＰセッションの追加対象となるルータ２０を特定する処理部１２と、処理部１２がｉＢＧＰセッションの追加対象となるルータ２０の特定等を行うときに参照するデータを記憶する記憶部１３と、各ルータ２０から経路情報２０１やｅＢＧＰルート、ｉＢＧＰトポロジ等を受信する通信部１４とを備える。
【００４２】
入出力部１１は、外部の入力装置や出力装置とのデータ入出力を司る入出力インタフェースから構成される。また、処理部１２は、このセッション設計装置１００が備えるＣＰＵ（Central Processing Unit）によるプログラム実行処理や、専用回路等により実現される。さらに、記憶部１３は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ（Hard Disk Drive）、フラッシュメモリ等の記憶媒体から構成される。なお、セッション設計装置１００をプログラム実行処理により実現する場合、記憶部１３には、このセッション設計装置１００の機能を実現するためのプログラムが記録される。通信部１４は、ルータ２０と通信可能なネットワークインタフェースカードから構成される。
【００４３】
＜入出力部＞
入出力部１１は、外部の入力装置（例えば、キーボードやマウス）から、このセッション設計装置１００の設定情報１３４（後記）等の入力を受け付ける。この設定情報１３４は、例えば、このセッション設計装置１００においてネクストホップの冗長性を確保するルータ２０の識別情報や、ネクストホップの冗長性を確保するプレフィックス等を示した情報である。このような設定情報１３４は、このセッション設計装置１００が一部のルータ２０のみに限定して前記したネクストホップの冗長性を確保するｉＢＧＰセッションの確立を指示したり、このセッション設計装置１００の属するＡＳが広告を受けているｅＢＧＰルートのうち、一部のプレフィックスのみに限定してネクストホップの冗長性を確保するようにしたりするときに大変便利である。なお、このような設定を行わないときは、設定情報１３４の入力を受け付けないようにしてもよい。
【００４４】
＜処理部＞
処理部１２は、セッション設計装置１００全体の制御を司り、トポロジ情報収集部１２１と、ｅＢＧＰルート収集部１２２と、経路情報収集部１２３と、セッション制御部１２４と、セッション追加対象ルータ特定部１２５とを含んで構成される。
【００４５】
トポロジ情報収集部１２１は、ＡＳ内のルータ２０のトポロジや、このルータ２０間におけるｉＢＧＰセッションの確立（設定）状態等を示した情報（ｉＢＧＰセッション情報）を取得する。そして、この情報をｉＢＧＰセッショントポロジ情報１３１として記憶部１３に記録する。例えば、図１に示すネットワークの場合、ルータ２０Ｃ,２０Ｅ間、ルータ２０Ｅ,２０Ｆ間およびルータ２０Ｆ,２０Ｄ間にｉＢＧＰセッションが確立されているという情報をｉＢＧＰセッショントポロジ情報１３１として記録する。この情報は、後記するセッション追加対象ルータ特定部１２５がどのルータ２０間にｉＢＧＰセッションを追加すればよいかを判断するときに参照される。
【００４６】
ｅＢＧＰルート収集部１２２は、ＡＳ内の境界ルータであるルータ２０から、ｅＢＧＰルートを収集する。このｅＢＧＰルートは、ＡＳの境界に設置される境界ルータ（ＡＳＢＲ）が外部のＡＳから受信するＢＧＰルートである。そして、このｅＢＧＰルートをｅＢＧＰルート情報１３２として記録する。例えば、図１に示すネットワークの場合、ｅＢＧＰルート収集部１２２は、ルータ２０ＣはＡＳ−Ｃのルータ２０ＨからプレフィックスＰ,Ｑ,ＲのｅＢＧＰルートの広告を受けていることや、ルータ２０Ｅは、ＡＳ−Ｄのルータ２０ＧからプレフィックスＰのｅＢＧＰルートの広告を受けていることや、ルータ２０Ｆは、ＡＳ−Ｅのルータ２０ＩからプレフィックスＲのｅＢＧＰルートの広告を受けていること等をｅＢＧＰルート情報１３２に記録する。このｅＢＧＰルート情報１３２は、セッション追加対象ルータ特定部１２５がネクストホップの冗長性を確保できるプレフィックスを判断するときに参照される。
【００４７】
経路情報収集部１２３は、ＡＳ内のルータ２０から経路情報２０１を収集し、経路情報ＤＢ（データベース）１３３に記録する。例えば、図１に示すネットワークの場合、ルータ２０（２０Ｃ〜２０Ｆ）から、経路情報２０１（２０１Ｃ〜２０１Ｆ）を収集し、経路情報ＤＢ１３３に記録する。
【００４８】
セッション制御部１２４は、後記するセッション追加対象ルータ特定部１２５において特定されたルータ２０間にｉＢＧＰセッションの確立を指示する。つまり、セッション制御部１２４は、ｉＢＧＰセッションの確立を指示するセッション制御情報を通信部１４経由で出力する。
【００４９】
セッション追加対象ルータ特定部１２５は、ｉＢＧＰセッショントポロジ情報１３１、ｅＢＧＰルート情報１３２、経路情報ＤＢ１３３および設定情報１３４を参照して、ＡＳ内のルータ２０のうち、どのルータ２０間にｉＢＧＰセッションを追加すれば、ＡＳ内のルータ２０それぞれにおいてネクストホップが冗長化された経路情報２０１を保持できるかを判断する。このセッション追加対象ルータ特定部１２５の処理手順の詳細はフローチャートを用いて後記する。
【００５０】
＜記憶部＞
記憶部１３は、ｉＢＧＰセッショントポロジ情報１３１と、ｅＢＧＰルート情報１３２と、経路情報ＤＢ１３３と、設定情報１３４とを記憶する。
【００５１】
ｉＢＧＰセッショントポロジ情報１３１は、前記したとおり、このセッション設計装置１００がセッション制御を行うルータ２０の識別情報、ＡＳ内におけるルータ２０のトポロジ、ｉＢＧＰセッションの確立状態等を示した情報である。
【００５２】
ｅＢＧＰルート情報１３２は、ＡＳ内の境界ルータがｅＢＧＰセッションにより、外部のＡＳから受信しているｅＢＧＰルートを示した情報である。
【００５３】
経路情報ＤＢ１３３は、ＡＳ内の各ルータ２０における経路情報２０１を記憶する。例えば、図２（ｂ）に示すように、経路情報ＤＢ１３３は、図１のルータ２０の識別情報（例えば、「ルータ２０Ｃ,２０Ｄ,２０Ｅ,２０Ｆ」）ごとに、そのルータ２０における経路情報２０１が記録される。
【００５４】
図２（ａ）の説明に戻る。設定情報１３４は、セッション追加対象ルータ特定部１２５が処理対象とするルータ２０の識別情報や、プレフィックス等を示した情報である。
【００５５】
＜通信部＞
通信部１４は、所定のプロトコルを用いて、図１の各ルータ２０から経路情報２０１や、ｅＢＧＰルート情報１３２、ｉＢＧＰセッショントポロジ情報１３１等の元となる各種情報を受信する。受信した情報は処理部１２へ出力する。また、この通信部１４は、セッション制御部１２４から出力されるセッション制御情報を、各ルータ２０へ出力する。
【００５６】
なお、ｉＢＧＰセッショントポロジ情報１３１およびｅＢＧＰルート情報１３２は、このセッション設定装置１００の利用者（オペレータ）が入力したものでもよい。また、経路情報ＤＢ１３３に記憶される各経路情報２０１は、ｉＢＧＰセッショントポロジ情報１３１やｅＢＧＰルート情報１３２に基づいて、セッション設計装置１００が計算した情報でもよい。
【００５７】
次に、図１および図２を参照しつつ、図３および図４を用いて、図２（ａ）のセッション設計装置１００の処理手順を説明した図３および図４は、図２（ａ）のセッション設計装置の処理手順を示した図である。
【００５８】
まず、図２（ａ）のセッション設計装置１００のトポロジ情報収集部１２１は、ＡＳ内の各ルータ２０からｉＢＧＰセッショントポロジ情報１３１の元となる情報（ｉＢＧＰセッション情報等）を収集する（Ｓ１０１）。そして、トポロジ情報収集部１２１は、収集した情報を、記憶部１３のｉＢＧＰセッショントポロジ情報１３１として記録する。また、ｅＢＧＰルート収集部１２２は、ＡＳ内の各ルータ２０（境界ルータ）からｅＢＧＰルートを収集する（Ｓ１０２）。そして、ｅＢＧＰルート収集部１２２は、収集したｅＢＧＰルートを記憶部１３のｅＢＧＰルート情報１３２として記録する。さらに、経路情報収集部１２３は、ＡＳ内のルータ２０から経路情報２０１を収集する（Ｓ１０３）。そして、経路情報収集部１２３は、経路情報ＤＢ（データベース）１３３に記録する。
【００５９】
この後、セッション設計装置１００は入出力部１１経由で、ネクストホップの冗長性を必要とするプレフィックスの集合Ｐｒｅｑと、冗長性を必要とするルータ２０の集合Ｒｒｅｑとを示した設定情報１３４の入力を受け付ける（Ｓ１０４）。入力された設定情報１３４は、記憶部１３に記録される。この設定情報１３４は、例えば、ネクストホップの冗長性を必要とするプレフィックスＰｒｅｑはプレフィックスＰ,Ｑ,Ｒであり、冗長性を必要とするルータＲｒｅｑはルータ２０Ｃ,２０Ｄ,２０Ｅ,２０Ｆであるという情報である。
【００６０】
次に、セッション追加対象ルータ特定部１２５は、ｅＢＧＰルート情報１３２を参照して、ネクストホップの冗長性を確保できないプレフィックスを特定し、前記したＰｒｅｑから取り除く（Ｓ１０５）。つまり、セッション追加対象ルータ特定部１２５は、ｅＢＧＰルート情報１３２を参照して、ネクストホップの冗長性を確保できないプレフィックスがあるか否かを判断し、ネクストホップの冗長性を確保できないプレフィックスがあればＰｒｅｑから取り除く。ここで、ネクストホップの冗長性を確保できないプレフィックスとは、どのようにルータ２０間にｉＢＧＰセッションを追加しても、当該プレフィックス宛に異なる複数の経路を確保できないプレフィックスである。例えば、図１に示したネットワーク構成の場合、プレフィックスＰをｅＢＧＰルートとして受信しているルータはルータ２０Ｃのみである。一方、プレフィックスＱについては、このプレフィックスをｅＢＧＰルートして受信しているルータ２０は複数ある（ルータ２０Ｅおよびルータ２０Ｃ）。また、プレフィックスＲについても、このプレフィックスをｅＢＧＰルートして受信しているルータ２０は複数ある（ルータ２０Ｃおよびルータ２０Ｆ）。つまり、プレフィックスＱ,Ｒについては、ネクストホップの冗長性を確保できるが、プレフィックスＰについてネクストホップの冗長性を確保できない。従って、セッション追加対象ルータ特定部１２５は、プレフィックスＰ,Ｑ,Ｒから、プレフィックスＰを除いたプレフィックスＱ,Ｒを、Ｐｒｅｑとする。
【００６１】
次に、セッション追加対象ルータ特定部１２５は、経路情報Ｄ１３３を参照して、Ｒｒｅｑの中から、冗長性が必要なＰｒｅｑについて複数のルートを持たないルータ２０の集合Ｒを特定する（Ｓ１０６）。つまり、セッション追加対象ルータ特定部１２５は、複数のルートを持たないプレフィックスＰｒｅｑを持つがこのプレフィックス１以上持つルータ２０を特定する。例えば、Ｐｒｅｑは、プレフィックスＱ,Ｒであり、Ｒｒｅｑは、ルータ２０Ｃ〜２０Ｆであるとき、経路情報ＤＢ１３３におけるルータ２０Ｃ〜２０Ｆの経路情報２０１（２０１Ｃ〜２０１Ｆ）において、プレフィックスＱ,Ｒに関するＢＧＰルートを複数持たないルータ２０は、ルータ２０Ｃ，２０Ｄ，２０Ｆであるので、セッション追加対象ルータ特定部１２５はこのルータ２０Ｃ，２０Ｄ，２０Ｆを集合Ｒとして特定する。
【００６２】
次に、図４の説明に移る。セッション追加対象ルータ特定部１２５は、Ｓ１０６で特定したＲ（集合Ｒ）の中から、ルータ２０を１つ選択する（Ｓ２０１）。そして、セッション追加対象ルータ特定部１２５は、この選択したルータ２０に対するｉＢＧＰセッション追加対象ルータを、以下のようにして選択する。
【００６３】
すなわち、セッション追加対象ルータ特定部１２５は、ｉＢＧＰセッショントポロジ情報１３１を参照して、Ｓ２０１で選択したルータ２０との間でｉＢＧＰセッションを確立していないルータ２０の集合を特定する（Ｓ２０２）。例えば、図１に示すネットワーク構成において、セッション追加対象ルータ特定部１２５がルータ２０Ｄを選択したとき、このルータ２０ＤとｉＢＧＰセッションを確立していないルータ２０Ｃ,２０Ｅを特定する。
【００６４】
そして、セッション追加対象ルータ特定部１２５は、経路情報ＤＢ１３３を参照して、Ｓ２０２で特定したルータ２０の集合の中から、冗長性が必要なＰｒｅｑをＢＧＰルートとして受信しているルータ２０の集合を特定する（Ｓ２０３）。例えば、セッション追加対象ルータ特定部１２５が、Ｓ２０２でルータ２０Ｄを選択したとき、このルータ２０Ｄの経路情報２０１Ｄにおいて、ネクストホップの冗長性が確保されていないプレフィックスはプレフィックスＲ,Ｑである。ここで、まだｉＢＧＰセッションを確立していないルータ２０Ｃ,２０Ｅは、経路情報２０１Ｃ,２０１Ｅに示すように、このプレフィックスＱ,ＲをＢＧＰルートとして受信しているので、セッション追加対象ルータ特定部１２５はこのルータ２０Ｃ,２０Ｅを、冗長性が必要なＰｒｅｑをＢＧＰルートとして受信しているルータ２０の集合として特定する。
【００６５】
次に、セッション追加対象ルータ特定部１２５は、経路情報ＤＢ１３３を参照して、Ｓ２０３で特定したルータ２０の中で、Ｓ２０１で選択したルータ２０とＰｒｅｑのネクストホップが異なるＢＧＰルートを持つルータ２０の集合Ｃを特定する（Ｓ２０４）。つまり、セッション追加対象ルータ特定部１２５は、ｉＢＧＰセッションの確立により、自身の経路情報２０１に同じプレフィックスに対し異なる複数のＢＧＰルートが設定できるようなルータ２０を特定する。
【００６６】
なお、ここでいう「ネクストホップが異なる」とは、同じプレフィックスのＢＧＰルートのうち、このプレフィックスへパケットを送信するとき、自ＡＳ内において出口となる境界ルータが異なるＢＧＰルートのことをいう。従って、例えば、経路情報２０１ＤにおけるプレフィックスＰに対するネクストホップはルータ２０Ｃであり、経路情報２０１ＣにおけるプレフィックスＰに対するネクストホップは、ＡＳ−Ｃのルータ２０Ｈとなり、ネクストホップは異なるように見えるが、このルータ２０Ｄから転送されたプレフィックスＰ宛のパケットも、ルータ２０Ｃまたルータ２０Ｃを最終出口として、プレフィックスＰへ転送されるので、これらのネクストホップは実質的に同じである。
【００６７】
例えば、Ｓ２０３で特定したルータ２０が、図１に示すルータ２０Ｄであるとき、セッション追加対象ルータ特定部１２５は、ルータ２０Ｃ,２０ＥのいずれとｉＢＧＰセッションを確立しても、プレフィックスＲ,Ｑについてネクストホップが異なるものとなるＢＧＰルートを受信できると判断する。よって、このルータ２０Ｃ,２０Ｅを集合Ｃとして特定する。つまり、ルータ２０Ｄは、ルータ２０ＣとｉＢＧＰセッションを確立し、ルータ２０ＣからプレフィックスＱ,ＲについてＢＧＰルートを受信すれば、プレフィックスＱについてネクストホップがルータ２０ＣというＢＧＰルートと、プレフィックスＱについてネクストホップがルータ２０ＣというＢＧＰルートが経路情報２０１Ｄに追加されることになる。従って、セッション追加対象ルータ特定部１２５は、このルータ２０Ｄを集合Ｃに含める。
【００６８】
また、ルータ２０Ｄは、ルータ２０ＥとｉＢＧＰセッションを確立し、ルータ２０ＥからプレフィックスＱ,ＲについてＢＧＰルートの広告を受ければ、経路情報２０１ＤにプレフィックスＲについてネクストホップがルータ２０ＣというＢＧＰルートが追加されることになる。従って、セッション追加対象ルータ特定部１２５は、このルータ２０Ｅを集合Ｃに含める。なお、ルータ２０は、ｉＢＧＰセッションを確立した相手方のルータ２０に対し、ベストルートのみを広告する。従って、ルータ２０Ｅは、ルータ２０Ｄに対し、プレフィックスＱについては、ネクストホップがルータ２０ＥというＢＧＰルートを広告することになる。しかし、ルータ２０Ｄの経路情報２０１Ｄには既にプレフィックスＱについて、ネクストホップがルータ２０ＥというＢＧＰルートは経路情報２０１Ｄに登録済みであるので、ルータ２０Ｄはルータ２０ＥとｉＢＧＰセッションを確立しても、プレフィックスＱについてはネクストホップの冗長性を確保できないことになる。
【００６９】
そして、セッション追加対象ルータ特定部１２５は、Ｃ（集合Ｃ）に含まれるルータ２０が複数あれば（Ｓ２０５のＹｅｓ）、この中から、ネクストホップが異なるプレフィックス（ＢＧＰルート）の数が最も多いルータ２０を選択する（Ｓ２０６）。例えば、セッション追加対象ルータ特定部１２５がルータ２０Ｄに対し、集合Ｃとしてルータ２０Ｃ,２０Ｅを特定したとき、ルータ２０ＣへｉＢＧＰセッションを確立すると、プレフィックスＱ,Ｒの両方についてネクストホップの冗長性を確保できる。一方、ルータ２０ＥへｉＢＧＰセッションを確立すると、ネクストホップの冗長性を確保することができるのはプレフィックスＲのみである。従って、セッション追加対象ルータ特定部１２５は、これらのルータ２０のうち、ルータ２０Ｃの方を選択する。そして、Ｓ２０８へ進む。なお、セッション追加対象ルータ特定部１２５は、ネクストホップが異なるプレフィックス（ＢＧＰルート）の数が同じルータ２０が複数あったときには、これらのルータ２０から所定のルールにより、１つのルータ２０を選択するようにしてもよい。この所定のルールとは、例えば、このルータ２０へのホップ数がより少ないルータ２０を選択するルールや、ランダムに選択するルール等が考えられる。なお、このようにセッション追加対象ルータ特定部１２５が、ｉＢＧＰセッションの確立を行う相手方のルータ２０として、ネクストホップが異なるプレフィックス（ＢＧＰルート）の数が最も多いルータ２０を選択するようにすることで、少ないｉＢＧＰセッション数で、より多くのＢＧＰルートについてネクストホップの冗長化を行うことができる。つまり、ＡＳ内の各ルータ２０は少ないｉＢＧＰセッション数で効率よくネクストホップを冗長化できるので、このｉＢＧＰセッションを多数保持することによるルータ２０の処理負荷を最低限に抑えることができる。
【００７０】
一方、Ｓ２０５において、セッション追加対象ルータ特定部１２５は、Ｃ（集合Ｃ）に含まれるルータ２０が複数でなければ（Ｓ２０５のＮｏ）、この特定したルータ２０を選択し（Ｓ２０７）、Ｓ２０８へ進む。
【００７１】
Ｓ２０６またはＳ２０７の後、セッション制御部１２４は、Ｓ２０６またはＳ２０７で選択したルータ２０と、Ｓ２０１で選択したルータ２０との間のｉＢＧＰセッションの確立を指示するセッション制御情報を出力する（Ｓ２０８）。例えば、セッション制御部１２４は、ルータ２０Ｄ,２０ＣへｉＢＧＰセッションの確立を指示するセッション制御情報を出力する。これにより、ルータ２０Ｃから、ルータ２０ＤへプレフィックスＲ,ＱのＢＧＰルートが広告されるので、ルータ２０Ｄはネクストホップの冗長性を確保することができる。なお、このようにしてｉＢＧＰセッションが追加されたときには、ｉＢＧＰセッショントポロジ情報１３１には、この追加されたｉＢＧＰセッションの情報が追加される。
【００７２】
この後、セッション追加対象ルータ特定部１２５は、Ｓ１０６で特定したルータの集合Ｒのうち未処理のルータ２０があれば（Ｓ２０９のＹｅｓ）、Ｓ２０１へ戻る。一方、Ｓ１０６で特定したルータ２０の集合Ｒすべてについて処理を実行済みであれば（Ｓ２０９のＮｏ）、処理を終了する。
【００７３】
なお、前記したセッション制御部１２４によるｉＢＧＰセッションの確立のためのセッション制御情報の出力は、セッション追加対象ルータ特定部１２５において、ｉＢＧＰセッションを追加対象となるルータ２０をすべて特定した後でもよい。つまり、セッション設計装置１００は、複数のルータ２０に対しまとめてｉＢＧＰセッションの確立を指示するようにしてもよい。
【００７４】
また、このセッション設計装置１００は、各ルータ２０にｉＢＧＰセッションの確立指示後、経路情報ＤＢ１３３を参照して、まだネクストホップの冗長性が確保されていない経路情報２０１を持つルータ２０があれば、再度そのルータ２０にｉＢＧＰセッションの確立を指示するようにしてもよい。
【００７５】
さらに、セッション設計装置１００は、どのようにルータ２０間にｉＢＧＰセッションを追加しても、当該プレフィックス宛に異なる複数の経路を確保できないプレフィックスがあったとき（つまり、自身のＡＳ内の境界ルータのうち、当該プレフィックスのｅＢＧＰルートを受信しているルータ２０が１つのみであるプレフィックスがあったとき）、所定のルータ２０間にｅＢＧＰセッションを追加することで、ネクストホップの冗長性を確保するようにしてもよい。例えば、セッション設計装置１００は、図１に示すルータ２０Ｄと、ＡＳ−Ｃの境界ルータ（例えば、ルータ２０Ｈ）との間にｅＢＧＰセッションを追加するよう指示してもよい。このようにすることで、ルータ２０ＤもプレフィックスＰへのｅＢＧＰルートを追加できるので、このルータ２０ＤからＢＧＰルートを広告することで、ネクストホップの冗長性を確保することができる。
【００７６】
なお、ＡＳ内の各ルータ２０はexternal bestというＢＧＰ拡張を設定するようにしてもよい。前記したとおり、このexternal bestは、境界ルータが、ｉＢＧＰセッションを確立したルータ２０に対し、ベストルートに加えて、外部ＡＳから受信したｅＢＧＰルートも広告する設定である。
【００７７】
図５を用いて境界ルータ（ＡＳＢＲ）にexternal bestを設定した場合のＢＧＰルートの広告について説明した図５は、本実施の形態の境界ルータ（ＡＳＢＲ）にexternal bestを設定した場合のＢＧＰルートの広告について説明した図である。ここでも、ＡＳ−Ｂは、ルータ２０Ｃ〜２０Ｆを備え、ルータ２０Ｃ，２０Ｄはそれぞれ、ＡＳ−Ａのルータ２０Ａ，２０Ｂとの間でｅＢＧＰセッションを確立し、プレフィックスＰのｅＢＧＰルートを受信するものとする。また、このようなルータ２０Ｃ〜２０Ｆはそれぞれ、ｉＢＧＰセッションが確立されたルータ２０間でＢＧＰルートの広告を行うことで、経路情報２０１Ｃ〜２０１Ｆに示すような経路情報を持つことになる。ここでは、ＡＳＢＲであるルータ２０Ｃ，２０Ｄにexternal bestが設定されているものとする。
【００７８】
このようなネットワーク構成において、ルータ２０Ｃ，２０Ｆ間と、ルータ２０Ｃ，２０Ｄ間に破線矢印で示すようなｉＢＧＰセッションが追加されると、以下のようになる。すなわち、ルータ２０Ｃの経路情報２０１Ｃには、プレフィックスＰについて、ベストルート以外にも符号３０１Ｃに示すＢＧＰルート（ネクストホップがルータ２０ＡのＢＧＰルート）が登録されている。したがって、このルータ２０Ｃは、ｉＢＧＰセッションを確立したルータ２０Ｄ，２０Ｆに対し、このベストルートと、符号３０１Ｃに示すＢＧＰルートとを広告する。これより、ルータ２０Ｄの経路情報２０１Ｄには、符号３０１Ｄに示すＢＧＰルート（ネクストホップがルータ２０ＣのＢＧＰルート）が追加される。また、ルータ２０Ｆの経路情報２０１Ｆには、符号３０１Ｆに示すＢＧＰルート（ネクストホップがルータ２０ＣのＢＧＰルート）が追加される。これにより、ルータ２０Ｄ，２０ＦはプレフィックスＰについてネクストホップが冗長化された経路情報２０１を保持することができる。このように、境界ルータ（ＡＳＢＲ）にexternal bestを設定しておけば、ＡＳ内の各ルータ２０は境界ルータ４から、ベストルート以外のＢＧＰルートを受信しやすくなり、その結果、各ルータ２０の経路情報２０１に同じプレフィックスについてネクストホップが異なる複数のＢＧＰルートが設定されやすくなる。
【００７９】
なお、このように境界ルータにexternal bestを設定したときは、前記した図４のＳ２０２において、セッション追加対象ルータ特定部１２５は、ｉＢＧＰセッショントポロジ情報１３１を参照して、Ｓ２０１で選択したルータ２０との間でｉＢＧＰセッションを確立していない境界ルータの集合を特定する。なお、ＡＳ内のルータ２０のうち、どのルータ２０が境界ルータかは、ｅＢＧＰルート情報１３２またはｉＢＧＰセッショントポロジ情報１３１に記される情報を参照して判断するものとする。そして、Ｓ２０３においてセッション追加対象ルータ特定部１２５は、ｅＢＧＰルート情報１３２を参照して、Ｓ２０２で特定した境界ルータの集合の中から、冗長性が必要なＰｒｅｑをｅＢＧＰルートとして受信している境界ルータの集合を特定する。そして、Ｓ２０４において、この特定した境界ルータの集合の中で、ｉＢＧＰセッションの確立により、Ｓ２０１で選択したルータ２０とＰｒｅｑのネクストホップが異なるものとなるルータ２０の集合Ｃを特定する。Ｓ２０４以降の処理は、前記した処理と同様であるので説明を省略する。
【００８０】
本実施の形態に係るセッション設計装置１００は、前記したような処理を実行させるＧＰセッション制御プログラムによって実現することができ、そのプログラムをコンピュータによる読み取り可能な記憶媒体（ＣＤ−ＲＯＭ等）に記憶して提供することが可能である。また、そのプログラムを、インターネット等のネットワークを通して提供することも可能である。
【図面の簡単な説明】
【００８１】
【図１】本実施の形態のシステムの全体構成および動作概要を例示した図である。
【図２】（ａ）は、図１のセッション設計装置の機能ブロック図であり、（ｂ）は、図２（ａ）の経路情報ＤＢを例示した図である。
【図３】図２（ａ）のセッション設計装置の処理手順を示した図である。
【図４】図２（ａ）のセッション設計装置の処理手順を示した図である。
【図５】本実施の形態の境界ルータ（ＡＳＢＲ）にexternal bestを設定した場合のＢＧＰルートの広告について説明した図である。
【図６】本願発明の比較例となる技術を説明した図である。
【図７】本願発明の比較例となる技術を説明した図である。
【符号の説明】
【００８２】
１１    入出力部
１２    処理部
１３    記憶部
１４    通信部
２０（２０Ａ,２０Ｃ,２０Ｄ,２０Ｅ,２０Ｆ,２０Ｇ,２０Ｈ,２０Ｉ）  ルータ
１００  セッション設計装置
１２１  トポロジ情報収集部
１２２  ｅＢＧＰルート収集部
１２３  経路情報収集部
１２４  セッション制御部
１２５  セッション追加対象ルータ特定部
１３１  ｉＢＧＰセッショントポロジ情報
１３２  ｅＢＧＰルート情報
１３３  経路情報ＤＢ
１３４  設定情報
【図１】
0004809824.tif 000002
【図２】
0004809824.tif 000003
【図３】
0004809824.tif 000004
【図４】
0004809824.tif 000005
【図５】
0004809824.tif 000006
【図６】
0004809824.tif 000007
【図７】
0004809824.tif 000008