(57)【特許請求の範囲】
【請求項１】
アドレス変換機能を有するネットワーク装置に対して、通信に用いるデータのペイロード領域に送信元ポート番号を記録して通信を送出する通信手段と、
送出する通信に対する通信先装置からの応答の通信を検出する検出手段と、
前記通信のリトライを設定する所定のリトライ回数及び／または所定のリトライ時間を記憶する記憶手段と、
を備え、
前記送信元ポート番号を、所定のリトライ回数及び／または所定のリトライ時間毎に、変更して送信する
ことを特徴とする情報処理装置。
【請求項２】
各種演算処理を行う制御部と、
所定のリトライ回数及び／または所定のリトライ時間を記憶する記憶部と、
前記ネットワーク装置と送信元ポート番号を設定可能であるネットワークプロトコルを用いて、アドレス変換機能を有するネットワーク装置に対してパケット通信可能とする通信部と、
を備え、
前記制御部は、
前記通信部を用いて、送出するパケットのヘッダに送信元ＩＰアドレスと第１の送信元ポート番号を記述してパケットを送出し、
前記記憶部に記憶されている前記リトライ回数及び／またはリトライ時間に基づいて、前記送出したパケットに対する応答がない場合に、送出するパケットのヘッダに送信元アドレスと第２の送信元ポート番号を記述してパケットを送出する
ことを特徴とする情報処理装置。
【請求項３】
請求項１または請求項２に記載の情報処理装置であって、
前記記憶部は、
前記ネットワーク装置のアドレス変換機能で用いられる管理情報の自動消去時間に基づいて定められた時間情報を記憶し、
前記制御部は、
前記送信元ポート番号を前記時間情報に基づいて変更する
ことを特徴とする情報処理装置。
【請求項４】
請求項１ないし３の何れか一記載の情報処理装置であって、
前記ネットワーク装置は、ブロードバンドルータであり、
前記アドレス変換機能は、ＮＡＴ機能である
ことを特徴とする情報処理装置。
【請求項５】
保安装置であることを特徴とする請求項１ないし４の何れか一記載の情報処理装置。
【請求項６】
アドレス変換機能を有するネットワーク装置に対して、通信に用いるデータのペイロード領域に送信元ポート番号を記録して通信を送出する情報処理装置で行なわれる通信障害回避方法であって、
前記情報処理装置の制御部が、
送出した通信に対する通信先装置からの応答の検出を試み、
予め定められて記憶されているリトライ回数及び／またはリトライ時間毎に、前記送信元ポート番号を、変更して送信する
ことを特徴とする通信障害回避方法。
【請求項７】
アドレス変換機能を有するネットワーク装置に対して、送信元ポート番号を設定可能であるネットワークプロトコルを用いて、パケット通信可能とする情報処理装置で行なわれる通信障害回避方法であって、
前記情報処理装置の制御部が、
送出したパケットのヘッダに送信元ＩＰアドレスと第１の送信元ポート番号を記録してパケットを送出し、
前記送出したパケットに対する応答がない場合に、予め定められて記憶されているリトライ回数及び／またはリトライ時間に基づいて、送出するパケットのヘッダに送信元アドレスと第２の送信元ポート番号を記録してパケットを送出する
ことを特徴とする通信障害回避方法。
【請求項８】
請求項６または請求項７に記載の通信障害回避方法であって、
前記送信元ポート番号を前記ネットワーク装置のアドレス変換機能で用いられる管理情報の自動消去時間に基づいて定められた時間情報に基づいて変更することを特徴とする通信障害回避方法。
【請求項９】
請求項６ないし８の何れか一記載の通信障害回避方法であって、
前記ネットワーク装置がブロードバンドルータであり、前記アドレス変換機能がＮＡＴ機能であり、前記ＮＡＴ機能で用いられる管理情報の起因する障害時に用いられる
ことを特徴とする通信障害回避方法。
【請求項１０】
前記情報処理装置は、保安装置であることを特徴とする請求項６ないし９の何れか一記載の通信障害回避方法。
【請求項１１】
アドレス変換機能を有するネットワーク装置に対して、通信に用いるデータのペイロード領域に送信元ポート番号を記録して通信を送出する情報処理装置で使用されるプログラムであって、
情報処理装置の制御部を、
通信に用いるデータのペイロード領域に送信元ポート番号を記録して通信を送出する通信手段と、
送出する通信に対する通信先装置からの応答の通信を検出する検出手段として機能させ、
更に、記憶部に記憶されているリトライ回数及び／またはリトライ時間毎に、前記送信元ポート番号を変更する手段として
機能させることを特徴とするプログラム。
【請求項１２】
アドレス変換機能を有するネットワーク装置に対して、送信元ポート番号を設定可能であるネットワークプロトコルを用いて、パケット通信可能とする情報処理装置で使用されるプログラムであって、
情報処理装置の制御部を、
送出するパケットのヘッダに送信元ＩＰアドレスと第１の送信元ポート番号を記録してパケットを生成して通信を送出する通信手段と、
送出した通信に対する通信先装置からの応答の通信を検出する検出手段として機能させ、
更に、前記送出した通信に対する応答がない場合に、予め定められて記憶されているリトライ回数及び／またはリトライ時間に基づいて、送出するパケットのヘッダに送信元アドレスと第２の送信元ポート番号を記録してパケットを生成する手段として
機能させることを特徴とするプログラム。
【請求項１３】
請求項１１または請求項１２に記載のプログラムであって、
前記送信元ポート番号を前記ネットワーク装置のアドレス変換機能で用いられる管理情報の自動消去時間に基づいて定められた時間情報に基づいて変更することを特徴とするプログラム。
【請求項１４】
請求項１１ないし１３の何れか一記載のプログラムであって、
前記ネットワーク装置がブロードバンドルータであり、前記アドレス変換機能がＮＡＴ機能であり、前記ＮＡＴ機能で用いられる管理情報の起因する障害時に、通信障害の回避に用いられる
ことを特徴とするプログラム。
【請求項１５】
前記情報処理装置が保安装置であることを特徴とする請求項１１ないし１４の何れか一記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アドレス変換機能を有するネットワーク装置を利用して通信するシステムにおける、ネットワーク装置のアドレス変換機能の生成誤りに起因する通信障害を回避する方法、当該方法を利用する情報処理装置およびプログラムに関する。
【背景技術】
【０００２】
昨今、通信に用いるアドレスの枯渇の問題解決の為、様々な方法が検討され、多くの機能が標準化されている。
【０００３】
その一機能として、ＮＡＴ（Network Address Translation）やＮＡＰＴ（Network Address Port Translation）をはじめとするアドレス変換機能が多くのネットワーク装置に実装されている。
【０００４】
ＮＡＴ機能は、ＴＣＰ／ＩＰ、ＵＤＰ／ＩＰなどの主なプロトコルに対応して、ローカルＩＰアドレスとグローバルＩＰアドレスとの変換などに用いられている。ＮＡＴ機能は、例えば、ブロードバンドルータ、ＡＤＳＬモデム、ＤＳＵ、光回線終端装置などのネットワーク装置に実装されている。
【０００５】
上記例示したネットワーク装置には、アドレス変換機能を利用して、ローカルＩＰアドレスとグローバルＩＰアドレスとを変換すると共に、通信に用いるポート番号も同時的に変換する装置も実現され、市販されている。また、アドレス変換機能を有するネットワーク装置は、例えば、特許文献１ないし２に記載されている。尚、ＩＰアドレスとポート番号との組み合わせは、ソケットと呼ばれている。
【０００６】
特許文献１には、ＷＡＮ側からクライアント端末にアクセスできないＮＡＴ機能の課題を解決する通信方式が記載されている。特許文献２には、ポート番号を選択できないＩＰｓｅｃ特有の課題を解決しアドレス解決を行なうネットワーク装置が記載されている。
【０００７】
尚、本明細書でのアドレス変換機能は、ＩＰアドレスの変換と共に、ポート番号の変換を実現する機能、または、ソケットを変換する機能を指す。
【０００８】
上記した特許文献１ないし２に記載されている技術や、提案されているアドレス変換機能は、アドレスを変換するルールをテーブルとして記録し、当該テーブルに基づいてアドレスを変換処理する。アドレスを変換するルールは、初めての通信若しくは、一定時間経過後の通信時に作成されテーブルに記録される。また、一定時間通信が行なわれない場合に削除される。
【０００９】
このようなアドレス変換機能を有するネットワーク構成を例示すれば、図１のようになる。
【００１０】
図１は、一般的なクライアント端末とサーバとの接続を例示する図である。
【００１１】
図１のネットワーク構成は、複数のクライアント端末１００と、ＮＡＴ変換機能を有するブロードバンドルータ（ＢＢルータ）２００と、通信先装置であるサーバ３００である。このような構成において、ブロードバンドルータ２００のＮＡＴ機能によって、同じソースアドレス（送信元ＩＰアドレス）、ソースポート番号（送信元ポート番号）、同じディスティネーションアドレス（送信先ＩＰアドレス、宛先ＩＰアドレス）、ディスティネーションポート番号（送信先ポート番号、宛先ポート番号）を使用して通信を行うような場合には、図２のようなシーケンスとなる。クライアント端末１００とブロードバンドルータ２００との通信は、有線または無線で行なわれる。尚、クライアント端末１００の通信先装置は、サーバ以外でも良い。例えば、インターネットを介して通信する端末で有っても良いし、別のネットワークに属する端末やサーバであっても良い。
【００１２】
図２は、図１のネットワーク構成におけるアドレス変換機能を示すシーケンス図である。
【００１３】
（１）クライアント端末１００からソースアドレス（192.168.1.10）、ソースポート番号(50000)、ディスティネーションアドレス（10.0.0.1）、ディスティネーションポート番号（50000）でデフォルトルートとして指定されているブロードバンドルータ２００に送信する。
【００１４】
（２）ブロードバンドルータ２００は（１）で受け取ったパケットを、ソースアドレス（192.168.1.10）、ソースポート番号(50000)から、ソースアドレス（10.0.0.2）、ソースポート番号(XXXX)に書き換えて、ディスティネーションアドレス（10.0.0.1）、ディスティネーションポート番号（50000）でサーバ３００へ送信する。
【００１５】
（３）サーバ３００は受け取った（２）のパケットを処理し、ソースアドレス（10.0.0.1）、ソースポート番号(50000)、ディスティネーションアドレス（10.0.0.2）、ディスティネーションポート番号（XXXX）でブロードバンドルータ２００へ送信する。
【００１６】
（４）ブロードバンドルータ２００は（３）で受け取ったパケットを、ソースアドレス（10.0.0.1）、ソースポート番号(50000)、ディスティネーションアドレス（10.0.0.2）、ディスティネーションポート番号（XXXX）は、ディスティネーションアドレス（192.168.1.10）、ディスティネーションポート番号（50000）に書き換えてクライアント端末１００へ送信する。
【００１７】
ブロードバンドルータのNAT変換機能は、ソースアドレス（192.168.1.10）、ソースポート番号(50000)、ディスティネーションアドレス（10.0.0.1）、ディスティネーションポート番号（50000）のパケットを、ソースアドレス（10.0.0.2）、ソースポート番号(XXXX)、ディスティネーションアドレス（10.0.0.1）、ディスティネーションポート番号（50000）で送信したことを記憶することで、ソースアドレス（10.0.0.1）、ソースポート番号(50000)、ディスティネーションアドレス（10.0.0.2）、ディスティネーションポート番号（XXXX）へのパケットは、ソースアドレス（10.0.0.1）、ソースポート番号(50000)、ディスティネーションアドレス（10.0.0.2）、ディスティネーションアドレス（192.168.1.10）、ディスティネーションポート番号（50000）として送信しなければならないということを認識できる。尚、ポート番号（XXXX）は、ブロードバンドルータ２００により任意に決められ、ポート番号(50000)でそのまま送信される場合もあれば、全く違うポート番号に書き換えられる場合もある。
【００１８】
市販されている多くのブロードバンドルータでは、ＮＡＴ変換（ＮＡＰＴ変換）のためのルール（管理情報）を記憶するＮＡＴテーブルは、一定時間、同じソースアドレス、ソースポート番号、ディスティネーションアドレス、ディスティネーションポート番号の通信が無い場合には消去され、逆に、一定時間内に通信がある場合には保持され続ける実装になっている。具体的には、市販されているブロードバンドルータは、ＮＡＴタイマ値の時間（数分から数十分）に通信が無い場合はＮＡＴテーブルが消去され、その時間内に通信がある場合はＮＡＴテーブルは保持される。
【００１９】
このように、クライアント端末１００は、送信したパケット（通信）に対する、サーバ３００からのレスポンス（応答）を取得できる。
【００２０】
アプリケーションソフトやクライアント端末の種類によっては、ネットワーク装置がＮＡＴテーブルを破棄することを防止する為、所定の間隔で相互通信を行なう。この動作は、セッションの維持などに利用されている。
【００２１】
通常、ブロードバンドルータ等のネットワーク装置におけるアドレス変換ルールはテーブルに記憶されて、誤作成や破損が生じないよう管理される。また、ルールの誤作成や破損は考慮されずに実装されている。同じく、クライアント端末やサーバも前記ルールの誤作成や破損を考慮する通信を行なえない。
【００２２】
【特許文献１】特開２００６−２０３５７５号公報
【特許文献２】特開２００７−００６１０９号公報
【発明の開示】
【発明が解決しようとする課題】
【００２３】
しかしながら、市販のブロードバンドルータ等のネットワーク装置の中には、ソフトウェアやハードウェアの不具合、通信障害などの原因によって、ＮＡＴ変換（ＮＡＰＴ変換）のためのルール（管理情報）を誤作成または破損させるものがある。
【００２４】
ルール（管理情報）を誤作成または破損させた状態の上記装置では、正常なアドレス変換処理が行なわれず、クライアント端末からのパケットに対する、サーバからのレスポンスを正しく受け取ることができなくなる。
【００２５】
即ち、このような障害を起こすネットワーク装置を介して通信先装置と通信するクライアント端末は、通信を行なえなくなる可能性を有することとなる。
【００２６】
また、セッションを維持する為に、所定の送信間隔を空けて、同じソースアドレス、ソースポート番号、同じディスティネーションアドレス、ディスティネーションポート番号を使用して通信を行なっている場合であっても、ネットワーク装置のルール（管理情報）を誤作成または破損によって、セッションの切断が発生する。
【００２７】
更に、無手順方式（例えばＵＤＰ）の通信方法を使用する通信であれば、アドレス変換機能の誤作動を検出できずに、通信を続ける為、ネットワーク装置の異常となった管理情報が永続的に削除されない状態に陥る。
【００２８】
また、クライアント端末の使用者から見ても、クライアント端末やネットワーク装置の設定に何等問題が無い為、通信障害の原因の特定が出来ない。
【００２９】
図３は、図１のネットワーク構成におけるアドレス変換機能に不具合を有する場合の通信を示すシーケンス図である。
【００３０】
上記課題の具体例を、図３を示し、説明する。図３に示すシーケンスは、ブロードバンドルータ２００のＮＡＴ機能を動作させるＮＡＴテーブルが破損し、ＷＡＮ側からＬＡＮ側へのアドレス変換を正しく行えない場合を示している。
【００３１】
（１）クライアント端末１００からソースアドレス（192.168.1.10）、ソースポート番号(50000)、ディスティネーションアドレス（10.0.0.1）、ディスティネーションポート番号（50000）でデフォルトルートとして指定されているブロードバンドルータ２００に送信する。
【００３２】
（２）ブロードバンドルータは（１）で受け取ったパケットを、ソースアドレス（192.168.1.10）、ソースポート番号(50000)から、ソースアドレス（10.0.0.2）、ソースポート番号(XXXX)に書き換えて、ディスティネーションアドレス（10.0.0.1）、ディスティネーションポート番号（50000）でサーバ３００へ送信する。
【００３３】
（３）サーバは受け取った（２）のパケットを処理し、ソースアドレス（10.0.0.1）、ソースポート番号(50000)、ディスティネーションアドレス（10.0.0.2）、ディスティネーションポート番号（XXXX）で送信する。
【００３４】
（４）ブロードバンドルータは（３）で受け取ったパケットを、ＮＡＴ管理情報が異常のため、どのアドレス、ポートに変換して送信してよいか認識できずに、パケットを破棄する。尚、障害の発生パターンは様々で、ＬＡＮ側からＷＡＮ側へのパケットを破棄する場合や、間違ったあて先でＷＡＮ側へのパケットを送信する場合などがある。
【００３５】
（５）クライアント端末１００はサーバ３００から応答が無いため、（１）と同様の再送処理を行う。
【００３６】
（６）〜（８）も（２）〜（４）と同じ動作となり、パケットの破棄につながる。
【００３７】
このようにブロードバンドルータに記憶されている、管理情報に異常があった場合に、同じソースアドレス、ソースポート番号、ディスティネーションアドレス、ディスティネーションポート番号が、定期的に再送などで使用される場合には管理情報が異常な状態のまま保持され続けることとなる。
【００３８】
通信異常のため送信リトライを繰り返しても、ブロードバンドルータの管理情報が異常な状態のまま保持され続けるため、クライアント端末、サーバ間が通信不能の状態が継続することになる。異常となってしまった管理情報を削除することで通信は正常に行えるようになるが、クライアント端末からブロードバンドルータに対して管理情報を削除する機能は実装されていない。
【００３９】
これらの場合には、クライアント端末の使用者は、ブロードバンドルータのアドレス変換障害に対する有効な対策が取れない。
【００４０】
即ち、クライアント端末などの情報処理装置が、アドレス変換機能を有するネットワーク装置を介して通信する場合、ネットワーク装置のアドレス変換機能の異常に起因する通信障害において、単純に通信の再送処理を行っただけでは、障害原因となっているアドレス変換機能が正常に戻らないため、通信障害を復旧できない。これは、ＴＣＰなどの再送処理を実現するプロトコルを使用しても通信障害を回避できない。
【００４１】
本発明の目的は、上記問題に鑑み、ネットワーク装置のアドレス変換機能で用いられる管理情報の起因する障害時に通信障害を回避可能な情報処理装置の提供にある。
【００４２】
本発明の別の目的は、アドレス変換機能を有するネットワーク装置を介して通信する通信システムにおけるアドレス変換機能で用いられる管理情報の起因する障害時に通信障害を回避する通信障害回避方法の提供にある。
【課題を解決するための手段】
【００４３】
本願発明の情報処理装置は、アドレス変換機能を有するネットワーク装置に対して、通信に用いるデータのペイロード領域に送信元ポート番号を記録して通信を送出する通信手段と、送出する通信に対する通信先装置からの応答の通信を検出する検出手段と、前記通信のリトライを設定する所定のリトライ回数及び／または所定のリトライ時間を記憶する記憶手段と、を備え、前記送信元ポート番号を、所定のリトライ回数及び／または所定のリトライ時間毎に、変更して送信することを特徴とする。
【００４４】
本願発明の通信障害回避方法は、アドレス変換機能を有するネットワーク装置に対して、通信に用いるデータのペイロード領域に送信元ポート番号を記録して通信を送出する情報処理装置で行なわれる通信障害回避方法であって、前記情報処理装置の制御部が、送出した通信に対する通信先装置からの応答の検出を試み、予め定められて記憶されているリトライ回数及び／またはリトライ時間毎に、前記送信元ポート番号を、変更して送信することを特徴とする。
【発明の効果】
【００４５】
本発明によれば、ネットワーク装置のアドレス変換機能で用いられる管理情報の起因する障害時に通信障害を回避可能な情報処理装置を提供できる。
【００４６】
本発明によれば、アドレス変換機能を有するネットワーク装置を介して通信する通信システムにおけるアドレス変換機能で用いられる管理情報の起因する障害時に通信障害を回避する通信障害回避方法を提供できる。
【発明を実施するための最良の形態】
【００４７】
本発明の実施の一形態を図４ないし図８に基づいて説明する。
【００４８】
図４は、実施の一形態のクライアント端末１００の構成を示すブロック図である。本実施の一形態のクライアント端末１００は、一般的なパーソナルコンピュータである。尚、パーソナルコンピュータでなくとも、アドレス変換機能を有するネットワーク装置を介して外部ネットワークと通信する情報処理装置であればそれで良く、例えば、ＨＤＤレコーダ、ＤＶＤレコーダ等に代表される家電であっても良いし、警報等を所定のサーバに通報する保安装置などであっても良い。
【００４９】
クライアント端末１００は、各種情報処理を行う制御部１１０、基本制御プログラムが格納されているＲＯＭ１２０、情報を一時記憶するＲＡＭ１３０、使用者によって情報を入力される入力部１４０、データ等を出力する出力部１５０、ネットワークを介しインターネット等との通信を行うためのネットワークインタフェース１６０、時計機能を実現するＲＴＣ部１７０および補助記憶装置としてＨＤＤ１８０がバスによって接続されている。
【００５０】
入力部１４０には、キーボードやマウスが接続され、制御部１１０に対して、使用者の操作を入力する。出力部１５０には、表示装置としてＬＣＤ（Liquid Crystal Display）等が接続され、制御部１１０からの出力情報を外部に出力する。
【００５１】
ネットワークインタフェース１６０は、各種通信規格（プロトコル）に準拠し、有線または無線を用いて、ネットワーク装置であるブロードバンドルータ２００等と通信可能とする。また、後述するＨＤＤ１８０に格納されているプロトコルスイート１８３を使用し、ＴＣＰ／ＩＰ、ＵＤＰ／ＩＰ等プロトコルのパケットを送信可能とする。
【００５２】
ＲＴＣ部１７０は、水晶発振子等またはＩＣを用いて時計機能を実現する回路である。ＲＴＣ部１７０は、ＯＳに対して年月日時刻情報を取得可能に生成する。
【００５３】
ＨＤＤ１８０には、様々なプログラムやデータファイルなどが記憶されている。また、ＯＳ（Operating System）も格納されている。制御部１１０はＯＳの指示に基づいて動作する。ＨＤＤ１８０には、ＯＳの他にもブラウザやメール送受信プログラムなどの通信プログラム１８１や、リトライ回数やリトライ時間であるリトライ条件設定値１８２、各種プロトコルに準拠して通信を可能とするデータであるプロトコルスイート１８３等が格納されており、必要に応じてＲＡＭ１２０に展開されて使用される。尚、プロトコルスイート１８３には、少なくとも通信に用いるポート番号またはソケットを指定可能であるプロトコルが含まれる。例えば、ＴＣＰ、ＵＤＰなどである。
【００５４】
各種通信プログラムと他のソフトウェアは共に協調し、制御部１１０やネットワークインタフェース１６０などのハードウェアを、通信手段や応答検出手段、ポート番号を変更する手段等として機能させる。また、各種通信プログラムには、通信障害を回避する為に、ＲＴＣ部１７０もしくはＯＳから時刻情報を取得したり、通信先からの応答（レスポンス）を検出したり、使用した送信元ポート番号毎に通信障害の発生時点から時間計測したり、リトライ回数をカウント（接続リトライカウンタ、送信リトライカウンタ）したりする機能が実装されている。
【００５５】
このような構成において、本発明の実施の一形態であるクライアント端末１００は、ネットワーク装置のアドレス変換機能で用いられる管理情報の起因する障害時に通信障害を回避できる。
【００５６】
以下にクライアント端末１００の動作を説明する。尚、説明を明瞭とするため、通信を行うときのプロトコルに起因する動作は、省略して記載する。
【００５７】
図５は、クライアント端末１００のポート番号を設定する動作を示すフローチャートである。
【００５８】
図１の構成を用いて説明すれば、図５に示すように、クライアント端末１００は、ブロードバンドルータ２００を中継してサーバ３００に通信を行なう場合に、通信プログラム１８１やプロトコルスイート１８３を用いて、リトライ条件設定値１８２に基づいて、使用するソースポート番号（送信元ポート番号）を、変更してパケットを送信および再送を行なう。以下に詳細な動作を説明する。
【００５９】
クライアント端末１００の制御部１１０は、通信プログラム１８１に従い、ソースポート番号の初期値を設定する（ステップＳ５０１）。
【００６０】
制御部１１０は、通信プログラム１８１に従い、接続リトライカウンタをリセットする（ステップＳ５０２）。
【００６１】
制御部１１０は、通信プログラム１８１およびプロトコルスイート１８３を用い、ソースポート番号の初期値を設定したパケットを、ネットワークインタフェース１７０を介して、ネットワーク装置に送信し、サーバに接続処理を行う（ステップＳ５０３）。
【００６２】
制御部１１０は、通信プログラム１８１によって通信先であるサーバからの応答（レスポンス）の検出を試み、検出して接続（セッションの確立）できればステップＳ５０９に進み、検出できなければ次ステップに進む（ステップＳ５０４）。
【００６３】
制御部１１０は、通信プログラム１８１に従い、ＯＳなどから時刻情報を取得すると共にサーバからの応答（レスポンス）時間を計測し、リトライ条件設定値１８２に設定されているリトライ時間を越えるまで、応答（レスポンス）の受信を試みる（ステップＳ５０５）。
【００６４】
制御部１１０は、応答（レスポンス）がない場合に、接続リトライカウンタを加算する（ステップＳ５０６）。
【００６５】
制御部１１０は、通信プログラム１８１に従い、リトライ条件設定値１８２に設定されている接続リトライ回数を越えるまで、サーバへの接続を試み、リトライ回数が設定値を超えた場合に次ステップに進む（ステップＳ５０７）。
【００６６】
制御部１１０は、通信プログラム１８１に従い、ソースポート番号を変更処理し、ステップＳ５０２に進む（ステップＳ５０８）。ソースポート番号の変更処理は、初期値の番号にインクリメント処理しても良いし、通信プログラム１８１に予め記録されている所定の番号に変更しても良い。
【００６７】
サーバに接続できた場合、制御部１１０は、送信するパケット（実データ）の有無を判別し、送信するパケットが有る場合には、次ステップに進む（ステップＳ５０９）。
【００６８】
制御部１１０は、通信プログラム１８１に従い、送信リトライカウンタをリセットする（ステップＳ５１０）。
【００６９】
制御部１１０は、通信プログラム１８１およびプロトコルスイート１８３を用い、設定されたソースポート番号を記述したパケットを送信する（ステップＳ５１１）。
【００７０】
制御部１１０は、通信プログラム１８１によってサーバからの応答（レスポンス）の検出を試み、検出して通信できればステップＳ５０９に進み、検出できなければ次ステップに進む（ステップＳ５１２）。
【００７１】
制御部１１０は、通信プログラム１８１に従い、ＯＳなどから時刻情報を取得すると共にサーバからの応答（レスポンス）時間を計測し、リトライ条件設定値１８２に設定されているリトライ時間を越えるまで、応答（レスポンス）の受信を試みる（ステップＳ５１３）。
【００７２】
制御部１１０は、応答（レスポンス）がない場合に、送信リトライカウンタを加算する（ステップＳ５１４）。
【００７３】
制御部１１０は、通信プログラム１８１に従い、送信リトライ回数を越えるまで、サーバへの通信の再送を試み、リトライ回数が設定値を超えた場合に次ステップに進む（ステップＳ５１５）。
【００７４】
制御部１１０は、通信プログラム１８１に従い、サーバとの接続を切断する（ステップＳ５１６）。
【００７５】
制御部１１０は、通信プログラム１８１に従い、ソースポート番号を変更処理し、ステップＳ５０２に進む（ステップＳ５１７）。ソースポート番号の変更処理は、初期値のソースポート番号にインクリメント処理しても良いし、通信プログラム１８１に予め記録されている所定の番号に変更しても良い。
【００７６】
次に、クライアント端末１００の動作を説明するため、図１の構成における通信例を示す。尚、説明を明瞭とするため、通信を行うときのプロトコルに起因する動作は、省略して記載する。
【００７７】
図６は、図１のネットワーク構成におけるクライアント端末１００の動作を例示するシーケンス図である。
【００７８】
図６の通信例では、クライアント端末１００とサーバ３００間で、同じソースアドレス、ソースポート番号、同じディスティネーションアドレス、ディスティネーションポート番号を使用して通信を行う。正常に通信できている場合は、図２に示したシーケンス図と同様に動作する。図６は、何らかの原因でブロードバンドルータ２００のアドレス変換機能に障害が発生し、クライアント端末１００とサーバ３００間の通信が不能となった場合を示している。
【００７９】
図６で示すシーケンスのように、クライアント端末１００は、ブロードバンドルータ２００を中継してサーバ３００へ同じソースアドレス、ソースポート番号、同じディスティネーションアドレス、ディスティネーションポート番号を使用して通信（１）を行い、予め設定されたリトライ条件に基づき、設定値（概ね数秒）の間にサーバ３００からの応答（レスポンス）の有無を識別する（図５Ｓ５０４、Ｓ５１２の処理）。
【００８０】
レスポンスが無くタイムアウト（図５Ｓ５０５、Ｓ５１３の処理）した場合には数回の送信リトライ（再送）を行い（５）（図５Ｓ５０３、Ｓ５１１の処理）、数回の再送においてもレスポンスが無くリトライカウントをオーバした場合（図５Ｓ５０７、Ｓ５１５の処理）は、クライアント端末１００のポート番号（ソースポート番号）を50000から50001に変更（図５Ｓ５０８、Ｓ５１７の処理）し、再送（９）を行う。
【００８１】
クライアント端末１００のポート番号を変更して（９）の送信を行うことにより、ブロードバンドルータ２００のアドレス変換機能は、新たに管理情報を生成し、生成した管理情報に基づいて、アドレス変換を実施する。このアドレス変換は、誤作成や破損した管理情報を使用することなく、新たに生成された管理情報を用いて行なわれる為、正常にアドレス変換を行う。また、次回の通信も、クライアント端末１００が同一のアドレスとポート番号を使用することによって、新たに生成した管理情報に基づいて、アドレス変換される。
【００８２】
正常にアドレス変換されたサーバ３００からの通信（１２）は、正常にクライアント端末１００に届く。（１２）の通信以降も同様に、正常に通信される。
【００８３】
ブロードバンドルータ２００のアドレス変換機能の使用する管理情報に障害が発生した場合には、単純に再送処理を繰り返しているだけでは通信異常の原因となっている管理情報が保持され続けるため、アドレス変換機能の障害は復旧しない。そこで、クライアント端末１００のソースポート番号を変更し、ブロードバンドルータ２００のアドレス変換機能の障害原因である管理情報が使われないように、ソースポート番号を変更して再送を行うことにより、ブロードバンドルータ２００の管理情報の異常に起因する通信障害後であっても、当該管理情報を回避して通信が行なえる。
【００８４】
以上説明したように本実施の一形態によれば、ネットワーク装置でアドレス変換機能の管理情報に障害が発生しても、自動的に、通信可能に障害を回避できる。
【００８５】
本実施の一形態の通信障害回避方法は、通信先装置やネットワーク装置にハードウェア及び／またはソフトウェアの変更を必要としない。即ち、既存の通信インフラをそのまま使用可能である。
【００８６】
上記実施の一形態の説明では、変更するポート番号を特に限定することなく説明した。しかし、通信プログラムの実装には、ポート番号をある程度限定した方が効率的である。
【００８７】
このような場合には、所定のポート番号を繰り返し使用すればよい。具体例としては、ポート番号５００００番を使用中に通信障害が発生した場合に、通信障害のポート番号５００００番から順次変更し、ブロードバンドルータ２００の管理情報の自動消去時間以上を経過したのち、ポート番号５００００番に戻して、所定のポート番号を繰り返し使用する。
【００８８】
これは、使用するネットワーク装置の管理情報の自動消去時間以上の無通信の状態にすることによって、ネットワーク装置内部の管理情報が消去されることを期待している。
【００８９】
このような場合の動作例を図７に示す。
【００９０】
図７は、ポート番号の変更例を説明するシーケンス図である。本図においては、クライアント端末１００がソースポート番号として使用する番号を３個（50000、50001、50002）として記載している。尚、３個に限定されたものではなく、障害の発生からブロードバンドルータ２００の管理情報の自動消去時間以上を経過したのちに初期値に戻すまで、必要な個数を使用する。
【００９１】
（１）ソースアドレス：192.168.1.10、ソースポート：50000、ディスティネーションアドレス：10.0.0.1、ディスティネーションポート：50000、を用いて、クライアント端末１００、サーバ３００間でブロードバンドルータ２００を中継してデータ送受信を行なう。
【００９２】
（２）〜（５）何らかの原因でブロードバンドルータ２００のアドレス変換機能に障害が発生し、クライアント端末１００とサーバ３００間の通信ができなくなる。
【００９３】
（６）〜（９）クライアント端末１００は、ソースポート番号を50000から50001に変更し、障害を回避して、サーバ３００間と通信を開始する。このとき、通信プログラムは、ポート番号５００００の障害を検出してブロードバンドルータ２００の管理情報が自動消去されたであろう時間をカウントする。
【００９４】
（１０）ソースアドレス：192.168.1.10、ソースポート：50001、ディスティネーションアドレス：10.0.0.1、ディスティネーションポート：50000を用いて、クライアント端末１００、サーバ３００間でブロードバンドルータ２００を中継してデータ送受信する。
【００９５】
（１１）〜（１２）何らかの原因でブロードバンドルータ２００のアドレス変換機能に障害が発生し、クライアント端末１００とサーバ３００間の通信ができなくなる。
【００９６】
（１３）〜（１６）クライアント端末１００は、ソースポート番号を、50001から50002に変更し、障害を回避して、サーバ３００間と通信を開始する。
【００９７】
（１７）ソースアドレス：192.168.1.10、ソースポート：50002、ディスティネーションアドレス：10.0.0.1、ディスティネーションポート：50000を用いて、クライアント端末１００とサーバ３００間でブロードバンドルータ２００を中継してデータ送受信する。
【００９８】
（１８）〜（１９）何らかの原因でブロードバンドルータ２００のアドレス変換機能に障害が発生し、クライアント端末１００とサーバ３００間の通信ができなくなる。
【００９９】
（２０）〜（２３）このとき、カウントしていたポート番号５００００の管理情報が自動消去されたであろう時間を経過した場合、クライアント端末１００は、ソースポート番号を、50002から50000（初期値）に変更し、サーバ３００間と通信を開始する。
【０１００】
このように、使用するポート番号を設定することで、ポート番号の有効利用が図れる。
【０１０１】
尚、管理情報が自動消去されたであろう時間は、使用するネットワーク中継装置毎に定めても良いし、ネットワーク中継装置の種類や製造元などから定めても良い。また、既存製品の管理情報が自動消去される最大時間に余裕時間を合わせた時間を設定しても良い。
【０１０２】
以上説明したように、本発明によれば、ネットワーク装置のアドレス変換機能で用いられる管理情報の起因する障害時に通信障害を回避可能な情報処理装置を提供できる。
【０１０３】
同じく、本発明によれば、アドレス変換機能を有するネットワーク装置を介して通信する通信システムにおけるアドレス変換機能で用いられる管理情報の起因する障害時に通信障害を回避する通信障害回避方法を提供できる。
【０１０４】
尚、上記実施の一形態では、アドレス変換機能を有するネットワーク装置に対して、通信する情報処理装置をクライアント端末と記載して図４に示したが、情報処理装置は、図４の構成以外にも図８の様な構成も取りうる。即ち、情報処理装置は、補助記憶装置１８０に変えてＲＡＭ４３０内に各種プログラムを格納しても良い。また、プロトコルスイート１８３に変えて、使用する通信プログラムに適応したプロトコルスタック４３３を用いても良い。このような構成は、保安装置などの長時間動作を強いられる情報処理装置に好適である。保安装置には、長期間の安定動作や障害の自己回復機能が求められ、他の障害回避機能と共に、ネットワーク中継装置の中継障害を回避する機能が求められる。
【０１０５】
また、上記説明では、通信プログラムが適時ポート番号を変更するように記載したが、通信プログラムと別のプログラムとして上記説明した場面で適時ポート番号を変更するプログラムを設けても良い。同じく、プロトコルやＯＳに当該障害を回避する方法を実現するプログラムを追加しても良い。
【０１０６】
また、上記説明では、ＬＡＮとＷＡＮとを接続する例を記載したが、ＬＡＮとＬＡＮとの接続であっても良い。
【図面の簡単な説明】
【０１０７】
【図１】一般的なクライアント端末とサーバとの接続を例示する図である。
【図２】図１のネットワーク構成におけるアドレス変換機能を示すシーケンス図である。
【図３】図１のネットワーク構成におけるアドレス変換機能に不具合を有する場合の通信を示すシーケンス図である。
【図４】実施の一形態のクライアント端末の構成を示すブロック図である。
【図５】クライアント端末のポート番号を設定する動作を示すフローチャートである。
【図６】図１のネットワーク構成におけるクライアント端末の動作を例示するシーケンス図である。
【図７】ポート番号の変更例を説明するシーケンス図である。
【図８】実施の一形態の別のクライアント端末の構成を示すブロック図である。
【符号の説明】
【０１０８】
１００  クライアント端末（情報処理端末）
１１０  制御部
１２０  ＲＯＭ
１３０  ＲＡＭ（記憶部）
１４０  入力部
１５０  出力部
１６０  ネットワークインタフェース（通信部）
１７０  ＲＴＣ部
１８０  ＨＤＤ（記憶部）
１８１  通信プログラム  
１８２  リトライ条件設定値
１８３  プロトコルスイート
２００  ブロードバンドルータ（ネットワーク装置）
３００  サーバ（通信先装置）
４００  クライアント端末（情報処理端末）
【図１】
0005115724.tif 000002
【図２】
0005115724.tif 000003
【図３】
0005115724.tif 000004
【図４】
0005115724.tif 000005
【図５】
0005115724.tif 000006
【図６】
0005115724.tif 000007
【図７】
0005115724.tif 000008
【図８】
0005115724.tif 000009