(57)【要約】【課題】論理回線内の物理回線に発生する障害を検出することができる。【解決手段】通信装置１の受信部１ａは、他の通信装置２から物理回線の障害を検出するための監視パケットを受信する。情報格納部１ｂは、受信された監視パケットを通信装置１のどの物理回線によって転送したかを示す転送情報と通信装置１の物理回線の障害情報とを、受信された監視パケットに格納する。転送部１ｃは、情報格納部１ｂによって転送情報と障害情報とが格納された監視パケットを別の通信装置３に転送する。【選択図】図１
2010220037.tif 000002
【特許請求の範囲】
【請求項１】
パケットを転送する通信装置において、
他の通信装置から物理回線の障害を検出するための監視パケットを受信する受信部と、
前記監視パケットを当該通信装置のどの前記物理回線によって転送したかを示す転送情報と当該通信装置の前記物理回線の障害情報とを前記監視パケットに格納する情報格納部と、
前記監視パケットを別の通信装置に転送する転送部と、
を有することを特徴とする通信装置。
【請求項２】
受信されたユーザパケットの送信元アドレス、宛先アドレス、および前記送信元アドレスと前記宛先アドレスとにより算出されたハッシュ値を記憶した監視パケット生成テーブルと、
受信された前記ユーザパケットの前記宛先アドレスが前記監視パケット生成テーブルに記憶された前記宛先アドレスと同じで前記ハッシュ値が同じ場合、前記監視パケット生成テーブルに記憶されている最新の前記送信元アドレスと前記宛先アドレスとを用いて前記監視パケットを生成する監視パケット生成部と、
をさらに有することを特徴とする請求項１記載の通信装置。
【請求項３】
一定時間、前記監視パケット生成テーブルに記憶された前記送信元アドレスと前記宛先アドレスとの前記ユーザパケットが受信されなかった場合、前記監視パケット生成テーブルに記憶された前記送信元アドレス、前記宛先アドレス、および前記ハッシュ値は、削除されることを特徴とする請求項２記載の通信装置。
【請求項４】
前記監視パケットが当該通信装置宛であり、前記障害情報が前記物理回線に障害が発生していないことを示している場合、前記転送情報を記憶する記憶部をさらに有することを特徴とする請求項１記載の通信装置。
【請求項５】
前記監視パケットが当該通信装置宛であり、前記障害情報が前記物理回線に障害が発生していることを示している場合、前記記憶部に記憶されている前記転送情報と受信した前記監視パケットの前記転送情報と比較する比較部とをさらに有することを特徴とする請求項４記載の通信装置。
【請求項６】
パケットを転送する通信装置の監視パケット転送方法において、
他の通信装置から物理回線の障害を検出するための監視パケットを受信し、
前記監視パケットを前記通信装置のどの前記物理回線によって転送したかを示す転送情報と前記通信装置の前記物理回線の障害情報とを前記監視パケットに格納し、
前記監視パケットを別の通信装置に転送する、
ことを特徴とする監視パケット転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件はパケットを転送する通信装置および監視パケット転送方法に関する。
【背景技術】
【０００２】
現在、多くの分野で利用されているＩＰ（Internet Protocol）ネットワークでは、複数の物理回線を仮想的な１本の論理回線として扱うことにより、通信帯域拡大と冗長性を実現する技術がある。例えば、リンクアグリゲーション、マルチリンクバンドルと呼ばれる技術がある。この技術は、大量のデータを扱う場合や大規模な顧客サービスを行う場合に有効であり、また、伝送路の耐障害性の向上やトラフィック需要に応じた回線速度向上の実現に有効である。
【０００３】
論理回線では、ＩＰパケットの送信元アドレスと宛先アドレスからハッシュ計算されたハッシュ値を使用して、複数の物理回線から特定の物理回線を選択し、パケットの転送を行っている。
【０００４】
図１３は、マルチリンクバンドルを説明する図である。図１３には、ルータ１０１，１０２が示してある。ルータ１０１には、図１３に示すように、ネットワークアドレスＡ，Ｂ，Ｃのネットワークが接続され、ルータ１０２には、ネットワークアドレスＤ，Ｅ，Ｆのネットワークが接続されている。
【０００５】
図１３の例では、ルータ１０１，１０２は、４本の物理回線Ｌ１０１〜Ｌ１０４を使用し、１つの論理回線Ｌ１１１を形成している。これにより、例えば、物理回線Ｌ１０１〜Ｌ１０４のそれぞれの回線速度を１００Ｍｂｐｓとすると、ルータ１０１，１０２間の回線速度は、４００Ｍｂｐｓとなる。
【０００６】
図１４は、ハッシュ値によるパケットの物理回線への振り分けを説明する図である。図１４に示すＳｒｃの欄は、パケットの送信元アドレスを示し、Ｄｓｔの欄は、パケットの宛先アドレスを示す。Ｈａｓｈの欄は、送信元アドレスと宛先アドレスによって算出されたハッシュ値を示す。ハッシュ値は、物理回線に対応し、例えば、ハッシュ値‘１’は、図１３の物理回線Ｌ１０１に対応し、ハッシュ値‘２’は、物理回線Ｌ１０２に対応する。
【０００７】
ルータ１０１は、図１４の情報を有している。ルータ１０１は、例えば、ネットワークアドレスＡから、ネットワークアドレスＤへ転送されるパケットを受信すると、図１４の情報を参照し、ハッシュ値を‘１’を取得する。ハッシュ値‘１’に対応する物理回線は、物理回線Ｌ１０１なので、ルータ１０１は、受信したパケットを物理回線Ｌ１０１へ出力する。このように、ルータ１０１は、ハッシュ値を利用して、複数の物理回線から特定の物理回線を選択し、パケット転送を行う。ルータ１０２も同様である。
【０００８】
ところで、回線障害を検出する技術として、例えば、ＢＦＤ（Bidirectional Forwarding Detection）がある。ＢＦＤは、ルータ間で監視パケットを送信し合うことで、回線に障害が発生していないか監視する。
【０００９】
図１５は、回線の障害発生を説明する図である。図１５において、図１３と同じものには同じ符号を付し、その説明を省略する。
図１５では、ルータ１０１にルータ１１１が接続され、ルータ１１１にネットワークアドレスＡ，Ｂ，Ｃのネットワークが接続されている。また、ルータ１０２にルータ１１２が接続され、ネットワークアドレスＤ，Ｅ，Ｆのネットワークが接続されている。
【００１０】
ルータ１１１は、ＢＦＤの監視パケットをルータ１１２に送信する。ルータ１１２は、所定の監視パケットを受信できなかった場合、ルータ１１１からルータ１１２方向の回線に障害が発生していると認識できる。同様に、ルータ１１２は、ＢＦＤの監視パケットをルータ１１１に送信する。ルータ１１１は、所定の監視パケットを受信できなかった場合、ルータ１１２からルータ１１１方向の回線に障害が発生していると認識できる。
【００１１】
例えば、マルチリンクバンドル区間外のルータ１０１，１１１間の回線に障害が発生し、ルータ１１１がルータ１１２からの監視パケットを受信できなくなったとする。この場合、ルータ１１１は、ルータ１１１，１１２間の回線に障害が発生したことを認識できる。
【００１２】
このように、エンドｔｏエンドのルータ１１１，１１２間で互いに監視パケットを送出し合う。これにより、双方向における回線の障害を検出することができる。
なお、従来、スイッチ装置の冗長を行うことができ、資源の有効活用を行うことができるネットワークの冗長方法およびその中位装置と上位装置が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００８−１１０８２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
しかし、ルータの転送経路の一部に複数の物理回線を論理回線として扱う区間が形成され、その論理回線内の物理回線に障害が発生した場合、ルータは障害の発生を検出することができないという問題点があった。
【００１５】
例えば、図１５に示す物理回線Ｌ１０１に障害が発生したとする。この場合、ルータ１０１，１０２は、ハッシュの再計算を行い、残りの物理回線Ｌ１０２〜Ｌ１０４でパケットを転送する。このため、ＢＦＤの監視パケットは、ルータ１１１，１１２間で届き、ルータ１１１，１１２は、物理回線Ｌ１０１に障害が発生していても、その障害を検出することができない。
【００１６】
本件はこのような点に鑑みてなされたものであり、論理回線内の物理回線に発生する障害を検出することができる通信装置および監視パケット転送方法を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記課題を解決するために、パケットを送受信する通信装置が提供される。この通信装置は、他の通信装置から物理回線の障害を検出するための監視パケットを受信する受信部と、前記監視パケットを当該通信装置のどの前記物理回線によって転送したかを示す転送情報と当該通信装置の前記物理回線の障害情報とを前記監視パケットに格納する情報格納部と、前記監視パケットを別の通信装置に転送する転送部と、を有する。
【発明の効果】
【００１８】
上記通信装置によれば、論理回線内の物理回線に発生する障害を検出することができるようになる。
【図面の簡単な説明】
【００１９】
【図１】通信装置を示した図である。
【図２】通信装置を適用したネットワーク構成例を示した図である。
【図３】拡張監視パケットの生成を示した図である。
【図４】拡張監視パケットの生成を説明する図である。
【図５】拡張監視パケットのデータ構成例を示した図である。
【図６】回線に障害が発生していない場合の拡張監視パケットの流れを示した図である。
【図７】回線に障害が発生した場合の拡張監視パケットの流れを示した図である。
【図８】ユーザパケットの迂回を説明する図である。
【図９】拡張監視パケットを生成する通信装置のブロック図である。
【図１０】拡張監視パケットを転送および受信する通信装置のブロック図である。
【図１１】拡張監視パケットの生成を示したフローチャートである。
【図１２】拡張監視パケットの転送および受信を示したフローチャートである。
【図１３】マルチリンクバンドルを説明する図である。
【図１４】ハッシュ値によるパケットの物理回線への振り分けを説明する図である。
【図１５】回線の障害発生を説明する図である。
【発明を実施するための形態】
【００２０】
図１は、通信装置を示した図である。図１に示すように、通信装置１は、受信部１ａ、情報格納部１ｂ、および転送部１ｃを有している。通信装置２，３も通信装置１と同様の受信部、情報格納部、および転送部を有している。
【００２１】
受信部１ａは、他の通信装置１から物理回線の障害を検出するための監視パケットを受信する。
情報格納部１ｂは、監視パケットを通信装置１のどの物理回線によって転送したかを示す転送情報と、通信装置１の物理回線の障害情報とを監視パケットに格納する。
【００２２】
転送部１ｃは、情報格納部１ｂによって転送情報と障害情報とが格納された監視パケットを別の通信装置３に転送する。
ここで、通信装置１と通信装置３は、複数の物理回線で形成された論理回線で接続されており、監視パケットを転送していた物理回線に障害が発生したとする。この場合、監視パケットは、通信装置１，３を結ぶ論理回線の別の物理回線により、通信装置３へ転送される。
【００２３】
監視パケットを最終的に受信する通信装置では、監視パケットに含まれる障害情報により、物理回線に障害が発生したことを検出できる。また、監視パケットを最終的に受信する通信装置では、障害が発生していないときに受信していた監視パケットの転送情報と、障害が発生したときの監視パケットの転送情報を比較することにより、監視パケットの転送が切り替わった物理回線を認識できる。すなわち、監視パケットを最終的に受信する通信装置は、どの物理回線に障害が発生したか認識することができる。
【００２４】
このように、通信装置１は、他の通信装置２から監視パケットを受信し、どの物理回線によって転送したかを示す転送情報と物理回線の障害情報とを監視パケットに格納して、別の通信装置３に転送する。これにより、論理回線内の物理回線に発生する障害を検出することができるようになる。
【００２５】
図２は、通信装置を適用したネットワーク構成例を示した図である。図２には、通信装置１１〜１４が示してある。通信装置１１〜１４は、例えば、ルータである。通信装置１１には、図２に示すように、ネットワークアドレスＡ，Ｂ，Ｃのネットワークが接続され、通信装置１４には、ネットワークアドレスＤ，Ｅ，Ｆのネットワークが接続されている。
【００２６】
通信装置１２，１３は、論理回線Ｌ２１で接続されている。図２の例では、通信装置１２，１３は、４本の物理回線Ｌ１１〜Ｌ１４を使用し、１つの論理回線Ｌ２１を形成している。
【００２７】
通信装置１１，１４は、互いに回線障害を検出するための監視パケットを送信する。例えば、通信装置１１，１４は、ＢＦＤの監視パケットを拡張した監視パケット（以下、拡張監視パケットと呼ぶ）を送信する。エンドｔｏエンドの通信装置１１，１４は、この拡張監視パケットによって、通信装置１１，１４の転送経路に複数の物理回線Ｌ１１〜Ｌ１４を１つの論理回線Ｌ２１として扱う区間が一部形成されていても、論理回線Ｌ２１内の物理回線Ｌ１１〜Ｌ１４の障害を検出することができる。
【００２８】
図３は、拡張監視パケットの生成を示した図である。図３には、図２で示した通信装置１１〜１３が示してある。
図３に示すユーザパケットＰ１，Ｐ２は、ネットワークアドレスＡ〜Ｃのネットワークから、通信装置１１に送られるユーザパケットを示している。拡張監視パケットＰ３，Ｐ４は、通信装置１１が生成する拡張監視パケットを示している。ユーザパケットＰ５，Ｐ６は、通信装置１１から通信装置１２に送信されるユーザパケットを示してある。拡張監視パケットＰ７，Ｐ８は、通信装置１１から通信装置１２に送信される拡張監視パケットを示している。ユーザパケットＰ９，Ｐ１０は、通信装置１２から通信装置１３に送信されるユーザパケットを示している。拡張監視パケットＰ１１，Ｐ１２は、通信装置１２から通信装置１３に送信される拡張監視パケットを示している。
【００２９】
通信装置１１は、自分が転送するネットワークアドレスＡ〜ＣからのユーザパケットＰ１，Ｐ２，Ｐ５，Ｐ６，Ｐ９，Ｐ１０の送信元アドレスおよび宛先アドレスを取得（スヌーピング）する。通信装置１１は、取得した送信元アドレスと宛先アドレスからハッシュ値を算出し、算出したハッシュ値に基づいて、通信装置１４へ送信する拡張監視パケットＰ３，Ｐ４，Ｐ７，Ｐ８，Ｐ１１，Ｐ１２を生成する。
【００３０】
なお、図３には示してないが、図２に示した通信装置１４も、通信装置１１と同様に自分が転送するネットワークアドレスＤ〜Ｆからのユーザパケットの送信元アドレスおよび宛先アドレスを取得してハッシュ値を算出し、通信装置１１へ送信する拡張監視パケットを生成する。
【００３１】
図４は、拡張監視パケットの生成を説明する図である。通信装置１１は、図４に示すテーブルを有している。テーブルは、送信元、宛先、ハッシュ値の欄を有している。
送信元の欄には、通信装置１１が転送するユーザパケットの送信元アドレスが格納される。宛先の欄には、通信装置１１が転送するユーザパケットの宛先アドレスが格納される。ハッシュ値の欄には、送信元アドレスと宛先アドレスによって算出されたハッシュ値が格納される。ハッシュ値は、例えば、０〜１５の値をとる。なお、図４に示す送信元の欄の送信元アドレスおよび宛先の欄の宛先アドレスは、図２に示したネットワークアドレスＡ〜Ｆに対応していない。
【００３２】
通信装置１１は、転送するユーザパケットの送信元アドレスと宛先アドレスを取得し、宛先アドレスごとに、取得した送信元アドレスと宛先アドレスとをテーブルに格納する。例えば、通信装置１１は、図４に示すように、宛先アドレス‘Ｚ’‘Ｙ’‘Ｘ’ごとに、取得した送信元アドレスと宛先アドレスをテーブルに格納する。そして、通信装置１１は、取得した送信元アドレスと宛先アドレスによって算出したハッシュ値をテーブルに格納する。なお、通信装置１１は、通信装置１４に拡張監視パケットを送信するので、通信装置１４上のネットワーク宛てのユーザパケットから送信元アドレスと宛先アドレスを取得する。例えば、図２の例では、通信装置１１は、ネットワークアドレスＤ〜Ｆのネットワークに送信されるユーザパケットから送信元アドレスと宛先アドレスを取得する。
【００３３】
通信装置１１は、テーブルに記憶されていない送信元アドレスと宛先アドレスのユーザパケットを受信すると、その送信元アドレスと宛先アドレスを取得してテーブルに格納し、ハッシュ値を格納する。通信装置１１は、例えば、最新順に送信元アドレス、宛先アドレス、およびハッシュ値をテーブルに格納する。図４の例では、上方にある送信元アドレス、宛先アドレス、およびハッシュ値ほど、新しく受信されたものである。また、通信装置１１は、一定時間、テーブルに格納されている送信元アドレスと宛先アドレスのユーザパケットを受信しなかった場合、その送信元アドレス、宛先アドレス、およびハッシュ値をテーブルから削除する。
【００３４】
通信装置１１は、通信装置１４上のネットワーク宛のユーザパケットを受信すると、図４のテーブルを参照して、ＢＦＤの監視パケットを生成する。通信装置１１は、同じ宛先で、ハッシュ値が同じ場合は、最新のユーザパケットの送信元アドレスおよび宛先アドレスを用いて、ＢＦＤの監視パケットを生成する。そして、通信装置１１は、後述する拡張情報を付加したＢＦＤの拡張監視パケットを生成する。
【００３５】
例えば、通信装置１１は、送信元アドレス‘Ｍ’、宛先アドレス‘Ｚ’の、通信装置１４上のネットワーク宛のユーザパケットを受信したとする。この場合、通信装置１１は、同じ宛先アドレス‘Ｚ’で、ハッシュ値の同じ最新の送信元アドレス‘Ｅ’を取得し、送信元アドレス‘Ｅ’と宛先アドレス‘Ｚ’のＢＦＤの監視パケットを生成する。そして、通信装置１１は、拡張情報を付加したＢＦＤの拡張監視パケットを生成する。
【００３６】
図５は、拡張監視パケットのデータ構成例を示した図である。拡張監視パケットは、ＢＦＤの監視パケットの後ろに、図５に示す拡張情報が付加される。
図５に示すBFD ED（BFD Extend Discriminator）には、当該拡張監視パケットがＢＦＤの拡張監視パケットであることを示す拡張識別子が格納される。例えば、‘００００００００’が格納される。Lengthには、拡張情報の長さが格納される。
【００３７】
Router IDには、当該拡張監視パケットの生成元通信装置のアドレスが格納される。例えば、図２において、通信装置１１が拡張監視パケットを生成し、通信装置１４に送信するとする。この場合、Router IDには、通信装置１１のアドレスが格納される。
【００３８】
拡張情報に生成元通信装置のアドレスを格納するのは、拡張監視パケットを受信する通信装置１４が自分宛の拡張監視パケットであることを認識できるようにするためである。ＢＦＤの監視パケットには、図３、図４で説明したように、ユーザパケットから取得した送信元アドレスと宛先アドレスが格納され、通信装置１４が通信装置１１から送信された拡張監視パケットであることを認識できないためである。
【００３９】
Group-IDには、ユーザパケットの送信元アドレスと宛先アドレスから計算したハッシュ値が格納される。Fault-infoには、回線の障害発生や輻輳有無の障害情報が格納される。Link-Stateには、当該拡張監視パケットをどの物理回線によって転送したかを示す転送情報が格納される。具体的には、当該拡張監視パケットが通信装置を通過する度に、当該拡張監視パケットを出力する通信装置の物理インターフェース（例えば、物理ポートの番号）の情報が書き込まれる。
【００４０】
各通信装置は、図５に示す拡張監視パケットのBFD EDによって、受信したパケットが拡張監視パケットであることを認識できる。各通信装置は、Fault-infoやLink-Stateに、自回線の障害情報や転送情報を格納し、受信した拡張監視パケットを転送すべき通信装置へと転送する。また、拡張監視パケットの送信先である通信装置は、Router IDにより、自分が受信すべき拡張監視パケットを認識できる。
【００４１】
図６は、回線に障害が発生していない場合の拡張監視パケットの流れを示した図である。図６において、図２と同じものには同じ符号を付し、その説明を省略する。
図６には、通信装置１１で生成された拡張監視パケットＰ２１が示してある。また、通信装置１２を通過した拡張監視パケットＰ２２が示してある。また、通信装置１３を通過した拡張監視パケットが示してある。
【００４２】
図６に示すように、通信装置１１は、物理インターフェースｌ１を有している。通信装置１２は、物理インターフェースｌ１〜ｌ６を有している。通信装置１３は、物理インターフェースｌ１〜ｌ６を有している。通信装置１４は、物理インターフェースｌ１を有している。
【００４３】
通信装置１１は、通信装置１４宛ての拡張監視パケットＰ２１を生成する。通信装置１１は、図６の拡張監視パケットＰ２１に示すように、拡張監視パケットＰ２１を出力する物理インターフェースｌ１を、拡張監視パケットＰ２１のLink-Stateに格納する。また、通信装置１１は、通信装置１１，１２間の物理回線に障害が発生していないので、例えば、物理回線に障害が発生していないことを示す‘０’を、Fault-infoに格納する。通信装置１１は、生成した拡張監視パケットＰ２１を、物理インターフェースｌ１から送信する。
【００４４】
通信装置１２は、拡張監視パケットＰ２１を受信する。通信装置１２は、拡張監視パケットＰ２１のBFD EDより、受信したパケットが拡張監視パケットであることを認識する。また、通信装置１２は、受信した拡張監視パケットＰ２１のRouter IDより、自分宛の拡張監視パケットでないことを認識する。
【００４５】
通信装置１２は、拡張監視パケットＰ２２に示すように、拡張監視パケットＰ２２を出力する物理インターフェースｌ３を、拡張監視パケットＰ２２のLink-Stateに格納する。また、通信装置１２は、通信装置１２，１３間の物理回線に障害が発生していないので、例えば、物理回線に障害が発生していないことを示す‘０’を、Fault-infoに格納する。通信装置１２は、転送情報と障害情報を格納した拡張監視パケットＰ２２を、物理インターフェースｌ３から送信する。
【００４６】
通信装置１３は、拡張監視パケットＰ２２を受信する。通信装置１３は、拡張監視パケットＰ２２のBFD EDより、受信したパケットが拡張監視パケットであることを認識する。また、通信装置１３は、受信した拡張監視パケットＰ２２のRouter IDより、自分宛の拡張監視パケットでないことを認識する。
【００４７】
通信装置１３は、拡張監視パケットＰ２３に示すように、拡張監視パケットＰ２３を出力する物理インターフェースｌ１を、拡張監視パケットＰ２３のLink-Stateに格納する。また、通信装置１３は、通信装置１３，１４間の物理回線に障害が発生していないので、例えば、物理回線に障害が発生していないことを示す‘０’を、Fault-infoに格納する。通信装置１３は、転送情報と障害情報を格納した拡張監視パケットＰ２３を、物理インターフェースｌ１から送信する。
【００４８】
通信装置１４は、拡張監視パケットＰ２３を受信する。通信装置１４は、拡張監視パケットＰ２３のBFD EDより、受信したパケットが拡張監視パケットであることを認識する。また、通信装置１４は、受信した拡張監視パケットＰ２３のRouter IDより、通信装置１１から送信された自分宛の拡張監視パケットであることを認識する。
【００４９】
通信装置１４は、Fault-infoが‘０’より、通信装置１１から通信装置１４方向の物理回線に障害が発生していないことを認識できる。通信装置１４は、受信した拡張監視パケットＰ２３の拡張情報をメモリなどの記憶装置に記憶する。
【００５０】
図７は、回線に障害が発生した場合の拡張監視パケットの流れを示した図である。図７において、図６と同じものには同じ符号を付し、その説明を省略する。なお、図７では、物理回線Ｌ１１に障害が発生したとする。
【００５１】
通信装置１１は、拡張監視パケットＰ３１を生成する。拡張監視パケットＰ３１の生成および送信は、図６で説明した拡張監視パケットＰ２１と同様であり、その説明を省略する。
【００５２】
通信装置１２は、拡張監視パケットＰ３１を受信する。通信装置１２は、拡張監視パケットＰ３１のBFD EDより、受信したパケットが拡張監視パケットであることを認識する。また、通信装置１２は、受信した拡張監視パケットＰ３１のRouter IDより、自分宛の拡張監視パケットでないことを認識する。
【００５３】
通信装置１２は、物理回線Ｌ１１に障害が発生していることを自ら認識し、物理回線Ｌ１１で送信するパケットを他の物理回線Ｌ１２〜Ｌ１４で送信するようにする。例えば、物理回線Ｌ１２で送信するようにする。これにより、通信装置１２は、拡張監視パケットＰ３２に示すように、拡張監視パケットＰ３２を出力する物理インターフェースｌ４を、転送情報として拡張監視パケットＰ３２のLink-Stateに格納する。また、通信装置１２は、通信装置１２，１３間の物理回線Ｌ１１に障害が発生しているので、例えば、物理回線に障害が発生していないことを示す‘１’を、Fault-infoに格納する。通信装置１２は、生成した拡張監視パケットＰ３２を、物理インターフェースｌ４から送信する。
【００５４】
通信装置１４は、拡張監視パケットＰ３３を受信する。通信装置１４は、拡張監視パケットＰ３３のBFD EDより、受信したパケットが拡張監視パケットであることを認識する。また、通信装置１４は、受信した拡張監視パケットＰ３３のRouter IDより、通信装置１１から送信された自分宛の拡張監視パケットであることを認識する。
【００５５】
通信装置１４は、Fault-infoが‘１’より、通信装置１１から通信装置１４方向の物理回線に障害が発生していることを認識できる。また、通信装置１４は、受信した拡張監視パケットＰ３３の拡張情報と、メモリに記憶した障害が発生していないときの拡張情報とを比較することにより、どの物理回線に障害が発生したか認識できる。
【００５６】
例えば、障害が発生していない場合のLink-Stateは、図６の例の場合、ｌ１，ｌ３，ｌ１である。障害が発生した場合のLink-Stateは、図７の例の場合、ｌ１，ｌ４，ｌ１である。従って、通信装置１４は、物理回線Ｌ１１で障害が発生し、物理回線Ｌ１２を経由して拡張監視パケットを受信したことを認識することができる。
【００５７】
図８は、ユーザパケットの迂回を説明する図である。図８において、図７と同じものには同じ符号を付し、その説明を省略する。図８では、図７と同様に物理回線Ｌ１１に障害が発生しているとする。
【００５８】
図８には、ユーザパケットを迂回させるための通信装置２１が示してある。また、通信装置１１から通信装置１４に送信されるユーザパケットＰ４１〜Ｐ４３が示してある。ユーザパケットＰ４１は、物理回線Ｌ１１に対応するハッシュ値を有するユーザパケットである。ユーザパケットＰ４２は、物理回線Ｌ１２に対応するハッシュ値を有するユーザパケットである。ユーザパケットＰ４３は、物理回線Ｌ１３に対応するハッシュ値を有するユーザパケットである。従って、物理回線Ｌ１１に障害が発生していなければ、ユーザパケットＰ４１〜Ｐ４３のそれぞれは、物理回線Ｌ１１〜Ｌ１３を介して通信装置１３に送信される。
【００５９】
通信装置１２は、物理回線Ｌ１１の障害の発生を自ら認識する。通信装置１２は、物理回線Ｌ１１の障害を認識すると、保守者が予め設定したポリシールーティングに基づいて、ユーザパケットＰ４１〜Ｐ４３を通信装置２１に迂回させる。例えば、通信装置１２は、物理回線Ｌ１１で送信していたユーザパケットＰ４１を、通信装置２１に迂回させて、通信装置１３へ送信するようにする。
【００６０】
論理回線Ｌ２１の物理回線Ｌ１１〜Ｌ１４に障害が発生した場合、障害の発生した物理回線Ｌ１１〜Ｌ１４で送信していたユーザパケットＰ４１〜Ｐ４３を他の物理回線Ｌ１１〜Ｌ１４で送信するようにすると、論理回線Ｌ２１のスループットが低下し、トラフィックの輻輳が生じる場合がある。
【００６１】
しかし、通信装置１２は、障害が発生した物理回線Ｌ１１〜Ｌ１４で送信していたユーザパケットＰ４１〜Ｐ４３を、通信装置２１に迂回させて送信するので、論理回線Ｌ２１のスループットの低下を抑制し、トラフィックの輻輳を抑制することができる。
【００６２】
なお、通信装置１２は、拡張監視パケットについては、ポリシールーティングではなく、ルーティングテーブルに従って通信装置１３に送信する。すなわち、通信装置１２は、論理回線Ｌ２１内の物理回線Ｌ１１〜Ｌ１４の障害を検出するため、拡張監視パケットについては、論理回線Ｌ２１に障害が発生しても、論理回線Ｌ２１で送信するようにする。例えば、通信装置１２は、障害の発生した物理回線Ｌ１１で送信される拡張監視パケットを、他の物理回線Ｌ１２〜Ｌ１４で送信するようにする。
【００６３】
図９は、拡張監視パケットを生成する通信装置のブロック図である。図９に示すように、通信装置１１は、ＴＢ（テーブル）生成部３１、拡張監視パケット生成ＴＢ３２、拡張監視パケット生成部３３、および拡張監視パケット送信部３４を有している。
【００６４】
ＴＢ生成部３１は、拡張監視パケットの送信先である通信装置１２〜１４のネットワークへ送信されるユーザパケットをネットワークから受信する。ＴＢ生成部３１は、受信したユーザパケットから、送信元アドレスおよび宛先アドレスを取得する。なお、受信されたユーザパケットは、ルーティングテーブルに従って目的の通信装置１２〜１４へ転送される。
【００６５】
ＴＢ生成部３１は、取得した送信元アドレスおよび宛先アドレスが拡張監視パケット生成ＴＢ３２に格納されているか否か判断する。ＴＢ生成部３１は、取得した送信元アドレスおよび宛先アドレスが拡張監視パケット生成ＴＢ３２に格納されていない場合、取得した送信元アドレスおよび宛先アドレスを拡張監視パケット生成ＴＢ３２に格納する。また、ＴＢ生成部３１は、取得した送信元アドレスおよび宛先アドレスよりハッシュ値を算出し、拡張監視パケット生成ＴＢ３２に格納する。ＴＢ生成部３１は、取得した送信元アドレスおよび宛先アドレスが拡張監視パケット生成ＴＢ３２に格納されている場合、取得した送信元アドレスおよび宛先アドレスを拡張監視パケット生成ＴＢ３２に格納しない。
【００６６】
ＴＢ生成部３１は、一定期間受信されなかったユーザパケットの送信元アドレス、宛先アドレス、およびそのハッシュ値を拡張監視パケット生成ＴＢ３２から削除する。一定期間は、例えば、保守者によって設定される。
【００６７】
拡張監視パケット生成ＴＢ３２は、図４で説明したテーブルである。拡張監視パケット生成ＴＢ３２は、図４で説明したように受信したユーザパケットの送信元アドレス、宛先アドレス、および送信元アドレスと宛先アドレスから算出されたハッシュ値を記憶している。拡張監視パケット生成ＴＢ３２は、例えば、宛先アドレスごとに、新しく受信した順に送信元アドレス、宛先アドレス、およびハッシュ値を記憶している。
【００６８】
拡張監視パケット生成部３３は、受信されたユーザパケットに基づいて、拡張監視パケット生成ＴＢ３２を参照し、拡張監視パケットを生成する。拡張監視パケット生成部３３は、受信されたユーザパケットの宛先アドレスが拡張監視パケット生成ＴＢ３２の宛先アドレスと同じで、ハッシュ値が同じ場合は、拡張監視パケット生成ＴＢ３２に記憶されている最新の送信元アドレスおよび宛先アドレスを用いて、拡張監視パケットを生成する。
【００６９】
拡張監視パケット送信部３４は、拡張監視パケット生成部３３によって生成された拡張監視パケットをネットワークに出力する。
なお、図９では、通信装置１１を例に説明したが、他の通信装置１２〜１４も同様のブロックを有する。
【００７０】
図１０は、拡張監視パケットを転送および受信する通信装置のブロック図である。図１０に示すように、通信装置１４は、受信部４１、障害検出部４２、自宛て判断部４３、情報格納部４４、終端部４５、記憶部４６、ルーティング部４７、および転送部４８を有している。
【００７１】
受信部４１は、ネットワークからＢＦＤの監視パケットを受信する。受信部４１は、BFD EDに基づいて、受信したＢＦＤの監視パケットが拡張監視パケットであるか否か判断する。
【００７２】
障害検出部４２は、自装置に接続されている物理回線の障害を検出する。障害検出部４２は、例えば、物理回線の切断やパケットの輻輳を検出する。
自宛て判断部４３は、受信部４１によって受信された拡張監視パケットが自分宛の拡張監視パケットであるか否か判断する。自宛て判断部４３は、拡張監視パケットの拡張情報に含まれるRouter IDに基づいて、自分宛の拡張監視パケットであるか否か判断する。
【００７３】
情報格納部４４は、自宛て判断部４３によって、受信された拡張監視パケットが他の通信装置１１〜１３宛ての拡張監視パケットであると判断された場合、拡張監視パケットのFault-infoに、障害情報を格納する。また、情報格納部４４は、拡張監視パケットのLink-Stateに、拡張監視パケットを出力する物理回線の物理インターフェースの情報を格納する。
【００７４】
終端部４５は、自宛て判断部４３によって、受信された拡張監視パケットが自分宛の拡張監視パケットであると判断された場合、受信された拡張監視パケットを終端する。終端部４５は、受信された拡張監視パケットのFault-infoが障害発生を示していない場合、拡張監視パケットの拡張情報を記憶部４６に記憶する。
【００７５】
終端部４５は、受信された拡張監視パケットのFault-infoが障害発生を示している場合、受信された拡張監視パケットの拡張情報と、記憶部４６に記憶された拡張情報とを比較する。終端部４５は、拡張情報に含まれるLink-Stateによって、どの物理回線に障害が発生したのか判断することができる。記憶部４６は、拡張監視パケットの拡張情報が記憶される記憶装置である。
【００７６】
ルーティング部４７は、障害検出部４２によって回線障害が検出された場合、保守者によって予め設定されたポリシールーティングに従って、ユーザパケットを他の通信装置に迂回させる。なお、ルーティング部４７にポリシールーティングが設定されていない場合は、ルーティングテーブルに従ってユーザパケットを転送する。
【００７７】
転送部４８は、情報格納部４４によってLink-StateとFault-Infoが格納された拡張監視パケットを他の通信装置１１〜１３に転送する。
なお、図１０では、通信装置１４を例に説明したが、他の通信装置１１〜１３も同様のブロックを有する。
【００７８】
図１１は、拡張監視パケットの生成を示したフローチャートである。
ステップＳ１において、ＴＢ生成部３１は、ネットワークからユーザパケットを受信する。
【００７９】
ステップＳ２において、ＴＢ生成部３１は、受信したユーザパケットから送信元アドレスおよび宛先アドレスを取得する。
ステップＳ３において、ＴＢ生成部３１は、取得した送信元アドレスおよび宛先アドレスが拡張監視パケット生成ＴＢ３２に記憶されているか否か判断する。ＴＢ生成部３１は、取得した送信元アドレスおよび宛先アドレスが拡張監視パケット生成ＴＢ３２に記憶されていない場合、ステップＳ５へ進む。ＴＢ生成部３１は、取得した送信元アドレスおよび宛先アドレスが拡張監視パケット生成ＴＢ３２に記憶されている場合、ステップＳ４へ進む。
【００８０】
ステップＳ４において、拡張監視パケット生成部３３は、取得したユーザパケットに基づいて、拡張監視パケット生成ＴＢ３２を参照し、拡張監視パケットを生成する。
ステップＳ５において、ＴＢ生成部３１は、取得した送信元アドレスと宛先アドレスを拡張監視パケット生成ＴＢ３２に格納する。また、ＴＢ生成部３１は、取得した送信元アドレスと宛先アドレスよりハッシュ値を算出し、拡張監視パケット生成ＴＢ３２に格納する。
【００８１】
ステップＳ６において、拡張監視パケット生成部３３は、新しく送信元アドレス、宛先アドレス、およびハッシュ値が格納された拡張監視パケット生成ＴＢ３２を参照して、拡張監視パケットを生成する。
【００８２】
ステップＳ７において、拡張監視パケット送信部３４は、拡張監視パケット生成部３３によって生成された拡張監視パケットをネットワークに出力する。
ステップＳ８において、ＴＢ生成部３１は、一定期間受信されなかったユーザパケットの送信元アドレス、宛先アドレス、およびハッシュ値を拡張監視パケット生成ＴＢ３２から削除する。
【００８３】
図１２は、拡張監視パケットの転送および受信を示したフローチャートである。
ステップＳ２１において、受信部４１は、ＢＦＤの監視パケットを受信する。
ステップＳ２２において、受信部４１は、受信したＢＦＤの監視パケットが拡張監視パケットであるか否か判断する。受信部４１は、受信したＢＦＤの監視パケットが拡張監視パケットである場合、ステップＳ２４へ進む。受信部４１は、受信したＢＦＤの監視パケットが拡張監視パケットでない場合、ステップＳ２３へ進む。
【００８４】
ステップＳ２３において、受信部４１は、受信したＢＦＤの監視パケットをＲＴ（ルーティングテーブル）に基づいてネットワークに転送する。なお、受信部４１は、受信したＢＦＤの監視パケットが自分宛の場合、終端処理を行う。
【００８５】
ステップＳ２４において、障害検出部４２は、自装置に接続されている物理回線に障害が発生したか否か判断する。障害検出部４２は、物理回線に障害が発生した場合、ステップＳ２５へ進む。障害検出部４２は、物理回線に障害が発生していない場合、ステップＳ２８へ進む。
【００８６】
ステップＳ２５において、ルーティング部４７は、保守者によって予め設定されたＰＲ（ポリシールーティング）が設定されているか否か判断する。ルーティング部４７は、ＰＲが設定されている場合、ステップＳ２７へ進む。ルーティング部４７は、ＰＲが設定されていない場合、ステップＳ２６へ進む。
【００８７】
ステップＳ２６において、ルーティング部４７は、ネットワークから受信されるユーザパケットをＲＴに従って転送するように処理する。
ステップＳ２７において、ルーティング部４７は、ネットワークから受信されるユーザパケットをＰＲに従って転送するように処理する。
【００８８】
ステップＳ２８において、自宛て判断部４３は、受信されたＢＦＤの拡張監視パケットが自宛てか否か判断する。自宛て判断部４３は、拡張監視パケットが自宛ての場合、ステップＳ３１へ進む。自宛て判断部４３は、拡張監視パケットが自宛てでない場合、ステップＳ２９へ進む。
【００８９】
ステップＳ２９において、情報格納部４４は、拡張監視パケットのLink-Stateに、拡張監視パケットを出力する物理回線の物理インターフェースの情報を格納する。また、情報格納部４４は、ステップＳ２４において、物理回線に障害が発生したと判断された場合、拡張監視パケットのFault-infoに障害発生を示す情報を格納する。
【００９０】
ステップＳ３０において、転送部４８は、情報格納部４４によってLink-StateとFault-infoが格納された拡張監視パケットを、ＲＴに従って転送する。
ステップＳ３１において、終端部４５は、受信された拡張監視パケットを終端する。終端部４５は、受信された拡張監視パケットのFault-infoが障害発生を示していない場合、拡張監視パケットの拡張情報を記憶部４６に記憶する。また、終端部４５は、受信された拡張監視パケットのFault-infoが障害発生を示している場合、受信した拡張監視パケットの拡張情報と記憶部４６に記憶された拡張情報と比較し、どの物理回線で障害が発生したかを認識する。
【００９１】
このように、通信装置は、他の通信装置から拡張監視パケットを受信し、Link-StateとFault-infoを拡張監視パケットに格納して、別の通信装置に転送する。これにより、通信装置は、論理回線内の物理回線に発生する障害を検出することができるようになる。
【００９２】
また、通信装置は、受信したユーザパケットに基づいてＢＦＤの拡張監視パケットを生成するので、通信装置が受信しない送信元アドレスと宛先アドレスを使用した拡張監視パケットが生成されることがなく、拡張監視パケットの生成負荷を抑制することができる。
【００９３】
また、通信装置は、同じ宛先アドレスの同じハッシュ値の最新のユーザパケットの宛先アドレスを用いて拡張監視パケットを生成することで、通信装置の転送リソースを最も費やしている宛先に対して、障害監視の対象をリアルタイムで検出することが可能となる。
【００９４】
また、通信装置は、自分のアドレスを送信元アドレスとしてＢＦＤの監視パケットを生成した場合、監視パケットの送信元アドレスと宛先アドレスは固定値となり、論理回線のハッシュ値が変動せず、監視パケットの流れる物理回線が固定される。このため、監視パケットの流れる物理回線しか障害を検出できない。しかし、通信装置は、受信したユーザパケットに基づいてＢＦＤの拡張監視パケットを生成し、拡張情報のRouter IDに自分のアドレスを送信元アドレスとして格納するので、拡張監視パケットのハッシュ値は変動し、監視パケットの流れる物理回線が固定されることはない。これにより、論理回線内の、複数の物理回線の障害を検出することが可能となる。
【００９５】
なお、上記では、ＢＦＤの監視パケットを拡張した拡張監視パケットについて説明したが、拡張監視パケットは、ＢＦＤの監視パケットを拡張したものに限るものではない。例えば、エンドｔｏエンドの通信装置でパケットを送信し合って障害を検出するパケットであれば上記のように拡張監視パケットに適用することができる。
【００９６】
（付記１）  パケットを転送する通信装置において、
他の通信装置から物理回線の障害を検出するための監視パケットを受信する受信部と、
前記監視パケットを当該通信装置のどの前記物理回線によって転送したかを示す転送情報と当該通信装置の前記物理回線の障害情報とを前記監視パケットに格納する情報格納部と、
前記監視パケットを別の通信装置に転送する転送部と、
を有することを特徴とする通信装置。
【００９７】
（付記２）  受信されたユーザパケットの送信元アドレス、宛先アドレス、および前記送信元アドレスと前記宛先アドレスとにより算出されたハッシュ値を記憶した監視パケット生成テーブルと、
受信された前記ユーザパケットの前記宛先アドレスが前記監視パケット生成テーブルに記憶された前記宛先アドレスと同じで前記ハッシュ値が同じ場合、前記監視パケット生成テーブルに記憶されている最新の前記送信元アドレスと前記宛先アドレスとを用いて前記監視パケットを生成する監視パケット生成部と、
をさらに有することを特徴とする付記１記載の通信装置。
【００９８】
（付記３）  一定時間、前記監視パケット生成テーブルに記憶された前記送信元アドレスと前記宛先アドレスとの前記ユーザパケットが受信されなかった場合、前記監視パケット生成テーブルに記憶された前記送信元アドレス、前記宛先アドレス、および前記ハッシュ値は、削除されることを特徴とする付記２記載の通信装置。
【００９９】
（付記４）  前記監視パケットが当該通信装置宛であり、前記障害情報が前記物理回線に障害が発生していないことを示している場合、前記転送情報を記憶する記憶部をさらに有することを特徴とする付記１記載の通信装置。
【０１００】
（付記５）  前記監視パケットが当該通信装置宛であり、前記障害情報が前記物理回線に障害が発生していることを示している場合、前記記憶部に記憶されている前記転送情報と受信した前記監視パケットの前記転送情報と比較する比較部とをさらに有することを特徴とする付記４記載の通信装置。
【０１０１】
（付記６）  前記監視パケット生成部は、当該通信装置のアドレスを前記監視パケットに格納することを特徴とする付記２記載の通信装置。
（付記７）  前記物理回線の障害を検出する障害検出部をさらに有し、
前記障害検出部によって、前記物理回線に障害が検出された場合、前記物理回線で転送されるユーザパケットを迂回させるルーティング部を有することを特徴とする付記１記載の通信装置。
【０１０２】
（付記８）  パケットを転送する通信装置の監視パケット転送方法において、
他の通信装置から物理回線の障害を検出するための監視パケットを受信し、
前記監視パケットを前記通信装置のどの前記物理回線によって転送したかを示す転送情報と前記通信装置の前記物理回線の障害情報とを前記監視パケットに格納し、
前記監視パケットを別の通信装置に転送する、
ことを特徴とする監視パケット転送方法。
【符号の説明】
【０１０３】
１，２，３  通信装置
１ａ  受信部
１ｂ  情報格納部
１ｃ  転送部
【図１】
2010220037.tif 000003
【図２】
2010220037.tif 000004
【図３】
2010220037.tif 000005
【図４】
2010220037.tif 000006
【図５】
2010220037.tif 000007
【図６】
2010220037.tif 000008
【図７】
2010220037.tif 000009
【図８】
2010220037.tif 000010
【図９】
2010220037.tif 000011
【図１０】
2010220037.tif 000012
【図１１】
2010220037.tif 000013
【図１２】
2010220037.tif 000014
【図１３】
2010220037.tif 000015
【図１４】
2010220037.tif 000016
【図１５】
2010220037.tif 000017