(57)【要約】【課題】  障害の監視性能が改善されたパケット転送装置、パケット転送システム、及びパケット転送方法を提供する。【解決手段】  パケット転送装置は、他装置との間で第１プロトコルに基づく通信セッションを確立することにより、パケットの経路情報を交換し、交換した前記経路情報に基づいてパケットを転送し、前記他装置から前記第１プロトコルに基づく通信セッションの確立を要求する要求メッセージを受信したとき、前記他装置に前記経路情報を送信する経路処理部と、前記要求メッセージに含まれる障害監視設定が有効である場合、前記経路処理部に前記経路情報の送信処理を待機させた後、前記他装置との間で第２プロトコルに基づく通信セッションを確立することにより、前記他装置との通信の障害監視を開始し、該開始後に前記経路処理部に前記経路情報を送信させる監視処理部とを有する。【選択図】図３
2016048850.tif 000002
【特許請求の範囲】
【請求項１】
他装置との間で第１プロトコルに基づく通信セッションを確立することにより、パケットの経路情報を交換し、交換した前記経路情報に基づいてパケットを転送するパケット転送装置において、
前記他装置から前記第１プロトコルに基づく通信セッションの確立を要求する要求メッセージを受信したとき、前記他装置に前記経路情報を送信する経路処理部と、
前記要求メッセージに含まれる障害監視設定が有効である場合、前記経路処理部に前記経路情報の送信処理を待機させた後、前記他装置との間で第２プロトコルに基づく通信セッションを確立することにより、前記他装置との通信の障害監視を開始し、該開始後に前記経路処理部に前記経路情報を送信させる監視処理部とを有することを特徴とするパケット転送装置。
【請求項２】
情報を記録する記録部をさらに有し、
前記監視処理部は、
前記要求メッセージに含まれる障害監視設定が有効である場合、前記要求メッセージの送信元を示す第１送信元情報を前記記録部に記録し、
前記他装置との通信の障害監視の開始後、前記第２プロトコルに基づく通信セッションにより前記他装置から受信した監視パケットの送信元を示す第２送信元情報を、前記第１送信元情報と照合し、該照合の結果、前記第２送信元情報が前記第１送信元情報に一致した場合、前記経路処理部に前記経路情報を送信させることを特徴とする請求項１に記載のパケット転送装置。
【請求項３】
前記監視処理部は、
前記障害監視設定が無効である場合、前記第１プロトコルに基づく通信セッションが確立されることにより、前記他装置との通信の障害監視を行い、
前記第２プロトコルに基づく通信セッションによる障害監視において、前記第１プロトコルに基づく通信セッションによる障害監視より短い時間間隔で前記他装置と監視パケットを送受信することを特徴とする請求項１または２に記載のパケット転送装置。
【請求項４】
第１プロトコルに基づく通信セッションを確立することにより、パケットの経路情報を交換し、交換した前記経路情報に基づいてパケットを転送する第１パケット転送装置及び第２パケット転送装置を有するパケット転送システムにおいて、
前記第１パケット転送装置及び前記第２パケット転送装置は、
障害監視の有無に関する障害監視設定を含み、前記第１プロトコルに基づく通信セッションの確立を要求する要求メッセージを互いに送受信し、
受信した前記要求メッセージに含まれる前記障害監視設定が有効である場合、前記経路情報の送信処理を待機させた後、第２プロトコルに基づく通信セッションを確立することにより、前記第１パケット転送装置及び前記第２パケット転送装置間の通信の障害監視を開始し、
該開始後に前記経路情報を互いに送受信することを特徴とするパケット転送システム。
【請求項５】
他装置との間で第１プロトコルに基づく通信セッションを確立することにより、パケットの経路情報を交換し、交換した前記経路情報に基づいてパケットを転送するパケット転送方法において、
前記他装置から前記第１プロトコルに基づく通信セッションの確立を要求する要求メッセージを受信し、
前記要求メッセージに含まれる障害監視設定が有効である場合、前記他装置への前記経路情報の送信処理を待機させた後、前記他装置との間で第２プロトコルに基づく通信セッションを確立することにより、前記他装置との通信の障害監視を開始し、
該開始後に前記他装置に前記経路情報を送信することを特徴とするパケット転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、パケット転送装置、パケット転送システム、及びパケット転送方法に関する。
【背景技術】
【０００２】
ネットワーク規模の拡大に伴い、ネットワーク間におけるパケットの経路制御、つまりルーティングの性能の重要度が増している。ルータは、ＢＧＰ（Border Gateway Protocol）及びＯＳＰＦ（Open Shortest Path First）などのルーティングプロトコルに従ってパケットを転送する（例えば特許文献１，２参照）。なお、ＢＧＰ及びＯＳＰＦは、ＲＦＣ（Request For Comments）４２７１，２３２８にそれぞれ規定されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１７５４２５号公報
【特許文献２】特開２００２−３５９６３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ルータは、起動時または隣接ノードとのリンクを検出したとき、ルーティングプロトコルに従い、隣接ノードのルータとの間で、パケットの経路情報を交換した後、一定の間隔で監視用のパケットを送受信することにより通信障害を監視する。例えば、ＢＧＰの場合、６０秒間隔（デフォルト値）でキープアライブ（Keep Alive）パケットが送受信され、ＯＳＰＦの場合、１０秒間隔（デフォルト値）でハロー（Hello）パケットが送受信される。
【０００５】
このように、ルーティングプロトコルでは、障害監視の時間間隔が秒単位で規定されているため、通信障害の発生から検出までに長い時間を要するという問題がある。
【０００６】
そこで、通信障害を早期に検出するため、例えば、数百ミリ秒間隔でハローパケットを送受信することにより通信障害を監視するＢＦＤ（Bidirectional Forwarding Detection）プロトコルが、ルーティングプロトコルとともに用いられることがある。この場合、ルータは、先にルーティングプロトコルに基づく通信セッションを確立し、ネットワーク内のパケットの経路が確定された後、ＢＦＤプロトコルに基づく通信セッションを確立する。なお、ＢＦＤは、ＲＦＣ５８８０に規定されている。
【０００７】
しかし、ＢＦＤプロトコルに基づく通信セッションの確立前に通信障害が発生した場合、ルーティングプロトコルに基づく長い時間間隔で通信障害の監視が行われるため、やはり、通信障害の発生から検出までに長い時間を要する。このとき、ルータ間では、ルーティングプロトコルに従って経路情報が交換済みであるので、各ルータは、ユーザパケットの送信を開始している。
【０００８】
このため、ルーティングプロトコルに従う障害監視により通信障害が検出されてから、ユーザパケットの経路が、障害を迂回する経路に切り替えられるまでの長い時間に多くのユーザパケットが廃棄されてしまい、通信サービスの質が低下するおそれがある。
【０００９】
そこで本件は上記の課題に鑑みてなされたものであり、障害の監視性能が改善されたパケット転送装置、パケット転送システム、及びパケット転送方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本明細書に記載のパケット転送装置は、他装置との間で第１プロトコルに基づく通信セッションを確立することにより、パケットの経路情報を交換し、交換した前記経路情報に基づいてパケットを転送するパケット転送装置において、前記他装置から前記第１プロトコルに基づく通信セッションの確立を要求する要求メッセージを受信したとき、前記他装置に前記経路情報を送信する経路処理部と、前記要求メッセージに含まれる障害監視設定が有効である場合、前記経路処理部に前記経路情報の送信処理を待機させた後、前記他装置との間で第２プロトコルに基づく通信セッションを確立することにより、前記他装置との通信の障害監視を開始し、該開始後に前記経路処理部に前記経路情報を送信させる監視処理部とを有する。
【００１１】
本明細書に記載のパケット転送システムは、第１プロトコルに基づく通信セッションを確立することにより、パケットの経路情報を交換し、交換した前記経路情報に基づいてパケットを転送する第１パケット転送装置及び第２パケット転送装置を有するパケット転送システムにおいて、前記第１パケット転送装置及び前記第２パケット転送装置は、障害監視の有無に関する障害監視設定を含み、前記第１プロトコルに基づく通信セッションの確立を要求する要求メッセージを互いに送受信し、受信した前記要求メッセージに含まれる前記障害監視設定が有効である場合、前記経路情報の送信処理を待機させた後、第２プロトコルに基づく通信セッションを確立することにより、前記第１パケット転送装置及び前記第２パケット転送装置間の通信の障害監視を開始し、該開始後に前記経路情報を互いに送受信する。
【００１２】
本明細書に記載のパケット転送方法は、他装置との間で第１プロトコルに基づく通信セッションを確立することにより、パケットの経路情報を交換し、交換した前記経路情報に基づいてパケットを転送するパケット転送方法において、前記他装置から前記第１プロトコルに基づく通信セッションの確立を要求する要求メッセージを受信し、前記要求メッセージに含まれる障害監視設定が有効である場合、前記他装置への前記経路情報の送信処理を待機させた後、前記他装置との間で第２プロトコルに基づく通信セッションを確立することにより、前記他装置との通信の障害監視を開始し、該開始後に前記他装置に前記経路情報を送信する方法である。
【発明の効果】
【００１３】
障害の監視性能を改善できる。
【図面の簡単な説明】
【００１４】
【図１】パケット転送システムの一例を示す構成図である。
【図２】比較例におけるルータ間の通信を示すシーケンス図である。
【図３】実施例におけるルータ間の通信を示すシーケンス図である。
【図４】ＢＧＰ  ＯＰＥＮメッセージの受信時の動作の一例を示す図である。
【図５】ＢＧＰ  ＯＰＥＮメッセージの一例を示す構成図である。
【図６】ハローパケットの受信時の動作の一例を示す図である。
【図７】ＢＦＤ設定が無効である場合のルータ間の通信を示すシーケンス図である。
【図８】ルータの一例を示す構成図である。
【図９】経路処理の一例を示すフローチャートである。
【図１０】障害の監視処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
図１は、パケット転送システムの一例を示す構成図である。パケット転送システムは、一例として３つのルータ１ａ〜１ｃを有するが、ルータ数は限定されない。
【００１６】
ルータ１ａ〜１ｃは、パケットを転送するパケット転送装置の一例である。ルータ１ａ〜１ｃは、一例としてＩＰアドレス「3.3.3.3」、「3.3.3.1」、及び「3.3.3.2」がそれぞれ割り当てられている。
【００１７】
ルータ１ａ〜１ｃは、光ファイバなどの通信ケーブルを介して互いに接続されている。ルータ１ａ〜１ｃは、接続先ごとに、パケットを送受信するためのポート（＃１〜＃３）を有している。なお、ルータ１ａ〜１ｃの転送対象のパケットとしては、例えばＩＰ（Internet Protocol）パケット、イーサネット（登録商標）フレーム、及びＡＴＭ（Asynchronous Transfer Mode）セルなどが挙げられる。
【００１８】
ルータ１ｂは、ポート＃１〜＃３を介して端末装置２ａ、ルータ１ａ、及びルータ１ｃとそれぞれ接続されている。ルータ１ａは、ポート＃１，＃２を介してルータ１ｂ及びルータ１ｃとそれぞれ接続されている。ルータ１ｃは、ポート＃１〜＃３を介して端末装置２ｂ、ルータ１ａ、及びルータ１ｂとそれぞれ接続されている。なお、ルータ１ａ〜１ｃの接続形態に限定はない。
【００１９】
端末装置２ａ，２ｂとしては、例えばパーソナルコンピュータ及びサーバなどが挙げられる。端末装置２ａ，２ｂは、一例としてＩＰアドレス「1.1.1.1」及び「2.2.2.2」がそれぞれ割り当てられている。端末装置２ａ，２ｂは、パケット転送システムを介してユーザパケットを互いに送受信する。
【００２０】
ルータ１ａ〜１ｃは、ルーティングテーブルＲＴａ〜ＲＴｃに基づいて、端末装置２ａ，２ｂ間を結ぶパケットの経路Ｒ１，Ｒ２を制御する。ルータ１ａ〜１ｃは、ルーティングプロトコルに基づいて経路情報を交換することにより、ルーティングテーブルＲＴａ〜ＲＴｃをそれぞれ生成または更新する。
【００２１】
ルーティングテーブルＲＴａ〜ＲＴｃには、ユーザパケットの宛先のＩＰアドレスを示す「宛先」と、該ユーザパケットを出力（送信）するポート番号（＃１〜＃３）とが対応付けられて登録されている。例えば、ルータ１ａは、宛先のＩＰアドレスが「1.1.1.1」であるユーザパケットを、ポート＃１を介してルータ１ｂに送信し、宛先のＩＰアドレスが「2.2.2.2」であるユーザパケットを、ポート＃２を介してルータ１ｃに送信する。なお、ポート番号は、ルーティングテーブルＲＴａ〜ＲＴｃ内のパラメータの一例として示されたものであり、ルーティングテーブルＲＴａ〜ＲＴｃには、例えばゲートウェイアドレスや経路コストなどの他のパラメータも含まれる。
【００２２】
ルータ１ａ〜１ｃは、第１プロトコルの一例であるＢＧＰに基づいて通信セッションを確立することにより、パケットの経路情報を交換する。経路情報には、例えば隣接するノードのＩＰアドレス及び当該ノードの経路コスト（距離）が含まれる。なお、本実施例では、ルーティングプロトコルの一例としてＢＧＰを挙げるが、これに限定されず、ＯＳＰＦなどの他のルーティングプロトコルが用いられてもよい。
【００２３】
例えば、ルータ１ｂは、隣接する端末装置２ａのＩＰアドレス「1.1.1.1」及び経路コストをルータ１ａ，１ｃに通知する。さらに、ルータ１ａは、ルータ１ｂから通知されたＩＰアドレス「1.1.1.1」、及びルータ１ａ，１ｂ間の経路コストを、通知された経路コストに加算してルータ１ｃに通知する。また、ルータ１ｃは、隣接する端末装置２ｂのＩＰアドレス「2.2.2.2」及び経路コストをルータ１ａ，１ｂに通知する。さらに、ルータ１ａは、ルータ１ｃから通知されたＩＰアドレス「2.2.2.2」、及びルータ１ｃ，１ａ間の経路コストを、通知された経路コストに加算してルータ１ｂに通知する。
【００２４】
これにより、ルータ１ａ〜１ｃは、ルーティングテーブルＲＴａ〜ＲＴｃの「宛先」及び「ポート番号」に、経路情報内のＩＰアドレス及び経路情報を受信したポート番号をそれぞれ登録する。なお、ルーティングテーブルＲＴａ〜ＲＴｃには、端末装置２ａ，２ｂ間を結ぶ経路Ｒ１，Ｒ２に関する経路情報が例示されている。
【００２５】
本例において、ルータ１ｃは、ルータ１ｂ,１ａから同一のＩＰアドレス「1.1.1.1」を含む経路情報をそれぞれ受信するが、経路コストが小さい方の経路情報をルーティングテーブルＲＴｃに登録し、他方の経路情報は、予備として記憶しておく。また、ルータ１ｂは、ルータ１ａ,１ｃから同一のＩＰアドレス「2.2.2.2」を含む経路情報をそれぞれ受信するが、経路コストが小さい方の経路情報をルーティングテーブルＲＴｂに登録し、他方の経路情報は、予備として記憶しておく。なお、予備として記憶された経路情報は、ルーティングテーブルＲＴｂ，ＲＴｃのカッコ内に記載されている。
【００２６】
つまり、ルータ１ａ〜１ｃは、端末装置２ａ，２ｂを結ぶ２つの経路Ｒ１，Ｒ２のうち、距離が短い経路Ｒ１に対応する経路情報をルーティングテーブルＲＴａ〜ＲＴｃに登録する。これにより、端末装置２ａ，２ｂ間の通信に要する時間が短縮される。
【００２７】
しかし、経路Ｒ１に障害が発生した場合、ルータ１ａ〜１ｃは、他方の経路Ｒ２に対応する経路情報、つまり予備として記憶された経路情報をルーティングテーブルＲＴａ〜ＲＴｃに登録する。例えば、バツ印で示されるように、ルータ１ｂ，１ｃ間の通信ケーブルに障害が発生した場合、ルータ１ｂ，１ｃは、通信障害を検出して、端末装置２ａ，２ｂ間の経路Ｒ１を、障害がない経路Ｒ２に切り替える。
【００２８】
このとき、ルータ１ｂ，１ｃは、障害が発生した経路Ｒ１に関する経路情報をルーティングテーブルＲＴｂ、ＲＴｃからそれぞれ削除して、予備の経路情報として記憶する。より具体的には、ルーティングテーブルＲＴｂからＩＰアドレス「2.2.2.2」及びポート番号「＃３」の経路情報が削除され、ルーティングテーブルＲＴｃからＩＰアドレス「1.1.1.1」及びポート番号「＃３」の経路情報が削除される。
【００２９】
ルータ１ｂ，１ｃは、最初に予備として記憶された経路情報（カッコ内参照）をルーティングテーブルＲＴｂ、ＲＴｃに登録することにより、他方の経路Ｒ２を介してユーザパケットを転送し始める。これにより、端末装置２ａ，２ｂ間の通信が継続される。
【００３０】
ルータ１ｂ，１ｃは、通信障害を検出しても、障害が発生した経路Ｒ１に関する経路情報がルーティングテーブルＲＴｂ、ＲＴｃから削除されるまで、ユーザパケットの送信を継続するため、ルータ１ｂ，１ｃ間の障害の発生箇所においてユーザパケットの廃棄が生ずる。したがって、ユーザパケットの廃棄数を低減するためには、通信障害を早期に検出することが重要である。
【００３１】
ルータ１ｂ，１ｃは、通信障害を検出するため、ＢＧＰに従い、６０秒間隔（デフォルト値）でキープアライブパケットを送受信する。このため、障害を検出するまでのキープアライブパケットの未受信回数を３回と仮定すると、障害検出に１８０秒（＝６０秒×３回）を要する。なお、ＯＳＰＦの場合、１０秒間隔（デフォルト値）でハローパケットが送受信されるため、障害を検出するまでのハローパケットの未受信回数を３回と仮定すると、障害検出に３０秒（＝１０秒×３回）を要する。
【００３２】
したがって、ルータ１ａ〜１ｃは、通信障害を早期に検出するため、ＢＧＰとともに、第２プロトコルの一例であるＢＦＤプロトコルを用いる。ＢＦＤプロトコルによると、数百ミリ秒間隔でハローパケットを送受信することにより通信障害を監視することが可能である。
【００３３】
図２は、比較例におけるルータ１ｂ，１ｃ間の通信を示すシーケンス図である。比較例において、ルータ１ａ〜１ｃは、ＢＧＰに基づく通信セッションを確立することにより、経路情報を交換した後、ＢＦＤに基づく通信セッションを確立することにより、通信障害の監視を開始する。なお、本比較例では、ルータ１ｂ，１ｃ間の通信を例に挙げて説明するが、ルータ１ａ，１ｃ間及びルータ１ａ，１ｂ間の通信も同様に行われる。
【００３４】
ルータ１ｂ，１ｃは、互いに接続されることにより、リンクアップを検出する（符号ＳＱ１参照）。なお、リンクアップ及びリンクダウンは、ルータ１ｂ，１ｃの各ポートにおいて検出される。
【００３５】
次に、ルータ１ｂ，１ｃは、互いにＢＧＰ  ＯＰＥＮメッセージを送受信する（符号ＳＱ２参照）。ＢＧＰ  ＯＰＥＮメッセージは、ＢＧＰに基づく通信セッションの確立を要求する要求メッセージの一例である。ＢＧＰ  ＯＰＥＮメッセージを送受信することにより、ルータ１ｂ，１ｃ間において、ＢＧＰに基づく通信セッションが確立する（符号ＳＱ３参照）。
【００３６】
次に、ルータ１ｂ，１ｃは、互いにＢＧＰ  ＵＰＤＡＴＥメッセージを送受信する（符号ＳＱ４参照）。ＢＧＰ  ＵＰＤＡＴＥメッセージには経路情報が含まれており、ルータ１ｂ，１ｃは、ＢＧＰ  ＵＰＤＡＴＥメッセージを送受信することにより、経路情報を交換する。
【００３７】
ルータ１ｂ，１ｃは、交換した経路情報に基づいてルーティングテーブルＲＴｂ，ＲＴｃを生成する。ルータ１ｂ，１ｃは、ルーティングテーブルＲＴｂ，ＲＴｃに基づいてユーザパケットの転送を開始する（符号ＳＱ５）。
【００３８】
次に、ルータ１ｂ，１ｃは、ＢＧＰに従った障害の監視を開始する（符号ＳＱ６参照）。ルータ１ｂ，１ｃは、一定の時間間隔Ｔ１（例えば６０秒）でキープアライブパケットを送信する（符号ＳＱ７参照）。キープアライブパケットは、ルータ１ｂ，１ｃ間の通信障害を監視する監視パケットの一例である。
【００３９】
ルータ１ｂ，１ｃは、他方のルータ１ｃ，１ｂからキープアライブパケットを受信することにより、他方のルータ１ｃ，１ｂとの通信の障害監視を行う。より具体的には、ルータ１ｂ，１ｃは、他方のルータ１ｃ，１ｂからキープアライブパケットを所定回数連続で受信していない場合、通信障害を検出する。このため、ルータ１ｂ，１ｃ間の通信障害が容易に検出される。なお、キープアライブパケットの送受信は、以降も継続して行われる。
【００４０】
ルータ１ｂ，１ｃは、ＢＧＰ  ＵＰＤＡＴＥメッセージを送受信した後に所定時間Ｔｗだけ待機した後、ＢＦＤプロトコルに基づく通信セッションの確立を要求する要求メッセージを互いに送受信する（符号ＳＱ８参照）。所定時間Ｔｗは、例えば、全てのルータ１ａ〜１ｃ間において経路情報の交換が行われることにより、経路Ｒ１，Ｒ２の学習が完了するまでに要する時間である。要求メッセージを送受信することにより、ルータ１ｂ，１ｃ間において、ＢＦＤに基づく通信セッションが確立する（符号ＳＱ９参照）。
【００４１】
次に、ルータ１ｂ，１ｃは、ＢＦＤに従った障害の監視を開始する（符号ＳＱ１０参照）。ルータ１ｂ，１ｃは、一定の時間間隔Ｔ２（例えば数百ミリ秒、Ｔ２＜Ｔ１）でハローパケットを送信する（符号ＳＱ１１参照）。ハローパケットは、ルータ１ｂ，１ｃ間の通信障害を監視する監視パケットの一例である。
【００４２】
ルータ１ｂ，１ｃは、送信したハローパケットに対する応答として、他方のルータ１ｃ，１ｂからハローパケットを受信することにより、他方のルータ１ｃ，１ｂとの通信の障害監視を行う。より具体的には、ルータ１ｂ，１ｃは、他方のルータ１ｃ，１ｂからハローパケットを所定回数連続で受信していない場合、通信障害を検出する。このため、ルータ１ｂ，１ｃ間の通信障害が容易に検出される。なお、ハローパケットの送受信は、以降も継続して行われる。このようにして、比較例におけるルータ１ｂ，１ｃ間の通信は行われる。
【００４３】
本比較例では、ＢＦＤプロトコルに基づく通信セッションが確立される（符号ＳＱ９）ため、ＢＧＰに従った障害監視の時間間隔Ｔ１より短い時間間隔Ｔ２で障害監視が行われる。このため、ＢＧＰに従った障害監視と比較すると、早期の通信障害の検出が可能となる。
【００４４】
しかし、ＢＦＤプロトコルに基づく通信セッションの確立前に通信障害が発生した場合、ＢＧＰに従った障害監視の時間間隔Ｔ１で通信障害が検出されるため、通信障害の発生から検出までに長い時間を要する。このとき、ルータ１ｃ，１ｂ間では、ＢＧＰに従って経路情報が交換済み（符号ＳＱ４参照）であるので、各ルータ１ｃ，１ｂは、ユーザパケットの送信を開始している（符号ＳＱ５参照）。
【００４５】
このため、ＢＧＰに従う障害監視により通信障害が検出されてから、ユーザパケットの経路Ｒ１が、障害を迂回する経路Ｒ２に切り替えられるまでの長い時間に多くのユーザパケットが廃棄されてしまい、通信サービスの質が低下するおそれがある。
【００４６】
そこで、実施例のルータ１ａ〜１ｃは、他のルータ１ａ〜１ｃからＢＧＰ  ＯＰＥＮメッセージを受けたとき、メッセージ内の障害監視設定に従い、他のルータ１ａ〜１ｃに経路情報を送信する前に他ルータ１ａ〜１ｃとＢＦＤプロトコルの通信セッションを確立することで、障害監視性能を改善する。
【００４７】
図３は、実施例におけるルータ１ｂ，１ｃ間の通信を示すシーケンス図である。なお、本実施例では、ルータ１ｂ，１ｃ間の通信を例に挙げて説明するが、ルータ１ａ，１ｃ間及びルータ１ａ，１ｂ間の通信も同様に行われる。
【００４８】
ルータ１ｂ，１ｃは、互いに接続されることにより、リンクアップを検出する（符号ＳＱ２１参照）。次に、ルータ１ｂ，１ｃは、互いにＢＧＰ  ＯＰＥＮメッセージを送受信する（符号ＳＱ２２参照）。これにより、ルータ１ｂ，１ｃ間において、ＢＧＰに基づく通信セッションが確立する（符号ＳＱ２３参照）。
【００４９】
本実施例において、ＢＧＰ  ＯＰＥＮメッセージには、障害監視設定の一例として、ＢＦＤプロトコルの適用の有無を示すＢＦＤ設定情報が含まれる。ルータ１ｂ，１ｃは、受信したＢＧＰ  ＯＰＥＮメッセージからＢＦＤ設定情報を取り出し、ＢＦＤ設定が有効である場合、ＢＧＰ  ＵＰＤＡＴＥメッセージの送信処理を待機させる（符号ＳＱ２４）。なお、ＢＦＤ設定が無効である場合の動作については後述する。
【００５０】
また、この場合、ルータ１ｂ，１ｃは、ＢＧＰ  ＯＰＥＮメッセージの送信元のＩＰアドレスを、メモリなどの情報の記録手段に記録する。図４には、ＢＧＰ  ＯＰＥＮメッセージの受信時の動作の一例が示されている。
【００５１】
ルータ１ｂは、他方のルータ１ｃから、送信元のＩＰアドレス「3.3.3.2」、宛先のＩＰアドレス「3.3.3.1」、及びＢＦＤ設定情報を含むＢＧＰ  ＯＰＥＮメッセージを受信すると、送信元のＩＰアドレス「3.3.3.2」をピアアドレステーブルＡＴａに記録する。一方、ルータ１ｃは、他方のルータ１ｂから、送信元のＩＰアドレス「3.3.3.1」、宛先のＩＰアドレス「3.3.3.2」、及びＢＦＤ設定情報を含むＢＧＰ  ＯＰＥＮメッセージを受信すると、送信元のＩＰアドレス「3.3.3.1」をピアアドレステーブルＡＴｃに記録する。ピアアドレステーブルＡＴｂ，ＡＴｃに記録されたＩＰアドレスは、ＢＧＰ  ＵＰＤＡＴＥメッセージの送信待機の解除に用いられる。なお、送信元のＩＰアドレスは、ＢＧＰ  ＯＰＥＮメッセージの送信元を示す第１送信元情報の一例である。
【００５２】
また、図５は、ＢＧＰ  ＯＰＥＮメッセージの一例を示す構成図である。ＢＧＰ  ＯＰＥＮメッセージには、「Version」、「My Autonomous System」、「Hold time」、「BGP Identifier」、「Opt Parm Len」、及びオプションパラメータ領域が含まれる。オプションパラメータ領域には、一組以上の「Parm. Type」、「Parm. Length」、及び「Parameter Value」が含まれる。
【００５３】
「Version」は、ＢＧＰのバージョンを示し、「My Autonomous System」は、ルータ１ａ〜１ｃが属するＡＳ（Autonomous System）番号を示す。ＡＳ番号は、インターネット内における経路制御を行う組織ごとに、ＩＡＮＡ（Internet Assigned Numbers Authority）から割り当てられた個別の識別番号である。
【００５４】
「Hold time」は、連続するキープアライブパケットの受信間隔の最大値であるホールドタイマの値の計算に用いられる。「BGP Identifier」は、起動時に決定されるＢＧＰの識別子である。「Opt Parm Len」は、オプションパラメータ領域のオクテット数（バイト数）を示す。
【００５５】
オプションパラメータ領域内の「Parm. Type」、「Parm. Length」、及び「Parameter Value」は、パラメータのタイプ、長さ、及び値をそれぞれ示す。「Parameter Value」は、「Parm. Length」に応じた可変のデータ量を有する。「Parameter Value」には、機能、長さ及び値をそれぞれ示す「Capability code」、「Capability length」、及び「Capability Value」が含まれる。
【００５６】
ルータ１ａ〜１ｃは、例えば「Parm. Type」をＢＦＤ設定情報として用いる。この場合、「Parm. Type」の値として、ＲＦＣ４２７１において未割り当ての値である３〜２５５を用いて、ＢＦＤ設定情報を示すことができる。また、ルータ１ａ〜１ｃは、「Parm. Type」の値として、割り当て済みの値である２を用いた場合、「Capability code」の値として、未割り当ての値である６〜６３を用いて、ＢＦＤ設定情報を示してもよい。
【００５７】
再び図３を参照すると、ルータ１ｂ，１ｃは、ＢＧＰ  ＵＰＤＡＴＥメッセージの送信処理を待機させた後（符号ＳＱ２４）、ＢＦＤプロトコルに基づく通信セッションの確立を要求する要求メッセージを互いに送受信する（符号ＳＱ２５）。これにより、ルータ１ｂ，１ｃ間においてＢＦＤに基づく通信セッションが確立する（符号ＳＱ２６参照）。
【００５８】
次に、ルータ１ｂ，１ｃは、ＢＦＤに従った障害監視を開始する（符号ＳＱ２７参照）。ルータ１ｂ，１ｃは、一定の時間間隔Ｔ２でハローパケットを送信する（符号ＳＱ２８参照）。なお、ハローパケットの送受信は、以降も継続して行われる。
【００５９】
次に、ルータ１ｂ，１ｃは、ＢＦＤプロトコルに基づく通信セッションにより受信したハローパケットの送信元のＩＰアドレスが、ピアアドレステーブルＡＴｂ，ＡＴｃに記録されたＩＰアドレスに一致した場合、ＢＧＰ  ＵＰＤＡＴＥメッセージを互いに送受信する（符号ＳＱ２９）。図６には、ハローパケットの受信時の動作の一例が示されている。
【００６０】
ルータ１ｂは、他方のルータ１ｃから、送信元のＩＰアドレス「3.3.3.2」及び宛先のＩＰアドレス「3.3.3.1」を含むハローパケットを受信すると、送信元のＩＰアドレス「3.3.3.2」をピアアドレステーブルＡＴａのＩＰアドレス「3.3.3.2」と照合する。一方、ルータ１ｃは、他方のルータ１ｂから、送信元のＩＰアドレス「3.3.3.1」及び宛先のＩＰアドレス「3.3.3.2」を含むハローパケットを受信すると、送信元のＩＰアドレス「3.3.3.1」をピアアドレステーブルＡＴｃのＩＰアドレス「3.3.3.1」と照合する。なお、送信元のＩＰアドレスは、ハローパケットの送信元を示す第２送信元情報の一例である。
【００６１】
ルータ１ｂ，１ｃは、照合の結果、ハローパケットの送信元のＩＰアドレスが、ピアアドレステーブルＡＴｂ，ＡＴｃに記録されたＩＰアドレスに一致するため、ＢＧＰ  ＵＰＤＡＴＥメッセージの送信待機状態を解除する。これにより、ＢＧＰ  ＵＰＤＡＴＥメッセージが送受信され（符号ＳＱ２９）、ルータ１ｂ，１ｃ間で経路情報が交換される。一方、照合の結果、ＩＰアドレスが不一致である場合、ルータ１ｂ，１ｃは、ＢＧＰ  ＵＰＤＡＴＥメッセージの送信待機状態を維持するため、ＢＧＰ  ＵＰＤＡＴＥメッセージは送信されない。
【００６２】
このように、ルータ１ｂ，１ｃは、ピアアドレステーブルＡＴｂ，ＡＴｃにより送信元のＩＰアドレスを照合するため、待機中のＢＧＰ  ＵＰＤＡＴＥメッセージの送信先のルータ１ｃ，１ｂが障害監視を開始したことを容易に検出できる。したがって、ルータ１ｂ，１ｃは、ＢＧＰ  ＵＰＤＡＴＥメッセージの送信待機状態の解除タイミングを容易に検出できる。
【００６３】
ルータ１ｂ，１ｃは、交換した経路情報に基づいてルーティングテーブルＲＴｂ，ＲＴｃを生成する。ルータ１ｂ，１ｃは、ルーティングテーブルＲＴｂ，ＲＴｃに基づいてユーザパケットの転送を開始する（符号ＳＱ３０）。
【００６４】
次に、ルータ１ｂ，１ｃは、ＢＧＰに従った障害の監視を開始する（符号ＳＱ３１参照）。ルータ１ｂ，１ｃは、一定の時間間隔Ｔ１でキープアライブパケットを送信する（符号ＳＱ３２参照）。なお、キープアライブパケットの送受信は、以降も継続して行われる。
【００６５】
このように、ルータ１ｂ，１ｃは、ＢＦＤプロトコルに従う障害監視の有無に関するＢＦＤ設定を含み、ＢＧＰに基づく通信セッションの確立を要求するＢＧＰ  ＯＰＥＮメッセージを互いに送信する。ルータ１ｂ，１ｃは、他方のルータ１ｃ，１ｂからＢＧＰ  ＯＰＥＮメッセージを受信し、受信したＢＧＰ  ＯＰＥＮメッセージに含まれるＢＦＤ設定が有効である場合、他方のルータ１ｃ，１ｂへの経路情報の送信処理を待機させる。
【００６６】
その後、ルータ１ｂ，１ｃは、他方のルータ１ｃ，１ｂとの間でＢＦＤに基づく通信セッションを確立することにより、相互の通信の障害監視を開始し、該開始後に他方のルータ１ｃ，１ｂに経路情報を送信する。
【００６７】
したがって、ルータ１ｂ，１ｃは、他方のルータ１ｃ，１ｂのＢＦＤ設定が有効であれば、交換後の経路情報に基づいてユーザパケットの転送が開始される前に、ＢＦＤプロトコルに従って障害監視を開始することができる。このため、ルータ１ｂ，１ｃは、ユーザパケットの転送を開始した時点から、ＢＦＤプロトコルに従って障害を検出することができる。
【００６８】
ルータ１ｂ，１ｃは、ＢＦＤプロトコルに基づく通信セッションによる障害監視において、ＢＧＰに基づく通信セッションによる障害監視より短い時間間隔Ｔ２でハローパケットを送受信する。このため、ルータ１ｂ，１ｃは、通信障害を早期に検出することができる。
【００６９】
また、ルータ１ｂ，１ｃは、ＢＦＤ設定が無効である場合、ＢＧＰに基づく通信セッションが確立されることにより、他方のルータ１ｃ，１ｂとの通信の障害監視を行う。このため、ルータ１ｂ，１ｃは、ＢＦＤ設定が無効である場合でも、障害監視を行うことができる。
【００７０】
図７は、ＢＦＤ設定が無効である場合のルータ間の通信を示すシーケンス図である。なお、本実施例では、ルータ１ｂ，１ｃ間の通信を例に挙げて説明するが、ルータ１ａ，１ｃ間及びルータ１ａ，１ｂ間の通信も同様に行われる。
【００７１】
ルータ１ｂ，１ｃは、互いに接続されることにより、リンクアップを検出する（符号ＳＱ４１参照）。次に、ルータ１ｂ，１ｃは、互いにＢＧＰ  ＯＰＥＮメッセージを送受信する（符号ＳＱ４２参照）。これにより、ルータ１ｂ，１ｃ間において、ＢＧＰに基づく通信セッションが確立する（符号ＳＱ４３参照）。
【００７２】
ルータ１ｂ，１ｃは、受信したＢＧＰ  ＯＰＥＮメッセージからＢＦＤ設定情報を取り出し、ＢＦＤ設定が無効である場合、ＢＧＰ  ＵＰＤＡＴＥメッセージを互いに送受信する（符号ＳＱ４４）。ルータ１ｂ，１ｃは、交換した経路情報に基づいてルーティングテーブルＲＴｂ，ＲＴｃを生成する。ルータ１ｂ，１ｃは、ルーティングテーブルＲＴｂ，ＲＴｃに基づいてユーザパケットの転送を開始する（符号ＳＱ４５）。
【００７３】
次に、ルータ１ｂ，１ｃは、ＢＧＰに従った障害の監視を開始する（符号ＳＱ４６参照）。ルータ１ｂ，１ｃは、一定の時間間隔Ｔ１でキープアライブパケットを送信する（符号ＳＱ４７参照）。なお、キープアライブパケットの送受信は、以降も継続して行われる。このようにして、実施例において、ルータ１ｂ，１ｃ間の通信は行われる。
【００７４】
次に、ルータ１ａ〜１ｃの構成について説明する。
【００７５】
図８は、ルータ１ａ〜１ｃの一例を示す構成図である。ルータ１ａ〜１ｃは、ＣＰＵ（Central Processing Unit）１０、ＲＯＭ（Read Only Memory）１１、ＲＡＭ（Random Access Memory）１２、パラメータ格納メモリ１３、スイッチング回路１４、及び複数のポート（＃１〜＃Ｎ（Ｎ：２以上の整数））１５を有する。
【００７６】
ＣＰＵ１０は、互いに信号の入出力ができるように、ＲＯＭ１１、ＲＡＭ１２、パラメータ格納メモリ１３、及びスイッチング回路１４と、データバス１６を介して接続されている。ＲＯＭ１１は、ＣＰＵ１０を駆動するプログラムが格納されている。ＲＡＭ１２は、ＣＰＵ１０のワーキングメモリとして機能する。
【００７７】
複数のポート１５は、例えばＰＨＹ（Physical layer）チップを含み、他のルータ１ａ〜１ｃとの間でパケットを送受信する。スイッチング回路１４は、複数のポート１５と接続され、ＣＰＵ１０から入力されたパケットを、指定されたポート１５に出力し、各ポート１５から入力されたパケットをＣＰＵ１０に出力する。
【００７８】
パラメータ格納メモリ１３は、情報を記録する記憶部の一例であり、動作設定情報１３０、ルーティングテーブル１３１、及びピアアドレステーブル１３２が格納されている。動作設定情報１３０は、ルータ１ａ〜１ｃの動作に関する情報であり、例えばＢＦＤプロトコルの対応可否、つまりＢＦＤ設定の有効または無効を示すＢＦＤ情報を含む。なお、パラメータ格納メモリ１３としては、フラッシュメモリなどの不揮発性メモリが挙げられる。
【００７９】
ルーティングテーブル１３１は、図１のルーティングテーブルＲＴａ〜ＲＴｃを参照して述べた通りである。また、ピアアドレステーブル１３２は、図４及び図６を参照して述べた通りである。
【００８０】
ＣＰＵ１０は、ＲＯＭ１１からプログラムを読み込むと、機能として、監視処理部１００、経路処理部１０１、及びパケット処理部１０２が形成される。パケット処理部１０２は、各ポート１５を介して受信したパケットの内容を判別して、監視処理部１００及び経路処理部１０１に出力する。パケット処理部１０２は、ユーザパケット、ＢＧＰ  ＯＰＥＮメッセージ、及びＢＧＰ  ＵＰＤＡＴＥメッセージなどを識別して、監視処理部１００及び経路処理部１０１に通知する。
【００８１】
経路処理部１０１は、ＢＧＰ  ＯＰＥＮメッセージを生成する。このとき、経路処理部１０１は、動作設定情報１３０を参照し、ＢＦＤ設定が有効である場合、ＢＧＰ  ＯＰＥＮメッセージにＢＦＤ設定情報を付与する。生成されたＢＧＰ  ＯＰＥＮメッセージは、ポート１５を介して隣接ノードのルータ１ａ〜１ｃに送信される。
【００８２】
また、経路処理部１０１は、他のルータ１ａ〜１ｃからＢＧＰ  ＯＰＥＮメッセージを受信したとき、経路情報を含むＢＧＰ  ＵＰＤＡＴＥメッセージを生成する。経路処理部１０１は、ポート１５を介して、ＢＧＰ  ＯＰＥＮメッセージの送信元のルータ１ａ〜１ｃにＢＧＰ  ＵＰＤＡＴＥメッセージを送信する。
【００８３】
経路処理部１０１は、他のルータ１ａ〜１ｃからＢＧＰ  ＵＰＤＡＴＥメッセージを受信すると、受信したＢＧＰ  ＵＰＤＡＴＥメッセージに含まれる経路情報に基づいてルーティングテーブル１３１を更新する。経路処理部１０１は、更新されたルーティングテーブル１３１に基づいてユーザパケットの転送を開始する。すなわち、経路処理部１０１は、他のルータ１ａ〜１ｃとの間でＢＧＰに基づく通信セッションを確立することにより、ユーザパケットの経路情報を交換し、交換した経路情報に基づいてユーザパケットを転送する。
【００８４】
経路処理部１０１は、ユーザパケットの転送を開始すると、一例として、完了フラグを「０」から「１」に変化させることにより、ユーザパケットの転送の開始を監視処理部１００に通知する。
【００８５】
監視処理部１００は、ＢＧＰ及びＢＦＤプロトコルの少なくとも一方に従って、他のルータ１ａ〜１ｃとの通信の障害監視を行う。監視処理部１００は、他のルータ１ａ〜１ｃから受信したＢＧＰ  ＯＰＥＮメッセージに含まれるＢＦＤ設定が有効である場合、ピアアドレステーブル１３２に、ＢＧＰ  ＯＰＥＮメッセージの送信元のＩＰアドレスを記録する。
【００８６】
また、監視処理部１００は、他のルータ１ａ〜１ｃから受信したＢＧＰ  ＯＰＥＮメッセージに含まれるＢＦＤ設定が有効である場合、経路処理部１０１にＢＧＰ  ＵＰＤＡＴＥメッセージ、つまり経路情報の送信処理を待機させる。監視処理部１００は、一例として、待機フラグを「１」とすることにより、経路処理部１０１に送信処理の待機を指示する。
【００８７】
監視処理部１００は、経路処理部１０１にＢＧＰ  ＵＰＤＡＴＥメッセージの送信処理を待機させた後、他のルータ１ａ〜１ｃとの間でＢＦＤプロトコルに基づく通信セッションを確立することにより、他のルータ１ａ〜１ｃとの通信の障害監視を開始する。より具体的には、監視処理部１００は、他のルータ１ａ〜１ｃとの間でＢＦＤセッション確立要求メッセージを送受信することにより通信セッションを確立する。また、監視処理部１００は、他のルータ１ａ〜１ｃとの間でハローパケットを送受信することにより、他のルータ１ａ〜１ｃとの通信の障害監視を開始する。
【００８８】
監視処理部１００は、障害監視の開始後、ＢＦＤプロトコルに基づく通信セッションにより他のルータ１ａ〜１ｃから受信したハローパケットの送信元のＩＰアドレスを、ピアアドレステーブル１３２に記録したＩＰアドレスと照合する。監視処理部１００は、照合の結果、ＩＰアドレスが一致した場合、経路処理部１０１にＢＧＰ  ＵＰＤＡＴＥメッセージを送信させる。このとき、監視処理部１００は、一例として、待機フラグを「０」とすることにより、経路処理部１０１に送信処理の待機状態の解除を指示する。これにより、経路処理部１０１は、ユーザパケットの転送を開始する。
【００８９】
このように、監視処理部１００は、経路処理部１０１が他のルータ１ａ〜１ｃとの間で経路情報を交換する前に、他のルータ１ａ〜１ｃとの通信の障害監視を開始する。このため、監視処理部１００は、ユーザパケットの転送の開始時から、ＢＧＰによる障害監視の時間間隔Ｔ１より短い時間間隔Ｔ２で障害監視を行うことができる。したがって、ルータ１ａ〜１ｃは、他のルータ１ａ〜１ｃとの間の通信障害を早期に検出し、パケットの廃棄数を低減できる。
【００９０】
監視処理部１００は、経路処理部１０１からユーザパケットの転送の開始が通知されたとき、ＢＧＰに従って他のルータ１ａ〜１ｃとの通信の障害監視を開始する。より具体的には、監視処理部１００は、他のルータ１ａ〜１ｃとの間でキープアライブパケットを送受信することにより、他のルータ１ａ〜１ｃとの通信の障害監視を開始する。
【００９１】
しかし、上述したように、監視処理部１００は、ＢＦＤに基づく通信セッションによる障害監視において、ＢＧＰに基づく通信セッションによる障害監視より短い時間間隔Ｔ２で他のルータ１ａ〜１ｃとハローパケットを送受信する。このため、ＢＦＤプロトコルに従った障害監視のほうが、ＢＧＰに従った障害監視より早期の障害検出が可能である。なお、ルータ１ａ〜１ｃ間のトラフィック量を低減する場合、監視処理部１００は、ＢＧＰ及びＢＦＤプロトコルのうち、ＢＦＤプロトコルに従った障害監視だけを行ってもよい。
【００９２】
また、監視処理部１００は、他のルータ１ａ〜１ｃから受信したＢＧＰ  ＯＰＥＮメッセージに含まれるＢＦＤ設定が無効である場合、他のルータ１ａ〜１ｃとＢＦＤプロトコルの通信セッションの確立を行わない。このため、監視処理部１００は、ＩＰアドレスのピアアドレステーブル１３２への記録、及びＢＧＰ  ＵＰＤＡＴＥメッセージの送信処理の待機指示を行わずに、ＢＧＰに従って他のルータ１ａ〜１ｃとの通信の障害監視を開始する。
【００９３】
このように、監視処理部１００は、他のルータ１ａ〜１ｃがＢＦＤプロトコルに対応していない場合でも、ＢＧＰに従って障害監視を行うことにより、障害を検出することができる。
【００９４】
図９は、経路処理の一例を示すフローチャートである。経路処理部１０１は、他のルータ１ａ〜１ｃとのリンクアップを検出したか否かを判定する（ステップＳｔ１）。リンクアップは、各ポート１５により検知され、バス１６を介して経路処理部１０１に通知される。
【００９５】
経路処理部１０１は、リンクアップを検出していない場合（ステップＳｔ１のＮｏ）、処理を終了する。経路処理部１０１は、リンクアップを検出した場合（ステップＳｔ１のＹｅｓ）、完了フラグを「０」にセットする（ステップＳｔ２）。完了フラグは、上述したように、監視処理部１００に対して、「０」のとき、処理の未完了を示し、「１」のとき、処理の完了を示す。
【００９６】
次に、経路処理部１０１は、ＢＧＰ  ＯＰＥＮメッセージを生成する（ステップＳｔ３）。ＢＧＰ  ＯＰＥＮメッセージは、例えば、図５に示されたフォーマットで形成されるが、これに限定されない。
【００９７】
次に、経路処理部１０１は、動作設定情報１３０を参照し、ＢＦＤ設定が有効であるか否かを判定する（ステップＳｔ４）。経路処理部１０１は、ＢＦＤ設定が有効である場合（ステップＳｔ４のＹｅｓ）、生成したＢＧＰ  ＯＰＥＮメッセージにＢＦＤ設定情報を付与する（ステップＳｔ５）。また、経路処理部１０１は、ＢＦＤ設定が無効である場合（ステップＳｔ４のＮｏ）、ＢＦＤ設定情報を付与せずに、以下に述べるステップＳｔ６の処理を行う。
【００９８】
次に、経路処理部１０１は、ポート１５を介して、他のルータ１ａ〜１ｃにＢＧＰ  ＯＰＥＮメッセージを送信する（ステップＳｔ６）。次に、経路処理部１０１は、該送信先のルータ１ａ〜１ｃからＢＧＰ  ＯＰＥＮメッセージを受信したか否かを判定する（ステップＳｔ７）。経路処理部１０１は、ＢＧＰ  ＯＰＥＮメッセージを受信していない場合（ステップＳｔ７のＮｏ）、再びステップＳｔ７の処理を実行する。
【００９９】
経路処理部１０１は、ＢＧＰ  ＯＰＥＮメッセージを受信した場合（ステップＳｔ７のＹｅｓ）、経路情報を含むＢＧＰ  ＵＰＤＡＴＥメッセージを生成する（ステップＳｔ８）。ＢＧＰ  ＵＰＤＡＴＥメッセージは、例えばＲＦＣ４２７１の規定内容に従った形式で生成される。
【０１００】
次に、経路処理部１０１は、待機フラグが「１」であるか否かを判定する（ステップＳｔ９）。待機フラグは、上述したように、監視処理部１００により、ＢＧＰ  ＵＰＤＡＴＥメッセージの送信処理の待機の指示に用いられる。待機フラグは、「１」の場合、ＢＧＰ  ＵＰＤＡＴＥメッセージの送信処理を待機状態とする指示を意味し、「０」の場合、ＢＧＰ  ＵＰＤＡＴＥメッセージの送信処理の待機状態を解除する指示を意味する。
【０１０１】
経路処理部１０１は、待機フラグが「１」である場合（ステップＳｔ９のＹｅｓ）、再びステップＳｔ９の処理を実行する。つまり、経路処理部１０１は、待機フラグが「１」である間、ＢＧＰ  ＵＰＤＡＴＥメッセージの送信処理を待機状態とする。
【０１０２】
また、経路処理部１０１は、待機フラグが「０」である場合（ステップＳｔ９のＮｏ）、生成したＢＧＰ  ＵＰＤＡＴＥメッセージを送信する（ステップＳｔ１０）。つまり、経路処理部１０１は、待機フラグが「０」になると、ＢＧＰ  ＵＰＤＡＴＥメッセージの送信処理の待機状態を解除する。
【０１０３】
次に、経路処理部１０１は、ステップＳｔ６における送信先の他のルータ１ａ〜１ｃから、ＢＧＰ  ＵＰＤＡＴＥメッセージを受信したか否かを判定する（ステップＳｔ１１）。経路処理部１０１は、ＢＧＰ  ＵＰＤＡＴＥメッセージを受信していない場合（ステップＳｔ１１のＮｏ）、再びステップＳｔ１１の処理を実行する。
【０１０４】
また、経路処理部１０１は、ＢＧＰ  ＵＰＤＡＴＥメッセージを受信した場合（ステップＳｔ１１のＹｅｓ）、ＢＧＰ  ＵＰＤＡＴＥメッセージに含まれる経路情報に基づいて、ルーティングテーブル１３１を更新する（ステップＳｔ１２）。次に、経路処理部１０１は、更新されたルーティングテーブル１３１に従って、ユーザパケットの転送を開始する（ステップＳｔ１３）。このように、経路処理部１０１は、他のルータ１ａ〜１ｃからＢＧＰ  ＯＰＥＮメッセージを受信したとき、該ルータ１ａ〜１ｃにＢＧＰ  ＵＰＤＡＴＥメッセージを送信するため、該ルータ１ａ〜１ｃとの間で経路情報を交換して、パケットを転送できる。
【０１０５】
次に、経路処理部１０１は、完了フラグを「１」にして（ステップＳｔ１４）、処理を終了する。このようにして、経路処理は行われる。
【０１０６】
図１０は、障害の監視処理の一例を示すフローチャートである。監視処理部１００は、他のルータ１ａ〜１ｃからＢＧＰ  ＯＰＥＮメッセージを受信したか否かを判定する（ステップＳｔ２１）。監視処理部１００は、ＢＧＰ  ＯＰＥＮメッセージを受信していない場合（ステップＳｔ２１のＮｏ）、処理を終了する。
【０１０７】
また、監視処理部１００は、ＢＧＰ  ＯＰＥＮメッセージを受信した場合（ステップＳｔ２１のＹｅｓ）、ＢＧＰ  ＯＰＥＮメッセージ内のＢＦＤ設定が有効であるか否かを判定する（ステップＳｔ２２）。監視処理部１００は、ＢＦＤ設定が無効である場合（ステップＳｔ２２のＮｏ）、後述するステップＳｔ３３の処理を実行する。
【０１０８】
監視処理部１００は、ＢＦＤ設定が有効である場合（ステップＳｔ２２のＹｅｓ）、待機フラグを「１」にする（ステップＳｔ２３）。これにより、監視処理部１００は、経路処理部１０１に、ＢＧＰ  ＵＰＤＡＴＥメッセージの送信処理を待機させ、以下に述べるように、ＢＦＤプロトコルに基づく通信セッションを確立する。
【０１０９】
次に、監視処理部１００は、図４を参照して述べたように、受信したＢＧＰ  ＯＰＥＮメッセージの送信元のＩＰアドレスをピアアドレステーブル１３２に記録する（ステップＳｔ２４）。次に、監視処理部１００は、ＢＦＤセッション確立要求メッセージを生成する（ステップＳｔ２５）。
【０１１０】
次に、監視処理部１００は、ＢＧＰ  ＯＰＥＮメッセージの送信元の他のルータ１ａ〜１ｃに、ＢＦＤセッション確立要求メッセージを送信する（ステップＳｔ２６）。次に、監視処理部１００は、該他のルータ１ａ〜１ｃからＢＦＤセッション確立要求メッセージを受信したか否かを判定する（ステップＳｔ２７）。監視処理部１００は、ＢＦＤセッション確立要求メッセージを受信していない場合（ステップＳｔ２７のＮｏ）、再びステップＳｔ２７の処理を実行する。
【０１１１】
また、監視処理部１００は、ＢＦＤセッション確立要求メッセージを受信した場合（ステップＳｔ２７のＹｅｓ）、ＢＦＤプロトコルに基づいて、他のルータ１ａ〜１ｃへのハローパケットの送信を開始する（ステップＳｔ２８）。次に、監視処理部１００は、該他のルータ１ａ〜１ｃからハローパケットを受信したか否かを判定する（ステップＳｔ２９）。監視処理部１００は、ハローパケットを受信していない場合（ステップＳｔ２９のＮｏ）、再びステップＳｔ２９の処理を実行する。
【０１１２】
監視処理部１００は、ハローパケットを受信した場合（ステップＳｔ２９のＹｅｓ）、図６を参照して述べたように、ハローパケットの送信元のＩＰアドレスをピアアドレステーブル１３２と照合する（ステップＳｔ３０）。監視処理部１００は、照合の結果、ＩＰアドレスが不一致である場合（ステップＳｔ３１のＮｏ）、再びステップＳｔ２９の処理を実行する。
【０１１３】
また、監視処理部１００は、照合の結果、ＩＰアドレスが一致した場合（ステップＳｔ３１のＹｅｓ）、ピアアドレステーブル１３２からＩＰアドレスを消去する（ステップＳｔ３２）。次に、監視処理部１００は、待機フラグを「０」にする（ステップＳｔ３３）。
【０１１４】
これにより、経路処理部１０１は、ＢＧＰ  ＵＰＤＡＴＥメッセージの送信処理の待機状態が解除されるため、他のルータ１ａ〜１ｃと経路情報を交換して、ユーザパケットの転送を開始することができる。このとき、監視処理部１００は、ＢＦＤプロトコルに従った障害監視を開始済みであるため、他のルータ１ａ〜１ｃとの間で通信障害が発生しても、早期に障害を検出することができる。
【０１１５】
次に、監視処理部１００は、完了フラグが「１」であるか否かを判定する（ステップＳｔ３４）。監視処理部１００は、完了フラグが「０」である場合（ステップＳｔ３４のＮｏ）、再びステップＳｔ３４の処理を実行する。
【０１１６】
また、監視処理部１００は、完了フラグが「１」である場合（ステップＳｔ３４のＹｅｓ）、ＢＧＰに基づいて、他のルータ１ａ〜１ｃへのキープアライブパケットの送信を開始する（ステップＳｔ３５）。これにより、ＢＧＰに従った障害監視が行われる。このようにして、監視処理は行われる。
【０１１７】
これまで述べたように、パケット転送装置１ａ〜１ｃは、他装置との間で第１プロトコルに基づく通信セッションを確立することにより、パケットの経路情報を交換し、交換した経路情報に基づいてパケットを転送する。パケット転送装置１ａ〜１ｃは、経路処理部１０１と、監視処理部１００とを有する。
【０１１８】
経路処理部１０１は、他装置から第１プロトコルに基づく通信セッションの確立を要求する要求メッセージを受信したとき、他装置に経路情報を送信する。監視処理部１００は、要求メッセージに含まれる障害監視設定が有効である場合、経路処理部１０１に経路情報の送信処理を待機させた後、他装置との間で第２プロトコルに基づく通信セッションを確立することにより、他装置との通信の障害監視を開始する。監視処理部１００は、該開始後に経路処理部１０１に経路情報を送信させる。
【０１１９】
上記の構成によると、経路処理部１０１は、他装置から第１プロトコルに基づく通信セッションの確立を要求する要求メッセージを受信したとき、他装置に経路情報を送信するため、他装置との間で経路情報を交換して、パケットを転送できる。
【０１２０】
また、監視処理部１００は、要求メッセージに含まれる障害監視設定が有効である場合、経路処理部に経路情報の送信処理を待機させた後、他装置との間で第２プロトコルに基づく通信セッションを確立することにより、他装置との通信の障害監視を開始する。監視処理部１００は、障害監視を開始した後に経路処理部１０１に経路情報を送信させる。
【０１２１】
したがって、パケット転送装置１ａ〜１ｃは、障害監視設定に従って、パケットの転送を開始する前に、他装置との通信の障害監視を開始することができる。このため、パケット転送装置１ａ〜１ｃは、パケットの転送を開始した時点から、第２プロトコルに従って障害を検出することができる。
【０１２２】
よって、実施例に係るパケット転送装置１ａ〜１ｃによると、障害の監視性能が改善される。
【０１２３】
また、実施例に係るパケット転送システムは、第１プロトコルに基づく通信セッションを確立することにより、パケットの経路情報を交換し、交換した経路情報に基づいてパケットを転送する第１パケット転送装置１ａ〜１ｃ及び第２パケット転送装置１ａ〜１ｃを有する。
【０１２４】
第１パケット転送装置１ａ〜１ｃ及び第２パケット転送装置１ａ〜１ｃは、障害監視の有無に関する障害監視設定を含み、第１プロトコルに基づく通信セッションの確立を要求する要求メッセージを互いに送受信する。第１パケット転送装置１ａ〜１ｃ及び第２パケット転送装置１ａ〜１ｃは、受信した要求メッセージに含まれる障害監視設定が有効である場合、経路情報の送信処理を待機させた後、第２プロトコルに基づく通信セッションを確立する。
【０１２５】
これにより、第１パケット転送装置１ａ〜１ｃ及び第２パケット転送装置１ａ〜１ｃは、第１パケット転送装置１ａ〜１ｃ及び第２パケット転送装置１ａ〜１ｃ間の通信の障害監視を開始する。第１パケット転送装置１ａ〜１ｃ及び第２パケット転送装置１ａ〜１ｃは、障害監視の開始後に経路情報を互いに送受信する。
【０１２６】
実施例に係るパケット転送システムは、上記のパケット転送装置１ａ〜１ｃと同様の構成を含むので、上述した内容と同様の作用効果を奏する。
【０１２７】
また、実施例に係るパケット転送方法は、他装置との間で第１プロトコルに基づく通信セッションを確立することにより、パケットの経路情報を交換し、交換した前記経路情報に基づいてパケットを転送する方法であり、以下の工程（１）〜（３）を含む。
工程（１）：他装置から第１プロトコルに基づく通信セッションの確立を要求する要求メッセージを受信する。
工程（２）：要求メッセージに含まれる障害監視設定が有効である場合、他装置への前記経路情報の送信処理を待機させた後、他装置との間で第２プロトコルに基づく通信セッションを確立することにより、他装置との通信の障害監視を開始する。
工程（３）：該開始後に他装置に前記経路情報を送信する。
【０１２８】
実施例に係るパケット転送方法は、上記のパケット転送装置１ａ〜１ｃと同様の構成を含むので、上述した内容と同様の作用効果を奏する。
【０１２９】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【０１３０】
なお、以上の説明に関して更に以下の付記を開示する。
（付記１）  他装置との間で第１プロトコルに基づく通信セッションを確立することにより、パケットの経路情報を交換し、交換した前記経路情報に基づいてパケットを転送するパケット転送装置において、
前記他装置から前記第１プロトコルに基づく通信セッションの確立を要求する要求メッセージを受信したとき、前記他装置に前記経路情報を送信する経路処理部と、
前記要求メッセージに含まれる障害監視設定が有効である場合、前記経路処理部に前記経路情報の送信処理を待機させた後、前記他装置との間で第２プロトコルに基づく通信セッションを確立することにより、前記他装置との通信の障害監視を開始し、該開始後に前記経路処理部に前記経路情報を送信させる監視処理部とを有することを特徴とするパケット転送装置。
（付記２）  情報を記録する記録部をさらに有し、
前記監視処理部は、
前記要求メッセージに含まれる障害監視設定が有効である場合、前記要求メッセージの送信元を示す第１送信元情報を前記記録部に記録し、
前記他装置との通信の障害監視の開始後、前記第２プロトコルに基づく通信セッションにより前記他装置から受信した監視パケットの送信元を示す第２送信元情報を、前記第１送信元情報と照合し、該照合の結果、前記第２送信元情報が前記第１送信元情報に一致した場合、前記経路処理部に前記経路情報を送信させることを特徴とする付記１に記載のパケット転送装置。
（付記３）  前記監視処理部は、
前記障害監視設定が無効である場合、前記第１プロトコルに基づく通信セッションが確立されることにより、前記他装置との通信の障害監視を行い、
前記第２プロトコルに基づく通信セッションによる障害監視において、前記第１プロトコルに基づく通信セッションによる障害監視より短い時間間隔で前記他装置と監視パケットを送受信することを特徴とする付記１または２に記載のパケット転送装置。
（付記４）  第１プロトコルに基づく通信セッションを確立することにより、パケットの経路情報を交換し、交換した前記経路情報に基づいてパケットを転送する第１パケット転送装置及び第２パケット転送装置を有するパケット転送システムにおいて、
前記第１パケット転送装置及び前記第２パケット転送装置は、
障害監視の有無に関する障害監視設定を含み、前記第１プロトコルに基づく通信セッションの確立を要求する要求メッセージを互いに送受信し、
受信した前記要求メッセージに含まれる前記障害監視設定が有効である場合、前記経路情報の送信処理を待機させた後、第２プロトコルに基づく通信セッションを確立することにより、前記第１パケット転送装置及び前記第２パケット転送装置間の通信の障害監視を開始し、
該開始後に前記経路情報を互いに送受信することを特徴とするパケット転送システム。
（付記５）  前記第１パケット転送装置及び前記第２パケット転送装置は、
前記要求メッセージに含まれる障害監視設定が有効である場合、前記要求メッセージの送信元を示す第１送信元情報を記録し、
障害監視の開始後、前記第２プロトコルに基づく通信セッションにより、前記第１パケット転送装置及び前記第２パケット転送装置の他方から受信した監視パケットの送信元を示す第２送信元情報を、前記第１送信元情報と照合し、
該照合の結果、前記第２送信元情報が前記第１送信元情報に一致した場合、前記経路情報を互いに送受信することを特徴とする付記４に記載のパケット転送システム。
（付記６）  前記第１パケット転送装置及び前記第２パケット転送装置は、
前記障害監視設定が無効である場合、前記第１プロトコルに基づく通信セッションを確立することにより、互いに通信の障害監視を行い、
前記第２プロトコルに基づく通信セッションによる障害監視において、前記第１プロトコルに基づく通信セッションによる障害監視より短い時間間隔で互いに監視パケットを送受信することを特徴とする付記４または５に記載のパケット転送システム。
（付記７）  他装置との間で第１プロトコルに基づく通信セッションを確立することにより、パケットの経路情報を交換し、交換した前記経路情報に基づいてパケットを転送するパケット転送方法において、
前記他装置から前記第１プロトコルに基づく通信セッションの確立を要求する要求メッセージを受信し、
前記要求メッセージに含まれる障害監視設定が有効である場合、前記他装置への前記経路情報の送信処理を待機させた後、前記他装置との間で第２プロトコルに基づく通信セッションを確立することにより、前記他装置との通信の障害監視を開始し、
該開始後に前記他装置に前記経路情報を送信することを特徴とするパケット転送方法。
（付記８）  前記要求メッセージに含まれる障害監視設定が有効である場合、前記要求メッセージの送信元を示す第１送信元情報を記録し、
前記他装置との通信の障害監視の開始後、前記第２プロトコルに基づく通信セッションにより前記他装置から受信した監視パケットの送信元を示す第２送信元情報を、前記第１送信元情報と照合し、
該照合の結果、前記第２送信元情報が前記第１送信元情報に一致した場合、前記他装置に前記経路情報を送信することを特徴とする付記７に記載のパケット転送方法。
（付記９）  前記障害監視設定が無効である場合、前記第１プロトコルに基づく通信セッションを確立することにより、前記他装置との通信の障害監視を行い、
前記第２プロトコルに基づく通信セッションによる障害監視において、前記第１プロトコルに基づく通信セッションによる障害監視より短い時間間隔で前記他装置と監視パケットを送受信することを特徴とする付記７または８に記載のパケット転送方法。
【符号の説明】
【０１３１】
１ａ〜１ｃ      ルータ
１０       ＣＰＵ
１３       パラメータ格納メモリ
１５       ポート
１００      監視処理部
１０１      経路処理部
１３０      動作設定情報
１３１      ルーティングテーブル
１３２      ピアアドレステーブル
【図１】
2016048850.tif 000003
【図２】
2016048850.tif 000004
【図３】
2016048850.tif 000005
【図４】
2016048850.tif 000006
【図５】
2016048850.tif 000007
【図６】
2016048850.tif 000008
【図７】
2016048850.tif 000009
【図８】
2016048850.tif 000010
【図９】
2016048850.tif 000011
【図１０】
2016048850.tif 000012