"第1の通信装置とステートフル通信を行う二重化された第2の通信装置のそれぞれに接続され、該ステートフル通信のパケットを中継する通信二重化装置であって、前記第1の通信装置から受信された第1のパケットを前記第2の通信装置へ送信すると共に、該第1のパケットを複製し、他方の通信二重化装置を介して他方の第2の通信装置へ転送する手段と、前記第2の通信装置から受信された第2のパケットを複製し、該第2のパケットを他方の通信二重化装置へ転送する手段と、前記第2の通信装置から受信された第2のパケットの第1の応答番号と、前記他方の通信二重化装置から転送された第2のパケットの第2の応答番号とを含むセッション情報を記憶する記憶部と、前記第2の通信装置から受信された第2のパケットに対して、前記記憶部に記憶されたセッション情報を参照し、セッション状態を同期させるよう、応答番号を更新して該第2のパケットを前記第1の通信装置へ送信する手段と、を備えたことを特徴とする通信二重化装置。前記第2の通信装置から受信された第2のパケットに対して、該第2のパケットの応答番号が、前記記憶部に記憶された前記第1の応答番号と前記第2の応答番号の何れか古い番号より新しい場合に、該第2のパケットの応答番号を、前記第1の応答番号と前記第2の応答番号の何れか古い番号に書き換えて該第2のパケットを更新することを特徴とする請求項1に記載の通信二重化装置。前記第2のパケットの応答番号が、前記記憶部に記憶された前記第1の応答番号と前記第2の応答番号の何れか古い番号より新しい場合、該第2のパケットが応答番号と共に通信データを含んでいるときに、該第2のパケットの応答番号を、前記第1の応答番号と前記第2の応答番号の何れか古い番号に書き換え、該第2のパケットが通信データを含んでいないとき、該第2のパケットを破棄することを特徴とする請求項2に記載の通信二重化装置。第1の通信装置とステートフル通信を行う第2の通信装置を二重化し、該第1の通信装置と該第2の通信装置のそれぞれの間に接続された通信二重化装置を用いる通信二重化方法であって、前記通信二重化装置で前記第1の通信装置から受信された第1のパケットを前記第2の通信装置へ送信すると共に、該第1のパケットを複製し、他方の通信二重化装置を介して他方の第2の通信装置へ転送するステップと、前記第2の通信装置から受信された第2のパケットを複製し、該第2のパケットを他方の通信二重化装置へ転送するステップと、前記第2の通信装置から受信された第2のパケットの第1の応答番号と、前記他方の通信二重化装置から転送された第2のパケットの第2の応答番号とを含むセッション情報を記憶部に記憶するステップと、前記第2の通信装置から受信された第2のパケットに対して、前記記憶部に記憶されたセッション情報を参照し、セッション状態を同期させるよう、応答番号を更新して該第2のパケットを前記第1の通信装置へ送信するステップと、を含むことを特徴とする通信二重化方法。前記第2の通信装置から受信された第2のパケットに対して、該第2のパケットの応答番号が、前記記憶部に記憶された前記第1の応答番号と前記第2の応答番号の何れか古い番号より新しい場合に、該第2のパケットの応答番号を、前記第1の応答番号と前記第2の応答番号の何れか古い番号に書き換えて該第2のパケットを更新するステップを含むことを特徴とする請求項4に記載の通信二重化方法。上述した通信セッションの状態やパケットの内容など、レイヤ4以上の情報を参照して高度な中継処理を行う通信装置に対しては、通信セッションの状態を維持したまま、通信システムの動作を継続することができる二重化構成が要望されている。二重化した該通信装置で、同一の通信セッション状態を維持するためには、該通信装置の内部状態を他方の通信装置に実時間で転送する手法が使用される。通信装置の内部状態は、通信装置の構造に依存するため、通信装置毎に個別の方式で内部状態が定義され、それに伴って通信装置毎の構造が複雑化する。そのため、冗長化非対応の通信装置に対して、通信セッションの状態を維持させようとすると、通信装置の実装コストが増大するとともに、機能の追加が困難になるという課題があった。本発明は、冗長化非対応の通信装置に対し、二重化のためにそれらの通信装置の構造を変更することなく、ステートフルのプロトコルによる通信のセッション状態を、二重化された通信装置で同一状態に維持したまま、通信動作を継続させることができる通信二重化装置及び通信二重化方法を提供する。上記課題を解決する通信二重化装置は、第1の通信装置とステートフル通信を行う二重化された第2の通信装置のそれぞれに接続され、該ステートフル通信のパケットを中継する通信二重化装置であって、前記第1の通信装置から受信された第1のパケットを前記第2の通信装置へ送信すると共に、該第1のパケットを複製し、他方の通信二重化装置を介して他方の第2の通信装置へ転送する手段と、前記第2の通信装置から受信された第2のパケットを複製し、該第2のパケットを他方の通信二重化装置へ転送する手段と、前記第2の通信装置から受信された第2のパケットの第1の応答番号と、前記他方の通信二重化装置から転送された第2のパケットの第2の応答番号とを含むセッション情報を記憶する記憶部と、前記第2の通信装置から受信された第2のパケットに対して、前記記憶部に記憶されたセッション情報を参照し、セッション状態を同期させるよう、応答番号を更新して該第2のパケットを前記第1の通信装置へ送信する手段と、を備えたものである。また、通信二重化方法は、第1の通信装置とステートフル通信を行う第2の通信装置を二重化し、該第1の通信装置と該第2の通信装置のそれぞれの間に接続された通信二重化装置を用いる通信二重化方法であって、前記通信二重化装置で前記第1の通信装置から受信された第1のパケットを前記第2の通信装置へ送信すると共に、該第1のパケットを複製し、他方の通信二重化装置を介して他方の第2の通信装置へ転送するステップと、前記第2の通信装置から受信された第2のパケットを複製し、該第2のパケットを他方の通信二重化装置へ転送するステップと、前記第2の通信装置から受信された第2のパケットの第1の応答番号と、前記他方の通信二重化装置から転送された第2のパケットの第2の応答番号とを含むセッション情報を記憶部に記憶するステップと、前記第2の通信装置から受信された第2のパケットに対して、前記記憶部に記憶されたセッション情報を参照し、セッション状態を同期させるよう、応答番号を更新して該第2のパケットを前記第1の通信装置へ送信するステップと、を含むものである。冗長化非対応の通信装置を二重化し、ステートフルのプロトコルによる通信のセッション状態を、マスター系とバックアップ系とで維持したまま、通信システムの動作を継続させることが可能となる。冗長化非対応の通信装置の二重化は、それらの通信装置のネットワークポートに開示の通信二重化装置を接続するだけでよく、二重化のためにそれらの通信装置の構造を変更することなく、二重化することができる。また、異なる構造の通信装置に対して、同一の通信二重化装置を用いて二重化することができ、低コストで通信装置の二重化を実現することができる。図1に開示の通信二重化装置を含む通信システムの構成例を示す。図1において、通信装置10は、レイヤ2中継装置20を介して二重化された通信二重化装置30,30’と接続され、該通信二重化装置30,30’は、それぞれ二重化化された通信装置40,40’と接続される。各装置間は、Ethernet登録商標等のレイヤ2ネットワークプロトコルの通信回線により接続される。図2のaにレイヤ2中継装置20の構成例を示す。レイヤ2中継装置20は、MACアドレス表21とパケット転送処理部22とを備える。MACアドレス表21は、図2のbに例示するように、各ネットワークポートに接続された通信装置のMACMediaAccessControlアドレスとネットワークポートの番号とを対応付けて記憶する。パケット転送処理部22は、各ネットワークポートから入力されるパケットを、該パケットの宛先MACアドレスを基に、MACアドレス表21により対応付けられたネットワークポートへ転送し、各ネットワークポート間でのパケットの転送処理を行う。図3に通信二重化装置30,30’の構成例を示す。二重化された通信二重化装置30,30’は、それぞれ同一の構成を有し、ネットワークポートAを介してレイヤ2中継装置20に接続される。第1の通信二重化装置30は、ネットワークポートBを介して第1の通信装置40と接続され、第2の通信二重化装置30’は、ネットワークポートBを介して第2の通信装置40’に接続される。第1及び第2の通信二重化装置30,30’は、それぞれネットワークポートA’及びネットワークポートB’を介して相互に接続される。また、第1及び第2の通信装置40,40’は、二重化の対象となる通信装置であり、それぞれ個別のMACアドレスとそれぞれ同一のIPアドレスが設定される。通信二重化装置30,30’は、それぞれ、パケット転送処理部31A,31B、パケット複製処理部32A,32B、パケット解析処理部33A,33B、パケット中継判定部34、パケット更新処理部35、レイヤ3経路表36、セッション状態表37、セッション状態監視部38、及びレイヤ3冗長化機能部39を備える。パケット転送処理部31Aは、ネットワークポートAから受信されたパケットを、レイヤ3経路表36に基づいて、IPルーティング処理を行う。パケット転送処理部31Bは、ネットワークポートBから受信されたパケットを、レイヤ3経路表36に基づいて、IPルーティング処理を行う。パケット複製処理部32Aは、パケット転送処理部31Aから入力されたパケットを複製し、ネットワークポートA’から該パケットを他方の通信二重化装置に送出し、また、該パケットをネットワークポートBから送信する。パケット複製処理部32Bは、パケット転送処理部31Bから入力されたパケットを複製し、ネットワークポートB’から該パケットを他方の通信二重化装置に送出し、また、該パケットをパケット中継判定部34へ転送する。パケット解析処理部33Aは、ネットワークポートA’から受信されたパケットを解析し、該パケットをネットワークポートBへ送出する。パケット解析処理部33Bは、ネットワークポートB’から受信されたパケットを解析し、該パケットをパケット中継判定部34へ送出する。パケット中継判定部34は、パケット複製処理部32Bから入力されるパケット及びパケット解析処理部33Bから入力されるパケットに対して、中継するか否かの判定を行い、中継するパケットをパケット更新処理部35へ転送する。パケット更新処理部35は、パケット中継判定部34から入力されるパケットに対してパケットの内容の更新処理を行い、該パケットをネットワークポートAから送出する。レイヤ3経路表36は、ネットワークポートA,Bから受信されたパケットに対して、パケット転送処理部31A,31BがIPルーティング処理を行う際に使用される。レイヤ3経路表36の一例を図4のaに示す。レイヤ3経路表36は、受信したパケットの宛先IPアドレスと、該パケットの転送先のネットワークポートの番号とを対応付けて記憶している。図4のaの例では、宛先IPアドレス192.0.1.0のパケットをネットワークポートAへ転送し、宛先IPアドレス192.0.2.0のパケットをネットワークポートBへ転送するIPルーティング処理が行われる。セッション状態表37の一例を図4のbに示す。セッション状態表37は、各通信セッション対応に、セッション状態、ネットワークポートAで受信されたパケット通信装置10が送信したパケットに含まれる送信元IPアドレス、送信元ポート番号、シーケンスSEQ番号、応答ACK番号、及びネットワークポートB,B’で受信されたパケット通信装置40,40’が送信したパケットに含まれる送信元IPアドレス、送信元ポート番号、シーケンスSEQ番号、第1の応答ACK番号、第2応答のACK番号を対応付けて記憶部に記憶する。上述の第1応答ACK番号は、自装置に接続された通信装置が送信し、自装置のネットワークポートBで受信されたパケットに含まれる最新の応答番号である。第2応答ACK番号は、他方の通信二重化装置に接続された通信装置が送信し、該他方の通信二重化装置からネットワークポートB’で受信したパケットに含まれる応答ACK番号である。以下、第1の応答ACK番号をACK番号1と記し、第2の応答ACK番号をACK番号2と記す。セッション状態監視部38は、セッション状態表37を監視し、TCP通信のセッション状態がクローズ終了となったとき、セッション状態表37からそのTCP通信のセッション情報を削除する。レイヤ3冗長化機能部39は、VRRP等のプロトコルによる冗長構成処理を行う。通信二重化装置30,30’は、レイヤ3冗長化機能部39の系切り替え機能により、例えば、通信二重化装置30の通信系をマスター系とし、通信二重化装置30’の通信系をバックアップ系とするよう動作状態が設定される。マスター系及びバックアップ系の何れの通信系も正常の場合、通信二重化装置30,30’は、冗長モードで動作する。何れかの通信系が障害状態になると、一方の正常な通信系の通信二重化装置のみで動作する縮退モードに移行する。ここで、通信二重化装置30がマスター系として動作するものとすると、通信二重化装置30は、VRRP等の冗長構成処理機能により、生存通知の広告パケットをレイヤ2中継装置20に対してマルチキャストにより送信する。また、通信二重化装置30は、通信装置10に対して仮想的なMACアドレスを自装置のMACアドレスとして使用する。レイヤ2中継装置20は、該MACアドレスを学習し、通信装置10から該MACアドレス宛に送信されたパケットをマスター系の通信二重化装置30に転送する。バックアップ系の通信二重化装置30’は、マスター系の通信二重化装置30から広告パケットが到来しなくなると、マスター系の通信二重化装置30に障害が発生したと認識し、縮退モードに移行する。通信二重化装置30’は、縮退モードに移行すると、自装置のMACアドレスを送信元MACアドレスとするARPAddressResolutionProtocolパケットを、レイヤ2中継装置20に対してブロードキャストにより送信する。該ARPパケットのブロードキャストにより、レイヤ2中継装置20は、該MACアドレスと、通信二重化装置30’が接続されたネットワークポートとの対応を再学習し、その結果、該MACアドレス宛のパケットを通信二重化装置30’へ転送する。冗長モードにおける通信二重化装置30,30’の処理フロー例を図5~図8に示す。以降の説明では、通信二重化装置30がマスター系、通信二重化装置30’がバックアップ系として動作するものとする。図5は、マスター系におけるネットワークポートAの受信パケットの処理フロー例を示し、図6は、マスター系におけるネットワークポートBの受信パケットの処理フロー例を示し、図7は、バックアップ系におけるネットワークポートAの受信パケットの処理フロー例を示し、図8は、バックアップ系におけるネットワークポートBの受信パケットの処理フロー例を示している。まず、図5を参照してマスター系におけるネットワークポートAの受信パケットの処理フロー例について説明する。通信装置10が通信装置40との通信を開始すると、通信装置10が送信したパケットは、レイヤ2中継装置20を経由して通信二重化装置30のネットワークポートAに到達する。通信二重化装置30は、該パケットを受信すると5-1、パケット転送処理部31Aで宛先IPアドレスの確認を行い5-2、IPルーティング処理を開始する。パケット転送処理部31Aは、まず、該パケットが自装置宛のパケットか否かを判定し5-3、自装置宛のパケットの場合、該パケットをレイヤ3冗長化機能部39に転送する5-4。次にパケット転送処理部31Aは、レイヤ3経路表36を基に、該パケットがネットワークポートBへ転送するパケットか否かを判定し5-5、ネットワークポートBへ転送するパケットでない場合、該パケットを破棄する5-6。該パケットがネットワークポートBへ、即ち通信装置40へ転送するパケットである場合、パケット転送処理部31Aは、該パケットのプロトコル番号を確認し5-7、該パケットがTCPパケットかどうかを判定する5-8。該パケットがTCPパケットでない場合、パケット転送処理部31Aは、該パケットをネットワークポートBから送信する5-15。該パケットがTCPパケットである場合、パケット転送処理部31Aは、図4のbに例示するセッション状態表37を参照する5-9。パケット転送処理部31Aは、セッション状態表37を探索し、該パケットの送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号と一致するTCP通信のセッション情報が存在しない新規なセッションであるか否かを判定する5-10。セッション状態表37に、当該パケットのセッションと一致するTCP通信のセッション情報が存在する場合、パケット転送処理部31Aは、該セッション情報を更新する5-11。ここで更新するセッション情報は、最新のシーケンスSEQ番号、最新の応答ACK番号を含む情報である。セッション状態表37に、当該パケットのセッションと一致するTCP通信のセッション情報が存在せず、新規の通信セッションである場合、パケット転送処理部31Aは、当該パケットのTCP通信のセッション情報を新規に登録する5-12。次にパケット転送処理部31Aは、該パケットをパケット複製処理部32Aへ転送する。パケット複製処理部32Aは、該パケットを複製し5-13、ネットワークポートA’及びネットワークポートBの両方から、該パケットを送信する5-14,5-15。マスター系の通信二重化装置30において、ネットワークポートA’でパケットが受信されると5-16、該パケットはパケット解析処理部33Aで解析され、破棄される5-17。次に図6を参照してマスター系におけるネットワークポートBの受信パケットの処理フロー例について説明する。通信装置40は、通信二重化装置30からTCPパケットを受信すると、そのTCPパケットに対する応答パケットACKパケットを送信する。通信装置40が送信したパケットは、通信二重化装置30のネットワークポートBに到達する。通信二重化装置30は、該パケットを受信すると6-1、パケット転送処理部31Bで宛先IPアドレスの確認を行い6-2、IPルーティング処理を開始する。パケット転送処理部31Bは、該パケットがネットワークポートAへ転送するパケットか否かを判定し6-3、ネットワークポートAへ転送するパケットでない場合、該パケットを破棄する6-4。該パケットがネットワークポートAへ、即ち通信装置10へ転送するパケットである場合、パケット転送処理部31Bは、該パケットのプロトコル番号を確認し6-5、該パケットがTCPパケットかどうかを判定する6-6。該パケットがTCPパケットでない場合、パケット転送処理部31Bは、該パケットをネットワークポートAから送信する6-22。該パケットがTCPパケットである場合、パケット転送処理部31Bは、図4のbに例示するセッション状態表37を参照する6-7。パケット転送処理部31Bは、セッション状態表37を探索し、該パケットの送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号と一致するTCP通信のセッション情報が存在しない新規なセッションであるか否かを判定する6-8。セッション状態表37に、当該パケットのセッションと一致するTCP通信のセッション情報が存在しない新規通信セッションである場合、パケット転送処理部31Bは、該パケットをネットワークポートAから送信する6-22。セッション状態表37に、当該パケットのセッションと一致するTCP通信のセッション情報が存在する新規なセッションではない場合、パケット転送処理部31Bは、該セッション情報を更新する6-9。ここで更新するセッション情報は、最新のシーケンスSEQ番号、最新の応答ACK番号を含む情報である。次にパケット転送処理部31Bは、該パケットをパケット中継判定部34に転送する。一方、マスター系の通信二重化装置30には、バックアップ系の通信二重化装置30’からネットワークポートB’を介して、バックアップ系の通信装置40’が送信した応答パケットが受信される6-10。マスター系の通信二重化装置30は、該バックアップ系からの応答パケットをパケット解析処理部33Bで解析し、該パケットのプロトコル番号を確認する6-11。パケット解析処理部33Bは、該パケットのプロトコル番号を基に該パケットがTCPパケットであるか否かを判定する6-12。該パケットがTCPパケットでない場合、パケット解析処理部33Bは、該パケットを破棄する6-13。該パケットがTCPパケットである場合、パケット解析処理部33Bは、セッション状態表37を参照する6-14。パケット解析処理部33Bは、セッション状態表37を探索し、該パケットの送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号と一致するTCP通信のセッション情報が存在しない新規なセッションであるか否かを判定する6-15。セッション状態表37に、当該パケットのセッションと一致するTCP通信のセッション情報が存在しない新規セッションである場合、パケット解析処理部33Bは、該パケットを破棄する6-16。セッション状態表37に、当該パケットのセッションと一致するTCP通信のセッション情報が存在する新規セッションでない場合、パケット解析処理部33Bは、該セッション情報を更新する6-17。ここで更新するセッション情報は、最新のシーケンスSEQ番号、最新の応答ACK番号を含む情報である。パケット中継判定部34は、パケット複製処理部32Bからパケットが入力されると、セッション状態表37を参照し6-18、該パケットの送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号と一致するTCP通信のセッション情報を探索する。ここで、参照するセッション情報は、ネットワークポートB側のACK番号1及びACK番号2である。ACK番号1は、ネットワークポートBから受信したTCPパケットに含まれる最新の応答ACK番号を示し、ACK番号2は、ネットワークポートB’から受信したTCPパケットに含まれる最新の応答ACK番号を示す。パケット中継判定部34は、該パケットの応答ACK番号の比較結果、及び該パケットがデータを含んでいるか否かを基に、該パケットが転送対象のパケットか否かを判定する6-19。この判定において、1該パケットの応答ACK番号が、ACK番号1とACK番号2とに一致する、又は2ACK番号1とACK番号2の何れか古い番号よりもさらに古い応答ACK番号である、又は3該パケットがデータを含んでいる、これらの何れかの条件に該当するとき、該パケットは転送対象のパケットであると判定し、該パケットをパケット更新処理部35に転送する。該パケットが上述の何れの条件を満たしていない場合、即ち、該パケットの応答ACK番号が、ACK番号1又はACK番号2の何れか古い番号よりも新しく、かつ、該パケットがデータを含んでいない場合、該パケットを破棄する6-20。パケット更新処理部35は、入力されたパケットに対して、セッション状態表37を参照し、該パケットの送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号と一致するセッション情報を探索する。ここで参照するセッション情報は、ネットワークポートA側の応答ACK番号、ネットワークポートB側のACK番号1及びACK番号2である。該パケットに含まれるシーケンスSEQ番号と該パケットのデータ長とから求められる最新のシーケンスSEQ番号が、ネットワークポートA側の応答ACK番号よりも古い場合、該パケットのデータ部分は、既に通信装置10で受信されていることになるので、パケット更新処理部35は、該パケットのデータ部分を削除し、パケットの内容を更新する6-21。また、該パケットがデータを含み、該パケットの応答ACK番号が、ネットワークポートB側のACK番号1とACK番号2の何れか古い番号よりも新しい応答ACK番号である場合、該パケットの応答ACK番号を、ACK番号1とACK番号2の何れか古い番号に書き換え、パケットの内容を更新する6-21。パケット更新処理部35は、パケット中継判定部34から入力されたパケットに対して、上述のパケットの内容の更新を行った後、それらのパケットをネットワークポートAから送信する6-22。上述の条件1が満たされる場合、即ち、応答パケットの応答ACK番号が、ACK番号1とACK番号2とに一致する場合は、通信装置40と通信装置40’とでセッション状態が同期している状態であるので、該応答パケットを送信装置10へ送信する。また、上述の条件2が満たされる場合、即ち、応答パケットの応答ACK番号が、ACK番号1とACK番号2の何れか古い番号よりもさらに古い応答ACK番号である場合は、通信装置40でパケットの再送要求が発せられたことになるので、該応答パケットを送信装置10へ送信する。また、上述の条件3が満たされる場合、即ち応答パケットが通信データを含んでいる場合は、該通信データを無条件で送信装置10に通知するため、該応答パケットを送信装置10へ送信する。一方、応答パケットが上述の1~3何れの条件を満たしていない場合、即ち、該パケットの応答ACK番号が、ACK番号1又はACK番号2の何れか古い番号よりも新しく、かつ、該パケットがデータを含んでいない場合は、以下のようにすることができる。ネットワークポートBから受信される通信装置40からの応答パケットと、ネットワークポートB’を介して受信される通信装置40’からの応答パケットとは、必ずしも受信のタイミングが一致せず、受信タイミングのズレによりACK番号1とACK番号2とが一致しない場合がある。その場合は、該応答パケットを破棄することとする。応答パケットを破棄しても、同一の応答番号の応答パケットが通信装置40から繰り返し送信されるので、同一の応答番号の応答パケットが揃うのを待つことにより、受信タイミングのズレが吸収され、上述の条件1が満たされることとなる。なお、受信タイミングのズレが原因ではなく、伝送エラー等によってACK番号1とACK番号2とにズレが生じた場合は、応答パケットに通信データを含んでいるときに、該応答パケットを通信装置10に送信する際に、ACK番号1とACK番号2の古い番号に応答ACK番号を書き換えることにより、通信装置40と通信装置40’のセッション状態を同期化することができる。なお、この応答ACK番号の書き換えの更新処理は、通信データを含んでいないときにも行う構成することもできる。次に、図7を参照してバックアップ系におけるネットワークポートAの受信パケットの処理フロー例について説明する。バックアップ系の通信二重化装置30’は、ネットワークポートAでパケットを受信すると7-1、パケット転送処理部31Aで宛先IPアドレスの確認を行い7-2、IPルーティング処理を開始する。パケット転送処理部31Aは、該パケットが自装置宛のパケットか否かを判定し7-3、自装置宛のパケットである場合、該パケットをレイヤ3冗長化機能部39に転送する7-4。該パケットが自装置宛のパケットでない場合、該パケットを破棄する7-5。通信二重化装置30’は、ネットワークポートA’でパケットを受信すると7-6、パケット解析処理部33Aでプロトコル番号の確認を行い7-7、該パケットがTCPパケットかどうかを判定する7-8。該パケットがTCPパケットでない場合、パケット解析処理部31Aは、該パケットをネットワークポートBから送信する7-13。該パケットがTCPパケットである場合、パケット解析処理部31Bは、セッション状態表37を参照し7-9、該パケットが新規なセッションである該パケットのセッション情報と一致するTCP通信のセッション情報が存在しないか否かを判定する7-10。新規なセッションでない該パケットのセッション情報と一致するTCP通信のセッション情報が存在する場合、該パケットのセッション情報を更新する7-11。該パケットが新規なセッションである場合、該パケットのセッション情報をセッション状態表37に登録する7-12。その後、パケット解析処理部31Aは、該パケットをネットワークポートBから送信する7-13。次に、図8を参照してバックアップ系におけるネットワークポートBの受信パケットの処理フロー例について説明する。通信装置40’は、通信二重化装置30’からTCPパケットを受信すると、通信装置40と並行して該TCPパケットに対する応答パケットACKを送信する。通信装置40’が送信したパケットは、通信二重化装置30’のネットワークポートBに到達する。通信二重化装置30’は、該パケットを受信すると8-1、パケット転送処理部31Bで宛先IPアドレスの確認を行い8-2、IPルーティング処理を開始する。パケット転送処理部31Bは、該パケットがネットワークポートAへ転送するパケットか否かを判定し8-3、ネットワークポートAへ転送するパケットでない場合、該パケットを破棄する8-4。該パケットがネットワークポートAへ転送するパケットである場合、パケット転送処理部31Bは、該パケットのプロトコル番号を確認し8-5、該パケットがTCPパケットかどうかを判定する8-6。該パケットがTCPパケットでない場合、パケット転送処理部31Bは、該パケットを破棄する8-7。該パケットがTCPパケットである場合、パケット転送処理部31Bは、セッション状態表37を参照する8-8。パケット転送処理部31Bは、セッション状態表37を探索し、該パケットの送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号と一致するTCP通信のセッション情報が存在しない新規なセッションであるか否かを判定する8-9。該パケットが新規なセッションである場合、該パケットを破棄する8-10。該パケットのセッション情報と一致するTCP通信のセッション情報が存在する場合、パケット転送処理部31Bは、該セッション情報を更新する8-11。ここで更新するセッション情報は、最新のシーケンスSEQ番号、最新の応答ACK番号を含む情報である。次にパケット転送処理部31Bは、該パケットをパケット複製処理部32Bに転送する。パケット複製処理部32Bは、該パケットを複製し8-12、ネットワークポートB’から送出すると共に8-13、該パケットをパケット中継判定部34に転送する。パケット中継判定部34は該パケットを破棄する8-14。また、通信二重化装置30’は、ネットワークポートB’でパケットを受信する8-15と、パケット解析処理部33Bは、該パケットをパケット中継判定部34に転送し、パケット中継判定部34は、該パケットを破棄する8-16。以上の動作により、通信二重化装置30と通信二重化装置30’は、通信装置10-通信装置30間のTCP通信と、通信装置10-通信装置30’間のTCP通信とで、TCP通信のセッション情報を同一状態に維持させたまま、即ちセッション情報を同期させながら、パケットを中継する。この冗長モードでは、マスター系の通信二重化装置30は、ネットワークポートA’から受信したパケットを破棄する。バックアップ系の通信二重化装置30’は、ネットワークポートAから受信したパケットをパケット転送処理部31Aで処理する。そのパケットが自装置宛のパケットの場合、レイヤ3冗長化機能部39に転送する。それ以外のパケットは破棄する。また、バックアップ系の通信二重化装置30’は、ネットワークポートB’で受信したパケットを破棄する。また、セッション状態監視部38は、ネットワークポートBから送信したTCPパケットに対する応答パケットACKを監視し、該応答パケットの再送時間を待機し、該再送時間内に応答パケットACKが受信されない場合は、その通信系に障害が発生したと判断する。通信二重化装置30に障害発生した場合、通信二重化装置30’は、レイヤ3冗長化機能部39により該障害発生を検出し、縮退モードに移行する。通信装置40に障害が発生した場合、通信二重化装置30は、ネットワークポートBからの応答パケットACKの監視により該障害を検出し、縮退モードに移行する。通信二重化装置30’又は通信装置40’に障害発生した場合、通信二重化装置30は、ネットワークポートB’からの応答パケットACKの監視により該障害を検出し、縮退モードに移行する。図9に縮退モードにおける通信二重化装置の処理フロー例を示す。縮退モードの通信二重化装置において、ネットワークポートAでパケットを受信すると9-1、パケット転送処理部31Aは、受信したにパケットの宛先IPアドレスを確認し9-2、IPルーティング処理を行う。パケット転送処理部31Aは、該パケットが自装置宛のパケットか否かを判定し、自装置宛のパケットである場合、該パケットをレイヤ3冗長化機能部39に転送する9-4。該パケットが自装置宛のパケットでない場合、該パケットは、ネットワークポートBに転送するパケットか否かを判定する9-5。ネットワークポートBに転送するパケットでない場合、該パケットを破棄する9-6。該パケットがネットワークポートBに転送するパケットの場合、該パケットをネットワークポートBから送信する9-7。縮退モードの通信二重化装置において、ネットワークポートBでパケットを受信すると9-8、パケット転送処理部31Bは、受信したにパケットの宛先IPアドレスを確認し9-9、IPルーティング処理を行う。パケット転送処理部31Bは、該パケットがネットワークポートAに転送するパケットであるか否かを判定し9-10、ネットワークポートAに転送するパケットでない場合、該パケットを破棄する9-11。該パケットがネットワークポートAに転送するパケットである場合、該パケットをネットワークポートAから送信する9-12。縮退モードの通信二重化装置において、ネットワークポートA’でパケットを受信すると9-13、パケット解析処理部33Aは、該パケットを破棄する9-14。また、ネットワークポートB’でパケットを受信すると9-15、パケット解析処理部33Bは、該パケットを破棄する9-16。なお、パケット解析処理部33Bで破棄せず、パケット中継判定部34で破棄する構成としてもよい。障害が発生した通信系が回復した場合、レイヤ3冗長化機能部39は、他方の通信二重化装置に対して回復したことを通知する。その後、通信二重化装置30,30’は、それぞれ冗長モードに移行し、新規のステートフル通信に対して二重化動作を開始する。このとき、通信二重化装置30,30’の何れがマスター系又はバックアップ系として動作するかは、レイヤ3冗長化機能部39の制御に従う。通信装置40,40’の構造によっては、TCPパケットに含まれるシーケンスSEQ番号と応答ACK番号が必ずしも一致しない場合がある。この場合は、TCPのセッション確立開始時に、シーケンスSEQ番号と応答ACK番号との差をセッション状態表37に別途記録し、参照時に補正することにより対応することができる。以上の実施例を含む実施形態に関し、更に以下の付記を開示する。付記1第1の通信装置とステートフル通信を行う二重化された第2の通信装置のそれぞれに接続され、該ステートフル通信のパケットを中継する通信二重化装置であって、前記第1の通信装置から受信された第1のパケットを前記第2の通信装置へ送信すると共に、該第1のパケットを複製し、他方の通信二重化装置を介して他方の第2の通信装置へ転送する手段と、前記第2の通信装置から受信された第2のパケットを複製し、該第2のパケットを他方の通信二重化装置へ転送する手段と、前記第2の通信装置から受信された第2のパケットの第1の応答番号と、前記他方の通信二重化装置から転送された第2のパケットの第2の応答番号とを含むセッション情報を記憶する記憶部と、前記第2の通信装置から受信された第2のパケットに対して、前記記憶部に記憶されたセッション情報を参照し、セッション状態を同期させるよう、応答番号を更新して該第2のパケットを前記第1の通信装置へ送信する手段と、を備えたことを特徴とする通信二重化装置。付記2前記第2の通信装置から受信された第2のパケットに対して、該第2のパケットの応答番号が、前記記憶部に記憶された前記第1の応答番号と前記第2の応答番号の何れか古い番号より新しい場合に、該第2のパケットの応答番号を、前記第1の応答番号と前記第2の応答番号の何れか古い番号に書き換えて該第2のパケットを更新することを特徴とする付記1に記載の通信二重化装置。付記3前記第2のパケットの応答番号が、前記記憶部に記憶された前記第1の応答番号と前記第2の応答番号の何れか古い番号より新しい場合、該第2のパケットが応答番号と共に通信データを含んでいるときに、該第2のパケットの応答番号を、前記第1の応答番号と前記第2の応答番号の何れか古い番号に書き換え、該第2のパケットが通信データを含んでいないとき、該第2のパケットを破棄することを特徴とする付記2に記載の通信二重化装置。付記4第1の通信装置とステートフル通信を行う第2の通信装置を二重化し、該第1の通信装置と該第2の通信装置のそれぞれの間に接続された通信二重化装置を用いる通信二重化方法であって、前記通信二重化装置で前記第1の通信装置から受信された第1のパケットを前記第2の通信装置へ送信すると共に、該第1のパケットを複製し、他方の通信二重化装置を介して他方の第2の通信装置へ転送するステップと、前記第2の通信装置から受信された第2のパケットを複製し、該第2のパケットを他方の通信二重化装置へ転送するステップと、前記第2の通信装置から受信された第2のパケットの第1の応答番号と、前記他方の通信二重化装置から転送された第2のパケットの第2の応答番号とを含むセッション情報を記憶部に記憶するステップと、前記第2の通信装置から受信された第2のパケットに対して、前記記憶部に記憶されたセッション情報を参照し、セッション状態を同期させるよう、応答番号を更新して該第2のパケットを前記第1の通信装置へ送信するステップと、を含むことを特徴とする通信二重化方法。付記5前記第2の通信装置から受信された第2のパケットに対して、該第2のパケットの応答番号が、前記記憶部に記憶された前記第1の応答番号と前記第2の応答番号の何れか古い番号より新しい場合に、該第2のパケットの応答番号を、前記第1の応答番号と前記第2の応答番号の何れか古い番号に書き換えて該第2のパケットを更新するステップを含むことを特徴とする付記4に記載の通信二重化方法。付記6前記第2のパケットの応答番号が、前記記憶部に記憶された前記第1の応答番号と前記第2の応答番号の何れか古い番号より新しい場合、該第2のパケットが応答番号と共に通信データを含んでいるときに、該第2のパケットの応答番号を、前記第1の応答番号と前記第2の応答番号の何れか古い番号に書き換え、該第2のパケットが通信データを含んでいないとき、該第2のパケットを破棄するステップを含むことを特徴とする付記5に記載の通信二重化方法。"