(57)【特許請求の範囲】
【請求項１】
通信先を第１の通信装置から前記第１の通信装置の代替とされる第２の通信装置に切り替えることを要求する切り替え要求メッセージを受信すると、前記通信先を前記第１の通信装置から前記第２の通信装置に変更する通信対象変更手段と、
前記第１の通信装置が受信したパケットを示す受信履歴を受信する受信手段と、
前記受信履歴と、前記第１の通信装置へ送信されたパケットを示す送信履歴を比較した結果に基づいて、前記第１の通信装置が受信していないパケットを再送信の対象とする再送信制御手段と、
前記再送信の対象とされたパケットを前記第２の通信装置に送信する送信手段と、
前記受信手段が前記受信履歴を受信してから所定時間内に次の受信履歴を受信しなかったときに、前記第１の通信装置に障害が発生したことを検出する障害検出手段
を備え、
前記障害検出手段は、前記第１の通信装置に障害が発生したことを検出すると、前記第２の通信装置に、運用の開始を要求する運用要求メッセージを送信し、
前記運用要求メッセージへの応答として、前記切り替え要求メッセージを前記第２の通信装置から受信する
ことを特徴とする通信装置。
【請求項２】
送信装置と通信する運用系通信装置に障害が発生すると、前記運用系通信装置の代替として前記送信装置と通信する代替通信装置であって、
前記運用系通信装置が前記送信装置から受信したパケットの履歴を表す受信履歴を受信する受信手段と、
前記運用系通信装置に障害が発生すると、前記代替通信装置を、待機状態から前記送信装置との通信を行う運用状態に変更する状態変更手段と、
前記送信装置の通信先を前記運用系通信装置から前記代替通信装置に切り替えることを要求する切り替え要求メッセージと前記受信履歴を、前記送信装置に送信する切り替え要求手段
を備え、
前記受信手段は、前記運用系通信装置へ送信されたパケットのうち前記受信履歴に含まれていない未受信パケットを、前記運用状態のときに前記送信装置から受信することを特徴とする代替通信装置。
【請求項３】
送信装置の通信先の第１の通信装置と、前記第１の通信装置に障害が発生すると前記第１の通信装置の代替として前記送信装置と通信する第２の通信装置を備えるネットワークにおいて、
前記第１の通信装置は、前記送信装置から受信したパケットを示す受信履歴を、前記送信装置に送信し、
前記送信装置は、前記受信履歴を受信してから所定時間内に次の受信履歴を受信しないときに、前記第１の通信装置に障害が発生したことを前記第２の通信装置に通知し、
前記通知を受け取ると、前記第２の通信装置は、前記通信先を前記第１の通信装置から前記第２の通信装置に切り替えることを要求する切り替え要求メッセージを、前記送信装置に送信し、
前記送信装置は、前記切り替え要求メッセージに応答して、前記第１の通信装置へ送信されたパケットを示す送信履歴に含まれており、かつ、前記受信履歴に含まれていないパケットを前記第２の通信装置に送信する
ことを特徴とする通信方法。
【請求項４】
送信装置の通信先の第１の通信装置と、前記第１の通信装置に障害が発生すると前記第１の通信装置の代替として前記送信装置と通信する第２の通信装置を備えるネットワークにおいて、
前記第１の通信装置は、前記送信装置から受信したパケットを示す受信履歴を、前記第２の通信装置に送信し、
前記第２の通信装置は、前記受信履歴を受信してから所定時間内に次の受信履歴を受信しないときに、前記第１の通信装置に障害が発生したと判断して、前記通信先を前記第１の通信装置から前記第２の通信装置に切り替えることを要求する切り替え要求メッセージと前記受信履歴を、前記送信装置に送信し、
前記送信装置は、前記切り替え要求メッセージに応答して、前記第１の通信装置へ送信されたパケットを示す送信履歴に含まれており、かつ、前記受信履歴に含まれていないパケットを前記第２の通信装置に送信する
ことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットの通信先を切り替え可能なネットワークにおける通信装置および通信方法に関わる。
【背景技術】
【０００２】
近年、システムの可用性を高めるために、ネットワークに含まれる通信装置を冗長化することが多くなっている。冗長化されているシステムでは、アクティブ系通信装置に障害が発生した場合などに、スタンバイ系通信装置を運用して通信を継続する。
【０００３】
また、通信のセキュリティを高めるための技術として、例えば、Security Architecture for Internet Protocol（ＩＰｓｅｃ）などが用いられている。ＩＰｓｅｃでは、認証、暗号化、暗号鍵の交換などが行われ、パケットを送受信する装置間で暗号鍵を共有する。そこで、冗長化された通信装置を含むシステムでＩＰｓｅｃを用いると、アクティブ系通信装置と対向ノードとの間で暗号鍵の交換等が行われ、アクティブ系通信装置と対向ノードとの間でセキュリティを高めた状態で通信が行われる。アクティブ系通信装置に障害が発生したなどの理由により、スタンバイ系通信装置を運用するときには、パケットの送受信を行う対向ノードとスタンバイ系通信装置との間で暗号鍵の交換等を行うことになる。
【０００４】
そこで、関連する技術として、一定量のパケットを受信するたびに１次ネットワーク・メディア・デバイスから冗長ネットワーク・メディア・デバイスに、受信スイッチオーバ・パラメータをコピーする処理を含むメディアの切り替え方法が考案されている。この方法では、冗長ネットワーク・メディア・デバイスは、コピーされた受信スイッチオーバ・パラメータを利用することによってパケットを受信することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−３０６５６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
アクティブ系通信装置は、障害が発生した後に受信したパケットを処理できないが、障害が発生しても冗長化された通信装置間での切り替えが完了するまでは、ネットワーク中の他の装置からアクティブ系通信装置にパケットが送信される。そのため、障害が発生してから冗長化された通信装置間での切り替えが完了する前に送信されたパケットは廃棄され、パケットロスが発生する。
【０００７】
本発明は、冗長化された通信装置を含むネットワークにおいて、パケットロスの発生を防止することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のある実施形態に係る通信装置は、通信対象変更手段、受信手段、再送信制御手段、および、送信手段を備える。通信対象変更手段は、通信先を第１の通信装置から前記第１の通信装置の代替とされる第２の通信装置に切り替えることを要求する切り替え要求メッセージを受信すると、前記通信先を前記第１の通信装置から前記第２の通信装置に変更する。受信手段は、前記第１の通信装置が受信したパケットを示す受信履歴を受信する。再送信制御手段は、前記受信履歴と、前記第１の通信装置へ送信されたパケットを示す送信履歴を比較した結果に基づいて、前記第１の通信装置が受信していないパケットを再送信の対象とする。送信手段は、前記再送信の対象とされたパケットを前記第２の通信装置に送信する。
【発明の効果】
【０００９】
冗長化された通信装置を含むネットワークにおいて、パケットロスの発生を防止することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態を適用することができるネットワークの構成例を示す図である。
【図２】本実施形態で用いられる通信装置の構成の一例を示す図である。
【図３】本実施形態で用いられる通信装置の構成の一例を示す図である。
【図４】セキュリティアソシエーションの生成と更新の方法の一例を説明する図である。
【図５】シーケンス番号カウンタとリプレイウィンドウの例を示す図である。
【図６】第１の実施形態における通信装置の切り替えの例を説明する図である。
【図７】切り替え要求メッセージの例を示す図である。
【図８】受信履歴の読み出しの一例を説明する図である。
【図９】第１の実施形態における各ノードの動作の例を表すシーケンス図である。
【図１０】ハートビートメッセージを用いた第２の実施形態における通信装置の切り替えを説明する図である。
【図１１】ハートビートメッセージを用いた第２の実施形態における通信装置の切り替えの例を説明するシーケンス図である。
【図１２】ＶＲＲＰ広告を用いた第２の実施形態における通信装置の切り替えの例を説明する図である。
【図１３】ＶＲＲＰ広告を用いた第２の実施形態における通信装置の切り替えの例を説明するシーケンス図である。
【図１４】ハートビートメッセージを用いた第３の実施形態における通信装置の切り替えの例を説明する図である。
【図１５】ハートビートメッセージを用いた第３の実施形態における通信装置の切り替えの例を説明するシーケンス図である。
【図１６】ＶＲＲＰ広告を用いた第３の実施形態における通信装置の切り替えの例を説明する図である。
【図１７】ＶＲＲＰ広告を用いた第３の実施形態における通信装置の切り替えの例を説明するシーケンス図である。
【図１８】無線ネットワークシステムにおける実施形態の一例を説明する図である。
【発明を実施するための形態】
【００１１】
以下、本実施形態について、図面を参照しながら詳細に説明する。
図１は、本実施形態に係る通信装置を用いることができるネットワークの構成例を示す図である。図１（ａ）および図１（ｂ）に示すネットワークに含まれるノード（通信装置）のうち、少なくともノードＡ、ノードＢ、および、ノードＣに本実施形態にかかる通信装置が用いられる。ノードＢとノードＣによってネットワーク中のノードが冗長化されており、図１（ａ）の例では中継ノード、図１（ｂ）の例では終端ノードが冗長化されている。本実施形態に係る通信装置や通信方法は、中継ノードが冗長化されている場合と終端ノードが冗長化されている場合のいずれにも適用することができる。終端ノードが冗長化されている場合は、運用中の通信装置は、受信したパケットを待機中の通信装置に転送しているものとする。また、受信パケット以外のデータについても、運用中の通信装置は待機中の通信装置へ定期的にミラーリングしているものとする。
【００１２】
以下の説明では、ノードＢを運用中の通信装置、ノードＣを待機中の通信装置とし、ノードＣは、ノードＢに障害等が発生したときに用いられるものとする。また、図１の矢印の方向にユーザデータが送信されている間にノードＢに発生した障害に起因するパケットロスを防ぐ場合について説明する。なお、以下の説明では、ノードＣのように、冗長化された通信装置間での切り替えが行われたことにより運用が開始される通信装置を「新アクティブ系通信装置」、ノードＢのように、切り替えの前に運用されていた通信装置を「旧アクティブ系通信装置」と記載することがある。さらに、理解を助けるために、ノードＡのように、冗長化された装置へパケットを送信する通信装置を「送信装置」と記載することがある。以下の説明でも、冗長化された通信装置間の切り替えが行われていないときの動作について記述するときに、「運用中の通信装置」、「待機中の通信装置」などの表現も用いる。「運用中の通信装置」は、通信装置の切り替えが開始すると、「旧アクティブ系通信装置」となる。また、「待機中の通信装置」は、通信装置の切り替えが開始すると「新アクティブ系通信装置」となる。なお、ノードＢとノードＣは、ノードＢとノードＡとの間の通信に用いられる暗号鍵などのセキュリティ情報を共有しているものとする。セキュリティ情報の共有方法については後述する。
【００１３】
図１において、ノードＡからノードＢにパケットが送られると、ノードＢは受信に成功したパケットのシーケンス番号などを記録した受信履歴を作成し、ノードＡもしくはノードＣに受信履歴を送信する。また、ノードＡからノードＢへパケットが送信されている間、ノードＡもしくはノードＣは、ノードＢから定期的にデータを送受信するなどの方法により、ノードＢが正常に動作しているかを監視する。ノードＢに障害が発生すると、ノードＣは、運用を開始するとともに、パケットの送信先をノードＢからノードＣに切り替えることを要求する切り替え要求メッセージをノードＡに送信する。ノードＡは、切り替え要求メッセージに応答してパケットをノードＢに送信する。このとき、ノードＡは、ノードＢが受信に成功していないパケットをノードＣに送信する。ここで、ノードＡは、ノードＡの記憶領域に保持しているノードＢの受信履歴を参照して、ノードＢが受信に成功していないパケットを決定することができる。また、ノードＣがノードＢの受信履歴を記録している場合は、ノードＣがノードＡに対して、ノードＢで受信されていないパケットを通知する。このように通信を行うことにより、ノードＢでの障害発生からノードＣにデータが送信されるまでの間に、ノードＢにむけて送信されたパケットについて発生する可能性のあるパケットロスを防止する。
【００１４】
図２は、本実施形態で用いられる通信装置の構成の一例を示す図である。図１に示したノードＢ、ノードＣは、例えば、図２に示す通信装置とすることができる。通信装置は、制御部１０、記憶部２０、送信部３１、受信部３２、カウンタ３３、および、タイマ３４を備える。
【００１５】
制御部１０は、通信装置で行われる処理を制御する。制御部１０は、状態管理部１１、切り替え要求制御部１２、セキュリティ情報管理部１３、受信履歴通知部１４を備える。さらにオプションとして、ハートビート制御部１５（図示せず）もしくはVirtual Router Redundancy Protocol（ＶＲＲＰ）制御部１６（図示せず）を備えることもできる。制御部１０は、例えば、通信装置に備えられているＣＰＵがメモリ等の記憶媒体に記憶されているプログラムを実行することにより実現することができ、また、制御部１０によって提供される機能の少なくとも一部を、ハードウェアにより実現することもできる。
【００１６】
状態管理部１１は、通信装置が待機中と運用中のいずれの状態であるかを把握しており、通信装置の状態を待機中と運用中の間で変更する。例えば、図１のノードＣに備えられた状態管理部１１は、ノードＢが運用されている間は、ノードＣを待機中に設定し、ノードＢに障害が発生すると、ノードＣの状態を待機中から運用中に変更する。なお、通信装置の状態を変更する条件等については後述する。
【００１７】
切り替え要求制御部１２は、パケットの送信先の切り替え要求を制御する。すなわち、新アクティブ系通信装置の切り替え要求制御部１２は、送信装置に対して、パケットの送信先を旧アクティブ系通信装置から新アクティブ系通信装置に切り替えることを要求する。例えば、図１において、ノードＣが新アクティブ系通信装置として動作することにより、ノードＣがノードＡとの通信を開始する場合、ノードＣの切り替え要求制御部１２は、ノードＡに対して、通信先のノードをノードＣに切り替えることを要求する。以下の記載では、通信先のノードの切り替えを要求するメッセージを「切り替え要求メッセージ」と記載することがある。この切り替え要求メッセージは、例えば、Gratuitous Address Resolution Protocol（ＧＡＲＰ）パケットやUser Datagram Protocol（ＵＤＰ）パケットなどとすることができる。
【００１８】
セキュリティ情報管理部１３は、セキュリティアソシエーション（Security Association）の生成を制御する。セキュリティアソシエーションには、運用中の通信装置が通信先のノードとの間で行う認証や暗号鍵などに関する情報が含まれている。例えば、旧アクティブ系通信装置のセキュリティ情報管理部１３は、送信装置との間にパケットの送受信に用いるトンネルを設定するときに、セキュリティアソシエーションを生成する。さらに、セキュリティ情報管理部１３は、予め定められた時間ごとに、通信先のノードとの間で認証や暗号鍵の交換などを行い、新たなセキュリティアソシエーションを生成する。なお、セキュリティアソシエーションの生成は、予め定められた時間ごとに行う他に、セキュリティアソシエーションごとに、送受信されたデータの量を例えば、バイト数単位でカウントし、カウント値が閾値を超えるとセキュリティアソシエーションを再生成することもできる。
【００１９】
運用中の通信装置（旧アクティブ系通信装置）のセキュリティ情報管理部１３は、セキュリティアソシエーションなどのセキュリティ情報を待機中の通信装置（新アクティブ系通信装置）に送信する。このため、旧アクティブ系通信装置と送信装置の間の通信に用いられるセキュリティ情報は、旧アクティブ系通信装置と新アクティブ系通信装置の間で共有される。さらに、セキュリティ情報管理部１３は、それらのセキュリティ情報をセキュリティアソシエーションデータベース２２に記録する。
【００２０】
受信履歴通知部１４は、旧アクティブ系通信装置の受信履歴を、新アクティブ系通信装置もしくは送信装置に通知するための処理を行う。例えば、ノードＢが旧アクティブ系通信装置である場合、ノードＢの受信履歴通知部１４は、一定のパケットを受信すると、受信履歴を新アクティブ系通信装置もしくは送信装置に送信する。
【００２１】
通信装置は、オプションとして、受信履歴の他に、運用中の通信装置が正常に動作していることを通知するメッセージ（生存通知メッセージ）を他のノードに送信することができる。また、受信履歴を、生存通知メッセージの中に含めて他の装置に送信することもできる。制御部１０は、生存通知メッセージの送信も制御する。ここで、生存通知メッセージは、ハートビート（Heart Beat）やＶＲＲＰ広告などを含む任意のメッセージとすることができる。ハートビート制御部１５はハートビートメッセージ、ＶＲＲＰ制御部１６はＶＲＲＰ広告の送受信を制御する。新アクティブ系通信装置となるノードＣに備えられた障害管理部１５やＶＲＲＰ制御部１６は、旧アクティブ系通信装置（ノードＢ）から送信された生存通知メッセージを用いて、旧アクティブ系通信装置が正常に動作しているかを判断することができる。なお、後述するように、旧アクティブ系通信装置が正常に動作しているかを送信装置が監視し、新アクティブ系通信装置は旧アクティブ系通信装置の動作状態を監視しないシステムとすることもできる。
【００２２】
記憶部２０は、制御部１０などの処理に用いられるデータやプログラムなどを記憶する。また、記憶部２０は、セキュリティポリシーデータベース（Security Policy Database、ＳＰＤ）２１、とセキュリティアソシエーションデータベース（Security Association Database、ＳＡＤ）２２を備える。セキュリティポリシーデータベース２１は、通信装置において設定されるセキュリティポリシーを格納する。例えば、ノードＢのセキュリティポリシーデータベース２１には、ノードＢが受信したパケットに対する処理内容が格納される。
【００２３】
セキュリティアソシエーションデータベース２２は、セキュリティアソシエーションなどのセキュリティ情報や、旧アクティブ系通信装置の受信履歴などを保持する。ここで、受信履歴は、旧アクティブ系通信装置が送信装置から受信したパケットの識別子の記録とすることができる。パケットの識別子は、個々のパケットを識別できる任意の情報を用いることができ、例えば、パケットに付されたシーケンス番号とすることができる。また、受信履歴は、運用中の通信装置に受信されたパケットを特定する情報を記録した任意の形式の情報とすることができ、例えば、運用中の通信装置のリプレイウィンドウの情報とすることができる。以下、パケットの識別子がシーケンス番号であって、受信履歴が旧アクティブ系通信装置のリプレイウィンドウの情報である場合について述べる。
【００２４】
送信部３１は、制御部１０などからの要求に基づいて、他の通信装置等へのパケットの送信を制御する。受信部３２は、他の通信装置等から送られてきたパケットを受信する。カウンタ３３は、例えば、セキュリティアソシエーションを用いて送受信されたパケット数や情報のバイト数をカウントする際に用いられる。また、旧アクティブ系通信装置の受信履歴通知部１４は、カウンタの値が予め定めた一定の値になると、受信履歴を送信装置もしくは新アクティブ系通信装置に送信する。タイマ３４は、例えば、運用中の通信装置が正常に動作しているかをハートビート制御部１５やＶＲＲＰ制御部１６が判断する際に用いられる。新アクティブ系通信装置のハートビート制御部１５は、旧アクティブ系通信装置から生存通知メッセージを受信した時刻から予め定められた一定の時間内に、次の生存通知メッセージを受信できなかったときに、旧アクティブ系通信装置が故障したと判断する。ＶＲＲＰ制御部１６も、ハートビート制御部１５と同様に、生存通知メッセージを受信した時刻から予め定められた一定の時間内に、旧アクティブ系通信装置から次の生存通知メッセージを受信できなかったときに、旧アクティブ系通信装置が故障したと判断する。
【００２５】
図３は、本実施形態で用いられる通信装置の構成の一例を示す図である。図３に示す通信装置は、図１のノードＡのように、冗長化された装置へパケットを送信する通信装置として用いることができる。なお、図３の例では、切り替え要求メッセージとしてＧＡＲＰパケットを受信する場合について示す。
【００２６】
送信装置は、制御部４０、記憶部２０、送信部３１、受信部３２、カウンタ３３、タイマ３４を備える。制御部４０は、セキュリティ情報管理部１３の他に、Media Access Control（ＭＡＣ）アドレス制御部４１および再送信制御部４２を備えている。なお、後述するように制御部４０は、さらに障害管理部４３を含むこともできる。記憶部２０には、セキュリティポリシーデータベース２１、セキュリティアソシエーションデータベース２２に加えて、Address Resolution Protocol（ＡＲＰ）テーブル２３も備える。送信装置が備えるセキュリティ情報管理部１３、セキュリティポリシーデータベース２１、セキュリティアソシエーションデータベース２２、送信部３１、受信部３２、カウンタ３３、タイマ３４は、通信装置が備えているものと同様である。
【００２７】
再送信制御部４２は、新アクティブ系通信装置へのパケットの再送信を制御する。再送信制御部４２は、切り替え要求メッセージを受信すると、送信部３１に再送信を要求する。ここで、送信装置のセキュリティアソシエーションデータベース２２に旧アクティブ系通信装置の受信履歴が記録されている場合、再送信制御部４２は、受信履歴にシーケンス番号が含まれていないパケットを新アクティブ系通信装置に送信する。一方、後述するように、旧アクティブ系通信装置の受信履歴が新アクティブ系通信装置から通知された場合には、通知された受信履歴にシーケンス番号が記録されていないパケットを新アクティブ系通信装置に送信する。
【００２８】
送信装置が新アクティブ系通信装置から切り替え要求メッセージを受信すると、再送信制御部４２は、ＡＲＰテーブル２３を変更することによって、パケットの送信先を新アクティブ系通信装置に変更する。ＡＲＰテーブル２３は、例えば、冗長化されている通信装置のいずれかに割り当てられるInternet Protocol（ＩＰ）アドレスと、そのＩＰアドレスを割り当てる通信装置のＭＡＣアドレスを対にして記録できる。例えば、図１のノードＢが運用されているときは、ノードＡが備えているＡＲＰテーブル２３は、ノードＢのＭＡＣアドレスとＩＰアドレスを対にして記録している。ノードＢに障害が発生したことに伴い、ノードＡがノードＣから切り替え要求メッセージを受信すると、再送信制御部４２は、ＡＲＰテーブル２３を変更する。変更後のＡＲＰテーブル２３は、ノードＢもしくはノードＣのいずれかに割り当てられるＩＰアドレスを、ノードＣのＭＡＣアドレスと対にして記録する。なお、ＡＲＰテーブル２３は、仮想ＩＰアドレス（ＶＩＰ、Virtual Internet Protocol Address）や仮想ＭＡＣアドレス（ＶＭＡＣ）を記録することもできる。
【００２９】
ＭＡＣアドレス制御部４１は、送信部３１に送信対象のパケットが入力されると、パケットの宛先とするノードのＭＡＣアドレスをＡＲＰテーブル２３から抽出するとともに、送信部３１に通知する。例えば、ノードＢとノードＣの２台の通信装置のうちのノードＢが運用中の通信装置である場合、通信装置のいずれかに割り当てられるＩＰアドレスはノードＢのＭＡＣアドレスと対にしてＡＲＰテーブル２３に記憶されている。そこで、ＭＡＣアドレス制御部４１は、パケットの宛先ＭＡＣアドレスとしてノードＢのＭＡＣアドレスを抽出し、送信部３１に通知する。送信部３１は、ＭＡＣアドレス制御部４１から通知されたアドレスへパケットを送信する。
【００３０】
障害管理部４３は、送信装置が旧アクティブ系通信装置に発生した障害を検出する場合に用いられる。障害管理部４３は、送信装置が旧アクティブ系通信装置から受信履歴を受信する間隔を、タイマ３４を用いて計測する。障害管理部４３は、受信履歴を受信してから予め定められた一定の時間内に、新たな受信履歴を受信できなかったときに、旧アクティブ系通信装置が故障したと判断する。なお、障害の検出に受信履歴を用いるのは一例であって、障害管理部４３は、生存通知メッセージなどの他のデータを受信する間隔から旧アクティブ系通信装置が正常に動作しているかを判断することもできる。
【００３１】
＜第１の実施形態＞
本実施形態の通信装置は、通信装置の切り替えから新アクティブ系通信装置でのパケットの受信開始までの時間を短縮するために、旧アクティブ系通信装置と新アクティブ系通信装置の間でセキュリティ情報を共有している。そこで、まず、旧アクティブ系通信装置と新アクティブ系通信装置の間でセキュリティ情報を共有する方法について説明する。なお、以下の説明では、セキュリティ情報はセキュリティアソシエーションとするが、セキュリティ情報は実装に応じて変更することもできる。
【００３２】
図４は、セキュリティアソシエーションの生成と更新の方法の一例を説明する図である。図４を参照しながら、送信装置（ノードＡ）と運用中の通信装置（ノードＢ）との間でトンネルを生成するときのセキュリティアソシエーションの生成について説明する。また、運用中の通信装置が待機中の通信装置（ノードＣ）に生成されたセキュリティアソシエーションを通知することにより、ノードＡ〜Ｃは、セキュリティアソシエーションを共有する。なお、ノードＡ〜Ｃは図２および図３を参照しながら述べた装置とすることができるが、図４では理解を助けるために、セキュリティアソシエーションの生成や更新の際に動作する部分の一部を図示している。
【００３３】
（１）ノードＡは、冗長化された通信装置のいずれかに割り当てられるＩＰアドレスを宛先アドレスとしたパケットを受信するか、または、生成する。冗長化された通信装置を宛先としたパケットの送信先は、ＭＡＣアドレス制御部４１がＡＲＰテーブル２３を用いて送信部３１ａに通知する。ＭＡＣアドレス制御部４１は、運用中の通信装置であるノードＢを宛先として送信部３１ａに通知する。
【００３４】
（２）送信部３１ａは、パケットの宛先ＩＰアドレスに対応するセキュリティポリシーを検索し、ＩＰｓｅｃ通信が指示されている場合には、セキュリティアソシエーションを検索する。すなわち、送信部３１ａは、セキュリティポリシーデータベース２１ａを参照して、宛先ＩＰアドレスへのパケット送信に対してセキュリティポリシーを検索する。検索されたセキュリティポリシーにＩＰｓｅｃ通信を指示する設定がされている場合には、セキュリティアソシエーションデータベース２２ａを参照して、宛先ＩＰアドレスへのパケット送信に対して設定されているセキュリティアソシエーションを検索する。ここでは、ノードＡとノードＢの間にトンネルが確立されていないため、宛先ＩＰアドレスへのパケット送信に関するセキュリティアソシエーションは記録されていない。
【００３５】
（３）送信部３１ａは、ノードＡとノードＢの間の通信に用いるセキュリティアソシエーションの生成を、セキュリティ情報管理部１３ａに要求する。
（４）セキュリティ情報管理部１３ａは、ノードＢのセキュリティ情報管理部１３ｂにアクセスし、暗号鍵の生成や認証などのInternet Key Exchange（ＩＫＥ）交渉を行う。ＩＫＥ交渉では、セキュリティ情報管理部１３ａと１３ｂは、例えば、ＩＫＥ＿ＳＡ＿ＩＮＩＴメッセージやＩＫＥ＿ＡＵＴＨメッセージなどのメッセージを用いた処理によりセキュリティアソシエーションを生成する。
【００３６】
（５）セキュリティ情報管理部１３ａは、生成されたセキュリティアソシエーションをセキュリティアソシエーションデータベース２２ａに格納する。同様に、ノードＢでは、セキュリティ情報管理部１３ｂがセキュリティアソシエーションデータベース２２ｂにセキュリティアソシエーションを格納する。なお、手順（２）〜（５）において、セキュリティ情報管理部１３ａ、１３ｂは、適宜、セキュリティポリシーデータベース２１ａ、２１ｂにアクセスできる。
【００３７】
（６）ノードＢにおいて、セキュリティ情報管理部１３ｂは、セキュリティアソシエーションが生成された旨の通知（ＳＡ確立通知）を送信部３１ｂに向けて出力する。
（７）送信部３１ｂは、ＳＡ確立通知を受け取ると、セキュリティアソシエーションデータベース２２ｂにアクセスし、生成されたセキュリティアソシエーションを取得する。
【００３８】
（８）送信部３１ｂは取得したセキュリティアソシエーションをノードＣに送信する。
（９）ノードＣの受信部３２ｃは、受信したセキュリティアソシエーションをセキュリティアソシエーションデータベース２２ｃに格納する。
【００３９】
以上の手順によって生成されたセキュリティアソシエーションを用いてノードＡはノードＢへパケットを送信するが、生成されたセキュリティアソシエーションにはライフタイム（ソフト、ハードの２種）が設定されている。そこで、生成されたセキュリティアソシエーションのハードライフタイムが終了する前に、ノードＡとノードＢの間で新たなセキュリティアソシエーションを以下の手順で生成する。
【００４０】
（１０）冗長化された通信装置を宛先としたパケットがノードＡの送信部３１ａに入力されると、ＭＡＣアドレス制御部４１は、宛先ノードをノードＢとして送信部３１ａに通知する。送信部３１ａは、ノードＡとノードＢの通信に対応するセキュリティアソシエーションをセキュリティアソシエーションデータベース２２ａから抽出し、セキュリティ情報管理部１３ａに通知する。
【００４１】
（１１）セキュリティ情報管理部１３ａは、セキュリティアソシエーションデータベース２２ａから抽出されたセキュリティアソシエーションが有効であるかを確認する。セキュリティ情報管理部１３ａは、例えば、セキュリティアソシエーションが生成されてから経過した時間や、そのセキュリティアソシエーションを用いて送受信されたデータのバイト数などを用いて、セキュリティアソシエーションがソフトライフタイムを終了しているかを判断する。セキュリティアソシエーションがソフトライフタイム終了前であると判断された場合、セキュリティ情報管理部１３ａはその旨をセキュリティ情報管理部１３ａに通知する。送信部３１ａは、そのセキュリティアソシエーションを用いてパケットをノードＢに送信する。
【００４２】
（１２）一方、セキュリティアソシエーションがソフトライフタイムを終了している場合、セキュリティ情報管理部１３ａは、手順（４）、（５）と同様に、ＣＲＥＡＴＥ＿ＣＨＩＬＤ＿ＳＡメッセージを用いたＩＫＥ交渉により、ノードＡからノードＢへのパケットの送信に用いる新たなセキュリティアソシエーションを生成する。また、ノードＢとノードＣは、手順（６）〜（９）と同様の動作により、新たなセキュリティアソシエーションを共有する。
【００４３】
（１３）手順（５）で生成したセキュリティアソシエーションは、ハードライフタイムを終了すると削除される。何らかの理由で、手順（１２）におけるセキュリティアソシエーションの生成がこの削除の前に完了しない場合は、手順（１）〜（５）の動作によってノードＡからノードＢへのパケットの送信に用いる新たなセキュリティアソシエーションを生成する。また、ノードＢとノードＣは、手順（６）〜（９）の動作により、新たなセキュリティアソシエーションを共有する。
【００４４】
手順（１０）から（１２）によってノードＡとノードＢの間で新たなセキュリティアソシエーションが生成される前に、シーケンス番号が最大値（０ｘＦＦＦＦＦＦＦＦもしくは０ｘＦＦＦＦＦＦＦＦ＿ＦＦＦＦＦＦＦＦ）に達すると、そのセキュリティアソシエーションは無効となる。この場合も、手順（１）〜（５）の動作により、ノードＡからノードＢへのパケットの送信に用いる新たなセキュリティアソシエーションを生成する。また、ノードＢとノードＣは、手順（６）〜（９）の動作により、そのセキュリティアソシエーションを共有する。
【００４５】
以上の手順により、新アクティブ系通信装置は、旧アクティブ系通信装置が送信装置との通信に用いていたセキュリティアソシエーションを保持しており、通信装置が切り替えられた後の通信に使用する。
【００４６】
図４を参照しながら説明したようにセキュリティアソシエーションが生成されると、送信装置は、運用中の通信装置にパケットを送信する。このとき、送信装置は、送信する個々のパケットにシーケンス番号を付す。シーケンス番号は、そのセキュリティアソシエーションを用いて送信されたパケットに付された通し番号であり、例えばセキュリティアソシエーションごとに、０から始まる整数とすることができる。この場合、送信装置の制御部４０は、運用中の通信装置との間でセキュリティアソシエーションを生成したときに、カウンタ３３を「０」に初期化する。その後、パケットを送信するたびに、カウンタ３３を１だけインクリメントし、カウンタ３３のカウンタ値をシーケンス番号とすることができる。
【００４７】
一方、運用中の通信装置では、例えば、記憶部２０などにシーケンス番号カウンタを備え、パケットの受信状況を記録できる。シーケンス番号カウンタは、例えば、図５（ａ）に示すようにシーケンス番号を付されたパケットの各々に１ビットのメモリを割り当てた文字列にすることができる。運用中の通信装置は、セキュリティアソシエーションが生成されると、シーケンス番号カウンタを初期化する。運用中の通信装置がパケットを受信すると、制御部１０は、パケットを受信したシーケンス番号に対応するビットの値を「１」にする。例えば、シーケンス番号＝０のパケットを受信すると、制御部１０は、シーケンス番号＝０のパケットの受信について記録するビットとして割り当てられている最上位のビットの数値を「０」から「１」に変更する。図５（ａ）の例では、通信装置が０〜２５までのシーケンス番号のパケットを受信した後、シーケンス番号が２６のパケットを受信する前にシーケンス番号が２７のパケットを受信した場合のシーケンス番号カウンタを示している。
【００４８】
図５（ｂ）は、リプレイウィンドウの一例を示す図である。リプレイウィンドウ５０は、運用中の通信装置をリプレイ攻撃から守るために用いられ、受信が許可されるパケットのシーケンス番号の範囲を決定する。以下の説明では、リプレイウィンドウ５０に含まれている各ビットの値と、リプレイウィンドウ５０に受信状況が記録されているパケットのシーケンス番号のうち、最も小さな番号、もしくは、最も大きな番号を含む情報を「リプレイウィンドウ情報」もしくは「ウィンドウ情報」と記載する。
【００４９】
ここで、リプレイウィンドウ５０に記録された情報は、運用中の通信装置により受信を許可されるシーケンス番号の範囲のパケットの各々についての受信履歴であるといえる。例えば、図５（ｂ）の例では、リプレイウィンドウ５０は３２ビットであるため、リプレイウィンドウ情報には０〜３１のシーケンス番号のパケットの受信履歴を記録している。通信装置がさらにパケットを受信し、シーケンス番号＝３２のパケットを受信すると、制御部１０は、リプレイウィンドウ５０を１ビット下位の桁に移動させる。このため、リプレイウィンドウ５０が移動した後のリプレイウィンドウ情報は、１〜３２のシーケンス番号のパケットについての受信履歴を保持する。このように、３２ビット幅のリプレイウィンドウ５０の場合、通信装置が受信したパケットのうちで最小のシーケンス番号をｎとすると、制御部１０は、ｎから（ｎ＋３１）までのシーケンス番号が付されたパケットに対しての受信履歴を記録している。
【００５０】
運用中の通信装置に備えられた制御部１０は、定期的にリプレイウィンドウ５０の記録を読み込み、リプレイウィンドウ情報を生成して送信装置に送信する。送信装置は、通信装置から受信したリプレイウィンドウ情報を記録して、通信装置でのパケットの受信記録とする。なお、リプレイウィンドウ情報に含めるシーケンス番号の選択方法は任意であり、例えば、読み込んだリプレイウィンドウ５０に受信状況が記録されているパケットに対応するシーケンス番号のうち、最も大きいシーケンス番号などにすることもできる。送信装置では、通知されたシーケンス番号とリプレイウィンドウ情報を用いて、運用中の通信装置に受信されていないパケットのシーケンス番号を特定する。シーケンス番号の特定方法については、後述する。
【００５１】
運用中の通信装置に障害が発生したなどの理由により、冗長化された通信装置間での切り替えが行われると、送信装置は、新アクティブ系通信装置にパケットの送信を開始する。このとき、送信装置は、カウンタ３３のカウンタ値と旧アクティブ系通信装置の受信記録で受信が確認できるパケットのシーケンス番号を比較する。送信装置の制御部４０は、シーケンス番号がカウンタ値以下の値であり、リプレイウィンドウ情報に受信が記録されていないパケットを、旧アクティブ系通信装置が受信できなかったパケットであると判断する。すると、制御部４０は、旧アクティブ系通信装置が受信に失敗したパケットを、新アクティブ系通信装置に再送信する。例えば、送信装置のカウンタ値が「２７」のときに切り替えが行われた場合、旧アクティブ系通信装置へシーケンス番号が０〜２７のパケットが送信されている。旧アクティブ系通信装置から送られたリプレイウィンドウ情報が図５（ｂ）に示すリプレイウィンドウ５０の情報であるとすると、送信装置の制御部４０は、シーケンス番号＝２６のパケットは旧アクティブ系通信装置に受信されていないと判断する。そこで、送信装置はシーケンス番号＝２６のパケットを、新アクティブ系通信装置に送信する。
【００５２】
運用中の通信装置がリプレイウィンドウ情報を送信装置に送信する周期は、任意に設定することができる。ただし、あるリプレイウィンドウ情報が送信されてから次のリプレイウィンドウ情報が送信されるまでの間に、送信装置から運用中の通信装置に送信されるパケットの数は、リプレイウィンドウ５０に記録できるビット数よりも小さい。例えば、図４のノードＢで用いられるリプレイウィンドウ５０が３２ビット幅の場合、ノードＡからノードＢに１６個のパケットが出力される間に１回、ノードＢがリプレイウィンドウ情報をノードＡに送信するように設定できる。このように、あるリプレイウィンドウ情報が送信されてから次のリプレイウィンドウ情報が送信されるまでの間に送信装置から出力されるパケット数を、１つのリプレイウィンドウ情報に受信履歴を記録できるパケットの数以下にする。すると、送信装置から出力されたパケットの各々について、運用中の通信装置で受信されたかを、送信装置が、リプレイウィンドウ情報を用いて確認することができる。
【００５３】
なお、図５（ａ）の例では、０から０ｘＦＦＦＦＦＦＦＦまでのシーケンス番号が付されたパケットについて、各々のパケットを受信したかを管理できるが、シーケンス番号カウンタで管理するパケットの数は実装に応じて変更することができる。同様に、リプレイウィンドウ情報に含まれる情報の量も３２ビットに限られず、任意に変更することができる。
【００５４】
図６は、第１の実施形態における通信装置の切り替えの例を説明する図である。図６を参照しながら、通信装置の切り替え前（手順（１）〜（７））と切り替え後の各ノードの動作（手順（８）〜（１８））を説明する。図６には、通信装置の切り替えに際して動作する部分などが図示されている。以下の説明では、図４を参照しながら説明した方法によって旧アクティブ系通信装置と新アクティブ系通信装置がセキュリティアソシエーションを共有しているものとする。なお、ノードＡが送信装置、ノードＢが旧アクティブ系通信装置、ノードＣが新アクティブ系通信装置である。
【００５５】
（１）パケットが入力されると、送信部３１ａは、入力されたパケットを、適宜、記憶部２０にバッファリングする。送信部３１ａは、処理対象のパケットを記憶部２０から読み出すと、ＭＡＣアドレス制御部４１から通知されたＭＡＣアドレスにパケットを送信する。このとき、運用中の通信装置であるノードＢが正常に動作しているものとする。すると、ＭＡＣアドレス制御部４１からノードＢのＭＡＣアドレスが通知され、パケットはノードＢに送信される。
【００５６】
（２）ノードＢの受信部３２ｂがパケットを受信すると、制御部１０ｂは、シーケンス番号カウンタを更新する。また、制御部１０ｂは、適宜、リプレイウィンドウ情報をセキュリティアソシエーションデータベース２２ｂに記録する。
【００５７】
（３）ノードＢの受信履歴通知部１４ｂは、例えば、前回のリプレイウィンドウ情報をノードＡに送信してから経過した時間や受信したパケット数などをモニタする。これらの情報に基づいて、リプレイウィンドウ情報を送信するタイミングを決定する。リプレイウィンドウ情報を送信するときには、受信履歴通知部１４ｂは、リプレイウィンドウ情報をセキュリティアソシエーションデータベース２２ｂから読み出して送信部３１に出力するとともに、ノードＡへの送信を要求する。
【００５８】
（４）送信部３１ｂは、リプレイウィンドウ情報をノードＡに送信する。
（５）ノードＡの受信部３２ａは、受信したリプレイウィンドウ情報を、障害管理部４３に出力する。障害管理部４３は、リプレイウィンドウ情報を受け取ると、タイマ３４の値をリセットする。
【００５９】
障害管理部４３はリプレイウィンドウ情報を受け取るたびにタイマ３４をリセットするので、タイマ３４は、ノードＡがノードＢからリプレイウィンドウ情報を受信したときから次のリプレイウィンドウ情報を受信するまでの時間を計測している。障害管理部４３は、定期的にタイマ３４の値を確認することにより、最後にリプレイウィンドウ情報を受信してから経過した時間を確認する。ここで、障害管理部４３は、ノードＢに障害が発生したかを判断するための閾値（Ｔｔｈ）を保持しており、定期的にタイマ３４の値と閾値Ｔｔｈを比較するものとする。例えば、障害管理部４３は、タイマ３４の値が閾値Ｔｔｈより大きい場合に、ノードＢに障害が発生したとみなす。
【００６０】
（６）障害管理部４３は、ノードＢから送られてきたリプレイウィンドウ情報をセキュリティアソシエーションデータベース２２ａに記録する。
（７）ノードＡとノードＢにより、手順（１）〜（６）が繰り返される。
【００６１】
（８）ノードＢに障害が発生すると、ノードＢは、ノードＡからパケットを受信できなくなる。さらに、ノードＢは、リプレイウィンドウ情報の更新や、ノードＡへのリプレイウィンドウ情報の送信をすることができなくなる。
【００６２】
（９）障害管理部４３は、定期的にタイマ３４の値を確認するが、ノードＢに障害が発生した後にリプレイウィンドウ情報を受信していないため、タイマ３４の値は更新されない。従って、タイマ３４は、最後にノードＡがリプレイウィンドウ情報を受信してからの時間の計測を続ける。
【００６３】
（１０）タイマ３４の値が閾値Ｔｔｈよりも大きいことを検出すると、障害管理部４３は、ノードＢに障害が発生したと判断する。そこで、ノードＣを新アクティブ系通信装置として使用するために、ノードＣに対し、運用の開始を要求するメッセージ（運用要求メッセージ）を送信する。なお、障害管理部４３は、運用要求メッセージを、ノードＣの状態管理部１１ｃに直接送信することができ、また、タイマ３４や送信部３１ａなどを介して出力することもできる。
【００６４】
（１１）ノードＣの状態管理部１１ｃは、運用要求メッセージを受信すると、ノードＣの状態を待機中から運用中に変更する。
（１２）状態管理部１１ｃは、ノードＣの状態が運用中に変更されたことを切り替え要求制御部１２ｃに通知する。切り替え要求制御部１２ｃは、切り替え要求メッセージを生成し、送信部３１ｃを介して切り替え要求メッセージをノードＡに送信する。
【００６５】
図７は、切り替え要求メッセージの例を示す図である。図７（ａ）の例では、切り替え要求メッセージとして、ＧＡＲＰパケットを用いている。ここでは、ＡＲＰテーブル２３に仮想ＩＰアドレスや仮想ＭＡＣアドレスが記載されており、ノードＢまたはノードＣのいずれかに仮想ＩＰアドレスが割り当てられる場合について述べる。ＧＡＲＰパケットは、Source Protocol Address（ＳＰＡ）、Sender Hardware Address（ＳＨＡ）を記録している。これらのアドレスはＧＡＲＰパケットの送信元アドレスを示す。例えば、ノードＣは、ＳＰＡの欄にノードＢに割り当てられていた仮想ＩＰアドレス、ＳＨＡの欄にノードＣの仮想ＭＡＣアドレスを記録する。ここで、ＳＨＡとＳＰＡは、図７（ａ）に示すように各々２つずつ記録される。Octet length of protocol address（ＰＬＮ）にはＳＰＡの記述に用いられるオクテット数が記録され、Octet length of hardware address（ＨＬＮ）にはＳＨＡの記述に用いられるオクテット数が記録される。また、ノードＢは、ＯＰの欄に、パディング部分に記録されているデータに対応したデータを記録し、protocol type（ＰＲＯ）に、通信に用いられるプロトコルを特定する情報を記録する。ＧＡＲＰパケットは、さらに、hardware type（ＨＲＤ）、プロトコル識別子、送信元アドレス（ＳＭＡＣ）、宛先アドレス（ＤＭＡＣ）、パディング（padding、ＰＡＤ）を含む。図７（ａ）では、プロトコル識別子の欄に、ＡＲＰパケットを表す「０ｘ０８０６」を記載している。ノードＢは、図７（ａ）に示すＧＡＲＰパケットをノードＡに送信する。なお、図７（ａ）の例では、送信元アドレスや宛先アドレスなどの既存のＧＡＲＰパケットの情報要素も含むパケットを切り替え要求メッセージに用いているが、適宜、情報要素を変更することもできる。
【００６６】
（１３）ノードＡの受信部３２ａは、切り替え要求メッセージを受信すると、再送信制御部４２に出力する。再送信制御部４２は、切り替え要求メッセージを解析してＡＲＰテーブル２３を変更する。変更前のＡＲＰテーブル２３は旧アクティブ系通信装置をＩＰアドレスと対応付けているため、ＩＰアドレスは、ノードＢと対応付けられている。再送信制御部４２は、切り替え要求メッセージに基づいて、通信装置のいずれかに割り当てられるＩＰアドレスを、新アクティブ系通信装置（ノードＣ）のＭＡＣアドレスと対にして記録する。
【００６７】
（１４）再送信制御部４２は、さらに、送信部３１ａに対してパケットの再送信を要求する。再送信制御部４２は、セキュリティアソシエーションデータベース２２ａに記録されている受信履歴を読み出して、旧アクティブ系通信装置（ノードＢ）が受信できなかったパケットのシーケンス番号を求め、送信部３１ａに通知する。
【００６８】
図８は受信履歴の読み出しの一例を説明する図である。再送信制御部４２は、パケットを送信する際にカウントしたカウント値などを用いて既に送信されたパケットの履歴（送信履歴）を確認する。また、再送信制御部４２は、送信シーケンス番号カウンタを用いて、図８（ａ）に示すように、記憶部２０に送信記録を記録してもよい。送信シーケンス番号カウンタもシーケンス番号カウンタと同様に、各シーケンス番号に１ビットのメモリを割り当てた文字列とすることができる。例えば、ノードＡが０からｋまでのシーケンス番号のパケットを送信した場合、図８（ａ）に示すように上位（ｋ＋１）桁のビットを「１」にして、シーケンス番号が「０」から「ｋ」のパケットは送信済みであることを記録している。以下の説明では、ノードＡが切り替え要求メッセージを受信したときに、０からｋまでのシーケンス番号が付されたパケットが送信されていたものとする。
【００６９】
図８（ｂ）は、セキュリティアソシエーションデータベース２２ａに記録されているリプレイウィンドウ情報をリプレイウィンドウ５０の形式で表した図である。リプレイウィンドウ情報は、ｎから（ｎ＋３１）のシーケンス番号のパケットがノードＢによって受信されたかを示している。なお、図８（ｂ）は、図８（ａ）との対比を簡単にするため、リプレイウィンドウ５０とノードＢに記録されているシーケンス番号カウンタをあわせて示している。図８（ｂ）の例では、シーケンス番号が（ｎ＋２７）、（ｎ＋２９）、（ｎ＋３０）のパケットがノードＢで受信されていない。また、シーケンス番号が（ｎ＋３１）よりも大きく、ｋ以下のパケットもノードＢで受信されていない。再送信制御部４２は、以上のように、送信済みのパケットのシーケンス番号とリプレイウィンドウ情報を用いて、再送信の対象となるパケットを特定する。
【００７０】
（１５）送信部３１ａは、再送信の対象となるパケットをバッファや記憶部２０などから読み込む。さらに、再送信するパケットの宛先アドレスをＭＡＣアドレス制御部４１に問い合わせる。
【００７１】
（１６）ＭＡＣアドレス制御部４１は、ＡＲＰテーブル２３を参照して、パケットの宛先ＩＰアドレスに対応するＭＡＣアドレスを特定する。手順（１３）においてＡＲＰテーブル２３は変更されているため、宛先ＩＰアドレスには新アクティブ系通信装置となるノードＣのＭＡＣアドレスが対応付けられている。
【００７２】
（１７）ＭＡＣアドレス制御部４１が宛先ＭＡＣアドレスとしてノードＣのＭＡＣアドレスを送信部３１ａに通知すると、送信部３１ａは、ノードＣにパケットを再送信する。ここで、前述のとおり、ノードＣとノードＢは、ノードＡとの通信に用いられるセキュリティアソシエーションを共有している。そのため、送信部３１ａは、旧アクティブ系通信装置であるノードＢとの通信に用いていたセキュリティアソシエーションを用いて、新アクティブ系通信装置であるノードＣにパケットを再送信する。
【００７３】
（１８）ノードＣは、パケットを受信すると、受信したパケットのシーケンス番号をシーケンス番号カウンタに記録する。また、ノードＣは、適宜、リプレイウィンドウ情報をセキュリティアソシエーションデータベース２２ｃに記録するとともに、ノードＡに送信する。
【００７４】
このように、本実施形態では、送信装置は、切り替え要求メッセージを受信すると旧アクティブ系通信装置の受信履歴と送信装置の送信履歴を比較する。さらに、送信装置から旧アクティブ系通信装置に向けて送信されたパケットであって、旧アクティブ系通信装置が受信していないパケットを、通信装置の切り替え後に、送信装置が、新アクティブ系通信装置に再送信する。例えば、旧アクティブ系通信装置に障害が発生してから通信装置の切り替えが行われるまでに旧アクティブ系通信装置に送信されたパケットは、新アクティブ系通信装置に再送信される。従って、本実施形態によって、冗長化された通信装置間での切り替えに伴うパケットロスの発生を防ぐことができる。
【００７５】
また、送信装置は、旧アクティブ系通信装置からのリプレイウィンドウ情報の送信間隔をモニタすることにより、旧アクティブ系通信装置の受信履歴とともに、旧アクティブ系通信装置が正常に動作しているかも把握する。このため、送信装置側で旧アクティブ系通信装置の動作状況と受信履歴を管理することができ、送信装置が通信装置の切り替えとパケットの再送信処理を一括して制御できる。
【００７６】
図９は、第１の実施形態における各ノードの動作の例を表すシーケンス図である。図９を参照しながら、通信装置の切り替えとパケットの再送信で行われる動作を経時的に説明する。なお、図９に示した番号は、図６を参照しながら説明した手順の番号である。また、図９の例では、ＡＲＰテーブル２３において、ノードＢとノードＣのいずれかに割り当てられる仮想ＩＰアドレスにノードＢもしくはノードＣで用いられる仮想ＭＡＣアドレスが対応付けられるものとする。
【００７７】
ノードＢに障害が発生する前は、ノードＡに備えられたＡＲＰテーブル２３では、ノードＢとノードＣのいずれかに割り当てられるＩＰアドレス（ＶＩＰ）にノードＢのＭＡＣアドレス（ＶＭＡＣｂ）が対応付けられている。そこで、ノードＡはノードＢに向けてパケットを送信し、ノードＢは、ノードＡからノードＢに向けて送信されたパケットを受信する。ノードＢは、手順（４）で述べたように、定期的にリプレイウィンドウ情報をノードＡに送信する。ノードＡは、ノードＢからのリプレイウィンドウ情報をノードＢでの受信履歴としてセキュリティアソシエーションデータベース２２ａに記録するとともに、リプレイウィンドウ情報の受信間隔を計測してノードＢの動作確認を行う。
【００７８】
ノードＢで障害が発生するとノードＢではパケットを受信できなくなるため、ノードＢに送信されたパケットは廃棄される。また、ノードＢはリプレイウィンドウ情報をノードＡに送信できないため、ノードＡの障害管理部４３は、手順（９）、（１０）で述べたように、ノードＢに障害が発生したことを検出する。従って、ノードＢに障害が発生してからノードＡが障害の発生を検出するまでの間のパケットは廃棄されている。図９に「再送対象」として示したパケットは、ノードＢが受信できずに廃棄されたパケットである。
【００７９】
ノードＡは、ノードＣに運用要求メッセージを送信し、ノードＣから切り替え要求メッセージを受信すると、ＡＲＰテーブル２３を変更する。変更後のＡＲＰテーブル２３には、ノードＢとノードＣのいずれかに割り当てられるＩＰアドレスにノードＣのＭＡＣアドレス（ＶＭＡＣｃ）が対応付けられている。ＡＲＰテーブル２３の変更後、ノードＡは、新アクティブ系通信装置となったノードＣに再送対象のパケットを送信する。
【００８０】
このように、送信装置で一括して通信装置の切り替えとパケットの再送を行うことができる。また、パケットの再送に際して、ノードＡの再送信制御部４２が旧アクティブ系通信装置の受信履歴と送信装置の送信履歴を比較するため、旧アクティブ系通信装置で受信されていないパケットが新アクティブ系通信装置に送信される。従って、本実施形態を用いてパケットロスの発生を防ぐことができる。
【００８１】
また、送信装置は、受信履歴としてリプレイウィンドウ情報を保持しているが、リプレイウィンドウ情報のデータ量はリプレイウィンドウ５０で処理できるデータ量と同程度である。従って、セキュリティアソシエーションデータベース２２ａにリプレイウィンドウ情報を保持しても、送信装置のリソースを大量に使用することにはならない。同様に、リプレイウィンドウ情報を送信する通信装置側でも、リプレイウィンドウ情報に関する処理に大量のリソースを消費することは無い。従って、本実施形態によると、各通信装置のリソースを大量に消費せずにパケットロスを防ぐことができる。
【００８２】
さらに、通信装置間でセキュリティアソシエーションを共有しているため、送信装置は、旧アクティブ系通信装置から新アクティブ系通信装置に送信先が切り替えられても既存のセキュリティアソシエーションを用いて通信できる。このため、通信装置間での切り替えの際にＩＫＥなどの処理を行わず、系の切り替えを速く行うことができる。
【００８３】
＜第２の実施形態＞
第１の実施形態では、送信装置が一括して通信装置の切り替えとパケットの再送信の制御を行うことができるため、高速な処理が期待できるが、送信装置の負荷が大きい。そこで、通信装置の切り替えは新アクティブ系通信装置が管理し、パケットの再送信を送信装置が制御するように変形することもできる。この場合、障害管理部４３を備えない送信装置を用いることができる。第２の実施形態では、運用中の通信装置（旧アクティブ系通信装置）は、待機中の通信装置（新アクティブ系通信装置）に向けて定期的に生存通知メッセージを送信する。そこで、第２の実施形態に用いられる通信装置の制御部１０は、例えばハートビート制御部１５もしくはＶＲＲＰ制御部１６などの生存通知メッセージの処理を制御する機能を含む。第２の実施形態に用いられる通信装置は、さらに、生存通知メッセージに応じた送信部（ハートビート送信部６１、ＶＲＲＰ広告送信部６３）や受信部（ハートビート受信部６２、ＶＲＲＰ広告受信部６４）も含む。なお、旧アクティブ系通信装置から新アクティブ系通信装置に送られる生存通知メッセージの形式は任意のものとすることができる。
【００８４】
図１０は、ハートビートメッセージを用いた第２の実施形態における通信装置の切り替えの例を説明する図である。図１０を参照しながら、第２の実施形態での各ノードの動作を説明する。図１０でも、送信装置はノードＡであり、旧アクティブ系通信装置はノードＢ、新アクティブ系通信装置はノードＣであるものとする。なお、セキュリティアソシエーションの生成方法や、旧アクティブ系通信装置と新アクティブ系通信装置の間でのセキュリティアソシエーションの共有方法は、第１の実施形態と同様である。
【００８５】
第２の実施形態の手順（１）〜（４）は、図６を参照しながら述べた手順（１）〜（４）と同様である。
（５）ノードＡの受信部３２ａは、受信したリプレイウィンドウ情報を、セキュリティアソシエーションデータベース２２ａに記録する。
【００８６】
（６）ノードＢでは、ハートビート制御部１５ｂが、一定の時間ごとにハートビートメッセージを生成してハートビート送信部６１に出力する。ハートビート送信部６１はノードＣにハートビートメッセージを送信する。
【００８７】
（７）ノードＣのハートビート受信部６２は、ハートビートメッセージを受信するとハートビート制御部１５ｃに出力する。ハートビート制御部１５ｃは、ハートビートメッセージを受信するとタイマ３４の値をリセットする。ハートビート制御部１５ｃはハートビートメッセージを受け取るたびにタイマ３４をリセットするので、タイマ３４は、ノードＣがノードＢからハートビートメッセージを受信してから次のハートビートメッセージを受信するまでの時間を計測している。
【００８８】
（８）ノードＢに障害が発生するまで手順（１）〜（７）を繰り返す。
（９）ノードＢに障害が発生すると、ノードＢはパケットの受信、リプレイウィンドウ情報の送信、および、ハートビートメッセージの送信をすることができなくなる。
【００８９】
（１０）ノードＣはハートビートメッセージを受信できないため、タイマ３４をリセットしない。ハートビート制御部１５ｃは、タイマ３４の値が予め決められた時間Ｔ１より大きい場合に、ノードＢに障害が発生したとみなす。
【００９０】
（１１）ノードＣの切り替え要求制御部１２ｃは、ノードＢに障害が発生した旨の通知をハートビート制御部１５ｃから受け取ると、送信部３１ｃを介して切り替え要求メッセージをノードＡに送信する。
【００９１】
（１２）ノードＡの受信部３２ａは、切り替え要求メッセージを受信すると、再送信制御部４２に出力する。切り替え要求メッセージが再送信制御部４２に出力された後の動作は、図６を参照しながら説明した手順（１３）〜（１８）と同様である。
【００９２】
図１１は、ハートビートメッセージを用いた第２の実施形態における通信装置の切り替えの例を説明するシーケンス図である。障害が発生する前は、送信装置からノードＢ（旧アクティブ系通信装置）にパケットが送信されている。ノードＢは、定期的にノードＣ（新アクティブ系通信装置）にハートビートメッセージを送信する。また、ノードＢは、リプレイウィンドウ情報をノードＡに送信する。
【００９３】
ノードＢに障害が発生するとハートビートメッセージが送信されないため、ノードＣはノードＢに障害が発生したとみなし、新アクティブ系通信装置としてノードＡに切り替え要求メッセージを送信する。ノードＡは、切り替え要求メッセージを受信するとＡＲＰテーブル２３を変更し、ノードＣにパケットの送信を始める。このとき、ノードＡは、セキュリティアソシエーションデータベース２２ａに記録されているリプレイウィンドウ情報と、ノードＡがノードＢに送信したパケットのシーケンス番号を比較し、ノードＢが受信に失敗したパケットをノードＣに送信する。なお、図１１に示すように、リプレイウィンドウ情報がノードＢからノードＡに送信されるより前に、ノードＢがノードＣにハートビートメッセージを送信することができ、手順（６）、（７）は、手順（２）〜（５）の前に変更することができる。
【００９４】
本実施形態で用いられる生存通知メッセージは、ハートビートメッセージに限られず、例えば、ＶＲＲＰ広告などを用いることもできる。図１２は、ＶＲＲＰ広告を用いた第２の実施形態における通信装置の切り替えの例を説明する図である。図１３は、図１２に示す動作に対応するシーケンス図である。図１２に示されたノードの動作の手順（１）〜（５）は、図１０を参照しながら述べた手順（１）〜（５）と同様である。
【００９５】
（６）ノードＢでは、ＶＲＲＰ制御部１６ｂが、一定の時間ごとに、ＶＲＲＰ広告送信部６３を介してＶＲＲＰ広告をノードＣに送信する。
（７）ノードＣのＶＲＲＰ制御部１６ｃは、ＶＲＲＰ広告受信部６４を介してＶＲＲＰ広告を受信する。また、ＶＲＲＰ制御部１６ｃはＶＲＲＰ広告を受信してから次のＶＲＲＰ広告を受信するまでの時間を計測している。
【００９６】
（８）ノードＢに障害が発生するまで手順（１）〜（７）を繰り返す。
（９）ノードＢに障害が発生すると、ノードＢはパケットの受信、リプレイウィンドウ情報の送信、および、ＶＲＲＰ広告の送信をすることができなくなる。
【００９７】
（１０）ノードＣは予め決定された時間Ｔ２までにＶＲＲＰ広告を受信できないときは、ノードＢに障害が発生したとみなす。
（１１）ノードＣの切り替え要求制御部１２ｃは、ノードＢに障害が発生した旨の通知をＶＲＲＰ制御部１６ｃから受け取ると、送信部３１ｃを介して切り替え要求メッセージをノードＡに送信する。さらに、ノードＣは、図１３に示すように、ノードＢを待機中の通信装置とみなして、ノードＢにＶＲＲＰ広告を送信する。
【００９８】
切り替え要求メッセージがノードＡに送信された後の動作は、図１０を参照しながら説明した手順（１２）〜（１８）と同様である。
図１０〜図１３を参照しながら述べたように、第２の実施形態では、運用中の通信装置が正常に動作しているかの監視を待機中の通信装置が行うことができる。このため、送信装置の負荷を軽減することができる。また、第１の実施形態と同様にパケットロスを回避できる。
【００９９】
＜第３の実施形態＞
送信装置の負荷を第２の実施形態よりさらに軽くするために、受信履歴の管理や通信装置の切り替えの制御を新アクティブ系通信装置が行うこともできる。
【０１００】
図１４は、ハートビートメッセージを用いた第３の実施形態における通信装置の切り替えの例を説明する図である。図１５は、図１４に示す動作に対応するシーケンス図である。第３の実施形態の手順（１）、（２）は、図６を参照しながら述べた手順（１）、（２）と同様である。
【０１０１】
（３）ノードＢのハートビート制御部１５ｂは、例えば、前回のハートビートメッセージをノードＣに送信してから受信したパケット数などをモニタし、ハートビートメッセージを送信するタイミングを決定する。
【０１０２】
（４）ハートビート制御部１５ｂは、リプレイウィンドウ情報を含んだハートビートメッセージを生成する。第３の実施形態で用いられるハートビートメッセージは、リプレイウィンドウ情報を含む任意の形態とすることができる。ハートビート制御部１５ｂは、ハートビート送信部６１を介してハートビートメッセージをノードＣに送信する。
【０１０３】
（５）ノードＣのハートビート受信部６２は、ハートビートメッセージを受信するとハートビート制御部１５ｃに出力する。ハートビート制御部１５ｃは、ハートビートメッセージから、ノードＢのリプレイウィンドウ情報を取得し、セキュリティアソシエーションデータベース２２ｃに記録する。
【０１０４】
（６）ハートビート制御部１５ｃは、ハートビートメッセージを受信するとタイマ３４の値をリセットする。従って、タイマ３４は、ノードＣがノードＢからハートビートメッセージを受信してから次のハートビートメッセージを受信するまでの時間を計測する。
【０１０５】
（７）ノードＡ〜Ｃにより、手順（１）〜（６）が繰り返される。
（８）ノードＢに障害が発生すると、ノードＢはパケットの受信、ハートビートメッセージの送信などをすることができなくなる。
【０１０６】
（９）ノードＣはハートビートメッセージを受信できないため、タイマ３４をリセットしない。ハートビート制御部１５ｃは、タイマ３４の値が予め決められた時間Ｔ３より大きい場合に、ノードＢに障害が発生したとみなす。
【０１０７】
（１０）ノードＣの切り替え要求制御部１２ｃは、ノードＢに障害が発生した旨の通知をハートビート制御部１５ｃから受け取る。切り替え要求制御部１２ｃは、セキュリティアソシエーションデータベース２２ｃに記録されているノードＢのリプレイウィンドウ情報を読み込む。
【０１０８】
（１１）切り替え要求制御部１２ｃは、切り替え要求メッセージを生成する。切り替え要求メッセージの例を図７（ｂ）に示す。
図７（ｂ）に示す切り替え要求メッセージでは、リプレイウィンドウ情報が含まれている。Enablement（ＥＮＡ）の構成要素には、有効性が記録されている。「有効」に設定された場合、切り替え要求メッセージに記録されているリプレイウィンドウ情報が受信履歴として用いられる。さらに、切り替え要求メッセージに受信履歴が含まれているかを、例えば、「ＯＰ」の情報要素を用いて表現することができる。例えば、リプレイウィンドウ情報を含むハートビートメッセージでは「ＯＰ」の要素に「１」を設定することができる。なお、その他の情報要素は、図７（ａ）の情報要素と同様にすることができる。
【０１０９】
（１２）切り替え要求制御部１２ｃは、生成した切り替え要求メッセージを、送信部３１ｃを介してノードＡに送信する。
（１３）ノードＡの受信部３２ａは、切り替え要求メッセージを再送信制御部４２に出力する。再送信制御部４２は、切り替え要求メッセージを解析してＡＲＰテーブル２３を変更し、通信先のノードをノードＣに変更する。
【０１１０】
（１４）再送信制御部４２は、さらに、送信部３１ａに対してパケットの再送信を要求する。再送信制御部４２は、切り替え要求メッセージに記録されているリプレイウィンドウ情報を読み出して、ノードＢが受信できなかったパケットのシーケンス番号を求め、送信部３１ａに通知する。
【０１１１】
ノードＢが受信できなかったパケットのシーケンス番号が送信部３１ａに通知されてから再送信されるまでの動作は、図６を参照しながら説明した手順（１５）〜（１７）と同様である。
【０１１２】
（１８）ノードＣは、パケットを受信すると、受信したパケットのシーケンス番号をシーケンス番号カウンタに記録する。さらに、ノードＣは、適宜、リプレイウィンドウ情報をセキュリティアソシエーションデータベース２２ｃに記録する。図１５に示すように、ノードＣは、リプレイウィンドウ情報を含むハートビートメッセージをノードＢに送信する。
【０１１３】
第３の実施形態では、運用中の通信装置が正常に動作しているかの監視と、運用中の通信装置の受信履歴の管理を待機中の通信装置が行うので、送信装置の負荷を軽減することができる。また、第１の実施形態と同様にパケットロスを回避できる。
【０１１４】
さらに、新アクティブ系通信装置が再送信の対象となるパケットを抽出することもできる。以下、ＶＲＲＰ広告を用いた場合を例として、新アクティブ系通信装置が再送信の対象となるパケットを送信装置に通知する場合の例について説明する。
【０１１５】
図１６は、ＶＲＲＰ広告を用いた第３の実施形態における通信装置の切り替えの例を説明する図である。また、図１７は、図１６に示す動作に対応するシーケンス図である。図１６に示されたノードの動作の手順（１）、（２）は、図６を参照しながら述べた手順（１）、（２）と同様である。
【０１１６】
（３）ノードＢの受信履歴通知部１４ｂは、例えば、前回のリプレイウィンドウ情報をノードＣに送信してから受信したパケット数などをモニタし、リプレイウィンドウ情報を送信するタイミングを決定する。
【０１１７】
（４）受信履歴通知部１４ｂは、リプレイウィンドウ情報をノードＣに送信する。
（５）ノードＣの制御部１０ｃは、受信部３２ｃを介してリプレイウィンドウ情報を受信すると、セキュリティアソシエーションデータベース２２ｃに記録する。
【０１１８】
（６）ノードＢでは、ＶＲＲＰ制御部１６ｂが、一定の時間ごとに、ＶＲＲＰ広告送信部６３を介してＶＲＲＰ広告をノードＣに送信する。
（７）ノードＣのＶＲＲＰ制御部１６ｃは、ＶＲＲＰ広告受信部６４を介してＶＲＲＰ広告を受信する。また、ＶＲＲＰ制御部１６ｃはＶＲＲＰ広告を受信してから次のＶＲＲＰ広告を受信するまでの時間を計測している。
【０１１９】
（８）ノードＢに障害が発生するまで手順（１）〜（７）を繰り返す。
（９）ノードＢに障害が発生すると、ノードＢはパケットの受信、リプレイウィンドウ情報の送信、および、ＶＲＲＰ広告の送信をすることができなくなる。
【０１２０】
（１０）ノードＣは予め決定された時間Ｔ４までにＶＲＲＰ広告を受信できないときは、ノードＢに障害が発生したとみなす。
（１１）ノードＣの切り替え要求制御部１２ｃは、ノードＢに障害が発生した旨の通知をＶＲＲＰ制御部１６ｃから受け取る。切り替え要求制御部１２ｃは、セキュリティアソシエーションデータベース２２ｃに記録されているノードＢのリプレイウィンドウ情報を読み込み、ノードＢが受信していないパケットのシーケンス番号を求める。切り替え要求制御部１２ｃは、求めたシーケンス番号を含めた切り替え要求メッセージを生成する。
【０１２１】
手順（１２）〜（１７）は、図１４を参照しながら説明した手順（１２）〜（１７）と同様であるが、手順（１４）において、切り替え要求メッセージからノードＢが受信していないパケットのシーケンス番号を読み出して送信部３１ａに通知する。
【０１２２】
（１８）ノードＣは、パケットを受信すると、受信したパケットのシーケンス番号をシーケンス番号カウンタに記録する。さらに、ノードＣは、適宜、リプレイウィンドウ情報をセキュリティアソシエーションデータベース２２ｃに記録する。図１７に示すように、ノードＣは、ＶＲＲＴ広告をノードＢに送信する。
【０１２３】
このように、旧アクティブ系通信装置が受信できなかったパケットを新アクティブ系通信装置が抽出し、切り替え要求メッセージを用いて通知すると、送信装置は、通知されたシーケンス番号に対応するパケットを再送する。
【０１２４】
以上述べたように、いずれの実施形態においても、切り替え要求メッセージは、旧アクティブ系通信装置が受信できなかったパケットの再送要求メッセージとして用いられるといえる。すなわち、送信装置は、新アクティブ系通信装置から切り替え要求メッセージを受信すると、通信装置の切り替え後に、旧アクティブ系通信装置が受信できなかったパケットを新アクティブ系通信装置に送信する。従って、第１〜第３のいずれかの実施形態を用いることによって、冗長化された通信装置間での切り替えに伴うパケットロスの発生を防ぐことができる。
【０１２５】
さらに、いずれの実施形態においても、旧アクティブ系通信装置の受信履歴としてリプレイウィンドウ情報を用いることができる。前述のとおり、リプレイウィンドウ情報はリプレイウィンドウ５０で処理されるデータ量と同程度であるため、リプレイウィンドウ情報の送受信や記録等によってリソースが大量に消費されることが無い。従って、各通信装置のリソースを大量に消費せずにパケットロスを防ぐことができる。
【０１２６】
なお、本発明は上記の実施形態に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
図１８は、無線ネットワークシステムにおける実施形態を説明する図である。図１８は、Long Term Evolution（ＬＴＥ）を適用したネットワークでの実施形態の例である。ネットワークは、基地局７２、７３（evolved Node B、ｅＮｏｄｅＢ）、レイヤ２スイッチ（Layer 2 switch、Ｌ２ＳＷ）７４、セキュリティゲートウェイ７５、７６、Mobile Management Entity（ＭＭＥ）７７、および、サービングゲートウェイ７８を備える。基地局７２、７３は、収容している端末７１との間でデータを送受信することにより、端末７１を宛先とするパケットを中継する。サービングゲートウェイ７８は、基地局などを介して端末７１へデータを送信する。このネットワークでは、基地局７２もしくは基地局７３とサービングゲートウェイ７８の間や、基地局７２と７３の間でＩＰｓｅｃのトンネルモードを用いた通信が可能であるものとする。また、基地局７２もしくは基地局７３とＭＭＥ７７の間でも、ＩＰｓｅｃによる通信が可能であるものとする。図１８の実線は、ＡとＢのいずれも、ユーザプレーン（U-Plane）のデータが送受信される経路を示している。また、図１８の点線は、例えば、切り替え要求メッセージなどのコントロールプレーン（C-Plane）のデータが送受信される経路を示している。以下の例では、基地局７２を旧アクティブ系通信装置、基地局７３を新アクティブ系通信装置、サービングゲートウェイ７８を送信装置とし、第３の実施形態を用いた場合を例として述べる。
【０１２７】
基地局７２に故障が発生するまで、端末７１は、基地局７２を介してサービングゲートウェイ７８からデータを受信する。このときは、Ａの経路によってユーザプレーンのデータが基地局７２に送信される。基地局７３は、基地局７２から定期的に生存通知メッセージを受信している。
【０１２８】
基地局７２が故障すると、基地局７２は生存通知メッセージを送信しない。一定時間、生存通知メッセージを受信しなかった基地局７３は、基地局７２が故障したとみなして、切り替え要求メッセージをセキュリティゲートウェイ７５に送信する。また、基地局７３は、端末７１の収容先を基地局７２から基地局７３に変更する。
【０１２９】
セキュリティゲートウェイ７５は、切り替え要求メッセージに基づいて、基地局７２に向けて送信されたが基地局７２によって受信されていないパケットを特定し、特定したパケットを基地局７３に向けて送信する。Ｌ２スイッチ７４は、Ｂの経路によってユーザプレーンのデータが基地局７３に送信する。基地局７３は、受信したパケットを端末７１に送信する。
【０１３０】
従って、端末７１は、基地局７２に故障が発生した場合には、基地局７３からパケットを受信することができる。さらに、基地局７３が保持している基地局７２の受信履歴に記録されていないパケットが、基地局７３を介して端末７１に送信されるため、パケットロスを防止することができる。なお、図１８を参照しながら第３の実施形態の例について述べたが、第１〜第３の実施形態を含む任意の実施形態を、無線ネットワークシステムに用いることができる。また、ＬＴＥは無線ネットワークシステムの一例であり、任意の他の無線ネットワークシステムに、これまでに説明した任意の実施形態を適用することができる。
【０１３１】
図７（ｂ）に記載したメッセージの例は、第３の実施形態において用いられる切り替え要求メッセージの一例である。例えば、旧アクティブ系通信装置が受信できなかったパケットのシーケンス番号のうち最も小さい値を切り替え要求メッセージに記録して、送信装置に送信することもできる。この場合には、送信装置は通知されたシーケンス番号以上の番号が付されたパケットを再送信するので、新アクティブ系通信装置は、旧アクティブ系通信装置が受信できなかったパケットを受信できる。ここで、旧アクティブ系通信装置は、受信したパケットを新アクティブ系通信装置に転送しているものとする。従って、旧アクティブ系通信装置がｍ番目のパケットを受信できなかったが、（ｍ＋１）番目のパケットを受信して新アクティブ系通信装置に転送している可能性もある。かかる場合、新アクティブ系通信装置は、旧アクティブ系通信装置のリプレイウィンドウ情報を用いて、既に旧アクティブ系通信装置が受信しているパケットを廃棄する。
【０１３２】
このような変形は、再送信するパケットを特定するための情報量をリプレイウィンドウ情報よりも小さくすることができるため、例えば、切り替え要求メッセージに埋め込む情報量を小さくすることが求められる場合に用いることができる。
【０１３３】
第１〜第３の実施形態のいずれにおいても、冗長化されている通信装置が２台の場合について述べたが、これは理解を助けるために過ぎず、冗長化に用いる通信装置の数は任意に変更できる。３台以上の通信装置を用いて冗長化されている場合、予め冗長化された通信装置間で優先順位をつけておき、優先度が最も高い２台の通信装置間で、第１〜第３の実施形態の通信を行うことができる。なお、ハートビートを用いた第２および第３の実施形態で生存通知メッセージを受信する通信装置は優先度の高い通信装置から順に選択されるように設定できる。例えば、３台の通信装置で冗長化されている系では、優先度が「１」の通信装置が旧アクティブ系通信装置となり、優先度が「２」の装置が新アクティブ系通信装置となる。旧アクティブ系通信装置が正常に動作している間は、優先度が「３」の通信装置には生存通知メッセージが送信されない。次に、旧アクティブ系通信装置に障害が発生して新アクティブ系通信装置が送信装置の通信先に設定された後、新アクティブ系通信装置は、生存通知メッセージを優先度が「３」の装置に送信できる。
【０１３４】
さらに、第１〜第３の実施形態のいずれも、冗長化されている装置が送信装置からパケットを受信し、さらに他の冗長化された装置にパケットを送信する場合にも用いることができる。すなわち、ノードＡから冗長化されているノードＢ、ノードＣのうちの運用中のノードにパケットを送信したあと、ノードＢかノードＣの運用中のノードから、冗長化されているノードにパケットを送信する場合にも、第１〜第３の実施形態を用いることができる。この場合には、ノードＢやノードＣに備えられている制御部１０は、状態管理部１１、切り替え要求制御部１２、セキュリティ情報管理部１３、受信履歴通知部１４、ＭＡＣアドレス制御部４１、再送信制御部４２、障害管理部４３を備える。また、記憶部２０はセキュリティポリシーデータベース２１、セキュリティアソシエーションデータベース２２、ＡＲＰテーブル２３を備える。
【０１３５】
上述の第１〜第３の実施形態を含む実施形態に対し、さらに以下の付記を開示する。
（付記１）
通信先を第１の通信装置から前記第１の通信装置の代替とされる第２の通信装置に切り替えることを要求する切り替え要求メッセージを受信すると、前記通信先を前記第１の通信装置から前記第２の通信装置に変更する通信対象変更手段と、
前記第１の通信装置が受信したパケットを示す受信履歴を受信する受信手段と、
前記受信履歴と、前記第１の通信装置へ送信されたパケットを示す送信履歴を比較した結果に基づいて、前記第１の通信装置が受信していないパケットを再送信の対象とする再送信制御手段と、
前記再送信の対象とされたパケットを前記第２の通信装置に送信する送信手段
を備えることを特徴とする通信装置。
（付記２）
前記受信手段が前記受信履歴を受信してから所定時間内に次の受信履歴を受信しなかったときに、前記第１の通信装置に障害が発生したことを検出する障害検出手段
をさらに備え、
前記障害検出手段は、前記第１の通信装置に障害が発生したことを検出すると、前記第２の通信装置に、運用の開始を要求する運用要求メッセージを送信し、
前記運用要求メッセージへの応答として、前記切り替え要求メッセージを前記第２の通信装置から受信する
ことを特徴とする付記１に記載の通信装置。
（付記３）
送信装置と通信する運用系通信装置に障害が発生すると、前記運用系通信装置の代替として前記送信装置と通信する代替通信装置であって、
前記運用系通信装置が前記送信装置から受信したパケットの履歴を表す受信履歴を受信する受信手段と、
前記運用系通信装置に障害が発生すると、前記代替通信装置を、待機状態から前記送信装置との通信を行う運用状態に変更する状態変更手段と、
前記送信装置の通信先を前記運用系通信装置から前記代替通信装置に切り替えることを要求する切り替え要求メッセージと前記受信履歴を、前記送信装置に送信する切り替え要求手段
を備え、
前記受信手段は、前記運用系通信装置へ送信されたパケットのうち前記受信履歴に含まれていない未受信パケットを、前記運用状態のときに前記送信装置から受信することを特徴とする代替通信装置。
（付記４）
前記運用系通信装置に障害が発生したことを検出する障害検出手段をさらに備え、
前記障害検出手段は、前記受信手段が前記運用系通信装置から前記受信履歴を受信してから所定時間内に次の受信履歴を受信しないときに、前記運用系通信装置で障害が発生したことを検出し、
前記切り替え要求手段は、前記障害検出手段が前記障害を検出すると、前記切り替え要求メッセージと前記受信履歴を前記送信装置に送信する
ことを特徴とする付記３に記載の代替通信装置。
（付記５）
前記切り替え要求手段は、前記運用系通信装置に前記障害が発生すると、前記未受信パケットの識別子を求め、前記切り替え要求メッセージに前記未受信パケットの識別子を含めて前記送信装置に送信する
ことを特徴とする付記３もしくは４に記載の代替通信装置。
（付記６）
送信装置の通信先の第１の通信装置と、前記第１の通信装置に障害が発生すると前記第１の通信装置の代替として前記送信装置と通信する第２の通信装置を備えるネットワークにおいて、
前記第１の通信装置は、前記送信装置から受信したパケットを示す受信履歴を、前記送信装置に送信し、
前記送信装置は、前記受信履歴を受信してから所定時間内に次の受信履歴を受信しないときに、前記第１の通信装置に障害が発生したことを前記第２の通信装置に通知し、
前記通知を受け取ると、前記第２の通信装置は、前記通信先を前記第１の通信装置から前記第２の通信装置に切り替えることを要求する切り替え要求メッセージを、前記送信装置に送信し、
前記送信装置は、前記切り替え要求メッセージに応答して、前記第１の通信装置へ送信されたパケットを示す送信履歴に含まれており、かつ、前記受信履歴に含まれていないパケットを前記第２の通信装置に送信する
ことを特徴とする通信方法。
（付記７）
送信装置の通信先の第１の通信装置と、前記第１の通信装置に障害が発生すると前記第１の通信装置の代替として前記送信装置と通信する第２の通信装置を備えるネットワークにおいて、
前記第１の通信装置は、前記送信装置から受信したパケットを示す受信履歴を、前記第２の通信装置に送信し、
前記第２の通信装置は、前記受信履歴を受信してから所定時間内に次の受信履歴を受信しないときに、前記第１の通信装置に障害が発生したと判断して、前記通信先を前記第１の通信装置から前記第２の通信装置に切り替えることを要求する切り替え要求メッセージと前記受信履歴を、前記送信装置に送信し、
前記送信装置は、前記切り替え要求メッセージに応答して、前記第１の通信装置へ送信されたパケットを示す送信履歴に含まれており、かつ、前記受信履歴に含まれていないパケットを前記第２の通信装置に送信する
ことを特徴とする通信方法。
【符号の説明】
【０１３６】
１０、４０  制御部
１１  状態管理部
１２  切り替え要求制御部
１３  セキュリティ情報管理部
１４  受信履歴通知部
１５  ハートビート制御部
１６  ＶＲＲＰ制御部
２０  記憶部
２１  セキュリティポリシーデータベース
２２  セキュリティアソシエーションデータベース
２３  ＡＲＰテーブル
３１  送信部
３２  受信部
３３  カウンタ
３４  タイマ
４１  ＭＡＣアドレス制御部
４２  再送信制御部
４３  障害管理部
５０  リプレイウィンドウ
６１  ハートビート送信部
６２  ハートビート受信部
６３  ＶＲＲＰ広告送信部
６４  ＶＲＲＰ広告受信部
７１  端末
７２、７３  基地局
７４  Ｌ２スイッチ
７５、７６  セキュリティゲートウェイ
７７  ＭＭＥ
７８  サービングゲートウェイ
【図２】
0005392034.tif 000002
【図３】
0005392034.tif 000003
【図４】
0005392034.tif 000004
【図５】
0005392034.tif 000005
【図６】
0005392034.tif 000006
【図７】
0005392034.tif 000007
【図８】
0005392034.tif 000008
【図９】
0005392034.tif 000009
【図１０】
0005392034.tif 000010
【図１１】
0005392034.tif 000011
【図１２】
0005392034.tif 000012
【図１３】
0005392034.tif 000013
【図１４】
0005392034.tif 000014
【図１５】
0005392034.tif 000015
【図１６】
0005392034.tif 000016
【図１７】
0005392034.tif 000017
【図１】
0005392034.tif 000018
【図１８】
0005392034.tif 000019