(57)【要約】      （修正有）【課題】ＬＡＮとＷＡＮの２つのＴＣＰによる２重の輻輳制御と2重の再送制御とによる通信速度低下を抑制する通信装置及び通信システムを提供する。【解決手段】ＬＡＮとＷＡＮの境界において終端される独立したプロトコルを用いて通信するシステムにおいて、それぞれのプロトコル間で通信に関わる情報をセッションごとに共有する。そして、共有した情報に基づき各プロトコルでの通信制御を連動させることで、送受信端末間のネットワーク経路上でのボトルネックの発生を抑制する。【選択図】図１
2017152787.tif 000002
【特許請求の範囲】
【請求項１】
第一のネットワーク及び第二のネットワークに接続され、パケットを送受信する通信装置であって、
前記第一のネットワークに接続する第一のインターフェースと、
前記第二のネットワークに接続する第二のインターフェースと、
前記パケットのカプセリング・デカプセリングを行うことで通信プロトコルを変換するカプセリング制御部を持ち、前記第一のインターフェースのパケット送受信量を、第一のプロトコルに基づき制御する第一のネットワーク側送受信制御部と、
前記第二のインターフェースのパケット送受信量を、第二のプロトコルに基づき制御する第二のネットワーク側送受信制御部と、
送信するパケットを保持する送信バッファ、受信したパケットを保持する受信バッファ、及び、コネクションをエントリ毎に管理する状態テーブルを有する記憶部を持ち、
前記第一のネットワーク側送受信制御部と、前記第二のネットワーク側送受信制御部の間でコネクションごとに管理情報を共有し、共有した管理情報に基づき、パケット送受信量を制御することを特徴とする通信装置。
【請求項２】
前記第一のネットワーク側送受信制御部の機能と前記第二のネットワーク側送受信制御部の機能を同一の送受信制御部に担持させ、
前記管理情報にコネクションの情報を含むタグ情報を付加することで、前記同一の送受信制御部において、前記第一のネットワーク側送受信制御部と第前記二のネットワーク側送受信制御部の機能を切り替えることを特徴とする、
請求項１記載の通信装置。
【請求項３】
前記第一のネットワーク側送受信制御部の機能と前記第二のネットワーク側送受信制御部の機能を同一の送受信制御部に担持させ、
前記管理情報にコネクションの情報を含むタグ情報を付加することで、前記状態テーブルの情報を前記管理情報として共有することを特徴とする、
請求項１の通信装置。
【請求項４】
前記第一のネットワーク側送受信制御部が、前記第一のインターフェースのパケット送受信量を、ＴＣＰに基づき制御することを特徴とする、
請求項２または３の通信装置。
【請求項５】
前記第二のネットワーク側送受信制御部が、前記第二のインターフェースのパケット送受信量を、ＴＣＰに基づき制御することを特徴とする、
請求項２または３の通信装置。
【請求項６】
前記第一のネットワーク側送受信制御部と前記第二のネットワーク側送受信制御部の間で、コネクションごとに前記管理情報として受信ウィンドウサイズ、輻輳ウィンドウサイズ、ＲＴＴ、パケット廃棄率、および、スループットのうち少なくともひとつを共有する、
請求項２または３の通信装置。
【請求項７】
第一のネットワークに接続され、パケットを第一のプロトコルに従って受信する第一のインターフェースと、
第二のネットワークに接続され、前記パケットを第二のプロトコルに従って送信する第二のインターフェースと、
前記パケットのカプセリング・デカプセリングを行うことで、前記第一のプロトコルと前記第二のプロトコルの間でプロトコルを変換するカプセリング制御部と、
前記第一のインターフェースのパケット送受信量を、前記第一のプロトコルに基づき制御するとともに、前記第二のインターフェースのパケット送受信量を、前記第二のプロトコルに基づき制御する送受信制御部と、
前記第一のインターフェースからのパケットと、前記第一のインターフェースから前記カプセリング制御部を経由したパケットを入力とし、両者を識別可能とするタグを付して前記送受信制御部に入力するセッションパス制御部とを有し、
前記送受信制御部は、前記第一のインターフェースからのパケットについては、前記カプセリング制御部に送信し、前記カプセリング制御部からのパケットについては、前記第二のインターフェースに送信する、
通信装置。
【請求項８】
前記送受信制御部は第一のＴＣＰを備え、
前記カプセリング制御部は第二のＴＣＰを備え、
前記第二のＴＣＰは、前記第一のＴＣＰとの間でフロー制御及び輻輳制御を行い、
前記第一のＴＣＰは、前記第一のインターフェースの接続先であるＴＣＰとの間でフロー制御及び輻輳制御を行うとともに、前記第二のＴＣＰおよび前記第二のインターフェースの接続先であるＴＣＰとの間で選択的にフロー制御及び輻輳制御を行う、
請求項７記載の通信装置。
【請求項９】
前記第一のＴＣＰおよび前記第二のＴＣＰは、前記フロー制御及び輻輳制御のために、共通の状態テーブルに対してアクセスする、
請求項８記載の通信装置。
【請求項１０】
前記状態テーブルは、
コネクションごとに受信ウィンドウサイズ、輻輳ウィンドウサイズ、ＲＴＴ、パケット廃棄率、および、スループットのうち少なくともひとつを格納する、
請求項９記載の通信装置。
【請求項１１】
前記タグは、前記コネクションを特定可能なタグであり、
前記状態テーブルに格納される、
請求項１０記載の通信装置。
【請求項１２】
前記セッションパス制御部はさらに、
前記第二のインターフェースからのパケットと、前記第二のインターフェースから前記カプセリング制御部を経由したパケットを入力とし、両者を識別可能とするタグを付して、前記送受信制御部に入力し、
前記送受信制御部は、前記第二のインターフェースからのパケットについては、前記カプセリング制御部に送信し、前記カプセリング制御部からのパケットについては、前記第一のインターフェースに送信する、
請求項７から１１のいずれかの通信装置。
【請求項１３】
第一の端末、第一の通信装置、第二の通信装置、第二の端末、前記第一の端末と前記第一の通信装置の間にある第一のネットワーク、前記第一の通信装置と前記第二の通信装置の間にある第二のネットワーク、前記第二の通信装置と前記第二の端末の間にある第三のネットワークからなる通信システムであって、
前記第一の通信装置は、
前記第一のネットワークに接続され、パケットを第一のプロトコルに従って受信する第一のインターフェースと、
前記第二のネットワークに接続され、前記パケットを第二のプロトコルに従って送信する第二のインターフェースと、
前記パケットのカプセリング・デカプセリングを行うことで、前記第一のプロトコルと前記第二のプロトコルの間でプロトコルを変換するカプセリング制御部と、
前記第一のインターフェースのパケット送受信量を、前記第一のプロトコルに基づき制御するとともに、前記第二のインターフェースのパケット送受信量を、前記第二のプロトコルに基づき制御する送受信制御部と、
前記第一のインターフェースからのパケットと、前記第一のインターフェースから前記カプセリング制御部を経由したパケットを入力とし、両者を識別可能とするタグを付して、前記送受信制御部に入力するセッションパス制御部とを有し、
前記送受信制御部は、前記第一のインターフェースからのパケットについては、前記カプセリング制御部に送信し、前記カプセリング制御部からのパケットについては、前記第二のインターフェースに送信する、
通信システム。
【請求項１４】
前記送受信制御部は第一のＴＣＰを備え、
前記カプセリング制御部は第二のＴＣＰを備え、
前記第二のＴＣＰは、前記第一のＴＣＰとの間でフロー制御及び輻輳制御を行い、
前記第一のＴＣＰは、前記第一のインターフェースの接続先であるＴＣＰとの間でフロー制御及び輻輳制御を行うとともに、前記第二のＴＣＰおよび前記第二のインターフェースの接続先であるＴＣＰとの間で選択的にフロー制御及び輻輳制御を行い、
前記第一のＴＣＰおよび前記第二のＴＣＰは、前記フロー制御及び輻輳制御のために、共通の状態テーブルに対してアクセスする、
請求項１３記載の通信システム。
【請求項１５】
前記セッションパス制御部はさらに、
前記第二のインターフェースからのパケットと、前記第二のインターフェースから前記カプセリング制御部を経由したパケットを入力とし、両者を識別可能とするタグを付して、前記送受信制御部に入力し、
前記送受信制御部は、前記第二のインターフェースからのパケットについては、前記カプセリング制御部に送信し、前記カプセリング制御部からのパケットについては、前記第一のインターフェースに送信する、
請求項１３または１４の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク通信においてパケットを送受信する通信装置、通信システム、並びにその通信装置の制御方法及び制御プログラムに関するものである。
【背景技術】
【０００２】
企業内ネットワークの拠点間接続などに使われ、あたかも自社ネットワーク内部の通信のように遠隔地の拠点との通信が行えるネットワーク技術であるＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）の普及が進んでいる。
【０００３】
ＶＰＮ装置を用いた場合、端末間の通信はデータ送信端末とデータ送信側ＶＰＮ装置間のネットワークである自拠点ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、データ送信側ＶＰＮ装置とデータ受信側ＶＰＮ装置間のネットワークであるＷＡＮ、データ受信側ＶＰＮ装置間とデータ受信端末間のネットワークである対向拠点ＬＡＮの３つに分けられる。
【０００４】
データ送信端末とデータ送信側ＶＰＮ装置間の通信は、ＶＰＮ装置によってカプセリングが行われる前のデータを運ぶペイロードプロトコルを用いる。データ送信側ＶＰＮ装置とデータ受信側ＶＰＮ装置間の通信は、ＶＰＮ装置によってカプセリングが行われた後のデータを運ぶデリバリプロトコルを用いる。データ受信端末とデータ受信側ＶＰＮ装置間の通信も、同様に行われる。
【０００５】
一般的にＬＡＮとＷＡＮの回線では、契約回線帯域の違いやＲＴＴ（Ｒｏｕｎｄ−Ｔｒｉｐ  ｄｅｌａｙ  Ｔｉｍｅ）、パケット廃棄率等の影響により、２つの回線に速度差が生まれるため、一方の回線で過剰送信等の影響によりボトルネックリンクが発生すると、もう一方の回線速度に悪影響を与える場合がある。
【０００６】
端末間の通信では、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）を用いるのが一般的であり、特にＶＰＮ装置を用いた環境においてはカプセリングの前後のプロトコルで両方にＴＣＰが用いられることが多い。
【０００７】
ＴＣＰ通信では、送信端末が送信したデータに対して、受信端末が受信済みデータの位置を送信端末にフィードバック通知する。送信端末は、輻輳制御のための輻輳ウィンドウサイズや、ウインドウ制御のための受信ウィンドウサイズ等のパラメータを管理しており、ネットワークの混雑度や受信端末の受信性能に応じてパケット送信量を制御する。
【０００８】
特に送受信端末間のネットワーク経路上にボトルネックリンクが存在し、かつ送受信端末同士がＴＣＰを用いて通信する場合に、２つのＴＣＰによる２重の輻輳制御と２重の再送制御とにより性能劣化が発生し、通信速度が低下する問題がある。
【０００９】
また、端末のＴＣＰパラメータを個々に調整して通信量を制限すると、一般的に端末の数は通信路制御装置の数に比べて膨大であるため、端末の設定にかかる工数が膨大になるという問題がある。
【００１０】
このような技術分野の背景技術として、特許文献１がある。この特許文献１には、「エンド端末の設定変更なしに、２つのＴＣＰによる２重の輻輳制御と２重の再送制御による性能劣化を抑制する。」と記載されている。
【００１１】
また、２つのネットワークの中継地点に、ＴＣＰセッションを介した通信を高速化する技術として、ＷＡＮのＴＣＰ通信の帯域を向上させる装置（特許文献２）が知られている。特許文献２には、「送信帯域がＲＴＴと廃棄率に大きく左右されなくなり、ＷＡＮのようなＲＴＴが大きく、ホップ数が大きく廃棄発生箇所が多い環境で、送信帯域が改善する。」と記載されている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００８−７８９６６号公報
【特許文献２】国際公開ＷＯ２０１１／０３３８９４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
特許文献１の方法では、ＬＡＮ側にボトルネックリンクがあった場合には、ＶＰＮシステム全体の通信を高速化することができない。一般的にＷＡＮの通信帯域はＬＡＮの通信帯域より小さいことが多いが、ＷＡＮのＴＣＰ通信の帯域を向上させる装置を用いた場合に、ＬＡＮ側ボトルネックリンクが発生する場合がある。また、ＬＡＮ側端末の使用するプロトコルが低速な輻輳制御やフロー制御、再送制御等を行った場合にＬＡＮ側ボトルネックリンクが発生する場合がある。
【００１４】
特許文献２では、LANとWANをVPN装置で繋ぐ構成について考慮されていない。
【００１５】
すなわち、片方のネットワークプロトコル（例えばLAN）の通信を終端して他方のネットワークプロトコル（例えばWAN）の通信へ接続する構成において、それぞれの通信が独立して通信制御を行う場合には、一方に他方が影響を受け、システム全体として適切な高速化ができない場合がある。
【課題を解決するための手段】
【００１６】
上記課題を解決するため、本発明の一側面は、第一のネットワーク及び第二のネットワークに接続され、パケットを送受信する通信装置である。この装置は、第一のネットワークに接続する第一のインターフェースと、第二のネットワークに接続する第二のインターフェースと、パケットのカプセリング・デカプセリングを行うことで通信プロトコルを変換するカプセリング制御部を持ち、第一のインターフェースのパケット送受信量を、第一のプロトコルに基づき制御する第一のネットワーク側送受信制御部と、第二のインターフェースのパケット送受信量を、第二のプロトコルに基づき制御する第二のネットワーク側送受信制御部と、送信するパケットを保持する送信バッファ、受信したパケットを保持する受信バッファ、及び、コネクションをエントリ毎に管理する状態テーブルを有する記憶部を持ち、第一のネットワーク側送受信制御部と、第二のネットワーク側送受信制御部の間でコネクションごとに管理情報を共有し、共有した管理情報に基づき、パケット送受信量を制御することを特徴とする通信装置である。
【００１７】
本発明の他の一側面は、第一のネットワークに接続され、パケットを第一のプロトコルに従って受信する第一のインターフェースと、第二のネットワークに接続され、パケットを第二のプロトコルに従って送信する第二のインターフェースと、パケットのカプセリング・デカプセリングを行うことで、第一のプロトコルと第二のプロトコルの間でプロトコルを変換するカプセリング制御部と、第一のインターフェースのパケット送受信量を、第一のプロトコルに基づき制御するとともに、第二のインターフェースのパケット送受信量を、第二のプロトコルに基づき制御する送受信制御部と、第一のインターフェースからのパケットと、第一のインターフェースからカプセリング制御部を経由したパケットを入力とし、両者を識別可能とするタグを付して送受信制御部に入力するセッションパス制御部とを有し、送受信制御部は、第一のインターフェースからのパケットについては、カプセリング制御部に送信し、カプセリング制御部からのパケットについては、第二のインターフェースに送信する、通信装置である。
【００１８】
本発明の他の一側面は、第一の端末、第一の通信装置、第二の通信装置、第二の端末、第一の端末と第一の通信装置の間にある第一のネットワーク、第一の通信装置と第二の通信装置の間にある第二のネットワーク、第二の通信装置と第二の端末の間にある第三のネットワークからなる通信システムである。このシステムでは、第一の通信装置は、第一のネットワークに接続され、パケットを第一のプロトコルに従って受信する第一のインターフェースと、第二のネットワークに接続され、パケットを第二のプロトコルに従って送信する第二のインターフェースと、パケットのカプセリング・デカプセリングを行うことで、第一のプロトコルと第二のプロトコルの間でプロトコルを変換するカプセリング制御部と、第一のインターフェースのパケット送受信量を、第一のプロトコルに基づき制御するとともに、第二のインターフェースのパケット送受信量を、第二のプロトコルに基づき制御する送受信制御部と、第一のインターフェースからのパケットと、第一のインターフェースからカプセリング制御部を経由したパケットを入力とし、両者を識別可能とするタグを付して、送受信制御部に入力するセッションパス制御部とを有する。ここで、送受信制御部は、第一のインターフェースからのパケットについては、カプセリング制御部に送信し、カプセリング制御部からのパケットについては、第二のインターフェースに送信する、通信システムとなっている。
【００１９】
本発明の他の一側面は、上記の各処理の手順をハードウェアに実行させるためのプログラム、あるいは、このプログラムを記録したコンピュータ読み取り可能な記録媒体である。また、本発明の他の一側面は、上記装置或いは通信システムで実行される処理からなる通信方法である。
【発明の効果】
【００２０】
開示によれば、それぞれプロトコル通信を行う複数のネットワークが接続されたシステムにおいて、システム全体の通信の高速化が可能になる。上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００２１】
【図１】トンネリング装置＃１を自拠点のＬＡＮとＷＡＮの境界に設置し、トンネリング装置＃２を対向拠点のＬＡＮとＷＡＮの境界に設定したシステムブロック図
【図２Ａ】トンネリング装置＃１のＮＩＦ０へ入力時のブロック図
【図２Ｂ】トンネリング装置＃１のＮＩＦ１へ入力時のブロック図
【図３】トンネリング装置＃２のブロック図
【図４】状態テーブルのブロック図
【図５】ＬＡＮのフレームフォーマットを示すブロック図
【図６】ＷＡＮのフレームフォーマットを示すブロック図
【図７】トンネリング装置＃１（２００）のＮＩＦ０へのパケット入力時の処理のフローチャート
【図８】トンネリング装置＃１（２００）のＮＩＦ１１へのパケット入力時の処理のフローチャート
【図９】図１のシステムにおける各制御部ＴＣＰのパケットのシーケンス図
【図１０】トンネリング装置＃１（２００）のハードウェア構成の一例を示す図
【図１１】トンネリング装置＃１-１を自拠点のＬＡＮとＷＡＮの境界に設置し、トンネリング装置＃１-２を対向拠点のＬＡＮとＷＡＮの境界に設定したシステム図
【図１２】図１１のシステムにおける各制御部ＴＣＰのパケットのシーケンス図
【発明を実施するための形態】
【００２２】
以下、図面を参照しつつ、本発明を実施するための形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【００２３】
以下に説明する発明の構成において、同一部分又は同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、重複する説明は省略することがある。
【００２４】
本明細書等における「第１」、「第２」、「第３」などの表記は、構成要素を識別するために付するものであり、必ずしも、数または順序を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
【００２５】
図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲などに限定されない。
【実施例１】
【００２６】
以下、実施例１を図１〜図１０を用いて説明する。本実施例は、例えばＬＡＮとＷＡＮのように、通常は境界において終端される独立したプロトコルを用いて通信するシステムにおいて、それぞれのプロトコル間で通信に関わる情報をセッションごとに共有する。そして、共有した情報に基づき各プロトコルでの通信制御を連動させることで、送受信端末間のネットワーク経路上でのボトルネックの発生を抑制する技術を提供する。
【００２７】
本発明の具体的な態様は、例えば、第一のネットワーク及び第二のネットワークに接続され、パケットを送受信する通信装置であって、第一のネットワークに接続する第一のインターフェースと、第二のネットワークに接続する第二のインターフェースと、パケットのカプセリング・デカプセリングを行うことで通信プロトコルを変換するカプセリング制御部を持ち、第一のインターフェースのパケット送受信量を第一のプロトコルに基づき制御する第一のネットワーク側送受信制御部と、第二のインターフェースのパケット送受信量を第二のプロトコルに基づき制御する第二のネットワーク側送受信制御部を持ち、送信するパケットを保持する送信バッファ、受信したパケットを保持する受信バッファ、及びコネクションをエントリ毎に管理する状態テーブルを有する記憶部を持つ。
【００２８】
上記態様によれば、２つ以上の速度制御を行うプロトコル間で通信に関わる情報をコネクションごとに共有し、互いのプロトコルがどれくらいの通信を行っているかを把握することで、共有した情報に基づき両プロトコルの動作が連動され、ＬＡＮ側ボトルネックリンク及びＷＡＮ側ボトルネックリンクが解消され、ＶＰＮシステム全体の通信が高速化される。
【００２９】
＜１．システム全体構成＞
図１には、トンネリング装置＃１（２００）を自拠点のＬＡＮ＃１（１５１）とＷＡＮ（１５２）の境界に設置し、トンネリング装置＃２（３００）を対向拠点のＬＡＮ＃２（１５３）とＷＡＮ（１５２）の境界に設定したシステムが記載されている。実施例１の説明では、データ送信側のトンネリング装置の構成をトンネリング装置＃１とし、データ受信側のトンネリング装置の構成をトンネリング装置＃２ということにする。ただし、実際には、トンネリング装置＃１およびトンネリング装置＃２は、送信のための構成と受信のための構成を兼ね備える同一の構成でもよい。
【００３０】
トンネリング装置＃１（２００）は、自拠点のＬＡＮであるＬＡＮ＃１（１５１）とＷＡＮ（１５２）の境界に設置されている。トンネリング装置＃２（３００）は、対向拠点のＬＡＮであるＬＡＮ＃２（１５３）とＷＡＮ（１５２）の境界に設置されている。この例では、ＬＡＮ＃１（１５１）に接続されている端末（１０１）とＬＡＮ＃２に接続されている端末（１１１）では、６つのＴＣＰ通信を経由して通信が行われる。周知のように、ＴＣＰではフロー制御（およびウインドウ制御）と輻輳制御を行うものとする。フロー制御およびウインドウ制御は、受信側が受信可能なデータ量を送信側へ通知することでＡＣＫを待たずに一度に送信できるデータ量を制御する。輻輳制御は、パケットの紛失や再送タイムアウトの発生によって混雑状況をチェックし、送信制御を送信側で行なう。  トンネリング装置＃１（２００）は、ネットワークインターフェースＮＩＦ０（２０４）、ＮＩＦ１（２０５）、カプセリング制御部（２０１）、送受信制御部（２０２）、および、セッションパス制御部（２０３）を備える。
【００３１】
トンネリング装置＃２（３００）は、ネットワークインターフェースＮＩＦ０（３０５）、ＮＩＦ１（３０４）、および、カプセリング制御部（３０１）を備える。
【００３２】
トンネリング装置＃１，＃２の送信レート制御等の構成は、本明細書で特記する部分以外は、特許文献２記載の構成を採用することができる。
【００３３】
ＷＡＮ（１５２）は、トンネリング装置＃１（２００）、トンネリング装置＃２（３００）と、その他の機器とで構成され、これら機器の相互間でデリバリプロトコルを用いて通信を行うワイドエリアネットワーク（ＷＡＮ）である。
【００３４】
ＬＡＮ＃１（１５１）は、トンネリング装置＃１（２００）及び端末（１０１）で構成され、これら機器の相互間でペイロードプロトコルを用いて通信するローカルエリアネットワーク（ＬＡＮ）である。
【００３５】
ＬＡＮ＃２（１５３）は、トンネリング装置＃２（３００）及び端末（１１１）で構成され、これら機器の相互間でペイロードプロトコルを用いて通信するローカルエリアネットワーク（ＬＡＮ）である。
【００３６】
また、ゲートウェイ装置であるトンネリング装置＃１（２００）及びトンネリング装置＃２（３００）により、ＬＡＮ＃２（１５３）とＬＡＮ＃１（１５１）とは同一のＬＡＮとして動作するよう相互に接続されている。このため、ＬＡＮ＃１（１５１）内の各端末と、ＬＡＮ＃２（１５３）内の各端末は端末間で、ＷＡＮを意識せず自由に通信ができる。
【００３７】
トンネリング装置＃１（２００）は、ＷＡＮ（１５２）上のトンネリング装置＃２（３００）との間でデリバリプロトコルを用いてネットワーク接続している。トンネリング装置＃１（２００）は、ＬＡＮ＃１（１５１）からのイーサネット（登録商標）フレーム（エンド端末が出力したフレーム）をカプセリングして、ＷＡＮ（１５２）へ転送する。また、トンネリング装置＃１（２００）は、逆にトンネリング装置＃２（３００）からＷＡＮ（１５２）を通して送られてきたイーサネットフレームのカプセリングを解除（デカプセリング）して、ＬＡＮ＃１（１５１）内に転送することで、離れたＬＡＮ同士を、ＷＡＮを介して接続させている。
【００３８】
カプセリングとは、図５（後述）のイーサネットフレーム（４００）を図６（後述）のイーサネットフレーム（５００）に変換することを指し、デカプセリングとは、図６のイーサネットフレーム（５００）を図５のイーサネットフレーム（４００）に変換することを指す。
【００３９】
端末（１０１）は、ＬＡＮの利用者が通常利用するコンピュータであり、端末（１１１）との間で通信を行う為のアプリケーション（例えばＷＥＢブラウザ／サーバ、ＦＴＰクライアント／サーバ、ファイル共有クライアント／サーバ等）及びＴＣＰやＩＰプロトコルが動作する。端末（１１１）は、端末（１０１）と同様の構成を持ち、同様の動作を行う。
【００４０】
本実施例では、トンネリング装置＃１、トンネリング装置＃２、端末はコンピュータの機能を備えているものとする。コンピュータは、周知のように、処理装置、記憶装置、入力装置、出力装置の構成を備える。本実施例では計算や制御等の機能は、記憶装置に格納されたプログラムが処理装置によって実行されることで、定められた処理を他のハードウェアと協働して実現される。本実施例、および実施例の各図において、処理装置が実行するプログラム、その機能、あるいはその機能を実現する手段を、「機能」、「手段」、「部」、「ユニット」、「モジュール」「ＴＣＰ」「ＩＰ」等と呼ぶ場合がある。
【００４１】
また、以後の説明では「〜テーブル」、「〜リスト」、「〜ＤＢ（Ｄａｔａｂａｓｅ）」、「〜キュー」、「情報」等の表現にて本実施例の構成を説明するが、これらは記憶装置に格納された情報である。等価な情報である限り、テーブル、リスト、ＤＢ、キュー、等のデータ構造以外で表現されていてもよい。
【００４２】
また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）」という表現を用いるが、これらについては互いに置換が可能である。
【００４３】
なお、本実施例中、プログラムで構成した機能と同等の機能は、FPGA（Field Programmable Gate Array）、ASIC（Application Specific Integrated Circuit）などのハードウェアでも実現でき、適宜置き換えが可能である。
【００４４】
＜２．トンネリング装置＃１の構成例＞
図２Ａと図２Ｂには、トンネリング装置＃１（２００）のブロック図が記載されている。図２ＡはＮＩＦ０（２０４）がＬＡＮ＃１（１５１）からパケットを受信した場合のデータの流れを、図２ＢはＮＩＦ１（２０５）がＷＡＮ（１５２）からパケットを受信した場合のデータの流れを示している。トンネリング装置＃１（２００）は、ネットワークインターフェースＮＩＦ０（２０４）、ＮＩＦ１（２０５）と、カプセリング制御部（２０１）、送受信制御部（２０２）、セッションパス制御部（２０３）、および、記憶部（２０６）を備える。
【００４５】
ＮＩＦ０（２０４）は、ＬＡＮ（１５１）からフレーム（データ）を受信してタグ管理部０（２４０）に送る（図２Ａ）。また、逆にタグ管理部０（２４０）よりデータを受け取りＬＡＮ（１５１）に送信する（図２Ｂ）。
【００４６】
ＮＩＦ１（２０５）は、ＷＡＮ（１５２）からフレーム（データ）を受信してタグ管理部１（２４１）に送る（図２Ｂ）。また、逆にタグ管理部１（２４１）よりデータを受け取りＷＡＮ（１５２）に送信する（図２Ａ）。
【００４７】
記憶部（２０６）は、状態テーブル（２０７）、送受信制御部（２０２）の送信バッファであるｓｂｕｆ０（２２５）と受信バッファであるｒｂｕｆ０（２２６）、カプセリング制御部（２０１）の送信バッファであるｓｂｕｆ１（２０８）と受信バッファであるｒｂｕｆ１（２０９）を備える。
【００４８】
セッションパス制御部（２０３）はタグ管理部０（２４０）とタグ管理部１（２４１）を備える。本実施例では、セッションパス制御部（２０３）は、タグ情報の着脱によりパケットの出力先を同一装置内で制御することで、ＬＡＮ側設置装置の通信とＷＡＮ側設置装置の通信を、同一の送受信制御部（２０２）を用いて行うことを可能にする。
【００４９】
タグ管理部０（２４０）、タグ管理部１（２４１）は、タグ（情報）の着脱や、受信したパケットに応じたパケット転送を行う。
【００５０】
カプセリング制御部（２０１）は、カプセリング部（２１０）、ＴＣＰ（２１１）、ＩＰ（２１２）、および転送先判定部（２１３）を備える。
【００５１】
カプセリング制御部（２０１）は、送受信制御部（２０２）との間でパケットを入出力し、パケットのカプセリング・デカプセリングを行う。
【００５２】
カプセリング部（２１０）は、転送先判定部（２２４）から受信したイーサネットフレームをデータとしてＴＣＰ（２１１）に渡してカプセリングする（図２Ａ）。また逆に、ＴＣＰ（２１１）から受信したイーサネットフレームからデータを取り出してデカプセリングし転送先判定部（２２４）に渡す（図２Ｂ）。
【００５３】
ＴＣＰ（２１１）は、ＴＣＰ（２１１）に通知される受信ウインドウサイズ及び、ＴＣＰ（２１１）の輻輳ウインドウサイズの双方をもとに送信レート（データ送信速度）を決定し輻輳制御を行い、カプセリング部（２１０）から渡されたデータを、ＩＰ（２１２）に向け送信する（図２Ａ）。
【００５４】
カプセリング制御部（２０１）のＴＣＰ（２１１）は、送受信制御部（２０２）のＴＣＰ（２２２）から送信されたデータを受信して、パケットの受信及び受信ウィンドウ通知をするための確認応答を行う（図２Ａ）。
【００５５】
ＴＣＰ（２１１）は受信したパケットの順序逆転、フレーム欠落、分割を元に戻し、カプセリング部（２１０）に転送する（図２Ｂ）。
【００５６】
また、ＴＣＰ（２１１）における最大セグメントサイズ（ＭＳＳ）は、ＴＣＰ（３１１）やＴＣＰ（２２２）とのやりとりで分割（フラグメント）されないサイズになっているものとする。
【００５７】
ＩＰ（２１２）は、ＴＣＰ（２１１）からデータを受信し、ＩＰヘッダ（５０２）及びＭＡＣヘッダ（５０１）等のＷＡＮ通信に必要なヘッダ（後述の図６参照）を付加してフレームを構成し、転送先判定部（２１３）に転送する（図２Ａ）。また、転送先判定部（２１３）から受信したフレームのＭＡＣヘッダ（５０１）及びＩＰヘッダ（５０２）を外し、ＴＣＰ（２１１）に転送する（図２Ｂ）。さらにＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）、ＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）等、ＷＡＮ通信に必要な各種プロトコル処理を行う。
【００５８】
転送先判定部（２１３）は、ＩＰ（２１２）からデータを受信してタグ管理部０（２４０）に送る（図２Ａ）。また、逆にタグ管理部０（２４０）よりデータを受け取りＩＰ（２１２）に送信する（図２Ｂ）。
【００５９】
送受信制御部（２０２）は、ＴＣＰ（２２２）とＩＰ（２２３）と転送先判定部（２２４）を備える。
【００６０】
送受信制御部（２０２）は、ＬＡＮ＃１（１５１）に接続した第一のインターフェースＮＩＦ０（２０４）から入ってきたパケットに代理応答を行い、送受信制御部（２０２）と自拠点端末（１０１）間でセッションを終端することで新たなセッションを生成し、ＬＡＮ側の通信を行う。また、ＷＡＮ（１５２）に接続した第二のインターフェースＮＩＦ１（２０５）から入ってきたパケットに代理応答を行い、送受信制御部と対向拠点端末間でセッションを終端することで新たなセッションを生成し、ＷＡＮ側の通信を行う。さらに、状態テーブル（２０７）を参照・書き込みすることでＬＡＮ側の通信とＷＡＮ側の通信の情報を共有し、それぞれの通信を適切に制御する。
【００６１】
転送先判定部（２２４）は、受信したパケットにタグがついているかどうかを判別し、タグ情報ありの場合はカプセリング制御部（２０１）のカプセリング部（２１０）へパケットを転送する。タグ情報がない場合は、セッションパス制御部（２０３）のタグ管理部１（２４１）へパケットを転送する（図２Ａ）。
【００６２】
ＴＣＰ（２２２）は、ＴＣＰ（２１１）と同様に働く。ＩＰ（２２３）は、ＩＰ（２１２）と同様に働く。図２では、実線がパケットの流れを示し、点線が状態テーブル１００１のデータ参照、書込、削除の様子を示す。
【００６３】
＜３．トンネリング装置＃２の構成例＞
図３には、トンネリング装置＃２（３００）のブロック図が記載されている。トンネリング装置＃２（３００）は、ネットワークインターフェースＮＩＦ０（３０４）、ＮＩＦ１（３０５）、および、カプセリング制御部（３０１）を備える。
【００６４】
カプセリング制御部（３０１）は、カプセリング部（３１０）とＴＣＰ（３１１）とＩＰ（３１２）を備える。
【００６５】
記憶部（３０６）は、状態テーブル（３０７）とＴＣＰ（３１１）の送信バッファであるｓｂｕｆ１（３０８）と受信バッファであるｒｂｕｆ１（３０９）を備える。
【００６６】
図３では、実線がパケットの流れを示し、点線が状態テーブル１００１のデータ参照、書込、削除の様子を示す。
【００６７】
＜４．状態テーブル＞
図４は、トンネリング装置＃１（２００）の記憶部（２０６）に記憶された、状態テーブル（２０７）の表図である。
【００６８】
状態テーブル（２０７）は、エントリ管理のためのＩｎｄｅｘ（２０７０）、送信元ＩＰアドレス（２０７１）、送信元ＴＣＰポート番号（２０７２）、送信先ＩＰアドレス（２０７３）、送信先ＴＣＰポート番号（２０７４）を格納する。これらの情報は、エントリ、アドレス、ポートを特定するための情報であり、セッションを特定する等、通常の通信制御のために用いる。
【００６９】
また、パケット送信先制御のためパケットに着脱するためのタグ情報であるセッションパス種別（２０７５）を格納する。セッションパス種別は装置内でセッションを特定できる情報である。
【００７０】
また、状態テーブル（２０７）は、送信したパケットに対しＡＣＫが返るまで送信したパケットを一時的に蓄積しておくバッファである送信バッファを管理するポインタと、受信したパケットを整列し一時的に蓄積しておくバッファである受信バッファを管理するポインタである、受信バッファ・送信バッファ管理ポインタ（２０７６）を有する。また、各制御部ＴＣＰのＯＰＥＮ／ＣＬＯＳＥ等の状態情報であるＴＣＰ状態（２０７７）を備える。ＴＣＰ状態（２０７７）は、送受信制御部（２０２）のＴＣＰ(２２２）と、カプセリング制御部（２０１）のＴＣＰ（２１１）の、状態テーブル（２０７）へのアクセス状態を示す。
【００７１】
また、状態テーブル（２０７）は、ＴＣＰで相手先から通知される相手先に送信できるデータのサイズを表す受信ウィンドウサイズ（２０７９）、ＴＣＰで輻輳制御を行う際に相手先に送信できるデータのサイズを表す輻輳ウィンドウサイズ（２０７１０）を備える。
【００７２】
さらに、状態テーブル（２０７）は、送受信制御部（２０２）のＴＣＰ(２２２）によって定められた送信レート（Ａ）（２０７１０）と、カプセリング制御部（２０１）のＴＣＰ（２１１）によって定められた送信レート（Ｂ）（２０７１１）を格納する。
【００７３】
状態テーブル（２０７）は、これらのデータをコネクション毎に管理する。ここで、コネクションとは、通信装置間でデータ通信を行うための論理的な回線を意味する。本実施例では、これらの情報を用いて、ＬＡＮ（１５１，１５３）とＷＡＮ（１５２）を連動して制御する。
【００７４】
また、ＴＣＰの情報は受信ウィンドウサイズ（２０７８）や輻輳ウィンドウサイズ（２０７９）に代えて、あるいは、これに加えて、通信を高速化するための情報としてスループット、パケット廃棄率やＲＴＴ等も保持してもよい。スループットはＲＴＴ÷受信ウィンドウサイズとして求めてもよい。これらの情報を用いることにより、トンネリング装置＃１の送受信制御部（２０２）は、ＷＡＮ（１５２）が行っている通信の状態を知ることができ、これに基づいて、自らの通信を制御することができる。
【００７５】
状態テーブルはＮ個（Ｎは１以上の整数）のエントリを持つ。エントリとはコネクション毎の２０７０〜２０７１１の情報のことである。なお、トンネリング装置＃２の状態テーブル（３０７）も、状態テーブル（２０７）と一部共通する構成を持つが、同一の符号を付して説明を省略する。
【００７６】
＜５．全体動作の説明＞
以下、図１〜図４を参照して、本実施の形態における動作を端末（１０１）から端末（１１１）にパケットを送信する場合を例に説明する。以下の説明では、既にセッションが状態テーブル（２０７）に登録されているものとする。
【００７７】
端末（１０１）のＴＣＰ（１０２）が、端末（１１１）のＴＣＰ（１１２）向けのパケットを、ＩＰ（１０３）、ＮＩＦ０（１０４）を介して送信する（図１）。
【００７８】
トンネリング装置＃１（２００）のＮＩＦ０（２０４）は、ＬＡＮ＃１（１５１）を経由して、端末（１０１）のＴＣＰ（１０２）が送信したパケットを受信する。ＮＩＦ０（２０４）は、受信したパケットをセッションパス制御部（２０３）へ転送する（図１）。
【００７９】
セッションパス制御部（２０３）は、パケットを受信し、受信したパケットにセッションパス制御部を経由したことを示すためのタグ１（５０００：後に図５で説明する）を付加する。その後、送受信制御部（２０２）にパケットを転送する（図１）。
【００８０】
送受信制御部（２０２）のＴＣＰ（２２２）はパケットを受信し、受信したパケットを送受信バッファ（２２５，２２６）に登録する。また、端末（１０１）のＴＣＰ（１０２）から通知される受信ウインドウサイズ、及びＴＣＰ（２２２）の輻輳ウインドウサイズ、及び、状態テーブル（２０７）の情報をもとに送信レート（パケット送信速度）等の制御情報を決定する。そして、ＩＰ（２２３）、転送先判定部（２２４）を経由して、タグの状態に従って、セッションパス制御部（２０３）のタグ管理部１（２４１）又はカプセリング制御部（２０１）にパケットを転送する。後に説明する例では、タグが１個の場合（セッションパス制御部（２０３）を１回経由）は、カプセリング制御部（２０１）へパケットを送信する。タグが２個の場合（セッションパス制御部（２０３）を２回経由）は、セッションパス制御部（２０３）のタグ管理部１（２４１）へパケットを送信する。
【００８１】
このとき、ＴＣＰ（２２２）は、状態テーブル（２０７）を参照することで送信レートを他のＴＣＰセッションを考慮して決定し、その情報を状態テーブル（２０７）の送信レート（Ａ）（２０７１０）に書き込む（図１、図２Ａ、図４）。
【００８２】
また、ＴＣＰ（２２２）はパケットを受信した際、代理応答としてＡＣＫをセッションパス制御部（２０３）のタグ管理部（２４０）を経由して返信する。ＡＣＫを返信するのはトンネリング装置＃１（２００）の送受信制御部（２０２）のＴＣＰ（２２２）であるため、受信ウィンドウサイズ通知はＴＣＰ（２２２）に基づく値が用いられる。
【００８３】
トンネリング装置＃１（２００）のカプセリング制御部（２０１）は、転送先判定部（２１３）を経由して受信したパケットを、カプセリング部（２１０）でカプセル化し、受信したパケットをＴＣＰ（２１１）に転送する。ＴＣＰ（２１１）は、パケットを受け取ると、これを送信バッファ（２０８）に格納し、ＴＣＰ（２２２）から通知される受信ウインドウサイズ及びＴＣＰ（２１１）の輻輳ウインドウサイズ及び状態テーブル（２０７）の情報をもとに送信レート（パケット送信速度）を決定する。そして、ＩＰ（２１２）、転送先判定部（２１３）を経由して、セッションパス制御部（２０３）のタグ管理部０（２４０）にパケットを転送する。このとき、ＴＣＰ（２１１）は、状態テーブル（２０７）を参照することで、送信レートを他のＴＣＰセッションを考慮して決定し、その情報を状態テーブル（２０７）の送信レート（Ｂ）（２０７１１）に書き込む（図１、図２Ａ、図４）。送信レートの決定手法は公知の種々の公知の方式が採用できるが、例えば、他のセッションの送信レートの傾向に合わせて増減させることが考えられる。
【００８４】
トンネリング装置＃１（２００）のセッションパス制御部（２０３）のタグ管理部０（２４０）は、ＴＣＰ（２１１）からパケットを受信し、受信したパケットに本セッションパス制御を経由したことを示すためのタグ２（６００１：後に図６で説明する）を付加する。その後、送受信制御部（２０２）のＴＣＰ（２２２）にパケットを転送する。この時点ではパケットには２個のタグ（タグ１（６０００）およびタグ２（６００１））が付加されている。
【００８５】
ＴＣＰ（２２２）は、パケットを受信し、受信したパケットを送受信バッファ（２２５，２２６）に登録する。また、ＴＣＰ（２２２）は、ＴＣＰ（２１１）から通知される受信ウインドウサイズ、ＴＣＰ（２２２）の輻輳ウインドウサイズ、及び、状態テーブル（２０７）の情報をもとに送信レート（パケット送信速度）を決定する。そして、ＩＰ（２２３）、転送先判定部（２２４）を経由して、パケットに添付されるタグが２個の場合には、セッションパス制御部（２０３）のタグ管理部１（２４１）に転送する。又は、タグが１個の場合には、カプセリング制御部（２０１）にパケットを転送する。
【００８６】
このとき、ＴＣＰ（２２２）は、状態テーブル（２０７）を参照することで送信レートを他のＴＣＰセッションを考慮して決定し、その情報を状態テーブル（２０７）の送信レート（Ａ）（２０７１０）に書き込む（上書きする）。このとき、状態テーブルの内容は、ＴＣＰ（２１１）の状況を反映しているため、設定される送信レートはカプセリング制御部（２０１）の状態を反映するものとなる。
【００８７】
また、パケットを受信した際、代理応答としてＡＣＫをセッションパス制御部（２０３）のタグ管理部（２４０）を経由して返信する。ＡＣＫを返信するのはトンネリング装置＃１（２００）の送受信制御部（２０２）のＴＣＰ（２２２）であるため、受信ウィンドウサイズ通知はＴＣＰ（２２２）に基づく値が用いられる。
【００８８】
トンネリング装置＃１（２００）のセッションパス制御部（２０３）のタグ管理部１（２４１）は、送受信制御部（２０２）の転送先判定部（２２４）からパケットを受信し、受信したパケットからタグを削除する。その後、ＮＩＦ１（２０５）にパケットを転送する（図１、図２Ａ）。
【００８９】
トンネリング装置＃２（３００）内のＮＩＦ０（２０５）は、ＷＡＮ（１５２）からパケットを受信し、パケットからＷＡＮ  ＤＡＴＡ（５０４）を取り出し、ＴＣＰ（３１１）に転送する（図１、図３）。
【００９０】
ＴＣＰ（３１１）は、パケットを受け取ると、これを送信バッファ（２０８）に格納し、ＩＰ（３０２）、ＮＩＦ０（３０５）を経由して、端末（１１１）にパケットを転送する。
【００９１】
ＴＣＰ（３１１）は、ＴＣＰ（２２２）に対して確認応答を行いＴＣＰ（３１１）の受信ウィンドウサイズを通知する（図２Ａ、図３）。
【００９２】
端末（１１１）のＮＩＦ０（１１４）は、パケットを受信し、受信したパケットをＴＣＰ（１１２）に転送する。ＴＣＰ（１１２）は、パケットを受け取ると、ＴＣＰ（１１２）の受信ウインドウサイズの通知及び確認応答を行う（図１）。
【００９３】
＜６．フレームフォーマット＞
図５は、ＬＡＮのフレームフォーマットを示すブロック図である。図５は、ＬＡＮ＃１（１５１）内（例えば端末（１０１）とトンネリング装置＃１（２００）の間）、ＬＡＮ＃２（１５３）（例えば端末（１１１）とトンネリング装置＃２（３００）の間）で送受信されるイーサネットフレーム（４００）のフォーマットを示す図である。
【００９４】
ＬＡＮ  ＭＡＣ（４０１）は、ＬＡＮ＃１（１５１）もしくはＬＡＮ＃２（１５３）で、レイヤ２（イーサネット）での通信を行うために必要なヘッダ（ＭＡＣ  ＤＡ、ＭＡＣ  ＳＡ、Ｅｔｈｅｒｎｅｔ（登録商標）  ＴＹＰＥ等、ＩＥＥＥに規定のヘッダ）を示している。
【００９５】
ＬＡＮ  ＩＰ（４０２）は、ＬＡＮ＃１（１５１）もしくはＬＡＮ＃２（１５３）で、レイヤ３（ＩＰ）での通信を行うために必要なヘッダ（ＩＰ  ＤＡ、ＩＰ  ＳＡ、ＩＰ  ＴＹＰＥ、他ＩＥＴＦに規定のヘッダ）を示している。
【００９６】
ＬＡＮ  ＴＣＰ（４０３）は、ＬＡＮ＃１（１５１）もしくはＬＡＮ＃２（１５３）内に存在する各機器の間で、ＴＣＰ通信を行うために必要なヘッダ（ポート番号やシーケンスナンバー等のＴＣＰヘッダ）を示している。
【００９７】
ＬＡＮ  ＤＡＴＡ（４０４）は、ＬＡＮ＃１（１５１）もしくはＬＡＮ＃２（１５３）内に存在する各機器で動作するソフトウェアの間（端末１０１と端末１０２の間）で交換されるデータである。
【００９８】
タグ１（５０００、６０００）とタグ２（６００１）は、本実施例で状態テーブル（２０７）のセッションパス種別（２０７５）に基づいて、タグ管理部（２４０，２４１）で脱着されるタグを示す。このタグはセッションを装置内で特定するために用いる。また、タグ（５０００、６０００、６００１）は、タグ管理部（２４０，２４１）で脱着され、パケットが外部のネットワークから到来したものか、装置内を経由したものかを判別するために用いられる。すなわち、タグがタグ１（５０００）１個の場合には、ＬＡＮ＃１（１５１）からＮＩＦ０（２０４）を経由してセッションパス制御部（２０３）を１度通過し、送受信制御部（２０２）に入力されたパケットであることを示す。また、タグがタグ１（６０００）とタグ２（６００１）の２個の場合には、さらに送受信制御部（２０２）とカプセリング制御部（２０１）を経て、送受信制御部（２０２）に入力されたパケットであることを示す。
【００９９】
なお、タグを添付する位置は、図５に示す位置に限る必要はない。また、本実施例では、パケットの経路を示すタグ２（６００１）としてセッションパス種別（２０７５）を示す情報であるタグ１（６０００）と同じものを流用しているが、タグ２（６００１）は他の情報、例えば、タグ管理０（２４０）を通過する毎にインクリメントされるカウンタでもよい。
【０１００】
図６は、ＷＡＮのフレームフォーマットを示すブロック図である。図６は、トンネリング装置＃１（２００）とトンネリング装置＃２（３００）との間で送受信されるイーサネットフレーム（５００）のフォーマットを示すブロック図である。
【０１０１】
ＷＡＮ  ＭＡＣ（５０１）は、ＷＡＮ（１５２）上で、レイヤ２（イーサネット）での通信を行うために必要なヘッダ（ＭＡＣ  ＤＡ、ＭＡＣ  ＳＡ、Ｅｔｈｅｒｎｅｔ  ＴＹＰＥ等、ＩＥＥＥに規定のヘッダ）を示している。
【０１０２】
ＷＡＮ  ＩＰ（５０２）は、ＷＡＮ（１５２）上で、レイヤ３（ＩＰ）での通信を行うために必要なヘッダ（ＩＰ  ＤＡ、ＩＰ  ＳＡ、ＩＰ  ＴＹＰＥ等、ＩＥＴＦに規定のヘッダ）を示している。
【０１０３】
ＷＡＮ  ＴＣＰ（５０３）は、ＷＡＮ（１５２）内に存在する各機器の間で、ＴＣＰによる通信を行うために必要なヘッダ（ポート番号やシーケンスナンバー等のＴＣＰヘッダ）を示している。
【０１０４】
ＷＡＮ  ＤＡＴＡ（５０４）は、ＷＡＮ（１５２）内に存在する各機器で動作するアプリケーション間（トンネリング装置＃１（２００）とトンネリング装置＃２（３００）の間等）で交換されるデータである。
【０１０５】
ＷＡＮ  ＤＡＴＡ（５０４）には、ＬＡＮ＃１（１５１）もしくはＬＡＮ＃２（１５３）上を流れるイーサネットフレーム（４００）が格納される。
【０１０６】
ＷＡＮ  ＤＡＴＡ（５０４）は、ＳＳＬ（セキュアソケットレイヤ）やＩＰｓｅｃ等を用いて暗号化してもよい。その場合は、状態テーブル（２０７）に暗号化や復号化のための情報（例えば公開鍵や暗号鍵）を加えてもよい。
【０１０７】
＜７．トンネリング装置＃１のＮＩＦ０への入力時処理フロー＞
図７は、トンネリング装置＃１（２００）のＮＩＦ０へのパケット入力時の処理のフローチャートである。
【０１０８】
トンネリング装置＃１（２００）は、タグ情報をパケットに着脱し、状態テーブルを更新して管理することでパケット送信先を管理し、同一装置内で同じ送受信制御部をＬＡＮ側とＷＡＮ側のＴＣＰ通信に用いることを可能とする。
【０１０９】
図７と図２Ａにて、トンネリング装置＃１（２００）のＮＩＦ０へのパケット入力を例にタグ情報のパケットへの着脱方法と状態テーブルの更新管理方法を説明する。
【０１１０】
ステップ１００２では、トンネリング装置＃１（２００）のＮＩＦ０（２０４）に入ったパケットを受信する。このとき受信するパケットは、イーサネットフレーム（４００）のフォーマットである。受信したパケットをそのままのフォーマットでセッションパス制御部（２０３）のタグ管理部０（２４０）へ転送する。
【０１１１】
ステップ１００３では、セッションパス制御部（２０３）のタグ管理部０（２４０）がＮＩＦ０（２０４）又はカプセリング制御部（２０１）の転送先判定部（２１３）からパケットを受信する。
【０１１２】
ＮＩＦ０（２０４）又はカプセリング制御部（２０１）の転送先判定部（２１３）から受信したパケットに対して、タグ管理部０（２４０）は状態テーブル（２０７）を参照し、送信元ＩＰアドレス（２０７１）、送信元ＴＣＰポート番号（２０７２）、送信先ＩＰアドレス（２０７３）、および、送信先ＴＣＰポート番号（２０７４）が受信したパケットの持つ情報と一致するかどうかを確認する。
【０１１３】
確認の結果、どれか１つでも不一致であれば新規のＴＣＰセッションが発生したと判断し、状態テーブル（２０７）に新規のエントリとして２０７１〜２０７４を登録する。その際、セッション番号を意味するＮバイト（Ｎは１以上）の情報をタグ情報としてセッションパス種別（２０７５）に登録する。全て一致であれば既に当該ＴＣＰセッションは状態テーブル（２０７）に登録されていると判断し、状態テーブル（２０７）へのエントリ追加は行わない。上記タグにより、第１のネットワークと第２のネットワークの間で、通信制御を連動させる。
【０１１４】
ＮＩＦ０（２０４）からパケットを受信した場合、タグ管理部０（２０４）は、状態テーブル（２０７）の、送信元ＩＰアドレス（２０７１）、送信元ＴＣＰポート番号（２０７２）、送信先ＩＰアドレス（２０７３）、および、送信先ＴＣＰポート番号（２０７４）が一致するエントリを検索する。一致するエントリがあれば、タグ管理部０（２０４）は、当該エントリのセッションパス種別（２０７５）を元に受信したパケットの先頭にセッション番号を意味するＮバイトのタグ１（５０００）を付着し、送受信制御部（２０２）のＩＰ（２２３）へ転送する。
【０１１５】
カプセリング制御部（２０１）の転送先判定部（２１３）からパケットを受信した場合、タグ管理部０（２０４）は、状態テーブル（２０７）の、送信元ＩＰアドレス（２０７１）、送信元ＴＣＰポート番号（２０７２）、送信先ＩＰアドレス（２０７３）、および、送信先ＴＣＰポート番号（２０７４）が一致するエントリを検索する。転送先判定部（２１３）から受信したパケットの場合、既にタグ１（６０００）が付着している。一致するエントリがあれば、タグ管理部０（２０４）は、当該エントリのセッションパス種別（２０７５）を元に受信したパケットの先頭にさらにセッション番号を意味するＮバイトのタグ２（６００１）を付着し、送受信制御部（２０２）のＩＰ（２２３）へ転送する。
【０１１６】
ステップ１００４では、送受信制御部（２０２）のＩＰ（２２３）がタグ管理部０（２４０）からパケットを受信する。ＩＰ（２２３）は、受信したパケットのＭＡＣヘッダ及びＩＰヘッダ等を外し、ＴＣＰ（２２２）に転送する。
【０１１７】
ステップ１００５では、送受信制御部（２０２）のＴＣＰ（２２２）がＩＰ（２２３）からパケットを受信する。
【０１１８】
ステップ１００６〜１００７では、ＴＣＰ（２２２）は、記憶部（２０６）のｓｂｕｆ０（２２５）に受信したパケットを格納し、状態テーブル（２０７）の受信バッファ・送信バッファ管理ポインタ（２０７７）を更新する。その後、ＴＣＰ（２２２）はＩＰ（２２３）にパケットを転送する。
【０１１９】
ステップ１００８では、ＩＰ（２２３）は、受信したパケットの、ＩＰ（２２３）で外したＭＡＣヘッダ及びＩＰヘッダ等を元に戻し、転送先判定部（２２４）に転送する。
【０１２０】
ステップ１００９では、送受信制御部（２０２）の転送先判定部（２２４）がＩＰ（２２３）からパケットを受信する。転送先判定部（２２４）は、パケットのタグの状態を判別し、タグが１個すなわちタグ１（５０００）のみありの場合はカプセリング制御部（２０１）のカプセリング部（２１０）へパケットを転送する。タグが２個すなわちタグ１（６０００）およびタグ２（６００１）がある場合は、セッションパス制御部（２０３）のタグ管理部１（２４１）へパケットを転送する。このとき転送されるパケットは、イーサネットフレーム（５００）とその先頭２＊Ｎバイトにタグ情報を付加したものである。
【０１２１】
ステップ１０１０は、パケットのタグが１個の場合の処理である。ここでは、カプセリング制御部（２０１）のカプセリング部（２１０）が、転送先判定部（２２４）からパケットを受信する。カプセリング部（２１０）により、イーサネットフレーム（４００）はイーサネットフレーム（５００）にカプセリングされ、ＷＡＮ  ＤＡＴＡ（５０４）に変換される。カプセリングする際には、先頭Ｎバイトのタグ情報はトンネリング装置＃１（２００）内でのみ用いられるため、一旦取り外す。カプセリング部（２１０）はＴＣＰ（２１１）にパケットを転送する。
【０１２２】
ステップ１０１１〜１０１２では、カプセリング制御部（２０１）のＴＣＰ（２１１）がカプセリング部（２１０）からパケットを受信する。ＴＣＰ（２１１）は、記憶部（２０６）のｓｂｕｆ０（２０８）に受信したパケットを格納し、状態テーブル（２０７）の受信バッファ・送信バッファ管理ポインタ（２０７７）を更新する。その後、ＴＣＰ（２１１）はＩＰ（２１２）にパケットを転送する。
【０１２３】
ステップ１０１３では、ＩＰ（２１２）は、受信したパケットのＭＡＣヘッダ及びＩＰヘッダをタグ情報とともに戻し、転送先判定部（２１３）に転送する。
【０１２４】
ステップ１０１４では、転送先判定部（２１３）はＩＰ（２１２）からパケットを受信する。このとき転送先判定部（２１３）が受信するパケットはイーサネットフレーム（５００）のフォーマットである。転送先判定部（２１３）は、状態テーブル（２０７）を参照し、ステップ１０１０で取り外したＮバイトのタグ情報をイーサネットフレーム（５００）のパケットの先頭に付加する。転送先判定部（２１３）はセッションパス制御部（２０３）のタグ管理部０（２４０）へパケットを転送する。
【０１２５】
ステップ１０１５は、パケットにタグが２つついている場合の処理である。ここでは、セッションパス制御部（２０３）のタグ管理部１（２４１）が送受信制御部（２０２）の転送先判定部（２２４）からパケットを受信する。このとき、タグ管理部１（２４１）が受信するパケットはイーサネットフレーム（５００）のフォーマットに２＊Ｎバイトのタグ情報を付加したものである。すなわち、図６に示すようにＮバイトのタグ１（６０００）とＮバイトのタグ２（６００１）が付されている。タグ管理部１（２４１）は、当該２＊Ｎバイトのタグ情報を削除し、ＮＩＦ１（２０５）にパケットを転送する。
【０１２６】
ステップ１０１６では、ＮＩＦ１（２０５）が受信したパケットを出力する。
【０１２７】
＜８．トンネリング装置＃１のＮＩＦ１への入力時処理フロー＞
図８は、トンネリング装置＃１（２００）のＮＩＦ１へのパケット入力時の処理のフローチャートである。図８と図２Ｂにて、トンネリング装置＃１（２００）のＮＩＦ１（２０５）へのパケット入力を例に,タグ情報のパケットへの着脱方法と状態テーブルの更新管理方法を説明する。
【０１２８】
ステップ１１０２では、トンネリング装置＃１（２００）のＮＩＦ１（２０５）に入ったパケットを受信する。このとき受信するパケットは、イーサネットフレーム（５００）のフォーマットである。受信したパケットをそのままのフォーマットでセッションパス制御部（２０３）のタグ管理部１（２４１）へ転送する。
【０１２９】
ステップ１１０３では、セッションパス制御部（２０３）のタグ管理部１（２４１）がＮＩＦ１（２０５）からパケットを受信する。ＮＩＦ１（２０５）から受信したパケットに対して、タグ管理部１（２４１）は状態テーブル（２０７）を参照し、送信元ＩＰアドレス（２０７１）、送信元ＴＣＰポート番号（２０７２）、送信先ＩＰアドレス（２０７３）、および、送信先ＴＣＰポート番号（２０７４）が、受信したパケットの持つ情報と一致するかどうかを確認する。
【０１３０】
確認の結果、どれか１つでも不一致であれば新規のＴＣＰセッションが発生したと判断し、状態テーブル（２０７）に新規のエントリとして２０７１〜２０７４を登録する。その際、セッション番号を意味する定めたＮバイトの情報をタグ情報としてセッションパス種別（２０７５）に登録する。
【０１３１】
全て一致であれば既に当該ＴＣＰセッションは状態テーブル（２０７）に登録されていると判断し、状態テーブル（２０７）へのエントリ追加は行わない。このとき、タグ管理部１（２４１）は、状態テーブル（２０７）に登録されているエントリのセッションパス種別（２０７５）を元に、パケットにタグ情報を付加する。これにより、タグ管理部１（２４１）から転送されるパケットは、イーサネットフレーム（５００）とその先頭Ｎバイトにタグ１（６０００）を付加したものである。
【０１３２】
ステップ（１１０４）では、送受信制御部（２０２）の転送先判定部（２２４）がタグ管理部１（２４１）からパケットを受信する。転送先判定部（２２４）は受信したパケットをそのままＩＰ（２２３）に転送する。
【０１３３】
ステップ（１１０５）では、ＩＰ（２２３）が転送先判定部（２２４）からパケットを受信する。ＩＰ（２２３）は、受信したパケットのＭＡＣヘッダ及びＩＰヘッダ等を外し、ＴＣＰ（２２２）に転送する。
【０１３４】
ステップ（１１０６〜１１０８）では、送受信制御部（２０２）のＴＣＰ（２２２）がＩＰ（２２３）からパケットを受信する。ＴＣＰ（２２２）は記憶部（２０６）のｒｂｕｆ０（２２５）に受信したパケットを格納し、状態テーブル（２０７）の受信バッファ・送信バッファ管理ポインタ（２０７７）を更新する。その後、ＴＣＰ（２２２）はＩＰ（２２３）にパケットを転送する。
【０１３５】
ステップ（１１０９）では、ＩＰ（２２３）は、受信したパケットの、ＩＰ（２２３）で外したＭＡＣヘッダ及びＩＰヘッダを元に戻し、セッションパス制御部（２０３）のタグ管理部０（２４０）に転送する。
【０１３６】
ステップ（１１１０）では、セッションパス制御部（２０３）のタグ管理部０（２０４）はＩＰ（２２３）からパケットを受信する。このとき受信するパケットは、イーサネットフレーム（５００）とその先頭Ｎバイトにタグ情報が付加されたものか、またはタグ情報の付加されていないイーサネットフレーム（４００）である。
【０１３７】
タグ情報が付加されている場合、タグ管理部０（２０４）は、タグ情報を削除し、カプセリング制御部（２０１）の転送先判定部（２１３）にパケットを転送する。
【０１３８】
タグ情報が付加されていない場合、タグ管理部０（２０４）はＮＩＦ０（２０４）にパケットをそのまま転送する。
【０１３９】
ステップ（１１１１）では、カプセリング制御部（２０１）の転送先判定部（２１３）がパケットを受信する。転送先判定部（２１３）は受信したパケットの先頭Ｎバイトのタグ情報を一旦取り外し、ＩＰ（２１２）に転送する。
【０１４０】
ステップ（１１１２）では、カプセリング制御部（２０１）のＩＰ（２１２）がパケットを受信する。ＩＰ（２１２）は、受信したパケットのＭＡＣヘッダ及びＩＰヘッダ等を外し、ＴＣＰ（２１１）に転送する。
【０１４１】
ステップ（１１１３〜１１１５）では、ＴＣＰ（２１１）は、記憶部（２０６）のｒｂｕｆ１（２０９）に受信したパケットを格納し、状態テーブル（２０７）の受信バッファ・送信バッファ管理ポインタ（２０７７）を更新する。その後、ＴＣＰ（２１１）はカプセリング部（２１０）にパケットを転送する。
【０１４２】
ステップ（１１１６）では、カプセリング制御部（２０１）のカプセリング（２１０）がパケットを受信する。カプセリング部（２１０）は、イーサネットフレーム（５００）をデカプセリングしイーサネットフレーム（４００）を取り出す。取り出したイーサネットフレーム（４００）を送受信制御部（２０２）の転送先判定部（２２４）へ転送する。カプセリング部（２１０）は、状態テーブル（２０７）を参照し、ステップ１１１１で取り外したＮバイトのタグ情報をイーサネットフレーム（４００）のパケットの先頭に付加する。
【０１４３】
ステップ（１１１７）では、ＮＩＦ１（２０５）が受信したパケットを出力する。
【０１４４】
以上の図７、図８の処理は、情報処理装置（コンピュータ）がソフトウェアによりハードウエア資源を制御することにより事項することができる。
【０１４５】
＜９．ＴＣＰのパケットのシーケンス＞
図９は、図１のシステムにおける各制御部ＴＣＰのパケットのシーケンス図である。図９には、本実施例におけるトンネリング装置＃１（２００）の送受信制御部（２０２）が送信端末（１０１）に代理応答した際のＡＣＫの返信方法を説明するため、端末（１０１）から端末（１１１）に向けてデータパケット２個（ＤＡＴＡ＃１（６５１），ＤＡＴＡ＃２（６５６））を送信した際のシーケンス図を示している。
【０１４６】
図中、送受信制御部（２０２Ａ）と（２０２Ｂ）は物理的には同一構成であるが、パケットの送信シーケンス上区別している。送受信制御部（２０２Ａ）は図２ＡでＮＩＦ０（２０４）からタグ管理０（２４０）を経由して入ってきたパケットの処理に対応し、送受信制御部（２０２Ｂ）は図２Ａで転送先判定部（２１３）からタグ管理０（２４０）を経由して入ってきたパケットの処理に対応する。なお、実施形態としては、送受信制御部を２つ備えてもよいが、本実施例ではパケットにタグを付加することにより、１つの送受信制御部で動作するように構成している。
【０１４７】
トンネリング装置＃１（２００）の送受信制御部（２０２Ａ）は、フロー制御により先頭パケットであるＤＡＴＡ＃１（６５１）を受け取ってもＡＣＫを返信しない。トンネリング装置＃１（２００）の送受信制御部（２０２Ａ）は、２つ目のパケットであるＤＡＴＡ＃２（６５６）を受け取ってから、１つ目のパケットに対するＡＣＫパケットであるＡＣＫ＃１（６６１）を返信する。
【０１４８】
端末（１０１）は、２つ目のパケットであるＤＡＴＡ＃２（６５６）を送信しても、２つ目のパケットに対するＡＣＫ＃１（６６１）しか受信していないので、送信が完了していないと判断したままである。
【０１４９】
トンネリング装置＃１（２００）の送受信制御部（２０２Ｂ）は、２つ目のパケットであるＤＡＴＡ＃‘２（ＤＡＴＡ＃２）（６５８）を受け取ってから、１つ目のパケット（６５３）に対するＡＣＫパケットであるＡＣＫ＃‘１（６６２）を代理応答で返信する。このときＡＣＫ＃‘１（６６２）のＷＡＮ  ＤＡＴＡ（５０４）は空であるため、カプセリング制御部（２０１）がデカプセリングした際、ＷＡＮ  ＤＡＴＡ（５０４）はパケットが入っておらず、カプセリング制御部（２０１）から送受信制御部（２０２Ｂ）へＡＣＫが返ることはない。
【０１５０】
トンネリング装置＃１（２００）のカプセリング制御部（２０１）は、ＷＡＮ  ＤＡＴＡ（５０４）が空でないＡＣＫパケットであるＡＣＫ＃１（６６４）を受け取ると、そのパケットをデカプセリングし、１つ目のパケットに対するＡＣＫパケットであるＡＣＫ＃１（６６３）として送信側へ送信する。
【０１５１】
トンネリング装置＃２（３００）のカプセリング制御部（３０１）から２つ目のパケットであるＤＡＴＡ＃２（６６６）が端末（１１１）に到達して初めて、２つ目のパケットに対する末尾のＡＣＫ＃２（６７１）が端末（１１１）から返信され、端末（１１１）は受信が完了したと判断する。
【０１５２】
トンネリング装置（３００）のカプセリング制御部（３０１）は、末尾のＡＣＫパケットであるＡＣＫ＃２（６７１）を受け取ると、そのパケットをカプセリングし、２つ目のパケットに対する末尾のＡＣＫパケットであるＡＣＫ‘＃２（ＡＣＫ＃２）（６７０）として送信側へ送信する。
【０１５３】
トンネリング装置＃１（２００）の送受信制御部（２０２Ｂ）は、末尾のＡＣＫパケットであるＡＣＫ＃２（６７０）を受け取ると、２つ目のパケットに対する末尾のＡＣＫパケットであるＡＣＫ‘＃２（ＡＣＫ＃２）（６６９）として送信側へ送信する。
【０１５４】
トンネリング装置＃１（２００）のカプセリング制御部（２０１）は、受け取ったパケットをデカプセリングし、２つ目のパケットに対する末尾のＡＣＫパケットであるＡＣＫ＃２（６６７）として端末（１０１）に送信する。
【０１５５】
端末（１０１）は、末尾のＡＣＫパケットであるＡＣＫ＃２（６６７）を受け取り、送信が完了したと判断する。
【０１５６】
端末（１１１）で受信が完了したと判断されない限り、末尾のＡＣＫパケットが端末（１０１）に返信されることはなく、端末（１０１）が送信完了と判断しないため、端末（１０１）が最終データパケットを受け取れないまま、通信が終了することはない。
【０１５７】
上記のカプセリング制御部ＴＣＰ（２０１）が、送受信制御部（２０２Ｂ）が代理応答で返信したＡＣＫ＃‘１（６６２）には、カプセリング制御部（２０１）から送受信制御部（２０２Ａ）へＡＣＫを返さず、ＡＣＫ‘＃１（ＡＣＫ＃１）（６６４）には、カプセリング制御部（２０１）から送受信制御部（２０２Ａ）へＡＣＫを返す動作により、ＶＰＮシステムのようなカプセリング前後で別々のプロトコルを用いた通信が発生する環境においても、１つＡＣＫが遅れた状態を維持することで、通信の整合性を維持することができる。
【０１５８】
なお、上述のように、ひとつ前に受信したデータパケットに対するＡＣＫを送信する以外にも、２つ前、３つ前など少なくともひとつ前のデータパケットに対するＡＣＫを送信してもよい。また、先頭パケット１１０に対しては、ＡＣＫを送信しない以外にも、先頭パケットの最後尾データに対応する受信シーケンス番号を含まないような（例えば、０〜１４５９）ＡＣＫを返送し、先頭パケットの最後尾データに対応する受信シーケンス番号を含むＡＣＫは返送しないようにしてもよい。
【０１５９】
＜１０．トンネリング装置＃１のハードウェア構成＞
図１０は、図１に示したトンネリング装置＃１（２００）を実現するハードウェア構成の一例を示している。図１０の構成例では、トンネリング装置＃１（２００）は、ＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｏｒ Ｕｎｉｔ）（１５１）、ＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）（１５４）、入力装置（１５５）、表示装置（１５３）、及び、外部記憶装置（１５６）がインターフェイス（１５２）を介して接続された、一般的な構成を有するコンピュータ（電子計算機）である。
【０１６０】
入力装置１５５は、例えば、キーボードやマウスなどであり、表示装置（１５３）は、表示用ディスプレイ、外部記憶装置（１５６）は、ＨＤＤ（Ｈａｒｄ Ｄｉｓｋ Ｄｒｉｖｅ）などである。ＣＰＵ（１５１）は、ＲＡＭ（１５４）上にロードしたプログラムを実行することで、図１に示すカプセリング制御部（２０１）、送受信制御部（２０２）、セッションパス制御部（２０３）をプロセスとして具現化する。また、インターフェイス（１５２）は、装置内の各構成要素間のデータを送受信する内部パスであり、外部記憶装置（１５６）には、各データベース(記憶部（２０６）など)、及び、カプセリング制御部（２０１）、送受信制御部（２０２）、セッションパス制御部（２０３）の実行プログラムが格納される。
【０１６１】
以上の構成は、単体のコンピュータで構成してもよいし、あるいは、入力装置、出力装置、ＣＰＵ、ＲＡＭや記憶装置の任意の部分が、ネットワークで接続された他のコンピュータで構成されてもよい。
【実施例２】
【０１６２】
以下、実施例２を図１１〜図１２を用いて説明する。
【０１６３】
図１１には、トンネリング装置＃１−１（２００）を自拠点のＬＡＮとＷＡＮの境界に設置し、トンネリング装置＃１−２（２５０）を対向拠点のＬＡＮとＷＡＮの境界に設定したシステムが記載されている。
【０１６４】
図１１のトンネリング装置＃１−１（２００）は、図１のトンネリング装置＃１（２００）と同様の構成である。図１１では、図１のトンネリング装置＃２（３００）を、トンネリング装置＃１−１（２００）と同様の構成であるトンネリング装置＃１−２（２５０）に置き換えている。従って、等価な構成には図１と同じ符号を付して説明を省略する。図１１の例では、ＬＡＮ＃１（１５１）に接続されている端末（１０１）とＬＡＮ＃２に接続されている端末（１１１）では、合計で８つのＴＣＰ通信を経由して通信が行われる。
【０１６５】
トンネリング装置＃１−２（２５０）は、ネットワークインターフェースＮＩＦ０（２５４）、ＮＩＦ１（２５５）、カプセリング制御部（２５１）、送受信制御部（２５２）、および、セッションパス制御部（２５３）を備える。
【０１６６】
以下、図１１を参照して、本実施の形態における動作を端末（１０１）と端末（１１１）にパケットを送信する場合を例に説明する。
【０１６７】
端末（１０１）のＴＣＰ（１０２）が端末（１１１）のＴＣＰ（１１２）向けのパケットを送信する。トンネリング装置＃１−１（２００）の動作は、図２Ａ、図２Ｂで説明したものと同様であり、実施例１と同様のため省略する。また、トンネリング装置＃１−２（２５０）の動作は、トンネリング装置＃１−１（２００）の送受信動作と対称の構成となる。
【０１６８】
図１２は、図１１のシステムにおける各制御部ＴＣＰのパケットのシーケンス図である。
図１２には、本実施例におけるトンネリング装置＃１−１（２００）の送受信制御部（２０２）が送信端末に代理応答した際のＡＣＫの返信方法を説明するため、端末（１０１）から端末（１１１）に向けて２つのデータパケット２個（ＤＡＴＡ＃１（７５１），ＤＡＴＡ＃２（７５８））を送信した際のシーケンス図を示している。
【０１６９】
通常、ＴＣＰは、ＤＡＴＡ＃ｎを受け取った際、ＤＡＴＡ＃ｎに対応するＡＣＫ＃ｎ返信するが、トンネリング装置（２００）の送受信制御部（２０２）は、先頭パケットであるＤＡＴＡ＃１（７５１）を受け取ってもＡＣＫ＃１を返信しない。トンネリング装置（２００）の送受信制御部（２０２）は、２つ目のパケットであるＤＡＴＡ＃２（７５８）を受け取ってから、１つ目のパケットに対するＡＣＫパケットであるＡＣＫ＃１（７６５）を返信する。
【０１７０】
端末（１０１）は、２つ目のパケットであるＤＡＴＡ＃２（７５８）を送信しても、２つ目のパケットに対するＡＣＫ＃１（７６５）しか受信していないので、送信が完了していないと判断したままである。
【０１７１】
トンネリング装置＃１−１（２００）の送受信制御部（２０２）は、２つ目のパケットであるＤＡＴＡ＃‘２（ＤＡＴＡ＃２）（７６０）を受け取ってから、１つ目のパケット（７５３）に対するＡＣＫパケットであるＡＣＫ＃１（７６６）を代理応答で返信する。このときＡＣＫ＃１（７６６）のＷＡＮ  ＤＡＴＡ（５０４）は空であるため、カプセリング制御部（２０１）がデカプセリングした際、ＷＡＮ  ＤＡＴＡ（５０４）はパケットが入っておらず、カプセリング制御部（２０１）から送受信制御部（２０２）へＡＣＫが返ることはない。
【０１７２】
トンネリング装置＃１−２（２５０）のカプセリング制御部（２５１）は、ＷＡＮ  ＤＡＴＡ（５０４）は空でないＡＣＫパケットであるＡＣＫ＃１（７６９）を受け取ると、そのパケットをデカプセリングし、１つ目のパケットに対するＡＣＫパケットであるＡＣＫ＃１（７６８）として送信側へ送信する。
【０１７３】
トンネリング装置＃１−２（２５０）の送受信制御部（２５２）から２つ目のパケットであるＤＡＴＡ＃２（７６４）が端末（１１１）に到達して初めて、２つ目のパケットに対する末尾のＡＣＫ＃２（７８０）が端末（１１１）から返信され、端末（１１１）は受信が完了したと判断する。
【０１７４】
トンネリング装置＃１−２（２５０）のカプセリング制御部（２５１）は、ＡＣＫパケットであるＡＣＫ＃１（７７２）を受け取ると、そのパケットをカプセリングし、１つ目のパケットに対するＡＣＫパケットであるＡＣＫ‘＃１（ＡＣＫ＃１）（７７１）として送信側へ送信する。
【０１７５】
トンネリング装置＃１−２（２５０）のカプセリング制御部（２５１）は、末尾のＡＣＫパケットであるＡＣＫ＃２（７７８）を受け取ると、そのパケットをカプセリングし、２つ目のパケットに対する末尾のＡＣＫパケットであるＡＣＫ‘＃２（ＡＣＫ＃２）（７７７）として送信側へ送信する。
【０１７６】
トンネリング装置＃１−１（２００）のカプセリング制御部（２０１）は、ＡＣＫパケットであるＡＣＫ＃’１（ＡＣＫ＃１）（７６９）を受け取ると、１つ目のパケットに対するＡＣＫパケットであるＡＣＫ＃１（７６８）として送信側へ送信する。
【０１７７】
トンネリング装置＃１−１（２００）のカプセリング制御部（２０１）は、末尾のＡＣＫパケットであるＡＣＫ＃’２（ＡＣＫ＃２）（７７５）を受け取ると、２つ目のパケットに対するＡＣＫパケットであるＡＣＫ＃２（７７４）として送信側へ送信する。
【０１７８】
トンネリング装置＃１−１（２００）の送受信制御部（２０２）は、末尾のＡＣＫパケットであるＡＣＫ＃２（７７３）を受け取ると、２つ目のパケットに対する末尾のＡＣＫパケットであるＡＣＫ＃２（７７３）として端末（１０１）へ送信する。
【０１７９】
端末（１０１）は、末尾のＡＣＫパケットであるＡＣＫ＃２（７７３）を受け取り、送信が完了したと判断する。
【０１８０】
端末（１１１）で受信が完了したと判断されない限り、末尾のＡＣＫパケットが端末（１０１）に返信されることはなく、端末（１０１）が送信完了と判断しないため、端末（１０１）が最終データパケットを受け取れないまま、通信が終了することはない。
【０１８１】
上記のカプセリング制御部ＴＣＰ（２０１）が、送受信制御部（２０２）が代理応答で返信したＡＣＫ＃１（７６６）には、カプセリング制御部（２０１）から送受信制御部（２０２）へＡＣＫを返さず、ＡＣＫ‘＃１（ＡＣＫ＃１）（６６４）には、カプセリング制御部（２０１）から送受信制御部（２０２）へＡＣＫを返す動作により、ＶＰＮシステムのようなカプセリング前後で別々のプロトコルを用いた通信が発生する環境においても、１つＡＣＫが遅れた状態を維持することで、通信の整合性を維持することができる。
なお、上述のように、ひとつ前に受信したデータパケットに対するＡＣＫを送信する以外にも、２つ前、３つ前など少なくともひとつ前のデータパケットに対するＡＣＫを送信してもよい。また、先頭パケット１１０に対しては、ＡＣＫを送信しない以外にも、先頭パケットの最後尾データに対応する受信シーケンス番号を含まないような（例えば、０〜１４５９）ＡＣＫを返送し、先頭パケットの最後尾データに対応する受信シーケンス番号を含むＡＣＫは返送しないようにしてもよい。
【符号の説明】
【０１８２】
１０１  端末
１０２  ＴＣＰ
１０３  ＩＰ
１０４  ＮＩＦ０
１１１  端末
１１２  ＴＣＰ
１１３  ＩＰ
１１４  ＮＩＦ０
１５１  ＬＡＮ＃１
１５２  ＷＡＮ
１５３  ＬＡＮ＃２
２００  トンネリング装置＃１
２０１  カプセリング制御部
２０２  送受信制御部
２０３  セッションパス制御部
２０４  ＮＩＦ０
２０５  ＮＩＦ１
３００  トンネリング装置＃２
３０１  カプセリング制御部
３０４  ＮＩＦ１
３０５  ＮＩＦ０
【図１】
2017152787.tif 000003
【図２Ａ】
2017152787.tif 000004
【図２Ｂ】
2017152787.tif 000005
【図３】
2017152787.tif 000006
【図４】
2017152787.tif 000007
【図５】
2017152787.tif 000008
【図６】
2017152787.tif 000009
【図７】
2017152787.tif 000010
【図８】
2017152787.tif 000011
【図９】
2017152787.tif 000012
【図１０】
2017152787.tif 000013
【図１１】
2017152787.tif 000014
【図１２】
2017152787.tif 000015