(57)【特許請求の範囲】
【請求項１】
経路の利用可または利用不可に係るＵＰＤＡＴＥ情報をｉＢＧＰ（internal Border Gateway Protocol）ピアから受信する経路受信部と、
前記経路を集約経路、集約経路に含まれる詳細経路、集約経路に含まれない詳細経路のいずれかに分類し、前記集約経路と前記集約経路に含まれる詳細経路との対応を集約経路マッピングテーブルにて管理し、前記ＵＰＤＡＴＥ情報および当該集約経路マッピングテーブルに基づき広告用ＵＰＤＡＴＥ情報を計算する経路計算部と、
前記経路計算部が計算した前記広告用ＵＰＤＡＴＥ情報を、他のｉＢＧＰピアに広告する経路広告部と、
を備えており、
前記経路計算部は、
前記経路受信部により、同一の集約経路に含まれる同一の詳細経路の利用可に係るＵＰＤＡＴＥ情報を第１のｉＢＧＰピアおよび第２のｉＢＧＰピアから受信したのちに、前記第１のｉＢＧＰピアから当該詳細経路の利用不可に係るＵＰＤＡＴＥ情報を受信し、かつ、前記第２のｉＢＧＰピアの当該詳細経路の優先度が前記第１のｉＢＧＰピアの当該詳細経路の優先度よりも低いならば、前記第２のｉＢＧＰピアの当該詳細経路の利用可に係る広告用ＵＰＤＡＴＥ情報を計算する、
ことを特徴とするルートリフレクタ。
【請求項２】
前記経路計算部は、
前記経路受信部により、同一の集約経路に含まれる同一の詳細経路の利用可に係るＵＰＤＡＴＥ情報を第１のｉＢＧＰピアおよび第２のｉＢＧＰピアから受信したのちに、前記第１のｉＢＧＰピアから当該詳細経路の利用不可に係るＵＰＤＡＴＥ情報を受信し、かつ、前記第２のｉＢＧＰピアの当該詳細経路の優先度が前記第１のｉＢＧＰピアの当該詳細経路の優先度よりも低いならば、前記集約経路マッピングテーブルにおける前記第１のｉＢＧＰピアの当該詳細経路に利用不可フラグを設定する、
ことを特徴とする請求項１に記載のルートリフレクタ。
【請求項３】
前記経路計算部は更に、
前記経路広告部により前記第２のｉＢＧＰピアから受信した詳細経路の利用可に係る広告用ＵＰＤＡＴＥ情報を他のｉＢＧＰピアに広告した後に、前記経路受信部により前記第１のｉＢＧＰピアから当該詳細経路の利用可に係るＵＰＤＡＴＥ情報を受信したならば、前記第２のｉＢＧＰピアの当該詳細経路の利用不可に係る広告用ＵＰＤＡＴＥ情報を計算する、
ことを特徴とする請求項１に記載のルートリフレクタ。
【請求項４】
前記経路計算部は更に、
前記経路広告部により前記第２のｉＢＧＰピアから受信した詳細経路の利用可に係る広告用ＵＰＤＡＴＥ情報を他のｉＢＧＰピアに広告した後に、前記経路受信部により前記第１のｉＢＧＰピアから当該詳細経路の利用可に係るＵＰＤＡＴＥ情報を受信したならば、前記集約経路マッピングテーブルにおける前記第１のｉＢＧＰピアの当該詳細経路に設定された利用不可フラグを消去する、
ことを特徴とする請求項３に記載のルートリフレクタ。
【請求項５】
前記経路計算部は、
前記ＵＰＤＡＴＥ情報のCommunity値により、前記経路を集約経路、集約経路に含まれる詳細経路、集約経路に含まれない詳細経路のいずれかに分類する、
ことを特徴とする請求項１に記載のルートリフレクタ。
【請求項６】
前記経路計算部は、
前記経路受信部によりｉＢＧＰピアから集約経路に含まれる詳細経路の利用可に係るＵＰＤＡＴＥ情報を受信したならば、前記経路広告部に広告させない、
ことを特徴とする請求項１に記載のルートリフレクタ。
【請求項７】
経路の利用不可または利用可に係るＵＰＤＡＴＥ情報をｉＢＧＰ（internal Border Gateway Protocol）ピアから受信する経路受信部と、
前記経路を集約経路、集約経路に含まれる詳細経路、集約経路に含まれない詳細経路のいずれかに分類し、前記集約経路と前記集約経路に含まれる詳細経路との対応を集約経路マッピングテーブルにて管理し、前記ＵＰＤＡＴＥ情報および当該集約経路マッピングテーブルに基づき広告用ＵＰＤＡＴＥ情報を計算する経路計算部と、
前記経路計算部が計算した前記広告用ＵＰＤＡＴＥ情報を、他のｉＢＧＰピアに広告する経路広告部と、
を備えるルートリフレクタが実行する経路制御方法であって、
前記経路受信部により、同一の集約経路に含まれる同一の詳細経路の利用可に係るＵＰＤＡＴＥ情報を第１のｉＢＧＰピアおよび第２のｉＢＧＰピアから受信するステップと、
前記第１のｉＢＧＰピアから前記詳細経路の利用不可に係るＵＰＤＡＴＥ情報を受信するステップと、
前記経路計算部により、前記第１のｉＢＧＰピアで利用不可となった詳細経路と同じ詳細経路が前記第２のｉＢＧＰピアから広告されており、かつ前記第２のｉＢＧＰピアの前記詳細経路の優先度が前記第１のｉＢＧＰピアの前記詳細経路の優先度よりも低いか否かを判断するステップと、
前記判断が成立したならば、前記第２のｉＢＧＰピアの前記詳細経路の利用可に係る広告用ＵＰＤＡＴＥ情報を計算するステップと、
前記経路広告部により、前記広告用ＵＰＤＡＴＥ情報を、他のｉＢＧＰピアに広告するステップと、
を含むことを特徴とするルートリフレクタの経路制御方法。
【請求項８】
前記経路広告部により前記第２のｉＢＧＰピアから受信した前記詳細経路の利用可に係る広告用ＵＰＤＡＴＥ情報を他のｉＢＧＰピアに広告した後に、前記経路受信部により前記第１のｉＢＧＰピアから当該詳細経路の利用可に係るＵＰＤＡＴＥ情報を受信するステップと、
前記経路計算部により、前記第２のｉＢＧＰピアの前記詳細経路の利用不可に係る広告用ＵＰＤＡＴＥ情報を計算するステップと、
前記経路広告部により、前記広告用ＵＰＤＡＴＥ情報を、他のｉＢＧＰピアに広告するステップと、
を含むことを特徴とする請求項７に記載のルートリフレクタの経路制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークの経路広告を行うルートリフレクタおよびルートリフレクタの経路制御方法に関する。
【背景技術】
【０００２】
近年のインターネットは、人々の情報の流れを支えるインフラとして、その重要性が益々高まっている。このインターネットは、非特許文献１に記載されたような方式で、端末相互の通信を実現している。非特許文献１には、相互に接続された自律システムから構成されるインターネットにおいて、各エンドシステムが相互に通信できるようにするための経路広告という技術が記載されている。「各ＡＳ（自律システム）が自分のアドレス空間を広告することによって、また各ＡＳがそのような広告内容を直接的または間接的に習得することによって、インターネット内のそれぞれのエンドシステムは他のエンドシステムと通信ができるようになり、これによってインターネットというグローバルな通信システムが成り立っている。」と記載されている。ここでＡＳとは、Autonomous Systemの略称であり、インターネットに繋がる１または複数のルーティングポリシー配下にあるＩＰネットワークやルータの集合のことをいう。
【０００３】
特許文献１には、インターネットにおける経路広告に伴う問題が記載されている。特許文献１の課題には、「ＮＷ同士を接続するルータ装置において、特定障害時の持続的な通信断を回避しつつ、経路集約を可能にする。」と記載され、解決手段には、「第１のネットワークにおける詳細経路を集約した集約経路情報を第２のネットワークに広告する経路広告手段を備えたルータ装置において、障害を検知した場合に、当該障害がブラックホール問題に該当するか否かを判定する障害判定手段と、前記ブラックホール問題に該当する場合において、障害により消失した経路情報を抽出し、抽出された経路情報に関する予め定めた条件に基づき、第１の動作と第２の動作のうちのいずれを行うかを判定する経路管理手段と、前記第１の動作を行う場合において、前記抽出された経路情報の広告を指示するメッセージを他のルータ装置に送信し、当該経路情報の広告を行わせるメッセージ制御手段と、を備え、前記第２の動作を行う場合において、前記経路広告手段に対し前記集約経路情報の広告を停止させる。」と記載されている。この特許文献１に記載された、いわゆる「ブラックホール問題」について、以下に記載する。
【０００４】
図１は、第１比較例の大規模ネットワーク１Ａの構成を示す図である。
大規模ネットワーク１Ａには、ネットワークＡ（３ａ）および、ネットワークＢ（３ｂ）、ネットワークＣ（３ｃ）が、ルータ２−１０，２−２０とルータ２−０，２−１とを介してバックボーンネットワーク４に接続されて構成されている。なお、図面では、ネットワークのことを、「ＮＷ」と省略記載する場合がある。
ルータ２−０，２−１は、エッジルータである。ルータ２−２０には更に、ネットワークＸ（３ｘ）が接続されている。大規模ネットワーク１には、これらと対向する位置にネットワークＤ（３ｄ）が、ルータ２−３０とルータ２−２，２−３とを介してバックボーンネットワーク４に接続されて構成されている。なお、各ネットワークを特に区別しないときには、単にネットワーク３と記載する。また、各ルータ２−０〜２−３，２−１０〜２−４０を特に区別しないときには、単にルータ２と記載する。
【０００５】
ネットワークＡ（３ａ）は、ＡＳであり、不図示の端末（エンドシステム）を含んで構成される。ネットワークＢ（３ｂ）、ネットワークＣ（３ｃ）、ネットワークＤ（３ｄ）、ネットワークＸ（３ｘ）も、ネットワークＡ（３ａ）と同様に構成されたＡＳであるが、それぞれ管理ポリシが異なる。ルータ２−０〜２−３，２−１０〜２−４０は、各ネットワーク３とバックボーンネットワーク４とを接続する。
バックボーンネットワーク４は、複数のルータ４１がネットワーク状に接続されて構成される。図２以下では、各ルータ４１を省略して示している。
【０００６】
ネットワークＡ（３ａ）、およびネットワークＢ（３ｂ）、ネットワークＣ（３ｃ）は、障害等の発生を考慮してルータ２−０，２−１による冗長構成を取るように接続される。ルータ２−０は現用系であり、ルータ２−１は予備系である。同様に、ネットワークＤ（３ｄ）は、現用系のルータ２−２と、予備系のルータ２−３による冗長構成を取るように接続される。このように通常状態では、現用系のルータ２−０，２−２にトラヒックを流通させる、いわゆる片寄せ運用が行われる。これは、現用系のルータ２−０，２−２から優先度の高い経路情報を広告することによって実現される。
【０００７】
なお、片寄せ運用とは異なる両系運用という方法もある。両系運用では、ルータ２−０，２−１に対して現用系と予備系という定義をせず、通常状態において同じ優先度の経路情報を広告する。これにより、両方のルータ２−０，２−１に分散してトラヒックを流通させることができる。
【０００８】
大規模ネットワーク１Ａにおいて、各ネットワーク３の通信を可能とするためには、お互いのネットワーク３が保持する経路情報を交換する必要がある。ネットワークＡ（３ａ）は詳細経路（10.0.1.0/24）であり、ネットワークＢ（３ｂ）は詳細経路（10.0.2.0/24）であり、ネットワークＣ（３ｃ）は詳細経路（10.0.3.0/24）である。ネットワークＸ（３ｘ）は、詳細経路（192.168.1.0/24）である。
各ネットワーク３が交換する経路数が多くなると、お互いのネットワーク３内で流通する経路数が増加してネットワークを構成するルータ２等の負荷を増大させてしまう。そのため、交換する経路を極小化するような経路交換制御技術を用いることが多い。
【０００９】
具体的には、自ネットワーク３内に流通する複数の経路情報を集約して、自身に接続される他のネットワーク３へ広告することにより、交換する経路を極小化する。
ルータ２の経路集約処理では、複数のネットワークプレフィックスを含む、より広範囲なネットワークプレフィックスを設定することで、複数のネットワーク３を纏めている。ルータ２は、この纏めたネットワークプレフィックスの情報を接続先のネットワーク３へ広告し、各ネットワーク３の個々のネットワークプレフィックスの情報は広告しない。これにより、接続先のネットワーク３で流通する経路数を抑制することができる。ここで、複数のネットワークプレフィックスを含む、より広範囲なネットワークプレフィックスは、集約経路の情報である。一般的に、集約経路は、集約経路に含まれる詳細経路が一つでも存在すれば生成される。この動作を図２に示す。
【００１０】
図２は、第１比較例の大規模ネットワーク１Ａの集約経路を示す図である。
【００１１】
図２の例では、ネットワークＡ（３ａ）の詳細経路Ｒａ、ネットワークＢ（３ｂ）の詳細経路Ｒｂ、ネットワークＣ（３ｃ）の詳細経路Ｒｃのうちいずれかの情報をルータ２−０が保有していれば、これらを含み、より広範囲な集約経路Ｒ０を生成する。集約経路Ｒ０の情報は、（10.0.0.0/22）である。
これに対してルータ２−０が、ネットワークＸ（３ｘ）の詳細経路Ｒｘの情報を保有していても、他のネットワークＡ（３ａ）、ネットワークＢ（３ｂ）、ネットワークＣ（３ｃ）とは集約しない。
【００１２】
図２の構成において、ルータ２−０〜２−３が同一のＡＳに所属している場合、同一のＡＳ内の全てのルータ２−０〜２−３が全てのＢＧＰ（Border Gateway Protocol）経路を学習できるように、ＡＳ内部でｉＢＧＰ（internal Border Gateway Protocol）ピアをフルメッシュに張る必要がある。同一のＡＳ内のルータ２の台数が増大するとｉＢＧＰピア数が増大し、各ルータ２の負荷を増大させて帯域幅を消費することになる。そのため、図３に示す第２比較例では、ｉＢＧＰピア数の増大を緩和する手段として、ルートリフレクタという手法を用いる。
【００１３】
図３は、第２比較例の大規模ネットワーク１Ｂの構成と動作とを示す図である。
大規模ネットワーク１Ｂは、大規模ネットワーク１Ａと同様の構成に加えて更に、ルートリフレクタ５Ｂを備えている。
このルートリフレクタ５Ｂは、ｉＢＧＰピアルータであるルータ２−０〜２−３から受け取った経路情報（BGP UPDATE）を、他のｉＢＧＰピアルータに広告（反射）する。同一のＡＳ内のＢＧＰスピーカは、ルートリフレクタ５Ｂと、このルートリフレクタ５Ｂから経路情報を受け取るルートリフレクタクライアント、このルートリフレクタ５Ｂとクライアントのどちらでもないルートリフレクタノンクライアントの３つに分類される。これらの動作は以下のようになる。なお、ルートリフレクタクライアントを単にクライアント、ルートリフレクタノンクライアントを単にノンクライアントと省略記載する。
【００１４】
ルートリフレクタ５Ｂは、クライアントから広告された経路情報をクライアントとノンクライアントに反射し、ノンクライアントから広告された経路情報をクライアントに反射する。ルートリフレクタクライアント同士では、ｉＢＧＰピアを張らない。また、ルートリフレクタ５Ｂからクライアントに広告された経路情報は、クライアントからどのルータにも反射されない。図３の例でいうと、クライアントはルータ２−０〜２−３である。
このように経路広告された結果、ネットワークＤ（３ｄ）は、ネットワークＡ（３ａ）との間にフローＦａが流れ、ネットワークＢ（３ｂ）との間にフローＦｂが流れ、ネットワークＣ（３ｃ）との間にフローＦｃが流れる。各フローＦａ〜Ｆｃは、それぞれルータ２−０，２−２を経由する。
【００１５】
ルートリフレクタ５Ｂを利用することで、同一ＡＳ内ではルートリフレクタ５ＢとクライアントのみがｉＢＧＰピアを張ればよく、クライアント同士はｉＢＧＰピアを張る必要がない。そのため、ｉＢＧＰピア数を抑制することができる。以下の図４では、ネットワークＡ（３ａ）が追加（接続）された場合を想定してルートリフレクタ５Ｂの内部動作を説明する。
【００１６】
図４は、第２比較例におけるルートリフレクタ５Ｂの構成と動作とを示す図である。
ルートリフレクタ５Ｂは、経路受信部５１と、経路広告部５２と、経路管理部５３と、ＢＧＰテーブル５４とを備えている。
経路受信部５１は、各ルータ２からＵＰＤＡＴＥ情報を受信し、受信したＵＰＤＡＴＥを経路広告部５２と経路管理部５３とに転送する。
【００１７】
経路管理部５３は、経路受信部５１から転送されたＵＰＤＡＴＥ情報をＢＧＰテーブル５４に反映する。このＢＧＰテーブル５４は、ルーティングテーブル作成にも用いるが、ルーティングテーブル作成部分は本発明に関連しないため、記載を省略する。
経路広告部５２は、経路受信部５１から転送されたＵＰＤＡＴＥ情報を、各クライアントであるルータ２に広告（反射）する。
【００１８】
図５（ａ）〜（ｃ）は、ネットワークＡ（３ａ）追加時の状態を示す図である。図５（ａ）は、現用系のルータ２−０から送信されるＵＰＤＡＴＥ情報８である。図５（ｂ）は、予備系のルータ２−１から送信されるＵＰＤＡＴＥ情報８である。図５（ｃ）は、ＢＧＰテーブル５４の構成を示している。
図５（ａ）に示すように、ＵＰＤＡＴＥ情報８は、送信元フィールド８ａと、新たに利用不可となった経路情報を示すWithdrawnフィールド８ｂと、経路情報の優先度を示すパス属性フィールド８ｃと、新たに利用可能となった経路情報を示す利用可能経路フィールド８ｄとを含んで構成される。このＵＰＤＡＴＥ情報８の送信元フィールド８ａには、ルータ２−０を示す「ルータ＃０」が格納される。このＵＰＤＡＴＥ情報８のWithdrawnフィールド８ｂは空欄であり、代わりに利用可能経路フィールド８ｄに、新たに利用可能となったネットワークＡ（３ａ）への詳細経路情報(10.0.1.0/24)が格納される。なお、Withdrawnフィールド８ｂに何らかの経路情報が格納されていたならば、その経路が利用不可となったということである。
パス属性フィールド８ｃには、現用系としての優先度「１０」が格納されている。ここではＭＥＤ（Multi Exit Discriminator）値を例として記載しており、値が小さいほど優先度が高いことを示す。
【００１９】
図５（ｂ）に示すように、予備系のルータ２−１から送信されるＵＰＤＡＴＥ情報８は、送信元フィールド８ａに「ルータ＃１」が格納され、パス属性フィールド８ｃには、予備系としての優先度「２０」が格納されている。Withdrawnフィールド８ｂは空欄であり、利用可能経路フィールド８ｄに、ネットワークＡ（３ａ）への詳細経路情報 (10.0.1.0/24)が格納される。以下、ルータ２−０，２−１から送信されるＵＰＤＡＴＥ情報８を、同一図に併記する。
【００２０】
図５（ｃ）に示すように、ＢＧＰテーブル５４は、利用可能経路欄５４ａと、パス属性欄５４ｂと、送信元欄５４ｃとを含んで構成される。
利用可能経路欄５４ａには、現在の時点で利用可能な経路情報が格納されている。つまり、利用可能経路欄５４ａには、ＵＰＤＡＴＥ情報８の利用可能経路フィールド８ｄの経路情報が追加されると共に、Withdrawnフィールド８ｂの経路情報と一致する経路情報が削除される。
【００２１】
パス属性欄５４ｂには、上記した経路情報の優先度が格納されている。ＵＰＤＡＴＥ情報８のパス属性フィールド８ｃに格納される優先度が反映される。
送信元欄５４ｃには、上記した経路情報の送信元の情報が格納されている。つまり送信元欄５４ｃには、ＵＰＤＡＴＥ情報８の送信元フィールド８ａの情報が反映される。
図５（ｃ）のＢＧＰテーブル５４の状態は、図５（ａ），（ｂ）で示した各ＵＰＤＡＴＥ情報８が反映されており、その部分に下線を引いている。
【００２２】
以下、集約経路の広告に伴う問題を記載する。ルートリフレクタ５（図３参照）の有無に関わらず経路集約を実施すると、特定の障害パターンにおいては、代替経路が存在するにもかかわらず、代替経路に切り替わらずに持続的に通信断となる状態に陥ってしまう場合がある。この問題は、ブラックホール問題と呼ばれている。
【００２３】
図６は、比較例でのブラックホール問題の発生例を示す図である。
図６においては、ルータ２−１０とルータ２−０間で障害９が発生している状態である。ルータ２−０は、ネットワークＡ（３ａ）の詳細経路情報（10.0.1.0/24）を保有せず、ネットワークＢ（３ｂ）の詳細経路情報（10.0.2.0/24）およびネットワークＣ（３ｃ）の詳細経路情報（10.0.3.0/24）は保有している。そのため、ネットワークＡ（３ａ）、ネットワークＢ（３ｂ）、ネットワークＣ（３ｃ）を含む集約経路情報（10.0.0.0/22）が生成される。集約経路情報（10.0.0.0/22）は、障害９の発生前と同様に、バックボーンネットワーク４内に広告されることとなる。
【００２４】
この状態において、ネットワークＤ（３ｄ）からネットワークＡ（３ａ）宛の通信が発生した場合、ネットワークＡ（３ａ）宛の通信はルータ２−０から広告された集約経路情報（10.0.0.0/22）に従い、ルータ２−０へ転送される。しかしルータ２−０は、ネットワークＡ（３ａ）の詳細経路情報（10.0.1.0/24）を保有していないため、この通信は転送先が不明と判断されて破棄される。このようにルータに吸い込まれたパケットが消滅してしまうということから、ブラックホール問題と呼ばれている。
【００２５】
従来の技術では、このような一般的な大規模ネットワーク１Ａ，１Ｂでブラックホール問題を回避することは不可であった。そのため、特定障害の発生確率等を踏まえて設計者が、「特定障害発生時の持続的な通信断は非許容とし、経路集約を実施しない」を選択するか、「特定障害時の持続的な通信断を許容し、経路集約を実施する。」を選択するかの二者択一であった。
【先行技術文献】
【特許文献】
【００２６】
【特許文献１】特開２０１４−１５４９４６号公報
【非特許文献】
【００２７】
【非特許文献１】Philip Smith,Rob Evans,Mike Hughes、「RIPE ルーティングワーキンググループによる経路集約(Route Aggregation)に関する推奨」、[online]、２００６年１２月、［平成２７年１月３０日検索］、<URL: http://www.nic.ad.jp/ja/translation/ripe/20061201.html#id000705>
【発明の概要】
【発明が解決しようとする課題】
【００２８】
ネットワーク同士を接続するルータにおいて、経路集約を実施しない場合、及び経路集約を実施する場合、それぞれにおける現状技術での課題を以下に示す。
ルータで経路集約を実施しない場合には、接続先ネットワーク内で大量の経路が流通することとなり、接続先ネットワークを構成するルータの保有経路数が肥大化してリソースを大量に消費する。その結果、リンク障害等が発生した場合の経路切り替えに多くの時間を要し、結果として障害時の通信断時間が長くなり、ネットワーク品質の低下に繋がる。また同時に、各ルータの保有経路数の肥大化が障害発生時の切り分け等の複雑性を増大させ、ネットワークの運用性が低下することも懸念される。
【００２９】
これに対して、ルータで経路集約を実施する場合には、図６に示したように、障害のパターンによっては迂回ルートがあるにも関わらず迂回できないというブラックホール問題が発生し、持続的な通信断となるため、ネットワーク品質の低下に繋がる。
【００３０】
本発明は、前記した問題を解決し、大規模ネットワークにて特定障害時の持続的な通信断を回避しつつ経路集約を可能とするルートリフレクタおよび経路制御方法を提供することを課題とする。
【課題を解決するための手段】
【００３１】
前記課題を解決するため、請求項１に記載の発明では、経路の利用可または利用不可に係るＵＰＤＡＴＥ情報をｉＢＧＰ（internal Border Gateway Protocol）ピアから受信する経路受信部と、前記経路を集約経路、集約経路に含まれる詳細経路、集約経路に含まれない詳細経路のいずれかに分類し、前記集約経路と前記集約経路に含まれる詳細経路との対応を集約経路マッピングテーブルにて管理し、前記ＵＰＤＡＴＥ情報および当該集約経路マッピングテーブルに基づき広告用ＵＰＤＡＴＥ情報を計算する経路計算部と、前記経路計算部が計算した前記広告用ＵＰＤＡＴＥ情報を、他のｉＢＧＰピアに広告する経路広告部と、を備えており、前記経路計算部は、前記経路受信部により、同一の集約経路に含まれる同一の詳細経路の利用可に係るＵＰＤＡＴＥ情報を第１のｉＢＧＰピアおよび第２のｉＢＧＰピアから受信したのちに、前記第１のｉＢＧＰピアから当該詳細経路の利用不可に係るＵＰＤＡＴＥ情報を受信し、かつ、前記第２のｉＢＧＰピアの当該詳細経路の優先度が前記第１のｉＢＧＰピアの当該詳細経路の優先度よりも低いならば、前記第２のｉＢＧＰピアの当該詳細経路の利用可に係る広告用ＵＰＤＡＴＥ情報を計算する、ことを特徴とするルートリフレクタとした。
【００３２】
このようにすることで、ルートリフレクタは、大規模ネットワークにて特定障害であるブラックホール問題の発生時の持続的な通信断を回避しつつ経路集約を可能とする。
【００３３】
請求項２に記載の発明では、前記経路計算部は、前記経路受信部により、同一の集約経路に含まれる同一の詳細経路の利用可に係るＵＰＤＡＴＥ情報を第１のｉＢＧＰピアおよび第２のｉＢＧＰピアから受信したのちに、前記第１のｉＢＧＰピアから当該詳細経路の利用不可に係るＵＰＤＡＴＥ情報を受信し、かつ、前記第２のｉＢＧＰピアの当該詳細経路の優先度が前記第１のｉＢＧＰピアの当該詳細経路の優先度よりも低いならば、前記集約経路マッピングテーブルにおける前記第１のｉＢＧＰピアの当該詳細経路に利用不可フラグを設定する、ことを特徴とする請求項１に記載のルートリフレクタとした。
【００３４】
このようにすることで、ルートリフレクタは、第２のｉＢＧＰピアを介した詳細経路を代替として使用して、発生した障害がブラックホール問題に該当するか判定することができる。
【００３５】
請求項３に記載の発明では、前記経路計算部は更に、前記経路広告部により前記第２のｉＢＧＰピアから受信した詳細経路の利用可に係る広告用ＵＰＤＡＴＥ情報を他のｉＢＧＰピアに広告した後に、前記経路受信部により前記第１のｉＢＧＰピアから当該詳細経路の利用可に係るＵＰＤＡＴＥ情報を受信したならば、前記第２のｉＢＧＰピアの当該詳細経路の利用不可に係る広告用ＵＰＤＡＴＥ情報を計算する、ことを特徴とする請求項１に記載のルートリフレクタとした。
【００３６】
このようにすることで、ルートリフレクタは、ブラックホール問題に係る障害から回復したときに、元の第１のｉＢＧＰピアを介した詳細経路を再び利用することができる。
【００３７】
請求項４に記載の発明では、前記経路計算部は更に、前記経路広告部により前記第２のｉＢＧＰピアから受信した詳細経路の利用可に係る広告用ＵＰＤＡＴＥ情報を他のｉＢＧＰピアに広告した後に、前記経路受信部により前記第１のｉＢＧＰピアから当該詳細経路の利用可に係るＵＰＤＡＴＥ情報を受信したならば、前記集約経路マッピングテーブルにおける前記第１のｉＢＧＰピアの当該詳細経路に設定された利用不可フラグを消去する、ことを特徴とする請求項３に記載のルートリフレクタとした。
【００３８】
このようにすることで、障害回復時の集約経路マッピングテーブルを、障害発生前と同一の状態に戻し、次の障害発生に備えることができる。
【００３９】
請求項５に記載の発明では、前記経路計算部は、前記ＵＰＤＡＴＥ情報のCommunity値により、前記経路を集約経路、集約経路に含まれる詳細経路、集約経路に含まれない詳細経路のいずれかに分類する、ことを特徴とする請求項１に記載のルートリフレクタとした。
【００４０】
このようにすることで、経路の種別を容易に判別することができる。
【００４１】
請求項６に記載の発明では、前記経路計算部は、前記経路受信部によりｉＢＧＰピアから集約経路に含まれる詳細経路の利用可に係るＵＰＤＡＴＥ情報を受信したならば、前記経路広告部に広告させない、ことを特徴とする請求項１に記載のルートリフレクタとした。
【００４２】
このようにすることで、各ルータの保有経路数の肥大化を抑止できる。
【００４３】
請求項７に記載の発明では、経路の利用不可または利用可に係るＵＰＤＡＴＥ情報をｉＢＧＰ（internal Border Gateway Protocol）ピアから受信する経路受信部と、前記経路を集約経路、集約経路に含まれる詳細経路、集約経路に含まれない詳細経路のいずれかに分類し、前記集約経路と前記集約経路に含まれる詳細経路との対応を集約経路マッピングテーブルにて管理し、前記ＵＰＤＡＴＥ情報および当該集約経路マッピングテーブルに基づき広告用ＵＰＤＡＴＥ情報を計算する経路計算部と、前記経路計算部が計算した前記広告用ＵＰＤＡＴＥ情報を、他のｉＢＧＰピアに広告する経路広告部と、を備えるルートリフレクタが実行する経路制御方法であって、前記経路受信部により、同一の集約経路に含まれる同一の詳細経路の利用可に係るＵＰＤＡＴＥ情報を第１のｉＢＧＰピアおよび第２のｉＢＧＰピアから受信するステップと、前記第１のｉＢＧＰピアから前記詳細経路の利用不可に係るＵＰＤＡＴＥ情報を受信するステップと、前記経路計算部により、前記第１のｉＢＧＰピアで利用不可となった詳細経路と同じ詳細経路が前記第２のｉＢＧＰピアから広告されており、かつ前記第２のｉＢＧＰピアの前記詳細経路の優先度が前記第１のｉＢＧＰピアの前記詳細経路の優先度よりも低いか否かを判断するステップと、前記判断が成立したならば、前記第２のｉＢＧＰピアの前記詳細経路の利用可に係る広告用ＵＰＤＡＴＥ情報を計算するステップと、前記経路広告部により、前記広告用ＵＰＤＡＴＥ情報を、他のｉＢＧＰピアに広告するステップと、を含むことを特徴とするルートリフレクタの経路制御方法とした。
【００４４】
このようにすることで、ルートリフレクタは、大規模ネットワークにて特定障害であるブラックホール問題の発生時の持続的な通信断を回避しつつ経路集約を可能とする。
【００４５】
請求項８に記載の発明では、前記経路広告部により前記第２のｉＢＧＰピアから受信した前記詳細経路の利用可に係る広告用ＵＰＤＡＴＥ情報を他のｉＢＧＰピアに広告した後に、前記経路受信部により前記第１のｉＢＧＰピアから当該詳細経路の利用可に係るＵＰＤＡＴＥ情報を受信するステップと、前記経路計算部により、前記第２のｉＢＧＰピアの前記詳細経路の利用不可に係る広告用ＵＰＤＡＴＥ情報を計算するステップと、前記経路広告部により、前記広告用ＵＰＤＡＴＥ情報を、他のｉＢＧＰピアに広告するステップと、を含むことを特徴とする請求項７に記載のルートリフレクタの経路制御方法とした。
【００４６】
このようにすることで、ルートリフレクタは、第２のｉＢＧＰピアを介した詳細経路を代替として使用して、ブラックホール問題の発生を検知することができる。
【発明の効果】
【００４７】
本発明によれば、大規模ネットワークにて特定障害時の持続的な通信断を回避しつつ経路集約を可能とするルートリフレクタおよび経路制御方法を提供することが可能となる。
【図面の簡単な説明】
【００４８】
【図１】第１比較例の大規模ネットワークを示す概略の構成図である。
【図２】第１比較例の大規模ネットワークの集約経路と詳細経路とを示す図である。
【図３】第２比較例におけるルートリフレクタの動作を示す図である。
【図４】第２比較例におけるルートリフレクタの構成と動作とを示す図である。
【図５】第２比較例におけるネットワークＡ追加時の状態を示す図である。
【図６】第２比較例でのブラックホール問題の発生例を示す図である。
【図７】本実施形態におけるルートリフレクタの構成と動作とを示す図である。
【図８】本実施形態によるブラックホール問題の解決例を示す図である。
【図９】通常時かつ集約経路が利用可であるパターン＃１を示す図である。
【図１０】通常時かつ集約経路に含まれる詳細経路が利用可であるパターン＃２を示す図である。
【図１１】通常時かつ集約経路に含まれない詳細経路が利用可であるパターン＃３を示す図である。
【図１２】障害時かつ集約経路が利用不可であるパターン＃４を示す図である。
【図１３】障害時かつ集約経路に含まれる詳細経路が利用不可であるパターン＃５を示す図である。
【図１４】障害回復時かつ集約経路に含まれる詳細経路が利用可であるパターン＃８を示す図である。
【図１５】登録、障害発生から回復までのシーケンスを示す図である。
【図１６】ルートリフレクタの広告処理（その１）を示すフローチャートである。
【図１７】ルートリフレクタの広告処理（その２）を示すフローチャートである。
【発明を実施するための形態】
【００４９】
次に、本発明を実施するための形態（「実施形態」という）について、適宜図面を参照しながら詳細に説明する。
一般的な大規模ネットワークでブラックホール問題を回避し、かつ経路集約を実施するための手法として、ルートリフレクタに以下の３つの新機能を追加することを考案した。
【００５０】
（１）  ｉＢＧＰピアから集約経路と詳細経路（集約経路の元となる経路も含む）を受信し、集約経路と、集約経路に含まれない詳細経路とを抽出して他のｉＢＧＰピアに広告する。
（２）  障害発生時、ｉＢＧＰピアから経路消失を示すWithdrawnを受信した場合、ブラックホール問題に該当するかを判定する。
（３）  ブラックホール問題に該当する場合、予備系のルータから受信している消失した経路（ネットワークＡの経路）を、ルートリフレクタ５（図８参照）から他のｉＢＧＰピアに広告する。
【００５１】
図７は、本実施形態におけるルートリフレクタの構成と動作とを示す図である。
ルートリフレクタ５は、経路受信部５１と、経路広告部５２と、経路管理部５３と、ＢＧＰテーブル５４と、経路計算部５５と、集約経路マッピングテーブル５６とを備えている。
経路受信部５１は、各ルータ２からＵＰＤＡＴＥ情報を受信し、受信したＵＰＤＡＴＥ情報を経路管理部５３と経路計算部５５とに転送する。
【００５２】
経路管理部５３は、経路受信部５１から転送されたＵＰＤＡＴＥ情報をＢＧＰテーブル５４に反映する。
経路計算部５５は、経路受信部５１から転送されたＵＰＤＡＴＥ情報を集約経路マッピングテーブル５６に記録すると共に、ブラックホール問題を回避するための広告用ＵＰＤＡＴＥ情報を計算する。集約経路マッピングテーブル５６は、集約経路に対して、この集約経路に含まれる詳細経路をマッピングしたものである。
経路広告部５２は、経路計算部５５から転送された広告用ＵＰＤＡＴＥ情報を、各クライアントであるルータ２に広告（反射）する。
【００５３】
図８は、本実施形態によるブラックホール問題の解決例を示す図である。
図８に示すように、ルータ２−１０とルータ２−０間で障害９が発生している。このとき、ネットワークＤ（３ｄ）とネットワークＡ（３ａ）との間のフローＦＡは、予備系のルータ２−１を介して流れる。フローＦｂと、フローＦｃは、現用系のルータ２−０（第１のｉＢＧＰピア）を介して流れる。
【００５４】
この状態において、ネットワークＤ（３ｄ）からネットワークＡ（３ａ）宛の通信が発生した場合、ネットワークＡ（３ａ）宛の通信はルータ２−１（第２のｉＢＧＰピア）へ転送される。ルータ２−１は、ネットワークＡ（３ａ）の詳細経路情報（10.0.1.0/24）を保有しているため、この通信は転送先がネットワークＡ（３ａ）と判断されて転送される。このようにしてブラックホール問題を解決することができる。
【００５５】
新規機能を追加したルートリフレクタ５がクライアントからＵＰＤＡＴＥ情報を受け取った際の挙動には、以下の表に示す９つのパターンがある。それぞれのパターンにおける新規機能を追加したルートリフレクタ５の内部動作について、具体例を用いて詳細に説明する。なお、以下では、例えは集約経路情報（10.0.0.0/22）で示される集約経路などを、単に集約経路（10.0.0.0/22）と記載する場合がある。
【００５６】
【表１】
0006307031.tif 000002
【００５７】
＜パターン＃１＞
通常時に集約経路（10.0.0.0/22）がルータ２−０で利用可となった際の本実施形態のルートリフレクタ５の内部動作について、以下に示す。
経路受信部５１は、各ルータ２から受信したＵＰＤＡＴＥ情報８を経路管理部５３と経路計算部５５とに転送する。経路管理部５３は、経路受信部５１から転送されたＵＰＤＡＴＥ情報８をＢＧＰテーブル５４に反映する。
経路計算部５５は、ＢＧＰテーブル５４から集約経路（Community値で判別）とそこに含まれる詳細経路をマッピングした集約経路マッピングテーブル５６を作成して保持する。経路計算部５５は更に、集約経路マッピングテーブル５６に基づき集約経路のみを掲載した広告用ＵＰＤＡＴＥ情報８１を生成し、経路広告部５２に転送する。
経路広告部５２は、経路計算部５５から転送された広告用ＵＰＤＡＴＥ情報８１をクライアントに広告する。これらの動作に伴う状態について、以下の図９に示す。
【００５８】
図９（ａ）〜（ｄ）は、通常時かつ集約経路が利用可であるパターン＃１を示す図である。ここでは、ルータ２−０，２−１において、集約経路（10.0.0.0/22）が利用可となった際の本実施形態のルートリフレクタ５の内部状態とその動作について説明する。
【００５９】
図９（ａ）の１行目は各フィールド名を示し、２〜４行目は、ルータ２−０（ルータ＃０）から受信したＵＰＤＡＴＥ情報８を示している。５〜７行目は、ルータ２−１（ルータ＃１）から受信したＵＰＤＡＴＥ情報８を示している。
ＵＰＤＡＴＥ情報８は、送信元フィールド８ａと、Withdrawnフィールド８ｂと、パス属性フィールド８ｃと、利用可能経路フィールド８ｄとを含んで構成される。このＵＰＤＡＴＥ情報８は、経路受信部５１によって各ルータ２から受信され、経路管理部５３と経路計算部５５に転送される。
【００６０】
２〜４行目のＵＰＤＡＴＥ情報８は、ルータ２−０から詳細経路情報（10.0.1.0/24）と、詳細経路情報（10.0.2.0/24）と、集約経路情報（10.0.0.0/22）とを受信したことを示している。パス属性フィールド８ｃには、ＭＥＤ属性と、経路種別を示すCommunity属性とが格納されている。Community属性は４オクテットからなり、上位２オクテットにＡＳ番号が入り、残りの下位２オクテットにポリシを表す数値が入る、上位２オクテットと下位２オクテットの間は「：」で区切られる。
【００６１】
２行目と３行目のCommunity値（100:300）は、ＡＳ番号100においてポリシ値300が適用される経路であることを示し、ポリシ値（300）が、集約経路およびその集約経路に含まれる詳細経路のグループを示している。４行目のCommunity値（100:1000）は、前述のグループのうち、この経路が集約経路であることを示している。
ＵＰＤＡＴＥ情報８の５〜７行目は、ルータ２−１から情報（10.0.1.0/24）の詳細経路と、情報（10.0.2.0/24）の詳細経路と、情報（10.0.0.0/22）の集約経路を受信したことを示している。パス属性フィールド８ｃには、ＭＥＤ（Multi Exit Discriminator）属性と、経路種別を示すCommunity属性とが格納されている。
ＵＰＤＡＴＥ情報８の５行目と６行目のCommunity値（100:300）は、ＡＳ番号100においてポリシ値300が適用される経路であることを示している。７行目のCommunity値（100:1000）は、前述のグループのうち、この経路が集約経路であることを示している。
【００６２】
図９（ｂ）は、図９（ａ）のＵＰＤＡＴＥ情報８によって更新されたＢＧＰテーブル５４を示している。ＢＧＰテーブル５４には、経路管理部５３により図９（ａ）で示したＵＰＤＡＴＥ情報８が反映される。
【００６３】
図９（ｃ）は、図９（ｂ）のＢＧＰテーブル５４に基づいて更新された集約経路マッピングテーブル５６を示している。集約経路マッピングテーブル５６は、集約経路欄５６ａと、集約経路パス属性欄５６ｂと、集約経路送信元欄５６ｃと、詳細経路欄５６ｄと、詳細経路パス属性欄５６ｅと、詳細経路送信元欄５６ｆと、Withdrawnフラグ欄５６ｇとを含んで構成される。
経路計算部５５は、ＢＧＰテーブル５４のパス属性欄５４ｂのCommunity値により、集約経路であるか、または集約経路に含まれる詳細経路であるかを判別し、集約経路とこれに含まれる詳細経路とをマッピングした集約経路マッピングテーブル５６を作成する。
集約経路欄５６ａは、ＢＧＰテーブル５４における集約経路の利用可能経路欄５４ａの情報が格納される。集約経路パス属性欄５６ｂは、ＢＧＰテーブル５４における集約経路のパス属性欄５４ｂのＭＥＤ属性が格納される。集約経路送信元欄５６ｃは、ＢＧＰテーブル５４における集約経路の送信元欄５４ｃの情報が格納される。
【００６４】
詳細経路欄５６ｄと詳細経路パス属性欄５６ｅと詳細経路送信元欄５６ｆには、集約経路欄５６ａに含まれる詳細経路の、ＢＧＰテーブル５４における利用可能経路欄５４ａとパス属性欄５４ｂのＭＥＤ属性と送信元欄５４ｃの情報が格納される。このときWithdrawnフラグ欄５６ｇは、いずれも空欄である。
図９（ｄ）は、広告用ＵＰＤＡＴＥ情報８１を示している。広告用ＵＰＤＡＴＥ情報８１は、ＵＰＤＡＴＥ情報８と同様に、送信元フィールド８１ａと、Withdrawnフィールド８１ｂと、パス属性フィールド８１ｃと、利用可能経路フィールド８１ｄとを含んで構成される。経路計算部５５は、作成した集約経路マッピングテーブル５６（図９（ｃ）参照）に基づき、集約経路のみを掲載した広告用ＵＰＤＡＴＥ情報８１を作成して経路広告部５２に転送する。経路広告部５２は、経路計算部５５から転送された広告用ＵＰＤＡＴＥ情報８１をクライアントに広告する。
【００６５】
＜パターン＃２＞
既にルートリフレクタ５からクライアントに広告されている集約経路（10.0.0.0/22）に含まれる詳細経路（10.0.3.0/24）がルータ２−０，２−１で新たに利用可となった際の本実施形態のルートリフレクタ５の内部動作について、以下に示す。
経路受信部５１は、各ルータ２から受信したＵＰＤＡＴＥ情報８を経路管理部５３と経路計算部５５とに転送する。
経路管理部５３は、経路受信部５１から転送されたＵＰＤＡＴＥ情報８をＢＧＰテーブル５４に反映する。
経路計算部５５は、ＵＰＤＡＴＥ情報８に記載された利用可能経路（10.0.3.0/24）が集約経路（10.0.0.0/22）に含まれるため、集約経路マッピングテーブル５６を更新する。集約経路は既に広告済であるため、広告用ＵＰＤＡＴＥ情報８１の経路広告部５２への転送は実施しない。
【００６６】
図１０（ａ）〜（ｃ）は、通常時かつ集約経路に含まれる詳細経路が利用可であるパターン＃２を示す図である。ここでは、ネットワークＣ（３ｃ）が新たに接続された場合を示している。
図１０（ａ）の１行目は各フィールド名を示し、２行目はルータ２−０（ルータ＃０）から受信したＵＰＤＡＴＥ情報８を示し、３行目はルータ２−１（ルータ＃１）から受信したＵＰＤＡＴＥ情報８を示している。
ＵＰＤＡＴＥ情報８の２行目は、ルータ２−０からネットワークＣ（３ｃ）の詳細経路（10.0.3.0/24）を受信したことを示している。パス属性フィールド８ｃには、ＭＥＤ属性と、経路種別を示すCommunity属性とが格納されている。ＭＥＤ属性（10）は、ルータ２−０を介する経路が現用系の優先度を持つことを示している。Community値（100:300）は、ＡＳ番号100においてポリシ値300が適用される経路であることを示し、よって集約経路（10.0.0.0/22）に属することを示している。
ＵＰＤＡＴＥ情報８の３行目は、ルータ２−１からネットワークＣ（３ｃ）の詳細経路（10.0.3.0/24）を受信したことを示している。パス属性フィールド８ｃには、ＭＥＤ属性と、経路種別を示すCommunity属性とが格納されている。ＭＥＤ属性（20）は、ルータ２−０を介する経路が予備系の優先度を持つことを示している。Community値（100:300）は、ＡＳ番号100においてポリシ値300が適用される経路であることを示し、よって集約経路（10.0.0.0/22）に属することを示している。
【００６７】
図１０（ｂ）は、図１０（ａ）のＵＰＤＡＴＥ情報８によって更新されたＢＧＰテーブル５４を示している。ＢＧＰテーブル５４には、経路管理部５３により図１０（ａ）で示したＵＰＤＡＴＥ情報８が反映される。
【００６８】
図１０（ｃ）は、図１０（ｂ）のＢＧＰテーブル５４に基づいて更新された集約経路マッピングテーブル５６を示している。
経路計算部５５は、ＢＧＰテーブル５４の２行目のパス属性により、集約経路（10.0.0.0/22）かつＭＥＤ属性（10）に含まれる詳細経路であることを判別し、集約経路マッピングテーブル５６に追加する。
経路計算部５５は、ＢＧＰテーブル５４の３行目のパス属性により、集約経路（10.0.0.0/22）かつＭＥＤ属性（20）に含まれる詳細経路であることを判別し、集約経路マッピングテーブル５６に追加する。
【００６９】
＜パターン＃３＞
集約経路（10.0.0.0/22）に含まれない詳細経路（192.168.1.0/24）がルータ２−０，２−１において新たに利用可となった際、本実施形態のルートリフレクタ５の内部動作について、以下に示す。
ここでは集約経路に含まれる詳細経路（10.0.1.0/24，10.0.2.0/24，10.0.3.0/24）がルータ２−０で利用不可となり、集約経路が生成されなくなった場合を例にとって記載する。
経路受信部５１は、各ルータ２から受信したＵＰＤＡＴＥ情報８を経路管理部５３、経路計算部５５に転送する。
【００７０】
経路管理部５３は、経路受信部５１から受信したＵＰＤＡＴＥ情報８をＢＧＰテーブル５４に反映する。
経路計算部５５は、ＵＰＤＡＴＥされた利用可能な経路（192.168.1.0/24）が集約経路に含まれないため、集約経路マッピングテーブル５６をアップデートしない。そして経路計算部５５は、経路受信部５１から転送されたＵＰＤＡＴＥ情報８を広告用ＵＰＤＡＴＥ情報８１として経路広告部５２に転送する。
経路広告部５２は、経路計算部５５から転送された広告用ＵＰＤＡＴＥ情報８１をクライアントに広告する。
【００７１】
図１１（ａ）〜（ｄ）は、通常時かつ集約経路に含まれない詳細経路が利用可であるパターン＃３を示す図である。
図１１（ａ）の１行目は各フィールド名を示し、２行目はルータ２−０（ルータ＃０）から受信したＵＰＤＡＴＥ情報８を示し、３行目はルータ２−１（ルータ＃１）から受信したＵＰＤＡＴＥ情報８を示している。
ＵＰＤＡＴＥ情報８の２行目は、ルータ２−０からネットワークＸ（３ｘ）の詳細経路（198.168.1.0/24）を受信したことを示している。パス属性フィールド８ｃには、ＭＥＤ属性が格納されている。ＭＥＤ属性（10）は、ルータ２−０を介する経路が現用系の優先度を持つことを示している。このパス属性フィールド８ｃには、Community値が格納されておらず、この経路が集約経路に含まれない詳細経路であることを示している。
【００７２】
ＵＰＤＡＴＥ情報８の３行目は、ルータ２−１からネットワークＣ（３ｃ）の詳細経路（10.0.3.0/24）を受信したことを示している。パス属性フィールド８ｃには、ＭＥＤ属性が格納されている。ＭＥＤ属性（20）は、ルータ２−０を介する経路が予備系の優先度を持つことを示している。このパス属性フィールド８ｃには、Community値が格納されておらず、この経路が集約経路に含まれない詳細経路であることを示している。
【００７３】
図１１（ｂ）は、図１１（ａ）のＵＰＤＡＴＥ情報８によって更新されたＢＧＰテーブル５４を示している。ＢＧＰテーブル５４には、経路管理部５３により図１１（ａ）で示したＵＰＤＡＴＥ情報８が反映される。
【００７４】
図１１（ｃ）は、図１１（ｂ）のＢＧＰテーブル５４に基づいて更新された集約経路マッピングテーブル５６を示している。
経路計算部５５は、ＢＧＰテーブル５４の２行目と３行目のパス属性欄５４ｂにCommunity値が格納されていないことから、この経路が集約経路に含まれない詳細経路であると判断する。よって、経路計算部５５は、集約経路マッピングテーブル５６を書き換えない。
【００７５】
図１１（ｄ）は、広告用ＵＰＤＡＴＥ情報８１を示している。この広告用ＵＰＤＡＴＥ情報８１は、図１１（ａ）に示すＵＰＤＡＴＥ情報８と同様である。
【００７６】
＜パターン＃４＞
障害発生により、集約経路（10.0.0.0/22）がルータ２−０で利用不可となった際の本実施形態のルートリフレクタ５の内部動作について、以下に示す。
ここでは集約経路に含まれる詳細経路（10.0.1.0/24，10.0.2.0/24，10.0.3.0/24）がルータ２−０で利用不可となり、集約経路が生成されなくなった場合を例にとって記載する。
経路受信部５１は、各ルータ２から受信したＵＰＤＡＴＥ情報８を経路管理部５３と経路計算部５５に転送する。
経路管理部５３は、経路受信部５１から転送されたＵＰＤＡＴＥ情報８をＢＧＰテーブル５４に反映する。
経路計算部５５は、ＵＰＤＡＴＥ情報８で利用不可（Withdrawn）となった集約経路（10.0.0.0/22）を集約経路マッピングテーブル５６から削除する。そして経路計算部５５は、経路受信部５１から転送されたＵＰＤＡＴＥ情報８と同一の広告用ＵＰＤＡＴＥ情報８１を経路広告部５２に転送する。
経路広告部５２は、経路計算部５５から転送された広告用ＵＰＤＡＴＥ情報８１をクライアントに広告する。
図１２（ａ）〜（ｄ）は、障害時かつ集約経路が利用不可であるパターン＃４を示す図である。
図１２（ａ）の１行目は各フィールド名を示し、２〜５行目は、ルータ２−０（ルータ＃０）から受信したＵＰＤＡＴＥ情報８を示している。このＵＰＤＡＴＥ情報８は、経路受信部５１によって各ルータ２から受信され、経路管理部５３と経路計算部５５に転送される。
ＵＰＤＡＴＥ情報８の２〜４行目は、ルータ２−０から詳細経路（10.0.1.0/24）の利用不可、詳細経路（10.0.2.0/24）の利用不可、および詳細経路（10.0.3.0/24）の利用不可を受信したことを示している。パス属性フィールド８ｃには、ＭＥＤ属性（10）と、経路種別を示すCommunity属性（100:300）とが格納されている。
ＵＰＤＡＴＥ情報８の５行目は、ルータ２−０から集約経路（10.0.0.0/22）の利用不可を受信したことを示している。パス属性フィールド８ｃには、ＭＥＤ属性（10）と、経路種別を示すCommunity属性（100:300）とが格納されている。
【００７７】
図１２（ｂ）は、図１２（ａ）のＵＰＤＡＴＥ情報８によって更新されたＢＧＰテーブル５４を示している。ＢＧＰテーブル５４には、経路管理部５３により図１２（ａ）で示したＵＰＤＡＴＥ情報８が反映され、対応する行（レコード）が削除される。
【００７８】
図１２（ｃ）は、図１２（ｂ）のＢＧＰテーブル５４に基づいて更新された集約経路マッピングテーブル５６を示している。
図１２（ｄ）は、広告用ＵＰＤＡＴＥ情報８１を示している。この広告用ＵＰＤＡＴＥ情報８１は、図１２（ａ）に示すＵＰＤＡＴＥ情報８と同様である。
【００７９】
＜パターン＃５＞
障害発生により、ルータ２−０で集約経路に含まれる詳細経路（10.0.1.0/24）が利用不可となった際の本実施形態のルートリフレクタ５の内部動作について、以下に示す。
経路受信部５１は、各ルータ２から受信したＵＰＤＡＴＥ情報８を経路管理部５３と経路計算部５５とに転送する。
経路管理部５３は、経路受信部５１から受信したＵＰＤＡＴＥ情報８をＢＧＰテーブル５４に反映する。
【００８０】
経路計算部５５は、ＵＰＤＡＴＥ情報８で利用不可（Withdrawn）となった経路（10.0.1.0/24）を元に集約経路マッピングテーブル５６を探索する。経路計算部５５は、利用不可となった経路が集約経路に含まれ、かつ別の装置（この場合はルータ２−１）からも広告されており、かつ別の装置（ルータ２−１）から広告されている詳細経路のパス属性の優先度が利用不可となった経路の優先度よりも低いという条件を満たす時に、ブラックホール問題に該当すると判定する。このとき、別の装置（ルータ２−１）から広告されている詳細経路（10.0.1.0/24）を広告用ＵＰＤＡＴＥ情報８１に掲載して更新し、経路広告部５２に転送する。
経路広告部５２は、経路計算部５５から転送された広告用ＵＰＤＡＴＥ情報８１をクライアントに広告する。
【００８１】
図１３（ａ）〜（ｃ）は、障害時かつ集約経路に含まれる詳細経路が利用不可であるパターン＃５を示す図である。
図１３（ａ）の１行目は各フィールド名を示し、２行目はルータ２−０（ルータ＃０）から受信したＵＰＤＡＴＥ情報８を示している。
ＵＰＤＡＴＥ情報８の２行目は、ルータ２−０からネットワークＡ（３ａ）の詳細経路（10.0.1.0/24）の利用不可を受信したことを示している。パス属性フィールド８ｃには、ＭＥＤ属性と、経路種別を示すCommunity属性とが格納されている。ＭＥＤ属性（10）は、ルータ２−０を介する利用不可の詳細経路が、現用系の優先度を持つことを示している。Community値（100:300）は、ＡＳ番号100においてポリシ値300が適用される経路であることを示し、よって集約経路（10.0.0.0/22）に属することを示している。
【００８２】
図１３（ｂ）は、図１３（ａ）のＵＰＤＡＴＥ情報８によって更新されたＢＧＰテーブル５４を示している。ＢＧＰテーブル５４には、経路管理部５３により図１３（ａ）で示したＵＰＤＡＴＥ情報８が反映され、対応する行（レコード）のが削除される。
【００８３】
図１３（ｃ）は、図１３（ａ）のＵＰＤＡＴＥ情報８に基づいて更新された集約経路マッピングテーブル５６を示している。集約経路マッピングテーブル５６において、詳細経路（10.0.1.0/24）に係るレコードのWithdrawnフラグ欄５６ｇに１が設定される。これにより、この詳細経路が削除されたことを示すことができる。
図１３（ｄ）は、広告用ＵＰＤＡＴＥ情報８１を示している。経路計算部５５は、作成した集約経路マッピングテーブル５６（図１４（ｃ）参照）に基づき、Withdrawnフラグ欄５６ｇが１に設定された詳細経路よりも優先度の低い予備系の詳細経路を掲載した広告用ＵＰＤＡＴＥ情報８１を作成し、経路広告部５２に転送する。経路広告部５２は、経路計算部５５から転送された広告用ＵＰＤＡＴＥ情報８１をクライアントに広告する。
【００８４】
＜パターン＃６＞
障害発生により、ルータ２−０で集約経路に含まれない詳細経路（192.168.1.0/24）が利用不可となった場合の本実施形態のルートリフレクタ５の内部動作については、前記したパターン＃３と同様となるため、記載を省略する。
【００８５】
＜パターン＃７＞
障害発生後にその障害が回復し、集約経路（10.0.0.0/22）がルータ２−０で利用可となった際の本実施形態のルートリフレクタ５の内部動作については、前記したパターン＃１と同様になるため、記載を省略する。
【００８６】
＜パターン＃８＞
図１３で示す障害時の状態の後に、その障害が回復し、ルータ２−０で集約経路（10.0.0.0/22）に含まれる詳細経路（10.0.1.0/24）が利用可となった際のルートリフレクタ５の内部動作について、以下に示す。
経路受信部５１は、各ルータ２から受信したＵＰＤＡＴＥ情報８を経路管理部５３と経路計算部５５とに転送する。経路管理部５３は、経路受信部５１から転送されたＵＰＤＡＴＥ情報８をＢＧＰテーブル５４に反映する。
【００８７】
経路計算部５５は、ＵＰＤＡＴＥ情報８で利用不可（Withdrawn）となった経路（10.0.1.0/24）を元に集約経路マッピングテーブル５６を探索し、利用可能となった経路（10.0.1.0/24）について集約経路マッピングテーブル５６にて利用不可フラグが付与されている場合にブラックホール問題が解消したと判定し、この利用不可フラグを削除する。更に別の装置（ルータ２−１）から広告されている詳細経路（10.0.1.0/24）を、広告用ＵＰＤＡＴＥ情報８１のWithdrawnフィールド８１ｂに掲載して更新し、経路広告部５２に転送する。
経路広告部５２は、経路計算部５５から転送された広告用ＵＰＤＡＴＥ情報８１をクライアントに広告する。
【００８８】
図１４（ａ）〜（ｄ）は、障害回復時かつ集約経路に含まれる詳細経路が利用可であるパターン＃８を示す図である。
図１４（ａ）の１行目は各フィールド名を示し、２行目はルータ２−０（ルータ＃０）から受信したＵＰＤＡＴＥ情報８を示している。
ＵＰＤＡＴＥ情報８の２行目は、ルータ２−０からネットワークＡ（３ａ）の詳細経路（10.0.1.0/24）の利用可を受信したことを示している。パス属性フィールド８ｃには、ＭＥＤ属性と、経路種別を示すCommunity属性とが格納されている。ＭＥＤ属性（10）は、ルータ２−０を介する利用不可の詳細経路が、現用系の優先度を持つことを示している。Community値（100:300）は、ＡＳ番号100においてポリシ値300が適用される経路であることを示し、よって集約経路（10.0.0.0/22）に属することを示している。
【００８９】
図１４（ｂ）は、図１４（ａ）のＵＰＤＡＴＥ情報８によって更新されたＢＧＰテーブル５４を示している。ＢＧＰテーブル５４には、経路管理部５３により図１４（ａ）で示したＵＰＤＡＴＥ情報８が反映され、対応する行（レコード）が追加される。
【００９０】
図１４（ｃ）は、図１４（ａ）のＵＰＤＡＴＥ情報８に基づいて更新された集約経路マッピングテーブル５６を示している。集約経路マッピングテーブル５６には、詳細経路（10.0.1.0/24）に係るレコードのWithdrawnフラグ欄５６ｇが空白に設定される。これにより、この詳細経路（10.0.1.0/24）が追加されたことを示すことができる。
【００９１】
図１４（ｄ）は、広告用ＵＰＤＡＴＥ情報８１を示している。経路計算部５５は、作成した集約経路マッピングテーブル５６（図１４（ｃ）参照）に基づき、Withdrawnフラグ欄５６ｇが空白に設定された詳細経路を掲載した広告用ＵＰＤＡＴＥ情報８１を作成し、経路広告部５２に転送する。経路広告部５２は、経路計算部５５から転送された広告用ＵＰＤＡＴＥ情報８１をクライアントに広告する。
【００９２】
＜パターン＃９＞
障害発生後に障害が回復し、ルータ２−０で集約経路に含まれない詳細経路（192.168.1.0/24）が利用可となった場合の本実施形態のルートリフレクタ５の内部動作については、＜パターン＃３＞と同様となるため、記載を省略する。
【００９３】
図１５は、登録、障害発生から回復までを示すシーケンス図である。
シーケンスＱ１０〜Ｑ１３は、ネットワークの登録を示すシーケンスである。ネットワークＡ（３ａ）が接続されると、大規模ネットワーク１は、シーケンスＱ１０，Ｑ１１の何れかを実行する。
シーケンスＱ１０において、第１のｉＢＧＰピアであるルータ２−０（ルータ＃０）は、詳細経路（10.0.1.0/24）と集約経路（10.0.0.0/22）の利用可をルートリフレクタ５に広告する。
【００９４】
シーケンスＱ１１において、第２のｉＢＧＰピアであるルータ２−１（ルータ＃１）は、詳細経路（10.0.1.0/24）と集約経路（10.0.0.0/22）の利用可をルートリフレクタ５に広告する。このとき、ルータ２−０は現用系であり優先度が高い。ルータ２−１は予備系であり優先度が低い。
シーケンスＱ１２において、ルートリフレクタ５は、ルータ２−０を送信元とする集約経路（10.0.0.0/22）の利用可をルータ２−２，２−３に広告する。
シーケンスＱ１３において、ルータ２−０，２−１は、ネットワークＡ（３ａ）のフローを、ルータ＃０（ルータ２−０）経由に設定する。
【００９５】
シーケンスＱ２０〜Ｑ２３は、ネットワークの障害発生を示すシーケンスである。
シーケンスＱ２０において、ルータ２−０（ルータ＃０）は、詳細経路（10.0.1.0/24）の障害を検知し、シーケンスＱ２１にてルートリフレクタ５に詳細経路（10.0.1.0/24）の利用不可を広告する。
シーケンスＱ２２において、ルートリフレクタ５は、ルータ２−１を送信元とする代替の詳細経路（10.0.1.0/24）の利用可をルータ２−２，２−３に広告する。
シーケンスＱ２３において、ルータ２−２，２−３は、ネットワークＡ（３ａ）のフローを、ルータ＃１（ルータ２−１）経由である代替の詳細経路（10.0.1.0/24）に設定する。
【００９６】
シーケンスＱ３０〜Ｑ３３は、ネットワークの障害からの回復を示すシーケンスである。
シーケンスＱ３０において、ルータ２−０（ルータ＃０）は、詳細経路（10.0.1.0/24）の障害からの回復を検知し、シーケンスＱ３１にてルートリフレクタ５に詳細経路（10.0.1.0/24）の利用可を広告する。
シーケンスＱ３２において、ルートリフレクタ５は、ルータ２−１を送信元とする代替の詳細経路（10.0.1.0/24）の利用不可をルータ２−２，２−３に広告する。
シーケンスＱ３３において、ルータ２−２，２−３は、ネットワークＡ（３ａ）のフローを、ルータ＃０（ルータ２−０）経由である代替の詳細経路（10.0.1.0/24）に設定する。
【００９７】
図１６と図１７とは、ルートリフレクタ５の広告処理を示すフローチャートである。
いずれかのルータ２がルートリフレクタ５にＵＰＤＡＴＥ情報を送信したならば、図１６のステップＳ１０の処理が開始する。
ステップＳ１０において、経路受信部５１は、ＵＰＤＡＴＥ情報８を受信する。経路受信部５１は、このＵＰＤＡＴＥ情報８を経路管理部５３と経路計算部５５に転送する。
ステップＳ１０において、経路管理部５３は、このＵＰＤＡＴＥ情報８が利用可能経路に係るものであるか否かを判断し、当該判断条件が成立したならば（Ｙｅｓ）、ステップＳ１２にてＢＧＰテーブル５４に経路情報を追加する。経路管理部５３は、当該判断条件が成立しなかったならば（Ｎｏ）、図１７のステップＳ３０に進む。以下に示すステップＳ１３〜Ｓ２０の処理は、利用可能経路の更新に係るものである。
【００９８】
ステップＳ１３において、経路計算部５５は、経路の種別を判断して、集約経路ならばステップＳ１４に進み、集約経路に属さない詳細経路ならばステップＳ１６に進み、集約経路に属する詳細経路ならばステップＳ１７に進む。
集約経路と判断した場合、経路計算部５５は、ステップＳ１４にて、この経路を集約経路マッピングテーブル５６に集約経路として追加する。ステップＳ１５において、経路広告部５２は、集約経路に限定したＵＰＤＡＴＥ情報を広告し、図１６と図１７の処理を終了する。
集約経路に属さない詳細経路と判断した場合、経路計算部５５はＵＰＤＡＴＥ情報８を広告用ＵＰＤＡＴＥ情報８１とし、ステップＳ１６において、経路広告部５２は、ＵＰＤＡＴＥ情報８と同一である広告用ＵＰＤＡＴＥ情報８１を広告する。
【００９９】
集約経路に属する詳細経路と判断した場合、ステップＳ１７にて経路計算部５５は、この詳細経路に係る集約経路マッピングテーブル５６のWithdrawnフラグ欄５６ｇに１が設定されているか否かを判断する。経路計算部５５は、当該判断条件が成立しないならば（Ｎｏ）、ステップＳ１８において、この経路を詳細経路として集約経路マッピングテーブル５６に追加し、図１６と図１７の処理を終了する。
経路計算部５５は、ステップＳ１７の判断条件が成立したならば（Ｙｅｓ）、ステップＳ１９に進み、集約経路マッピングテーブル５６のWithdrawnフラグ欄５６ｇを０または空白に設定する。ステップＳ２０にて、経路広告部５２は、予備系ルータを介した代替の詳細経路の利用不可を広告し、図１６と図１７の処理を終了する。
【０１００】
図１７は、ルートリフレクタ５の広告処理（その２）を示すフローチャートである。以下に示すステップＳ３０〜Ｓ３７の処理は、利用不可の経路の更新に係るものである。
ステップＳ３０において、経路管理部５３は、ＢＧＰテーブル５４からこの経路情報を削除する。
ステップＳ３１において、経路計算部５５は、経路の種別を判断して、集約経路ならばステップＳ３２に進み、集約経路に属さない詳細経路ならばステップＳ３３に進み、集約経路に属する詳細経路ならばステップＳ３４に進む。
【０１０１】
ステップＳ３１にて集約経路と判断した場合、経路計算部５５は、ステップＳ３２にて、この経路を集約経路マッピングテーブル５６から削除して、ＵＰＤＡＴＥ情報８を広告用ＵＰＤＡＴＥ情報８１とする。ステップＳ３３にて経路広告部５２が、この広告用ＵＰＤＡＴＥ情報を広告し、図１６と図１７の処理を終了する。
ステップＳ３１にて集約経路に属さない詳細経路と判断した場合、経路計算部５５は、ＵＰＤＡＴＥ情報８を広告用ＵＰＤＡＴＥ情報８１とし、ステップＳ３３にて経路広告部５２が、この広告用ＵＰＤＡＴＥ情報を広告し、図１６と図１７の処理を終了する。
ステップＳ３１にて集約経路に属する詳細経路と判断した場合、経路計算部５５は、ステップＳ３４にてこの詳細経路に他のルータ２を介した代替の詳細経路が有るか否かを判断する。経路計算部５５は、当該判断条件が成立しないならば（Ｎｏ）、図１６と図１７の処理を終了し、当該判断条件が成立したならば（Ｙｅｓ）、ステップＳ３５の処理に進む。
【０１０２】
ステップＳ３５において、経路計算部５５は、この経路の代替経路の優先度の方が低いか否かを判断し、当該判断条件が成立しなかったならば（Ｎｏ）、図１７の処理を終了する。当該判断条件が成立したならば（Ｙｅｓ）、経路計算部５５は、ステップＳ３６にて、この経路を集約経路マッピングテーブル５６に追加してWithdrawnフラグを１に設定する。更にステップＳ３７において、経路広告部５２が、予備系ルータ２が代替する詳細経路の利用可を広告し、図１７の処理を終了する。
【０１０３】
（１）  ルートリフレクタ５は、クライアントから受信した経路を、集約経路と、集約経路に含まれる詳細経路と、集約経路に含まれない詳細経路とに分類する。更に、集約経路と集約経路に含まれる詳細経路とのマッピングを実施し、新たに集約経路マッピングテーブル５６を作成・保持し、ルートリフレクタ５自身が広告する集約経路と集約に含まれない詳細経路とを抽出して広告する機能を有している。
【０１０４】
（２）  ルートリフレクタ５は、障害発生時にクライアントから送付されるＵＰＤＡＴＥ情報から、発生した障害がブラックホール問題に該当するか否かを判断し、広告が必要な経路情報を抽出して広告する機能を有している。
【０１０５】
（３）  ルートリフレクタ５は、障害回復時にクライアントから送付されるＵＰＤＡＴＥ情報から、ブラックホール問題が解消したかを判定し、ブラックホール問題に該当する障害発生時に広告した経路情報を、利用不可な経路情報として広告する機能を有している。
【０１０６】
（本実施形態の効果）
集約経路の広告と集約経路に含まれる詳細経路の経路広告を状況に応じてダイナミックに制御することにより、経路集約およびルートリフレクタ５を使用しつつ、特定の障害パターンにより発生するブラックホール問題を回避することが可能となる。
その結果、経路数の増大とｉＢＧＰピア数の増大を抑制することで、ルータ負荷の増大や経路数の増大が招くネットワーク品質の低下（ルータ処理能力の低下や経路数増加による障害時の切替時間の長期化等）や運用性の低下（経路数が多いことにより、切り分けが複雑化し、迅速な対応が困難となる等）を回避し、大規模ネットワークにおける最適な運用が可能となる。
【０１０７】
（変形例）
本実施の形態に係るルートリフレクタは、前記したような処理を実行させるプログラムによって実現することができ、そのプログラムをコンピュータによる読み取り可能な記録媒体（ＣＤ−ＲＯＭ等）に記憶して提供することが可能である。また、そのプログラムを、インターネット等のネットワークを通して提供することも可能である。
【符号の説明】
【０１０８】
１，１Ａ，１Ｂ  大規模ネットワーク
２，２−０〜２−３，２−１０〜２−４０  ルータ
２−０  ルータ  （第１のｉＢＧＰピア）
２−１  ルータ  （第２のｉＢＧＰピア）
３  ネットワーク
４  バックボーンネットワーク
４１  ルータ
５  ルートリフレクタ
５Ｂ  ルートリフレクタ
５１  経路受信部
５２  経路広告部
５３  経路管理部
５４  ＢＧＰテーブル
５５  経路計算部
５６  集約経路マッピングテーブル
５６ｇ  Withdrawnフラグ欄
８  ＵＰＤＡＴＥ情報
８１  広告用ＵＰＤＡＴＥ情報
９  障害
Ｒ０，Ｒａ〜Ｒｃ，Ｒｘ  詳細経路
Ｆａ〜Ｆｃ，ＦＡ  フロー
【図１】
0006307031.tif 000003
【図２】
0006307031.tif 000004
【図３】
0006307031.tif 000005
【図４】
0006307031.tif 000006
【図５】
0006307031.tif 000007
【図６】
0006307031.tif 000008
【図７】
0006307031.tif 000009
【図８】
0006307031.tif 000010
【図９】
0006307031.tif 000011
【図１０】
0006307031.tif 000012
【図１１】
0006307031.tif 000013
【図１２】
0006307031.tif 000014
【図１３】
0006307031.tif 000015
【図１４】
0006307031.tif 000016
【図１５】
0006307031.tif 000017
【図１６】
0006307031.tif 000018
【図１７】
0006307031.tif 000019