(57)【要約】【課題】本発明は、高速再転送アルゴリズムが採用され、論理回線ごとの遅延差によってＴＣＰパケットの到着順序が入れ替わる場合でも、ＴＣＰ伝送のスループットを向上させることができるＴＣＰ転送装置を提供する。【解決手段】ＴＣＰ分割転送装置３は、ＴＣＰパケットを受信するＴＣＰパケット受信部３１と、複数の論理回線Ｌの中から１つの論理回線Ｌを選択し、選択論理回線の情報が含まれる転送情報を生成する経路選択部３３と、有効なフィルタが設定されている場合にはＡＣＫパケットを破棄し、有効なフィルタが設定されていない場合にはＡＣＫパケットを通過させるＡＣＫ制御部３５と、論理回線遅延量を予め計測する遅延量設定部３６と、ＡＣＫ制御部３５が通過させたＡＣＫパケットをＴＣＰ伝送装置１に送信するＴＣＰパケット送信部３７とを備える。【選択図】図２
2012134907.tif 000002
【特許請求の範囲】
【請求項１】
シーケンス番号が含まれるＴＣＰパケットを送信側端末装置から受信し、複数の論理回線の何れかを介して、受信した前記ＴＣＰパケットを、当該ＴＣＰパケットの宛先となる受信側端末装置に向けて転送するＴＣＰ転送装置であって、
前記ＴＣＰパケットを受信するＴＣＰパケット受信部と、
前記複数の論理回線の中から、前記ＴＣＰパケット受信部によって受信されたＴＣＰパケットが転送される論理回線を所定の規則によって選択し、選択した当該論理回線を介して、当該ＴＣＰパケットを前記受信側端末装置に向けて転送すると共に、転送した当該ＴＣＰパケットのシーケンス番号および前記選択した論理回線である選択論理回線の情報が含まれる転送情報を生成する経路選択部と、
前記経路選択部によって転送されたＴＣＰパケットへの応答であるＡＣＫパケットを前記受信側端末装置から受信し、受信した当該ＡＣＫパケットをフィルタによって破棄または通過させるＡＣＫ制御部と、
前記ＡＣＫ制御部が通過させたＡＣＫパケットを前記送信側端末装置に送信するＡＣＫパケット送信部と、を備え、
前記ＡＣＫ制御部は、
前記論理回線ごとに予め設定された論理回線遅延量に基づいて、前記経路選択部によって生成された転送情報に含まれる選択論理回線の遅延量を算出し、算出した当該選択論理回線の遅延量を前記ＴＣＰパケットが転送されてからの有効期間とし、かつ、当該転送情報に含まれるシーケンス番号を破棄対象ＡＣＫ番号とした前記フィルタを設定することを特徴とするＴＣＰ転送装置。
【請求項２】
前記ＡＣＫ制御部は、
前記論理回線ごとに往復遅延時間を予め計測して、計測した当該往復遅延時間を前記論理回線遅延量として設定する遅延量設定手段、
をさらに備えることを特徴とする請求項１に記載のＴＣＰ転送装置。
【請求項３】
前記ＡＣＫ制御部は、前記フィルタの有効期間内に前記ＡＣＫパケットを受信し、かつ、受信した当該ＡＣＫパケットのＡＣＫ番号が前記フィルタの破棄対象ＡＣＫ番号と一致する場合、当該ＡＣＫパケットを破棄することを特徴とする請求項１または請求項２に記載のＴＣＰ転送装置。
【請求項４】
前記経路選択部は、前記ＴＣＰパケット受信部によって受信されたＴＣＰパケットをＴＣＰ以外の他のプロトコルヘッダでカプセル化し、カプセル化した当該ＴＣＰパケットを前記受信側端末装置に向けて転送することを特徴とする請求項１から請求項３の何れか一項に記載のＴＣＰ転送装置。
【請求項５】
シーケンス番号が含まれるＴＣＰパケットを送信側端末装置から受信し、複数の論理回線の何れかを介して、受信した前記ＴＣＰパケットを、当該ＴＣＰパケットの宛先となる受信側端末装置に向けて転送するために、コンピュータを、
前記ＴＣＰパケットを受信するＴＣＰパケット受信部、
前記複数の論理回線の中から、前記ＴＣＰパケット受信部によって受信されたＴＣＰパケットが転送される論理回線を所定の規則によって選択し、選択した当該論理回線を介して、当該ＴＣＰパケットを前記受信側端末装置に向けて転送すると共に、転送した当該ＴＣＰパケットのシーケンス番号および前記選択した論理回線である選択論理回線の情報が含まれる転送情報を生成する経路選択部、
前記経路選択部によって転送されたＴＣＰパケットへの応答であるＡＣＫパケットを前記受信側端末装置から受信し、受信した当該ＡＣＫパケットをフィルタによって破棄または通過させるＡＣＫ制御部、
前記ＡＣＫ制御部が通過させたＡＣＫパケットを前記送信側端末装置に送信するＡＣＫパケット送信部、として機能させ、
前記ＡＣＫ制御部は、
前記論理回線ごとに予め設定された論理回線遅延量に基づいて、前記経路選択部によって生成された転送情報に含まれる選択論理回線の遅延量を算出し、算出した当該選択論理回線の遅延量を前記ＴＣＰパケットが転送されてからの有効期間とし、かつ、当該転送情報に含まれるシーケンス番号を破棄対象ＡＣＫ番号とした前記フィルタを設定することを特徴とするＴＣＰ転送プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シーケンス番号が含まれるＴＣＰパケットを送信側端末装置から受信し、複数の論理回線の何れかを介して、受信したＴＣＰパケットをＴＣＰパケットの宛先となる受信側端末装置に向けて転送するＴＣＰ転送装置およびそのプログラムに関する。
【背景技術】
【０００２】
近年、情報伝達のインフラとして普及しているＩＰ（Internet Protocol）ネットワークは、一般的に、パケットの伝送が保証されないベストエフォートネットワークである。このため、ファイル伝送のように、確実にパケットが伝送されることを必要とする用途には、伝達確認を行うＴＣＰ（Transmission Control Protocol)が、広く利用されている（非特許文献１）。
【０００３】
ＴＣＰの基本的な通信アルゴリズムを以下に説明する。送信側は、伝送するパケットのヘッダにシーケンス番号を含めて送信する。受信側は、受信したパケットのシーケンス番号を元に、次に受信すべきシーケンス番号をＡＣＫ（Acknowledgement)パケットにてＡＣＫ番号として返送する。送信側は、受信したＡＣＫパケットにより、受信側がどのパケットまで正常に受信できたかを知ることができる。また、一定時間の間に受信を確認できなかったパケットに対して、送信側は、もう一度同じパケットを送信することで、確実な伝送を実現する。
【０００４】
また、ＴＣＰでは、送信量をコントロールする値として、輻輳ウィンドウと受信ウィンドウとを使用する。輻輳ウィンドウとは、送信側がＡＣＫパケットの返送を待たずに送信できるデータ量のことである。また、受信ウィンドウとは、受信側がある時点で処理できるデータ量のことである。ここで、輻輳ウィンドウは、ＡＣＫパケットを受け取る度に拡大され、より大きなデータをＡＣＫパケットの返送を待たずに送信できるようになる。一方、パケットロスが発生し、あるパケットに対するＡＣＫパケットを受信できず、パケットの再送を行った場合、輻輳ウィンドウは、初期値にリセットされる。
【０００５】
また、ＴＣＰでは、ＡＣＫパケットのタイムアウトを待たずに、パケットロスを検知してパケットを再送する高速再転送アルゴリズムが用いられる。例えば、送信側が同じＡＣＫ番号を持ったＡＣＫパケットを３つ連続で受け取った場合、送信側は、タイムアウトを待たずにパケットの再送を行う。この場合、輻輳ウィンドウが縮小される。さらに、Ｒｅｎｏ、ＮｅｗＲｅｎｏ、Ｖｅｇａｓなど、輻輳ウィンドウの拡大幅や縮小幅を変えるＴＣＰ伝送性能改善技術が提案されている（非特許文献２〜４）。
【０００６】
ここで、ＴＣＰに限られず、伝達確認を行うデータ伝送の最大スループットは、受信ウィンドウの最大サイズおよび往復伝番遅延によって定まる。この受信ウィンドウの最大サイズによるボトルネックを回避するには、単一の回線上に複数のＴＣＰコネクションを確立する手法が考えられる。この手法では、受信ウィンドウがコネクションの数だけ拡大するため、ＴＣＰ伝送のスループットが向上する。
【０００７】
一方、受信ウィンドウのサイズが十分な場合、回線の伝送速度がボトルネックとなり、前記した単一の回線上に複数のＴＣＰコネクションを確立する手法では、スループットの改善効果を期待できない。この場合、複数回線を用いる手法によって、回線の合計伝送速度を増加させ、ＴＣＰ伝送のスループットを向上させることができる。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】RFC793 Transmission Control Protocol
【非特許文献２】RFC2581 TCP Congestion Control
【非特許文献３】RFC3782 The NewReno Modification to TCP’s Fast Recovery Algorithm
【非特許文献４】TCP Vegas: End to End Congestion Avoidance on a Global Internet. IEEE Journal on Selected Areas in Communication, Vol 13, No. 8, 1465-1480
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、複数回線を用いる手法では、各回線の遅延量を一致させることが困難である。このため、遅延量が小さい回線で伝送されたパケットが、遅延量が大きい回線で伝送されたパケットを追い越すことにより、パケットの到着順序が入れ替わることがある。そして、高速再転送アルゴリズムを採用した場合、パケットの到着順序が入れ替わると、受信側が、パケットロスが発生したと勘違いして、追い越されたパケットの再送要求を送信側に行ってしまう。このため、複数回線を用いる手法では、ＴＣＰ伝送のスループットが向上しないという問題が発生する。
【００１０】
図９を参照して、この問題を具体的に説明する。
この図９では、「ＰＣＫ」がパケットを示し、ＰＣＫの後に図示した「１」，「２」などの数値がそのパケットのシーケンス番号を示す。また、「ＡＣＫ」がＡＣＫパケットを示し、ＡＣＫの後に図示した「１」，「２」などの数値がそのＡＣＫパケットのＡＣＫ番号を示している。
【００１１】
まず、送信側のＴＣＰ伝送装置９１は、遅延量が大きい回線を介して、先頭のパケットであるＰＣＫ１を、受信側のＴＣＰ伝送装置９３に送信する（ステップＳ９１）。次に、ＴＣＰ伝送装置９１は、遅延量が小さい回線を介して、ＰＣＫ１の次のパケットであるＰＣＫ２を、ＴＣＰ伝送装置９３に送信する。ここで、両回線の遅延量が異なるため、ＴＣＰ伝送装置９３には、ＰＣＫ１よりＰＣＫ２が先に到着する（ステップＳ９２）。
【００１２】
この場合、ＴＣＰ伝送装置９３は、ＰＣＫ１のパケットロスが発生したと判定して、ＰＣＫ１の再送を要求すべく、ＡＣＫ１をＴＣＰ伝送装置９１に送信する（ステップＳ９３）。このＡＣＫ１に応じて、ＴＣＰ伝送装置９１は、輻輳ウィンドウを初期値にリセットして、ＰＣＫ１をＴＣＰ伝送装置９３に再送する（ステップＳ９４）。
【００１３】
この結果、複数回線を用いる手法では、ＰＣＫ１のパケットロスが発生していないにも関わらず、高速再転送アルゴリズムによるＰＣＫ１の再送および輻輳ウィンドウの縮小が行われるため、ＴＣＰ伝送のスループットが向上しない。
【００１４】
そこで、本発明は、前記した問題を解決し、高速再転送アルゴリズムが採用され、論理回線ごとの遅延差によってＴＣＰパケットの到着順序が入れ替わる場合でも、ＴＣＰ伝送のスループットを向上させることができるＴＣＰ転送装置およびそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
前記した課題に鑑みて、本願第１発明に係るＴＣＰ転送装置は、シーケンス番号が含まれるＴＣＰパケットを送信側端末装置から受信し、複数の論理回線の何れかを介して、受信したＴＣＰパケットを当該ＴＣＰパケットの宛先となる受信側端末装置に向けて転送するＴＣＰ転送装置であって、ＴＣＰパケット受信部と、経路選択部と、ＡＣＫ制御部と、ＡＣＫパケット送信部と、を備えることを特徴とする。
【００１６】
かかる構成によれば、ＴＣＰ転送装置は、ＴＣＰパケット受信部によって、ＴＣＰパケットを受信する。また、ＴＣＰ転送装置は、経路選択部によって、複数の論理回線の中から、ＴＣＰパケット受信部によって受信されたＴＣＰパケットが転送される論理回線を所定の規則によって選択し、選択した論理回線を介して、ＴＣＰパケットを受信側端末装置に向けて転送すると共に、転送したＴＣＰパケットのシーケンス番号および選択した論理回線である選択論理回線の情報が含まれる転送情報を生成する。
【００１７】
ここで、経路選択部は、少なくとも、ＴＣＰパケットを転送する論理回線（論理回線の上り方向）を選択すればよく、ＡＣＫパケットが返送される論理回線（論理回線の下り方向）を必ずしも選択する必要がない。なお、経路選択部が論理回線の下り方向を選択しない場合、論理回線の下り方向は、戻り回線情報として通知される。
【００１８】
また、複数の論理回線は、少なくとも、ＴＣＰ転送装置から受信側端末装置までの一部区間に構築されていれば、ＴＣＰ転送装置から受信側端末装置までの全区間に構築されなくともよい。例えば、ＴＣＰ転送装置から受信側端末装置までの間に他のＴＣＰ転送装置が配置される場合、複数の論理回線は、ＴＣＰ転送装置から他のＴＣＰ転送装置までの区間に構築される。この場合、他のＴＣＰ転送装置から受信側端末装置までの残り区間には、１つの論理回線を構築する。
【００１９】
また、ＴＣＰ転送装置は、ＡＣＫ制御部によって、経路選択部によって転送されたＴＣＰパケットへの応答であるＡＣＫパケットを受信側端末装置から受信し、受信したＡＣＫパケットをフィルタによって破棄または通過させる。そして、ＴＣＰ転送装置は、ＡＣＫパケット送信部によって、ＡＣＫ制御部が通過させたＡＣＫパケットを送信側端末装置に送信する。
【００２０】
また、ＴＣＰ転送装置は、ＡＣＫ制御部によって、論理回線ごとに予め設定された論理回線遅延量に基づいて、経路選択部によって生成された転送情報に含まれる選択論理回線の遅延量を算出し、算出した選択論理回線の遅延量をＴＣＰパケットが転送されてからの有効期間とし、かつ、転送情報に含まれるシーケンス番号を破棄対象ＡＣＫ番号としたフィルタを設定する。
【００２１】
ここで、ＴＣＰパケットの到着順序が入れ替わった場合、受信側端末装置は、パケットロスが発生したと勘違いして、追い越されたＴＣＰパケットの再送を要求すべく、ＡＣＫパケットを返送する。この場合、ＡＣＫ制御部は、パケットロスと勘違いして送信されたＡＣＫパケットを、フィルタによって破棄する。従って、ＴＣＰ転送装置は、送信側端末装置がこのＡＣＫパケットを受信することがなく、パケットロスが発生していないにも関わらず、ＴＣＰパケットの再送および輻輳ウィンドウの縮小が行われる事態を防止できる。
【００２２】
また、本願第２発明に係るＴＣＰ転送装置は、ＡＣＫ制御部が、論理回線ごとに往復遅延時間を予め計測して、計測した往復遅延時間を論理回線遅延量として設定する遅延量設定手段、をさらに備えることが好ましい。
【００２３】
また、本願第３発明に係るＴＣＰ転送装置は、ＡＣＫ制御部が、フィルタの有効期間内にＡＣＫパケットを受信し、かつ、受信したＡＣＫパケットのＡＣＫ番号がフィルタの破棄対象ＡＣＫ番号と一致する場合、ＡＣＫパケットを破棄することが好ましい。
【００２４】
また、本願第４発明に係るＴＣＰ転送装置は、経路選択部が、ＴＣＰパケット受信部によって受信されたＴＣＰパケットをＴＣＰ以外の他のプロトコルヘッダでカプセル化し、カプセル化したＴＣＰパケットを受信側端末装置に向けて転送することが好ましい。
【００２５】
なお、本願第１発明に係るＴＣＰ転送装置は、一般的なコンピュータを、ＴＣＰパケット受信部、経路選択部、ＡＣＫ制御部、ＡＣＫパケット送信部として機能させるＴＣＰ転送プログラムによって実現することもできる。
【発明の効果】
【００２６】
本願発明によれば、以下のような優れた効果を奏する。
本願第１発明によれば、パケットロスと勘違いして受信側端末装置が返送したＡＣＫパケットをフィルタによって破棄するため、送信側端末装置がこのＡＣＫパケットを受信することがない。これによって、本願第１発明によれば、パケットロスが発生していないにも関わらず、ＴＣＰパケットの再送および輻輳ウィンドウの縮小が行われる事態を防止でき、ＴＣＰ伝送のスループットを向上させることができる。
【００２７】
本願第２発明によれば、往復遅延時間を用いて、フィルタの有効期間を適切な長さで設定することができる。このため、本願第２発明によれば、フィルタの有効期間が経過した後、ＡＣＫパケットが送信側端末装置に送信されるため、パケットロスによりＴＣＰパケットの再送が必要な場合には、送信側端末装置が素早くＴＣＰパケットを再送することができる。
【００２８】
本願第３発明によれば、新たなＴＣＰパケットの送信を要求するＡＣＫパケットを通過させ、既に送信したＴＣＰパケットの再送を要求するＡＣＫパケットのみを破棄するので、ＡＣＫパケットを必要以上に破棄することがない。
【００２９】
本願第４発明によれば、ＴＣＰパケットを他のプロトコルヘッダでカプセル化することで、ＴＣＰパケットを、ＴＣＰ以外の他のプロトコルを用いて、受信側端末装置に送信することができる。
【図面の簡単な説明】
【００３０】
【図１】本発明の第１実施形態に係るＴＣＰ分割転送装置を含むＴＣＰ分割転送システムの概略図である。
【図２】図１のＴＣＰ分割転送装置の構成を示すブロック図である。
【図３】ＴＣＰパケットの到着順が入れ替わるケースにおいて、図１のＴＣＰ分割転送装置の動作を示すシーケンス図である。
【図４】ＴＣＰパケットの到着順が入れ替わらないケースにおいて、図１のＴＣＰ分割転送装置の動作を示すシーケンス図である。
【図５】本発明の第２，第３実施形態に係るＴＣＰ分割転送装置を含むＴＣＰ分割転送システムの概略図である。
【図６】図５のＴＣＰ分割転送装置の構成を示すブロック図である。
【図７】本発明の第２実施形態において、ＩＰヘッダでカプセル化されたＴＣＰパケットのデータ構造を説明する図である。
【図８】本発明の第３実施形態において、ＵＤＰヘッダでカプセル化されたＴＣＰパケットのデータ構造を説明する図である。
【図９】従来技術の問題点を説明するシーケンス図である。
【発明を実施するための形態】
【００３１】
（第１実施形態）
以下、本発明の各実施形態について、適宜図面を参照しながら詳細に説明する。なお、各実施形態において、同一の機能を有する手段には同一の符号を付し、説明を省略した。
【００３２】
［ＴＣＰ分割転送システムの概略］
図１を参照し、本発明の第１実施形態に係るＴＣＰ分割転送装置３を含むＴＣＰ分割転送システム１００の概略について説明する。
図１に示すように、ＴＣＰ分割転送システム１００は、ＴＣＰストリームを複数の論理回線に分割して伝送するものであり、ＴＣＰ伝送装置（送信側端末装置）１と、ＴＣＰ分割転送装置（ＴＣＰ転送装置）３と、ＴＣＰ分割転送装置（他のＴＣＰ転送装置）５と、ＴＣＰ伝送装置（受信側端末装置）７とを備える。
【００３３】
第１実施形態では、ＴＣＰ伝送装置１が、ＴＣＰパケットをＴＣＰ伝送装置７に向けて転送することとして説明する。以下の説明において、ＴＣＰ伝送装置１からＴＣＰ伝送装置７への方向を「上り方向」とし、ＴＣＰ伝送装置７からＴＣＰ伝送装置１への方向を「下り方向」と呼ぶ場合がある。
【００３４】
ＴＣＰ伝送装置１は、ＴＣＰ伝送機能を有する装置であり、例えば、図示を省略したネットワークインターフェースを備える一般的なコンピュータである。
ここでは、ＴＣＰ伝送装置１は、論理回線ＬＡを介して、ＴＣＰ分割転送装置３と接続されている。そして、ＴＣＰ伝送装置１は、一般的なクライアントサーバアプリケーション（例えば、ＨＴＴＰ，ＳＭＴＰ、ＦＴＰ、ＴＥＬＮＥＴ）によって作成されたＴＣＰパケットを、ＴＣＰ分割転送装置３に送信する。
【００３５】
ＴＣＰ分割転送装置３は、ＴＣＰパケットをＴＣＰ伝送装置１から受信し、複数の論理回線Ｌ１，Ｌ２，・・・，Ｌｍの何れかを介して（ｍは２以上の任意の整数）、受信したＴＣＰパケットを、このＴＣＰパケットの宛先となるＴＣＰ伝送装置７に向けて転送するものである。
【００３６】
ここでは、ＴＣＰ分割転送装置３は、複数の論理回線Ｌ１，Ｌ２，・・・，Ｌｍを介して、ＴＣＰ分割転送装置５と接続されている。そして、ＴＣＰ分割転送装置３は、複数の論理回線Ｌ１，Ｌ２，・・・，Ｌｍの中から１つの論理回線Ｌを選択する。さらに、ＴＣＰ分割転送装置３は、選択した論理回線Ｌを介して、ＴＣＰ伝送装置１から受信したＴＣＰパケットをＴＣＰ分割転送装置５に転送する。
なお、ＴＣＰ分割転送装置３の構成については、後記する。
【００３７】
論理回線Ｌ（ＬＡ，ＬＢ，Ｌ１，Ｌ２，・・・，Ｌｍ）は、上り方向および下り方向のＴＣＰ伝送でそれぞれ使用される物理回線のペア、または、上り方向および下り方向のＴＣＰ伝送で共通して使用される、１つの物理回線で構成される。
なお、論理回線Ｌと物理回線との関係については、第２実施形態以降で説明する。
【００３８】
ＴＣＰ分割転送装置５は、ＴＣＰ分割転送装置３と同一構成の装置である。
ここでは、ＴＣＰ分割転送装置５は、論理回線ＬＢを介して、ＴＣＰ伝送装置７と接続されている。そして、ＴＣＰ分割転送装置５は、ＴＣＰ分割転送装置３から転送されたＴＣＰパケットをＴＣＰ伝送装置７に送信する。
また、ＴＣＰ分割転送装置５は、論理回線ＬＢの論理回線遅延量（例えば、往復遅延時間（RTT:Round Trip Time））を予め計測しておくこととし、その理由を後記する。
【００３９】
ＴＣＰ伝送装置７は、ＴＣＰ伝送装置１と同一構成の装置である。
ここでは、ＴＣＰ伝送装置７は、ＴＣＰ分割転送装置５からＴＣＰパケットを受信し、このＴＣＰパケットの送信先ポート番号に対応するクライアントサーバアプリケーションによって、このＴＣＰパケットを処理する。このとき、ＴＣＰ伝送装置７は、受信したＴＣＰパケットのシーケンス番号に基づいて、次に受信すべきＴＣＰパケットのシーケンス番号を、ＡＣＫ番号として算出する。そして、ＴＣＰ伝送装置７は、算出したＡＣＫ番号を格納したＡＣＫパケットを生成して、ＴＣＰ伝送装置１に向けて返送する。
【００４０】
また、ＴＣＰ伝送装置７は、一般的な手法によって、パケットロスが発生したか判定する。例えば、ＴＣＰ伝送装置７は、ＴＣＰパケットを一定時間受信できない場合や、シーケンス番号順にＴＣＰパケットを受信できない場合、パケットロスが発生したと判定する。ここで、パケットロスが発生した場合、ＴＣＰ伝送装置７は、ＴＣＰパケットの再送をＴＣＰ伝送装置１に要求する。具体的には、ＴＣＰ伝送装置７は、受信できなかったＴＣＰパケットのシーケンス番号を表すＡＣＫ番号を算出し、このＡＣＫ番号を格納したＡＣＫパケットを生成して、ＴＣＰ伝送装置１に向けて返送する。
【００４１】
以上のように、ＴＣＰ分割転送システム１００では、ＴＣＰ伝送装置１からＴＣＰ分割転送装置３，５を経由して、ＴＣＰ伝送装置７にＴＣＰパケットを送信する。また、ＴＣＰ分割転送システム１００では、ＴＣＰ伝送装置７からＴＣＰ分割転送装置５，３を経由して、このＴＣＰパケットに対するＡＣＫパケットをＴＣＰ伝送装置１に返送する。
また、ＴＣＰ分割転送システム１００では、複数の論理回線Ｌ１，Ｌ２，・・・，Ｌｍで遅延差が生じるためにＴＣＰパケットの到着順が入れ替わる場合でも、以下で説明するＴＣＰ分割転送装置３によってその弊害を防止する。
【００４２】
［ＴＣＰ分割転送装置の構成］
図２を参照して、ＴＣＰ分割転送装置３の構成について説明する（適宜図１参照）。
図２に示すように、ＴＣＰ分割転送装置３は、ＴＣＰパケット受信部３１と、経路選択部３３と、ＡＣＫ制御部３５と、ＴＣＰパケット送信部（ＡＣＫパケット送信部）３７とを備える。
なお、図２では、説明をわかり易くするため、各論理回線Ｌを上り方向および下り方向で分けて図示している。
【００４３】
ＴＣＰパケット受信部３１は、論理回線ＬＡを介して、ＴＣＰ伝送装置１によって送信されたＴＣＰパケットを受信するものである。そして、ＴＣＰパケット受信部３１は、受信したＴＣＰパケットを経路選択部３３に出力する。
【００４４】
経路選択部３３は、複数の論理回線Ｌ１，Ｌ２，・・・，Ｌｍの中から、ＴＣＰパケット受信部３１によって受信されたＴＣＰパケットが転送される論理回線Ｌを所定の規則によって選択し、選択した論理回線Ｌを介して、ＴＣＰパケットをＴＣＰ伝送装置７に向けて転送すると共に、転送したＴＣＰパケットのシーケンス番号および選択した論理回線Ｌを示す情報が含まれる転送情報を生成するものである。
【００４５】
ここで、経路選択部３３は、ＩＰによりＴＣＰパケットをカプセル化することで、論理回線Ｌを選択する。言い換えるなら、経路選択部３３は、ＩＰ層（ネットワーク層）で実装された規則によって、複数の論理回線Ｌ１，Ｌ２，・・・，Ｌｍの中から、ＴＣＰパケットを転送する論理回線Ｌを選択する。論理回線Ｌの選択方法としては、例えば、複数の論理回線Ｌ１，Ｌ２，・・・，Ｌｍの中からランダムに論理回線Ｌを選択する方法、または、予め定められた割合に基づいて選択する方法（重み付きラウンドロビン）があげられる。そして、経路選択部３３は、選択した論理回線Ｌを介して、ＴＣＰパケット受信部３１から出力されたＴＣＰパケットをＴＣＰ分割転送装置５に転送する。
【００４６】
このとき、経路選択部３３は、ＴＣＰ分割転送装置５に転送したＴＣＰパケットのシーケンス番号と、選択した論理回線Ｌである選択論理回線の情報とを含む転送情報を生成する。そして、経路選択部３３は、生成した転送情報をＡＣＫ制御部３５に出力する。
【００４７】
以下、ＡＣＫ制御部３５より先に、遅延量設定部３６について説明する。
遅延量設定部３６は、論理回線Ｌ１，Ｌ２，・・・，Ｌｍごとの遅延量を示す論理回線遅延量を予め計測するものである。そして、遅延量設定部３６は、計測した論理回線遅延量を、図示を省略したメモリ等に記憶させる。
【００４８】
ここで、遅延量設定部３６は、論理回線遅延量として、往復遅延時間を計測する。具体的には、遅延量設定部３６は、論理回線Ｌ１，Ｌ２，・・・，Ｌｍをそれぞれ経由させて、計測用パケットをＴＣＰ分割転送装置５に送信する。この計測用パケットを受信した場合、ＴＣＰ分割転送装置５は、予め計測した論理回線ＬＢの論理回線遅延量だけ遅延させてから、この計測用パケットに対する応答パケット（ＡＣＫパケット）をＴＣＰ分割転送装置３に返送する。そして、遅延量設定部３６は、論理回線Ｌ１，Ｌ２，・・・，Ｌｍごとに、計測用パケットの送信時刻と、この計測用パケットに対する応答パケットの受信時刻との差を、論理回線Ｌ１，Ｌ２，・・・，Ｌｍごとの論理回線遅延量として計測する。
【００４９】
以上のように、論理回線Ｌ１，Ｌ２，・・・，Ｌｍごとの論理回線遅延量には、複数の論理回線Ｌ１，Ｌ２，・・・，Ｌｍが構築された区間（ＴＣＰ分割転送装置３，５の間）の往復遅延時間に加えて、論理回線ＬＢが構築された区間（ＴＣＰ分割転送装置５とＴＣＰ伝送装置７の間）の往復遅延時間を反映させることが好ましい。これによって、遅延量設定部３６は、より正確な論理回線遅延量を計測できる。
【００５０】
ＡＣＫ制御部３５は、前記した遅延量設定部３６を備えると共に、経路選択部３３によって転送されたＴＣＰパケットへの応答であるＡＣＫパケットをＴＣＰ伝送装置７から受信し、受信したＡＣＫパケットをフィルタ（不図示）によって破棄または通過させものである。
【００５１】
具体的に、ＡＣＫ制御部３５は、遅延量設定部３６が計測した論理回線遅延量に基づいて、経路選択部３３から出力された転送情報が示す論理回線Ｌの遅延量を算出する。つまり、ＡＣＫ制御部３５は、ＴＣＰパケットが転送される上り方向の物理回線と、ＡＣＫパケットが返送される下り方向の物理回線とで構成される論理回線Ｌ１，Ｌ２，・・・，Ｌｍの往復遅延時間を、論理回線Ｌの遅延量として算出する。そして、ＡＣＫ制御部３５は、算出した論理回線Ｌ１，Ｌ２，・・・，Ｌｍの遅延量を有効期間とし、かつ、転送情報のシーケンス番号を破棄対象ＡＣＫ番号としたフィルタを設定する。
【００５２】
ここで、ＴＣＰ伝送装置７からＡＣＫパケットを受信した場合、ＡＣＫ制御部３５は、このＡＣＫパケットを受信した時刻が有効期間内で、かつ、このＡＣＫパケットのＡＣＫ番号が破棄対象ＡＣＫ番号と一致する有効なフィルタが設定されているか否かを判定する。ここで、受信したＡＣＫパケットに対して有効なフィルタが設定されている場合、ＡＣＫ制御部３５は、このＡＣＫパケットを破棄する。一方、受信したＡＣＫパケットに対して有効なフィルタが設定されていない場合、ＡＣＫ制御部３５は、このＡＣＫパケットを通過させる。
【００５３】
ＴＣＰパケット送信部３７は、ＡＣＫ制御部３５が通過させたＡＣＫパケットを、論理回線ＬＡを介して、ＴＣＰ伝送装置１に転送するものである。
【００５４】
［ＴＣＰ分割転送装置の動作：ＴＣＰパケットの到着順が入れ替わるケース］
図３を参照して、ＴＣＰパケットの到着順が入れ替わるケースを例に、ＴＣＰ分割転送装置３の動作について説明する（適宜図２参照）。
【００５５】
図３では、「ＰＣＫ」がパケットを示し、ＰＣＫの後に図示した「１」，「２」などの数値がそのＴＣＰパケットのシーケンス番号を示す。また、「ＡＣＫ」がＡＣＫパケットを示し、ＡＣＫの後に図示した「１」，「２」などの数値がそのＡＣＫパケットのＡＣＫ番号を示している。
また、図３では、縦軸が時間を示すと共に、フィルタα，βの有効期間をハッチングで図示した。
また、図３では、遅延量が大きい論理回線Ｌ１を介してＰＣＫ１が送信され、論理回線Ｌ１より遅延量が小さい論理回線Ｌ２を介して、ＰＣＫ２が送信される。
【００５６】
ＴＣＰ分割転送装置３は、ＴＣＰパケット受信部３１によって、ＴＣＰ伝送装置１からＰＣＫ１を受信する（ステップＳ１）。このＰＣＫ１には、先頭のＴＣＰパケットであることを示すシーケンス番号「１」が付与されている。
【００５７】
ＴＣＰ分割転送装置３は、経路選択部３３によって、複数の論理回線Ｌ１，Ｌ２，・・・，Ｌｍの中から論理回線Ｌ１を選択して、論理回線Ｌ１を介して、ＴＣＰ伝送装置７に向けてＰＣＫ１を転送する。また、ＴＣＰ分割転送装置３は、経路選択部３３によって、シーケンス番号「１」および選択論理回線Ｌ１とした転送情報を生成して、ＡＣＫ制御部３５に出力する（ステップＳ２）。
【００５８】
ＴＣＰ分割転送装置３は、ＡＣＫ制御部３５によって、経路選択部３３からの転送情報に基づいて、破棄対象ＡＣＫ番号「１」としたフィルタαを設定する（ステップＳ３）。このフィルタαは、論理回線Ｌ１の遅延量が大きいため、有効期間が長くなる。
【００５９】
ＴＣＰ分割転送装置３は、ＴＣＰパケット受信部３１によって、ＴＣＰ伝送装置１からＰＣＫ２を受信する（ステップＳ４）。このＰＣＫ２には、ＰＣＫ１の次のＴＣＰパケットであることを示すシーケンス番号「２」が付与されている。
【００６０】
ＴＣＰ分割転送装置３は、経路選択部３３によって、複数の論理回線Ｌ１，Ｌ２，・・・，Ｌｍの中から論理回線Ｌ２を選択して、論理回線Ｌ２を介して、ＴＣＰ伝送装置７に向けてＰＣＫ２を転送する。また、ＴＣＰ分割転送装置３は、経路選択部３３によって、シーケンス番号「２」および選択論理回線Ｌ２とした転送情報を生成して、ＡＣＫ制御部３５に出力する（ステップＳ５）。
【００６１】
ＴＣＰ分割転送装置３は、ＡＣＫ制御部３５によって、経路選択部３３からの転送情報に基づいて、破棄対象ＡＣＫ番号「２」としたフィルタβを設定する（ステップＳ６）。このフィルタβは、論理回線Ｌ２の遅延量が論理回線Ｌ１より小さいため、フィルタαより有効期間が短くなる。
【００６２】
このケースでは、ＴＣＰ分割転送装置３は、ＰＣＫ２より先にＰＣＫ１をＴＣＰ伝送装置７に向けて転送している。しかし、論理回線Ｌ１の遅延量が論理回線Ｌ２より大きいため、ＴＣＰ伝送装置７には、ＰＣＫ１より先にＰＣＫ２が到着する。この場合、ＴＣＰ伝送装置７は、ＰＣＫ１のパケットロスが発生したと勘違いし、ＡＣＫ番号「１」のＡＣＫパケットをＴＣＰ伝送装置１に返送する。従って、ＴＣＰ分割転送装置３は、ＡＣＫ制御部３５によって、このＡＣＫ１を受信することになる（ステップＳ７）。
【００６３】
ここで、ＡＣＫ１をフィルタαの有効期間内に受信し、かつ、ＡＣＫ１のＡＣＫ番号「１」と、フィルタαの破棄対象ＡＣＫ番号「１」とが一致する。つまり、ＡＣＫ１に対する有効なフィルタが設定されているため、ＴＣＰ分割転送装置３は、ＡＣＫ制御部３５によって、このＡＣＫ１を破棄する（ステップＳ８）。
【００６４】
ＰＣＫ１が到着した後、ＴＣＰ伝送装置７は、シーケンス番号「３」のＴＣＰパケットを要求すべく、ＡＣＫ番号「３」のＡＣＫパケットをＴＣＰ伝送装置１に返送する。従って、ＴＣＰ分割転送装置３は、ＡＣＫ制御部３５によって、このＡＣＫ３を受信することになる（ステップＳ９）。
【００６５】
ここで、シーケンス番号「３」のＴＣＰパケットを転送していないため、ＴＣＰ分割転送装置３には、ＡＣＫ３に対する有効なフィルタが設定されていない。このため、ＴＣＰ分割転送装置３は、ＡＣＫ制御部３５によって、このＡＣＫ３をＴＣＰ伝送装置１まで通過させる（ステップＳ１０）。
【００６６】
その後、ＴＣＰ伝送装置１は、このＡＣＫ３に応じて、ＰＣＫ３をＴＣＰ伝送装置７に向けて送信する。このように、ＴＣＰ分割転送システム１００では、ＰＣＫ２に追い越されたＰＣＫ１がＴＣＰ伝送装置７に到着した後、正常なＴＣＰ伝送処理に復帰する。
【００６７】
以上のように、ＴＣＰ分割転送装置３では、パケットロスと勘違いしてＴＣＰ伝送装置７が返送したＡＣＫ１をフィルタによって破棄するため、ＴＣＰ伝送装置１がこのＡＣＫ１を受信することがない。すなわち、ＴＣＰ分割転送装置３は、新たなＴＣＰパケットの送信を要求するＡＣＫパケットを通過させ、既に送信されたＴＣＰパケットの再送を要求するＡＣＫパケットを破棄するというように、ＡＣＫパケットを必要以上に破棄することがない。これによって、ＴＣＰ分割転送装置３は、パケットロスが発生していないにも関わらず、ＴＣＰパケットの再送および輻輳ウィンドウの縮小が行われる事態を防止でき、ＴＣＰ伝送のスループットを向上させることができる。
【００６８】
ここで、図３において、ＴＣＰ分割転送装置３がＰＣＫ１を転送した後、ＰＣＫ１のパケットロスが発生した場合を考える。すると、ＴＣＰ伝送装置７は、ＰＣＫ１の再送を要求すべく、ＡＣＫ１をＴＣＰ伝送装置１に送信する。この場合、このＡＣＫ１がフィルタαによって破棄されてしまうため、ＰＣＫ１が再送できないようにも思われる。しかし、ＴＣＰ分割転送装置３では、フィルタαの有効期間が適切な長さで設定されるため、この有効期間が経過した後、ＡＣＫ１をＴＣＰ伝送装置１まで通過させることになる。従って、ＴＣＰ伝送装置１は、パケットロスによりＰＣＫ１の再送が必要な場合、素早くＰＣＫ１を再送することができる。
【００６９】
［ＴＣＰ分割転送装置の動作：ＴＣＰパケットの到着順が入れ替わらないケース］
図４を参照して、ＴＣＰパケットの到着順が入れ替わらないケースを例に、ＴＣＰ分割転送装置３の動作について説明する（適宜図２参照）。
図４では、論理回線Ｌ１，Ｌ２の遅延量が同程度であることとして説明する。
【００７０】
ステップＳ１１，Ｓ１２の処理は、図３のステップＳ１，Ｓ２の処理と同様のため、説明を省略する。
ＴＣＰ分割転送装置３は、ＡＣＫ制御部３５によって、経路選択部３３からの転送情報に基づいて、破棄対象ＡＣＫ番号「１」としたフィルタαを設定する（ステップＳ１３）。
【００７１】
このケースでは、ＰＣＫ１，２の到着順が入れ替わることなく到着するため、ＴＣＰ伝送装置７は、ＰＣＫ１の次のＴＣＰパケットの送信を要求すべく、ＡＣＫ番号「２」のＡＣＫパケットをＴＣＰ伝送装置１に返送する。従って、ＴＣＰ分割転送装置３は、ＡＣＫ制御部３５によって、ＴＣＰ伝送装置７からＡＣＫ２を受信することになる（ステップＳ１４）。
【００７２】
ここで、ＴＣＰ分割転送装置３には、シーケンス番号「２」のＴＣＰパケットを転送していないため、ＡＣＫ２に対する有効なフィルタが設定されていない。このため、ＴＣＰ分割転送装置３は、ＡＣＫ制御部３５によって、このＡＣＫ２をＴＣＰ伝送装置１まで通過させる（ステップＳ１５）。
【００７３】
その後、ＴＣＰ伝送装置１は、このＡＣＫ２に応じて、ＰＣＫ２をＴＣＰ伝送装置７に向けて送信する。このように、ＴＣＰ分割転送システム１００では、ＰＣＫ１，２の到着順が入れ替わらない場合、正常なＴＣＰ伝送処理を継続することができる。
【００７４】
以上、本発明の第１実施形態に係るＴＣＰ分割転送装置３について説明したが、本発明は、これに限定されない。以下、ＴＣＰ分割転送装置３の種々の変形例について説明する（適宜図１，図２参照）。
【００７５】
（変形例１）
第１実施形態では、論理回線遅延量として往復遅延時間を説明したが、本発明では、論理回線遅延量として、論理回線Ｌ１，Ｌ２，・・・，Ｌｍの通信品質を示す様々な指標を利用することができる。例えば、遅延量設定部３６は、論理回線遅延量として、ビットレートまたは符号化誤り率を用いることができる。
【００７６】
具体的には、遅延量設定部３６には、ビットレートと論理回線遅延量とが反比例の関係になる遅延量算出関数を予め定義しておく。そして、遅延量設定部３６は、論理回線Ｌ１，Ｌ２，・・・，Ｌｍのビットレートを測定して、測定したビットレートを遅延量算出関数に引数として与えることで、論理回線遅延量を算出する。
【００７７】
この他、遅延量設定部３６には、符号化誤り率と論理回線遅延量とが比例の関係になる遅延量算出関数を予め定義しておく。そして、論理回線Ｌ１，Ｌ２，・・・，Ｌｍの符号化誤り率を測定して、測定した符号化誤り率を遅延量算出関数に引数として与えることで、論理回線遅延量を算出する。
【００７８】
（変形例２）
第１実施形態では、ＴＣＰ伝送装置１からＴＣＰ伝送装置７に向けてＴＣＰパケットを送信することとして説明したが、実際には、ＴＣＰ伝送装置１，７が互いにＴＣＰパケットを送信することが考えられる。そこで、図２のＴＣＰ伝送装置１の各手段が、以下で説明する機能を備えてもよい。
【００７９】
ＴＣＰ伝送装置７がＴＣＰ伝送装置１に向けてＴＣＰパケットを送信する場合、ＴＣＰ伝送装置１は、ＴＣＰ伝送装置７に向けて、送信データが含まれていないＡＣＫパケットを返送することになる。そこで、経路選択部３３は、ＴＣＰパケット受信部３１から入力されたＴＣＰパケットが、このＡＣＫパケットである場合、転送情報を生成せず、この転送情報をＡＣＫ制御部３５に出力しなくともよい。
【００８０】
ＡＣＫ制御部３５は、ＴＣＰ伝送装置７から、ＡＣＫパケット以外のＴＣＰパケットを受信することがある。従って、受信したＴＣＰパケットに送信データが含まれている場合、ＡＣＫ制御部３５は、このＴＣＰパケットをフィルタによって破棄せず、通過させてもよい。
【００８１】
遅延量設定部３６は、論理回線ＬＡの論理回線遅延量（例えば、往復遅延時間）を予め計測してもよい。そして、ＴＣＰ分割転送装置５から計測用パケットを受信した場合、ＡＣＫ制御部３５は、遅延量設定部３６が計測した論理回線ＬＡの論理回線遅延量だけ遅延させてから、この計測用パケットに対する応答パケットをＴＣＰ分割転送装置５に返送する。
このようにして、ＴＣＰ分割転送装置３は、ＴＣＰ分割転送装置５が計測する論理回線遅延量に、論理回線ＬＡの論理回線遅延量を反映させることができる。
【００８２】
なお、第１実施形態では、ＴＣＰ分割転送装置３は、ＴＣＰパケットを送信したとき（例えば、図３のステップＳ３）にフィルタを設定することとしたが、ＡＣＫパケットを受信したとき（例えば、図３のステップＳ８）にフィルタを設定することもできる。
以後、ＡＣＫパケットを受信したときにフィルタを設定するケースを第２実施形態とし、ＴＣＰパケットを送信したときにフィルタを設定するケースを第３実施形態として詳細に説明する。
【００８３】
（第２実施形態）
［ＴＣＰ分割転送システムの概略］
図５を参照し、ＴＣＰ分割転送システム１００Ｂについて、第１実施形態と異なる点を説明する。具体的には、ＴＣＰ分割転送システム１００Ｂでは、複数のＩＰ回線Ｐ（ＰＡ，ＰＢ，Ｐ１，Ｐ２，・・・，Ｐｎ）を用いると共に、ＩＰヘッダでＴＣＰパケットをカプセル化することが、第１実施形態と異なる。
【００８４】
図５に示すように、ＴＣＰ分割転送システム１００Ｂは、ＴＣＰストリームを、外部ＩＰネットワーク（例えば、イーサネット（登録商標）ＬＡＮ）ＮＷを介して伝送するものであり、ＴＣＰ伝送装置（送信側端末装置）１と、ＴＣＰ分割転送装置（ＴＣＰ転送装置）３Ｂと、ＴＣＰ分割転送装置５Ｂと、ＴＣＰ伝送装置（受信側端末装置）７とを備える。
【００８５】
この第２実施形態では、ＴＣＰ分割転送装置３Ｂは、論理回線Ｌ（図１参照）の上り方向を選択し、この論理回線Ｌの上り方向を使用してＴＣＰパケットを転送する。また、ＴＣＰ分割転送装置５Ｂは、論理回線Ｌの下り方向を予め選択しておき、この論理回線Ｌの下り方向を使用してＡＣＫパケットを返送する。そして、ＴＣＰ分割転送装置３Ｂは、ＡＣＫパケットを受信した後、このＡＣＫパケットのヘッダから論理回線Ｌの下り方向を判別する。つまり、ＴＣＰ分割転送装置３Ｂは、ＡＣＫパケットを受信するまで、上り方向および下り方向を含めた論理回線Ｌの全体を判別できないため、ＡＣＫパケットを受信したときにフィルタを設定する。
【００８６】
ＩＰ回線Ｐ（ＰＡ，ＰＢ，Ｐ１，Ｐ２，・・・，Ｐｎ）は、上り方向および下り方向の両端が、固有のＩＰアドレスを有するＩＰインタフェース（図６参照）に接続された物理回線である。
【００８７】
ＴＣＰ伝送装置１，７は、図１と同様の装置である。
ＴＣＰ伝送装置１は、ＩＰ回線ＰＡを介して、ＴＣＰ分割転送装置３Ｂと接続されている。また、ＴＣＰ伝送装置７は、ＩＰ回線ＰＢを介して、ＴＣＰ分割転送装置５Ｂと接続されている。
【００８８】
ＴＣＰ分割転送装置３Ｂは、ＴＣＰパケットをＴＣＰ伝送装置１から受信し、複数のＩＰ回線Ｐ１，Ｐ２，・・・，Ｐｎの何れかを介して（ｎは２以上の任意の整数）、受信したＴＣＰパケットを、このＴＣＰパケットの宛先となるＴＣＰ伝送装置７に向けて転送するものである。
【００８９】
ここで、ＴＣＰ分割転送装置３Ｂは、複数のＩＰ回線Ｐ１，Ｐ２，・・・，Ｐｎを介して、ＴＣＰ分割転送装置５Ｂと接続されている。そして、ＴＣＰ分割転送装置３Ｂは、複数のＩＰ回線Ｐ１，Ｐ２，・・・，Ｐｎの中から、論理回線Ｌの上り方向に使用するＩＰ回線Ｐを選択する。さらに、ＴＣＰ分割転送装置３Ｂは、選択したＩＰ回線Ｐを介して、ＴＣＰ伝送装置１から受信したＴＣＰパケットをＴＣＰ分割転送装置５Ｂに転送する。
なお、ＴＣＰ分割転送装置３Ｂの構成については、後記する。
【００９０】
ＴＣＰ分割転送装置５Ｂは、ＴＣＰ分割転送装置３Ｂと同一構成の装置である。
ここで、ＴＣＰ分割転送装置５Ｂは、ＡＣＫパケットを返送するＩＰ回線Ｐ（論理回線の下り方向）を予め選択しておく。例えば、ＴＣＰ分割転送装置５Ｂは、図１の経路選択部３３と同様の手法で、論理回線の下り方向に使用するＩＰ回線Ｐを選択する。そして、ＴＣＰ分割転送装置５Ｂは、ＴＣＰ分割転送装置３Ｂから転送されたＴＣＰパケットをＴＣＰ伝送装置７に送信する。また、このとき、ＴＣＰ分割転送装置５Ｂは、選択したＩＰ回線Ｐを介して、このＴＣＰパケットに対するＡＣＫパケットを返送する。
【００９１】
以下、論理回線Ｌ（図１参照）と、物理回線（ＩＰ回線Ｐ）との関係について説明する。
論理回線Ｌは、ＴＣＰパケットの転送に使用される上り方向のＩＰ回線Ｐと、ＡＣＫの返送に使用される下り方向のＩＰ回線Ｐとのペアで構成される。図１の論理回線Ｌ１を例にすると、論理回線Ｌ１の上り方向にＩＰ回線Ｐ１を使用し、論理回線Ｌ１の下り方向にＩＰ回線Ｐ２を使用するというように、ＩＰ回線Ｐ１，Ｐ２のペアで構成される。
また、論理回線Ｌは、上り方向および下り方向が共通するように、単一のＩＰ回線Ｐで構成されてもよい。図１の論理回線Ｌ１を例にすると、論理回線Ｌ１の上り方向および下り方向にＩＰ回線Ｐ１を使用するというように、単一のＩＰ回線Ｐ１で構成される。
【００９２】
［ＴＣＰ分割転送装置の構成］
図６を参照して、ＴＣＰ分割転送装置３Ｂの構成について説明する（適宜図５参照）。
図６に示すように、ＴＣＰ分割転送装置３Ｂは、ＩＰインターフェース３０（３０Ａ，３０１，３０２，・・・，３０ｎ）と、ＴＣＰパケット受信部３１Ｂと、経路選択部３３Ｂと、ＡＣＫ制御部３５Ｂと、ＴＣＰパケット送信部（ＡＣＫパケット送信部）３７Ｂとを備える。
【００９３】
ＩＰインターフェース３０（３０Ａ，３０１，３０２，・・・，３０ｎ）は、例えば、固有のＩＰアドレスが予め設定されたネットワークインターフェースである。また、ＩＰインターフェース３０（３０Ａ，３０１，３０２，・・・，３０ｎ）は、ＩＰ回線Ｐ（ＰＡ，Ｐ１，Ｐ２，・・・，Ｐｎ）にそれぞれ接続されている。
【００９４】
ここで、ＩＰインターフェース３０Ａは、ＴＣＰ伝送装置１からＴＣＰ伝送装置７へ向けて送信されたＴＣＰパケットを受信すると、ＴＣＰパケット受信部３１Ｂに出力する。この場合、ＴＣＰ伝送装置７に向けて送信されたＴＣＰパケットの識別方法として、例えば、ＴＣＰパケットの宛先が、ＴＣＰ伝送装置７のＩＰアドレスに一致するか否かを判定する方法が利用できる。
なお、第２実施形態では、ＴＣＰ伝送装置１から受信したＴＣＰパケットには、ＩＰヘッダが付加されている。以後、ＩＰヘッダが付加されたＴＣＰパケットを、「オリジナルＩＰパケット」と呼ぶことがある。
【００９５】
ＴＣＰパケット受信部３１Ｂは、ＩＰインターフェース３０Ａを介して、ＴＣＰ伝送装置１によって送信されたオリジナルＩＰパケットを受信するものである。そして、ＴＣＰパケット受信部３１Ｂは、受信したオリジナルＩＰパケットを経路選択部３３Ｂに出力する。
【００９６】
経路選択部３３Ｂは、複数のＩＰ回線Ｐ１，Ｐ２，・・・，Ｐｎの中から、ＴＣＰパケット受信部３１Ｂによって受信されたオリジナルＩＰパケットが転送されるＩＰ回線Ｐを所定の規則によって選択し、選択したＩＰ回線Ｐを介して、カプセル化されたＩＰパケットをＴＣＰ伝送装置７に向けて転送すると共に、転送したＩＰパケットのシーケンス番号および選択論理回線の情報が含まれる転送情報を生成するものである。
【００９７】
ここで、経路選択部３３Ｂは、図２の経路選択部３３と同様の手法で、論理回線Ｌの上り方向に使用するＩＰ回線Ｐを選択する。そして、経路選択部３３Ｂは、オリジナルＩＰパケットをＩＰヘッダでカプセル化して、選択したＩＰ回線Ｐに対応するＩＰインターフェース３０に出力する。例えば、ＲＦＣ１８５３で規定された「IP in IP Tunneling」を用いる場合、経路選択部３３Ｂは、図７に示すように、オリジナルＩＰパケットをカプセル化する。
【００９８】
図７の例では、経路選択部３３Ｂは、バージョンを「４」、ヘッダ長を「５」、Ｔｙｐｅ  ｏｆ  Ｓｅｒｖｉｃｅを「０」に設定する。また、経路選択部３３Ｂは、ＩＰパケット長として、オリジナルＩＰパケットの長さに「２０」を加算した値を設定する。また、経路選択部３３Ｂは、例えば、プロトコル番号として、ＩＰｖ４を意味する「４」を設定する。また、経路選択部３３Ｂは、ヘッダチェックサムを、ＲＦＣ７９１に規定された方法で算出して設定する。
【００９９】
また、経路選択部３３Ｂは、送信元ＩＰアドレスとして、選択したＩＰ回線Ｐに対応するＩＰインターフェース３０のＩＰアドレスを設定する。また、経路選択部３３Ｂは、宛先ＩＰアドレスとして、選択したＩＰ回線Ｐにおいて、下り方向の端に接続されたＩＰインターフェースのＩＰアドレスを設定する。言い換えるなら、宛先ＩＰアドレスには、ＴＣＰ分割転送装置５Ｂに備えられたＩＰインターフェース（不図示）のＩＰアドレスが設定される。
つまり、第２実施形態では、選択論理回線の情報（論理回線Ｌの上り方向に使用したＩＰ回線Ｐの情報）として、例えば、送信元ＩＰアドレスおよび宛先ＩＰアドレスの組を用いることができる。
【０１００】
また、経路選択部３３Ｂは、識別子、フラグ、フラグメントオフセットおよび生存期間を、オリジナルＩＰパケット内のＩＰヘッダに格納された値と同一に設定する。
以下、図６に戻り、経路選択部３３Ｂの説明を続ける。
【０１０１】
また、経路選択部３３Ｂは、ＴＣＰ分割転送装置５Ｂに転送したオリジナルＩＰパケットのシーケンス番号と、選択論理回線の情報とを含む転送情報を生成する。そして、経路選択部３３Ｂは、生成した転送情報をＡＣＫ制御部３５Ｂに出力する。
【０１０２】
ＩＰインターフェース３０１，３０２，・・・，３０ｎは、経路選択部３３Ｂから入力されたＩＰパケット（ＩＰヘッダでカプセル化されたオリジナルＩＰパケット）を、それぞれに接続されたＩＰ回線Ｐ１，Ｐ２，・・・，Ｐｎを介して、ＴＣＰ分割転送装置５Ｂに出力する。
【０１０３】
また、ＩＰインターフェース３０１，３０２，・・・，３０ｎは、それぞれに接続されたＩＰ回線Ｐ１，Ｐ２，・・・，Ｐｎを介して、ＡＣＫパケット（図７と同様のＩＰヘッダでカプセル化されたＡＣＫパケット）をＴＣＰ伝送装置７から受信し、このＡＣＫパケットをＡＣＫ制御部３５Ｂに出力する。この場合、ＴＣＰ伝送装置１へ向けて返送されたＡＣＫパケットの識別方法としては、例えばＩＰインターフェース３０１，３０２，・・・，３０ｎのＩＰアドレスに宛先ＩＰアドレスが一致し、オリジナルＩＰパケット内のＩＰヘッダにおいて、宛先ＩＰアドレスがＴＣＰ伝送装置１のＩＰアドレスに一致するか否かを判定する方法が利用できる。
【０１０４】
ＡＣＫ制御部３５Ｂは、遅延量設定部３６を備えると共に、経路選択部３３Ｂによって転送されたＩＰパケットへの応答であるＡＣＫパケットをＴＣＰ伝送装置７から受信し、受信したＡＣＫパケットをフィルタ（不図示）によって破棄または通過させものである。
【０１０５】
ここで、ＡＣＫ制御部３５Ｂは、経路選択部３３Ｂからの転送情報に基づいて論理回線Ｌの上り方向を判別し、受信したＡＣＫパケットのＩＰヘッダに基づいて論理回線Ｌの下り方向を判別する。言い換えるなら、ＡＣＫ制御部３５Ｂは、ＡＣＫパケットが返送されたＩＰ回線Ｐを、論理回線Ｌの下り方向として判別する。そして、ＡＣＫ制御部３５Ｂは、図２のＡＣＫ制御部３５と同様にフィルタを設定し、このフィルタによって受信したＡＣＫパケットを破棄または通過させる。
【０１０６】
ＴＣＰパケット送信部３７Ｂは、ＡＣＫ制御部３５Ｂが通過させたＡＣＫパケットを、ＩＰインターフェース３０Ａを介して、ＴＣＰ伝送装置１に送信するものである。この場合、ＩＰインターフェース３０Ａは、ＡＣＫ制御部３５Ｂが通過させたＡＣＫパケットをＴＣＰ伝送装置１に送信する。
【０１０７】
以上のように、ＴＣＰ分割転送装置３Ｂは、図１のＴＣＰ分割転送装置３と同様、パケットロスが発生していないにも関わらず、ＴＣＰパケットの再送および輻輳ウィンドウの縮小が行われる事態を防止でき、ＴＣＰ伝送のスループットを向上させることができる。また、ＴＣＰ分割転送装置３Ｂは、ＩＰヘッダでＴＣＰパケットをカプセル化するため、ＩＰで伝送する外部ネットワークＮＷを介して、ＴＣＰパケットをＴＣＰ伝送装置７に転送することができる。
【０１０８】
なお、第２実施形態では、ＩＰインターフェース３０（３０Ａ，３０１，３０２，・・・，３０ｎ）と、ＩＰ回線Ｐ（ＰＡ，Ｐ１，Ｐ２，・・・，Ｐｎ）とが１対１で対応することとして説明したが、本発明は、これに限定されない。例えば、ＴＣＰ分割転送装置３Ｂは、ＩＰインターフェース３０Ａを、ＩＰインターフェースＰ１，Ｐ２，・・・，Ｐｎの何れかと共用してもよい。また、例えば、ＴＣＰ分割転送装置３Ｂは、ＩＰインターフェースＰ１，Ｐ２，・・・，Ｐｎが、少なくとも２以上のＩＰインターフェース３０で構成されてもよい。
【０１０９】
（第３実施形態）
［ＴＣＰ分割転送システムの概略］
図５に戻り、ＴＣＰ分割転送システム１００Ｃの概略として、第２実施形態と異なる点を説明する。具体的には、ＴＣＰ分割転送システム１００Ｃでは、ＵＤＰ（User Datagram Protocol）ヘッダでＴＣＰパケットをカプセル化することが、第２実施形態と異なる。
【０１１０】
図５に示すように、ＴＣＰ分割転送システム１００Ｃは、ＴＣＰストリームを、外部ＩＰネットワーク（例えば、イーサネットＬＡＮ）ＮＷを介して伝送するものであり、ＴＣＰ伝送装置（送信側端末装置）１と、ＴＣＰ分割転送装置（ＴＣＰ転送装置）３Ｃと、ＴＣＰ分割転送装置５Ｃと、ＴＣＰ伝送装置（受信側端末装置）７とを備える。
【０１１１】
この第３実施形態では、ＴＣＰ分割転送装置３Ｃは、論理回線Ｌ（図１参照）の上り方向および下り方向を選択し、この論理回線Ｌの上り方向を使用してＴＣＰパケットを転送する。つまり、ＴＣＰ分割転送装置３Ｃは、ＴＣＰパケットを送信したとき、上り方向および下り方向を含めた論理回線Ｌの全体が判別できるので、フィルタを設定する。このとき、ＴＣＰ分割転送装置３Ｃは、戻り回線情報をＴＣＰ分割転送装置５Ｃに通知する。そして、ＴＣＰ分割転送装置５Ｃは、戻り回線情報で通知された論理回線Ｌの下り方向を使用して、ＡＣＫパケットを返送する。
【０１１２】
ＴＣＰ分割転送装置３Ｃは、ＴＣＰパケットをＴＣＰ伝送装置１から受信し、複数のＩＰ回線Ｐ１，Ｐ２，・・・，Ｐｎの何れかを介して、受信したＴＣＰパケットを、このＴＣＰパケットの宛先となるＴＣＰ伝送装置７に向けて転送するものである。
ここで、ＴＣＰ分割転送装置３Ｃは、複数のＩＰ回線Ｐ１，Ｐ２，・・・，Ｐｎの中から、論理回線Ｌの上り方向および下り方向に使用するＩＰ回線Ｐを選択する。そして、ＴＣＰ分割転送装置３Ｃは、戻り回線情報を格納したＵＤＰヘッダでＴＣＰパケットをカプセル化して、ＴＣＰ分割転送装置５Ｃに転送する。
【０１１３】
ＴＣＰ分割転送装置５Ｃは、ＴＣＰ分割転送装置３Ｃと同一構成の装置である。
ここで、ＴＣＰ分割転送装置５Ｃは、ＴＣＰパケットのＵＤＰヘッダに格納された戻り回線情報から、論理回線Ｌの下り方向に使用するＩＰ回線Ｐを判別する。そして、ＴＣＰ分割転送装置５Ｃは、判別したＩＰ回線Ｐを介して、このＴＣＰパケットに対するＡＣＫパケットを返送する。
【０１１４】
［ＴＣＰ分割転送装置の構成］
図６に戻り、ＴＣＰ分割転送装置３Ｃの構成について、第２実施形態と異なる点を主に説明する（適宜図５参照）。
図６に示すように、ＴＣＰ分割転送装置３Ｃは、ＩＰインターフェース３０（３０Ａ，３０１，３０２，・・・，３０ｎ）と、ＴＣＰパケット受信部３１Ｂと、経路選択部３３Ｃと、ＡＣＫ制御部３５Ｃと、ＴＣＰパケット送信部（ＡＣＫパケット送信部）３７Ｂとを備える。
【０１１５】
経路選択部３３Ｃは、図２の経路選択部３３と同様の手法で、論理回線Ｌの上り方向および下り方向に使用するＩＰ回線Ｐを選択する。そして、経路選択部３３Ｃは、オリジナルＩＰパケットをＵＤＰヘッダでカプセル化して、選択したＩＰ回線Ｐに対応するＩＰインターフェース３０に出力する。例えば、ＲＦＣ１８５３で規定された「IP in IP Tunneling」を用いる場合、経路選択部３３Ｃは、図８に示すように、オリジナルＩＰパケットをカプセル化する。
【０１１６】
図８の例では、経路選択部３３Ｃは、バージョンを「４」、ヘッダ長を「５」、Ｔｙｐｅ  ｏｆ  Ｓｅｒｖｉｃｅを「０」に設定する。また、経路選択部３３Ｃは、ＩＰパケット長として、オリジナルＩＰパケットの長さに「３６」を加算した値を設定する。また、経路選択部３３Ｃは、例えば、プロトコル番号として、ＵＤＰを意味する「１７」を設定する。また、経路選択部３３Ｃは、ヘッダチェックサムを、ＲＦＣ７９１に規定された方法で算出して設定する。
【０１１７】
また、経路選択部３３Ｃは、送信元ＩＰアドレスとして、選択したＩＰ回線Ｐ（論理回線Ｌの上り方向）に対応するＩＰインターフェース３０のＩＰアドレスを設定する。また、経路選択部３３Ｃは、宛先ＩＰアドレスとして、選択したＩＰ回線Ｐ（論理回線Ｌの上り方向）において、下り方向の端に接続されたＩＰインターフェースのＩＰアドレスを設定する。言い換えるなら、宛先ＩＰアドレスには、ＴＣＰ分割転送装置５Ｃに備えられたＩＰインターフェース（不図示）のＩＰアドレスが設定される。
【０１１８】
また、経路選択部３３Ｃは、送信元ポート番号および宛先ポート番号として、ユーザによって決定された値を設定する。また、経路選択部３３Ｃは、ＵＤＰパケット長として、オリジナルＩＰパケットの長さに「１６」を加算した値を設定する。また、経路選択部３３Ｃは、チェックサムを、ＲＦＣ７６８に規定された方法で算出して設定する。
【０１１９】
また、経路選択部３３Ｃは、戻り回線送信元ＩＰアドレスとして、選択したＩＰ回線Ｐ（論理回線Ｌの下り方向）において、下り方向の端に接続されたＩＰインターフェースのＩＰアドレスを設定する。言い換えるなら、戻り回線送信元ＩＰアドレスには、ＴＣＰ分割転送装置５Ｃに備えられたＩＰインターフェースのＩＰアドレスが設定される。また、経路選択部３３Ｃは、戻り回線宛先ＩＰアドレスとして、選択したＩＰ回線Ｐ（論理回線Ｌの下り方向）に対応するＩＰインターフェース３０のＩＰアドレスを設定する。
【０１２０】
つまり、第３実施形態では、選択論理回線の情報として、例えば、送信元ＩＰアドレスおよび宛先ＩＰアドレスと、戻り回線送信元ＩＰアドレスおよび戻り回線宛先ＩＰアドレスの組とを用いることができる。ここで、送信元ＩＰアドレスおよび宛先ＩＰアドレスの組が論理回線Ｌの上り方向を示し、戻り回線送信元ＩＰアドレスおよび戻り回線宛先ＩＰアドレスの組が論理回線Ｌの下り方向（つまり、戻り回線情報）を示す。
【０１２１】
また、経路選択部３３Ｃは、識別子、フラグ、フラグメントオフセットおよび生存期間を、オリジナルＩＰパケット内のＩＰヘッダに格納された値と同一に設定する。
以下、図６に戻り、経路選択部３３Ｃの説明を続ける。
【０１２２】
また、経路選択部３３Ｃは、ＴＣＰ分割転送装置５Ｃに転送したオリジナルＩＰパケットのシーケンス番号と、選択したＩＰ回線Ｐの情報とを含む転送情報を生成する。そして、経路選択部３３Ｃは、生成した転送情報をＡＣＫ制御部３５Ｃに出力する。
【０１２３】
ＡＣＫ制御部３５Ｃは、経路選択部３３Ｃからの転送情報に基づいて論理回線Ｌの上り方向および下り方向を判別する。そして、ＡＣＫ制御部３５Ｃは、図２のＡＣＫ制御部３５と同様にフィルタを設定し、このフィルタによって受信したＡＣＫパケットを破棄または通過させる。つまり、ＡＣＫ制御部３５Ｃは、ＡＣＫパケットの返送を待つことなく、フィルタを設定できる。
【０１２４】
以上のように、ＴＣＰ分割転送装置３Ｃは、ＴＣＰ分割転送装置３Ｂと同様、パケットロスが発生していないにも関わらず、ＴＣＰパケットの再送および輻輳ウィンドウの縮小が行われる事態を防止でき、ＴＣＰ伝送のスループットを向上させることができる。また、ＴＣＰ分割転送装置３Ｃは、ＵＤＰヘッダでＴＣＰパケットをカプセル化するため、ＵＤＰで伝送する外部ネットワークＮＷを介して、ＴＣＰパケットをＴＣＰ伝送装置７に転送することができる。
【０１２５】
（変形例３）
第３実施形態では、経路選択部３３Ｃが論理回線Ｌの下り方向を選択することとして説明したが、これに限定されない。例えば、ＴＣＰ分割転送装置５Ｃは、ＴＣＰ分割転送装置３Ｃと同様の手法で論理回線Ｌの下り方向を予め選択しておき、これを戻り回線情報としてＴＣＰ分割転送装置３Ｃに予め通知してもよい。
【０１２６】
この場合、ＡＣＫ制御部３５Ｃは、ＩＰインターフェース３０１，３０２，・・・，３０ｎを介して、ＴＣＰ分割転送装置５Ｃから、戻り回線情報が格納されたＩＰパケットを受信する。そして、ＡＣＫ制御部３５Ｃは、受信したＩＰパケットに含まれる戻り回線情報を抽出して、経路選択部３３Ｃに出力する。
【０１２７】
経路選択部３３Ｃは、前記した手法で、論理回線Ｌの上り方向に使用するＩＰ回線Ｐを選択する。また、経路選択部３３Ｃは、ＡＣＫ制御部３５Ｃからの戻り回線情報で指定されたＩＰ回線Ｐを、論理回線Ｌの下り方向として使用する。
以上のように、ＴＣＰ分割転送装置３Ｃは、ＴＣＰ分割転送装置５Ｃから通知された戻り回線情報を使用して、ＴＣＰ伝送を行うことができる。
【０１２８】
なお、各実施形態では、ＴＣＰ分割転送装置が対向するように２台配置されているが、本発明に係るＴＣＰ分割転送装置は、ネットワーク上に１台だけ配置してもよい。
【０１２９】
なお、各実施形態では、本発明に係るＴＣＰ分割転送装置を独立した装置として説明したが、本発明では、一般的なコンピュータが備えるＣＰＵ、メモリ等のハードウェア資源を、前記した各手段として協調動作させるＴＣＰ分割転送プログラムによっても実現することもできる。このプログラムは、通信回線を介して配布しても良く、ＣＤ−ＲＯＭやフラッシュメモリ等の記録媒体に書き込んで配布しても良い。
また、本発明に係るＴＣＰ分割転送装置は、ルータなどのネットワーク転送装置に内蔵してもよい。
【符号の説明】
【０１３０】
１  ＴＣＰ伝送装置（送信側端末装置）
３，３Ｂ，３Ｃ  ＴＣＰ分割転送装置（ＴＣＰ転送装置）
３０，３０Ａ，３０１，３０２，・・・，３０ｎ  ＩＰインターフェース
３１，３１Ｂ  ＴＣＰパケット受信部
３３，３３Ｂ  経路選択部
３５，３５Ｂ  ＡＣＫ制御部
３６  遅延量設定部
３７，３７Ｂ  ＴＣＰパケット送信部（ＡＣＫパケット送信部）
５，５Ｂ，５Ｃ  ＴＣＰ分割転送装置
７  ＴＣＰ伝送装置（受信側端末装置）
１００，１００Ｂ，１００Ｃ  ＴＣＰ分割転送システム
Ｌ，ＬＡ，ＬＢ，Ｌ１，Ｌ２，Ｌｍ  論理回線
Ｐ，ＰＡ，ＰＢ，Ｐ１，Ｐ２，Ｐｎ  ＩＰ回線
【図１】
2012134907.tif 000003
【図２】
2012134907.tif 000004
【図３】
2012134907.tif 000005
【図４】
2012134907.tif 000006
【図５】
2012134907.tif 000007
【図６】
2012134907.tif 000008
【図７】
2012134907.tif 000009
【図８】
2012134907.tif 000010
【図９】
2012134907.tif 000011