(57)【要約】【課題】スタブＡＳ側と上流ＡＳ側との間で、隣接ＡＳ間のみで適用可能な制御を含むポリシー経路制御を可能にする。【解決手段】自己のＡＳ番号の通知や、自己のＡＳ番号を含む属性情報の広告をスタブＡＳ側へ行う際に、自己のＡＳ番号を用いないか、もしくは代わりに上流ＡＳのＡＳ番号を用いる。加えて、一方のＡＳ側から受信した経路情報を他方のＡＳ側へ中継する際に、通常はＡＳを通過して中継されない属性情報を破棄せずに中継する。【選択図】図１
2005130228.tif 000002
【特許請求の範囲】
【請求項１】
所定のＡＳ（Autonomous System）番号が付与された一つ以上のスタブ網で構成されたスタブ網群と、ＡＳ番号が付与された上流網とを接続する通信装置であって、
該通信装置には、自己のＡＳ番号が付与され、
該自己のＡＳ番号を記憶する手段と、
前記スタブ網ないし上流網に配置された通信装置に対して、所定のプロトコルに従うＡＳ間転送制御用の経路制御メッセージおよび自己のＡＳ番号を通知する自ＡＳ番号通知メッセージを送受信するインターフェースと、
前記通信装置に対し、前記経路制御メッセージおよび前記自ＡＳ番号通知メッセージを前記インターフェースを介して通知する通知手段と、
前記経路制御メッセージの処理を行うためのプロセッサと、
前記経路制御を行なうための経路制御ソフトウェアが格納される記憶手段とを有し、
前記プロセッサは、スタブ網側に位置する通信装置に対して前記自ＡＳ番号通知メッセージを送信する際には、自己のＡＳ番号の代わりに前記上流網のＡＳ番号を通知し、
前記上流網側から送信された経路制御メッセージをスタブ網側へ中継する際には、パケット転送の優先経路に関する情報のうち、前記経路制御プロトコルの規定上はＡＳを通過して中継されない情報を破棄せずに、前記経路制御メッセージの処理を実行することを特徴とする通信装置。
【請求項２】
所定のＡＳ（Autonomous System）番号が付与された一つ以上のスタブ網で構成されたスタブ網群と、ＡＳ番号が付与された上流網とを接続する通信装置であって、
該通信装置には、自己のＡＳ番号が付与され、
該自己のＡＳ番号を記憶する手段と、
前記スタブ網ないし上流網に配置された通信装置に対して、所定のプロトコルに従うＡＳ間転送制御用の経路制御メッセージおよび自己のＡＳ番号を通知する自ＡＳ番号通知メッセージを送受信するインターフェースと、
前記通信装置に対し、前記経路制御メッセージおよび前記自ＡＳ番号通知メッセージを前記インターフェースを介して通知する通知手段と、
前記経路制御メッセージの処理を行うためのプロセッサと、
前記経路制御を行なうための経路制御ソフトウェアが格納される記憶手段とを有し、
前記プロセッサは、スタブ網側に位置する通信装置に対して前記自ＡＳ番号通知メッセージを送信する際には、自己のＡＳ番号の代わりに前記上流網のＡＳ番号を通知し、
スタブ網側から送信された経路制御メッセージを上流網側へ中継する際に、パケット転送の優先経路に関する情報のうち、前記経路制御プロトコルの規定上はＡＳを通過して中継されない情報を破棄せずに、前記経路制御メッセージの処理を実行することを特徴とする通信装置。
【請求項３】
請求項１または２に記載の通信装置において、
スタブ網へ送信する経路制御メッセージに含めないＡＳ番号の集合が格納される記憶手段を有し、
前記プロセッサは、上流網側から送信された経路制御メッセージをスタブ網側へ中継する際に、経路制御メッセージ内に格納されている、該経路制御メッセージが通過したＡＳの履歴情報に対して、該履歴情報に自己のＡＳ番号が含まれていても該経路制御メッセージを破棄せず、かつ前記ＡＳ番号の集合に属するＡＳ番号全てを該履歴情報から削除し、かつ自己のＡＳ番号を該履歴情報に追加せずに、前記経路制御メッセージの処理を実行することを特徴とする通信装置。
【請求項４】
請求項３に記載の通信装置において、
前記ＡＳ番号の集合として自己のＡＳ番号を用いて、前記経路制御メッセージの処理を実行することを特徴とする通信装置。
【請求項５】
請求項３に記載の通信装置において、
前記プロセッサは、スタブ網側から送信された経路制御メッセージを処理する際に、経路制御メッセージ内に格納されている、該経路制御メッセージが通過したＡＳの履歴情報に対して、該履歴情報に自己のＡＳ番号が含まれていても該経路制御メッセージを破棄せずに、前記経路制御メッセージの処理を実行することを特徴とする通信装置。
【請求項６】
請求項５に記載の通信装置において、
前記プロセッサは、スタブ網側から送信された経路制御メッセージを処理する際に、経路制御メッセージ内に格納されている、該経路制御メッセージが通過したＡＳの履歴情報に対して、該履歴情報に上流網のＡＳ番号が含まれていたら該経路制御メッセージを破棄して、前記経路制御メッセージの処理を実行することを特徴とする通信装置。
【請求項７】
請求項３に記載の通信装置において、
前記プロセッサは、スタブ網側から送信された経路制御メッセージを処理する際に、経路制御メッセージ内に格納されている、該経路制御メッセージが通過したＡＳの履歴情報に対して、前記ＡＳ番号の集合に属するＡＳ番号全てを該履歴情報から削除して、前記経路制御メッセージの処理を実行することを特徴とする通信装置。
【請求項８】
請求項３に記載の通信装置において、前記経路制御プロトコルとしてＢＧＰを用いることを特徴とする通信装置。
【請求項９】
請求項８に記載の通信装置において、前記経路制御プロトコルの規定上はＡＳを通過して中継されない、パケット転送の優先経路に関する情報として、ＭＥＤ（Multi Exit Discriminator）属性を用いることを特徴とする通信装置。
【請求項１０】
請求項３に記載の通信装置において、前記経路制御プロトコルとしてＢＧＰを用い、経路制御メッセージが通過したＡＳの履歴情報としてＡＳパス属性を用いることを特徴とする通信装置。
【請求項１１】
請求項１から１０のいずれかに記載の通信装置により実現される機能を仮想的な通信装置機能として備え、前記の仮想的な通信装置機能を１台の通信装置内で１つ以上動作させることを特徴とする通信装置。
【請求項１２】
所定のＡＳ番号が付与された一つ以上のスタブ網で構成されたスタブ網群と、前記ＡＳ番号のいずれとも異なるＡＳ番号が付与されたＡＳ番号が付与された上流網とを、第１のルータを介して接続した形態のネットワークにおいて用いられる、ＡＳ間経路制御プロトコルを用いた通信方法において、
前記第１のルータから、前記スタブ網内に置かれた第２のルータへ、前記上流網のＡＳ番号を自己のＡＳ番号として通知するメッセージを送信し、
前記第１のルータから、前記上流網内に置かれた第３のルータへ、前記上流網のＡＳ番号とも、前記スタブ網群のＡＳ番号のいずれとも異なる所定のＡＳ番号を、自己のＡＳ番号として通知するメッセージを送信し、
前記第３のルータから送信される経路制御メッセージを、前記第１のルータで受信し、
前記第１のルータで受信した経路制御メッセージに含まれる、パケット転送の優先経路に関する情報のうちで、経路制御プロトコルの規定上はＡＳを通過して中継されない情報を受信時のまま付加して、前記第２のルータへ中継することを特徴とする通信方法。
【請求項１３】
所定のＡＳ番号が付与された一つ以上のスタブ網で構成されたスタブ網群と、前記ＡＳ番号のいずれとも異なるＡＳ番号が付与された上流網とを、第１のルータを介して接続した形態のネットワークにおいて用いられる、ＡＳ間経路制御プロトコルに関する通信方法において、
前記第１のルータから、前記スタブ網内に置かれた第２のルータへ、前記上流網のＡＳ番号を自己のＡＳ番号として通知するメッセージを送信し、
前記第１のルータから、前記上流網内に置かれた第３のルータへ、前記上流網のＡＳ番号とも、前記スタブ網群のＡＳ番号のいずれとも異なる所定のＡＳ番号を、自己のＡＳ番号として通知するメッセージを送信し、
前記第２のルータから送信される経路制御メッセージを、前記第１のルータで受信し、
前記第１のルータで受信した経路制御メッセージに含まれる、パケット転送の優先経路に関する情報のうちで、経路制御プロトコルの規定上はＡＳを通過して中継されない情報を受信時のまま付加して、前記第３のルータへ中継することを特徴とする通信方法。
【請求項１４】
請求項１２または１３に記載の通信方法において、
前記第１のルータが前記第３のルータから受信した経路制御メッセージを前記第２のルータへ中継する際に、該経路制御メッセージ内に格納されている、該経路制御メッセージが通過したＡＳの履歴情報に、前記第３のルータへ自己のＡＳ番号として通知したＡＳ番号が含まれていても中継を行い、かつ、中継されたメッセージ内に格納されているＡＳの履歴情報には該ＡＳ番号を含まないことを特徴とする通信方法。
【請求項１５】
請求項１２または１３に記載の通信方法において、ＡＳ間経路制御プロトコルがＢＧＰであることを特徴とする通信方法。
【請求項１６】
請求項１５に記載の通信方法において、経路制御プロトコルの規定上はＡＳを通過して中継されない、パケット転送の優先経路に関する情報が、ＭＥＤ属性であることを特徴とする通信方法。
【請求項１７】
請求項１４に記載の通信方法において、ＡＳ間経路制御プロトコルがＢＧＰであり、経路制御メッセージが通過したＡＳの履歴情報がＡＳパス属性であることを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一つ以上のスタブＡＳと、トランジットＡＳもしくはスタブＡＳである一つの上流ＡＳとを、ルータを介して接続した構成の通信ネットワークにおいて、前記ルータとしてネットワーク内部に配置される通信装置およびその経路制御方法に関する。
【背景技術】
【０００２】
日本・韓国・欧米等を中心に、従来のダイアルアップ型インターネット接続に代わり、ＡＤＳＬ（Asymmetric Digital Subscriber Line）をはじめとする安価な常時接続高速回線（俗に言うブロードバンド回線）が個人向けに急速に普及しつつある。多くのＩＳＰ（Internet Service Provider）は、常時接続高速回線を用いたインターネット接続サービスを個人向けに提供している。また、家庭用の常時接続高速回線と共通のインフラを、企業の小規模拠点やＳＯＨＯ（Small Office/Home Office）企業向けのアクセス回線に適用する形で、ユーザにとって安価で導入が容易な企業向けアクセス回線を提供するＩＳＰやキャリアも現れ始めている。
【０００３】
旧来のダイアルアップ型接続では、ユーザ接続の認証や課金情報収集を行う通信装置であるＲＡＳ（Remote Access Server）がＩＳＰ網内に置かれていた。ＲＡＳとユーザとは、ＰＳＴＮ（Public Switched Telephone Networks）電話回線のみにより、またはＩＰレイヤのレベルで同等に見えるトンネリングプロトコルにより接続されていた。従って、ＩＳＰとユーザは、ネットワーク層に関して直結された状態であった。ここで、ネットワーク層とは、ＯＳＩ(Open System Interconnection）参照モデルにおけるレイヤ３のことで、例えば、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol)プロトコル体系の場合、ＩＰレイヤのことを意味する。
図４は、従来の企業向けアクセス回線による、ユーザ網とＩＳＰ網との間のネットワーク構成、および、その構成での従来のＢＧＰ経路制御方法を表す図である。
【０００４】
従来の専用線、ＡＴＭ回線、フレームリレー回線といった企業向け回線は、ネットワーク層、すなわちＩＰレイヤからは直結した回線とみなすことができた。このため、これらの回線によって、企業ユーザ網１０１とＩＳＰ網１０３とを接続した場合、ユーザ網１０１とＩＳＰ網１０３は直結回線で結ばれた隣接ＡＳとなるので、一方のＡＳから他方のＡＳへ、通常のＢＧＰルータ同士で、通常のＥＢＧＰピア接続を設けることができた。そして、そのピア接続の上で、ＭＥＤ属性のように隣接ＡＳのみで利用可能な属性情報を含む、様々な属性情報を用いたポリシー経路制御を難なく行うことができた。
【０００５】
しかし、ＡＤＳＬやＦＴＴＨ（Fiber To The Home）といった常時接続高速回線では、回線のバンド幅がダイアルアップ型接続に比べて格段に大きいのに加え、ＡＤＳＬでは狭い地域に多数存在する回線局舎それぞれにＤＳＬＡＭ（Digital Subscriber Line Access Multiplexer）と呼ばれるユーザ回線集線装置を置く必要がある。このため、日本国内では一部の例外を除いて、ユーザ回線を収容するアクセス回線業者と、ユーザへインターネット接続サービスを提供するＩＳＰは別業者となっており、アクセス回線業者は複数のＩＳＰにＡＤＳＬやＦＴＴＨのアクセス回線を提供している。アクセス回線業者は、ユーザ回線集線装置を通して接続された複数のユーザ回線をＢＡＳ（Broadband Access Server）と呼ばれる一種のルータへ接続し、そこでＩＳＰに代わってユーザ認証とトラフィック集約を行い、そのトラフィックを各ＩＳＰへ転送する形をとっている。ユーザ認証やバンド幅利用の効率化のためである。
【０００６】
一方、ネットワーク内でどういう経路でパケットを送受信するかを、そのネットワークの管理者の意思に従って制御することを、ポリシー経路制御と呼ぶ。ポリシー経路制御の例としては、「どのＩＳＰから通信パケットを受け取りたいか」「どの回線に通信パケットを送信するか」といった制御が挙げられる。同一のポリシー下で管理される範囲のネットワークをＡＳ（Autonomous System）と呼ぶ。ＡＳには、割当機関からＡＳ番号の割り当てを受けたグローバルＡＳと、管理するネットワーク内で独自に割り当て可能なプライベートＡＳとがある。異なるＡＳ間で経路制御を行うための経路制御プロトコルは、ＥＧＰ（Exterior Gateway Protocol）と呼ばれる。ＥＧＰのうち広く実施されているプロトコルに、ＢＧＰ（Border Gateway Protocol）がある。ＢＧＰにおいては、経路情報が通過してきたルータが、自動的にもしくは管理者の設定に基づいて様々な属性情報をその経路情報に付加して隣接ＡＳに広告する。これにより、異なるポリシーのＡＳ間をまたいで、統一的にポリシー経路制御を実現することができる。
【０００７】
ＡＳは、他のＡＳとの間のパケット転送の形態により、トランジットＡＳとスタブＡＳに分けることができる。スタブＡＳは、自ＡＳが送信元のパケットの送信と、自ＡＳが宛先のパケットの受信のみを、隣接ＡＳとの間で行い、他ＡＳ宛のパケットを隣接ＡＳから受信しない。一方、トランジットＡＳは、自ＡＳに関連するパケットの送受信を行うだけでなく、ある隣接ＡＳから届いた他ＡＳ宛パケットを、自ＡＳを経由して、別の隣接ＡＳへ中継する。トランジットＡＳの代表例としてはＩＳＰ網、スタブＡＳの代表例としては一般企業網（もしくはその各拠点サイト）を挙げることができる。
【０００８】
ＢＧＰは、トランジットＡＳ同士の間の経路制御では、実質的標準のＡＳ間経路制御プロトコルとして広く用いられている。一方、トランジットＡＳとスタブＡＳ、もしくはスタブＡＳとスタブＡＳとの間の経路制御では、両ＡＳ間のネットワーク構成によっては経路制御にＢＧＰを用いない場合もある。例えば、普通の個人ユーザがＩＳＰに接続する形態のように、単一のトランジットＡＳと単一の回線で接続されているスタブＡＳは、経路制御にＢＧＰを用いないのが一般的である。その一方で、トランジットＡＳと複数の回線で接続するマルチホーム接続や、ＩＳＰ網を通して複数サイト間の仮想的な専用回線を設ける技術の一つであるＩＰ−ＶＰＮ（Virtual Private Network）を適用する場合、スタブＡＳに置かれるエッジルータと、トランジットＡＳのエッジルータとの間で、ＢＧＰによる経路制御を行うのが一般的である。
【０００９】
ＢＧＰでは、経路情報の直接の交換相手となるルータ同士でＴＣＰによる仮想的な接続を予め設け、そのＴＣＰ接続上で経路情報を交換する。このＴＣＰ接続をピア接続と呼び、ピア接続を行うルータ同士の一方の視点から見た、他方のルータをピアルータと呼ぶ。ピア接続には、ルータが互いに異なるＡＳに属するＡＳ間ピア接続であるＥＢＧＰ（External BGP）接続と、互いに同じＡＳに属するＡＳ内ピア接続であるＩＢＧＰ（Internal BGP）接続の２種類がある。ＥＢＧＰ接続は、異なるＡＳ間で経路情報の交換を行うために用いられ、ＩＢＧＰ接続は、ＥＢＧＰ接続によって得られた経路情報をＡＳ内の全ＢＧＰルータで共有するために用いられる。いずれの形態のピア接続で得られた経路情報も、ＡＳ間のポリシー経路制御に用いられ、ＡＳ内の経路制御には通常は用いられない。
【００１０】
ルータ間にＥＢＧＰ接続を設けるには、ピアルータ同士がＩＰレイヤのレベルで直結していなければならない。これは、ＡＳ間接続のＩＰ経路制御は通常ＢＧＰのみによって行われるので、ＥＢＧＰ接続前の時点でルータは直結経路以外のＡＳ外経路を知り得ないためである。ＩＰレイヤにおけるピアルータへの到達経路が分からなければ、当然ながら、ＩＰの一つ上のレイヤで動作するＴＣＰの接続をピアルータとの間で行うことも不可能であり、ピア接続も行えないという結論になる。一方、ＩＢＧＰ接続については、ピアルータ同士がＩＰレイヤのレベルで直結していなくとも良い。これは、ＡＳ内ではＢＧＰと並行して、ＩＧＰ（Interior Gateway Protocol）と呼ばれる、ＡＳ内で経路制御を行うための経路制御プロトコルが別途動作するのが一般的であり、このＩＧＰによって直結経路以外のＡＳ内経路を知ることができるためである。
【００１１】
ＥＢＧＰ接続を行うピアルータ同士は、ＩＰレイヤのレベルで直結していれば良く、必ずしもレイヤ２以下のレベルで直結していなくとも良い。すなわち、ピアルータ同士はＭＰＬＳ（Multi Protocol Label Switching）、ＰＰＰ（Point to Point Protocol）、Ｌ２ＴＰ（Layer 2 Tunneling Protocol）等の、ＩＰレイヤに関して透過的なトンネリングプロトコルで接続されていても構わない。例えば、特開２００２−３６８７８８号公報には、複数のＡＳがＭＰＬＳ網によって相互に接続されている状況で、各々のＡＳに属するルータ同士がＥＢＧＰ接続によりポリシー経路制御を行う場合に、ＢＧＰの属性情報に対応するＭＰＬＳのラベルを受信パケットに付加し、ＭＰＬＳ網を介して他のＡＳに転送することにより、ＭＰＬＳ網内のパケット転送にＢＧＰのポリシー経路制御を反映させる技術が開示されている。
【００１２】
【特許文献１】特開２００２−３６８７８８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
専用線やＡＴＭ、フレームリレー等による企業向け回線を用いたＡＳ間接続では、両ＡＳをつなぐ回線の途中、例えば企業網のエッジルータとＩＳＰのエッジルータの間はネットワーク層のレベルで直結していた。従って、これらのＡＳ、例えば企業網のＡＳとＩＳＰの属するＡＳとは完全に隣接したＡＳとして運用でき、互いにＥＢＧＰ接続の上でＢＧＰ経路広告を行うことが可能であった。すなわち、隣接ＡＳ間のみで適用可能なポリシーも含む全てのポリシー経路制御が適用可能であった。また、旧来のダイアルアップ型接続においても、ＲＡＳはＩＳＰに置かれていたため、ユーザとＩＳＰ間はネットワーク層のレベルで直結していた。従って、実用上行う意味があるかどうかは別として、ＲＡＳがＢＧＰルータの機能を備えてさえいれば、ダイアルアップユーザにＩＳＰと別のＡＳ番号を割り当て、ユーザとＩＳＰとの間でＥＢＧＰ接続を行うことも可能であった。
しかし、ＡＤＳＬやＦＴＴＨ等のネットワーク構築においては、ユーザとＩＳＰ網とがネットワーク層のレベルで直結していない構造のネットワークが構築される場合が多い。ＢＡＳを所有するアクセス回線業者とＩＳＰ業者では、事業者が異なる場合が多いためである。このような状況で、アクセス回線業者のＢＡＳとＩＳＰ網との間でＢＧＰ経路制御を行う場合は、ＢＡＳとＩＳＰ網それぞれに異なるＡＳ番号を割り当てるのが一般的である。異なるＡＳ番号を割り当てることにより、アクセス回線業者とＩＳＰ網との間で経路制御に関する管理の独立性を維持できるのに加え、ＢＡＳとＩＳＰ網との間はＥＢＧＰ接続になるので、ここでポリシー経路制御を行うこともできる。
ここで、ＡＤＳＬやＦＴＴＨ等のユーザが、自らのユーザ網とＩＳＰ網との間でＢＧＰによる経路制御を行いたい場合を考える。このような運用形態は、ユーザが個人や家庭ではなく、小規模企業や企業の各地拠点といった企業ユーザ網である場合には、十分考えられることである。
【００１４】
この場合、ユーザはＩＳＰとの間でＢＧＰを用いてポリシー経路制御を行いたいわけであるから、当然ながらユーザ網にはＩＳＰ網と異なるＡＳ番号が割り当てられる。加えて、ユーザ網のエッジルータとＩＳＰ網側のエッジルータとの間にはＢＡＳ、すなわちルータが配置されているので、ユーザ網とＩＳＰ網との間で通常のＥＢＧＰ接続を直接設けることはできない。従って、従来のネットワーク構造のままのＡＤＳＬやＦＴＴＨの上で、通常のＥＢＧＰ接続を用いてユーザとＩＳＰとの間でＢＧＰによるポリシー経路制御を行うためには、ユーザ網とＢＡＳとＩＳＰ網それぞれに異なるＡＳ番号を割り当て、ユーザ網とＢＡＳ、ＢＡＳとＩＳＰ網それぞれの間でＥＢＧＰ接続を設けざるを得ない。しかし、このネットワーク構成では、ＡＳを通過しない属性情報がユーザ網とＩＳＰ網との間で伝わらないため、ポリシー経路制御のうち、隣接ＡＳ間のみで適用可能なものが適用不可能となる。
【００１５】
一方、ネットワーク層のレベルで隣接していないルータ間でＥＢＧＰ接続を行う機能であるＥＢＧＰマルチホップ接続機能を用いて、ユーザ網のエッジルータとＩＳＰ網のエッジルータとの間で直接ＥＢＧＰマルチホップ接続を設けることにより、ユーザ網とＩＳＰ網との間のポリシー経路制御を実現することも可能である。しかしながら、ＥＢＧＰマルチホップ接続は、
１）ユーザ網のエッジルータとＩＳＰ網側のエッジルータとの双方に、互いのルータへの経路を静的に設定するなどの、付加的な設定が必要であること、
２）ＩＳＰ網側エッジルータの冗長配置やＩＰアドレス変更等、ＢＡＳとＩＳＰ網との間のネットワーク構成を変更すると、その影響がユーザ網のエッジルータの設定に及ぶ場合が多いため、ＩＳＰ側でＢＡＳとＩＳＰ網間の通信経路の設定変更がしにくく、一度ＢＡＳとＩＳＰ網間のネットワーク構成を変更するとユーザ網側のエッジルータも設定を変更しなければならないこと、
３）ＩＳＰ網側、ユーザ網側双方のエッジルータは、ＢＡＳ経由で受信したＢＧＰパケットの送信元ＩＰアドレスが詐称されたものかどうか判別できないため、送信元ＩＰアドレスを詐称したピア接続要求によるＤｏＳ（Denial of Service）攻撃等の標的となる恐れがあること、
等といった、ネットワークの管理・運営の煩雑さやセキュリティに関する問題がある。
【００１６】
本発明は、ユーザ網とＩＳＰ網とをＢＡＳを介して接続した構成を典型とする、一つ以上のスタブＡＳと、トランジットＡＳもしくはスタブＡＳである一つの上流ＡＳとを、ルータとして動作する通信装置を介して接続した構成の通信ネットワークにおいて、スタブＡＳ側と上流ＡＳ側との間で、ＥＢＧＰマルチホップ接続を用いずに、隣接ＡＳ間のみで適用可能な制御を含むポリシー経路制御が可能な前記通信装置、およびその経路制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明においては、通信装置において実行されるネットワーク層レベルの経路制御プロトコル処理が、スタブＡＳ側に対してはその通信装置があたかも上流ＡＳに属しているかのように動作することにより、通信装置が属するＡＳをスタブＡＳ側から見て透明にし、前述の課題を解決する。このため、前記通信装置は、経路制御プロトコル処理によって行われる、自己のＡＳ番号の通知や、自己のＡＳ番号を含む属性情報の広告をスタブＡＳ側のピアルータに対して行う際に、自己のＡＳ番号を用いないか、もしくは代わりに上流ＡＳのＡＳ番号を用いる。加えて、一方のＡＳのピアルータから受信した経路情報を他方のＡＳのピアルータへ中継する際に、通常はＡＳを通過して中継されない属性情報を破棄せずに中継する。
以下、本発明を適用したＢＡＳを通してユーザ網とＩＳＰ網を接続した例を用いて、発明の概要を説明する。ＢＡＳは、ＥＢＧＰピアルータであるユーザ網エッジルータから、属性情報が付加された経路情報を受信したら、通常のＢＧＰルータと同様に、その経路情報をＢＡＳ自身の経路表の構築に用いた上で、その経路情報をもう一方のＥＢＧＰピアルータであるＩＳＰ網エッジルータへ中継する。ただしこの際、通常のルータの場合は、ＡＳを超えて伝播しない属性（ＭＥＤ属性等）をそのルータ自身で解釈し、ＩＳＰ網エッジルータへ経路情報を中継する際にはその属性を付加しないが、本実施例のＢＡＳでは、これらの属性をそのままＩＳＰ網エッジルータへ中継する。他の、ＡＳを超えて伝播する属性（ＡＳパス属性、ネクストホップ属性等）については、通常のルータと同様に処理する。
【００１８】
また、本発明のＢＡＳは、ＩＳＰ網エッジルータから属性情報が付加された経路情報を受信したら、通常のＢＧＰルータと同様に、その経路情報をＢＡＳ自身の経路表の構築に用いた上で、その経路情報をユーザ網エッジルータへ中継する。この際、本実施例のＢＡＳは、通常のルータと同様に、ＡＳを超えて伝播しない属性（ＭＥＤ属性等）も含めて属性情報を自身で解釈するが、ユーザ網エッジルータへ経路情報を中継する際には、本来はＡＳを超えて伝播しない属性のうちの幾つかをそのまま経路情報に付加する。ＡＳパス属性（経路情報が通過してきたＡＳが、最近通過した順に記録されている属性）については、ＡＳパスにＢＡＳ自身のＡＳ番号が含まれていても経路情報を破棄せず、ＡＳパス全体からそのＡＳ番号（もしくは予めＢＡＳに設定されているＡＳ番号の集合に含まれるＡＳ番号）を全て取り除き、そのＡＳパスの先頭にＢＡＳ自身のＡＳ番号を付加せずに、加工後のＡＳパス属性を経路情報に付加する。他のＡＳを超えて伝播する属性についても、ＢＡＳ自身のＡＳ番号を含める代わりにＩＳＰ網のＡＳ番号を含める。以上の処理によって生成した属性情報付き経路情報を、ユーザ網のエッジルータへ中継する。
【００１９】
加えて、ＢＧＰのピア接続では接続確立時に自ルータのＡＳ番号をピアルータへ通知するが、このときＢＡＳは、ユーザ網エッジルータに対してはＩＳＰ網のＡＳ番号を通知する。これは、ＭＥＤ属性のように、通常は同じ隣接ＡＳから広告された経路情報同士でしか比較されない属性を有効に働かせるため、および、ユーザサイト側にプライベートＡＳ番号を見せることによって、ユーザサイト側のルータの設定が複雑になることや、ユーザサイト側で経路制御に混乱が起きることを避けるためである。なお、ＩＳＰ網エッジルータに対しては、ＢＡＳは自ＡＳ番号を通知する。
【発明の効果】
【００２０】
このように、本実施例のＢＡＳを挟んで、ユーザ網のエッジルータとＢＡＳとの間、およびＢＡＳとＩＳＰ網エッジルータの間の双方で本発明による方式のＢＧＰ経路制御を行うことにより、ユーザ網ともＩＳＰ網とも異なる独立したＡＳ番号を持つＢＡＳを挟んでいるにもかかわらず、ＩＳＰ網とＢＡＳとの間、ＩＳＰ網とユーザ網との間の両方の区間で、本来は直接隣接したＡＳ間でしか交換できないＭＥＤ属性等の属性情報を用いたポリシー経路制御が可能となる。しかも、この際、ユーザ網エッジルータ、ＩＳＰ網エッジルータの双方には特別な機能や設定は必要なく、通常のＢＧＰルータを通常のＢＧＰ設定で用いればよい。特に、ユーザ網のエッジルータに関しては、ＢＡＳを挟まずにＩＳＰ網と直結された場合と同様の機能や設定で、ほぼ同等のポリシー経路制御が可能になる。
なお、本発明は、ＢＡＳが利用されるネットワーク構成を典型的な実施例として想定しているものの、本発明を実施するＩＰルータに必要な機能は、通常のＢＧＰプロトコルを用いた経路制御機能と、本発明によるＢＧＰ処理部への追加機能のみである。このため、本発明はＢＡＳに限らず、本実施例のＢＡＳと同様のネットワーク構成で用いられるＢＧＰ対応ＩＰルータ全てに適用可能である。
【発明を実施するための最良の形態】
【００２１】
以下、図面を用いて本発明の実施例について説明する。
【実施例１】
【００２２】
図１は、実施例１のネットワーク構成、および、本発明のＢＧＰ経路制御方法を表す図である。
本実施例では、本実施例のＢＡＳ１１−Ａ、１１−Ｂ、１１−Ｃ、１１−Ｄ、１１−Ｅは、図１に示した通り、幾つかの回線インターフェースから、通信回線（またはネットワーク層で同等に見えるトンネリング回線）を通して、ＩＳＰ網エッジルータ１１２−Ａ、１１２−Ｂ、１１２−Ｃに接続されている。また、ＢＡＳ１１−Ａ、１１−Ｂ、１１−Ｃ、１１−Ｄ、１１−Ｅは、図１に示したとおり、他の幾つかの回線インターフェースから、通信回線（またはネットワーク層で同等に見えるトンネリング回線）を通して、ユーザ網エッジルータ１１１−Ａ、１１１−Ｂ、１１１−Ｃ、１１１−Ｄ、１１１−Ｅに接続されている。
【００２３】
なお、本発明を実施するに当たって、これらの通信回線の接続形態は、本実施例の図に示した通りでなくとも良く、ＢＡＳがＩＳＰ網と（単一または複数の）ユーザ網との間に入る形で回線が接続されていれば良い。ただし、１台のＢＡＳが複数のＩＳＰ網エッジルータと接続されている場合、それらのＩＳＰ網エッジルータは必ず全て同じＡＳに属することとする。すなわち、１台のＢＡＳが接続されるＩＳＰ網側のＡＳは単一であるとする。一般的には、ルータが属するＡＳが同じであれば、それらのルータが属するＩＳＰも同じであるので、１台のＢＡＳは単一のＩＳＰ網と接続されることになる。本実施例では、ＩＳＰ網１  １０３−Ａ、ＩＳＰ網２  １０３−Ｂはいずれも、ＩＳＰのネットワーク境界と一致するようにＡＳ境界を設けていることとする。そして、ＢＡＳ１１−Ａ、１１−Ｂ、１１−Ｃは、ＩＳＰ側についてＩＳＰ網１  １０３−Ａのみと接続し、同様にＢＡＳ１１−Ｄ、１１−Ｅは、ＩＳＰ網２  １０３−Ｂのみと接続していることとする。
【００２４】
ＢＡＳ１１−Ａ、１１−Ｂ、１１−Ｃ、１１−Ｄ、１１−Ｅは、これらの接続回線を通して、ユーザ網１０１−Ａ、１０１−Ｂ、１０１−Ｃ、１０１−Ｄと、ＩＳＰ網  １０３−Ａ、１０３−Ｂとの間でＩＰパケットトラフィックを中継する。すなわち、ＩＳＰ網からユーザ網へ向かうパケットについては、ＩＳＰ網エッジルータ１１２−Ａ、１１２−Ｂ、１１２−ＣのネクストホップはＢＡＳ１１−Ａ、１１−Ｂ、１１−Ｃ、１１−Ｄ、１１−Ｅのいずれかとなり、ＢＡＳのネクストホップはユーザ網エッジルータ１１１−Ａ、１１１−Ｂ、１１１−Ｃ、１１１−Ｄ、１１１−Ｅのいずれかとなる。逆に、ユーザ網からＩＳＰ網へ向かうパケットについては、ユーザ網エッジルータ１１１−Ａ、１１１−Ｂ、１１１−Ｃ、１１１−Ｄ、１１１−ＥのネクストホップはＢＡＳ１１−Ａ、１１−Ｂ、１１−Ｃ、１１−Ｄ、１１−Ｅのいずれかとなり、ＢＡＳのネクストホップはＩＳＰ網エッジルータ１１２−Ａ、１１２−Ｂ、１１２−Ｃのいずれかとなる。なお、ネクストホップとは、あるルータが、あるＩＰアドレスを宛先として持つＩＰパケットをその宛先へ届けようとするときの、そのパケットの転送先ルータのことである。このネクストホップは、各ルータが、他のルータと交換して動的に得た経路情報や、そのルータ自身に静的に設定された経路情報を元に決定する。
【００２５】
ただし、通常のＩＰルータと異なり、ＢＡＳ１１−Ａ、１１−Ｂ、１１−Ｃ、１１−Ｄ、１１−Ｅは、ユーザ網１０１−Ａ、１０１−Ｂ、１０１−Ｃ、１０１−Ｄから、別のユーザ網１０１−Ａ、１０１−Ｂ、１０１−Ｃ、１０１−Ｄへトラフィックを中継しない（このような中継は、ＩＳＰ網を経由して行う）し、ＩＳＰ網  １０３−Ａ、１０３−Ｂとの接続回線から届いたトラフィックを、ＩＳＰ網との別の接続回線へ中継することも行わない（このような中継は、ＩＳＰ網内で行うこととする）。また、ユーザ網１０１−Ａ、１０１−Ｂ、１０１−Ｃ、１０１−ＤはスタブＡＳであるとする。すなわち、これらのユーザ網は、ユーザ網外（ＢＡＳとの接続回線等）から届いたパケットを、当該ユーザ網を経由してユーザ網外へ中継すること、すなわちトランジットＡＳとしての動作は行わないこととする。
ユーザ網１０１−Ａ、１０１−Ｂ、１０１−Ｃ、１０１−Ｄ、およびＩＳＰ網  １０３−Ａ、１０３−Ｂは、それぞれが相異なるＡＳ番号を持つ。ユーザ網やＩＳＰのＡＳ番号がプライベートＡＳ番号であるべきかどうかについては、本発明による制限は特に無く、通常のＢＧＰの運用方法に従って決めればよい。例えば、本実施例の場合、ＩＳＰ網  １０３−Ａ、１０３−Ｂはインターネットと接続されたトランジットＡＳであるのでグローバルなＡＳ番号１１、１２を持ち、ユーザ網３  １０１−Ｃは複数のＩＳＰ網とマルチホーム接続しているのでグローバルなＡＳ番号１００３を持ち、他のユーザ網１０１−Ａ、１０１−Ｂ、１０１−Ｄは単一のＩＳＰ網のみと接続しているのでＩＳＰから割り当てられたプライベートＡＳ番号６５００１、６５００２、６５００１を持つこととしている。
【００２６】
また、ＩＳＰ網  １０３−Ａ、１０３−Ｂは、上流用エッジルータ１１３−Ａ、１１３−Ｂを通してインターネット１０４へ接続されているが、本発明はこの有無に関係なく適用できる。なお、本実施例で「上流」とは、１１−Ａ〜１１−Ｅの各ＢＡＳからみて、よりコアのネットワークに近い方を云うものとする。「上流網」とは、ＢＡＳからみて上流側になるネットワークを意味する。図１で云えば、ＢＡＳから見てインターネット１０４により近い方のネットワークであるＩＳＰ網１０３−Ａ、１０３−Ｂが上流網である。逆に、ユーザ網１０１−Ａ〜Ｄは、「下流網」となる。上流用エッジルータ１１３−Ａ、１１３−Ｂが存在し、ここからＢＧＰ等のＡＳ間経路制御プロトコルを用いてインターネット１０４のようなＩＳＰ外へ経路情報を広告する場合、通常のＢＧＰの運用では、その経路情報に含まれるプライベートＡＳ番号を全て削除してから広告する。
【００２７】
ＢＡＳ１１−Ａ、１１−Ｂ、１１−Ｃ、１１−Ｄ、１１−Ｅは、ユーザ網ともＩＳＰ網とも異なるＡＳとして運用される。本実施例において、各ＢＡＳは、ＢＡＳ１台ごとに特定のＩＳＰ網とのみ接続しているので、接続しているＩＳＰから割り当てられ、接続しているＩＳＰのユーザ網と重複しないプライベートＡＳ番号を、自ＡＳ番号として用いる。なお、本発明を実施するためには、ＢＡＳに割り当てたＡＳ番号が、ユーザ網とも、ＩＳＰ網とも重複せず、かつ、ＢＡＳに割り当てたＡＳ番号を含む経路情報がそのままＩＳＰ網よりも上流に流れる場合は、そのＡＳ番号がインターネットで接続された他の如何なるＡＳとも重複しないようにする必要がある。通常の運用では、ＢＡＳのＡＳ番号をＩＳＰ網よりも上流に流す必要性はまったく無いので、本実施例では、ＢＡＳにはプライベートＡＳ番号を割り当て、ＩＳＰがインターネットや他ＩＳＰ等の、プライベートＡＳ番号の割り当てが自ＩＳＰの管理下で行われていない他ＡＳへ経路情報を広告する際には、その経路情報に含まれるプライベートＡＳ番号を削除して広告することとする。なお、プライベートＡＳ番号の代わりに、ＩＳＰ網ともユーザ網とも他の如何なるＡＳとも重複しない、グローバルなＡＳ番号を取得してＢＡＳに付与することも、理論上は可能であるが、実用上のメリットはない。
【００２８】
そして、本実施例において、ＢＡＳ１１−Ａ、１１−Ｂ、１１−Ｃ、１１−Ｄ、１１−Ｅは、図１に示した通りの通信回線のうちで一方の端がＢＡＳであるもの全てを通して、回線接続先のユーザ網エッジルータ１１１−Ａ、１１１−Ｂ、１１１−Ｃ、１１１−Ｄ、１１１−Ｅ、およびＩＳＰ網エッジルータ１１２−Ａ、１１２−Ｂ、１１２−Ｃと、ＥＢＧＰ接続を行っている。例えば、ＢＡＳ１１−Ａは、ＩＳＰ網エッジルータ１１２−Ａ、１１２−Ｂ、およびユーザ網エッジルータ１１１−Ａ、１１１−ＢとＥＢＧＰ接続を行っている。なお、このＥＢＧＰ接続の初期確立動作についても、本実施例のＢＡＳは、通常のＢＧＰルータとは異なる動作を行う必要があるが、これについては後述する。
なお、本実施例では、ＢＡＳ１１−Ａ、１１−Ｂ、１１−Ｃ、１１−Ｄ、１１−Ｅをそれぞれ物理的に異なる筐体、すなわち物理ルータとして扱っている。しかし、本発明は、これらをＩＰ経路制御の観点から独立したルータとして扱えれば適用可能であるので、１１−Ａ、１１−Ｂ、１１−Ｃ、１１−Ｄ、１１−Ｅそれぞれは同じＢＡＳ筐体内に収められた別々の仮想ルータであってもよい。
【００２９】
以上、図１に示したネットワーク構成の下で、本発明のＢＧＰ経路制御方法の動作を説明する。
まず、本発明の前提として、ＢＡＳが用いるＡＳ番号を、同一ＩＳＰの下にある全てのＢＡＳで共通のＡＳ番号にする。ただし、このＡＳ番号は、同一ＩＳＰの下にあるＢＡＳ以外が用いるＡＳ番号（プライベートＡＳ番号を用いる場合は、ユーザ網などの、ＩＳＰの管理下で割り当てられた他のＡＳ番号）とは重複しないようにする必要がある。本実施例の場合ならば、ＩＳＰ網１  １０３−Ａの下にあるＢＡＳ１１−Ａ、１１−Ｂ、１１−Ｃが属するＡＳ  １０２−Ａ、１０２−Ｂ、１０２−Ｃをすべて同じプライベートＡＳ番号６５５０１にし、同様に、ＩＳＰ網２  １０３−Ｂの下にあるＢＡＳ１１−Ｄ、１１−Ｅが属するＡＳ  １０２−Ｄ、１０２−Ｅをすべて同じプライベートＡＳ番号６５５０２とする。これは、経路情報に付属するＡＳパス属性から、ＢＡＳ自身のＡＳ番号を取り除いてユーザ網エッジルータ１１１−Ａ、１１１−Ｂ、１１１−Ｃ、１１１−Ｄ、１１１−Ｅへ広告することによって、ユーザ網側でＭＥＤ属性を容易に利用できるようにするため、および、全て同一の隣接ＡＳから受け取った経路情報であるかのように見せかけてＩＳＰ網エッジルータ１１２−Ａ、１１２−Ｂ、１１２−Ｃへ広告することにより、ＩＳＰ網側でＭＥＤ属性を容易に利用できるようにするためである。
このＭＥＤ属性は、ＢＧＰの経路情報に付加される属性情報の一つで、二つの隣接ＡＳ間が複数の回線で接続されている場合に、ＩＰパケット転送時に優先して使用すべき回線を、一方のＡＳから他方のＡＳへ指定するために用いられる。同一の隣接ＡＳから、同じＩＰアドレスプレフィックスに関する、ＭＥＤ属性の値が異なる複数の経路情報を受信したＢＧＰルータは、ＭＥＤ属性よりも優先すべき各種の経路選択条件が同一であれば、最もＭＥＤ属性の値が小さい経路を選択する。例えば、ＡＳ１とＡＳ２が回線１、回線２の２回線で接続されており、同一の宛先ＩＰアドレスプレフィックスに関する経路情報を、回線１ではＭＥＤ属性値を５０、回線２では１００として、ＡＳ１からＡＳ２へ流した場合、ＡＳ２のルータは、そのＩＰアドレスプレフィックスにマッチするＩＰアドレスを宛先として持つＩＰパケットを、ＭＥＤ属性値が小さい方の回線１を通してＡＳ１へ中継する。
【００３０】
ＭＥＤ属性の値は、経路情報の送信元ＡＳの管理者が自由に決めることができるので、一般的に送信元ＡＳが異なる経路情報に付属するＭＥＤ属性値同士を比べても意味がない（その送信元ＡＳ同士が、ＭＥＤ属性値の設定について取り決めを行っている場合を除く）。このため、通常のＢＧＰルータは、異なる隣接ＡＳから受信した経路情報同士を比較して経路選択を行う際には、ＭＥＤ属性を用いない。また、経路情報があるＡＳを通過して別のＡＳへ中継される際には、ＭＥＤ属性は削除される。この場合、その通過ＡＳが必要に応じて、ＭＥＤ属性値を改めて適切な値に決めるべきである。
なお、異なるＩＳＰの下にあるＢＡＳは、ＩＳＰのプライベートＡＳ番号を用いる限りにおいて、互いに同じプライベートＡＳ番号でも、異なるプライベートＡＳ番号でも良い。例えば、本実施例の場合ならば、ＡＳ  １０２−Ａ、１０２−Ｂ、１０２−Ｃと、ＡＳ  １０２−Ｄ、１０２−Ｅの両方が同じプライベートＡＳ番号６５５０１を用いても構わない。
【００３１】
また、同一ＩＳＰの下にある全てのＢＡＳで共通のＡＳ番号を用いる代わりに、ＢＡＳの幾つかで相異なるＡＳ番号を用い、さらに各ＢＡＳには全ＢＡＳで用いているＡＳ番号の集合を設定できるようにしてもよい。この場合、ユーザ網へ広告する経路情報に付属するＡＳパス属性からＡＳ番号を取り除く処理の際には、後者のＡＳ番号集合に含まれるＡＳ番号全てを、ＡＳパス属性から取り除く。ＩＳＰ網へ経路を広告する際には、前者のＡＳ番号をＢＡＳ自身のＡＳ番号であるとして扱う。このようにすると、例えば、ＡＤＳＬ回線収容のＢＡＳと光ファイバ回線収容のＢＡＳにそれぞれ相異なるプライベートＡＳ番号を割当て、後者のプライベートＡＳから広告された経路情報を優先的に扱うようにすれば、ユーザ網から広告された経路情報に付属するＭＥＤ属性とは関係なく、ＡＤＳＬ回線を通る経路よりも光ファイバ回線を通る経路を常に優先させることができる。しかしながら、本実施例では、特に断りない限り、全てのＢＡＳで共通のプライベートＡＳ番号を用いる方法を採用する。
【００３２】
次に、本発明における、ユーザ網からＩＳＰ網への経路情報の広告方法について説明する。例えば、ユーザ網４  １０１−Ｄ内のエッジルータ１１１−Ｅが、網内のＩＰアドレスプレフィックスＹを持つネットワーク１２２への到達経路に関する経路情報を、ＢＡＳ１１−Ｄ、１１−Ｅの２つのＢＡＳとのＥＢＧＰピア接続を通じて、最終的にＩＳＰ２  １０３−Ｂ内のエッジルータ１１２−Ｃへ広告する場合を考える。ただし、ユーザ網４  １０１−Ｄは、何らかの理由（例えば、ネットワーク１１２のユーザのために特別に下り方向のバンド幅を確保したい等）により、ＢＡＳ１１−Ｄ経由の経路が優先して選択されるように、宛先Ｙの経路情報を広告したいとする。
この場合、ユーザ網エッジルータ１１１−Ｅは、ＢＡＳ１１−ＤとのＥＢＧＰ接続にはＭＥＤ属性値の小さい（ここでは５０とする）経路情報を、ＢＡＳ１１−ＥとのＥＢＧＰ接続にはＭＥＤ属性値の大きい（ここでは１００とする）経路情報を流せばよい。
【００３３】
これらの経路情報を受け取ったＢＡＳ１１−Ｄ、１１−Ｅは、まず、必要に応じて、経路情報がループしていないかどうかのチェックを行う。この際、通常のＢＧＰにおける経路情報受信時の処理では、経路情報に付加されているＡＳパス属性に自ＡＳ番号が含まれていたらその経路情報はループしているとみなして破棄することになっているが、本実施例のＢＡＳは、自ＡＳ番号の代わりに、ＩＳＰのＡＳ番号が含まれているかどうかを調べる。なお、ＩＳＰのＡＳ番号を用いた経路情報ループのチェックは、通常はＩＳＰ網エッジルータ１１２−Ｃでも行うので、必ずしもＢＡＳ１１−Ｄ、１１−Ｅが行う必要はない。このため、本実施例のＢＡＳは、ユーザ網エッジルータから受信した経路情報ループのチェックをまったく行わないこととしても良い。なお、この経路情報のループとは、以前に自ルータが受信して他のルータへ中継した経路情報を、再び自ルータが受信することである。このときに、自ルータが前回の受信時と同じ処理を行うと、同じ経路情報が何度も送信され、経路情報が無限に増殖してしまう恐れがある。このため、一般的には経路情報のループの検出処理を行い、検出された場合はその経路情報を破棄する。
【００３４】
経路情報ループのチェックを行わなかったか、もしくは行った結果として経路情報がループしていないことが判明すれば、自らの経路表にその経路情報を反映した後、その経路情報のＡＳパス属性やネクストホップ属性等に通常のＢＧＰルータと同様の処理を施して、ＩＳＰ網エッジルータ１１２−Ｃへ広告するための経路情報を作成する。そして、通常のＢＧＰ経路広告処理では、元の経路情報に付加されていたＭＥＤ属性値を新たに作成した経路情報に付加しないが、本発明の経路広告処理ではこれを付加する。ＡＳパス属性については、通常のＢＧＰルータと同様に、自ＡＳ番号をＡＳパスの先頭に追加して、新たに作成した経路情報に付加するだけで良い。ただし、ユーザ網がＡＳパス属性に不正なプライベートＡＳ番号を入れて経路情報を広告してくる可能性がある場合は、ＩＳＰ網側での経路制御の混乱を避けるために、ＡＳパス全体からＢＡＳ自身のＡＳ番号（もしくは、同一ＩＳＰ内で使用されている全ＢＡＳのＡＳ番号の集合が予めＢＡＳ内に設定されているならば、そのＡＳ番号の集合に含まれる全ＡＳ番号）のみを全て取り除く処理を、自ＡＳ番号をＡＳパスの先頭に追加する前の処理として行っても良い。以上の処理によって生成した属性情報つき経路情報を、ＩＳＰ網エッジルータ１１２−Ｃへ広告する。
このようにすると、ＩＳＰ網エッジルータ１１２−Ｃには、ＢＡＳ１１−Ｄ、１１−Ｅそれぞれから、広告元の隣接ＡＳが同じ６５５０２で、ＡＳパス属性の長さが同じで、ＭＥＤ属性値が異なる、宛先をＹとする２つの経路情報が届く。そして、ＩＳＰ網エッジルータ１１２−Ｃは、通常のＢＧＰ経路選択処理に基づき、これらの経路情報のうちでＭＥＤ属性値が小さい、ＢＡＳ１１−Ｄから届いた方を適切な経路として選択する。その結果、ＩＰアドレスプレフィックスＹにマッチするＩＰアドレスを宛先とするパケットは、ＢＡＳ１１−Ｄおよびそれを通る経路上に障害が発生しない限り、ＩＳＰ網エッジルータ１１２−Ｃから、ＢＡＳ１１−Ｄを経由してユーザ網エッジルータ１１１−Ｅへ届くようになる。
【００３５】
なお、ＢＡＳ１１−ＤがＢＡＳでなく通常のＢＧＰルータならば、そのルータに経路広告をフィルタする設定がされていない限り、ユーザ網エッジルータ１１１−Ｅから受け取った経路情報は、ＥＢＧＰ接続のピアルータであるＩＳＰ網エッジルータ１１２−Ｃだけでなく、同様にＥＢＧＰ接続のピアルータであるユーザ網エッジルータ１１１−Ｄにも広告される。しかし、１１−Ｄが本実施例のＢＡＳである場合は、ユーザ網からＢＡＳのみを経由して別のユーザ網へトラフィックを中継することは行わない前提なので、ＢＡＳ１１−Ｄがユーザ網エッジルータ１１１−Ｅから受け取った経路情報をユーザ網エッジルータ１１１−Ｄへ広告することはない。
【００３６】
次に、本発明における、ＩＳＰ網からユーザ網への経路情報の広告方法について説明する。例えば、ＩＳＰ網１  １０３−Ａ内のエッジルータ１１２−Ａ、１１２−Ｂが、ＩＳＰ網内のＩＰアドレスプレフィックスＸを持つネットワーク１２１への到達経路に関する経路情報を、ＢＡＳ１１−Ａ、１１−Ｂの２つのＢＡＳとのＥＢＧＰ接続を通じて、最終的にユーザ網１  １０１−Ａ内のエッジルータ１１１−Ａと、ユーザ網２  １０１−Ｂ内のエッジルータ１１１−Ｂ、１１１−Ｃへ広告する場合を考える。ただし、ＩＳＰ１  １０３−Ａは、何らかの理由（例えば、ＩＳＰ網内部のネットワークトポロジによるとＩＳＰ網エッジルータ１１２−Ａの方がＩＳＰ網エッジルータ１１２−Ｂよりもネットワーク１２１に近く、ＢＡＳ１１−ＡとＩＳＰエッジルータ１１２−Ｂとの間の回線はバックアップ用の低速回線である等）により、ＢＡＳ１１−ＡおよびＩＳＰ網エッジルータ１１２−Ａ経由、ＢＡＳ１１−ＢおよびＩＳＰ網エッジルータ１１２−Ｂ経由、ＢＡＳ１１−ＡおよびＩＳＰ網エッジルータ１１２−Ｂ経由の順で経路が優先して選択されるように、宛先Ｘの経路情報を広告したいとする。
この場合、ＩＳＰ網エッジルータ１１２−Ａは、ＢＡＳ１１−ＡとのＥＢＧＰ接続にＭＥＤ属性値の小さい（ここでは５０とする）経路情報を流し、ＩＳＰ網エッジルータ１１２−Ｂは、ＢＡＳ１１−ＡとのＥＢＧＰ接続にはＭＥＤ属性値の大きい（ここでは１５０とする）経路情報を、ＢＡＳ１１−ＢとのＥＢＧＰ接続には中間のＭＥＤ属性値（ここでは１００とする）を持つ経路情報を流せばよい。
【００３７】
これらの経路情報を受け取ったＢＡＳ１１−Ａ、１１−Ｂは、通常のＢＧＰにおける経路情報受信時の処理では、まず経路情報がループしていないかどうかのチェックを行うが、本実施例のＢＡＳではこれを行わない。そして、まず、自らの経路表にその経路情報を反映する。この際、ＢＡＳ１１−Ａの方は、広告元の隣接ＡＳが同じ１１で、ＡＳパス属性の長さが同じで、ＭＥＤ属性値が異なる、宛先をＸとする２つの経路情報を、それぞれＩＳＰ網エッジルータ１１２−Ａ、１１２−Ｂから受け取っているので、通常のＢＧＰ経路選択処理に基づき、これらの経路情報のうちでＭＥＤ属性値が小さい、ＩＳＰ網エッジルータ１１２−Ａから届いた方を適切な経路として選択する。
そして、ＢＡＳ１１−Ａ、１１−Ｂは、選択した経路情報を自らの経路表に反映してから、その経路情報のネクストホップ属性等に通常のＢＧＰルータと同様の処理を施して、ユーザ網エッジルータ１１１−Ａ、１１１−Ｂ、１１１−Ｃへ広告するための経路情報を作成する。そして、通常のＢＧＰ経路広告処理では、元の経路情報に付加されていたＭＥＤ属性値を新たに作成した経路情報に付加しないが、本発明の経路広告処理ではこれを付加する。加えて、ＡＳパス属性については、通常のＢＧＰ経路広告処理ではＡＳパスの先頭に自ＡＳ番号を付加するだけだが、本発明のＢＧＰ経路広告処理では、ＡＳパス全体からＢＡＳ自身のＡＳ番号（もしくは、同一ＩＳＰ内で使用されている全ＢＡＳのＡＳ番号の集合が予めＢＡＳ内に設定されているならば、そのＡＳ番号の集合に含まれる全ＡＳ番号）のみを全て取り除き、そのＡＳパスの先頭にＢＡＳ自身のＡＳ番号を付加せずに、新たに作成した経路情報に付加する。以上の処理によって生成した属性情報つき経路情報を、ユーザ網エッジルータ１１１−Ａ、１１１−Ｂ、１１１−Ｃへ広告する。
【００３８】
このようにすると、ユーザ網エッジルータ１１１−Ａ、１１１−Ｂ、１１１−Ｃそれぞれには、ＢＡＳ１１−Ａもしくは１１−Ｂから、広告元の隣接ＡＳが全て１１、すなわち隣接ＡＳがＩＳＰであるかのように、宛先をＸとする経路情報がそれぞれ１つずつ届く。このとき、ＢＡＳ１１−Ａ、１１−ＢのＡＳ番号は６５５０１であるため、通常のＢＧＰ処理方法に基づいて、このＡＳ番号を用いてユーザ網エッジルータ１１１−Ａ、１１１−Ｂ、１１１−Ｃとの間のピア接続を確立していた場合、ＢＡＳがピア接続確立時に知らせたＡＳ番号と、経路情報に含めたＡＳ番号とが矛盾してしまう。しかし、後述のピア接続確立処理を本実施例のＢＡＳで用いることにより、この問題は解消される。
【００３９】
以上の結果、ユーザ網エッジルータ１１１−Ａからの、ＩＰアドレスプレフィックスＸにマッチするＩＰアドレスを宛先とするパケットは、ＢＡＳ１１−ＡとＩＳＰ網エッジルータ１１２−Ａとの間の回線や、ＩＳＰ網エッジルータ１１２−Ａそのものに障害が発生しない限り、ＢＡＳ１１−Ａを経由してＩＳＰエッジルータ１１２−Ａへ届くようになる。ユーザ網エッジルータ１１１−Ｂ、１１１−Ｃについては、これらのルータ間でＩＢＧＰ接続が行われていれば、一方がＢＡＳから受信した経路情報が他方へ広告され、それらの経路情報が通常のＢＧＰ経路選択処理にかけられて、最終的にはよりＭＥＤ属性値の小さい、ＢＡＳ１１−Ａから広告された経路が選択される。その結果、ユーザ網２  １０１−Ｂからの、ＩＰアドレスプレフィックスＸにマッチするＩＰアドレスを宛先とするパケットは、経路上の回線もしくはＢＡＳもしくはルータのいずれかに障害が発生しない限り、ユーザ網エッジルータ１１１−Ｂから、ＢＡＳ１１−Ａを経由して、ＩＳＰ網エッジルータ１１２−Ａへ届くようになる。
【００４０】
なお、ＢＡＳ１１−ＡがＢＡＳでなく通常のＢＧＰルータならば、そのルータに経路広告をフィルタする設定がされていない限り、ＩＳＰ網エッジルータ１１２−Ａから受け取った経路情報は、ピアルータであるユーザ網エッジルータ１１１−Ａ、１１１−Ｂだけでなく、同様にピアルータであるＩＳＰ網エッジルータ１１２−Ｂにも広告される。しかし、ＢＡＳ１１−Ａが本実施例のＢＡＳである場合は、ＩＳＰからＢＡＳを経由して同一ＩＳＰへ向かう別回線へトラフィックを中継することは行わない前提なので、ＢＡＳ１１−ＡがＩＳＰ網エッジルータ１１２−Ａから受け取った経路情報をＩＳＰ網エッジルータ１１２−Ｂへ広告することはない。これは、ＢＡＳ１１−ＡがＩＳＰ網エッジルータ１１２−Ｂから受け取った経路についても同様である。
【００４１】
以上のように、本発明のＢＧＰ経路制御方式に基づくＢＡＳを本実施例に適用することにより、本来はＡＳを挟んで通知されないＭＥＤ属性を用いたポリシー経路制御を、独立したＡＳ番号を持つＢＡＳを挟んで、ユーザ網とＩＳＰ網の間で適用することができる。この際に用いる、ユーザ網やＩＳＰ網のエッジルータは、標準的な設定がされている通常のＢＧＰルータでよい。
図２は、本実施例のＢＡＳの機能を満たすことが可能な内部処理アーキテクチャの一例を示す図である。
なお、本発明では、本実施例のＢＡＳの機能の前提として、ユーザ網からユーザ網へのトラフィックを直接中継しないこと、ＩＳＰ網からＩＳＰ網へのトラフィックを中継しないことを定めている。また、本発明では、本実施例のＢＡＳが行うべき処理内容を、ここまでで述べたように、通常のＢＧＰ経路制御処理との差分の形で定めている。しかしながら、以上の機能さえ満たせば、本実施例のＢＡＳの内部アーキテクチャはどのような形でも良く、必ずしも図に従ったアーキテクチャである必要はない。
図２のアーキテクチャ例の場合、本実施例のＢＡＳ１１の内部は、制御処理部２０１、下流インターフェース部２０２、上流インターフェース部２０３、バックプレーン２０４の４種類の内部ハードウェアモジュールで構成される。なお、図中の実線で囲われている要素はハードウェアを、点線で囲われている要素はソフトウェア、もしくは表などのデータを意味する。
【００４２】
ＢＡＳ１１は、その内部に下流インターフェース部２０２を一つ以上持つ。下流インターフェース部２０２は、ユーザ網エッジルータ１１１への回線を接続するインターフェースを一つ以上持つ。下流インターフェース部２０２は、その内部ハードウェアとして、パケット転送処理用プロセッサ２２１、転送処理用メモリ２２２を持つ。転送処理用メモリ２２２には、プログラム２２５と下流インターフェース用経路表２２７が記憶されている。下流インターフェース用経路表２２７には、ユーザ網エッジルータ１１１からパケットを受信した際に、そのパケットの宛先ＩＰアドレスから、そのパケットの転送先となるＩＳＰ網エッジルータ１１２とそれが接続されている上流インターフェース部２０３を決定する（ただし、宛先ＩＰアドレスがＢＡＳ１１自身のアドレスである場合は、転送先を制御処理部２０１とする）ための対応表が記憶される。なお、下流インターフェース用経路表２２７は、ＢＡＳ１１の経路制御部２０１によって随時書き換えられている。プログラム２２５は、ＢＡＳ１１の起動時に制御処理部２０１の補助記憶装置２１２から転送されたプログラムコードである。パケット転送処理用プロセッサ２２１はプログラム２２５を実行することにより、ユーザ網エッジルータ１１１から受信したパケットの適切な転送先を、下流インターフェース用経路表２２７を用いて決定し、その転送先へバックプレーン２０４をとおしてパケットを転送する。また、パケット転送処理用プロセッサ２２１はプログラム２２５を実行することにより、バックプレーン２０４から受信したパケットを、適切なユーザ網エッジルータ１１１へ送信する。これにより、下流網側の通信装置へ経路制御メッセージや自ＡＳ番号通知メッセージが通知される。
【００４３】
また、ＢＡＳ１１は、その内部に上流インターフェース部２０３を一つ以上持つ。上流インターフェース部２０３は、ＩＳＰ網エッジルータ１１２への回線を接続するインターフェースを一つ以上持つ。上流インターフェース部２０３は、その内部ハードウェアとして、パケット転送処理用プロセッサ２３１、転送処理用メモリ２３２を持つ。転送処理用メモリ２３２には、プログラム２３５と上流インターフェース用経路表２３７が記憶されている。上流インターフェース用経路表２３７の記憶内容と、パケット転送処理用プロセッサ２３１の処理内容は、上流と下流、ユーザ網とＩＳＰ網が入れ替わることを除いて、下流インターフェース用経路表２２７、パケット転送処理用プロセッサ２２１と全く同じである。すなわち、パケット転送処理用プロセッサ２３１により、上流網側の通信装置へ経路制御メッセージや自ＡＳ番号通知メッセージが通知される。
ＢＡＳ１１は、その内部に備わっているバックプレーン２０４を通して、制御処理部と上流インターフェース部、制御処理部と下流インターフェース部、上流インターフェース部と下流インターフェース部を相互に接続する。
ＢＡＳ１１の内部に備わっている制御処理部２０１は、経路制御プロトコルをはじめとする自宛または自発のＩＰパケットの処理、および、ＢＡＳ１１装置全体の管理等の処理を行う。制御処理部２０１は、その内部ハードウェアとして、制御処理用プロセッサ２１１、補助記憶装置２１２、主記憶装置２１３を持つ。補助記憶装置２１２にはプログラムコード２１５と初期設定データ２１７が記憶されている。プログラムコード２１５は、制御処理部用プログラムコードとインターフェース部用プログラムコードで構成されており、いずれもＢＡＳ１１の起動時に、それぞれのメモリ（主記憶装置２１３および転送処理用メモリ２２２、２３２）へ転送され、それぞれのプロセッサ（制御処理用プロセッサ２１１およびパケット転送処理用プロセッサ２２１、２３１）で実行される。初期設定データ２１７には、管理者によってＢＡＳ１１に設定された各種情報が記憶されており、ＢＡＳ１１の起動時および管理者の指定時に制御処理用プロセッサ２１１によって読み込まれ、設定データの内容に従ってＢＡＳ１１内の各部へ適切に設定される。初期設定データ２１７に記憶される設定データには、ＢＡＳ１１自身のＡＳ番号、ＩＳＰ網のＡＳ番号、各インターフェースのＩＰアドレス設定、各ピアルータのＩＰアドレス、静的経路設定などが含まれる。
【００４４】
主記憶装置２１３へ展開されて、制御処理用プロセッサ２１１によって実行される制御処理部用プログラムコードは、ＯＳ・デバイスドライバ２５１、経路制御処理管理プロセス２５２、ＢＧＰ経路制御プロセス２５５、他の経路制御処理プロセス群２５４、他の制御処理プロセス群２５３に分けることができる。ＯＳ・デバイスドライバ２５１は、プロセス管理や、入出力処理、ＴＣＰ／ＩＰプロトコル処理等の各種基本処理機能を各プロセスに提供する。他の制御処理プロセス群２５３は、経路制御以外に関する処理、例えば装置管理やトンネリングプロトコル等の処理を行う。他の経路制御処理プロセス群２５４は、ＢＧＰ以外の各種経路制御プロトコルに関する処理を行う。経路制御処理管理プロセス２５２は、ＢＧＰ経路制御プロセス２５５や他の経路制御処理プロセス群２５４から得た経路情報、および管理者による静的経路設定情報をまとめ、上流・下流インターフェース用経路表２２７、２３７のデータを生成し、上流・下流インターフェース部２０２、２０３へ転送する。
【００４５】
ＢＧＰ経路制御プロセス２５５は、標準的なＢＧＰ処理プロセスに、本発明に基づいて、ユーザ網エッジルータ１１１に対して行うべきオープンメッセージの処理、およびユーザ網エッジルータ１１１およびＩＳＰ網エッジルータ１１２から受け取ったＢＧＰ経路情報に対して行うべき属性情報の処理を反映させたものである。すなわち、このＢＧＰ経路制御プロセス２５５は、本発明のＡＳ間経路制御方法に基づき、ピアルータに対するオープンメッセージによる自己のＡＳ番号の通知や、ピアルータとの間での経路制御メッセージの相互通知を行う機能を備えるソフトウェアプロセスである。なお、ＢＧＰはＴＣＰの上で動作するプロトコルであるが、ＢＧＰ経路制御プロセスはＢＧＰそのものに関する処理機能のみを備え、ＴＣＰ以下のプロトコル処理はＴＣＰ／ＩＰプロトコルスタックを備えているＯＳ・デバイスドライバ２５１が行う。
【００４６】
ＢＧＰ経路制御プロセス２５５は、その内部に上りトラフィック用ＢＧＰ経路表２６２と、下りトラフィック用ＢＧＰ経路表２６３を持つ。ＢＧＰ経路制御プロセス２５５は、ＩＳＰ網エッジルータ１１２から受信した経路制御メッセージを元に、上りトラフィック用ＢＧＰ経路表２６２の更新を行い、その更新分に対応する経路制御メッセージをユーザ網エッジルータ１１１へ広告する。また、上りトラフィック用ＢＧＰ経路表２６２の更新分は、経路制御処理管理プロセス２５２によって、下流インターフェース用経路表２２７にも反映される。また、ＢＧＰ経路制御プロセス２５５は、ユーザ網エッジルータ１１１から受信した経路制御メッセージを元に、下りトラフィック用ＢＧＰ経路表２６３の更新を行い、その更新分に対応する経路制御メッセージをＩＳＰ網エッジルータ１１２へ広告する。また、下りトラフィック用ＢＧＰ経路表２６３の更新分は、経路制御処理管理プロセス２５２によって、上流インターフェース用経路表２３７にも反映される。
【００４７】
本実施例のＢＡＳ１１は、各ユーザ網エッジルータ１１１から自宛のＢＧＰ経路制御メッセージを受け取ると、そのメッセージは下流インターフェース部２０２、バックプレーン２０４、制御処理部２０１のＯＳ・デバイスドライバ２５１を通して、最終的にＢＧＰ経路制御プロセス２５５へ渡される。ＢＧＰ経路制御プロセス２５５は、そのメッセージを本発明のＡＳ間経路制御方法に基づいて処理し、下りトラフィック用ＢＧＰ経路表２６３を更新し、経路制御処理管理プロセス２５２を通して上流インターフェース用経路表２３７にもその更新内容を反映させる。また、ＢＧＰ経路制御プロセス２５５は、経路情報の更新分をＩＳＰ網エッジルータ１１２へ広告するための経路制御メッセージを生成し、ＯＳ・デバイスドライバ２５１、バックプレーン２０４、上流インターフェース部２０３を通して、ＩＳＰ網エッジルータ１１２へ広告する。
各ＩＳＰ網エッジルータ１１２から自宛のＢＧＰ経路制御メッセージを受け取った場合も、同様の流れ（ただし、上りと下り、上流と下流、ＩＳＰ網とユーザ網がそれぞれ逆になる）でメッセージが処理され、上りトラフィック用ＢＧＰ経路表２６２の更新、下流インターフェース用経路表２２７の更新、各ユーザ網エッジルータ１１１への経路広告といった処理が行われる。
【００４８】
図３は、実施例１の一部における、本発明のＢＧＰ経路制御方法によるピア接続確立処理時のオープンメッセージを表す図である。
本実施例のＢＡＳが実行するピア接続確立処理は、オープンメッセージに含める自ＡＳ番号の通知を除いて、通常のＢＧＰ処理方法に基づくピア接続確立処理とまったく同じである。当然ながら、ユーザ網エッジルータ、およびＩＳＰ網エッジルータが実行するピア接続確立処理は、オープンメッセージに含める自ＡＳ番号の通知も含めて、通常のＢＧＰ処理方法に基づくピア接続確立処理とまったく同じでよい。ここでは、本実施例中のＢＡＳ１１−Ａについてのみ説明するが、本実施例中の他のＢＡＳについても、以下の処理を同様に適用する。
【００４９】
ＢＡＳ１１−Ａは、通常のＢＧＰ処理方法と同様、自ＡＳ番号である６５５０１を、ＢＧＰオープンメッセージの自ＡＳ番号フィールドに入れ、ＢＡＳからＩＳＰ網エッジルータ１１２−Ａ、１１２−Ｂへ送信する（メッセージ３０２−Ａ、３０２−Ｂ）。一方、ユーザ網エッジルータ１１１−Ａ、１１１−Ｂに対しては、通常のＢＧＰ処理方法と異なり、ＩＳＰのＡＳ番号である１１を、ＢＧＰオープンメッセージの自ＡＳ番号フィールドに入れ、ＢＡＳからユーザ網エッジルータ１１１−Ａ、１１１−Ｂへ送信する（メッセージ３０１−Ａ、３０１−Ｂ）。
【００５０】
先述の通り、ＩＳＰ網エッジルータ１１２−Ａ、１１２−Ｂ、および、ユーザ網エッジルータ１１１−Ａ、１１１−Ｂは、通常のＢＧＰ処理方法通りに、各ルータの属するＡＳ番号を、ＢＧＰオープンメッセージの自ＡＳ番号フィールドに入れ、ＢＡＳへ送信する（メッセージ３０３−Ａ、３０３−Ｂ、３０４−Ａ、３０４−Ｂ）。
【００５１】
以上のオープンメッセージを用いたピア接続確立処理を用いることにより、経路情報の送受信を図１にて説明したとおりの方法で行っても、ピア接続確立時に受信したＡＳ番号と、受信した経路情報のＡＳパス属性に含まれるＡＳ番号が、ユーザ網から見て矛盾しなくなる。加えて、ＢＡＳのＡＳ番号をユーザ網側に対して完全に隠すことができるので、ユーザ網からはＩＳＰ網のＡＳとの間で直接ＥＢＧＰピア接続を行っているように見える。
【００５２】
以下では、図５〜６を用いて、ＢＡＳに手を加えずにＢＧＰ経路制御を行った場合の問題点を説明し、併せて本発明の優位性を説明する。
図５は、従来のＢＧＰルータをＢＡＳとして用いて実施例１と同じネットワークを構成した場合の、ＢＧＰ経路制御の動作を表す図である。
従来の個人向けＡＤＳＬ／ＦＴＴＨのアクセス網において、本発明によらない従来のＢＧＰ経路制御方法をＢＡＳに備えさせ、ＥＢＧＰマルチホップ接続機能を用いずにＢＧＰ経路制御を利用する企業ユーザ網を接続した場合、図５のようなネットワーク構成になると考えられる。
【００５３】
従来のＢＧＰ対応ＢＡＳ５１１−Ａ、５１１−Ｂ、５１１−Ｃ、５１１−Ｄ、５１１−Ｅには、接続しているＩＳＰ網１０３−Ａ、１０３−Ｂが同一であるＢＡＳ同士が同一のＡＳ番号とならないように、プライベートＡＳ番号が割り当てられる。例えば、ＢＡＳ５１１−Ａ、５１１−Ｂ、５１１−Ｃは、接続しているＩＳＰ網が同じＩＳＰ網１  １０３−Ａなので、それぞれに相異なるＡＳ番号６５５０１、６５５０２、６５５０３が割り当てられる。これは、同一ＩＳＰ網と接続している複数のＢＡＳに同一のＡＳ番号を割当てると、一方のＢＡＳがユーザ網から受信した経路情報を、ＩＳＰ網を経由して他方のＢＡＳへ中継したときに、その経路情報のＡＳパス属性に既に自己のＡＳ番号と同じＡＳ番号が含まれているので、経路情報のループとみなされ、その経路情報が破棄されてしまうためである。本実施例のＢＡＳでは、経路情報の破棄を行わず、自己のＡＳ番号をＡＳパス属性から削除することで、この問題を回避している。
ここで、図１のときと同様に、ＩＳＰ網エッジルータ１１２−Ａ、１１２−ＢからＢＡＳ５１１−Ａ、５１１−Ｂを経由して、ユーザ網エッジルータ１１１−Ａ、１１１−Ｂ、１１１−Ｃへ、アドレスプレフィックスＸのネットワークへの到達経路に関する経路情報を広告する場合を考える。このとき、図１のときと同様に、ＩＳＰ網エッジルータ１１２−ＡからＢＡＳ５１１−Ａへ広告する経路情報には値が５０のＭＥＤ属性を、ＩＳＰ網エッジルータ１１２−ＢからＢＡＳ５１１−Ａへ広告する経路情報には値が１５０のＭＥＤ属性を、ＩＳＰ網エッジルータ１１２−ＢからＢＡＳ５１１−Ｂへ広告する経路情報には値が１００のＭＥＤ属性を付加することとする。ＢＡＳ５１１−Ａ、５１１−ＢはこれらのＭＥＤ属性を受信するが、これらのＢＡＳは従来のＢＧＰ経路制御方法によるＢＧＰルータであり、かつ、ユーザ網１０１−Ａ、１０１−Ｂと異なるＡＳ番号をもっているので、ＭＥＤ属性をユーザ網エッジルータ１１１−Ａ、１１１−Ｂ、１１１−Ｃへ中継しない。その結果、ＩＳＰ網が広告した経路情報のＭＥＤ属性はＢＡＳとの間では有効となるが、ユーザ網との間では有効とならない。すなわち、アドレスプレフィックスＸにマッチするＩＰアドレスを宛先とするＩＰパケットをＢＡＳ５１１−ＡがＩＳＰ網へ転送する際には、よりＭＥＤ属性値の小さいＩＳＰ網エッジルータ１１２−Ａへの回線が用いられる。しかし、ユーザ網２  １０１−Ｂ内から送信された同様のＩＰパケットを、ＢＡＳ５１１−Ａ、５１１−Ｂのいずれかを経由してＩＳＰ網１  １０３−Ａへ転送する際に、ユーザ網エッジルータ１１１−Ｂ、１１１−ＣがどちらのＢＡＳ経由で送信するのが適切かを判断する材料としては、ＭＥＤ属性は全く役に立っていない。
【００５４】
仮に、ＢＡＳ５１１−Ａ、５１１−ＢがＭＥＤ属性を中継するように手を加えたとしても、ＢＡＳ５１１−Ａからユーザ網エッジルータ１１１−Ｂへ届いた経路情報と、ＢＡＳ５１１−Ｂからユーザ網エッジルータ１１１−Ｃへ届いた経路情報とは、ユーザ網２から見て、それぞれ異なる隣接ＡＳから届いた経路情報とみなされる。このため、ユーザ網エッジルータ１１１−Ｂ、１１１−Ｃに、異なる隣接ＡＳから届いた経路情報同士でもＭＥＤ属性を比較するような特別な設定がされていない限り、これらのルータが両者の経路情報を比較して適切な経路を選択する際に、ＭＥＤ属性は利用されないこととなる。本実施例のＢＡＳでは、ＭＥＤ属性を中継し、かつ、ユーザ網に対してはＢＡＳがＩＳＰ網のＡＳに属しているかのように見せることで、以上の問題を回避している。
ユーザ網エッジルータ１１１−Ｅから、従来のＢＧＰ対応ＢＡＳ５１１−Ｄ、５１１−Ｅを経由して、ＩＳＰ網エッジルータ１１２−Ｃへ、アドレスプレフィックスＹのネットワークへの到達経路に関する経路情報を広告する場合についても、同様の理由で、ユーザ網とＢＡＳとの間ではＭＥＤ属性が利用されるが、ユーザ網とＩＳＰ網との間ではＭＥＤ属性が役に立たないことになる。本実施例のＢＡＳでは、ＭＥＤ属性を中継し、かつ、同一のＩＳＰ網の下流で用いられているＢＡＳ全てに同一のＡＳ番号を割り当てることで、以上の問題を回避している。
【００５５】
また、ユーザ網３  １０１−Ｃは複数のＩＳＰ網とマルチホーム接続を行っている。このため、ＩＳＰ網１０３−Ａ、１０３−Ｂは、各ＩＳＰが独自に割当てて利用しているプライベートＡＳ番号を、ユーザ網３  １０１−Ｃに対して隠す必要がある（そうしないと、ユーザ網３の経路制御に支障が起こる可能性がある）。多くのルータは、経路情報を広告する際に、そのＡＳパス属性からプライベートＡＳ番号を全て削除する機能を備えている。このため、従来のＢＧＰ対応ＢＡＳ５１１−Ｃ、５１１−Ｄも、ユーザ網エッジルータ１１１−Ｄへ経路情報を広告する際に、ＡＳパス属性から全てのプライベートＡＳ番号を削除して広告することは可能であると考えられる。しかし、ＢＡＳ５１１−Ｃ、５１１−Ｄは自身のＡＳ番号としてプライベートＡＳ番号を用いており、この番号はピア接続確立時にＢＡＳからユーザ網エッジルータへ送信するオープンメッセージに含まれてしまう。加えて、たとえＡＳパス属性から全てのプライベートＡＳ番号を削除する設定を行ったとしても、ＢＧＰ経路制御機能の実装によっては、そのルータ自身のＡＳ番号をＡＳパス属性に付加することは避けられない可能性がある。本実施例のＢＡＳでは、ＢＡＳにプライベートＡＳ番号を割当てても、これらの問題を起こさない。
図６は、実施例１と同様のネットワーク構成で、ユーザ網とＩＳＰ網との間でＥＢＧＰマルチホップ接続を設けてＢＧＰ経路制御を行い、ＢＡＳをＢＧＰ経路制御に参加させない構成にした場合の、ＥＢＧＰマルチホップ接続の形態を表す図である。
【００５６】
先述の通り、ＥＢＧＰマルチホップ接続機能とは、ネットワーク層、すなわちＩＰレイヤのレベルで隣接していないルータ間でＥＢＧＰ接続を行う機能である。従来の個人向けＡＤＳＬ／ＦＴＴＨのアクセス網において、ＥＢＧＰマルチホップ接続機能を用いてＢＧＰ経路制御を利用する企業ユーザ網を接続した場合、図６のようなネットワーク構成になると考えられる。
ＥＢＧＰマルチホップ接続機能を用いると、図６のように、間にＢＡＳが挟まっているにもかかわらず、ユーザ網とＩＳＰ網との間で直接ＥＢＧＰマルチホップ接続６２１を設けることができる。このＥＢＧＰマルチホップ接続６２１を用いることによって、通常のＥＢＧＰ接続と同様に、隣接ＡＳ間のポリシー経路制御を行うことができる。
【００５７】
ＢＡＳ６１１は、ユーザ網エッジルータ１１１とＩＳＰ網エッジルータ１１２との間で、ＢＧＰ経路制御メッセージを含む、自宛で無いＩＰパケットの中継を行う。しかし、ＢＡＳ６１１はＢＧＰ経路制御を行わないので、自発のＢＧＰ経路制御メッセージを送信することはないし、全ての自宛のＢＧＰ経路制御メッセージを破棄する。ただし、ＢＡＳ６１１とＩＳＰ網エッジルータ１１２との間でもＢＧＰによるポリシー経路制御を行いたい場合は、ＢＡＳ６１１をＢＧＰルータとし、図に示したＥＢＧＰマルチホップ接続６２１とは別に、ＩＳＰ網エッジルータ１１２とＢＡＳ６１１との間でＥＢＧＰ接続を設けても良い。図６では、ＩＳＰ網エッジルータ１１２とＢＡＳ６１１との間にはＥＢＧＰ接続が無いものとする。
【００５８】
このように、ＥＢＧＰマルチホップ接続機能を用いれば、ユーザ網とＩＳＰ網間でＢＧＰポリシー経路制御を行うという要求を難なく満たせるように見えるが、ＥＢＧＰマルチホップ接続機能にはいくつかの問題が存在する。
一つ目の問題は、直結されていないルータ間でＥＢＧＰ接続を行うため、ピアルータまでの経路情報を何らかの形で予め設定しておかないと、ＥＢＧＰピア接続そのものが行えないということである。例えば、ユーザ網エッジルータ１１１−ＢからＢＡＳ６１１−Ａへは回線で直結されているので、ユーザ網エッジルータ１１１−ＢからＢＡＳ６１１−Ａまでの到達経路は自明である。しかし、ＩＳＰ網エッジルータ１１２−Ａへは直結されていないので、静的経路設定などによって経路情報を予め与えておかないと、ユーザ網エッジルータ１１１−Ｂは、ＢＧＰピア接続確立のためのＩＰパケットを送出する際に、どの回線へパケットを送り出せばＩＳＰ網エッジルータ１１２−Ａへそのパケットを届けられるか分からない。これを避けるためには、ユーザ網エッジルータ１１１−Ｂに、ＩＳＰ網エッジルータ１１２−Ａへの静的経路を予め設定しておかなければならない。
【００５９】
二つ目の問題は、ＢＡＳとＩＳＰ網エッジルータとの間のネットワーク構成が変わると、ユーザ網エッジルータの設定も変更する必要が生じる場合が多いことである。例えば、以前はＢＡＳ６１１−ＡとＩＳＰ網エッジルータ１１２−Ｂとを接続する回線が存在しなかったところへ、この回線を新規に設け、図６の状態になったとする。このとき、ＢＡＳ６１１−ＡとＩＳＰ網１  １０３−Ａとの間の回線は２回線に冗長化されているが、ユーザ網１  １０１−Ａ、ユーザ網２  １０１−Ｂはこの恩恵を受けることができない。なぜなら、ユーザ網とＩＳＰ網との間のＢＡＳ６１１−Ａ経由のピア接続が、一方のピアルータがＩＳＰ網エッジルータ１１２−Ａであるピア接続６２１−Ａ、６２１−Ｂしか存在しないためである。このため、ＩＳＰ網エッジルータ１１２−Ａが停止すれば、ユーザ網はＢＡＳ６１１−Ａ経由のＡＳ外経路に関する情報を全て失ってしまう。このような事態を避けるには、ＢＡＳ６１１−Ａ経由で、ユーザ網エッジルータ１１１−Ａ、１１１−Ｂと、ＩＳＰ網エッジルータ１１２−Ｂとの間にＥＢＧＰマルチホップ接続を新規に設ける必要がある。これには、新たなＥＢＧＰマルチホップ接続を行うための設定が、ＩＳＰ網エッジルータ１１２−Ｂにだけでなく、ユーザ網エッジルータ１１１−Ａ、１１１−Ｂにも必要である。
【００６０】
三つ目の問題は、ＩＰパケットの送信元アドレス詐称によるセキュリティの問題である。一般的に、ＩＰパケットのヘッダに含まれる送信元ＩＰアドレスの値は、送信元ホストが自由に設定でき、かつ、宛先ホストまでの到達性に影響を与えない。このため、送信元ＩＰアドレスのフィールドに虚偽の値を設定することも可能である。ただし、直結回線による通常のＥＢＧＰ接続では、ＢＧＰパケットの真の送信元ホストがその直結回線上に存在するホストのうちのいずれかに限定されるので、送信元ＩＰアドレスの詐称は容易に見抜くことが可能である。一方、ＥＢＧＰマルチホップ接続では、ピアルータが直結回線上に存在しないので、送信元ＩＰアドレスが詐称されていても判別できない。例えば、図６の場合に、ユーザ網エッジルータ１１１−Ｂが、送信元ＩＰアドレスをユーザ網エッジルータ１１１−Ａのものと偽ったＢＧＰパケットを、ＩＳＰ網エッジルータ１１２−Ａへ送った場合を考える。このとき、そのＢＧＰパケットを受信したＩＳＰ網エッジルータ１１２−Ａは、それが本当にユーザ網エッジルータ１１１−Ａから届いたのか、あるいは別のホストから送信元ＩＰアドレスを詐称して送信されたのかが分からない。このため、ピアルータ以外の第三者のホストから、ＢＧＰピア接続が用いているＴＣＰポートへのＴＣＰ接続または切断パケットが送信されることにより、ＤＤｏＳ攻撃や予期せぬピア接続切断が起こる可能性がある。
ＥＢＧＰマルチホップ接続を用いてユーザ網とＩＳＰ網との間でＢＧＰ経路制御を行うと、以上のような新たな問題が発生する。一方、本発明のＢＧＰ経路制御方法では、これらの問題は発生しない。
【００６１】
図７は、ＢＧＰパケットのデータ構造を表す図である。
ＢＧＰパケットとは、ピアルータ同士でＢＧＰメッセージを送受信する際に、その送受信に用いられるＴＣＰ接続の制御情報、もしくはその接続上で送受信されるデータを含んだ、ＩＰパケットのことである。
ＩＰヘッダ７０１には、ＩＰプロトコル標準規定に従って、ＢＧＰパケットの送信元アドレス７１１、宛先アドレス７１２などの情報が含まれる。ＢＧＰパケットでは、宛先アドレス７１２にはピアルータのＩＰアドレスが入る。なお、ＩＰプロトコルとしてはバージョン４（ＩＰｖ４）とバージョン６（ＩＰｖ６）の２種類が一般的に用いられているが、本発明はいずれを用いても実施可能である。また、実際に物理回線にＢＧＰパケットを流す際には、ＩＰヘッダの前に回線種類に依存したレイヤ２ヘッダが付加されるのが一般的であるが、本発明は回線種類やレイヤ２ヘッダ形式に依存せずに実施可能である。
ＩＰヘッダ７０１の後には、ＴＣＰヘッダ７０２が続く。ＴＣＰヘッダ７０２には、ＴＣＰプロトコル標準規定に従って、送信元ポート７２１、宛先ポート７２２などの情報が含まれる。送信元ポート７２１は、ＢＧＰパケットの送信元のＢＧＰルータがピア接続に用いているＴＣＰポートの番号である。宛先ポート７２２は、ＢＧＰパケットの宛先、すなわちピアルータがピア接続に用いているＴＣＰポートの番号である。ピア接続用のＴＣＰ接続は、一方のピアルータ（接続元ポート番号は任意）から、他方のピアルータのピア接続受付用ポートへ、ＴＣＰ接続を要求することによって設けられる。このピア接続受付用ポートには、通常はＢＧＰ用の標準ＴＣＰポートとして規定されている１７９番ポートが用いられる。しかし、これ以外の番号を用いても本発明は実施可能である。
【００６２】
ＴＣＰデータには、０個以上のＢＧＰメッセージの、一部または全部が含まれる。ＢＧＰメッセージはＴＣＰ接続のストリーム上で流れるので、一つのＩＰパケットのＴＣＰデータ７０３に一つのＢＧＰメッセージが含まれるとは限らない。例えば、一つのＩＰパケットのＴＣＰデータ７０３に複数のＢＧＰメッセージが含まれることもあれば、一つのＩＰパケットのＴＣＰデータ７０３に一つのＢＧＰメッセージの一部分のみが含まれることもある。
なお、ＢＧＰルータが、通常の通信パケットとＢＧＰパケットを区別するには、ＩＰパケットの宛先アドレス７１２と、宛先ポート７２２が用いられる。以下、例として、図２に挙げた本実施例のＢＡＳ内部アーキテクチャに基づいて説明する。インターフェース部２０２、２０３は、ＩＰパケットを外部インターフェースから受信すると、その宛先アドレス７１２がそのルータ自身が持つＩＰアドレスと一致するかどうか調べ、一致すれば制御処理部２０１へ転送する。一致しなければ、送出すべきインターフェースが見つかればその外部インターフェースから送出し、見つからなければ破棄する。自宛ＩＰパケットを受信した、制御処理部２０１内のＯＳ・デバイスドライバ２５１は、そのＩＰパケットがＴＣＰのパケットであれば、ＢＧＰ経路制御プロセス２５５がピア接続用に開いているポート番号と、そのＩＰパケットの宛先ポート７２２が一致するかどうかを調べ、一致すればＢＧＰ経路制御プロセス２５５へ、そのパケットのＴＣＰデータ７０３の部分を渡す。
【００６３】
図８は、ＢＧＰオープンメッセージのデータ構造を表す図である。
ＢＧＰでは幾つかのＢＧＰメッセージが規定されているが、オープンメッセージはその一つである。オープンメッセージは、ピア接続確立時の、ＴＣＰ接続確立直後のみに送信される。ただし、本発明は自ＡＳ番号を通知するメッセージの形式やタイミングに依らずに実施可能である。
オープンメッセージは、ＢＧＰプロトコル標準規定に従い、ＢＧＰメッセージヘッダ８０１と、オープンメッセージデータ８０２で構成されている。ＢＧＰメッセージヘッダ８０１には、メッセージ長８１１、メッセージタイプ８１２などの情報が含まれる。メッセージ長８１１には、ＢＧＰメッセージヘッダ８０１とオープンメッセージデータ８０２を合わせたバイト長が格納される。ＢＧＰメッセージはＴＣＰ接続のストリーム上を流れるため、このメッセージ長８１１を用いて、受信したＴＣＰストリームデータのどこからどこまでが一つのＢＧＰメッセージなのかを判別する。メッセージタイプ８１２には、オープンメッセージ、アップデートメッセージ等のメッセージタイプ毎に決められた値が格納される。このメッセージタイプ８１２を見ることで、ＢＧＰメッセージヘッダ８０１の後に続くメッセージデータがオープンメッセージデータなのか、他のメッセージのデータ部なのかを判別することができる。オープンメッセージデータ８０２には、自ＡＳ番号８２１などの情報が含まれる。自ＡＳ番号８２１には、オープンメッセージを送信したＢＧＰルータが属するＡＳの番号が格納される。この自ＡＳ番号８２１により、ＢＧＰルータは、そのピアルータに対して、自己のＡＳ番号を伝えることができる。
【００６４】
図９は、ＢＧＰアップデートメッセージのデータ構造を表す図である。
オープンメッセージと同様に、アップデートメッセージもＢＧＰメッセージの一つである。アップデートメッセージは、ピアルータへ経路情報の追加・変更・削除を通知するためのメッセージで、経路情報を含む唯一のＢＧＰメッセージでもある。このため、本明細書でＢＧＰ経路制御メッセージと呼んできたものは、このＢＧＰアップデートメッセージに相当する。ただし、本発明は、属性情報の取り扱いさえ本発明の前提と一致していれば、経路制御メッセージの形式や種類に依らずに実施可能である。
アップデートメッセージは、ＢＧＰプロトコル標準規定に従い、ＢＧＰメッセージヘッダ８０１と、アップデートメッセージデータ９０２で構成されている。ＢＧＰメッセージヘッダ８０１の形式は、メッセージ長８１１にＢＧＰメッセージヘッダ８０１とアップデートメッセージデータ９０２を合わせたバイト長が、メッセージタイプ８１２にアップデートメッセージを表すメッセージタイプ値が格納されることを除き、オープンメッセージの場合と全く同じである。アップデートメッセージデータ９０２は、取消経路集合９２１、属性情報集合９２２、追加経路集合９２３の三つの部分で構成されている。取消経路集合９２１には、到達不能になった経路の宛先アドレスプレフィックスが０個以上格納される。属性情報集合９２２には、追加経路集合９２３に付随する、０個以上の属性情報が格納される。一つの属性情報は、属性タイプ、属性長、属性値の三つ組で表される。属性タイプにはその属性情報のタイプ（ＡＳパス属性、ＭＥＤ属性、ネクストホップ属性、その他様々な属性）を表す値が格納される。属性長には、属性値のバイト長が格納される。属性値には、その属性情報の値（ＡＳパス、ＭＥＤ属性値など）が格納される。追加経路集合９２１には、新たに到達可能になった、もしくは既に到達可能であったが属性が更新された経路の宛先アドレスプレフィックスが０個以上格納される。追加経路集合９２１に含まれる追加・更新経路全てに、属性情報集合９２２に含まれる属性情報全てが適用される。
【００６５】
なお、ＩＰｖ４以外のネットワーク層プロトコル（ＩＰｖ６等）に関する経路情報を、ＢＧＰを用いて広告する場合には、取消経路集合９２１、追加経路集合９２３の代わりに、同等の機能を有する特殊な属性を用いて、到達不能・可能な宛先アドレスプレフィックスの集合を属性情報集合９２２に含めることになっている。ただし、本発明は、いずれのデータ構造で経路情報が広告された場合にも適用可能である。
図１０は、実施例１において、ＩＳＰ網側から本実施例のＢＡＳがＢＧＰ経路制御メッセージを受信して、それをユーザ網側へ中継する際の、送受信シーケンス図である。
【００６６】
ＢＡＳ１１−Ａは、ＩＳＰ網エッジルータ１１２−Ａ、１１２−Ｂから経路情報を受信した際に、経路情報のループのチェックを行わない。また、ユーザ網エッジルータ１１１−Ａ、１１１−Ｂへ経路情報を広告する際に、ＭＥＤ属性を元のままの値で経路情報に付加し、経路情報のＡＳパス属性に自己のＡＳ番号が既に存在すれば取り除き、自己のＡＳ番号をＡＳパス属性に追加せずに、その経路情報を広告する。これらの動作を除けば、図１０の送受信シーケンスは、通常のＢＧＰ経路制御による経路制御メッセージ送受信シーケンスと全く同一である。なお、図１０のシーケンス開始時点では、ユーザ網エッジルータ１１１−Ａ、１１１−ＢとＢＡＳ１１−Ａとの間、および、ＩＳＰ網エッジルータ１１２−Ａ、１１２−ＢとＢＡＳ１１−Ａとの間の双方に、既にＥＢＧＰピア接続が設けられており、アドレスプレフィックスＸに関する経路情報の広告はまだ何も行われていないこととする。しかし、ＩＳＰ網エッジルータ１１２−Ａ、１１２−Ｂが経路広告を行った後でピア接続確立した場合等、前記の場合以外の経路情報の広告についても、上記の属性操作の違いを除けば、通常のＢＧＰ経路制御による送受信シーケンスと全く同一の処理でよい。
【００６７】
以下、送受信シーケンスを詳しく説明する。ＩＳＰ網エッジルータ１  １１２−ＡからＢＡＳ１１−Ａへ、ＭＥＤ属性値が５０、ＡＳパス属性がＩＳＰ網のＡＳ番号１１のみである、宛先アドレスプレフィックスＸの経路追加に関する経路制御メッセージが送信されたとする（ステップ１０１１）。このメッセージを受信したＢＡＳ１１−Ａは、通常のＢＧＰ経路制御処理ならば、まずそのメッセージのＡＳパス属性に自己のＡＳ番号が含まれていないかどうかをチェックし、含まれていればその経路情報を破棄するが、本実施例のＢＡＳではこれを行わない。そして、通常のＢＧＰ経路制御処理と同様に、他のピアルータからそれまでに受信した宛先Ｘの経路情報と比較し、最適な経路を決定する。ここでは、宛先Ｘの経路情報を他のどのピアルータからも受信していないので、今回受信した経路情報が最適経路となる。新たに受信した経路情報が最適経路であれば、その経路情報による更新をＢＡＳ１１−Ａ自身の上りトラフィック用ＢＧＰ経路表に反映し、更新分に相当する経路情報を、経路制御メッセージとしてユーザ網エッジルータ１１１−Ａ、１１１−Ｂへ送信する（ステップ１０１２−Ａ、１０１２−Ｂ）。このとき、通常のＢＧＰ経路制御処理であれば、送信する経路情報には、受信した際のＭＥＤ属性値を付加せず、ＡＳパス属性の先頭に自己のＡＳ番号を追加するが、本実施例のＢＡＳは、受信した際のＭＥＤ属性値をそのまま付加し、ＡＳパス属性に自己のＡＳ番号を追加せず、代わりにＡＳパス属性から自己のＡＳ番号（もしくはＢＡＳ内に予め設定されたＡＳ番号集合の要素）を全て取り除く。
【００６８】
次に、ＩＳＰ網エッジルータ２  １１２−ＢからＢＡＳ１１−Ａへ、ＭＥＤ属性値が１５０、ＡＳパス属性がＩＳＰ網のＡＳ番号１１のみである、宛先アドレスプレフィックスＸの経路追加に関する経路制御メッセージが送信されたとする（ステップ１０２１）。このメッセージを受信したＢＡＳ１１−Ａは、ステップ１０１１のときと同様にＡＳパス属性チェック処理をスキップし、それから他のピアルータから受信した宛先Ｘの経路情報と比較し、最適な経路を決定する。ここでは、よりＭＥＤ属性値の小さい宛先Ｘの経路情報をＩＳＰ網エッジルータ１  １１２−Ａから既に受信しているので、今回受信した経路情報は最適経路とならない。このため、上りトラフィック用ＢＧＰ経路表の更新も、ユーザ網エッジルータ１１１−Ａ、１１１−Ｂへの経路情報の送信も行わない。
【００６９】
次に、ＩＳＰ網エッジルータ１  １１２−ＡからＢＡＳ１１−Ａへ、宛先アドレスプレフィックスＸの経路取消に関する経路制御メッセージが送信されたとする（ステップ１０３１）。このメッセージを受信したＢＡＳ１１−Ａは、ＩＳＰ網エッジルータ１  １１２−Ａから以前に受信した宛先Ｘの経路情報を破棄し、それからＩＳＰ網エッジルータ１  １１２−Ａ以外のピアルータから受信した宛先Ｘの経路情報同士を比較し、最適な経路を決定する。ここでは、ＩＳＰ網エッジルータ２  １１２−Ｂからステップ１０２１で受信した経路情報が最適経路となる。この更新をＢＡＳ１１−Ａ自身の上りトラフィック用ＢＧＰ経路表に反映し、更新分に相当する経路情報を、経路制御メッセージとしてユーザ網エッジルータ１１１−Ａ、１１１−Ｂへ送信する（ステップ１０３２−Ａ、１０３２−Ｂ）。このとき、ステップ１０１２−Ａ、１０１２−Ｂのときと同様に、受信した際のＭＥＤ属性値をそのまま付加し、ＡＳパス属性に自己のＡＳ番号を追加せず、代わりにＡＳパス属性から自己のＡＳ番号（もしくはＢＡＳ内に予め設定されたＡＳ番号集合の要素）を全て取り除く。
【００７０】
図１１は、実施例１の一部において、ユーザ網側から本実施例のＢＡＳがＢＧＰ経路制御メッセージを受信して、それをＩＳＰ網側へ中継する際の、送受信シーケンス図である。
ＢＡＳ１１−Ｄ、１１−Ｅは、ユーザ網エッジルータ１１１−Ｅから経路情報を受信した際に、経路情報ループのチェックをＩＳＰ網のＡＳ番号を用いて行うか、もしくは全く行わない。また、ＩＳＰ網エッジルータ１１２−Ｃへ経路情報を広告する際に、ＭＥＤ属性を元のままの値で経路情報に付加してその経路情報を広告する。この動作を除けば、図１１の送受信シーケンスは、通常のＢＧＰ経路制御による経路制御メッセージ送受信シーケンスと全く同一である。なお、図１１のシーケンス開始時点では、ユーザ網エッジルータ１１１−ＥとＢＡＳ１１−Ｄ、１１−Ｅとの間、および、ＩＳＰ網エッジルータ１１２−ＣとＢＡＳ１１−Ｄ、１１−Ｅとの間の双方に、既にＥＢＧＰピア接続が設けられており、アドレスプレフィックスＹに関する経路情報の広告はまだ何も行われていないこととする。しかし、ユーザ網エッジルータ１１１−Ｅが経路広告を行った後でピア接続確立した場合等、前記の場合以外の経路情報の広告についても、上記の属性操作の違いを除けば、通常のＢＧＰ経路制御による送受信シーケンスと全く同一の処理でよい。
【００７１】
以下、送受信シーケンスを詳しく説明する。ユーザ網エッジルータ１１１−ＥからＢＡＳ４  １１−Ｄへ、ＭＥＤ属性値が５０、ＡＳパス属性がユーザ網のＡＳ番号６５００１のみである、宛先アドレスプレフィックスＹの経路追加に関する経路制御メッセージが送信されたとする（ステップ１１１１）。このメッセージを受信したＢＡＳ４  １１−Ｄは、通常のＢＧＰ経路制御処理であれば、そのメッセージのＡＳパス属性に自己のＡＳ番号が含まれていないかどうかをチェックし、含まれていればその経路情報を破棄するが、本実施例のＢＡＳでは、このチェックにＩＳＰ網のＡＳ番号を用いるか、もしくはチェックを行わない。そして、通常のＢＧＰ経路制御処理と同様に、他のピアルータから受信した宛先Ｙの経路情報と比較し、最適な経路を決定する。ここでは、宛先Ｙの経路情報を他のどのピアルータからも受信していないので、今回受信した経路情報が最適経路となる。新たに受信した経路情報が最適経路であれば、その経路情報による更新をＢＡＳ４  １１−Ｄ自身の下りトラフィック用ＢＧＰ経路表に反映し、更新分に相当する経路情報を、経路制御メッセージとしてＩＳＰ網エッジルータ１１２−Ｃへ送信する（ステップ１１１２）。このとき、通常のＢＧＰ経路制御処理であれば、送信する経路情報には、受信した際のＭＥＤ属性値を付加しないが、本実施例のＢＡＳは、受信した際のＭＥＤ属性値をそのまま付加する。ＡＳパス属性については、通常のＢＧＰ経路制御処理と同様に、その先頭に自己のＡＳ番号を追加する。これらＭＥＤ属性やＡＳパス属性等の経路制御メッセージの処理は、プロセッサ２１１で実行される。
次に、ユーザ網エッジルータ  １１１−ＥからＢＡＳ５  １１−Ｅへ、ＭＥＤ属性値が１００、ＡＳパス属性がユーザ網のＡＳ番号６５００１のみである、宛先アドレスプレフィックスＹの経路追加に関する経路制御メッセージが送信されたとする（ステップ１１２１）。このメッセージを受信したＢＡＳ５  １１−Ｅは、ステップ１１１１のときのＢＡＳ４  １１−Ｄと同様の受信処理、最適経路決定処理、経路表更新処理を行い、更新分に相当する経路情報を、ステップ１１１２と同様に送信する（ステップ１１２２）。
次に、ユーザ網エッジルータ  １１１−ＥからＢＡＳ４  １１−Ｄへ、宛先アドレスプレフィックスＹの経路取消に関する経路制御メッセージが送信されたとする（ステップ１１３１）。このメッセージを受信したＢＡＳ４  １１−Ｄは、ユーザ網エッジルータ１１１−Ｅから以前に受信した宛先Ｙの経路情報を破棄し、それからユーザ網エッジルータ１１１−Ｅ以外のピアルータから受信した宛先Ｙの経路情報同士を比較し、最適な経路を決定する。ここでは、宛先Ｙの経路情報を他のどのピアルータからも受信していないので、ＢＡＳ４  １１−Ｄは宛先Ｙへの経路を失ったことになる。この更新、すなわち宛先Ｙへの経路の取消をＢＡＳ４  １１−Ｄ自身の下りトラフィック用ＢＧＰ経路表に反映し、更新分に相当する経路情報、すなわち宛先Ｙの経路取消を、経路制御メッセージとしてＩＳＰ網エッジルータ１１２−Ｃへ送信する（ステップ１１３２）。
【実施例２】
【００７２】
図１２は、実施例２のネットワーク構成、および、本発明のＢＧＰ経路制御方法を表す図である。
本実施例では、企業の主拠点網１２０３と、一つ以上の副拠点網１２０１−Ａ、１２０１−Ｂ、１２０１−Ｃが、本実施例のＬＮＳ（L2TP Network Server）  １２１２−Ａ、１２１２−Ｂを挟んで接続されている。これらのネットワーク構成要素は、実施例１のネットワーク構成要素と対応した役目を持っている。すなわち、本実施例の主拠点網１２０３は、実施例１のＩＳＰ網１０３に相当する。これらは副拠点網と副拠点網（もしくはユーザ網とユーザ網）の間のトラフィックを通過させるトランジットＡＳであるという点で同一であり、用途がそれぞれ異なるだけである。ただし、本実施例の主拠点網１２０３はトランジットＡＳでなくても、すなわちスタブＡＳであっても、本発明は適用可能である。主拠点網１２０３をスタブＡＳとした場合、主拠点網と副拠点網との間の通信は可能だが、副拠点網と別の副拠点網との間の通信はできなくなる。本実施例の副拠点網１２０１は、実施例１のユーザ網１０１に相当する。これらは主拠点網（もしくはＩＳＰ網）との間で自ＡＳ発または自ＡＳ宛のトラフィックのみを送受信するスタブＡＳであるという点で同一であり、用途がそれぞれ異なるだけである。本実施例のＬＮＳ  １２１２は、実施例１のＢＡＳ１１に相当する。これらは本発明のＢＧＰ経路制御方法を実行するＢＧＰルータであるという点で同一であり、本実施例のＬＮＳ  １２１２では副拠点網側の回線がＬ２ＴＰというトンネリングプロトコルによるレイヤ２仮想回線であることを除いて、機能的にも同一である。
【００７３】
主拠点網１２０３、副拠点網１２０１−Ａ、１２０１−Ｂ、１２０１−Ｃは、それぞれ異なるＡＳとして構成され、いずれも互いに異なるプライベートＡＳ番号を持つ。また、実施例１のＢＡＳと同様に、本実施例のＬＮＳ  １２１２−Ａ、１２１２−Ｂはいずれも、互いに同一で、主拠点網１２０３、副拠点網１２０１−Ａ、１２０１−Ｂ、１２０１−Ｃのいずれとも異なるプライベートＡＳ番号を、自己のＡＳ番号として持つ。
【００７４】
本実施例のＬＮＳ  １２１２−Ａ、１２１２−Ｂはいずれも、主拠点網エッジルータ１２１３−Ａ、１２１３−Ｂの両方と接続されている。なお、実施例１と同様に、１台のＬＮＳが接続される主拠点網エッジルータは、必ず全て同じＡＳに属さなければならない。
【００７５】
本実施例のＬＮＳ  １２１２−Ａ、１２１２−Ｂと、副拠点網１２０１−Ａ、１２０１−Ｂ、１２０１−Ｃとの間には、ＬＡＣ（L2TP Access Concentrator）  １２１４−Ａ、１２１４−Ｂ、１２１４−Ｃが置かれる。ＬＡＣ  １２１４とＬＮＳ  １２１２との間にはＬ２ＴＰでトンネリングを行うためのＩＰ網である、Ｌ２ＴＰ網１２０４が存在し、ＬＡＣ  １２１４とＬＮＳ  １２１２との間で、図のようにＬ２ＴＰによる仮想的なレイヤ２回線が設けられる。副拠点網エッジルータ１２１１−Ａ、１２１１−Ｂ、１２１１−Ｃは、それぞれＬＡＣ  １２１４−Ａ、１２１４−Ｂ、１２１４−Ｃと物理的もしくは論理的な回線で接続されており、この回線上で、ＬＮＳとＬＡＣとの間のＬ２ＴＰトンネルに１対１で対応するトンネルを、ＰＰＰプロトコルを用いて設けている。これにより、副拠点網エッジルータ１２１１−Ａ、１２１１−Ｂ、１２１１−Ｃは、本実施例のＬＮＳ  １２１２−Ａ、１２１２−Ｂそれぞれと、ＩＰレイヤのレベルで直結していることになる。ＬＡＣ  １２１４は、Ｌ２ＴＰ網１２０４内部に対してはルータとして動作するが、外部に対してはＩＰレイヤについて透過であるので、副拠点網エッジルータ１２１１とＬＮＳ  １２１２との間のＢＧＰ経路制御について考える際には、ＬＡＣ  １２１４の存在を無視できる。
【００７６】
なお、本発明を実施するにあたっては、本発明のＢＧＰ経路制御方法を備えたＢＧＰルータ（本実施例のＬＡＣや実施例１のＢＡＳ）と、そのピアルータとの間で、レイヤ２での接続性が保たれていればどのような回線を用いてもよい。例えば、本実施例の副拠点網エッジルータ１２１１とＬＮＳ  １２１２との間を、ＭＰＬＳやＩＰＳｅｃ（Security Architecture for Internet Protocol）等の、レイヤ２の接続性を提供する他のトンネリングプロトコルで接続してもかまわない。
以上の接続回線の上で、主拠点網エッジルータ１２１３−Ａ、１２１３−Ａはいずれも、本実施例のＬＮＳ  １２１２−Ａ、１２１２−Ｂの両方とＥＢＧＰピア接続を設ける。副拠点網エッジルータ１２１１−Ａ、１２１１−Ｂ、１２１１−Ｃはいずれも、本実施例のＬＮＳ  １２１２−Ａ、１２１２−Ｂの両方とＥＢＧＰピア接続を設ける。本実施例のＬＮＳ  １２１２−Ａ、１２１２−Ｂは本発明のＢＧＰ経路制御方法に従った経路制御を行うので、これらのピア接続を通して、主拠点網１２０３と副拠点網１２０１−Ａ、１２０１−Ｂ、１２０１−Ｃとの間で、ＢＧＰによるポリシー経路制御を行うことが可能となる。
例えば、主拠点網内にあるＩＰアドレスプレフィックスＺのネットワークへの到達経路に関する経路情報を、ＢＧＰを用いて各副拠点網へ流す場合を考える。ただし、主拠点網１２０３内のネットワーク構成や、主拠点網１２０３とＬＮＳ  １２１２との間の回線バンド幅等の都合により、主拠点網エッジルータ１２１３−ＡとＬＮＳ  １２１２−Ａとの間の回線、主拠点網エッジルータ１２１３−ＢとＬＮＳ  １２１２−Ｂとの間の回線、主拠点網エッジルータ１２１３−ＡとＬＮＳ  １２１２−Ｂとの間の回線、主拠点網エッジルータ１２１３−ＢとＬＮＳ  １２１２−Ａとの間の回線の優先順位で、アドレスプレフィックスＺにマッチする宛先を持つＩＰパケットを通過させたいとする。
【００７７】
この場合、主拠点網エッジルータ１２１３−ＡからＬＮＳ  １２１２−ＡへはＭＥＤ属性値を５０、主拠点網エッジルータ１２１３−ＢからＬＮＳ  １２１２−ＢへはＭＥＤ属性値を１００、主拠点網エッジルータ１２１３−ＡからＬＮＳ  １２１２−ＢへはＭＥＤ属性値を１５０、主拠点網エッジルータ１２１３−ＢからＬＮＳ  １２１２−ＡへはＭＥＤ属性値を２００として、宛先Ｚに関するＢＧＰ経路情報を広告すればよい。これらの経路情報を受信した本実施例のＬＮＳ  １２１２−Ａ、１２１２−Ｂは、宛先Ｚに関する経路情報を比較して最適経路を選択し、その最適経路の経路情報を、ＭＥＤ属性値を保ったままで副拠点網エッジルータ１２１１−Ａ、１２１１−Ｂ、１２１１−Ｃへ広告する。これにより、ＬＮＳ  １２１２−ＡからはＭＥＤ属性値５０、ＬＮＳ  １２１２−ＢからはＭＥＤ属性値１００の、宛先Ｚに関する経路情報が、副拠点網エッジルータ１２１１−Ａ、１２１１−Ｂ、１２１１−Ｃそれぞれに届くことになる。しかも、副拠点網エッジルータ１２１１からは、本実施例のＬＮＳ  １２１２−Ａ、１２１２−Ｂは主拠点網１２０３のＡＳに属しているように見える。このため、副拠点網エッジルータ１２１１は、ＭＥＤ属性を用いて両者の経路情報を比較し、よりＭＥＤ属性値の小さいＬＮＳ  １２１２−Ａからの経路情報を最適経路として選択する。
【００７８】
結果として、副拠点網１２０１−Ａ、１２０１−Ｂ、１２０１−Ｃから主拠点網１２０３内のネットワーク１２２１に宛てたＩＰパケットトラフィックは、ＬＮＳ  １２１２−Ａと主拠点網エッジルータ１２１３−Ａを経由して届くことになる。もし、主拠点網エッジルータ１２１３−Ａ、ＬＮＳ  １２１２−Ａ、それらを結ぶ回線のいずれかに障害が発生した場合は、ＭＥＤ属性値５０の経路情報は取り消され、ＭＥＤ属性値１００の経路情報が最適経路になるので、ＬＮＳ  １２１２−Ｂと主拠点網エッジルータ１２１３−Ｂを経由した経路に切り替わる。
【図面の簡単な説明】
【００７９】
【図１】実施例１のネットワーク構成、および、本発明のＢＧＰ経路制御方法を表す図である。
【図２】本実施例のＢＡＳの機能を満たすことが可能な内部処理アーキテクチャの一例を示す図である。
【図３】実施例１の一部における、本発明のＢＧＰ経路制御方法によるピア接続確立処理時のオープンメッセージを表す図である。
【図４】従来の企業向けアクセス回線による、ユーザ網とＩＳＰ網との間のネットワーク構成、および、その構成での従来のＢＧＰ経路制御方法を表す図である。
【図５】実施例１と同様のネットワーク構成で、本発明のＢＧＰ経路制御方法を備えない従来のＢＧＰルータをＢＡＳとして用いた場合の、ＢＧＰ経路制御の動作を表す図である。
【図６】実施例１と同様のネットワーク構成で、ユーザ網とＩＳＰ網との間でＥＢＧＰマルチホップ接続を設けてＢＧＰ経路制御を行い、ＢＡＳをＢＧＰ経路制御に参加させない構成にした場合の、ＥＢＧＰマルチホップ接続の形態を表す図である。
【図７】ＢＧＰパケットのデータ構造を表す図である。
【図８】ＢＧＰオープンメッセージのデータ構造を表す図である。
【図９】ＢＧＰアップデートメッセージのデータ構造を表す図である。
【図１０】実施例１の一部において、ＩＳＰ網側から本実施例のＢＡＳがＢＧＰ経路制御メッセージを受信して、それをユーザ網側へ中継する際の、送受信シーケンス図である。
【図１１】実施例１の一部において、ユーザ網側から本実施例のＢＡＳがＢＧＰ経路制御メッセージを受信して、それをＩＳＰ網側へ中継する際の、送受信シーケンス図である。
【図１２】実施例２のネットワーク構成、および、本発明のＢＧＰ経路制御方法を表す図である。
【符号の説明】
【００８０】
１１：本実施例のＢＡＳ、１０１：ユーザ網のＡＳ、１０２：ＢＡＳのＡＳ、１０３：ＩＳＰ網のＡＳ、１０４：インターネット、１１１：ユーザ網エッジルータ、１１２：ＩＳＰ網エッジルータ、１１３：ＩＳＰ網の上流用エッジルータ、１２１：アドレスプレフィックスＸを持つＩＳＰ網内ネットワーク、１２２：アドレスプレフィックスＹを持つユーザ網内ネットワーク、２０１：制御処理部、２０２：下流インターフェース部、２０３：上流インターフェース部、２０４：バックプレーン、２１１：制御処理用プロセッサ、２１２：補助記憶装置、２１３：主記憶装置、２１５：プログラムコード、２１７：初期設定データ、２２１：パケット転送処理用プロセッサ（下流インターフェース部内）、２２２：転送処理用メモリ（下流インターフェース部内）、２２５：プログラム（下流インターフェース部内）、２２７：下流インターフェース用経路表、２３１：パケット転送処理用プロセッサ（上流インターフェース部内）、２３２：転送処理用メモリ（上流インターフェース部内）、２３５：プログラム（上流インターフェース部内）、２３７：上流インターフェース用経路表、２５１：ＯＳ・デバイスドライバ、２５２：経路制御処理管理プロセス、２５３：他の制御処理プロセス群、２５４：他の経路制御処理プロセス群、２５５：ＢＧＰ経路制御プロセス、２６２：上りトラフィック用ＢＧＰ経路表、２６３：下りトラフィック用ＢＧＰ経路表、３０１：ＢＡＳからユーザ網へのオープンメッセージ、３０２：ＢＡＳからＩＳＰ網へのオープンメッセージ、３０３：ユーザ網からＢＡＳへのオープンメッセージ、３０４：ＩＳＰ網からＢＡＳへのオープンメッセージ、５０２：従来のＢＧＰ対応ＢＡＳのＡＳ、５１１：従来のＢＧＰ対応ＢＡＳ、６１１：従来のＢＡＳ（ＢＧＰ対応不要）、６２１：ＥＢＧＰマルチホップ接続、７０１：ＩＰヘッダ、７０２：ＴＣＰヘッダ、７０３：ＴＣＰデータ、７１１：送信元アドレス、７１２：宛先アドレス、７２１：送信元ポート、７２２：宛先ポート、８０１：ＢＧＰメッセージヘッダ、８０２：オープンメッセージデータ、８１１：メッセージ長、８１２：メッセージタイプ、８２１：自ＡＳ番号、９０２：アップデートメッセージデータ、９２１：取消経路集合、９２２：属性情報集合、９２３：追加経路集合、１２０１：副拠点網、１２０２：ＬＮＳのＡＳ、１２０３：主拠点網、１２０４：Ｌ２ＴＰ網、１２１１：副拠点網エッジルータ、１２１２：本実施例のＬＮＳ、１２１３：主拠点網エッジルータ、１２１４：ＬＡＣ、１２２１：アドレスプレフィックスＺを持つ主拠点網内ネットワーク。
【図１】
2005130228.tif 000003
【図２】
2005130228.tif 000004
【図３】
2005130228.tif 000005
【図４】
2005130228.tif 000006
【図５】
2005130228.tif 000007
【図６】
2005130228.tif 000008
【図７】
2005130228.tif 000009
【図８】
2005130228.tif 000010
【図９】
2005130228.tif 000011
【図１０】
2005130228.tif 000012
【図１１】
2005130228.tif 000013
【図１２】
2005130228.tif 000014