(57)【要約】【課題】  パケット通信網でのパケット転送において、距離に依存せず高速で効率的なデータ転送をすることを可能とし、遠隔にある端末に対して大容量データを効率良く高速転送を行う。【解決手段】  相互接続されるそれぞれの端末１，２の近くにＴＣＰプロキシ装置４，５を設置し、両端末１，２はそれぞれの近くのＴＣＰプロキシ装置４，５とＴＣＰでデータ転送を行う。ＴＣＰプロキシ装置４，５間は高速転送専用ネットワーク６で結ばれており、ＴＣＰのように距離に依存しない独自の転送技術で高速転送を行う。これにより、転送速度が距離に依存する部分は、それぞれの端末１，２とＴＣＰプロキシ装置４，５間のみとなるため、長距離間のデータ転送を行う場合にも転送速度が低下することはない。【選択図】        図１
2005136684.tif 000002
【特許請求の範囲】
【請求項１】
パケット転送網に複数の端末が接続され、送信側の端末においてパケットに受信側の端末のアドレスを付与し、前記パケット転送網を通じて、前記送信側の端末から前記受信側の端末に対してＴＣＰを使用してデータ転送を行うネットワークのデータ転送方法であって、
前記パケット転送網に複数のＴＣＰプロキシ装置を配置し、
送信側の端末から、該送信側の端末が接続された送信側のＴＣＰプロキシ装置に対して、ＴＣＰを使用してデータ転送を行う手順と、
前記送信側のＴＣＰプロキシ装置から、受信側の端末が接続された受信側のＴＣＰプロキシ装置に対して、定期的に再送制御とフロー制御を行いながらＵＤＰを使用してデータ転送を行うと共に、前記送信側の端末に対して確認応答パケットを返す手順と、
前記受信側のＴＣＰプロキシ装置から前記受信側の端末に対して、ＴＣＰを使用して前記送信側のＴＣＰプロキシ装置から転送されてきたデータの転送を行う手順と
を有することを特徴とするデータ転送方法。
【請求項２】
請求項１に記載のデータ転送方法であって、
前記送信側のＴＣＰプロキシ装置において、
送信側の端末から受信側の端末に対して送信されたパケットを受信し、該パケットの送信元論理アドレスを前記受信側の端末の論理アドレスとして、前記送信側の端末に確認応答を返す手順と、受信したパケットを蓄積する手順と、蓄積したパケットから、ＵＤＰを使用したデータ転送のためのパケットを生成する手順とを有し、
前記受信側のＴＣＰプロキシ装置において、
前記送信側のＴＣＰプロキシ装置から送信された、ＵＤＰを使用したデータ転送のためのパケットを受信して、前記送信側の端末から受信側の端末に対して送信された元のパケットを復元する手順と、復元したパケットを蓄積する手順と、前記受信側の端末から前記送信側の端末に対して送信された確認応答パケットを受信する手順と、受信した前記受信側の端末からの確認応答パケットに応じて、該受信側の端末に対して、蓄積したデータをＴＣＰを使用して転送する手順とを有する
ことを特徴とするデータ転送方法。
【請求項３】
請求項１もしくは請求項２のいずれかに記載のデータ転送方法であって、
前記送信側のＴＣＰプロキシ装置と前記受信側のＴＣＰプロキシ装置の間のデータ転送手順として、
前記送信側のＴＣＰプロキシ装置が送信側の端末から受信したパケットを、前記受信側のＴＣＰプロキシ装置に、確認応答を待たずに連続して送信する手順と、
前記受信側のＴＣＰプロキシ装置が、定期的に確認応答および受信速度を前記送信側のＴＣＰプロキシ装置に対して送信する手順と、
前記送信側のＴＣＰプロキシ装置が、前記受信側のＴＣＰプロキシ装置から受信した受信速度を基に計算した速度を越えないように、送信速度を調整する手順と、
前記送信側のＴＣＰプロキシ装置が、前記受信側のＴＣＰプロキシ装置から受信した確認応答パケットを調べ、損失したパケットをまとめて送信する手順と
を有することを特徴とするデータ転送方法。
【請求項４】
請求項１から請求項３のいずれかに記載のデータ転送方法であって、
端末と端末の間のＴＣＰ接続を確立する手順として、
接続を開始する端末（以下クライアント端末）から接続を受ける端末（以下サーバ端末）に対して、ＴＣＰ接続要求を送信する手順と、
前記クライアント端末からの接続要求を、該クライアント側のＴＣＰプロキシ装置が受信し、該クライアント側のＴＣＰプロキシ装置において、受信したパケットにＴＣＰプロキシ装置間の転送用の新たなヘッダを付加してカプセル化した後に、前記サーバ側のＴＣＰプロキシ装置に対して、前記カプセル化したパケットを用いてＴＣＰプロキシ装置間の接続要求を送信する手順と、
前記接続要求を受信したサーバ側のＴＣＰプロキシ装置において、前記カプセル化したパケットから前記ＴＣＰプロキシ装置間装置の転送用のヘッダを取り除き、前記サーバ端末に対して送信元を前記クライアント端末としてＴＣＰ接続要求を送信する手順と、
該サーバ側のＴＣＰプロキシ装置からのＴＣＰ接続要求を受信した前記サーバ端末において、前記クライアント端末に対するＴＣＰ確認応答及びＴＣＰ接続要求を送信する手順と、
該サーバ端末からの前記クライアント端末に対するＴＣＰ確認応答及びＴＣＰ接続要求を前記サーバ側のＴＣＰプロキシ装置で受信し、該サーバ側のＴＣＰプロキシ装置において、受信したパケットにＴＣＰプロキシ装置間転送用の新たなヘッダを付加してカプセル化した後に、前記クライアント側のＴＣＰプロキシ装置に対して、ＴＣＰプロキシ装置間接続確認応答を送信してＴＣＰプロキシ装置間の接続を確立する手順と、
前記サーバ側のＴＣＰプロキシ装置からのＴＣＰプロキシ装置間接続確認応答を受信した前記クライアント側のＴＣＰプロキシ装置において、前記カプセル化したパケットから前記ＴＣＰプロキシ装置間装置の転送用のヘッダを取り除き、前記クライアント端末に対して、送信元を前記サーバ端末としてＴＣＰ確認応答及びＴＣＰ接続要求を送信する手順と、
前記クライアントＴＣＰプロキシからのＴＣＰ確認応答及びＴＣＰ接続要求を受信した前記クライアント端末において、前記サーバ端末に対し、ＴＣＰ確認応答を送信する手順と、
前記クライアント端末からの前記サーバ端末に対するＴＣＰ確認応答を前記クライアント側のＴＣＰプロキシ装置で受信し、該クライアント側のＴＣＰプロキシ装置において、前記サーバ側のＴＣＰプロキシ装置に対して、ＴＣＰプロキシ装置間転送用のヘッダを付加してパケットを送信する手順と、
前記クライアント側のＴＣＰプロキシ装置からのパケットを受信した前記サーバ側ＴＣＰプロキシ装置において、前記カプセル化したパケットから前記ＴＣＰプロキシ装置間転送用のヘッダを取り除いて、前記サーバ端末に対して、送信元を前記クライアント端末としてＴＣＰ確認応答を送信し、前記クライアント端末と前記サーバ端末間でのＴＣＰ接続を確立する手順と
を有することを特徴とするデータ転送方法。
【請求項５】
請求項１から請求項４のいずれかに記載のデータ転送方法であって、
前記ＴＣＰプロキシ装置において、端末から受信したパケットのＴＣＰヘッダの送受信ポート番号および、ＩＰヘッダのバージョン、プロトコル、送受信論理アドレスを記憶する手順と、
送信側のＴＣＰプロキシ装置において、送信側の端末から受信したパケットの、ＴＣＰヘッダの送受信ポート番号および、ＩＰヘッダのバージョン、プロトコル、送受信論理アドレスを取り除いた後、ＴＣＰプロキシ装置間転送用の新たなヘッダを付加して受信側のＴＣＰプロキシ装置に送信する手順と、
該受信側のＴＣＰプロキシ装置において、前記送信側のＴＣＰプロキシ装置からのパケットを受信し、受信したパケットからＴＣＰプロキシ装置間転送用のヘッダを取り除いた後、前記記憶したＩＰヘッダのバージョン、プロトコル、送受信論理アドレスおよび、ＴＣＰヘッダの送受信ポート番号を付加して受信側の端末に送信する手順と
を有することを特徴とするデータ転送方法。
【請求項６】
請求項１から請求項４のいずれかに記載のデータ転送方法であって、
前記送信側のＴＣＰプロキシ装置において、前記送信側の端末から受信したパケットの、ＴＣＰヘッダおよび、ＩＰヘッダを取り除くことなく、ＴＣＰプロキシ装置間の転送用の新たなヘッダを付加して受信側のＴＣＰプロキシ装置に送信する手順と、
前記送信側のＴＣＰプロキシ装置からのパケットを受信した受信側のＴＣＰプロキシ装置において、前記パケットからＴＣＰプロキシ装置間転送用のヘッダを取り除いた後、該パケットを受信側の端末に送信する手順と
を有することを特徴とするデータ転送方法。
【請求項７】
請求項１から請求項６いずれかに記載のデータ転送方法であって、
送信側の端末と受信側の端末との間に確立されているＴＣＰ接続を切断する手順として、
転送を終えた送信側の端末から、受信側の端末に対して、ＴＣＰ接続終了要求を送信する手順と、
前記送信側の端末からの前記受信側の端末に対するＴＣＰ接続終了要求を前記送信側のＴＣＰプロキシ装置で受信し、該送信側のＴＣＰプロキシ装置において、ＴＣＰプロキシ装置間の転送が完了したことを確認した後、受信したパケットにＴＣＰプロキシ装置間の転送用の新たなヘッダを付加してカプセル化した後に、受信側のＴＣＰプロキシ装置に対して転送する手順と、
前記送信側のＴＣＰプロキシ装置からのパケットを受信した前記受信側のＴＣＰプロキシ装置において、前記カプセル化したパケットから前記ＴＣＰプロキシ装置間の転送用のヘッダを取り除いて、自受信側のＴＣＰプロキシ装置と前記受信側の端末間の転送が完了したことを確認した後、前記受信側の端末に対して、送信元を前記送信側の端末としてＴＣＰ接続終了要求を送信する手順と、
前記受信側のＴＣＰプロキシ装置からのＴＣＰ接続終了要求を受信した前記受信側の端末において、前記送信側の端末に対し、ＴＣＰ確認応答を送信する手順と、
前記受信側の端末からの前記送信側の端末に対するＴＣＰ確認応答を前記受信側のＴＣＰプロキシ装置で受信し、該受信側のＴＣＰプロキシ装置において、受信したパケットにＴＣＰプロキシ装置間の転送用の新たなヘッダを付加してカプセル化した後に、前記送信側のＴＣＰプロキシ装置に対して送信する手順と、
前記受信側のＴＣＰプロキシ装置からのパケットを受信した前記送信側のＴＣＰプロキシ装置において、前記カプセル化したパケットから前記ＴＣＰプロキシ装置間の転送用のヘッダを取り除いて、前記送信側の端末に対して、送信元を前記受信側の端末としてＴＣＰ確認応答を送信する手順と、
前記受信側の端末から、前記送信側の端末に対して、ＴＣＰ接続終了要求を送信する手順と、
前記受信側の端末からのＴＣＰ接続終了要求を、前記受信側のＴＣＰプロキシ装置で受信し、該受信側のＴＣＰプロキシ装置において、受信したパケットにＴＣＰプロキシ装置間の転送用の新たなヘッダを付加してカプセル化した後に、前記送信側のＴＣＰプロキシ装置に対して、パケットを送信する手順と、
前記受信側のＴＣＰプロキシ装置からのパケットを受信した前記送信側のＴＣＰプロキシ装置において、前記カプセル化したパケットから前記ＴＣＰプロキシ装置間の転送用のヘッダを取り除いて、前記送信側の端末に対して、送信元を前記受信側の端末としてＴＣＰ接続終了要求を送信する手順と、
前記送信側のＴＣＰプロキシ装置からの接続終了要求を受信した前記送信側の端末において、前記受信側の端末に対し、ＴＣＰ確認応答を送信する手順と、
前記送信側の端末からの前記受信側の端末に対する確認応答を前記受信側のＴＣＰプロキシ装置で受信し、該受信側のＴＣＰプロキシ装置において、受信したパケットにＴＣＰプロキシ装置間転送用の新たなヘッダを付加してカプセル化した後に、受信側のＴＣＰプロキシ装置に対して、パケットを転送する手順と、
前記送信側のＴＣＰプロキシ装置からのパケットを受信した前記受信側のＴＣＰプロキシ装置において、前記カプセル化したパケットから前記ＴＣＰプロキシ装置間の転送用のヘッダを取り除いて、前記受信側の端末に対して、送信元を前記送信側の端末としてＴＣＰ確認応答を送信する手順と、
前記受信側のＴＣＰプロキシ装置からのＴＣＰ確認応答を受信した前記受信側の端末において、前記送信側の端末と前記受信側の端末のＴＣＰ接続を切断する手順と、
前記送信側のＴＣＰプロキシ装置において、前記受信側のＴＣＰプロキシ装置に対して確認応答を送信した一定時間経過後、前記受信側のＴＣＰプロキシ装置に対し、ＴＣＰプロキシ装置間の転送接続終了要求を送信する手順と、
前記送信側のＴＣＰプロキシ装置からのＴＣＰプロキシ装置間転送終了要求を受信した前記受信側のＴＣＰプロキシ装置において、前記送信側のＴＣＰプロキシ装置に対し、ＴＣＰプロキシ装置間の転送接続切断確認応答を送信する手順と、
前記受信側のＴＣＰプロキシ装置からのＴＣＰプロキシ装置間転送接続切断確認応答を受信した前記送信側のＴＣＰプロキシ装置において、前記ＴＣＰプロキシ装置間の転送接続を切断し、全体の接続を切断する手順と
を有することを特徴とするデータ転送方法。
【請求項８】
コンピュータに、請求項１から請求項７のいずれかに記載のデータ転送方法における各手順を実行させるためのプログラム。
【請求項９】
複数の端末が接続されたパケット転送網に配置されるＴＣＰプロキシ装置であって、
端末から前記パケット転送網にＴＣＰを使用して転送されたパケットを受信する受信手段と、
受信パケットに対応する確認応答パケットを前記受信パケットの送信側の端末に返すと共に、前記受信パケットの受信側の端末に接続された相手側のＴＣＰプロキシ装置との間で、定期的に再送制御とフロー制御を行いながらＵＤＰを使用して前記受信パケットの転送を行う転送手段と、
前記送信側の端末に接続された相手側のＴＣＰプロキシ装置からＵＤＰを使用して転送される受信パケットを受信して、前記受信側の端末に対してＴＣＰを使用して送信する送信手段と
を具備することを特徴とするＴＣＰプロキシ装置。
【請求項１０】
請求項９に記載のＴＣＰプロキシ装置であって、
前記転送手段は、
前記送信側の端末から前記受信手段により受信したパケットに対応して、前記受信側の端末の論理アドレスを送信元論理アドレスとする確認応答パケットを前記送信手段を介して前記送信側の端末に返す手段と、
前記送信側の端末から受信したパケットを蓄積する手段と、
蓄積したパケットから前記ＵＤＰを使用して転送するためのパケットを生成する手段と、
前記送信側の端末が接続された相手側のＴＣＰプロキシ装置から前記ＵＤＰを使用して転送されるパケットを受信し、該パケットを、前記送信側の端末から前記受信側の端末に対してＴＣＰを使用して転送された元のパケットに復元する手段と、
復元したパケットを蓄積する手段と、
前記受信側の端末から前記送信側の端末に対して返される確認応答パケットを前記受信手段により受信すると、前記蓄積した復元パケットを前記送信手段を介して前記受信側の端末にＴＣＰを使用して送信する手段を有することを特徴とするＴＣＰプロキシ装置。
【請求項１１】
請求項９もしくは請求項１０のいずれかに記載のＴＣＰプロキシ装置であって、
前記転送手段は、
前記送信側の端末から前記受信手段により受信したパケットを前記相手側のＴＣＰプロキシ装置に送信する際、該相手側のＴＣＰプロキシ装置からの確認応答を待たずに連続して送信する手段と、
相手側のＴＣＰプロキシ装置から該ＴＣＰプロキシ装置が前記送信側の端末から受信したパケットを受信する際、定期的に確認応答および受信速度を前記相手側のＴＣＰプロキシ装置に対して送信する手段と、
前記送信側の端末から前記受信手段により受信したパケットを前記相手側のＴＣＰプロキシ装置に送信する際、該相手側のＴＣＰプロキシ装置から受信した前記受信速度を基に計算した速度を越えないように送信速度を調整する手段と、
前記相手側のＴＣＰプロキシ装置から受信した前記確認応答パケットを調べ、損失したパケットをまとめて送信する手段と
を有することを特徴とするＴＣＰプロキシ装置。
【請求項１２】
請求項９から請求項１１のいずれかに記載のＴＣＰプロキシ装置であって、
前記転送手段は、
前記送信側の端末から前記受信手段により受信したＴＣＰ接続要求パケットにＴＣＰプロキシ装置間の転送用の新たなヘッダを付加してカプセル化した後に、前記受信側の端末に接続された相手側のＴＣＰプロキシ装置に対して、前記カプセル化したパケットを用いてＴＣＰプロキシ装置間接続の要求を送信する手段と、
相手側のＴＣＰプロキシ装置から前記カプセル化したパケットを用いたＴＣＰプロキシ装置間接続の要求を受信すると、該パケットから前記ＴＣＰプロキシ装置間の転送用のヘッダを取り除き、送信元を前記送信側の端末としたＴＣＰ接続要求を前記送信手段を介して接続先の前記受信側の端末に送信する手段と、
接続先の前記受信側の端末から前記受信手段により受信した前記送信側の端末に対するＴＣＰ確認応答およびＴＣＰ接続要求パケットに前記ＴＣＰプロキシ装置間転送用の新たなヘッダを付加してカプセル化した後に、前記送信側の端末に接続された相手側のＴＣＰプロキシ装置に対して送信し、前記相手側のＴＣＰプロキシ装置間での接続を確立する手段と
を有することを特徴とするＴＣＰプロキシ装置。
【請求項１３】
請求項９から請求項１２のいずれかに記載のＴＣＰプロキシ装置であって、
前記転送手段は、
端末から前記受信手段により受信したパケットのＴＣＰヘッダの送受信ポート番号およびＩＰヘッダのバージョン、プロトコル、送受信論理アドレスを記憶する手段と、
前記送信側の端末から前記受信手段により受信したパケットのＴＣＰヘッダの送受信ポート番号およびＩＰヘッダのバージョン、プロトコル、送受信論理アドレスを取り除いた後、ＴＣＰプロキシ装置間転送用の新たなヘッダを付加して前記受信側の端末に接続された相手側のＴＣＰプロキシ装置に送信する手段と、
前記送信先の端末に接続された相手側のＴＣＰプロキシ装置からの前記ＴＣＰプロキシ装置間転送用のヘッダが付加されたパケットを受信する手段と、
前記相手側のＴＣＰプロキシ装置から受信したパケットから前記ＴＣＰプロキシ装置間転送用のヘッダを取り除いた後、前記記憶したＩＰヘッダのバージョン、プロトコル、送受信論理アドレスおよび、ＴＣＰヘッダの送受信ポート番号を付加し、前記送信手段を介して接続先の前記受信側の端末に送信する手段
を有することを特徴とするＴＣＰプロキシ装置。
【請求項１４】
請求項９から請求項１３のいずれかに記載のＴＣＰプロキシ装置であって、
前記転送手段は、
前記送信側の端末から前記受信手段により受信した前記受信側の端末に対するＴＣＰ接続終了要求パケットにＴＣＰプロキシ装置間転送用の新たなヘッダを付加してカプセル化した後に、前記受信側の端末に接続された相手側のＴＣＰプロキシ装置に対して転送する手段と、
相手側のＴＣＰプロキシ装置から受信した前記ＴＣＰプロキシ装置間転送用のヘッダが付加されたパケットから該ヘッダを取り除き、送信元を前記送信側の端末とした前記ＴＣＰ接続終了要求パケットを、前記受信側の端末間でのパケット転送が完了したことを確認した後、該受信側の端末に対して前記送信手段を介して送信する手段と、
前記受信側の端末から前記受信手段により受信した前記送信側の端末に対するＴＣＰ確認応答パケットにＴＣＰプロキシ装置間転送用の新たなヘッダを付加してカプセル化した後に、前記送信側の端末に接続された相手側のＴＣＰプロキシ装置に対して送信する手段と、
相手側のＴＣＰプロキシ装置から受信した前記ＴＣＰ確認応答パケットをカプセル化したパケットから該パケットに付加された前記ＴＣＰプロキシ装置間転送用のヘッダを取り除いて、送信元を前記受信側の端末とした前記ＴＣＰ確認応答パケットを前記送信手段を介して前記送信側の端末に対して送信する手段と、
前記受信側の端末から前記受信手段により受信した前記送信側の端末に対するＴＣＰ接続終了要求パケットにＴＣＰプロキシ装置間転送用の新たなヘッダを付加してカプセル化した後に、前記送信側の端末に接続された相手側のＴＣＰプロキシ装置に対して送信する手段と、
相手側のＴＣＰプロキシ装置から受信した前記ＴＣＰ接続終了要求パケットをカプセル化したパケットから該パケットに付加された前記ＴＣＰプロキシ装置間転送用のヘッダを取り除いて、送信元を前記受信側の端末とした前記ＴＣＰ確認終了要求パケットを前記送信手段を介して前記送信側の端末に対して送信する手段と、
前記送信側の端末から前記受信手段により受信した前記受信側の端末に対するＴＣＰ確認応答パケットにＴＣＰプロキシ装置間転送用の新たなヘッダを付加してカプセル化した後に、前記受信側の端末に接続された相手側のＴＣＰプロキシ装置に対して転送する手段と、
相手側のＴＣＰプロキシ装置から受信した前記ＴＣＰ確認応答パケットをカプセル化したパケットから該パケットに付加された前記ＴＣＰプロキシ装置間転送用のヘッダを取り除いて、送信元を前記送信側の端末とした前記ＴＣＰ確認応答パケットを前記送信手段を介して前記受信側の端末に対して送信する手段と、
前記受信側の端末に接続された相手側のＴＣＰプロキシ装置に前記ＴＣＰ確認応答パケットを送信して一定時間経過後、前記相手側のＴＣＰプロキシ装置に対し、ＴＣＰプロキシ装置間転送接続終了要求パケットを送信する手段と、
前記送信側の端末に接続された相手側のＴＣＰプロキシ装置からのＴＣＰプロキシ装置間転送終了要求パケットを受信すると、該相手側のＴＣＰプロキシ装置に対し、ＴＣＰプロキシ装置間転送接続切断確認応答パケットを送信する手段と、
前記受信側の端末に接続された相手側のＴＣＰプロキシ装置からの前記ＴＣＰプロキシ装置間転送接続切断確認応答パケットを受信すると、該相手側のＴＣＰプロキシ装置との間で確立されているＴＣＰプロキシ装置間転送接続を切断する手段と
を有することを特徴とするＴＣＰプロキシ装置。
【請求項１５】
複数の端末をパケット転送網に接続したネットワークシステムであって、
請求項９から請求項１４のいずれかに記載のＴＣＰプロキシ装置を複数設け、
該ＴＣＰプロキシ装置間を専用ネットワークで接続したことを特徴とするネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット通信網におけるパケット転送技術に係わり、特に、遠隔にある端末に対して大容量データを効率良く高速転送する通信技術に関するものである。
【背景技術】
【０００２】
パケット通信網において、ダウンロードやアップロード型の転送を行うには、通常、確実を期すためにＴＣＰ（Transmission ControlＰrotocol）が使用される。
【０００３】
ＴＣＰとは、トランスポートレイヤ中のプロトコルであり、通信の信頼性を保証するために用いられる。受信側の端末においてパケットが正しく受信されると、送信側の端末に対して確認応答パケットを返す。送信側の端末は、確認応答パケットを受け取ってパケットが確実に届いたことを確認した後、次のパケットを送信する。送信側の端末において、もしも一定時間確認応答パケットが届かない場合、途中の経路でパケットロスが発生したと判断し、同じパケットの再送を行う。
【０００４】
しかし、このようにパケットごとに確認応答を待っていると時間がかかりすぎるため、転送効率を上げる技術としてウインドウ制御がある。このウインドウ制御においては、送信側の端末は確認応答を待たずに複数のパケットを送信し、受信側の端末では、受け取ったパケットを一旦受信バッファに保存し、順に処理して確認応答を返す。確認応答を待たずに送信することのできるパケットの量をウインドウサイズと呼ぶ。ウインドウサイズが大きければ転送効率は上がるが、ウインドウサイズは受信側の端末のバッファサイズに依存するため、無制限に大きくすることはできない。
【０００５】
また、ＴＣＰはネットワークの混雑状況に応じてウインドウサイズを変化させる、輻輳制御を行う。例えば、最初はウインドウサイズを１パケット分とし、確認応答が返ってくるごとにウインドウサイズを上昇させる。もしもパケットロスが発生した場合、送信側の端末は、ネットワークの輻輳が起こっていると判断し、直ちにウインドウサイズを減らして輻輳状態を回避しようとする。通常は、１回のパケットロスでウインドウサイズを半分にする。
【０００６】
このように、ＴＣＰは、必ずパケットの確認応答を行うため、正確、確実である反面、処理の多さによって転送速度の低下を引き起こすことがある。特に長距離間のデータ転送では、確認応答の待ち時間のために、非常に転送速度が低くなってしまう。
【０００７】
このため、ストリーミングやＶｏＩＰ（Voice over Internet Protocol）などの遅延に敏感なアプリケーションのパケットは、ＴＣＰではなく、ＵＤＰ（User Datagram Protocol）で転送されることが多い。ＵＤＰではＴＣＰのようなパケット到着確認応答やフロー制御を一切行わないため高速な通信が可能であるが、その分、信頼性に乏しいため、転送先のデータの正確さは保証されない。
【０００８】
また、前述のようにＴＣＰは、輻輳制御によりウインドウサイズを変化させ、パケットロスが起き過ぎないようにネットワークの混雑状況に応じて送信量を調節するが、無線などのパケットロスが起きやすい環境では、伝送エラーによるパケットロスであってもネットワーク輻輳と解釈されてウインドウサイズを落とすため、転送速度が上がらないという問題がある。
【０００９】
この問題を解決するため、例えば特許文献１に記載のように、ＴＣＰで接続された端末間にＴＣＰプロキシ装置を設置するという技術がある。このＴＣＰプロキシ装置は、無線通信でのローカル復元や連結切れ処理に用いられる他、サーバに対する外部からの攻撃の防御に使用されることもある。
【００１０】
しかし、このようなＴＣＰプロキシ装置の利用によって、無線区間の転送効率は改善されるものの、長距離間の確認応答の遅延による転送速度の低下を防ぐことはできない。
【特許文献１】特表２００２−５０９３９２７号
【発明の開示】
【発明が解決しようとする課題】
【００１１】
解決しようとする問題点は、従来の技術では、相互接続される端末の距離が長くなるに従ってパケット到着確認応答時間が長くなり、データ転送速度が低下する点である。
【００１２】
本発明の目的は、これら従来技術の課題を解決し、距離に依存せず高速で効率的なデータ転送を可能とすることである。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明では、相互接続されるそれぞれの端末の近くにＴＣＰプロキシ装置を設置し、両端末はそれぞれの近くのＴＣＰプロキシ装置とＴＣＰでデータ転送を行う。ＴＣＰプロキシ装置間は専用ネットワークで結ばれており、ＴＣＰのように距離に依存しない独自の転送技術で高速転送を行う。高速転送はＵＤＰで行うが、データの信頼性を保証するため、アプリケーションレイヤで最低限の確認応答およびフロー制御を行う。これにより、転送速度が距離に依存する部分は、それぞれの端末とＴＣＰプロキシ装置間のみとなるため、長距離間のデータ転送を行う場合にも転送速度が低下することはない。
【発明の効果】
【００１４】
本発明によれば、パケット通信網でのパケット転送において、距離に依存せず高速で効率的なデータ転送をすることができ、遠隔にある端末に対して大容量データを効率良く高速転送することが可能である。
【発明を実施するための最良の形態】
【００１５】
以下、図を用いて本発明を実施するための最良の形態例を説明する。
【実施例】
【００１６】
図１は、本発明に係わるデータ転送システムの構成例を示すブロック図であり、図２は、通常のＴＣＰ転送の手順例を示すシーケンス図、図３は、図１におけるデータ転送システムでのデータ転送の手順例を示すシーケンス図である。
【００１７】
図１において、１，２はパーソナルコンピュータ等からなる端末、３はパケット転送網、４，５はＴＣＰプロキシ装置、６は高速転送用ネットワークである。
【００１８】
端末１，２およびＴＣＰプロキシ装置４，５のそれぞれは、ＣＰＵ（Central Processing Unit）や主メモリ、表示装置、入力装置、外部記憶装置等を周するコンピュータ構成からなり、光ディスク駆動装置等を介してＣＤ−ＲＯＭ等の記憶媒体に記録されたプログラムやデータを外部記憶装置内にインストールした後、この外部記憶装置から主メモリに読み込みＣＰＵで処理することにより、各処理部の機能を実行する。
【００１９】
例えば、ＴＣＰプロキシ装置４，５のそれぞれは、接続された端末１，２からパケット転送網３にＴＣＰを使用して転送されたパケットを受信する受信部１０と、受信部１０で受信したパケットに対応する確認応答パケットを送信側の端末（１，２）に返すと共に、受信側の端末（１，２）に接続された相手側のＴＣＰプロキシ装置（４，５）との間で、定期的に再送制御とフロー制御を行いながらＵＤＰを使用して送信側の端末（１，２）からの受信パケットの転送を行う転送部１１と、送信側の端末（１，２）に接続された相手側のＴＣＰプロキシ装置（４，５）との間で転送されるパケットを受信し、受信パケットを受信側の端末（１，２）に対してＴＣＰを使用して送信する送信部１２とを具備する。
【００２０】
また、ＴＣＰプロキシ装置４，５の転送部１１は、送信側の端末（１，２）から受信部１０により受信したパケットに対応して、受信側の端末（１，２）の論理アドレスを送信元論理アドレスとする確認応答パケットを送信部１２を介して送信側の端末（１，２）に返す機能と、送信側の端末（１，２）から受信したパケットを記憶装置に蓄積する機能と、蓄積したパケットからＵＤＰを使用して転送するためのパケットを生成する機能と、送信側の端末（１，２）が接続された相手側のＴＣＰプロキシ装置（４，５）からＵＤＰを使用して転送されるパケットを受信し、このパケットを、送信側の端末（１，２）から受信側の端末（１，２）に対してＴＣＰを使用して転送された元のパケットに復元する機能と、復元したパケットを記憶装置に蓄積する機能と、受信側の端末（１，２）から送信側の端末（１，２）に対して返される確認応答パケットを受信部１０により受信すると、記憶装置に蓄積した復元パケットを送信部１２を介して受信側の端末（１，２）にＴＣＰを使用して送信する機能を有する。
【００２１】
また、ＴＣＰプロキシ装置４，５の転送部１１は、送信側の端末（１，２）から受信部１０により受信したパケットを相手側のＴＣＰプロキシ装置（４，５）に送信する際、相手側のＴＣＰプロキシ装置（４，５）からの確認応答を待たずに連続して送信する機能と、相手側のＴＣＰプロキシ装置（４，５）から、このＴＣＰプロキシ装置（４，５）が送信側の端末（１，２）から受信したパケットを受信する際、定期的に確認応答および受信速度を相手側のＴＣＰプロキシ装置（４，５）に対して送信する機能と、送信側の端末（１，２）から受信部１０により受信したパケットを相手側のＴＣＰプロキシ装置（４，５）に送信する際、相手側のＴＣＰプロキシ装置（４，６）から受信した受信速度を基に計算した速度を越えないように送信速度を調整する機能と、相手側のＴＣＰプロキシ装置（４，５）から受信した確認応答パケットを調べ、損失したパケットをまとめて送信する機能とを有する。
【００２２】
また、ＴＣＰプロキシ装置４，５の転送部１１は、送信側の端末（１，２）から受信部１０により受信したＴＣＰ接続要求パケットにＴＣＰプロキシ装置間の転送用の新たなヘッダを付加してカプセル化した後に、受信側の端末（１，２）に接続された相手側のＴＣＰプロキシ装置（４，５）に対して、カプセル化したパケットを用いてＴＣＰプロキシ装置間接続の要求を送信する機能と、相手側のＴＣＰプロキシ装置（４，５）からカプセル化したパケットを用いたＴＣＰプロキシ装置間接続の要求を受信すると、このパケットからＴＣＰプロキシ装置間の転送用のヘッダを取り除き、送信元を送信側の端末としたＴＣＰ接続要求を、送信部１２を介して接続先の受信側の端末（１，２）に送信する機能と、接続先の受信側の端末（１，２）から受信部１０により受信した送信側の端末（１，２）に対するＴＣＰ確認応答およびＴＣＰ接続要求パケットにＴＣＰプロキシ装置間転送用の新たなヘッダを付加してカプセル化した後に、送信側の端末（１，２）に接続された相手側のＴＣＰプロキシ装置（４，５）に対して送信し、相手側のＴＣＰプロキシ装置（４，５）間での接続を確立する機能とを有する。
【００２３】
また、ＴＣＰプロキシ装置４，５の転送部１１は、端末（１，２）から受信部１０により受信したパケットのＴＣＰヘッダの送受信ポート番号およびＩＰヘッダのバージョン、プロトコル、送受信論理アドレスを記憶装置に記憶する機能と、送信側の端末（１，２）から受信部１０により受信したパケットのＴＣＰヘッダの送受信ポート番号およびＩＰヘッダのバージョン、プロトコル、送受信論理アドレスを取り除いた後、ＴＣＰプロキシ装置間転送用の新たなヘッダを付加して受信側の端末（１，２）に接続された相手側のＴＣＰプロキシ装置（４，５）に送信する機能と、送信先の端末（１，２）に接続された相手側のＴＣＰプロキシ装置（４，５）からのＴＣＰプロキシ装置間転送用のヘッダが付加されたパケットを受信する機能と、受信したパケットからＴＣＰプロキシ装置間転送用のヘッダを取り除いた後、記憶したＩＰヘッダのバージョン、プロトコル、送受信論理アドレスおよび、ＴＣＰヘッダの送受信ポート番号を付加し、送信部１２を介して受信側の端末（１，２）に送信する機能を有する。
【００２４】
また、ＴＣＰプロキシ装置４，５の転送部１１は、送信側の端末（１，２）から受信部１０により受信した受信側の端末（１，２）に対するＴＣＰ接続終了要求パケットにＴＣＰプロキシ装置間転送用の新たなヘッダを付加してカプセル化した後に、受信側の端末に接続された相手側のＴＣＰプロキシ装置（４，５）に対して転送する機能と、相手側のＴＣＰプロキシ装置（４，５）から受信したＴＣＰプロキシ装置間転送用のヘッダが付加されたパケットから当該ヘッダを取り除き、送信元を送信側の端末としたＴＣＰ接続終了要求パケットを、受信側の端末間でのパケット転送が完了したことを確認した後、送信部１２を介して受信側の端末（１，２）に送信する機能と、受信側の端末（１，２）から受信部１０により受信した送信側の端末（１，２）に対するＴＣＰ確認応答パケットにＴＣＰプロキシ装置間転送用の新たなヘッダを付加してカプセル化した後に、送信側の端末（１，２）に接続された相手側のＴＣＰプロキシ装置（４，５）に対して送信する機能と、相手側のＴＣＰプロキシ装置（４，５）から受信したＴＣＰ確認応答パケットをカプセル化したパケットから当該パケットに付加されたＴＣＰプロキシ装置間転送用のヘッダを取り除いて、送信元を受信側の端末としたＴＣＰ確認応答パケットを送信部１２を介して送信側の端末（１，２）に送信する機能と、受信側の端末（１，２）から受信部１０により受信した送信側の端末（１，２）に対するＴＣＰ接続終了要求パケットにＴＣＰプロキシ装置間転送用の新たなヘッダを付加してカプセル化した後に、送信側の端末（１，２）に接続された相手側のＴＣＰプロキシ装置（４，５）に対して送信する機能と、相手側のＴＣＰプロキシ装置（４，５）から受信したＴＣＰ接続終了要求パケットをカプセル化したパケットから当該パケットに付加されたＴＣＰプロキシ装置間転送用のヘッダを取り除いて、送信元を受信側の端末としたＴＣＰ確認終了要求パケットを送信部１２を介して送信側の端末（１，２）に送信する機能と、送信側の端末（１，２）から受信部１０により受信した受信側の端末（１，２）に対するＴＣＰ確認応答パケットにＴＣＰプロキシ装置間転送用の新たなヘッダを付加してカプセル化した後に、受信側の端末（１，２）に接続された相手側のＴＣＰプロキシ装置（４，５）に対して転送する機能と、相手側のＴＣＰプロキシ装置（４，５）から受信したＴＣＰ確認応答パケットをカプセル化したパケットから当該パケットに付加されたＴＣＰプロキシ装置間転送用のヘッダを取り除いて、送信元を送信側の端末としたＴＣＰ確認応答パケットを受信側の端末（１，２）に対して送信部１２を介して送信する機能と、受信側の端末（１，２）に接続された相手側のＴＣＰプロキシ装置（４，５）にＴＣＰ確認応答パケットを送信して一定時間経過後、相手側のＴＣＰプロキシ装置（４，５）に対し、ＴＣＰプロキシ装置間転送接続終了要求パケットを送信する機能と、送信側の端末（１，２）に接続された相手側のＴＣＰプロキシ装置（４，５）からのＴＣＰプロキシ装置間転送終了要求パケットを受信すると、相手側のＴＣＰプロキシ装置（４，５）に対し、ＴＣＰプロキシ装置間転送接続切断確認応答パケットを送信する機能と、受信側の端末（１，２）に接続された相手側のＴＣＰプロキシ装置（４，５）からのＴＣＰプロキシ装置間転送接続切断確認応答パケットを受信すると、相手側のＴＣＰプロキシ装置（４，５）との間で確立されているＴＣＰプロキシ装置間転送接続を切断する機能とを有する。
【００２５】
以下、このような機能・構成からなるＴＣＰプロキシ装置４，５を用いた本例のネットワークシステムの詳細を説明する。尚、ここでは、端末１を送信側の端末、端末２を受信側の端末として説明する。
【００２６】
図１に示すように、端末１の近くにＴＣＰプロキシ装置４が設置され、端末２の近くにＴＣＰプロキシ装置５が設置され、ＴＣＰプロキシ装置４，５同士は互いに専用の高速転送用ネットワーク６で結ばれている。
【００２７】
端末１から端末２に対してデータ転送を行う場合、通常のＴＣＰ転送では図２のような流れとなる。図２では、ウインドウサイズを２パケット（Ａ，Ｂ）に固定した例を示している。端末１ａは、端末２ａから確認応答パケット（Ａ）が返ってくるまで次のパケット（Ｂ）を送ることができないため、端末１ａ，２ａ間の距離が長くなるに従って確認応答（Ａ，Ｂ）を待つ時間が長くなり、非常に効率が悪い。ウインドウサイズを大きくすれば一度に送ることのできるパケットが増えるので効率が上がりそうであるが、ネットワークが混雑していた場合や、低帯域の回線が途中に存在した場合、一気にパケットを送るとパケットロスとなって再送が増えるため、余計に転送効率が悪くなることもある。
【００２８】
これに対して本例では、図１に示すように、それぞれの端末１，２の近くにＴＣＰプロキシ装置４，５を設置し、各端末１，２はＴＣＰプロキシ装置４，５を通じて転送を行う。例えば、図３に示すように、端末１から端末２へ向けて送信されたパケットは、まずＴＣＰプロキシ装置４に受信され、ＴＣＰプロキシ装置４は、パケットを受け取るとすぐに確認応答を端末１に返し、データを蓄積する。
【００２９】
端末１は確認応答が返ってくれば、端末２がパケットを正確に受信したと判断し、次のパケットを送信する。また、ＴＣＰプロキシ装置５は、ＴＣＰプロキシ装置４から受け取ったデータを蓄積し、端末２に対してＴＣＰ転送を行う。ＴＣＰプロキシ装置４，５間は距離に依存しない高速転送を行い、実質的にＴＣＰ接続がなされているのは各端末１，２と、その近くにあるＴＣＰプロキシ装置４，５の間となる。
【００３０】
これにより、転送速度に影響するのは端末１，２とＴＣＰプロキシ装置４，５間の距離のみとなるため、端末１，２同士の距離が長くなっても、端末１，２の近くにＴＣＰプロキシ装置４，５が設置されている限り転送速度が低下することはない。
【００３１】
更に、送信側の端末１と送信側のＴＣＰプロキシ装置４間、および、受信側のＴＣＰプロキシ装置５と受信側の端末２間でそれぞれ独立したウインドウサイズを使用することができるため、どちらか一方の経路でボトルネックが発生したとしても、全体の転送速度に影響を及ぼすことはない。
【００３２】
ＴＣＰプロキシ装置４，５間の高速転送は、ＵＤＰで行う。しかし、ＵＤＰはパケットの到着確認を全く行わないため、パケットロスが起こってもパケットの再送が行われず、信頼性が低い。そのため、ＵＤＰでデータ転送を行う場合には、アプリケーション層で信頼性を確保する仕組が必要である。
【００３３】
本例では、受信側のＴＣＰプロキシ装置５から送信側のＴＣＰプロキシ装置４に向けて、定期的に確認応答と受信速度の情報を返すことにより、再送制御やフロー制御を行っている。
【００３４】
ＴＣＰでは、必ず送信した順にデータを受信しなければならないため、パケットロスが起こると、そのパケットが確実に受信されたことが確認されるまで後続のパケットを送信することができない。
【００３５】
これに対し、本例の高速転送では、損失パケットの再送を最後にまとめて行うため、確認応答とは独立して次々にパケットを送信することができる。
【００３６】
送信側のＴＣＰプロキシ装置４は、受信側のＴＣＰプロキシ装置５から返された受信速度情報に従って送信速度を制御する。ただ、前述のように、少量のパケットロスが転送速度に致命的な影響を及ぼすことはないため、ＴＣＰのように最低速度から少しずつ送信速度を上げるという、スロースタートを行う必要がなく、１回のパケットロスで転送速度を急激に落とす必要もない。
【００３７】
具体的には、高速転送の接続確立時に互いのＴＣＰプロキシ装置４，５の送受信可能速度を交換し、送信側のＴＣＰプロキシ装置４の送信可能速度と受信側のＴＣＰプロキシ装置５の受信可能速度を比較して小さい方を最大送信速度とする。送信側のＴＣＰプロキシ装置４は始め、最大速度でパケットを送信するが、受信側のＴＣＰプロキシ装置５から返された受信速度が送信速度に比べてあまりにも小さいと、ネットワークが輻輳していると判断して送信速度を少しずつ落とす。こうして、送信速度と受信速度の差が大きくなり過ぎないように調整しながら送信を行う。
【００３８】
さて、端末１，２は、実際には近くのＴＣＰプロキシ装置４，５とデータ（パケット）のＴＣＰ転送を行っているが、端末１，２自身は互いの端末１，２とＴＣＰ転送をおこなっていることになっているため、宛先の論理アドレスは互いの端末１，２となっている。
【００３９】
しかし、ＴＣＰプロキシ装置４，５間の転送は互いのＴＣＰプロキシ装置４，５を宛先論理アドレスとしているため、図４に示すように、ＴＣＰプロキシ装置４，５でパケットに新たに高速転送用のヘッダを付加するカプセル化を行う必要がある。
【００４０】
図４は、図１におけるデータ転送システムでのデータカプセル化の手順例を示す説明図であり、本図４では、送信側の端末１から受信側の端末２に向けて送信されたパケットをＴＣＰプロキシ装置４が受信し、高速転送用のヘッダを付加する。高速転送用ヘッダには宛先論理アドレス、送信元論理アドレスが含まれ、この場合、宛先論理アドレスはＴＣＰプロキシ装置５、送信元論理アドレスはＴＣＰプロキシ装置４とする。
【００４１】
ＴＣＰプロキシ装置５はＴＣＰプロキシ装置４からのパケットを受信すると、高速転送用ヘッダを削除し、宛先論理アドレスが端末２、送信元論理アドレスが端末１となっている元のパケットを端末２に対して送信する。
【００４２】
確認応答パケットについては図５に示す通りである。図５は、図１におけるデータ転送システムでの確認応答パケットの転送手順例を示す説明図である。送信側の端末１からのパケットを受信したＴＣＰプロキシ装置４は送信側の端末１に対して確認応答パケットを返すが、送信側の端末１は受信側の端末２に対してパケットを送信しているため、確認応答パケットの送信元論理アドレスは端末２となっていなければならない。
【００４３】
そのため、ＴＣＰプロキシ装置４は、確認応答を返す際に、送信元論理アドレスを端末２の論理アドレスに書き換えて送信する。また、受信側の端末２は、ＴＣＰプロキシ装置５から受け取ったパケットに対して確認応答を返すが、受信したパケットの送信元論理アドレスは端末１となっているため、確認応答パケットの宛先論理アドレスは端末１として送信する。
【００４４】
ＴＣＰプロキシ装置５は、宛先論理アドレスが端末１となっている確認応答パケットを受け取ると、端末２が正確にパケットを受信したと判断し、次のパケットを送信する。
【００４５】
ここで、パケットをカプセル化する際に、元のパケットにそのまま高速転送用ヘッダを付加するのではなく、元のパケットのヘッダ内の冗長と考えられる部分を削除することによって、パケットサイズを圧縮する。ＴＣＰ／ＩＰで送信されるデータは、トランスポートレイヤでＴＣＰヘッダが付加されてセグメントとなり、ネットワークレイヤでＩＰヘッダが付加されてパケットとなる。
【００４６】
図６は、ＴＣＰヘッダの構成例を示す説明図であり、図７は、ＩＰヘッダの構成例を示す説明図である。ここで、ＴＣＰヘッダにおける送信元ポート番号と宛先ポート番号、およびＩＰパケットにおけるバージョンやプロトコル、送信元論理アドレス、宛先論理アドレスは、接続が切断されない限り途中で変わることはない。そのため、接続確立時にＴＣＰプロキシ装置４，５でこれらの情報を記憶しておき、以降は記憶しておいた情報を使用して実際の情報は高速転送用ネットワーク６に流さない。
【００４７】
図８は、図１におけるデータ転送システムでの冗長情報の削除手順例を示す説明図であり、本図８に示すように、ＴＣＰプロキシ装置４は、送信側の端末１からパケットを受信すると、前述の接続が切断されない限り普遍である冗長情報をパケットから削除する。このようにしてサイズを小さくしたパケットに高速転送用ヘッダを付加し、ＴＣＰプロキシ装置５に対して転送する。
【００４８】
ＴＣＰプロキシ装置５では、ＴＣＰプロキシ装置４で削除したものと同じデータを記憶しているため、ＴＣＰプロキシ装置４から受信したパケットの高速転送用ヘッダを削除した後に記憶しておいたデータを当該パケットに付加し、正確に元のパケットを復元することができる。
【００４９】
次に、端末１，２同士の接続確立技術について述べる。図９は、ＴＣＰの３段階ハンドシェーク手順例を示すシーケンス図であり、ＴＣＰでは、接続確立の際に、図９に示すような３段階のハンドシェークを行う。最初に接続を要求する方をクライアント、接続を要求される方をサーバとする。互いに接続要求を送信し、それぞれの確認応答を受信すれば接続が確立される。ＳＹＮが接続要求、ＡＣＫが確認応答である。
【００５０】
端末１（クライアント）と端末２（サーバ）間の経路上に高速転送ネットワークがあった場合、全体の接続は図１０のようにして確立される。図１０は、図１におけるデータ転送システムでの接続確立手順例を示すシーケンス図であり、クライアント（端末１）からサーバ（端末２）に対して送信された接続要求（ＳＹＮ）をＴＣＰプロキシ装置４が受信すると、高速転送用ヘッダを付加して、高速転送接続要求（ＳＹＮ）としてＴＣＰプロキシ装置５に送信する。
【００５１】
ＴＣＰプロキシ装置５は、接続要求を受信してもすぐには確認応答を返さず、まず、高速転送用ヘッダを削除して、端末１（クライアント）からの接続要求パケットを復元してから端末２（サーバ）へ転送する。この際、ＴＣＰプロキシ装置５は、先に述べた、接続の間不変であるＴＣＰヘッダとＩＰヘッダの情報を記憶する。
【００５２】
端末２（サーバ）は、接続要求を受信すると、それに対する確認応答（ＡＣＫ）および端末１（クライアント）への接続要求（ＳＹＮ）を、端末１（クライアント）に対して送信する。このパケットはＴＣＰプロキシ装置５に受信され、高速転送用ヘッダが付加されて、高速転送確認応答（ＡＣＫ）としてＴＣＰプロキシ装置４に対して送信される。
【００５３】
ＴＣＰプロキシ装置４が高速転送確認応答（ＡＣＫ）を受信した時点で、ＴＣＰプロキシ装置４，５間の高速転送接続が確立される。その後、ＴＣＰプロキシ装置４は、受信したパケットの高速転送用ヘッダを削除して端末２からの確認応答（ＡＣＫ）及び接続要求パケット（ＳＹＮ）を復元し、端末１へ転送する。
【００５４】
端末１は、パケットを受信すると、端末２の接続要求に対する確認応答（ＡＣＫ）を、端末２に対して送信する。ＴＣＰプロキシ装置４はこのパケットを受信して高速転送用ヘッダを付加してＴＣＰプロキシ装置５に対して送信するが、既にＴＣＰプロキシ装置４，５間の高速転送接続は確立しているため、普通のデータと同じようにＴＣＰプロキシ装置５に高速転送を行う。即ち、元のパケットのＴＣＰヘッダとＩＰヘッダにある冗長情報を削除して転送し、ＴＣＰプロキシ装置５において、記憶しておいた情報を付加して元のパケットを復元する。
【００５５】
最終的に端末１からの確認応答（ＡＣＫ）が端末２に受信されると、全体の接続が確立する。
【００５６】
ＴＣＰは、接続切断時においても、互いに切断要求を出し、それぞれに対する確認応答を受け取ってから接続を切断する。通常のＴＣＰの接続切断手順を、図１１に示す。
【００５７】
図１１は、通常のＴＣＰの接続切断手順例を示すシーケンス図であり、この図１１において、送信側の端末は、全てのデータを転送し終えると、受信側の端末に対して接続切断要求（ＦＩＮ）を送信する。受信側の端末は、接続切断要求（ＦＩＮ）を受信すると、送信側の端末に対して確認応答（ＡＣＫ）を送信し、送信側の端末がこの確認応答（ＡＣＫ）を受信した時点で送信側の端末から受信側の端末方向の接続が可能となる。次に、受信側の端末から送信側の端末へ送るデータがなくなれば、受信側の端末から送信側の端末に対して接続切断要求（ＦＩＮ）が送信される。
【００５８】
送信側の端末は受信側の端末からの接続切断要求（ＦＩＮ）を受信すると、それに対する確認応答（ＡＣＫ）を返す。受信側の端末は、送信側の端末からの確認応答（ＡＣＫ）を受信すると接続を切断する。送信側の端末では、最後の確認応答がパケットロスしたときのために一定時間待機して（time wait）から接続を切断する。
【００５９】
これに対して、本例のように、端末間の経路上に高速転送ネットワークがあった場合、送信側の端末は、全てのデータが送信側のＴＣＰプロキシ装置に転送された時点で、転送が完了したと判断するが、実際には、受信側のＴＣＰプロキシ装置から全てのデータが受信側の端末に転送されるまで全体の転送は完了しない。そのため、送信側の端末が接続切断要求を出しても、受信側の端末に全データが転送されるまで接続を切断することはできない。
【００６０】
高速転送用のＴＣＰプロキシ装置を用いた場合の接続切断手順を図１２に示す。図１２は、図１におけるデータ転送システムでのＴＣＰの接続切断手順例を示すシーケンス図であり、送信側の端末１は、全てのデータが受信されたことを確認すると、受信側の端末２に対して接続切断要求（ＦＩＮ）を送信する。このとき、送信側の端末１とＴＣＰプロキシ装置４の転送は完了しているが、受信側の端末２までの転送は完了していないため、ＴＣＰプロキシ装置４は送信側の端末１に対して確認応答を返さない。
【００６１】
ＴＣＰプロキシ装置４は、ＴＣＰプロキシ装置５に対する転送の完了を確認後、送信側の端末１から受け取った接続切断要求パケット（ＦＩＮ）を、ＴＣＰプロキシ装置５に対して高速転送する。ＴＣＰプロキシ装置５は、受信側の端末２に対する転送の完了を確認した後、最後に受信した接続切断要求（ＦＩＮ）を受信側の端末２に送信する。
【００６２】
受信側の端末２は、接続切断要求（ＦＩＮ）を受信すると、送信側の端末１に対して確認応答（ＡＣＫ）を送信し、その確認応答（ＡＣＫ）は、ＴＣＰプロキシ装置４，５間で高速転送が行われて最終的に送信側の端末１に受信される。
【００６３】
受信側の端末２は、送信側の端末１に対して確認応答（ＡＣＫ）を送信後、送るデータがなくなれば、送信側の端末１へ向けて接続切断要求（ＦＩＮ）を送信する。これも同様に、ＴＣＰプロキシ装置５ですぐに確認応答を返すのではなく、ＴＣＰプロキシ装置５は、全てのデータがＴＣＰプロキシ装置５に受信されたことを確認後、接続切断要求パケット（ＦＩＮ）をＴＣＰプロキシ装置４に対して送信する。このとき、通常の高速転送ではなく、高速転送接続切断要求（ＦＩＮ）として送信を行う。
【００６４】
ＴＣＰプロキシ装置４は、高速転送接続切断要求（ＦＩＮ）を受信してもすぐに確認応答を返さず、全てのデータが送信側の端末１に転送されたことを確認した後、送信側の端末１に対して、受信側の端末２からの接続切断要求（ＦＩＮ）を送信する。
【００６５】
送信側の端末１は、受信側の端末２からの接続切断要求（ＦＩＮ）に対し、確認応答パケット（ＡＣＫ）を返し、これをＴＣＰプロキシ装置４が受信する。ＴＣＰプロキシ装置４は、これを（ＡＣＫ）高速転送接続切断要求に対する確認応答としてＴＣＰプロキシ装置５に送信し、ＴＣＰプロキシ装置５が受信した時点で、ＴＣＰプロキシ装置４，５間の高速転送接続が切断される。
【００６６】
そして、ＴＣＰプロキシ装置５は、受信側の端末２に対して、送信側の端末１からの確認応答（ＡＣＫ）を送信し、受信側の端末２はこれを受信した時点で接続を切断する。送信側の端末１は、最後の確認応答（ＡＣＫ）を送信後、パケットロスが起こったときのために一定時間待機後（time wait）、接続を切断する。
【００６７】
ＴＣＰプロキシ装置４，５間での高速転送は基本的にＵＤＰで送信されるが、ＴＣＰとＵＤＰが混在した場合、ＵＤＰはＴＣＰの帯域を圧迫するという性質を持つ。特に高速転送の場合、パケットロスが大きくなるまで送信速度を上げ続けるため、高速転送パケットのみで帯域を埋め尽くす。もしもインターネット上の端末同士で高速転送を行った場合、高速転送パケット以外はほとんど通らなくなり、ＷｅｂブラウザやＥメール（E−Mail）が使用不可能になる恐れがある。そのため、高速転送専用のネットワーク（６）を設け、高速転用のパケットと他のパケットとが混在しないようにする必要がある。
【００６８】
このような問題を解決するためのネットワーク構築の一例を図１３に示す。図１３は、図１におけるデータ転送システムを設けたネットワークの構成例を示すブロック図であり、通常のパケット転送網１３０１の中に高速転送専用ネットワーク１３０２をつくり、高速転送専用ネットワーク１３０２の入り口にＴＣＰプロキシ装置（図中「Ｐ」と記載）１３０３〜１３０７を設置する。
【００６９】
各端末（図中「Ｔ」と記載）１３１１〜１３１６は、ＴＣＰプロキシ装置１３０３〜１３０７を通じて遠隔にある端末とデータ転送を行うが、端末１３１７，１３１８で示すように、当然、高速転送を用いずに通常の転送を行うことも可能である。
【００７０】
以上、図１〜図１３を用いて説明したように、本例では、相互接続されるそれぞれの端末１，２の近くにＴＣＰプロキシ装置４，５を設置し、両端末１，２はそれぞれの近くのＴＣＰプロキシ装置４，５とＴＣＰでデータ転送を行う。ＴＣＰプロキシ装置４，５間は高速転送専用ネットワーク６で結ばれており、ＴＣＰのように距離に依存しない独自の転送技術で高速転送を行う。尚、この高速転送はＵＤＰで行うが、データの信頼性を保証するため、アプリケーションレイヤで最低限の確認応答およびフロー制御を行う。これにより、転送速度が距離に依存する部分は、それぞれの端末１，２とＴＣＰプロキシ装置４，５間のみとなるため、長距離間のデータ転送を行う場合にも転送速度が低下することはない。
【００７１】
このように、本例によれば、ＴＣＰを用いて端末１，２同士でデータ転送を行う場合において、距離に依存することなく高速転送を行うことが可能である。従来は、端末１，２間の距離が長くなるに従って確認応答の遅延が大きくなり、ネットワークが混雑していなくてもスループットが低下するが、本例の技術により、ネットワークを効率的に使用することができ、ネットワークの帯域に応じた大容量のデータを高速転送することが可能となる。
【００７２】
また、高速転送用に専用のネットワークを構築することで、高速転送パケットによる他トラフィックの圧迫を防ぐことができる。
【００７３】
尚、本発明は、図１〜図１３を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例では、転送部１１において、送信先の端末（１，２）に接続された相手側のＴＣＰプロキシ装置（４，５）から受信したパケットからＴＣＰプロキシ装置間転送用のヘッダを取り除いた後、記憶したＩＰヘッダのバージョン、プロトコル、送受信論理アドレスおよび、ＴＣＰヘッダの送受信ポート番号を付加する機能を実行させているが、この機能を、送信部１２で実行させる構成とすることでも良い。
【図面の簡単な説明】
【００７４】
【図１】本発明に係わるデータ転送システムの構成例を示すブロック図である。
【図２】通常のＴＣＰ転送の手順例を示すシーケンス図である。
【図３】図１におけるデータ転送システムでのデータ転送の手順例を示すシーケンス図である。
【図４】図１におけるデータ転送システムでのデータカプセル化の手順例を示す説明図である。
【図５】図１におけるデータ転送システムでの確認応答パケットの転送手順例を示す説明図である。
【図６】ＴＣＰヘッダの構成例を示す説明図である。
【図７】ＩＰヘッダの構成例を示す説明図である。
【図８】図１におけるデータ転送システムでの冗長情報の削除手順例を示す説明図である。
【図９】ＴＣＰの３段階ハンドシェーク手順例を示すシーケンス図である。
【図１０】図１におけるデータ転送システムでの接続確立手順例を示すシーケンス図である。
【図１１】通常のＴＣＰの接続切断手順例を示すシーケンス図である。
【図１２】図１におけるデータ転送システムでのＴＣＰの接続切断手順例を示すシーケンス図である。
【図１３】図１におけるデータ転送システムを設けたネットワークの構成例を示すブロック図である。
【符号の説明】
【００７５】
１，１ａ，２，２ａ，１３１１〜１３１８：端末、３，１３０１：パケット転送網、４，５，１３０３〜１３０７：ＴＣＰプロキシ装置、６，１３０２：高速転送用ネットワーク、１０：受信部、１１：転送部、１２：送信部。
【図１】
2005136684.tif 000003
【図２】
2005136684.tif 000004
【図３】
2005136684.tif 000005
【図４】
2005136684.tif 000006
【図５】
2005136684.tif 000007
【図６】
2005136684.tif 000008
【図７】
2005136684.tif 000009
【図８】
2005136684.tif 000010
【図９】
2005136684.tif 000011
【図１０】
2005136684.tif 000012
【図１１】
2005136684.tif 000013
【図１２】
2005136684.tif 000014
【図１３】
2005136684.tif 000015