(57)【要約】【課題】障害復旧に伴う経路の切り戻り時のパケット破棄を抑制し、切り戻りの時間を短縮すること。【解決手段】パケット転送装置１１０は、通信部１１１と、制御部１１２と、を備える。通信部１１１は、ＩＰアドレスとＭＡＣアドレスとの対応情報に基づくパケットの転送を含む通信を行う。制御部１１２は、通信部１１１の通信に障害が発生してパケットの伝送経路が自装置を経由しない経路に切り替わり、通信部１１１の通信が障害から復旧すると、障害が発生する前の対応情報のバックアップと、他のパケット転送装置から受信した経路情報と、に基づいて対応情報を更新する。そして、制御部１１２は、対応情報を更新した後に、パケットの伝送経路を自装置を経由する経路に切り戻す制御を行う。【選択図】図１
2019161257.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク層のアドレスとデータリンク層のアドレスとの対応情報に基づくパケットの転送を含む通信を行う通信部と、
自装置を経由する前記通信に障害が発生して前記パケットの伝送経路が自装置を経由しない経路に切り替わり、自装置を経由する前記通信が前記障害から復旧すると、前記障害が発生する前の前記対応情報のバックアップと、他のパケット転送装置から受信した経路情報と、に基づいて前記対応情報を更新した後に、前記パケットの伝送経路を自装置を経由する経路に切り戻す制御を行う制御部と、
を備えることを特徴とするパケット転送装置。
【請求項２】
前記制御部は、前記バックアップと前記経路情報とに基づく、ネットワーク層のアドレスとデータリンク層のアドレスとの組み合わせについて、前記組み合わせのネットワーク層のアドレスに対応するデータリンク層のアドレスを問い合わせる第１信号を、前記組み合わせのネットワーク層のアドレスおよび前記組み合わせのデータリンク層のアドレスを宛先にしてユニキャストで送信し、前記第１信号に応じて送信される第２信号を受信し、受信した前記第２信号に基づいて前記対応情報を更新することを特徴とする請求項１に記載のパケット転送装置。
【請求項３】
前記通信部は、前記ネットワーク層のアドレスとデータリンク層のアドレスとの対応情報と、他のパケット転送装置から受信した経路情報に基づくネットワーク層のアドレスと転送先との対応情報と、に基づいて前記パケットの転送を行い、
前記制御部は、自装置を経由する前記通信が前記障害から復旧した後の前記ネットワーク層のアドレスと転送先との対応情報に関する情報を他のパケット転送装置に送信することにより前記制御を行う、
ことを特徴とする請求項１または２に記載のパケット転送装置。
【請求項４】
ネットワーク層のアドレスとデータリンク層のアドレスとの対応情報に基づくパケットの転送を含む通信を行い、自装置を経由する前記通信に障害が発生して前記パケットの伝送経路が自装置を経由しない経路に切り替わり、自装置を経由する前記通信が前記障害から復旧すると、前記障害が発生する前の前記対応情報のバックアップと、他のパケット転送装置から受信した経路情報と、に基づいて前記対応情報を更新した後に、前記パケットの伝送経路を自装置を経由する経路に切り戻す制御を行う第１パケット転送装置と、
前記第１パケット転送装置の前記通信に障害が発生した場合に前記パケットの転送を行う第２パケット転送装置と、
を含むことを特徴とするパケット転送システム。
【請求項５】
コンピュータに、
ネットワーク層のアドレスとデータリンク層のアドレスとの対応情報に基づくパケットの転送を含む通信を行い、
自装置を経由する前記通信に障害が発生して前記パケットの伝送経路が自装置を経由しない経路に切り替わり、自装置を経由する前記通信が前記障害から復旧すると、前記障害が発生する前の前記対応情報のバックアップと、他のパケット転送装置から受信した経路情報と、に基づいて前記対応情報を更新した後に、前記パケットの伝送経路を自装置を経由する経路に切り戻す制御を行う、
処理を実行させることを特徴とするパケット転送プログラム。
【請求項６】
パケット転送装置が、
ネットワーク層のアドレスとデータリンク層のアドレスとの対応情報に基づくパケットの転送を含む通信を行い、
自装置を経由する前記通信に障害が発生して前記パケットの伝送経路が自装置を経由しない経路に切り替わり、自装置を経由する前記通信が前記障害から復旧すると、前記障害が発生する前の前記対応情報のバックアップと、他のパケット転送装置から受信した経路情報と、に基づいて前記対応情報を更新した後に、前記パケットの伝送経路を自装置を経由する経路に切り戻す制御を行う、
ことを特徴とするパケット転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット転送装置、パケット転送システム、パケット転送プログラムおよびパケット転送方法に関する。
【背景技術】
【０００２】
従来、ＩＰネットワークにおいて、現用系ネットワーク機器および冗長系ネットワーク機器を用いパケット通信経路を２重化し、ネットワークの冗長性を高める技術が知られている。また、障害復旧時に、ＡＲＰテーブルのバックアップにて一時的に転送処理を開始する技術が知られている（たとえば、下記特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−３９３６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来技術では、たとえば、障害からの復旧時に、ＡＲＰ解決と経路の切り戻しが並行して行われ、ＡＲＰ解決が完了する前に経路が切り戻ると、ＡＲＰテーブルに基づくパケットの転送ができず、パケットが破棄される場合がある。
【０００５】
また、たとえばＡＲＰテーブルのバックアップにて一時的に転送処理を開始しても、ＡＲＰテーブルのバックアップの最終更新後に変更があったホストに対してのパケットを転送することができず、パケットが破棄される場合がある。
【０００６】
また、ＡＲＰ解決後に経路の切り戻しを行えばパケット破棄の回避が可能となるが、ＡＲＰ解決にはたとえば対象とするサブネットに属する全てのネットワーク層のアドレスにＡＲＰリクエストを順次送信するため、切り戻しまでに相当な時間を要する場合がある。
【０００７】
また、冗長構成を採る他ネットワーク機器からＡＲＰテーブルの転送を受ける構成も考えられるが、他ネットワーク機器側への転送処理の追加や、転送に時間を要する場合がある。
【０００８】
１つの側面では、本発明は、障害復旧に伴う経路の切り戻り時のパケット破棄を抑制し、切り戻りの時間を短縮することができるパケット転送装置、パケット転送システム、パケット転送プログラムおよびパケット転送方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するため、１つの実施態様では、パケット転送装置が、ネットワーク層のアドレスとデータリンク層のアドレスとの対応情報に基づくパケットの転送を含む通信を行い、自装置を経由する前記通信に障害が発生して前記パケットの伝送経路が自装置を経由しない経路に切り替わり、自装置を経由する前記通信が前記障害から復旧すると、前記障害が発生する前の前記対応情報のバックアップと、他のパケット転送装置から受信した経路情報と、に基づいて前記対応情報を更新した後に、前記パケットの伝送経路を自装置を経由する経路に切り戻す制御を行うパケット転送装置、パケット転送システム、パケット転送プログラムおよびパケット転送方法が提案される。
【発明の効果】
【００１０】
本発明の一側面によれば、障害復旧に伴う経路の切り戻り時のパケット破棄を抑制し、切り戻りの時間を短縮することができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施の形態にかかるパケット転送システムの一例を示す図である。
【図２】図２は、実施の形態にかかるＩＰデータ通信ネットワークの一例を示す図である。
【図３】図３は、実施の形態にかかるＩＰデータ通信ネットワークにおける障害発生前のパケット伝送の一例を示す図である。
【図４】図４は、実施の形態にかかるルータの障害発生前のＡＲＰテーブルの一例を示す図である。
【図５】図５は、実施の形態にかかるＩＰデータ通信ネットワークにおける障害発生時のパケット伝送の一例を示す図である。
【図６】図６は、実施の形態にかかるルータの障害発生時のＡＲＰテーブルの一例を示す図である。
【図７】図７は、実施の形態にかかるＩＰデータ通信ネットワークにおける障害復旧時のパケット伝送の一例を示す図である。
【図８】図８は、実施の形態にかかるバリデーションチェック処理におけるＡＲＰテーブルバックアップのコピーの一例を示す図である。
【図９】図９は、実施の形態にかかるバリデーションチェック処理におけるバリデーションチェックテーブルの更新の一例を示す図である。
【図１０】図１０は、実施の形態にかかるルータによるＡＲＰリクエストのユニキャスト送信の一例を示す図である。
【図１１】図１１は、実施の形態にかかるルータによるＡＲＰテーブルの更新の一例を示す図である。
【図１２】図１２は、実施の形態にかかるバリデーションチェックの完了率の変化の一例を示す図である。
【図１３】図１３は、実施の形態にかかるＩＰデータ通信ネットワークにおける伝送経路の切り戻しの一例を示す図である。
【図１４】図１４は、実施の形態にかかるバリデーションチェックの完了率の変化の他の一例を示す図である。
【図１５】図１５は、実施の形態にかかるバリデーションチェックの完了率の変化のさらに他の一例を示す図である。
【図１６】図１６は、実施の形態にかかるルータによる処理の一例を示すフローチャートである。
【図１７】図１７は、実施の形態にかかるルータによるバリデーションチェック処理の一例を示すフローチャートである。
【図１８】図１８は、実施の形態にかかるルータの一例を示すブロック図である。
【図１９】図１９は、実施の形態にかかるルータによるルーティングテーブルの生成の一例を示す図である。
【図２０】図２０は、実施の形態にかかるルータによる正常時の処理の一例を示すブロック図である。
【図２１】図２１は、実施の形態にかかるルータによる正常時の処理の他の一例を示すブロック図である。
【図２２】図２２は、実施の形態にかかるルータによるバリデーションチェック開始時の処理の一例を示すブロック図である。
【図２３】図２３は、実施の形態にかかるルータによるバリデーションチェック中の処理の一例を示すブロック図である。
【図２４】図２４は、実施の形態にかかるルータによるバリデーションチェック終了時の処理の一例を示すブロック図である。
【図２５】図２５は、実施の形態にかかるルータのハードウェア構成の一例を示す図である。
【図２６】図２６は、実施の形態にかかるバリデーションチェックの対象のインタフェース部の設定の一例を示す図である。
【図２７】図２７は、実施の形態にかかるバリデーションチェックの対象外のインタフェース部の設定の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下に図面を参照して、本発明にかかるパケット転送装置、パケット転送システム、パケット転送プログラムおよびパケット転送方法の実施の形態を詳細に説明する。
【００１３】
（実施の形態）
（実施の形態にかかるパケット転送システム）
図１は、実施の形態にかかるパケット転送システムの一例を示す図である。図１に示すように、実施の形態にかかるパケット転送システム１００は、たとえば、パケット転送装置１１０，１３０を含む。また、パケット転送システム１００は、さらにパケット転送装置１２０を含んでもよい。そして、パケット転送システム１００は、たとえば、通信装置１０１から送信されたパケットを通信装置１０２へ転送する。
【００１４】
たとえば、通信装置１０１は、通信装置１０２を宛先とするパケットをパケット転送装置１２０へ送信する。通信装置１０１とパケット転送装置１２０との間は、直接接続されていてもよいし、他の通信装置を介して接続されていてもよい。
【００１５】
パケット転送装置１２０は、通信装置１０１から受信した通信装置１０２へのパケットを、パケット転送装置１２０の経路情報に基づいて転送する。たとえば、パケット転送装置１１０による通信に障害が発生していない場合は、パケット転送装置１２０は、通信装置１０２へのパケットをパケット転送装置１１０へ転送する。パケット転送装置１２０とパケット転送装置１１０との間は、直接接続されていてもよいし、他の通信装置を介して接続されていてもよい。
【００１６】
また、パケット転送装置１１０による通信に障害が発生した場合は、パケット転送装置１２０は、通信装置１０２へのパケットをパケット転送装置１３０へ転送する。パケット転送装置１２０とパケット転送装置１３０との間は、直接接続されていてもよいし、他の通信装置を介して接続されていてもよい。
【００１７】
パケット転送装置１１０は、パケット転送装置１２０から受信した通信装置１０２へのパケットを通信装置１０２へ転送する。パケット転送装置１１０と通信装置１０２との間は、直接接続されていてもよいし、他の通信装置を介して接続されていてもよい。
【００１８】
パケット転送装置１１０は、通信部１１１と、制御部１１２と、を備える。通信部１１１は、ネットワーク層のアドレスとデータリンク層のアドレスとの対応情報に基づくパケットの転送を含む通信を行う。ネットワーク層のアドレスは、一例としてはＩＰアドレスである。ＩＰはＩｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ（インターネットプロトコル）の略である。データリンク層のアドレスは、一例としてはＭＡＣアドレスである。ＭＡＣはＭｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ（メディアアクセス制御）の略である。以下の説明においては、ネットワーク層のアドレスがＩＰアドレスであり、データリンク層のアドレスがＭＡＣアドレスである場合について説明する。
【００１９】
ＩＰアドレスとＭＡＣアドレスとの対応情報は、一例としては後述のＡＲＰテーブルである。ＡＲＰはＡｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ（アドレス解決プロトコル）の略である。たとえば、ＩＰアドレスとＭＡＣアドレスとの対応情報には、通信装置１０２のＩＰアドレスと通信装置１０２のＭＡＣアドレスとの組み合わせが含まれる。
【００２０】
たとえば、通信部１１１は、ＩＰアドレスとＭＡＣアドレスとの対応情報と、他のパケット転送装置から受信した経路情報に基づくＩＰアドレスと転送先との対応情報と、に基づいてパケットの転送を行う。
【００２１】
他のパケット転送装置には、たとえば、パケット転送装置１３０が含まれる。また、他のパケット転送装置には、パケット転送装置１２０が含まれてもよい。この他のパケット転送装置から受信した経路情報は、一例としてはＢＧＰによってパケット転送装置１１０が他のパケット転送装置との間で送受信する経路情報である。ＢＧＰはＢｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌの略である。ＩＰアドレスと転送先との対応情報は、一例としてはＲＩＢである。ＲＩＢはＲｏｕｔｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ（ルーティング情報ベース）の略である。または、ＩＰアドレスと転送先との対応情報は、ＲＩＢに基づくルーティングテーブルであってもよい。
【００２２】
通信部１１１による通信に障害が発生すると、通信装置１０２へのパケットの伝送経路が、パケット転送装置１１０を経由せずにパケット転送装置１３０を経由する経路に切り替わる。この切り替えは、一例としては、後述のＶＲＲＰによって行われる。ＶＲＲＰはＶｉｒｔｕａｌ  Ｒｏｕｔｅｒ  Ｒｅｄｕｎｄａｎｃｙ  Ｐｒｏｔｏｃｏｌ（仮想ルータ冗長プロトコル）の略である。
【００２３】
通信部１１１による通信に障害が発生して通信装置１０２へのパケットの伝送経路が自装置を経由しない経路に切り替わった後に、通信部１１１による通信がその障害から復旧したとする。この場合に、制御部１１２は、その障害が発生する前のＩＰアドレスとＭＡＣアドレスとの対応情報のバックアップと、他のパケット転送装置から受信した経路情報と、に基づいてＩＰアドレスとＭＡＣアドレスとの対応情報を更新する。他のパケット転送装置から受信した経路情報は、一例としては、パケット転送装置１１０のＢＧＰテーブルに含まれる、ＢＧＰによってパケット転送装置１１０が他のルータ等との間で送受信した経路情報である。
【００２４】
そして、制御部１１２は、このようにＩＰアドレスとＭＡＣアドレスとの対応情報を更新した後に、通信装置１０２へのパケットの伝送経路を、自装置を経由する経路に切り戻す制御を行う。たとえば、制御部１１２は、通信部１１１の通信が障害から復旧した後のＩＰアドレスと転送先との対応情報に関する情報を他のパケット転送装置に送信することにより、通信装置１０２へのパケットの伝送経路を、自装置を経由する経路に切り戻す制御を行う。ＩＰアドレスと転送先との対応情報（たとえばＲＩＢ）に関する情報は、たとえば、上述したＲＩＢに含まれる情報や、上述したＲＩＢに基づくルーティングテーブルに含まれる情報である。
【００２５】
パケット転送装置１３０は、パケット転送装置１２０から受信した通信装置１０２へのパケットを通信装置１０２へ転送する。パケット転送装置１３０と通信装置１０２との間は、直接接続されていてもよいし、他の通信装置を介して接続されていてもよい。
【００２６】
図１に示すパケット転送装置１１０によれば、通信に障害が発生してパケットの伝送経路が自装置を経由しない経路に切り替わり、ＩＰアドレスとＭＡＣアドレスとの対応情報のバックアップと、他のパケット転送装置から受信した経路情報と、に基づいてその対応情報を更新することができる。これにより、切り戻りの時間を短縮することができる。
【００２７】
また、パケット転送装置１１０によれば、ＩＰアドレスとＭＡＣアドレスとの対応情報のバックアップと、他のパケット転送装置から受信した経路情報と、に基づいてＩＰアドレスとＭＡＣアドレスとの対応情報を更新した後に、パケットの伝送経路を自装置を経由する経路に切り戻す制御を行うことができる。これにより、通信が障害から復旧した後、ＩＰアドレスとＭＡＣアドレスとの対応情報がない状態でパケットの経路が自装置を経由する経路に切り戻ることを回避することができる。このため、障害復旧に伴う経路の切り戻り時のパケット破棄を抑制し、切り戻りの時間を短縮することができる。
【００２８】
また、パケット転送装置１１０によるＡＲＰ解決後に経路の切り戻しを行えばパケット破棄の回避が可能となるが、ＡＲＰ解決にはたとえば対象とするサブネットに属する全てのネットワーク層のアドレスにＡＲＰリクエストを順次送信するため、切り戻しまでに相当な時間を要する場合がある。本実施形態ではこの処理が不要であり切り戻しまでの時間を短縮できる。
【００２９】
また、冗長構成を採る他ネットワーク機器であるパケット転送装置１３０からＡＲＰテーブルの転送を受ける方法も考えられるが、他ネットワーク機器側への転送処理の追加や、転送に時間を要する場合がある。本実施形態では他ネットワーク機器側への処理追加や、ＡＲＰテーブル転送にかかる時間は不要である。
【００３０】
さらに、他のパケット転送装置から受信する経路情報の一例としてＢＧＰテーブルがある。ＢＧＰテーブルはたとえば図９に示すとおり、ＩＰアドレスとＭＡＣアドレスとの対応も含む。すると、ＡＲＰテーブルのバックアップは用いずに、ＢＧＰテーブルからＡＲＰテーブルを作成する方法も考えられるが、ＢＧＰテーブルからＡＲＰテーブルを作成する処理の負荷が生じる。本実施形態ではＡＲＰテーブルのバックアップを用いているので、新たにＡＲＰテーブルを作成する処理負荷は生じない。
【００３１】
また、制御部１１２は、ＩＰアドレスとＭＡＣアドレスとの対応情報のバックアップと経路情報と、に基づくＩＰアドレスとＭＡＣアドレスとの組み合わせ（たとえば後述のバリデーションチェックテーブル）について、以下の処理を行ってもよい。すなわち、制御部１１２は、その組み合わせのＩＰアドレスに対応するＭＡＣアドレスを問い合わせる第１信号を、その組み合わせのＩＰアドレスおよびＭＡＣアドレスを宛先にしてユニキャストで送信し、送信した第１信号に応じて送信される第２信号を受信する。
【００３２】
第１信号は、一例としては、ユニキャストで送信されるＡＲＰリクエストである。この場合に、第２信号は、一例としてはＡＲＰリプライである。第１信号の送信および第２信号の受信は、たとえば制御部１１２が通信部１１１を制御することによって行うことができる。制御部１１２は、ＩＰアドレスとＭＡＣアドレスとの対応情報を、受信した第２信号に基づいて更新し、その後にパケットの伝送経路を自装置を経由する経路に切り戻す制御を行う。
【００３３】
これにより、ＩＰアドレスとＭＡＣアドレスとの最新の対応関係が、上述したバックアップや経路情報が示す対応関係から変化していても、伝送経路の切り戻し後にパケット転送装置１１０が正しくパケット転送を行うことができる。また、たとえば第１信号をブロードキャストで送信する場合に比べてネットワークへの負荷を抑制することができる。
【００３４】
（実施の形態にかかるＩＰデータ通信ネットワーク）
図２は、実施の形態にかかるＩＰデータ通信ネットワークの一例を示す図である。図１に示したパケット転送システム１００は、たとえば図２に示すＩＰデータ通信ネットワーク２００に適用することができる。ＩＰデータ通信ネットワーク２００は、リモートホスト２１０と、上位ネットワーク２２０と、０系の伝送経路２３０と、１系の伝送経路２４０と、Ｎ個のホスト２５１〜２５Ｎと、Ｓｙｓｌｏｇサーバ２６０と、を含む。
【００３５】
リモートホスト２１０は、上位ネットワーク２２０に接続され、ホスト２５１〜２５Ｎの少なくともいずれかを宛先とするパケットを、上位ネットワーク２２０を介して送信する通信装置である。上位ネットワーク２２０は、リモートホスト２１０、０系の伝送経路２３０、１系の伝送経路２４０およびＳｙｓｌｏｇサーバ２６０を接続する通信ネットワークである。
【００３６】
０系の伝送経路２３０は、上位ネットワーク２２０からホスト２５１〜２５Ｎへのパケットを伝送する経路であって、運用系（現用系）の経路である。１系の伝送経路２４０は、上位ネットワーク２２０からホスト２５１〜２５Ｎへのパケットを伝送する経路であって、０系の伝送経路２３０の通信に障害が発生した場合に使用される予備系（冗長系）の経路である。
【００３７】
０系の伝送経路２３０は、上位ルータ２３１（＃０）と、ルータ２３２（＃０）と、スイッチ２３３（＃０）と、を含む。上位ルータ２３１は、上位ネットワーク２２０と接続されたルータである。ルータ２３２は、上位ルータ２３１を介して上位ネットワーク２２０と接続されたルータである。スイッチ２３３は、ルータ２３２と、ホスト２５１〜２５Ｎと、を接続するスイッチ（たとえばＬ２スイッチ）である。
【００３８】
１系の伝送経路２４０は、上位ルータ２４１（＃１）と、ルータ２４２（＃１）と、スイッチ２４３（＃１）と、を含む。上位ルータ２４１は、上位ネットワーク２２０と接続されたルータである。ルータ２４２は、上位ルータ２４１を介して上位ネットワーク２２０と接続されたルータである。スイッチ２４３は、ルータ２４２と、ホスト２５１〜２５Ｎと、を接続するスイッチ（たとえばＬ２スイッチ）である。また、０系の伝送経路２３０のスイッチ２３３と１系の伝送経路２４０のスイッチ２４３は互いに接続されている。
【００３９】
Ｎ個のホスト２５１〜２５Ｎは、伝送経路２３０および伝送経路２４０を介して上位ネットワーク２２０と接続されたローカルホストである。また、Ｎ個のホスト２５１〜２５Ｎは、Ｎ個より少ない数の通信装置によって仮想的に実現されてもよい。
【００４０】
上位ネットワーク２２０からホスト２５１〜２５Ｎへのパケットを伝送する経路の伝送経路２３０，２４０による冗長化（二重化）は、たとえばＶＲＲＰを用いて実現される。
【００４１】
Ｓｙｓｌｏｇサーバ２６０は、ＩＰデータ通信ネットワーク２００における通信装置から送信されるＳｙｓｌｏｇ（シスログ）のログメッセージを受け付けるサーバである。Ｓｙｓｌｏｇは、ログメッセージをＩＰネットワーク上で転送するための標準規格である。Ｓｙｓｌｏｇサーバ２６０は運用者２６１によって運用される。たとえば、Ｓｙｓｌｏｇサーバ２６０が受け付けたＳｙｓｌｏｇのログメッセージは、運用者２６１によって閲覧可能であり、運用者２６１はＳｙｓｌｏｇのログメッセージに応じたＩＰデータ通信ネットワーク２００の保守管理を行うことができる。
【００４２】
図１に示したパケット転送装置１１０は、たとえばルータ２３２により実現することができる。図１に示したパケット転送装置１２０は、たとえば上位ネットワーク２２０のルータ等により実現することができる。図１に示したパケット転送装置１３０は、たとえばルータ２４２や上位ルータ２４１により実現することができる。図１に示した通信装置１０１は、たとえばリモートホスト２１０により実現することができる。図１に示した通信装置１０２は、たとえばホスト２５１〜２５Ｎの少なくともいずれかにより実現することができる。
【００４３】
（実施の形態にかかるＩＰデータ通信ネットワークにおける障害発生前のパケット伝送）
図３は、実施の形態にかかるＩＰデータ通信ネットワークにおける障害発生前のパケット伝送の一例を示す図である。図３において、図２に示した部分と同様の部分については同一の符号を付して説明を省略する。図３に示す伝送経路３０１は、送信元がリモートホスト２１０であり、送信先がホスト２５１であるパケットの伝送経路である。
【００４４】
０系の伝送経路２３０に障害が発生していない状態においては、図３に示すように、伝送経路３０１は０系の伝送経路２３０を経由する経路となる。すなわち、リモートホスト２１０から送信されたパケットは、上位ネットワーク２２０、上位ルータ２３１、ルータ２３２およびスイッチ２３３を介してホスト２５１へ送信される。
【００４５】
また、この場合に、たとえばＶＲＲＰを使用している場合は以下のような流れになる。ルータ２３２は、ＶＲＲＰのマスタになっており、ＶＲＲＰパケット（ＡＤＶＥＲＴＩＳＥＭＥＮＴ）を定期的にルータ２４２へ送信する。ルータ２３２からのＶＲＲＰパケットは、たとえばスイッチ２３３およびスイッチ２４３を介してルータ２４２へ送信される。ルータ２４２は、ルータ２３２からのＶＲＲＰパケットに基づいて、ルータ２３２による通信に障害が発生していないと判断してＶＲＲＰのスタンバイになり、ＶＲＲＰパケットを送信しない。
【００４６】
（実施の形態にかかるルータの障害発生前のＡＲＰテーブル）
図４は、実施の形態にかかるルータの障害発生前のＡＲＰテーブルの一例を示す図である。図３に示したルータ２３２は、たとえば図４に示すＡＲＰテーブル４００を記憶している。ＡＲＰテーブル４００の一行目は、ルータ２３２が備えるインタフェース部のうちＥｔｈ１／１についてのＩＰアドレスおよびＭＡＣアドレスを示している。
【００４７】
図４に示す例では、ＡＲＰテーブル４００は、ルータ２３２がインタフェース部としてＥｔｈ１／１を有し、Ｅｔｈ１／１のＩＰアドレスは“１９２．１６８．０．１”であり、Ｅｔｈ１／１のＭＡＣアドレスは“Ｅ．Ｅ．１”であることを示している。Ｅｔｈ１／１は、ルータ２３２がスイッチ２３３を介してホスト２５１〜２５Ｎとの間で通信を行うためのインタフェース部（たとえば図１８に示すインタフェース部１８０１）である。
【００４８】
ＡＲＰテーブル４００の二行目以降は、ルータ２３２と異なる通信装置ごとに、その通信装置のＩＰアドレスと、その通信装置のＭＡＣアドレスと、ルータ２３２がその通信装置との通信に使用するルータ２３２のインタフェース部を示すＩＦと、を示している。
【００４９】
たとえば、ＡＲＰテーブル４００の２行目以降のＩＰアドレスの“１９２．１６８．０．２”〜“１９２．１６８．０．１０１”は、ホスト２５１〜２５Ｎに含まれる物理的または仮想的な各通信ノードのＩＰアドレスである。また、ＡＲＰテーブル４００の２行目以降は、ＩＰアドレスがそれぞれ“１９２．１６８．０．２”〜“１９２．１６８．０．１０１”の各通信ノードのＭＡＣアドレスがそれぞれ“Ｅ．Ｅ．２”〜“Ｅ．Ｅ．６４”であることを示している。なお、通信ノードが仮想的に実現されている場合は、ＩＰアドレスが異なる各通信ノードが同一のＭＡＣアドレスを有する場合がある。
【００５０】
また、ＡＲＰテーブル４００の２行目以降は、ＩＰアドレスがそれぞれ“１９２．１６８．０．２”〜“１９２．１６８．０．１０１”の各通信ノードとの間の通信に使用するルータ２３２のインタフェース部がＥｔｈ１／１であることを示している。
【００５１】
図４に示す例では、ＡＲＰテーブル４００には、ルータ２３２が備えるインタフェース部のうちＥｔｈ１／１に関する情報が含まれている。ただし、ＡＲＰテーブル４００にはルータ２３２が備えるインタフェース部のうちＥｔｈ１／１と異なるインタフェース部（たとえば後述のＥｔｈ１／２）に関する情報がさらに含まれていてもよい。
【００５２】
（実施の形態にかかるＩＰデータ通信ネットワークにおける障害発生時のパケット伝送）
図５は、実施の形態にかかるＩＰデータ通信ネットワークにおける障害発生時のパケット伝送の一例を示す図である。図５において、図３に示した部分と同様の部分については同一の符号を付して説明を省略する。たとえば、図５に示すように、ルータ２３２とスイッチ２３３との間の通信において障害５０１が発生したとする。障害５０１は、リンクダウンを伴う障害であり、たとえば、ルータ２３２のインタフェース部（ポート）またはラインカード等の障害や、スイッチ２３３の障害である。この場合は、ルータ２３２はスタンバイとなる。
【００５３】
この場合は、たとえばＶＲＲＰを使用している場合は、ルータ２３２からのＶＲＲＰパケットがルータ２４２に到達しなくなり、ルータ２４２は、ルータ２３２において何らかの障害が発生したことを検知する。そして、ルータ２４２は、マスタとなって他の通信装置へのＶＲＲＰパケットの送信を開始する。
【００５４】
ルータ２３２からホストへ向けたルート情報がルータ２３２のＲＩＢから削除され、ルータ２３２のルーティングテーブルが更新され、他のルータ（たとえば上位ルータ２３１や上位ネットワーク２２０のルータやルータ２４２）のルーティングテーブルも更新される。その結果、リモートホスト２１０からホスト２５１へのパケットの伝送経路３０１が、１系の伝送経路２４０を経由する経路となる。すなわち、リモートホスト２１０から送信されたパケットは、上位ネットワーク２２０、上位ルータ２４１、ルータ２４２およびスイッチ２４３を介してホスト２５１へ送信される。ＲＩＢは、たとえば、各ホストについて、ＩＰアドレスと、インタフェース部（ＩＦ）と、接続関係と、を示すデータベースである。接続関係は、そのホストがルータ２３２の配下にいるホストなのか他のルータの配下にいるホストなのかなどの関係である。
【００５５】
（実施の形態にかかるルータの障害発生時のＡＲＰテーブル）
図６は、実施の形態にかかるルータの障害発生時のＡＲＰテーブルの一例を示す図である。図６において、図４に示した部分と同様の部分については同一の符号を付して説明を省略する。図５に示した障害５０１が発生すると、ルータ２３２は、図６に示すように、ＡＲＰテーブル４００におけるＥｔｈ１／１に関する情報のうち一行目を除く各情報を削除する。
【００５６】
（実施の形態にかかるＩＰデータ通信ネットワークにおける障害復旧時のパケット伝送）
図７は、実施の形態にかかるＩＰデータ通信ネットワークにおける障害復旧時のパケット伝送の一例を示す図である。図７において、図５に示した部分と同様の部分については同一の符号を付して説明を省略する。
【００５７】
図７に示すように、図５に示した障害５０１から、ルータ２３２とスイッチ２３３との間の通信が復旧したとする。この場合に、ルータ２３２は、ホスト２５１〜２５Ｎとの通信を行うためのインタフェース部（Ｅｔｈ１／１）のリンクアップを行う。リンクアップとは、たとえばデータリンク層（レイヤ２：Ｌ２）における通信が可能な状態にすることである。
【００５８】
ただし、ルータ２３２は、このリンクアップの後、自装置のルーティングテーブルを更新して伝送経路３０１を０系の伝送経路２３０に切り戻す前に、ホスト２５１〜２５ＮについてＡＲＰ解決ができているか否かを確認するバリデーションチェック処理を行う。バリデーションチェック処理については後述する。また、ルータ２３２は、障害が発生したＥｔｈ１／１を、ＲＩＢへの経路情報の登録やＶＲＲＰ等を使用している場合は、ＶＲＲＰパケット等の送信を行わないバリデーションチェック状態にする。これにより、ホスト２５１〜２５ＮについてＡＲＰ解決できていない状態で伝送経路３０１が０系の伝送経路２３０に切り戻ることを回避することができる。
【００５９】
（実施の形態にかかるバリデーションチェック処理におけるＡＲＰテーブルバックアップのコピー）
図８は、実施の形態にかかるバリデーションチェック処理におけるＡＲＰテーブルバックアップのコピーの一例を示す図である。図８に示すＡＲＰテーブルバックアップ８１０は、図４等に示したＡＲＰテーブル４００のバックアップである。ルータ２３２は、たとえば定期的にＡＲＰテーブル４００のコピーを生成することによりＡＲＰテーブルバックアップ８１０を記憶している。そして、ルータ２３２は、通信に障害が発生してＡＲＰテーブル４００の他の通信装置の情報を削除する場合（たとえば図６参照）にも、ＡＲＰテーブルバックアップ８１０の情報は削除せずに保持しておく。
【００６０】
図８に示すＡＲＰテーブルバックアップ８１０は、図４に示した障害発生前のＡＲＰテーブル４００のバックアップである。また、図８に示すＡＲＰテーブルバックアップ８１０は、Ｅｔｈ１／１だけでなくＥｔｈ１／２に関する各情報のＡＲＰテーブルのバックアップも含んでいる。
【００６１】
ルータ２３２は、スイッチ２３３との間の通信のリンクアップが完了すると、バリデーションチェック処理として、まず、図８に示すＡＲＰテーブルバックアップ８１０を読み出す。そして、ルータ２３２は、読み出したＡＲＰテーブルバックアップ８１０のうち、ＩＦがＥｔｈ１／１の各情報をバリデーションチェックテーブル８２０にコピーする。図に示す例では、一行目のＥｔｈ１／１に関する情報と、二行目以降の１００個のホストに関する各情報と、がバリデーションチェックテーブル８２０にコピーされている。
【００６２】
（実施の形態にかかるバリデーションチェック処理におけるバリデーションチェックテーブルの更新）
図９は、実施の形態にかかるバリデーションチェック処理におけるバリデーションチェックテーブルの更新の一例を示す図である。図９において、図８に示した部分と同様の部分については同一の符号を付して説明を省略する。ルータ２３２は、図８に示したようにＡＲＰテーブルバックアップ８１０の内容をコピーしたバリデーションチェックテーブル８２０を、ＢＧＰテーブル９１０に基づいて更新（最新化）する。
【００６３】
ＢＧＰテーブル９１０は、ルータ２３２がＢＧＰにより他のルータやＬ３スイッチから受信したＩＰネットワークの経路情報を含むテーブルである。ＢＧＰは、一般的なルータやＬ３スイッチが使用可能であり、ネットワークの帯域への負荷が少ないルーティングプロトコルである。図９に示すＢＧＰテーブル９１０は、たとえばＥＶＰＮのＢＧＰテーブルである。ＥＶＰＮはＥｔｈｅｒｎｅｔ  ＶＰＮの略である。ＶＰＮはＶｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ（仮想プライベートネットワーク）の略である。たとえば、ＢＧＰ  ＥＶＰＮのｒｏｕｔｅ  ｔｙｐｅ２を使うことで、ＡＲＰテーブル４００に相当する情報（ＩＰアドレスとＭＡＣアドレスの対応情報）を得ることができる。
【００６４】
たとえば、ＢＧＰテーブル９１０は、ＡＲＰテーブルに相当する情報であるＩＰアドレスおよびＭＡＣアドレスと、ＶＲＦ情報と、を対応付ける情報である。ＶＲＦはＶｉｒｔｕａｌ  Ｒｏｕｔｉｎｇ  ａｎｄ  Ｆｏｒｗａｒｄｉｎｇ（仮想ルーティング／転送）の略である。また、ＢＧＰテーブル９１０は、たとえばＩＦの情報を含まない。
【００６５】
ルータ２３２は、バリデーションチェックテーブル８２０とＢＧＰテーブル９１０とを比較照合することにより、バリデーションチェックテーブル８２０を最新化する。図９に示す例では、バリデーションチェックテーブル８２０に含まれる“１９２．１６８．０．５０”のホストは、ＢＧＰテーブル９１０には含まれていない。このため、ルータ２３２は、バリデーションチェックテーブル８２０から“１９２．１６８．０．５０”の情報を削除する。
【００６６】
また、バリデーションチェックテーブル８２０に含まれていない“１９２．１６８．０．１１０”のホストがＢＧＰテーブル９１０に含まれている。このため、ルータ２３２は、バリデーションチェックテーブル８２０に“１９２．１６８．０．１１０”の情報を追加する。これにより、バリデーションチェックテーブル８２０をＢＧＰテーブル９１０に基づいて最新化することができる。
【００６７】
（実施の形態にかかるバリデーションチェック処理におけるＡＲＰリクエストのユニキャスト送信）
図１０は、実施の形態にかかるルータによるＡＲＰリクエストのユニキャスト送信の一例を示す図である。図１０において、図７に示した部分と同様の部分については同一の符号を付して説明を省略する。ルータ２３２は、図９に示した処理によって最新化したバリデーションチェックテーブル８２０に情報が含まれる各ホストに対してＡＲＰリクエストをユニキャストで送信する。
【００６８】
たとえば、ＩＰアドレスの“１９２．１６８．０．２”がホスト２５１のＩＰアドレスである場合に、ルータ２３２は、ホスト２５１に対して、“１９２．１６８．０．２”に対応するＭＡＣアドレスを問い合わせるＡＲＰリクエストをユニキャストで送信する。このＡＲＰリクエストは、ＩＰアドレスの“１９２．１６８．０．２”と、そのＩＰアドレスに対応するＭＡＣアドレスの“Ｅ．Ｅ．２”と、を宛先として含む。
【００６９】
同様に、ルータ２３２は、バリデーションチェックテーブル８２０に含まれる各ＩＰアドレスについて、対応するＭＡＣアドレスを問い合わせるＡＲＰリクエストをユニキャストで送信する。ただし、バリデーションチェックテーブル８２０の一行目はルータ２３２のＥｔｈ１／１の情報であるため、ルータ２３２は、バリデーションチェックテーブル８２０の一行目の情報に基づくＡＲＰリクエストは送信しなくてもよい。
【００７０】
このように、ルータ２３２は、バリデーションチェック処理において、ＡＲＰリクエストを、ブロードキャストではなく、ＡＲＰリフレッシュと同様にユニキャストで送信することで、ネットワークに対する負荷を少なくすることができる。ＡＲＰリフレッシュは、ＡＲＰテーブルに登録されている各ＩＰアドレス、ＭＡＣアドレス、ＩＦの紐づけが最新のものになるように確認および最新化を行うＡＲＰの処理である。
【００７１】
また、ルータ２３２は、バリデーションチェックテーブル８２０に情報が含まれるすべてのホストに一度にＡＲＰリクエストを送信するのではなく、所定のｐｐｓレートでＡＲＰリクエストを送信してもよい。これにより、ネットワークに対する負荷を少なくすることができる。ｐｐｓはｐａｃｋｅｔ  ｐｅｒ  ｓｅｃｏｎｄの略である。所定のｐｐｓレートは、たとえばコンフィグ等（たとえば図２８参照）でルータ２３２に設定される。
【００７２】
（実施の形態にかかるルータによるＡＲＰテーブルの更新）
図１１は、実施の形態にかかるルータによるＡＲＰテーブルの更新の一例を示す図である。図１１において、図６，図９に示した部分と同様の部分については同一の符号を付して説明を省略する。ルータ２３２は、１００個のホストに対してＡＲＰリクエストを送信したが、そのうち１個のホストからのＡＲＰリプライを受信しなかった（ＡＲＰ解決に失敗した）とする。この１個のホストは、ＩＰアドレスが“１９２．１６８．０．９９”でありＭＡＣアドレスが“Ｅ．Ｅ．６３”のホストであるとする。
【００７３】
この場合に、ルータ２３２は、ＡＲＰ解決した９９個のホストのデータ（ＩＰアドレス、ＭＡＣアドレスおよびＩＦ）をバリデーションチェックテーブル８２０からＡＲＰテーブル４００にコピーする。図１１に示す例では、１００個のホストのうち９９個のホストについてバリデーションチェックが完了したため、バリデーションチェックの完了率は９９％である。
【００７４】
このように、ルータ２３２は、ユニキャストでのＡＲＰ解決を行うことで、あるホストが消えたがＢＧＰテーブル９１０に反映されていない場合や、サイレント障害が発生している場合などの通信断を防ぐことができる。
【００７５】
（実施の形態にかかるバリデーションチェックの完了率の変化）
図１２は、実施の形態にかかるバリデーションチェックの完了率の変化の一例を示す図である。図１２において、横軸は時間を示し、縦軸はバリデーションチェックの完了率を示す。バリデーションチェックの完了率は、バリデーションチェックテーブル８２０に情報が含まれるホストのうちバリデーションチェックが完了しているホストの割合である。
【００７６】
完了率１２０１は、時間の経過とともに変化するバリデーションチェックの完了率を示す。図１１に示した例では、バリデーションチェックテーブル８２０に登録されている１００個のホストの中から９９個のホストのＡＲＰ解決が完了し、その９９個のホストのデータがＡＲＰテーブル４００に登録されている。したがって、バリデーションチェックの完了率は９９％となる。
【００７７】
ルータ２３２は、バリデーションチェックの完了率が所定の閾値以上になると、バリデーションチェックに合格したと判断し、Ｅｔｈ１／１のバリデーションチェック状態を解除する。所定の閾値は、たとえばコンフィグ等でルータ２３２に設定されており、一例としては９０％である。
【００７８】
（実施の形態にかかるＩＰデータ通信ネットワークにおける伝送経路の切り戻し）
図１３は、実施の形態にかかるＩＰデータ通信ネットワークにおける伝送経路の切り戻しの一例を示す図である。図１３において、図１０に示した部分と同様の部分については同一の符号を付して説明を省略する。ルータ２３２は、Ｅｔｈ１／１のバリデーションチェック状態を解除すると、Ｅｔｈ１／１とホスト２５１〜２５Ｎとの間のリンクアップで得られたホスト２５１〜２５Ｎに関する経路情報を自装置のＲＩＢに登録する。
【００７９】
そして、ルータ２３２は、経路情報を登録したＲＩＢに基づいて自装置のルーティングテーブルを更新する。また、ルータ２３２は、ルーティングテーブルの更新情報をＢＧＰにより他のルータへ送信する。他のルータは、たとえば上位ルータ２４１や上位ネットワーク２２０のルータである。
【００８０】
これにより、他のルータのルーティングテーブルも更新され、図１３に示すように、リモートホスト２１０からホスト２５１へのパケットの伝送経路３０１が、０系の伝送経路２３０を経由する経路に切り戻る。すなわち、リモートホスト２１０から送信されたパケットは、上位ネットワーク２２０、上位ルータ２３１、ルータ２３２およびスイッチ２３３を介してホスト２５１へ送信される。
【００８１】
そして、この時点で、ルータ２３２のＡＲＰテーブルは最新の情報に更新済み（ＡＲＰ解決済み）であるため、ルータ２３２は、ホスト２５１へのパケットを受信しても、そのパケットをＡＲＰテーブルに基づいてホスト２５１へ転送することができる。このため、障害復旧に伴う経路の切り戻り時のパケット破棄を抑制し、切り戻りの時間を短縮することができる。
【００８２】
（実施の形態にかかるバリデーションチェックの完了率の変化）
図１４は、実施の形態にかかるバリデーションチェックの完了率の変化の他の一例を示す図である。図１３において、図１２に示した部分と同様の部分については同一の符号を付して説明を省略する。完了率１２０１に示すように、バリデーションチェック処理において、１００個のホストに対してルータ２３２がＡＲＰリクエストをユニキャストで送信したが、ＡＲＰリプライをルータ２３２へ送信したホストが９０個未満であったとする。
【００８３】
この場合は、バリデーションチェックの完了率が９０％に達していないため、ルータ２３２は、所定時間Ｔだけ待機する。所定時間Ｔは、たとえばコンフィグ等でルータ２３２に設定されており、一例としては５分である。そして、ルータ２３２は、バリデーションチェックテーブル８２０に情報が含まれる１００個のホストのうちＡＲＰリプライを受信していないホストに対してＡＲＰリクエストを再度ユニキャストで送信する。
【００８４】
その結果、バリデーションチェック処理においてＡＲＰリプライをルータ２３２へ送信したホストが９０個以上、すなわちバリデーションチェックの完了率が９０％以上になったとする。この場合は、ルータ２３２は、Ｅｔｈ１／１のバリデーションチェック状態を解除し、図１３に示したように、リモートホスト２１０からホスト２５１へのパケットの伝送経路３０１を０系の伝送経路２３０を経由する経路に切り戻す。
【００８５】
図１５は、実施の形態にかかるバリデーションチェックの完了率の変化のさらに他の一例を示す図である。図１５において、図１２，図１４に示した部分と同様の部分については同一の符号を付して説明を省略する。たとえば、ルータ２３２が、ＡＲＰ未解決のホストに対してＡＲＰリクエストをユニキャストで送信する処理を所定回数だけ繰り返したが、バリデーションチェックの完了率が９０％に達しなかったとする。所定回数は、たとえばコンフィグ等でルータ２３２に設定されており、図１５に示す例では３回である。
【００８６】
この場合は、ルータ２３２は、バリデーションチェックに不合格と判断し、Ｓｙｓｌｏｇサーバ２６０などに異常を知らせる。また、ルータ２３２は、Ｅｔｈ１／１を強制的にシャットダウンさせる。
【００８７】
（実施の形態にかかるルータによる処理）
図１６は、実施の形態にかかるルータによる処理の一例を示すフローチャートである。実施の形態にかかるルータ２３２は、通常のルーティングおよびフォワーディングとは別に、自装置のインタフェース部（通信ポート）のそれぞれについて、たとえば図１６に示す各ステップを実行する。たとえば、ルータ２３２は、上述したＥｔｈ１／１およびＥｔｈ１／２のそれぞれについて図１６に示す各ステップを実行する。
【００８８】
まず、ルータ２３２は、対象のインタフェース部（たとえばＥｔｈ１／１）による通信に障害が発生したか否かを判断し（ステップＳ１６０１）、障害が発生するまで待つ（ステップＳ１６０１：Ｎｏのループ）。障害が発生すると（ステップＳ１６０１：Ｙｅｓ）、ルータ２３２は、対象のインタフェース部がその障害から復旧したか否かを判断し（ステップＳ１６０２）、障害から復旧するまで待つ（ステップＳ１６０２：Ｎｏのループ）。障害から復旧すると（ステップＳ１６０２：Ｙｅｓ）、ルータ２３２は、対象のインタフェース部による通信のリンクアップを行う（ステップＳ１６０３）。
【００８９】
つぎに、ルータ２３２は、対象のインタフェース部がバリデーションチェックの対象であるか否かを判断する（ステップＳ１６０４）。たとえば、ルータ２３２には、ルータ２３２のインタフェース部のそれぞれについて、バリデーションチェックの対象とするか否かの設定を示すコンフィグ等（たとえば図２６，図２７参照）が記憶されている。ステップＳ１６０４の判断はこのコンフィグ等に基づいて行うことができる。バリデーションチェックの対象でない場合（ステップＳ１６０４：Ｎｏ）は、ルータ２３２は、ステップＳ１６０７へ移行する。
【００９０】
ステップＳ１６０４において、バリデーションチェックの対象である場合（ステップＳ１６０４：Ｙｅｓ）は、ルータ２３２は、対象のインタフェース部についてのバリデーションチェック処理を実行する（ステップＳ１６０５）。バリデーションチェック処理については後述する（たとえば図１７参照）。
【００９１】
つぎに、ルータ２３２は、ステップＳ１６０５のバリデーションチェック処理の結果に基づいて、対象のインタフェース部がバリデーションチェックに合格したか否かを判断する（ステップＳ１６０６）。バリデーションチェックに合格した場合（ステップＳ１６０６：Ｙｅｓ）は、ルータ２３２は、対象のインタフェース部に関する経路情報をルータ２３２のＲＩＢに登録し（ステップＳ１６０７）、一連の処理を終了する。対象のインタフェース部に関する経路情報は、たとえばステップＳ１６０３のリンクアップにより得られた経路情報である。
【００９２】
ステップＳ１６０７により、経路情報が登録されたＲＩＢに基づいてルータ２３２のルーティングテーブルが更新され、それによって他のルータ（たとえば上位ルータ２３１や上位ネットワーク２２０のルータ）のルーティングテーブルも更新される。これにより、たとえば、ルータ２３２と異なるルータがルータ２３２を使用可能であることを認識し、ステップＳ１６０１において発生した障害によって切り替わった経路が切り戻る。
【００９３】
ステップＳ１６０６において、バリデーションチェックに合格していない場合（ステップＳ１６０６：Ｎｏ）は、ルータ２３２は、所定のエラー処理を行う（ステップＳ１６０８）。所定のエラー処理には、一例としては、後述のＳｙｓｌｏｇ通知のメッセージの生成が含まれる。または、所定のエラー処理には、対象のインタフェース部のシャットダウンが含まれてもよい。
【００９４】
つぎに、ルータ２３２は、Ｓｙｓｌｏｇサーバ２６０に対して、対象のインタフェース部による通信の正常性が確認できなかったことをＳｙｓｌｏｇにより通知するＳｙｓｌｏｇ通知を行い（ステップＳ１６０９）、一連の処理を終了する。ステップＳ１６０９によるＳｙｓｌｏｇ通知は、たとえば上位ルータ２３１および上位ネットワーク２２０を介して行うことができる。
【００９５】
（実施の形態にかかるルータによるバリデーションチェック処理）
図１７は、実施の形態にかかるルータによるバリデーションチェック処理の一例を示すフローチャートである。図１６に示したステップＳ１６０５において、ルータ２３２は、バリデーションチェック処理として、たとえば図１７に示す各ステップを実行する。
【００９６】
まず、ルータ２３２は、対象のインタフェース部を、バリデーションチェック状態に設定する（ステップＳ１７０１）。バリデーションチェック状態とは、上述したように、ＲＩＢへの経路情報の登録やＶＲＲＰ等を使用している場合はＶＲＲＰパケット等の送信を行わない状態である。つぎに、ルータ２３２は、ＡＲＰテーブルバックアップ８１０のうち対象のインタフェース部の情報をバリデーションチェックテーブル８２０にコピーする（ステップＳ１７０２）。これにより、障害が発生する前のＡＲＰテーブル４００の内容を含むバリデーションチェックテーブル８２０を得ることができる。
【００９７】
つぎに、ルータ２３２は、ＢＧＰテーブル９１０に基づいてバリデーションチェックテーブル８２０を更新する（ステップＳ１７０３）。つぎに、ルータ２３２は、バリデーションチェックの完了率が所定の閾値以上であるか否かを判断する（ステップＳ１７０４）。バリデーションチェックの完了率は、バリデーションチェックテーブル８２０に情報が含まれている各ＩＰアドレス（たとえばホスト２５１〜２５Ｎの各ＩＰアドレス）のうちバリデーションチェックが完了しているＩＰアドレスの割合であり、初期値は０％である。バリデーションチェックが完了しているとは、たとえば後述のステップＳ１７０６〜Ｓ１７０９によりＡＲＰ解決済み（ＡＲＰリプライを受信済み）であることである。
【００９８】
ステップＳ１７０４において、完了率が閾値以上でない場合（ステップＳ１７０４：Ｎｏ）は、ルータ２３２は、バリデーションチェックのＡＲＰ解決の試行回数がＮ以上であるか否かを判断する（ステップＳ１７０５）。バリデーションチェックのＡＲＰ解決の試行回数は、たとえばステップＳ１７０６〜Ｓ１７０９を実行した回数である。Ｎは、たとえばコンフィグ等でルータ２３２に設定された回数であり、一例としては３である。
【００９９】
ステップＳ１７０５において、試行回数がＮ以上でない場合（ステップＳ１７０５：Ｎｏ）は、ルータ２３２は、バリデーションチェックテーブル８２０に基づいて、ＡＲＰ解決していないＩＰアドレスを特定する（ステップＳ１７０６）。ＡＲＰ解決していないＩＰアドレスとは、たとえば後述のステップＳ１７０８により送信するＡＲＰリクエストに対してＡＲＰリプライを受信したＩＰアドレスである。なお、ルータ２３２は、ステップＳ１７０６に移行したのが２回目以降である場合は、前回のステップＳ１７０６〜Ｓ１７０９の処理から所定時間Ｔが経過してからステップＳ１７０６の処理を開始してもよい。
【０１００】
つぎに、ルータ２３２は、ステップＳ１７０６により特定したＩＰアドレスに対応するルートを自装置のルーティングテーブルに基づいて特定する（ステップＳ１７０７）。ＩＰアドレスに対応するルートとは、たとえばそのＩＰアドレスを宛先とするパケットの送出先である。たとえばそのＩＰアドレスがホスト２５１〜２５ＮのＩＰアドレスである場合は、そのＩＰアドレスに対応するルートはスイッチ２３３である。
【０１０１】
つぎに、ルータ２３２は、特定したルート（たとえばスイッチ２３３）へ、ステップＳ１７０６により特定したＩＰアドレスのＭＡＣアドレスを問い合わせるＡＲＰリクエストをユニキャストで送信する（ステップＳ１７０８）。ステップＳ１７０８において、ルータ２３２は、所定のｐｐｓで送信してもよい。そして、ルータ２３２は、ステップＳ１７０８により送信したＡＲＰリクエストに応じて送信されたＡＲＰリプライを受信する。
【０１０２】
つぎに、ルータ２３２は、ステップＳ１７０８により送信したＡＲＰリクエストに応じて受信したＡＲＰリプライに基づいてバリデーションチェックテーブル８２０を更新し（ステップＳ１７０９）、ステップＳ１７０４へ戻る。
【０１０３】
ステップＳ１７０５において、試行回数がＮ以上である場合（ステップＳ１７０５：Ｙｅｓ）は、ルータ２３２は、バリデーションチェックに不合格と判断し（ステップＳ１７１０）、一連のバリデーションチェックの処理を終了する。
【０１０４】
ステップＳ１７０４において、完了率が閾値以上である場合（ステップＳ１７０４：Ｙｅｓ）は、ルータ２３２は、バリデーションチェックテーブル８２０の内容をＡＲＰテーブル４００にコピーする（ステップＳ１７１１）。つぎに、ルータ２３２は、対象のインタフェース部のバリデーションチェック状態を解除する（ステップＳ１７１２）。これにより、ＶＲＲＰ等を使用している場合、対象のインタフェース部が、他のルータ（たとえばルータ２４２）へのＶＲＲＰパケット等の送信を開始する。そして、ルータ２３２は、バリデーションチェックに合格したと判断し（ステップＳ１７１３）、一連のバリデーションチェックの処理を終了する。
【０１０５】
（実施の形態にかかるルータ）
図１８は、実施の形態にかかるルータの一例を示すブロック図である。図１８に示すように、ルータ２３２は、たとえば、インタフェース部１８０１，１８０２と、インタフェース処理部１８０３と、ルーティングテーブル・ＲＩＢ記憶部１８０４と、ＢＧＰテーブル記憶部１８０５と、ＡＲＰテーブル記憶部１８０６と、を備える。また、ルータ２３２は、たとえば、設定情報管理部１８０７と、パケット処理部１８０８と、バリデーションチェック部１８０９と、ＡＲＰテーブルバックアップ記憶部１８１０と、バリデーションチェックテーブル記憶部１８１１と、を備える。
【０１０６】
インタフェース部１８０１は、スイッチ２３３と接続され、ホスト２５１〜２５Ｎとの間で通信を行うホスト２５１〜２５Ｎ側のイーサネットの物理インタフェース（ポート）である。イーサネットは登録商標である。インタフェース部１８０１は、たとえば上述したＥｔｈ１／１である。インタフェース部１８０２は、上位ルータ２３１と接続され、上位ネットワーク２２０との間で通信を行う上位ネットワーク２２０側のイーサネットの物理インタフェースである。インタフェース部１８０２は、たとえば上述したＥｔｈ１／２である。なお、ルータ２３２は、インタフェース部１８０１，１８０２の他にも物理インタフェースを備えていてもよい。
【０１０７】
インタフェース処理部１８０３は、インタフェース部１８０１，１８０２を含むルータ２３２の各インタフェース部の制御や状態管理を行う。ルーティングテーブル・ＲＩＢ記憶部１８０４は、上述したルータ２３２の経路情報を管理するＲＩＢと、ＲＩＢに基づいて生成されるルーティングテーブルと、を記憶する。ＢＧＰテーブル記憶部１８０５は、ＢＧＰで収集した情報を管理するＢＧＰテーブル９１０を記憶する。また、ＢＧＰテーブル記憶部１８０５のルーティングテーブルは、ＢＧＰテーブル記憶部１８０５のＢＧＰテーブル９１０に基づいて更新される。
【０１０８】
ＡＲＰテーブル記憶部１８０６は、ＡＲＰのキャッシュ情報を管理するＡＲＰテーブル４００を記憶する。設定情報管理部１８０７は、ルータ２３２の各機能に対する設定内容を管理する。パケット処理部１８０８は、ＡＲＰ解決処理と、ＡＲＰテーブル記憶部１８０６に記憶されたＡＲＰテーブル４００の管理と、を行う。
【０１０９】
バリデーションチェック部１８０９は、上述したバリデーションチェック処理を実行する。ＡＲＰテーブルバックアップ記憶部１８１０は、ＡＲＰテーブル記憶部１８０６に記憶されたＡＲＰテーブルのバックアップであるＡＲＰテーブルバックアップ８１０を記憶する。バリデーションチェックテーブル記憶部１８１１は、バリデーションチェックテーブル８２０を記憶する。
【０１１０】
図１に示したパケット転送装置１１０の通信部１１１は、たとえばインタフェース部１８０１，１８０２、インタフェース処理部１８０３およびパケット処理部１８０８により実現することができる。図１に示したパケット転送装置１１０の制御部１１２は、たとえばバリデーションチェック部１８０９により実現することができる。
【０１１１】
（実施の形態にかかるルータによるルーティングテーブルの生成）
図１９は、実施の形態にかかるルータによるルーティングテーブルの生成の一例を示す図である。図１９に示すＲＩＢ１９０１およびルーティングテーブル１９０２は、図１８に示すルーティングテーブル・ＲＩＢ記憶部１８０４に記憶されるＲＩＢおよびルーティングテーブルである。
【０１１２】
ルータ２３２は、図１９に示すように、ＢＧＰによって他のルータとの間で送受信した経路情報に基づくＢＧＰテーブル９１０を含む情報に基づいてＲＩＢ１９０１を生成する。また、ルータ２３２は、ＲＩＢ１９０１に基づいてルーティングテーブル１９０２を生成する。そして、ルータ２３２は、ルーティングテーブル１９０２に基づいてパケットのフォワーディングを行う。
【０１１３】
（実施の形態にかかるルータによる正常時の処理）
図２０は、実施の形態にかかるルータによる正常時の処理の一例を示すブロック図である。図２０において、図１８に示した部分と同様の部分については同一の符号を付して説明を省略する。図２０に示す例では、ルータ２３２が、ルータ２３２の通信において障害が発生していない場合（正常時）に、リモートホスト２１０から上位ネットワーク２２０を介してホスト２５１宛てのパケットを受信した場合の処理について説明する。
【０１１４】
（１）まず、インタフェース部１８０２（Ｅｔｈ１／２）が、リモートホスト２１０からのホスト２５１宛てのパケットを、上位ネットワーク２２０を介して受信し、受信したパケットをインタフェース処理部１８０３へ出力する。
【０１１５】
（２）インタフェース処理部１８０３は、インタフェース部１８０２から出力されたパケットをパケット処理部１８０８へ出力する。
【０１１６】
（３）パケット処理部１８０８は、インタフェース処理部１８０３から出力されたパケットの処理を行う。たとえば、パケット処理部１８０８は、ルーティングテーブル・ＲＩＢ記憶部１８０４のルーティングテーブル１９０２を参照し、このパケットが、ルータ２３２の配下にいるホスト宛てのパケットなのか、他のルータに転送すべきパケットなのかを確認する。上述したように、図２０に示す例では、このパケットはルータ２３２の配下にいるホスト２５１宛てのパケットである。
【０１１７】
（４）このため、パケット処理部１８０８は、ＡＲＰテーブル記憶部１８０６のＡＲＰテーブル４００を参照して、そのパケットの宛先ＭＡＣアドレスをホスト２５１のＭＡＣアドレスに付け替える。ホスト２５１のＭＡＣアドレスは、たとえば、ＡＲＰテーブル４００においてホスト２５１のＩＰアドレスと対応付けられているＭＡＣアドレスである。
【０１１８】
（５）そして、パケット処理部１８０８は、宛先ＭＡＣアドレスを付け替えたパケットをインタフェース処理部１８０３へ出力する。
【０１１９】
（６）インタフェース処理部１８０３は、パケット処理部１８０８から出力されたパケットをインタフェース部１８０１（Ｅｔｈ１／１）へ出力する。インタフェース部１８０１は、パケット処理部１８０８から出力されたパケットをスイッチ２３３（たとえば図２参照）へ送信する。これにより、スイッチ２３３は、そのパケットの宛先ＭＡＣアドレス（ホスト２５１のＭＡＣアドレス）に基づいて、そのパケットをホスト２５１へ送信する。
【０１２０】
（実施の形態にかかるルータによる正常時の処理）
図２１は、実施の形態にかかるルータによる正常時の処理の他の一例を示すブロック図である。図２１において、図１８に示した部分と同様の部分については同一の符号を付して説明を省略する。図２１に示す例では、ルータ２３２が、ルータ２３２の通信において障害が発生していない場合（正常時）に、ホスト２５１からリモートホスト２１０宛てのパケットを受信した場合の処理について説明する。
【０１２１】
（１）まず、インタフェース部１８０１（Ｅｔｈ１／１）が、ホスト２５１からのリモートホスト２１０宛てのパケットを受信し、受信したパケットをインタフェース処理部１８０３へ出力する。
【０１２２】
（２）インタフェース処理部１８０３は、インタフェース部１８０１から出力されたパケットをパケット処理部１８０８へ出力する。
【０１２３】
（３）パケット処理部１８０８は、インタフェース処理部１８０３から出力されたパケットの処理を行う。たとえば、パケット処理部１８０８は、ルーティングテーブル・ＲＩＢ記憶部１８０４のルーティングテーブルを参照し、そのパケットが、ルータ２３２の配下にいるホスト宛てのパケットなのか、他のルータに転送すべきパケットなのかを確認する。図２１に示す例では、このパケットは、上述したようにリモートホスト２１０宛のパケットであるため、上位ルータ２３１に転送すべきパケットである。
【０１２４】
（４）このため、パケット処理部１８０８は、ＡＲＰテーブル記憶部１８０６のＡＲＰテーブル４００を参照して、そのパケットの宛先ＭＡＣアドレスを上位ルータ２３１のＭＡＣアドレスに付け替える。上位ルータ２３１のＭＡＣアドレスは、たとえば、ＡＲＰテーブル４００において上位ルータ２３１のＩＰアドレスと対応付けられているＭＡＣアドレスである。
【０１２５】
（５）そして、パケット処理部１８０８は、宛先ＭＡＣアドレスを付け替えたパケットをインタフェース処理部１８０３へ出力する。
【０１２６】
（６）インタフェース処理部１８０３は、パケット処理部１８０８から出力されたパケットをインタフェース部１８０２（Ｅｔｈ１／２）へ出力する。インタフェース部１８０２は、パケット処理部１８０８から出力されたパケットを、そのパケットの宛先ＭＡＣアドレス（上位ルータ２３１のＭＡＣアドレス）に基づいて上位ルータ２３１（たとえば図２参照）へ送信する。
【０１２７】
（実施の形態にかかるルータによるバリデーションチェック開始時の処理）
図２２は、実施の形態にかかるルータによるバリデーションチェック開始時の処理の一例を示すブロック図である。図２２において、図１８に示した部分と同様の部分については同一の符号を付して説明を省略する。図２２に示す例では、ルータ２３２が、図５に示した障害５０１から復旧し、インタフェース部１８０１（Ｅｔｈ１／１）のリンクアップを行った場合の処理について説明する。
【０１２８】
（１）インタフェース部１８０１は、リンクアップすると、インタフェース部１８０１がリンクアップしたことを示す情報をインタフェース処理部１８０３へ出力する。
【０１２９】
（２）インタフェース処理部１８０３は、インタフェース部１８０１がリンクアップしたことを示す情報がインタフェース部１８０１から出力されると、その情報をバリデーションチェック部１８０９へ出力する。
【０１３０】
（３）バリデーションチェック部１８０９は、インタフェース部１８０１がリンクアップしたことを示す情報がインタフェース処理部１８０３から出力されると、設定情報管理部１８０７を参照する。そして、バリデーションチェック部１８０９は、設定情報管理部１８０７の設定情報に基づいて、インタフェース部１８０１がバリデーションチェックの対象かどうかを確認する。図２２に示す例では、インタフェース部１８０１はバリデーションチェックの対象に設定されているとする。
【０１３１】
（４）この場合に、バリデーションチェック部１８０９は、インタフェース部１８０１をバリデーションチェック状態にするよう、インタフェース処理部１８０３に指示を出す。バリデーションチェック状態とは、上述したように、ＲＩＢへの経路情報の登録やＶＲＲＰ等を使用している場合はＶＲＲＰパケット等の送信を行わない状態である。
【０１３２】
（５）インタフェース処理部１８０３は、バリデーションチェック部１８０９からの指示に従って、インタフェース部１８０１をバリデーションチェック状態にする。
【０１３３】
（実施の形態にかかるルータによるバリデーションチェック中の処理）
図２３は、実施の形態にかかるルータによるバリデーションチェック中の処理の一例を示すブロック図である。図２３において、図１８に示した部分と同様の部分については同一の符号を付して説明を省略する。
【０１３４】
（６）図２２に示した処理のつぎに、バリデーションチェック部１８０９は、ＡＲＰテーブルバックアップ記憶部１８１０のＡＲＰテーブルバックアップ８１０のうち、バリデーションチェックの対象のインタフェース部１８０１（Ｅｔｈ１／１）の情報を確認する。
【０１３５】
（７）そして、バリデーションチェック部１８０９は、その情報をバリデーションチェックテーブル記憶部１８１１のバリデーションチェックテーブル８２０にコピーする。
【０１３６】
（８）つぎに、バリデーションチェック部１８０９は、ＢＧＰテーブル記憶部１８０５のＢＧＰテーブル９１０を参照する。
【０１３７】
（９）そして、バリデーションチェック部１８０９は、参照したＢＧＰテーブル９１０に基づいてバリデーションチェックテーブル８２０を最新化する。
【０１３８】
（１０）つぎに、バリデーションチェック部１８０９は、設定情報管理部１８０７の設定情報を参照し、バリデーションチェックの完了率の閾値の確認と、ＡＲＰリクエストの送信を何ｐｐｓで行うかの確認をする。
【０１３９】
（１１）つぎに、バリデーションチェック部１８０９は、バリデーションチェックテーブル記憶部１８１１のバリデーションチェックテーブル８２０を参照し、バリデーションチェックの完了率が（１０）で確認した閾値未満であることを確認する。また、バリデーションチェック部１８０９は、バリデーションチェックテーブル記憶部１８１１のバリデーションチェックテーブル８２０を参照し、ＡＲＰ解決を要するＩＰアドレスを確認する。
【０１４０】
（１２）つぎに、バリデーションチェック部１８０９は、ルーティングテーブル・ＲＩＢ記憶部１８０４のルーティングテーブル１９０２を参照し、確認したＩＰアドレスの通信ノードへのルートを確認する。
【０１４１】
（１３）つぎに、バリデーションチェック部１８０９は、（１２）で確認したルートへＡＲＰリクエストを送るようパケット処理部１８０８に指示する。
【０１４２】
（１４）パケット処理部１８０８は、インタフェース部１８０１（Ｅｔｈ１／１）経由でＡＲＰリクエストを送信するようインタフェース処理部１８０３に指示する。
【０１４３】
（１５）インタフェース処理部１８０３は、インタフェース部１８０１にＡＲＰリクエストをユニキャストで送信させる。
【０１４４】
（１６）インタフェース部１８０１は、ＡＲＰリクエストを送信した先のホストからのＡＲＰリプライを受信し、受信したＡＲＰリプライをインタフェース処理部１８０３へ出力する。
【０１４５】
（１７）インタフェース処理部１８０３は、インタフェース部１８０１から出力されたＡＲＰリプライをパケット処理部１８０８へ出力する。
【０１４６】
（１８）パケット処理部１８０８は、インタフェース処理部１８０３から出力されたＡＲＰリプライの結果をバリデーションチェック部１８０９へ通知する。
【０１４７】
（１９）バリデーションチェック部１８０９は、パケット処理部１８０８からの通知に基づいて、ＡＲＰ解決できたＩＰアドレスについて、バリデーションチェックテーブル記憶部１８１１のバリデーションチェックテーブル８２０の内容をアップデートする。ＡＲＰ解決できたＩＰアドレスとは、たとえばそのＩＰアドレスに対応するＭＡＣアドレスを通知するＡＲＰリプライを受信できたことである。
【０１４８】
そして、ルータ２３２は、バリデーションチェックの完了率が（１０）で確認した閾値以上となるまで、（１１）〜（１９）の処理を所定の時間間隔で繰り返す。
【０１４９】
（実施の形態にかかるルータによるバリデーションチェック終了時の処理）
図２４は、実施の形態にかかるルータによるバリデーションチェック終了時の処理の一例を示すブロック図である。図２４において、図１８に示した部分と同様の部分については同一の符号を付して説明を省略する。図２４に示す例では、バリデーションチェックの完了率が閾値以上になった場合のルータ２３２の処理について説明する。
【０１５０】
（２０）まず、バリデーションチェック部１８０９は、バリデーションチェックテーブル記憶部１８１１のバリデーションチェックテーブル８２０を参照する。
【０１５１】
（２１）そして、バリデーションチェック部１８０９は、バリデーションチェックテーブル８２０の内容をＡＲＰテーブル記憶部１８０６のＡＲＰテーブル４００にコピーする。
【０１５２】
（２２）また、バリデーションチェック部１８０９は、インタフェース処理部１８０３にインタフェース部１８０１のバリデーションチェック状態を終了させるよう指示を出す。
【０１５３】
（２３）つぎに、インタフェース処理部１８０３は、インタフェース部１８０１のバリデーションチェック状態を終了させる。
【０１５４】
（２４）また、バリデーションチェック部１８０９は、インタフェース部１８０１のリンクアップにより得られた経路情報をルーティングテーブル・ＲＩＢ記憶部１８０４のＲＩＢ１９０１に登録する。これにより、経路情報が登録されたルーティングテーブル・ＲＩＢ記憶部１８０４のＲＩＢ１９０１に基づいて、ルーティングテーブル・ＲＩＢ記憶部１８０４のルーティングテーブル１９０２が更新される。ＲＩＢ１９０１に基づくルーティングテーブル１９０２の更新は、たとえばパケット処理部１８０８によって実行される。
【０１５５】
これにより、他のルータ（たとえば上位ルータ２３１や上位ネットワーク２２０のルータ）のルーティングテーブルも更新され、ルータ２３２と異なるルータがルータ２３２を使用可能であることを認識する。したがって、たとえば図１３に示したように、パケットの伝送経路３０１が伝送経路２３０を経由する経路に切り戻る。
【０１５６】
（実施の形態にかかるルータのハードウェア構成）
図２５は、実施の形態にかかるルータのハードウェア構成の一例を示す図である。ルータ２３２は、たとえば図２５に示すコンピュータ２５００により実現することができる。コンピュータ２５００は、ＣＰＵ２５０１と、メモリ２５０２と、パケット転送エンジン２５０４と、ルータ情報管理メモリ２５０３と、通信インタフェース２５０５，２５０６と、を備える。ＣＰＵ２５０１、メモリ２５０２、ルータ情報管理メモリ２５０３およびパケット転送エンジン２５０４は、バス線２５０７により互いに接続されている。パケット転送エンジン２５０４、通信インタフェース２５０５，２５０６は、バス線２５０８により互いに接続されている。ＣＰＵはＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（中央処理装置）の略である。
【０１５７】
ＣＰＵ２５０１は、信号処理を行う回路であり、たとえばコンピュータ２５００の全体の制御を司るプロセッサである。メモリ２５０２は、たとえばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。メモリ２５０２は、ＣＰＵ２５０１のワークエリアとして使用される。
【０１５８】
ルータ情報管理メモリ２５０３は、設定情報の管理用のメモリである。また、ルータ情報管理メモリ２５０３には、コンピュータ２５００を動作させる各種のプログラムが記憶されている。ルータ情報管理メモリ２５０３に記憶されたプログラムは、メモリ２５０２にロードされてＣＰＵ２５０１によって実行される。ルータ情報管理メモリ２５０３は、たとえば磁気ディスク、光ディスク、フラッシュメモリなどの不揮発性メモリにより実現することができる。
【０１５９】
パケット転送エンジン２５０４は、パケットの転送先の決定等のパケット転送処理を行う回路である。パケット転送エンジン２５０４は、たとえばＡＳＩＣにより実現することができる。ＡＳＩＣはＡｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略である。または、パケット転送エンジン２５０４を設けずに、ルータ情報管理メモリ２５０３に記憶されたプログラムをメモリ２５０２にロードしてＣＰＵ２５０１が実行することによってパケット転送エンジン２５０４の機能をソフトウェア的に実現してもよい。
【０１６０】
通信インタフェース２５０５は、上位ルータ２３１（上位ネットワーク２２０）との間で通信を行う上位ルータ２３１向けの通信インタフェースである。通信インタフェース２５０６は、スイッチ２３３（ホスト２５１〜２５Ｎ）との間で通信を行うスイッチ２３３向けの通信インタフェースである。通信インタフェース２５０５，２５０６は、たとえばパケット転送エンジン２５０４によって制御される。
【０１６１】
図１８等に示したインタフェース部１８０２は、たとえば通信インタフェース２５０５により実現することができる。図１８等に示したインタフェース部１８０１は、たとえば通信インタフェース２５０６により実現することができる。図１８等に示したパケット処理部１８０８は、たとえばパケット転送エンジン２５０４により実現することができる。図１８等に示したバリデーションチェック部１８０９は、たとえばＣＰＵ２５０１により実現することができる。図１８等に示したルーティングテーブル・ＲＩＢ記憶部１８０４、ＢＧＰテーブル記憶部１８０５およびＡＲＰテーブル記憶部１８０６は、たとえばメモリ２５０２により実現することができる。図１８等に示したＡＲＰテーブルバックアップ記憶部１８１０およびバリデーションチェックテーブル記憶部１８１１は、たとえばメモリ２５０２により実現することができる。図１８等に示した設定情報管理部１８０７は、たとえばルータ情報管理メモリ２５０３により実現することができる。
【０１６２】
（実施の形態にかかるバリデーションチェックの対象のインタフェース部の設定）
図２６は、実施の形態にかかるバリデーションチェックの対象のインタフェース部の設定の一例を示す図である。たとえば、ルータ２３２のインタフェース部１８０１をバリデーションチェックの対象とする場合は、図１８に示した設定情報管理部１８０７の設定情報に、たとえば図２６に示すコンフィグ２６００を登録する。
【０１６３】
コンフィグ２６００の“ｉｎｔｅｒｆａｃｅ  Ｅｔｈｅｒｎｅｔ  １／１”は、インタフェース部１８０１（Ｅｔｈ１／１）を示す。また、コンフィグ２６００の“ｖａｌｉｄａｔｉｏｎ  ｃｈｅｃｋ  ｅｎａｂｌｅ”はバリデーションチェックの対象であることを示す。すなわち、コンフィグ２６００は、インタフェース部１８０１がバリデーションチェックの対象であることを示す。
【０１６４】
コンフィグ２６００の“ｖａｌｉｄａｔｉｏｎ  ｃｈｅｃｋ  ＡＲＰ  ２５（ｐｐｓ）”は、バリデーションチェック処理におけるＡＲＰリクエストの送信のｐｐｓレートが２５［ｐｐｓ］であることを示す。一例として、所定のｐｐｓレートを２５［ｐｐｓ］とし、ＡＲＰリクエストの送信先のホストが１００個である場合は、これらのホストへのＡＲＰリクエストの送信が約４秒で完了することになる。
【０１６５】
コンフィグ２６００の“ｖａｌｉｄａｔｉｏｎ  ｃｈｅｃｋ  ｔｈｒｅｓｈｏｌｄ  ９０（％）”は、上述したバリデーションチェックの完了率の閾値（たとえば図１２，図１４，図１５参照）が９０％であることを示す。コンフィグ２６００の“ｖａｌｉｄａｔｉｏｎ  ｃｈｅｃｋ  ｒｅｔｒｙ−ｉｎｔｅｒｖａｌ  ５（ｍｉｎ）”は、上述した所定時間Ｔ（たとえば図１４参照）が５分であることを示す。コンフィグ２６００の“ｖａｌｉｄａｔｉｏｎ  ｃｈｅｃｋ  ｍａｘ−ｔｒｙ  ３（ｔｉｍｅｓ）”は、上述したバリデーションチェック処理においてＡＲＰ未解決のホストにＡＲＰリクエストをユニキャストで送信する処理を繰り返す回数が３回であることを示す。
【０１６６】
（実施の形態にかかるバリデーションチェックの対象外のインタフェース部の設定）
図２７は、実施の形態にかかるバリデーションチェックの対象外のインタフェース部の設定の一例を示す図である。たとえば、ルータ２３２のインタフェース部１８０２をバリデーションチェックの対象外とする場合は、図１８に示した設定情報管理部１８０７の設定情報に、たとえば図２７に示すコンフィグ２７００を登録する。
【０１６７】
コンフィグ２７００の“ｉｎｔｅｒｆａｃｅ  Ｅｔｈｅｒｎｅｔ  １／２”は、インタフェース部１８０２（Ｅｔｈ１／２）を示す。また、コンフィグ２７００の“ｖａｌｉｄａｔｉｏｎ  ｃｈｅｃｋ  ｄｉｓａｂｌｅ”はバリデーションチェックの対象外であることを示す。すなわち、コンフィグ２７００は、インタフェース部１８０２がバリデーションチェックの対象外であることを示す。
【０１６８】
このように、実施の形態にかかるルータ２３２によれば、通信に障害５０１が発生してパケットの伝送経路３０１が自装置を経由しない経路に切り替わり、ＡＲＰテーブルのバックアップとＢＧＰテーブルとに基づいてＡＲＰテーブルを更新することができる。これにより、切り戻りの時間を短縮することができる。また、ルータ２３２によれば、ＡＲＰテーブルのバックアップとＢＧＰテーブルとに基づいてＡＲＰテーブルを更新した後に、パケットの伝送経路３０１を自装置を経由する経路に切り戻す制御を行うことができる。これにより、通信が障害５０１から復旧した後、ＡＲＰテーブルに他装置のＩＰアドレスとＭＡＣアドレスとの対応情報がない状態でパケットの伝送経路３０１が切り戻ることを回避することができる。このため、障害５０１からの復旧に伴う伝送経路３０１の切り戻り時のルータ２３２におけるパケット破棄を抑制し、切り戻りの時間を短縮することができる。
【０１６９】
図１に示したパケット転送装置１１０をルータ２３２に適用する構成について説明したが、パケット転送装置１１０は、ルータ２３２に限らず、ルータ２４２、上位ルータ２３１，２４１、または伝送経路２３０に含まれるルータに適用することもできる。また、パケット転送装置１１０は、ルータに限らずＬ３スイッチに適用することもできる。
【０１７０】
以上説明したように、パケット転送装置、パケット転送システム、パケット転送プログラムおよびパケット転送方法によれば、障害復旧に伴う経路の切り戻り時のパケット破棄を抑制し、切り戻りの時間を短縮することができる。
【０１７１】
たとえば、現在、多く利用されているＩＰデータ通信ネットワークは、ルータやスイッチ等に代表されるネットワーク通信装置を基に構成される。特にルータ機能を持つ装置は、保持するＩＰネットワークの経路情報をルーティングプロトコルであるＢＧＰ等を用いて対向ルータに通知する。これにより、サーバやＰＣ端末等のＩＰ通信の疎通が確保される。ＰＣはＰｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒの略である。
【０１７２】
大規模なＩＰデータ通信ネットワークや通信キャリアが運用する基幹通信ネットワークにおいては、各ネットワーク機器が物理または論理的に冗長化されている場合が多い。たとえば、ネットワーク機器や通信回線に障害が発生した場合は、冗長化した別の迂回経路を使用して、通信が継続されるよう構成されている。たとえば通信キャリアにおいては障害発生時の経路切り替えが１秒以内であることがＳＬＡで定められている。ＳＬＡはＳｅｒｖｉｃｅ  Ｌｅｖｅｌ  Ａｇｒｅｅｍｅｎｔの略であり、サービスを提供する事業者とその利用者の間で結ばれるサービスのレベルである。
【０１７３】
近年、通信事業者などの大規模ネットワークにおいては、ネットワークの共通化や仮想化が進められている。ネットワークの共通化は、各システムが専用のネットワークを有する形態から、複数のシステムが共通のネットワークに収容される形態への移行である。仮想化は、少数の高性能な専用サーバを使用する形態から、多数の汎用サーバを使用する形態への移行である。
【０１７４】
このようなネットワークの共通化や仮想化において、ルータやＬ３スイッチなどの１つのネットワーク機器に接続されるホストの数が増大している。ルータやＬ３スイッチなどのネットワーク機器でリンクダウンを伴う障害が発生し、その障害から復旧すると、障害から復旧したネットワーク機器は、自装置の配下にある各ホストへＡＲＰリクエストを送出する。
【０１７５】
そして、ＡＲＰリクエストに対してホストから送信されたＡＲＰリプライを受信することによりＡＲＰ解決が完了し、ＩＰアドレスと紐づいたＭＡＣアドレスがＡＲＰテーブルに登録される。リンクアップを契機に経路情報がＲＩＢに登録され、他ルータ等に通知が行くため、ＡＲＰ解決の完了前でも復旧したネットワーク機器が他ルータ等から経路として認識される場合がある。
【０１７６】
このため、ＡＲＰ解決の完了していないホスト宛てのパケットが復旧したネットワーク機器に届き、そのパケットが破棄されてしまう場合がある。このように、障害から復旧したネットワーク機器においては、配下の各ホストについてＡＲＰ解決が完了するまでは、通信断の状態のホストが存在する。そして、たとえば１秒以内にすべてのホストについてのＡＲＰ解決が完了しなければ、１秒以上の通信断が発生することになる。
【０１７７】
また、通常、ルータ等のネットワーク機器においては、ルータのＣＰＵ保護の観点から、ＡＲＰの処理で使えるＣＰＵリソースの上限が定められている（ポリシング）。このため、たとえばネットワーク機器の配下のホストが多くなると、ＡＲＰの処理に使用できるＣＰＵリソースの上限に達し、長時間の通信断が発生しやすくなる。一般的な通信事業者においては１秒以上の通信断はＳＬＡを超える通信断である。
【０１７８】
これに対して、たとえば、ＡＲＰの処理について、ポリシングによるＣＰＵリソースの制限をなくす方法が考えられる。しかしながら、ルータのＣＰＵはＡＲＰの処理以外にも様々な処理を担っており、ＣＰＵリソースがすべてＡＲＰの処理に使われてしまうと、ＣＰＵによる処理を要するルータの機能が使用できなくなる。また、この方法では、ルータの配下のホストがさらに増えた場合は、ＣＰＵの処理能力の限界がボトルネックとなり、ＡＲＰリクエストを送信できない、ＡＲＰリプライを受信できない、ＡＲＰテーブルに登録できないなどの問題が発生し得る。
【０１７９】
また、他の方法として、リンクアップを契機に上位側のポートの転送を停止（ｓｈｕｔｄｏｗｎ）し、配下の全ホストにｐｉｎｇを打って強制的にＡＲＰ解決させ、その後に上位側のポートの転送を再開（ｎｏ  ｓｈｕｔｄｏｗｎ）する方法が考えられる。
【０１８０】
しかしながら、この方法では、ｐｉｎｇの送信数が多くなり効率的でないという問題がある。たとえば、ルータの配下に１９２．１６８．０．１〜１９２．１６８．０．１００（サブネットマスク：／２４）の１００台のホストがあるとする。実運用上、この１９２．１６８．０．０／２４のネットワークアドレスのうちどのＩＰアドレスが実際にホストに割り当てられているかを確認してｐｉｎｇを打つことは現実的でなく、２５３個すべてのＩＰアドレスにｐｉｎｇを打つ方法が考えられる。このように多くのホストにｐｉｎｇを送信するとネットワークの帯域を消費することになり、サービスに影響が出る可能性がある。また、たとえば１００個しかホストがないのに２５４個の宛先にｐｉｎｇを送信することになる。
【０１８１】
また、上位側のポートの転送を停止すると、障害の起きていない他のポートの配下のホストも全断となってしまう。また、ルータの配下のスイッチが物理スイッチではなく仮想スイッチであり、各仮想スイッチが多数のホストを収容している場合は、仮想スイッチでは処理しきれない可能性がある。また、各仮想スイッチからブロードキャストが転送されるため、多くの帯域を消費することになる。
【０１８２】
また、他の方法として、リンクアップしてから一定の待機時間の後にＲＩＢへの経路登録を行うシーケンスにする方法が考えられる。しかしながら、この方法では、ルータの配下の全ホストのＡＲＰ解決が完了するようにリンクアップ後の待機時間を設定することを要するが、各ホストのＡＲＰ解決に要する時間を見積もることは困難である。また、ルータの配下のホストが増加すると、設定した待機時間内に全ホストのＡＲＰ解決が完了しなくなることが考えられる。
【０１８３】
また、他の方法として、障害復旧時に、ＡＲＰテーブルのバックアップにて一時的に転送処理を開始する方法が考えられる。しかしながら、この方法では、ＡＲＰテーブルのバックアップの最終更新後に変更があったホストに対してのパケットを転送することができず、パケット破棄が生じる。
【０１８４】
これに対して、上述した実施の形態によれば、リンクアップ後にバリデーションチェック処理を行い、ＡＲＰテーブルの正常性が確認できてからＲＩＢに経路情報を登録することができる。これにより、ＡＲＰ解決が完了していないルータに経路が切り戻ることを回避し、通信断を抑制することができる。
【０１８５】
また、ポリシングによるＣＰＵリソースの制限をなくさなくても通信断を抑制することができる。また、リンクアップを契機に上位側のポートの転送を停止させなくても通信断を抑制することができるため、障害の起きていない他のポートの配下のホストも断になることを回避することができる。また、配下の全ホストにｐｉｎｇを打たなくてもＡＲＰ解決できるため、ネットワークへの負荷を抑制することができる。各ホストのＡＲＰ解決に要する時間を事前に見積もらなくても通信断を抑制することができる。また、ＡＲＰテーブルのバックアップの最終更新後に変更があったホストに対してのパケットについても破棄せずに転送することができる。
【０１８６】
なお、本実施の形態で説明したパケット転送方法は、たとえば、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。ＣＤ−ＲＯＭはＣｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略である。ＤＶＤはＤｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃの略である。またこのプログラムは、インターネット等のネットワークを介して配布されてもよい。
【０１８７】
または、本実施の形態で説明したパケット転送方法は、たとえば、ルータ（たとえばルータ２３２，２４２）のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ：オペレーティングシステム）に搭載された機能として実現することができる。または、本実施の形態で説明したパケット転送方法は、追加のライセンス購入等により、記憶媒体やネットワークを経由してルータ（たとえばルータ２３２，２４２）に対して追加される機能として実現することができる。
【０１８８】
上述した各実施の形態に関し、さらに以下の付記を開示する。
【０１８９】
（付記１）ネットワーク層のアドレスとデータリンク層のアドレスとの対応情報に基づくパケットの転送を含む通信を行う通信部と、
自装置を経由する前記通信に障害が発生して前記パケットの伝送経路が自装置を経由しない経路に切り替わり、自装置を経由する前記通信が前記障害から復旧すると、前記障害が発生する前の前記対応情報のバックアップと、他のパケット転送装置から受信した経路情報と、に基づいて前記対応情報を更新した後に、前記パケットの伝送経路を自装置を経由する経路に切り戻す制御を行う制御部と、
を備えることを特徴とするパケット転送装置。
【０１９０】
（付記２）前記他のパケット転送装置から受信した経路情報は、ＢＧＰ（Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）により前記他のパケット転送装置から受信した経路情報であることを特徴とする付記１に記載のパケット転送装置。
【０１９１】
（付記３）前記制御部は、前記バックアップと前記経路情報とに基づく、ネットワーク層のアドレスとデータリンク層のアドレスとの組み合わせについて、前記組み合わせのネットワーク層のアドレスに対応するデータリンク層のアドレスを問い合わせる第１信号を、前記組み合わせのネットワーク層のアドレスおよび前記組み合わせのデータリンク層のアドレスを宛先にしてユニキャストで送信し、前記第１信号に応じて送信される第２信号を受信し、受信した前記第２信号に基づいて前記対応情報を更新することを特徴とする付記１または２に記載のパケット転送装置。
【０１９２】
（付記４）前記第１信号はＡＲＰリクエストであり、
前記第２信号はＡＲＰリプライである、
ことを特徴とする付記３に記載のパケット転送装置。
【０１９３】
（付記５）前記制御部は、他の通信装置についての前記組み合わせのそれぞれについて前記第１信号を送信し、前記対応情報を、前記他の通信装置のうち前記第２信号を受信した通信装置の前記組み合わせを含み、前記他の通信装置のうち前記第２信号を受信しなかった通信装置の前記組み合わせを含まないように前記対応情報を更新することを特徴とする付記３または４に記載のパケット転送装置。
【０１９４】
（付記６）前記制御部は、他の通信装置のうち前記第２信号を受信していない通信装置についての前記組み合わせのそれぞれについて前記第１信号を送信する処理を複数回行うことを特徴とする付記３〜５のいずれか一つに記載のパケット転送装置。
【０１９５】
（付記７）前記通信部は、前記ネットワーク層のアドレスとデータリンク層のアドレスとの対応情報と、他のパケット転送装置から受信した経路情報に基づくネットワーク層のアドレスと転送先との対応情報と、に基づいて前記パケットの転送を行い、
前記制御部は、自装置を経由する前記通信が前記障害から復旧した後の前記ネットワーク層のアドレスと転送先との対応情報に関する情報を他のパケット転送装置に送信することにより前記制御を行う、
ことを特徴とする付記１〜６のいずれか一つに記載のパケット転送装置。
【０１９６】
（付記８）前記ネットワーク層のアドレスとデータリンク層のアドレスとの対応情報はＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ：アドレス解決プロトコル）テーブルであり、
前記ネットワーク層のアドレスと転送先との対応情報はＲＩＢ（Ｒｏｕｔｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ：ルーティング情報ベース）である、
ことを特徴とする付記７に記載のパケット転送装置。
【０１９７】
（付記９）ネットワーク層のアドレスとデータリンク層のアドレスとの対応情報に基づくパケットの転送を含む通信を行い、自装置を経由する前記通信に障害が発生して前記パケットの伝送経路が自装置を経由しない経路に切り替わり、自装置を経由する前記通信が前記障害から復旧すると、前記障害が発生する前の前記対応情報のバックアップと、他のパケット転送装置から受信した経路情報と、に基づいて前記対応情報を更新した後に、前記パケットの伝送経路を自装置を経由する経路に切り戻す制御を行う第１パケット転送装置と、
前記第１パケット転送装置の前記通信に障害が発生した場合に前記パケットの転送を行う第２パケット転送装置と、
を含むことを特徴とするパケット転送システム。
【０１９８】
（付記１０）コンピュータに、
ネットワーク層のアドレスとデータリンク層のアドレスとの対応情報に基づくパケットの転送を含む通信を行い、
自装置を経由する前記通信に障害が発生して前記パケットの伝送経路が自装置を経由しない経路に切り替わり、自装置を経由する前記通信が前記障害から復旧すると、前記障害が発生する前の前記対応情報のバックアップと、他のパケット転送装置から受信した経路情報と、に基づいて前記対応情報を更新した後に、前記パケットの伝送経路を自装置を経由する経路に切り戻す制御を行う、
処理を実行させることを特徴とするパケット転送プログラム。
【０１９９】
（付記１１）パケット転送装置が、
ネットワーク層のアドレスとデータリンク層のアドレスとの対応情報に基づくパケットの転送を含む通信を行い、
自装置を経由する前記通信に障害が発生して前記パケットの伝送経路が自装置を経由しない経路に切り替わり、自装置を経由する前記通信が前記障害から復旧すると、前記障害が発生する前の前記対応情報のバックアップと、他のパケット転送装置から受信した経路情報と、に基づいて前記対応情報を更新した後に、前記パケットの伝送経路を自装置を経由する経路に切り戻す制御を行う、
ことを特徴とするパケット転送方法。
【符号の説明】
【０２００】
１００  パケット転送システム
１０１，１０２  通信装置
１１０，１２０，１３０  パケット転送装置
１１１  通信部
１１２  制御部
２００  ＩＰデータ通信ネットワーク
２１０  リモートホスト
２２０  上位ネットワーク
２３０，２４０，３０１  伝送経路
２３１，２４１  上位ルータ
２３２，２４２  ルータ
２３３，２４３  スイッチ
２５１〜２５Ｎ  ホスト
２６０  Ｓｙｓｌｏｇサーバ
２６１  運用者
４００  ＡＲＰテーブル
５０１  障害
８１０  ＡＲＰテーブルバックアップ
８２０  バリデーションチェックテーブル
９１０  ＢＧＰテーブル
１２０１  完了率
１８０１，１８０２  インタフェース部
１８０３  インタフェース処理部
１８０４  ルーティングテーブル・ＲＩＢ記憶部
１８０５  ＢＧＰテーブル記憶部
１８０６  ＡＲＰテーブル記憶部
１８０７  設定情報管理部
１８０８  パケット処理部
１８０９  バリデーションチェック部
１８１０  ＡＲＰテーブルバックアップ記憶部
１８１１  バリデーションチェックテーブル記憶部
１９０１  ＲＩＢ
１９０２  ルーティングテーブル
２５００  コンピュータ
２５０１  ＣＰＵ
２５０２  メモリ
２５０３  ルータ情報管理メモリ
２５０４  パケット転送エンジン
２５０５，２５０６  通信インタフェース
２５０７，２５０８  バス線
２６００，２７００  コンフィグ
【図１】
2019161257.tif 000003
【図２】
2019161257.tif 000004
【図３】
2019161257.tif 000005
【図４】
2019161257.tif 000006
【図５】
2019161257.tif 000007
【図６】
2019161257.tif 000008
【図７】
2019161257.tif 000009
【図８】
2019161257.tif 000010
【図９】
2019161257.tif 000011
【図１０】
2019161257.tif 000012
【図１１】
2019161257.tif 000013
【図１２】
2019161257.tif 000014
【図１３】
2019161257.tif 000015
【図１４】
2019161257.tif 000016
【図１５】
2019161257.tif 000017
【図１６】
2019161257.tif 000018
【図１７】
2019161257.tif 000019
【図１８】
2019161257.tif 000020
【図１９】
2019161257.tif 000021
【図２０】
2019161257.tif 000022
【図２１】
2019161257.tif 000023
【図２２】
2019161257.tif 000024
【図２３】
2019161257.tif 000025
【図２４】
2019161257.tif 000026
【図２５】
2019161257.tif 000027
【図２６】
2019161257.tif 000028
【図２７】
2019161257.tif 000029