(57)【要約】【課題】  ノード間の安定した通信を供給することが可能なＩＰ中継装置を提供する。【解決手段】  ＩＰ中継装置は、プライベートネットワークに属する端末とグローバルネットワークに属する端末との通信を中継する際に、一部のＴＣＰアプリケーションのＦＴＰ及びＳＩＰのデータをＮＡＴ上で書き換えるためのＡＬＧ機能（ＡＬＧ制御部２３）と、ＡＬＧ機能が必要なＴＣＰパケットを受信した場合にＴＣＰコネクションを制御するＴＣＰセッション制御機能（ＴＣＰセッション制御部２２）とを有し、ＴＣＰセッション制御機能（ＴＣＰセッション制御部２２）からＡＬＧ機能（ＡＬＧ制御部２３）へＴＣＰパケットの順序性を提供する。【選択図】      図１
2010166189.tif 000002
【特許請求の範囲】
【請求項１】
プライベートネットワークに属する端末とグローバルネットワークに属する端末との通信を中継する際に、一部のＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）アプリケーションのＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）及びＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）のデータをＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）上で書き換えるためのＡＬＧ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌｅｖｅｌ  Ｇａｔｅｗａｙ）機能と、
前記ＡＬＧ機能が必要なＴＣＰパケットを受信した場合にＴＣＰコネクションを制御するＴＣＰセッション制御機能とを有し、
前記ＴＣＰセッション制御機能から前記ＡＬＧ機能へ前記ＴＣＰパケットの順序性を提供することを特徴とするＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）中継装置。
【請求項２】
前記ＴＣＰセッション制御機能は、ＴＣＰセッションの順序制御と再送制御と分割制御とを行うことを特徴とする請求項１記載のＩＰ中継装置。
【請求項３】
前記ＴＣＰパケットを一時保持するパケットバッファを含み、
前記ＴＣＰセッション制御機能は、前記順序制御と前記パケットバッファとを使用して前記ＴＣＰセッションの順序制御と分割制御とを行うことを特徴とする請求項２記載のＩＰ中継装置。
【請求項４】
前記ＴＣＰセッション制御機能は、前記ＴＣＰパケットのシーケンス番号から順序逆転を判定し、その判定結果に応じて前記ＴＣＰセッションの順序制御を行うことを特徴とする請求項３記載のＩＰ中継装置。
【請求項５】
ＴＣＰデータセグメントが分割された場合に一つのメッセージとして揃うまで、前記ＡＬＧ機能にて複数の分割されたセグメントをバッファリングすることを特徴とする請求項２から請求項４のいずれか記載のＩＰ中継装置。
【請求項６】
前記ＴＣＰセッション制御機能は、前記再送制御と前記パケットバッファとを使用して前記端末間の前記ＴＣＰパケットの再送を制御することを特徴とする請求項２から請求項５のいずれか記載のＩＰ中継装置。
【請求項７】
前記請求項１から請求項６のいずれかに記載のＩＰ中継装置を含むことを特徴とする通信システム。
【請求項８】
ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）中継装置に、プライベートネットワークに属する端末とグローバルネットワークに属する端末との通信を中継する際に、一部のＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）アプリケーションのＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）及びＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）のデータをＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）上で書き換えるためのＡＬＧ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌｅｖｅｌ  Ｇａｔｅｗａｙ）機能を設け、
前記ＩＰ中継装置が、前記ＡＬＧ機能が必要なＴＣＰパケットを受信した場合にＴＣＰコネクションを制御するＴＣＰセッション制御処理を実行し、前記ＴＣＰセッション制御処理から前記ＡＬＧ機能へ前記ＴＣＰパケットの順序性を提供することを特徴とするＴＣＰフロー制御方法。
【請求項９】
前記ＩＰ中継装置が、前記ＴＣＰセッション制御処理において、ＴＣＰセッションの順序制御と再送制御と分割制御とを行うことを特徴とする請求項８記載のＴＣＰフロー制御方法。
【請求項１０】
前記ＩＰ中継装置に、前記ＴＣＰパケットを一時保持するパケットバッファを設け、
前記ＩＰ中継装置が、前記ＴＣＰセッション制御処理において、前記順序制御と前記パケットバッファとを使用して前記ＴＣＰセッションの順序制御と分割制御とを行うことを特徴とする請求項２記載のＴＣＰフロー制御方法。
【請求項１１】
前記ＩＰ中継装置が、前記ＴＣＰセッション制御処理において、前記ＴＣＰパケットのシーケンス番号から順序逆転を判定し、その判定結果に応じて前記ＴＣＰセッションの順序制御を行うことを特徴とする請求項１０記載のＴＣＰフロー制御方法。
【請求項１２】
前記ＩＰ中継装置が、ＴＣＰデータセグメントが分割された場合に一つのメッセージとして揃うまで、前記ＡＬＧ機能にて複数の分割されたセグメントをバッファリングすることを特徴とする請求項９から請求項１のいずれか記載のＴＣＰフロー制御方法。
【請求項１３】
前記ＩＰ中継装置が、前記ＴＣＰセッション制御処理において、前記再送制御と前記パケットバッファとを使用して前記端末間の前記ＴＣＰパケットの再送を制御することを特徴とする請求項９から請求項１２のいずれか記載のＴＣＰフロー制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＩＰ中継装置、通信システム及びそれらに用いるＴＣＰフロー制御方法に関し、特にＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）中継装置におけるＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）フローの制御方法に関する。
【背景技術】
【０００２】
グローバルネットワークとプライベートネットワークに属するＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）機能が動作するＩＰ中継装置において（例えば、非特許文献１参照）、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）やＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）等のＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）パケットを転送する時に、ＡＬＧ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌｅｖｅｌ  Ｇａｔｅｗａｙ）機能によってＴＣＰアプリケーションのペイロードを変換する必要がある。
【０００３】
ＮＡＴの基本動作では、ＩＰパケットのＩＰヘッダ中のアドレス及びＴＣＰ／ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）ヘッダのポート番号のみを変更する。
【０００４】
しかしながら、アプリケーションによっては、ＴＣＰ／ＵＤＰのデータ部分によってアドレスやポート番号を運ぶものがある。この場合、ＩＰヘッダやＴＣＰ／ＵＤＰヘッダの情報以外にＴＣＰ／ＵＤＰのデータ部分のアドレスやポート番号情報を書き換える必要がある。この情報は、アプリケーションによって、書かれる位置が異なるため、アプリケーション毎に書き換えルールを定義する必要がある。この機能がＡＬＧ機能と呼ばれている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｐ．Ｓｒｉｓｕｒｅｓｈ、Ｋ．Ｅｇｅｖａｎｇ、ＲＦＣ３０２２、Ｔｒａｄｉｔｉｏｎａｌ  ＩＰ  Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｏｒ（Ｔｒａｄｉｔｉｏｎａｌ  ＮＡＴ）、Ｊａｎｕａｒｙ  ２００１、ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ３０２２．ｔｘｔ
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述したＡＬＧ機能を具備した中継装置では、ＴＣＰのセグメントが順番通りに来ない場合、ＴＣＰの再送やＴＣＰのセグメントが分割された場合に、その後の正常なＴＣＰの通信ができないという問題がある。その結果、ＴＣＰコネクションが途切れてしまうという問題、ＴＣＰパケットの再送が発生するという問題、通信を最初からやり直さなければいけないという問題等が生ずることとなる。
【０００７】
つまり、グローバルネットワークとプライベートネットワークに属するＮＡＴ機能を具備したＩＰ中継装置において、一部のＴＣＰアプリケーションでは、ＡＬＧ機能を使用してペイロードを変換する必要があるが、ＴＣＰの順序が逆転した場合、ＴＣＰの再送、ＴＣＰのセグメントが分割された場合にＡＬＧ機能が正しく処理できず、ＴＣＰコネクションが途切れてしまうという問題がある。
【０００８】
ＴＣＰの順序が逆転した場合は、ＡＬＧ機能が動作するＴＣＰアプリケーションにおいて、複雑なＴＣＰシーケンス番号の管理が必要になり、アプリケーションレイヤだけでなく、ＴＣＰレイヤまで管理しなければならない。
【０００９】
また、ＴＣＰの再送が発生した場合は、ＡＬＧ機能が動作するＴＣＰアプリケーションにおいて、ＴＣＰの再送とは判断できずに、重複したリソースを確保してしまい、前までのコネクションが切断されてしまう。
【００１０】
さらに、ＴＣＰのセグメントが分割された場合は、ＴＣＰアプリケーションで書き換えるべきＩＰアドレス情報やＴＣＰポート番号が認識できない場合が生じ、パケット破棄やそのまま転送するという問題が発生する。これは、正しく転送できないという問題と、セキュリティ上の問題とがある。
【００１１】
これらの問題のため、ＴＣＰの順序制御と再送制御、分割制御に対応したＡＬＧ機能の実装方法を考案する必要がある。
【００１２】
そこで、本発明の目的は上記の問題点を解消し、ノード間の安定した通信を供給することができるＩＰ中継装置、通信システム及びそれらに用いるＴＣＰフロー制御方法を提供することにある。
【課題を解決するための手段】
【００１３】
本発明によるＩＰ中継装置は、プライベートネットワークに属する端末とグローバルネットワークに属する端末との通信を中継する際に、一部のＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）アプリケーションのＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）及びＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）のデータをＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）上で書き換えるＡＬＧ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌｅｖｅｌ  Ｇａｔｅｗａｙ）機能と、
前記ＡＬＧ機能が必要なＴＣＰパケットを受信した場合にＴＣＰコネクションを制御するＴＣＰセッション制御機能とを備え、
前記ＴＣＰセッション制御機能から前記ＡＬＧ機能へ前記ＴＣＰパケットの順序性を提供している。
【００１４】
本発明による通信システムは、上記のＩＰ中継装置を含むことを特徴とする。
【００１５】
本発明によるＴＣＰフロー制御方法は、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）中継装置に、プライベートネットワークに属する端末とグローバルネットワークに属する端末との通信を中継する際に、一部のＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）アプリケーションのＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）及びＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）のデータをＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）上で書き換えるＡＬＧ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌｅｖｅｌ  Ｇａｔｅｗａｙ）機能を設け、
前記ＩＰ中継装置が、前記ＡＬＧ機能が必要なＴＣＰパケットを受信した場合にＴＣＰコネクションを制御するＴＣＰセッション制御処理を実行し、前記ＴＣＰセッション制御処理から前記ＡＬＧ機能へ前記ＴＣＰパケットの順序性を提供している。
【発明の効果】
【００１６】
本発明は、上記のような構成及び動作とすることで、ノード間の安定した通信を供給することができるという効果が得られる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施の形態による通信システムの構成例を示すブロック図である。
【図２】本発明の第１の実施の形態によるネットワーク構成例を示すブロック図である。
【図３】本発明の第１の実施の形態によるＴＣＰの順序制御を示すシーケンスチャートである。
【図４】本発明の第１の実施の形態によるＴＣＰの再送パケットを受信した時の動作を示すシーケンスチャートである。
【図５】図４におけるＡＬＧ処理待ち状態の動作を示すシーケンスチャートである。
【図６】図４におけるＡＣＫ応答待ち状態の動作を示すシーケンスチャートである。
【図７】図４における上位アプリケーション待ち状態の動作を示すシーケンスチャートである。
【図８】図４におけるＡＣＫ送信済み状態の動作を示すシーケンスチャートである。
【図９】本発明の第１の実施の形態によるＴＣＰの分割パケット制御を示すシーケンスチャートである。
【発明を実施するための形態】
【００１８】
次に、本発明の実施の形態について図面を参照して説明する。まず、本発明による通信システムの概要について説明する。本発明による通信システムでは、プライベートネットワークに属する端末と、グローバルネットワークに属する端末とが通信する場合に、ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）機能を具備したＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）中継装置を介して通信する。
【００１９】
その中で、さらに一部のＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）アプリケーションのＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）やＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）は、ＮＡＴ上でデータを書き換える必要があるため、ＡＬＧ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌｅｖｅｌ  Ｇａｔｅｗａｙ）機能が用いられる。
【００２０】
本発明による通信システムは、そのＡＬＧ機能を具備したＩＰ中継装置において、ＴＣＰセッションの順序制御、再送制御、分割制御を行うことにより、ＴＣＰパケットのシーケンス異常や再送受信、セグメントの分割受信に対応し、エンドツーエンドの通信を正確に行うことを特徴とする。
【００２１】
本発明による通信システムでは、ＩＰパケット中継装置でＴＣＰアプリケーションのＡＬＧ機能を動作させる場合において、ＴＣＰセッション制御機能を具備することにより、ＴＣＰセッション異常時に対応し、ＡＬＧ機能でのパケット破棄や無駄な処理を回避している。
【００２２】
図１は本発明の第１の実施の形態による通信システムの構成例を示すブロック図であり、図２は本発明の第１の実施の形態によるネットワーク構成例を示すブロック図である。図１及び図２において、本発明の第１の実施の形態による通信システムは、ＰＣ（Ｐａｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）（＃１，＃２）１−０，１−１と、ＩＰ中継装置２とから構成されている。ＩＰ中継装置２は、ＡＬＧ機能２０を備えている。
【００２３】
ＰＣ（＃１）１−０は、プライベートネットワーク１００に属し、プライベートネットワークＩＰアドレスが割当てられている。ＰＣ（＃２）１−１は、グローバルネットワーク１０１に属し、グローバルネットワークＩＰアドレスが割当てられている。
【００２４】
ＩＰ中継装置２は、ＮＡＴ機能（図示せず）を具備し、プライベートネットワーク１００とグローバルネットワーク１０１との両方に属し、両方のＩＰアドレスが割当てられている。また、ＩＰ中継装置２は、インタネット網２００を経由してＰＣ（＃２）１−１との通信を行う。
【００２５】
ＰＣ（＃１）１−０とＰＣ（＃２）１−１とは、ＡＬＧ機能を必要とするＴＣＰアプリケーションのＦＴＰやＳＩＰを実装している。ＰＣ（＃１）１−０とＰＣ（＃２）１−１とにおいてＦＴＰが動作する場合は、ＰＣ（＃１）１−０とＰＣ（＃２）１−１との間でＴＣＰコネクションを確立し、ＴＣＰ上でＦＴＰをやりとりする。その際、ＩＰ中継装置２は、中継するＦＴＰパケットの編集を行い、ＴＣＰパケットのセッション制御を行う。
【００２６】
図１において、ＩＰ中継装置２は、図２に示すＡＬＧ機能２０の他に、レイヤ２・３送受信制御部２１と、ＴＣＰセッション制御部２２と、ＡＬＧ制御部２３とを備えている。ＴＣＰセッション制御部２２は、再送制御部２２１と、順序制御部２２２と、パケットバッファ２２３とを備えている。
【００２７】
ＰＣ（＃１）１−０はプライベートネットワーク１００に属し、ＰＣ（＃２）１−１はグローバルネットワーク１０１に属している。ＰＣ（＃１）１−０とＰＣ（＃２）１−１とは、それぞれＡＬＧ機能２０を必要とするＴＣＰアプリケーションのＦＴＰやＳＩＰを実装している。ＩＰ中継装置２は、プライベートネットワーク１００及びグローバルネットワーク１０１それぞれに属し、ＰＣ（＃１）１−０とＰＣ（＃２）１−１とのＩＰ通信を中継する。
【００２８】
ＩＰ中継装置２において、レイヤ２・３送受信制御部２１は、レイヤ２及びレイヤ３の通信を制御し、ＩＰルーティング及びポリシルーティングを行うことで、ＩＰパケットの転送とパケット送受信とを実現している。
【００２９】
ＩＰ中継装置２において、ＴＣＰセッション制御部２２は、レイヤ２・３送受信制御部２１よりＡＬＧ機能２０が必要なＴＣＰパケットを受信した場合にＴＣＰコネクションを制御する。ＴＣＰセッション制御部２２では、順序制御部２２２とパケットバッファ２２３とを使用してＴＣＰセッションの順序制御と分割制御とを実現する。
【００３０】
また、ＴＣＰセッション制御部２２は、再送制御部２２１とパケットバッファ２２３とを使用し、ＰＣ（＃１）１−０とＰＣ（＃２）１−１との間のＴＣＰパケットの再送を制御する。
【００３１】
ＴＣＰセッション制御部２２で受信したＦＴＰやＳＩＰ等のＡＬＧ機能２０が必要なＴＣＰパケットは、ＡＬＧ制御部２３へ通知する。ＡＬＧ制御部２３は、ＴＣＰセッション制御部２２より順序制御されたＴＣＰパケットを受信する。また、ＡＬＧ制御部２３では、受信したＴＣＰパケットのセグメントが分割されている場合、フラグメントされた残りのセグメントを受信するまでバッファリングしてリアセンブルする。
【００３２】
ＡＬＧ制御部２３では、ＴＣＰアプリケーションそれぞれの処理が行われ、ＴＣＰアプリケーションのペイロードにネットワークアドレスやポート番号等の変換が必要なアプリケーションデータを含む場合、ＴＣＰアプリケーションの設定にしたがってＴＣＰアプリケーションのペイロードを変換し、そのペイロードをＴＣＰセッション制御部２２へ送信する。
【００３３】
ＴＣＰセッション制御部２２は、ＡＬＧ制御部２３よりＴＣＰアプリケーションパケットの送信要求があった場合、ＴＣＰパケットのチェックサムやシーケンス番号、ＡＣＫ（ＡＣＫｎｏｗｌｅｄｇｅｍｅｎｔ）番号、ＩＰヘッダのＩＤ（ＩＤｅｎｔｉｆｉｅｒ）、パケット長、チェックサムを再計算し、レイヤ２・３送受信制御部２１へ送信要求する。
【００３４】
図３は本発明の第１の実施の形態によるＴＣＰの順序制御を示すシーケンスチャートである。これら図１〜図３を参照して本発明の第１の実施の形態によるＴＣＰの順序制御について説明する。
【００３５】
ＰＣ（＃１）１−０とＰＣ（＃２）１−１とのＴＣＰ通信は、インタネット網２００の輻輳状況やネットワーク構成により、ＰＣが送信した順番ではなく、後から送信したパケットが先に到着する場合がある（図３のＳ３０１）。この場合、ＴＣＰセッション制御部２２は、ＴＣＰパケットのシーケンス番号から順序逆転を判定し、前に送信されたパケットを受信するまで（図３のＳ３０３）、パケットバッファ２２３でパケットを保持し（図３のＳ３０２）、順序を元に戻して（図３のＳ３０４）、そのパケットをＡＬＧ制御部２３へ渡す（図３のＳ３０５）。
【００３６】
ＴＣＰセッション制御部２２は、パケットをＡＬＧ制御部２３へ渡した後、保持しているパケットのシーケンスを確認し（図３のＳ３０６）、ＡＬＧ制御部２３へ渡してよいシーケンスであれば、そのパケットをＡＬＧ制御部２３へ渡す（図３のＳ３０７）。
【００３７】
ＡＬＧ制御部２３で編集されたアプリケーションデータは、ＴＣＰセッション制御部２２へ送信要求される（図３のＳ３０８、Ｓ３１０）。ここで、セグメント長が変化しているのは、ＮＡＴの一般的な動作であり、ＡＬＧ制御部２３による編集のためである。
【００３８】
ＡＬＧ制御部２３より送信要求されたＴＣＰセッション制御部２２は、ＩＰパケットヘッダ、ＴＣＰパケットヘッダの再計算をしてレイヤ２・３送受信制御部２１へ送信要求する（図３のＳ３０９、Ｓ３１１）。
【００３９】
図４は本発明の第１の実施の形態によるＴＣＰの再送パケットを受信した時の動作を示すシーケンスチャートである。これら図１と図２と図４とを参照して本発明の第１の実施の形態によるＴＣＰの再送パケットを受信した時の動作について説明する。
【００４０】
ＴＣＰの再送パケットを受信した時の動作は、ＴＣＰセッション制御部２２とＡＬＧ制御部２３とがどこまで処理を行ったかに応じて、再送制御を行う。再送パケットに対するＴＣＰセッション制御部２２の状態は、次の４つの状態に分類される。
【００４１】
１つ目の状態は、ＴＣＰセッション制御部２２がＴＣＰのデータセグメントを受信して（図４のＳ４０１）、ＡＬＧ制御部２３へ通知した（図４のＳ４０２）後のＡＬＧ処理待ち状態（図４のＳ４０３）である。
【００４２】
２つ目の状態は、ＡＬＧ制御部２３からパケット送信要求を受け（図４のＳ４０４）、レイヤ２・３送受信制御部２１へデータセグメントを送信要求した（図４のＳ４０５）後のＡＣＫ応答待ち状態（図４のＳ４０６）である。
【００４３】
３つ目の状態は、ＴＣＰセッション制御部２２がＡＣＫを受信して（図４のＳ４０７）、ＡＬＧ制御部２３へパケット受信通知した（図４のＳ４０８）後のＡＬＧ  ＡＣＫ処理待ち状態（図４のＳ４０９）である。
【００４４】
４つ目の状態は、ＡＬＧ制御部２３からＡＣＫパケット送信要求を受け（図４Ｓ４１０）、レイヤ２・３送受信制御部２１へＡＣＫパケットを送信要求した（図４のＳ４１１）後のＡＣＫ送信済み状態（図４のＳ４１２）である。次に、それぞれの状態における動作について説明する。
【００４５】
図５は図４におけるＡＬＧ処理待ち状態（Ｓ４０３）の動作を示すシーケンスチャートである。これら図１と図２と図５とを参照して本発明の第１の実施の形態によるＡＬＧ処理待ち状態（Ｓ４０３）の動作について説明する。
【００４６】
ＴＣＰセッション制御部２２は、ＰＣ（＃１）１−０よりＴＣＰパケットのリクエストパケットを受信すると（図５のＳ５０１）、ＡＬＧ制御部２３へパケット受信通知した（図５のＳ５０２）後、ＡＬＧ処理待ち状態になる（図５のＳ５０３）。
【００４７】
その後に、ＴＣＰセッション制御部２２は、再送パケットを受信すると、ＡＬＧ制御部２３へ通知済みの情報のため、これを破棄する（図５のＳ５０５）。ＴＣＰセッション制御部２２がパケットを破棄することにより、ＡＬＧ制御部２３での重複した処理をさせない効果がある。
【００４８】
図６は図４におけるＡＣＫ応答待ち状態（Ｓ４０６）の動作を示すシーケンスチャートである。これら図１と図２と図６とを参照して本発明の第１の実施の形態によるＡＣＫ応答待ち状態（Ｓ４０６）の動作について説明する。
【００４９】
ＴＣＰセッション制御部２２は、ＰＣ（＃１）１−０からＴＣＰパケットを受信すると（図６のＳ６０１）、そのパケットの受信をＡＬＧ制御部２３へ通知し、ＡＬＧ制御部２３よりＰＣ（＃２）１−１宛への送信要求があると、ＰＣ（＃２）１−１宛へのパケットのコピーをＡＣＫを受信するまでパケットバッファ２２３に保持し（図６のＳ６０４）、ＰＣ（＃２）１−１宛へパケットを送信する。ここで、ＴＣＰセッション制御部２２は、ＡＣＫ応答待ち状態になる（図６のＳ６０６）。
【００５０】
この状態において、ＴＣＰセッション制御部２２は、再送パケットを受信した場合（図６のＳ６０７）、受信した再送パケットを破棄し、ＡＬＧ制御部２３へ送信することなく、Ｓ６０４の処理で保持していたＰＣ（＃２）１−１宛の送信要求パケットを再送する（図６のＳ６０９）。パケットバッファ２２３は、コピーしていたパケットを、ＰＣ（＃２）１−１よりＡＣＫを受信するまで保持する（図６のＳ６１０）。
【００５１】
図７は図４における上位アプリケーション待ち状態（Ｓ４０９）の動作を示すシーケンスチャートである。これら図１と図２と図７とを参照して本発明の第１の実施の形態による上位アプリケーション待ち状態（Ｓ４０９）の動作について説明する。
【００５２】
ＴＣＰセッション制御部２２は、ＰＣ（＃２）１−１よりＡＣＫを受信し（図７Ｓ７０５）、そのＡＣＫをＡＬＧ制御部２３へ渡すと（図７のＳ７０６）、上位アプリケーション待ち状態（図７のＳ７０７）になる。ここで、ＴＣＰセッション制御部２２は、Ｓ７０７の再送パケットを受信した場合（Ｓ７０８）、この再送パケットをＡＬＧ制御部２３へ送信することなく、破棄する（図７のＳ７０９）。
【００５３】
図８は図４におけるＡＣＫ送信済み状態（Ｓ４１２）の動作を示すシーケンスチャートである。これら図１と図２と図８とを参照して本発明の第１の実施の形態によるＡＣＫ送信済み状態（Ｓ４１２）の動作について説明する。
【００５４】
ＴＣＰセッション制御部２２は、ＰＣ（＃２）１−１からＡＣＫを受信し（図８のＳ８０５）、ＰＣ（＃１）１−０へＡＣＫを送信すると（図８のＳ８０８）、ＡＣＫ送信済み状態となる（図８のＳ８０９）。
【００５５】
ここで、ＴＣＰセッション制御部２２は、Ｓ８０１の再送パケットを受信した場合（図８のＳ８１０）、受信した再送パケットをＡＬＧ制御部２３へ送信することなく、破棄し（図８のＳ８０９）、送信元のＰＣ（＃１）１−０へＡＣＫ（Ｓ８０８）を再送する（図８のＳ８１２）。
【００５６】
図９は本発明の第１の実施の形態によるＴＣＰの分割パケット制御を示すシーケンスチャートである。これら図１と図２と図９とを参照して本発明の第１の実施の形態によるＴＣＰの分割パケット制御について説明する。
【００５７】
ＰＣ（＃１）１−０とＰＣ（＃２）１−１との間のＴＣＰパケットは、ＴＣＰアプリケーションのメッセージサイズがＭＳＳ（Ｍａｘｉｍｕｍ  Ｓｅｇｍｅｎｔ  Ｓｉｚｅ）より大きい場合やＰＣとＩＰ中継装置２との間のネットワーク構成によりＴＣＰのセグメントが分割されてＩＰ中継装置２に到着する。
【００５８】
分割パケット（１／２）（図９のＳ９０１）及び分割パケット（２／２）（図９のＳ９０２）は、ＰＣ（＃１）１−０からＰＣ（＃２）１−１宛に送信されたデータセグメントを示し、ＰＣ（＃１）１−０から送信された時に１つのメッセージが２つに分割されて送信され、ＩＰ中継装置２に到着したことを示している。
【００５９】
分割パケット（１／２）（図９のＳ９０１）が到着すると、ＴＣＰセッション制御部２２は、ＴＣＰのセッション管理情報を更新し（図９のＳ９０２）、ＡＬＧ制御部２３へ渡す。ＴＣＰセッション管理情報は、受信したＴＣＰパケットのセッション情報で、ＴＣＰの順序制御や再送制御、分割制御、パケット送信時のＩＰヘッダ、ＴＣＰヘッダの再計算に使用する。
【００６０】
ＡＬＧ制御部２３は、ＴＣＰセッション制御部２２から、ＴＣＰパケット（図９のＳ９０３）のＴＣＰのデータセグメントを受信するが、分割されているため、ＴＣＰアプリケーションのバッファに保持する（図９のＳ９０４）。
【００６１】
ＴＣＰセッション制御部２２は、分割パケット（２／２）が到着すると（図９のＳ９０５）、セッション情報を更新し（図９のＳ９０６）、パケット情報をＡＬＧ制御部２３へ渡す（図９のＳ９０７）。
【００６２】
ＡＬＧ制御部２３は、パケット情報を受信すると（図９のＳ９０７）、保持しているデータを使用し、データセグメントをリアセンブルして編集する（図９のＳ９０８）。編集したデータセグメント（図９のＳ９０９）は、ＴＣＰセッション制御部２２へ送信要求される。
【００６３】
ＴＣＰセッション制御部２２は、ＩＰヘッダのチェックサム、ＩＤ、パケット長、ＴＣＰヘッダのチェックサム、ＡＣＫ番号、シーケンス番号を計算し、レイヤ２・３送受信制御部２１へ送信要求する（図９のＳ９１１）。ここで、セグメントの分割が必要であれば、分割して送信する。
【００６４】
このように、本実施の形態では、ＴＣＰセッション制御部２２からＡＬＧ制御部２３へＴＣＰパケットの順序性を提供することで、ＡＬＧ制御部２３での順序制御が不要になるという効果がある。
【００６５】
これによって、本実施の形態では、ＡＬＧ制御部２３において、セグメントを受信した順番に処理すればよいため、セグメントのリアセンブルが容易になるという効果がある。
【００６６】
また、本実施の形態では、再送制御を行うことで、ＡＬＧ制御部２３での重複した処理を回避することができ、不要なリソース消費を回避することができる。これによって、本実施の形態では、リソースを２重に使用することを回避し、リソースの不一致が解消されるため、コネクションの切断を防止することができる。よって、本実施の形態では、ＴＣＰクライアントとＴＣＰサーバとに安定した接続を供給することができる。
【００６７】
さらに、本実施の形態では、ＴＣＰクライアントとＴＣＰサーバとに安定した接続を供給することができるので、ＴＣＰの通信がスムーズに行われるため、ＩＰ中継装置２が属するシステム全体において、パケット処理の負荷を低減することができる。これによって、本実施の形態では、ＴＣＰの通信がスムーズに行うことによって、プライベートＩＰアドレス及びプライベートポート番号の漏洩を防ぐことができる。
【００６８】
さらにまた、本実施の形態では、ＴＣＰデータセグメントが分割された場合に一つのメッセージとして揃うまで、ＡＬＧ制御部２３で複数の分割されたセグメントをバッファリングすることで、ＡＬＧ制御部２３がネットワークアドレスの書き換え失敗やポート番号書き換え失敗を回避することができる。
【００６９】
尚、本発明は、図２においてＮＡＴを使用するのではなく、ステートフルインスペクションやＩＤＳ（Ｉｎｔｒｕｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ  Ｓｙｓｔｅｍ）や、プロキシサーバとして構成してもよい。その構成においても、本発明の第１の実施の形態と同様に、ＩＰ中継装置２は、ＴＣＰセッションを管理し、ＡＬＧへ順序制御と、再送制御、分割制御を提供することができる。
【符号の説明】
【００７０】
１−０  ＰＣ（＃１）
１−１  ＰＣ（＃２）
２  ＩＰ中継装置
２０  ＡＬＧ機能
２１  レイヤ２・３送受信制御部
２２  ＴＣＰセッション制御部
２３  ＡＬＧ制御部
１００  プライベートネットワーク
１０１  グローバルネットワーク
２００  インタネット網
２２１  再送制御部
２２２  順序制御部
２２３  パケットバッファ
【図１】
2010166189.tif 000003
【図２】
2010166189.tif 000004
【図３】
2010166189.tif 000005
【図４】
2010166189.tif 000006
【図５】
2010166189.tif 000007
【図６】
2010166189.tif 000008
【図７】
2010166189.tif 000009
【図８】
2010166189.tif 000010
【図９】
2010166189.tif 000011