JP2012134907A - Tcp transfer apparatus and program thereof - Google Patents

Tcp transfer apparatus and program thereof Download PDF

Info

Publication number
JP2012134907A
JP2012134907A JP2010287136A JP2010287136A JP2012134907A JP 2012134907 A JP2012134907 A JP 2012134907A JP 2010287136 A JP2010287136 A JP 2010287136A JP 2010287136 A JP2010287136 A JP 2010287136A JP 2012134907 A JP2012134907 A JP 2012134907A
Authority
JP
Japan
Prior art keywords
tcp
packet
ack
logical line
line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010287136A
Other languages
Japanese (ja)
Inventor
Tomohito Koyama
智史 小山
Katsunori Aoki
勝典 青木
Shuhei Oda
周平 小田
Masaaki Kurozumi
正顕 黒住
Makoto Yamamoto
真 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Broadcasting Corp
Original Assignee
Nippon Hoso Kyokai NHK
Japan Broadcasting Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Hoso Kyokai NHK, Japan Broadcasting Corp filed Critical Nippon Hoso Kyokai NHK
Priority to JP2010287136A priority Critical patent/JP2012134907A/en
Publication of JP2012134907A publication Critical patent/JP2012134907A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a TCP transfer apparatus which can improve TCP transmission throughput even in cases where a high-speed retransfer algorithm is adopted and the order in which TCP packets arrive is altered by a difference in delay per logic line.SOLUTION: A TCP divided transfer apparatus 3 comprises a TCP packet receive unit 31 which receives TCP packets; a path select unit 33 which selects one logic line L from a plurality of logic lines L and generates transfer information which includes information on a selected logic line; an ACK control unit 35 which destroys an ACK packet when a valid filter is set, or lets an ACK packet pass when a valid filter is not set; a delay amount setting unit 36 which measures a logic line delay amount in advance; and a TCP packet transmit unit 37 which transmits the ACK packet which was permitted to pass by the ACK control unit 35 to a TCP transmit apparatus 1.

Description

本発明は、シーケンス番号が含まれるTCPパケットを送信側端末装置から受信し、複数の論理回線の何れかを介して、受信したTCPパケットをTCPパケットの宛先となる受信側端末装置に向けて転送するTCP転送装置およびそのプログラムに関する。   The present invention receives a TCP packet including a sequence number from a transmission-side terminal device, and transfers the received TCP packet to a reception-side terminal device that is the destination of the TCP packet via any of a plurality of logical lines. The present invention relates to a TCP transfer device and a program thereof.

近年、情報伝達のインフラとして普及しているIP(Internet Protocol)ネットワークは、一般的に、パケットの伝送が保証されないベストエフォートネットワークである。このため、ファイル伝送のように、確実にパケットが伝送されることを必要とする用途には、伝達確認を行うTCP(Transmission Control Protocol)が、広く利用されている(非特許文献1)。   In recent years, an IP (Internet Protocol) network that is widely used as an information transmission infrastructure is generally a best-effort network in which packet transmission is not guaranteed. For this reason, TCP (Transmission Control Protocol) that confirms transmission is widely used for applications that require packet transmission reliably, such as file transmission (Non-Patent Document 1).

TCPの基本的な通信アルゴリズムを以下に説明する。送信側は、伝送するパケットのヘッダにシーケンス番号を含めて送信する。受信側は、受信したパケットのシーケンス番号を元に、次に受信すべきシーケンス番号をACK(Acknowledgement)パケットにてACK番号として返送する。送信側は、受信したACKパケットにより、受信側がどのパケットまで正常に受信できたかを知ることができる。また、一定時間の間に受信を確認できなかったパケットに対して、送信側は、もう一度同じパケットを送信することで、確実な伝送を実現する。   The basic communication algorithm of TCP will be described below. The transmission side transmits the packet including the sequence number in the header of the packet to be transmitted. Based on the sequence number of the received packet, the receiving side returns a sequence number to be received next as an ACK number in an ACK (Acknowledgement) packet. From the received ACK packet, the transmission side can know to what packet the reception side has successfully received. In addition, for a packet whose reception has not been confirmed for a certain period of time, the transmitting side transmits the same packet again, thereby realizing reliable transmission.

また、TCPでは、送信量をコントロールする値として、輻輳ウィンドウと受信ウィンドウとを使用する。輻輳ウィンドウとは、送信側がACKパケットの返送を待たずに送信できるデータ量のことである。また、受信ウィンドウとは、受信側がある時点で処理できるデータ量のことである。ここで、輻輳ウィンドウは、ACKパケットを受け取る度に拡大され、より大きなデータをACKパケットの返送を待たずに送信できるようになる。一方、パケットロスが発生し、あるパケットに対するACKパケットを受信できず、パケットの再送を行った場合、輻輳ウィンドウは、初期値にリセットされる。   In TCP, a congestion window and a reception window are used as values for controlling the transmission amount. The congestion window is the amount of data that can be transmitted without waiting for the transmission side to return the ACK packet. The reception window is the amount of data that can be processed at a certain point in time on the receiving side. Here, the congestion window is expanded every time an ACK packet is received, and larger data can be transmitted without waiting for the return of the ACK packet. On the other hand, when a packet loss occurs and an ACK packet for a certain packet cannot be received and the packet is retransmitted, the congestion window is reset to the initial value.

また、TCPでは、ACKパケットのタイムアウトを待たずに、パケットロスを検知してパケットを再送する高速再転送アルゴリズムが用いられる。例えば、送信側が同じACK番号を持ったACKパケットを3つ連続で受け取った場合、送信側は、タイムアウトを待たずにパケットの再送を行う。この場合、輻輳ウィンドウが縮小される。さらに、Reno、NewReno、Vegasなど、輻輳ウィンドウの拡大幅や縮小幅を変えるTCP伝送性能改善技術が提案されている(非特許文献2〜4)。   TCP uses a high-speed retransmission algorithm that detects packet loss and retransmits the packet without waiting for the timeout of the ACK packet. For example, when the transmitting side receives three consecutive ACK packets having the same ACK number, the transmitting side retransmits the packet without waiting for a timeout. In this case, the congestion window is reduced. Furthermore, TCP transmission performance improvement techniques for changing the expansion width or reduction width of the congestion window, such as Reno, New Reno, and Vegas, have been proposed (Non-Patent Documents 2 to 4).

ここで、TCPに限られず、伝達確認を行うデータ伝送の最大スループットは、受信ウィンドウの最大サイズおよび往復伝番遅延によって定まる。この受信ウィンドウの最大サイズによるボトルネックを回避するには、単一の回線上に複数のTCPコネクションを確立する手法が考えられる。この手法では、受信ウィンドウがコネクションの数だけ拡大するため、TCP伝送のスループットが向上する。   Here, the maximum throughput of data transmission for confirming transmission is not limited to TCP, and is determined by the maximum size of the reception window and the round trip number delay. In order to avoid the bottleneck due to the maximum size of the reception window, a method of establishing a plurality of TCP connections on a single line can be considered. In this method, the reception window is increased by the number of connections, so that the throughput of TCP transmission is improved.

一方、受信ウィンドウのサイズが十分な場合、回線の伝送速度がボトルネックとなり、前記した単一の回線上に複数のTCPコネクションを確立する手法では、スループットの改善効果を期待できない。この場合、複数回線を用いる手法によって、回線の合計伝送速度を増加させ、TCP伝送のスループットを向上させることができる。   On the other hand, when the size of the reception window is sufficient, the transmission rate of the line becomes a bottleneck, and the above-described technique for establishing a plurality of TCP connections on a single line cannot be expected to improve the throughput. In this case, it is possible to increase the total transmission speed of the line and improve the TCP transmission throughput by a technique using a plurality of lines.

RFC793 Transmission Control ProtocolRFC793 Transmission Control Protocol RFC2581 TCP Congestion ControlRFC2581 TCP Congestion Control RFC3782 The NewReno Modification to TCP’s Fast Recovery AlgorithmRFC3782 The New Reno 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-1480TCP Vegas: End to End Congestion Avoidance on a Global Internet.IEEE Journal on Selected Areas in Communication, Vol 13, No. 8, 1465-1480

しかし、複数回線を用いる手法では、各回線の遅延量を一致させることが困難である。このため、遅延量が小さい回線で伝送されたパケットが、遅延量が大きい回線で伝送されたパケットを追い越すことにより、パケットの到着順序が入れ替わることがある。そして、高速再転送アルゴリズムを採用した場合、パケットの到着順序が入れ替わると、受信側が、パケットロスが発生したと勘違いして、追い越されたパケットの再送要求を送信側に行ってしまう。このため、複数回線を用いる手法では、TCP伝送のスループットが向上しないという問題が発生する。   However, in the method using a plurality of lines, it is difficult to match the delay amount of each line. For this reason, a packet transmitted on a line with a small delay amount may overtake a packet transmitted on a line with a large delay amount, so that the arrival order of the packets may be switched. When the high-speed retransmission algorithm is adopted, if the arrival order of the packets is changed, the receiving side misunderstands that a packet loss has occurred, and makes a retransmission request for the overtaken packet to the transmitting side. For this reason, the technique using a plurality of lines has a problem that the throughput of TCP transmission does not improve.

図9を参照して、この問題を具体的に説明する。
この図9では、「PCK」がパケットを示し、PCKの後に図示した「1」,「2」などの数値がそのパケットのシーケンス番号を示す。また、「ACK」がACKパケットを示し、ACKの後に図示した「1」,「2」などの数値がそのACKパケットのACK番号を示している。
This problem will be specifically described with reference to FIG.
In FIG. 9, “PCK” indicates a packet, and numerical values such as “1” and “2” illustrated after PCK indicate the sequence number of the packet. “ACK” indicates an ACK packet, and numerical values such as “1” and “2” illustrated after ACK indicate the ACK number of the ACK packet.

まず、送信側のTCP伝送装置91は、遅延量が大きい回線を介して、先頭のパケットであるPCK1を、受信側のTCP伝送装置93に送信する(ステップS91)。次に、TCP伝送装置91は、遅延量が小さい回線を介して、PCK1の次のパケットであるPCK2を、TCP伝送装置93に送信する。ここで、両回線の遅延量が異なるため、TCP伝送装置93には、PCK1よりPCK2が先に到着する(ステップS92)。   First, the TCP transmission device 91 on the transmission side transmits PCK1, which is the first packet, to the TCP transmission device 93 on the reception side via a line with a large delay amount (step S91). Next, the TCP transmission device 91 transmits PCK2, which is a packet next to PCK1, to the TCP transmission device 93 via a line with a small delay amount. Here, since the delay amounts of both lines are different, PCK2 arrives at the TCP transmission apparatus 93 earlier than PCK1 (step S92).

この場合、TCP伝送装置93は、PCK1のパケットロスが発生したと判定して、PCK1の再送を要求すべく、ACK1をTCP伝送装置91に送信する(ステップS93)。このACK1に応じて、TCP伝送装置91は、輻輳ウィンドウを初期値にリセットして、PCK1をTCP伝送装置93に再送する(ステップS94)。   In this case, the TCP transmission apparatus 93 determines that a packet loss of PCK1 has occurred, and transmits ACK1 to the TCP transmission apparatus 91 to request retransmission of PCK1 (step S93). In response to this ACK1, the TCP transmission device 91 resets the congestion window to the initial value, and retransmits PCK1 to the TCP transmission device 93 (step S94).

この結果、複数回線を用いる手法では、PCK1のパケットロスが発生していないにも関わらず、高速再転送アルゴリズムによるPCK1の再送および輻輳ウィンドウの縮小が行われるため、TCP伝送のスループットが向上しない。   As a result, in the method using a plurality of lines, although the packet loss of PCK1 does not occur, the retransmission of PCK1 and the congestion window are reduced by the high-speed retransmission algorithm, so that the throughput of TCP transmission does not improve.

そこで、本発明は、前記した問題を解決し、高速再転送アルゴリズムが採用され、論理回線ごとの遅延差によってTCPパケットの到着順序が入れ替わる場合でも、TCP伝送のスループットを向上させることができるTCP転送装置およびそのプログラムを提供することを目的とする。   Therefore, the present invention solves the above-described problems, adopts a high-speed retransmission algorithm, and can improve the TCP transmission throughput even when the arrival order of TCP packets is changed due to a delay difference for each logical line. An object is to provide an apparatus and a program thereof.

前記した課題に鑑みて、本願第1発明に係るTCP転送装置は、シーケンス番号が含まれるTCPパケットを送信側端末装置から受信し、複数の論理回線の何れかを介して、受信したTCPパケットを当該TCPパケットの宛先となる受信側端末装置に向けて転送するTCP転送装置であって、TCPパケット受信部と、経路選択部と、ACK制御部と、ACKパケット送信部と、を備えることを特徴とする。   In view of the above-described problems, the TCP transfer device according to the first invention of the present application receives a TCP packet including a sequence number from a transmission-side terminal device, and receives the received TCP packet via any of a plurality of logical lines. A TCP transfer device that transfers a packet to a destination terminal device that is a destination of the TCP packet, and includes a TCP packet reception unit, a route selection unit, an ACK control unit, and an ACK packet transmission unit. And

かかる構成によれば、TCP転送装置は、TCPパケット受信部によって、TCPパケットを受信する。また、TCP転送装置は、経路選択部によって、複数の論理回線の中から、TCPパケット受信部によって受信されたTCPパケットが転送される論理回線を所定の規則によって選択し、選択した論理回線を介して、TCPパケットを受信側端末装置に向けて転送すると共に、転送したTCPパケットのシーケンス番号および選択した論理回線である選択論理回線の情報が含まれる転送情報を生成する。   According to this configuration, the TCP transfer device receives the TCP packet by the TCP packet receiving unit. In addition, the TCP transfer apparatus selects a logical line to which a TCP packet received by the TCP packet receiving unit is transferred from a plurality of logical lines by a route selection unit according to a predetermined rule, and passes through the selected logical line. Then, the TCP packet is transferred to the receiving terminal device, and transfer information including the sequence number of the transferred TCP packet and the information of the selected logical line that is the selected logical line is generated.

ここで、経路選択部は、少なくとも、TCPパケットを転送する論理回線(論理回線の上り方向)を選択すればよく、ACKパケットが返送される論理回線(論理回線の下り方向)を必ずしも選択する必要がない。なお、経路選択部が論理回線の下り方向を選択しない場合、論理回線の下り方向は、戻り回線情報として通知される。   Here, the route selection unit only needs to select at least a logical line (upward direction of the logical line) for transferring the TCP packet, and is necessarily required to select a logical line (downward direction of the logical line) to which the ACK packet is returned. There is no. If the route selection unit does not select the downlink direction of the logical line, the downlink direction of the logical line is notified as return line information.

また、複数の論理回線は、少なくとも、TCP転送装置から受信側端末装置までの一部区間に構築されていれば、TCP転送装置から受信側端末装置までの全区間に構築されなくともよい。例えば、TCP転送装置から受信側端末装置までの間に他のTCP転送装置が配置される場合、複数の論理回線は、TCP転送装置から他のTCP転送装置までの区間に構築される。この場合、他のTCP転送装置から受信側端末装置までの残り区間には、1つの論理回線を構築する。   Further, as long as the plurality of logical lines are constructed at least in a partial section from the TCP transfer apparatus to the receiving terminal apparatus, it is not necessary to construct the entire logical line in the entire section from the TCP transfer apparatus to the receiving terminal apparatus. For example, when another TCP transfer device is arranged between the TCP transfer device and the receiving terminal device, a plurality of logical lines are constructed in a section from the TCP transfer device to another TCP transfer device. In this case, one logical line is constructed in the remaining section from the other TCP transfer device to the receiving terminal device.

また、TCP転送装置は、ACK制御部によって、経路選択部によって転送されたTCPパケットへの応答であるACKパケットを受信側端末装置から受信し、受信したACKパケットをフィルタによって破棄または通過させる。そして、TCP転送装置は、ACKパケット送信部によって、ACK制御部が通過させたACKパケットを送信側端末装置に送信する。   Also, the TCP transfer device receives an ACK packet, which is a response to the TCP packet transferred by the route selection unit, from the receiving terminal device by the ACK control unit, and discards or passes the received ACK packet by the filter. And a TCP transfer apparatus transmits the ACK packet which the ACK control part passed by the ACK packet transmission part to a transmission side terminal device.

また、TCP転送装置は、ACK制御部によって、論理回線ごとに予め設定された論理回線遅延量に基づいて、経路選択部によって生成された転送情報に含まれる選択論理回線の遅延量を算出し、算出した選択論理回線の遅延量をTCPパケットが転送されてからの有効期間とし、かつ、転送情報に含まれるシーケンス番号を破棄対象ACK番号としたフィルタを設定する。   Further, the TCP transfer device calculates the delay amount of the selected logical line included in the transfer information generated by the route selection unit based on the logical line delay amount preset for each logical line by the ACK control unit, A filter is set in which the calculated delay amount of the selected logical line is a valid period after the TCP packet is transferred and the sequence number included in the transfer information is the ACK number to be discarded.

ここで、TCPパケットの到着順序が入れ替わった場合、受信側端末装置は、パケットロスが発生したと勘違いして、追い越されたTCPパケットの再送を要求すべく、ACKパケットを返送する。この場合、ACK制御部は、パケットロスと勘違いして送信されたACKパケットを、フィルタによって破棄する。従って、TCP転送装置は、送信側端末装置がこのACKパケットを受信することがなく、パケットロスが発生していないにも関わらず、TCPパケットの再送および輻輳ウィンドウの縮小が行われる事態を防止できる。   Here, when the arrival order of the TCP packets is changed, the receiving side terminal device misunderstands that a packet loss has occurred, and returns an ACK packet to request retransmission of the overtaken TCP packet. In this case, the ACK control unit discards the ACK packet transmitted by misunderstanding as the packet loss by the filter. Therefore, the TCP transfer apparatus can prevent the TCP terminal from retransmitting the TCP packet and reducing the congestion window even though the transmitting terminal apparatus does not receive the ACK packet and no packet loss has occurred. .

また、本願第2発明に係るTCP転送装置は、ACK制御部が、論理回線ごとに往復遅延時間を予め計測して、計測した往復遅延時間を論理回線遅延量として設定する遅延量設定手段、をさらに備えることが好ましい。   Further, the TCP transfer apparatus according to the second invention of the present application is a delay amount setting means in which the ACK control unit measures the round trip delay time for each logical line in advance and sets the measured round trip delay time as the logical line delay amount. It is preferable to further provide.

また、本願第3発明に係るTCP転送装置は、ACK制御部が、フィルタの有効期間内にACKパケットを受信し、かつ、受信したACKパケットのACK番号がフィルタの破棄対象ACK番号と一致する場合、ACKパケットを破棄することが好ましい。   In the TCP transfer device according to the third invention of the present application, the ACK control unit receives an ACK packet within the effective period of the filter, and the ACK number of the received ACK packet matches the ACK number to be discarded by the filter. It is preferable to discard the ACK packet.

また、本願第4発明に係るTCP転送装置は、経路選択部が、TCPパケット受信部によって受信されたTCPパケットをTCP以外の他のプロトコルヘッダでカプセル化し、カプセル化したTCPパケットを受信側端末装置に向けて転送することが好ましい。   In the TCP transfer device according to the fourth invention of the present application, the route selection unit encapsulates the TCP packet received by the TCP packet reception unit with a protocol header other than TCP, and the encapsulated TCP packet is received on the receiving side terminal device. It is preferable to forward to

なお、本願第1発明に係るTCP転送装置は、一般的なコンピュータを、TCPパケット受信部、経路選択部、ACK制御部、ACKパケット送信部として機能させるTCP転送プログラムによって実現することもできる。   The TCP transfer apparatus according to the first invention of the present application can also be realized by a TCP transfer program that causes a general computer to function as a TCP packet receiver, a path selector, an ACK controller, and an ACK packet transmitter.

本願発明によれば、以下のような優れた効果を奏する。
本願第1発明によれば、パケットロスと勘違いして受信側端末装置が返送したACKパケットをフィルタによって破棄するため、送信側端末装置がこのACKパケットを受信することがない。これによって、本願第1発明によれば、パケットロスが発生していないにも関わらず、TCPパケットの再送および輻輳ウィンドウの縮小が行われる事態を防止でき、TCP伝送のスループットを向上させることができる。
According to the present invention, the following excellent effects can be obtained.
According to the first invention of this application, since the ACK packet returned by the receiving terminal device due to a packet loss is discarded by the filter, the transmitting terminal device does not receive this ACK packet. As a result, according to the first invention of the present application, it is possible to prevent the TCP packet retransmission and the congestion window from being reduced even though no packet loss occurs, and to improve the TCP transmission throughput. .

本願第2発明によれば、往復遅延時間を用いて、フィルタの有効期間を適切な長さで設定することができる。このため、本願第2発明によれば、フィルタの有効期間が経過した後、ACKパケットが送信側端末装置に送信されるため、パケットロスによりTCPパケットの再送が必要な場合には、送信側端末装置が素早くTCPパケットを再送することができる。   According to the second aspect of the present invention, the effective period of the filter can be set to an appropriate length using the round-trip delay time. For this reason, according to the second invention of this application, since the ACK packet is transmitted to the transmission side terminal device after the effective period of the filter has elapsed, when the TCP packet needs to be retransmitted due to packet loss, the transmission side terminal The device can retransmit the TCP packet quickly.

本願第3発明によれば、新たなTCPパケットの送信を要求するACKパケットを通過させ、既に送信したTCPパケットの再送を要求するACKパケットのみを破棄するので、ACKパケットを必要以上に破棄することがない。   According to the third invention of the present application, an ACK packet that requests transmission of a new TCP packet is passed, and only an ACK packet that requests retransmission of a TCP packet that has already been transmitted is discarded, so that the ACK packet is discarded more than necessary. There is no.

本願第4発明によれば、TCPパケットを他のプロトコルヘッダでカプセル化することで、TCPパケットを、TCP以外の他のプロトコルを用いて、受信側端末装置に送信することができる。   According to the fourth aspect of the present invention, by encapsulating the TCP packet with another protocol header, the TCP packet can be transmitted to the receiving terminal device using a protocol other than TCP.

本発明の第1実施形態に係るTCP分割転送装置を含むTCP分割転送システムの概略図である。1 is a schematic diagram of a TCP division transfer system including a TCP division transfer device according to a first embodiment of the present invention. 図1のTCP分割転送装置の構成を示すブロック図である。It is a block diagram which shows the structure of the TCP division | segmentation transfer apparatus of FIG. TCPパケットの到着順が入れ替わるケースにおいて、図1のTCP分割転送装置の動作を示すシーケンス図である。FIG. 3 is a sequence diagram showing an operation of the TCP division transfer apparatus of FIG. 1 in a case where the arrival order of TCP packets is switched. TCPパケットの到着順が入れ替わらないケースにおいて、図1のTCP分割転送装置の動作を示すシーケンス図である。FIG. 3 is a sequence diagram illustrating an operation of the TCP division transfer apparatus of FIG. 本発明の第2,第3実施形態に係るTCP分割転送装置を含むTCP分割転送システムの概略図である。It is the schematic of the TCP division | segmentation transfer system containing the TCP division | segmentation transfer apparatus which concerns on 2nd, 3rd embodiment of this invention. 図5のTCP分割転送装置の構成を示すブロック図である。It is a block diagram which shows the structure of the TCP division | segmentation transfer apparatus of FIG. 本発明の第2実施形態において、IPヘッダでカプセル化されたTCPパケットのデータ構造を説明する図である。It is a figure explaining the data structure of the TCP packet encapsulated with the IP header in 2nd Embodiment of this invention. 本発明の第3実施形態において、UDPヘッダでカプセル化されたTCPパケットのデータ構造を説明する図である。It is a figure explaining the data structure of the TCP packet encapsulated by the UDP header in 3rd Embodiment of this invention. 従来技術の問題点を説明するシーケンス図である。It is a sequence diagram explaining the problem of a prior art.

(第1実施形態)
以下、本発明の各実施形態について、適宜図面を参照しながら詳細に説明する。なお、各実施形態において、同一の機能を有する手段には同一の符号を付し、説明を省略した。
(First embodiment)
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings as appropriate. In each embodiment, means having the same function are denoted by the same reference numerals and description thereof is omitted.

[TCP分割転送システムの概略]
図1を参照し、本発明の第1実施形態に係るTCP分割転送装置3を含むTCP分割転送システム100の概略について説明する。
図1に示すように、TCP分割転送システム100は、TCPストリームを複数の論理回線に分割して伝送するものであり、TCP伝送装置(送信側端末装置)1と、TCP分割転送装置(TCP転送装置)3と、TCP分割転送装置(他のTCP転送装置)5と、TCP伝送装置(受信側端末装置)7とを備える。
[Outline of TCP split transfer system]
With reference to FIG. 1, the outline of the TCP division transfer system 100 including the TCP division transfer apparatus 3 according to the first embodiment of the present invention will be described.
As shown in FIG. 1, a TCP division transfer system 100 divides a TCP stream into a plurality of logical lines and transmits them, and includes a TCP transmission apparatus (transmission side terminal apparatus) 1 and a TCP division transfer apparatus (TCP transfer). Device) 3, TCP division transfer device (other TCP transfer device) 5, and TCP transmission device (reception side terminal device) 7.

第1実施形態では、TCP伝送装置1が、TCPパケットをTCP伝送装置7に向けて転送することとして説明する。以下の説明において、TCP伝送装置1からTCP伝送装置7への方向を「上り方向」とし、TCP伝送装置7からTCP伝送装置1への方向を「下り方向」と呼ぶ場合がある。   In the first embodiment, the TCP transmission device 1 will be described as transferring a TCP packet toward the TCP transmission device 7. In the following description, the direction from the TCP transmission device 1 to the TCP transmission device 7 may be referred to as “uplink direction”, and the direction from the TCP transmission device 7 to the TCP transmission device 1 may be referred to as “downlink direction”.

TCP伝送装置1は、TCP伝送機能を有する装置であり、例えば、図示を省略したネットワークインターフェースを備える一般的なコンピュータである。
ここでは、TCP伝送装置1は、論理回線Lを介して、TCP分割転送装置3と接続されている。そして、TCP伝送装置1は、一般的なクライアントサーバアプリケーション(例えば、HTTP,SMTP、FTP、TELNET)によって作成されたTCPパケットを、TCP分割転送装置3に送信する。
The TCP transmission device 1 is a device having a TCP transmission function, for example, a general computer having a network interface (not shown).
Here, TCP transmission apparatus 1 via the logical channel L A, are connected to the TCP division transfer unit 3. Then, the TCP transmission device 1 transmits a TCP packet created by a general client server application (for example, HTTP, SMTP, FTP, TELNET) to the TCP division transfer device 3.

TCP分割転送装置3は、TCPパケットをTCP伝送装置1から受信し、複数の論理回線L,L,・・・,Lの何れかを介して(mは2以上の任意の整数)、受信したTCPパケットを、このTCPパケットの宛先となるTCP伝送装置7に向けて転送するものである。 The TCP division transfer device 3 receives a TCP packet from the TCP transmission device 1 and passes through any one of a plurality of logical lines L 1 , L 2 ,..., L m (m is an arbitrary integer equal to or greater than 2). The received TCP packet is transferred to the TCP transmission device 7 that is the destination of the TCP packet.

ここでは、TCP分割転送装置3は、複数の論理回線L,L,・・・,Lを介して、TCP分割転送装置5と接続されている。そして、TCP分割転送装置3は、複数の論理回線L,L,・・・,Lの中から1つの論理回線Lを選択する。さらに、TCP分割転送装置3は、選択した論理回線Lを介して、TCP伝送装置1から受信したTCPパケットをTCP分割転送装置5に転送する。
なお、TCP分割転送装置3の構成については、後記する。
Here, the TCP division transfer device 3 is connected to the TCP division transfer device 5 via a plurality of logical lines L 1 , L 2 ,..., L m . Then, the TCP division transfer device 3 selects one logical line L from the plurality of logical lines L 1 , L 2 ,..., L m . Further, the TCP division transfer device 3 transfers the TCP packet received from the TCP transmission device 1 to the TCP division transfer device 5 via the selected logical line L.
The configuration of the TCP division transfer device 3 will be described later.

論理回線L(L,L,L,L,・・・,L)は、上り方向および下り方向のTCP伝送でそれぞれ使用される物理回線のペア、または、上り方向および下り方向のTCP伝送で共通して使用される、1つの物理回線で構成される。
なお、論理回線Lと物理回線との関係については、第2実施形態以降で説明する。
Logical lines L (L A, L B, L 1, L 2, ···, L m) is the physical line pairs that are used in the respective TCP transmission uplink and downlink, or uplink and downlink It is composed of one physical line that is commonly used for TCP transmission.
The relationship between the logical line L and the physical line will be described in the second and subsequent embodiments.

TCP分割転送装置5は、TCP分割転送装置3と同一構成の装置である。
ここでは、TCP分割転送装置5は、論理回線Lを介して、TCP伝送装置7と接続されている。そして、TCP分割転送装置5は、TCP分割転送装置3から転送されたTCPパケットをTCP伝送装置7に送信する。
また、TCP分割転送装置5は、論理回線Lの論理回線遅延量(例えば、往復遅延時間(RTT:Round Trip Time))を予め計測しておくこととし、その理由を後記する。
The TCP division transfer device 5 is a device having the same configuration as the TCP division transfer device 3.
Here, TCP division transfer device 5, through a logical line L B, are connected to the TCP transmission device 7. Then, the TCP division transfer device 5 transmits the TCP packet transferred from the TCP division transfer device 3 to the TCP transmission device 7.
Furthermore, TCP division transfer device 5, the logic circuit delay of the logic circuit L B (e.g., round trip time (RTT: Round Trip Time)) and that measured in advance will be described later why.

TCP伝送装置7は、TCP伝送装置1と同一構成の装置である。
ここでは、TCP伝送装置7は、TCP分割転送装置5からTCPパケットを受信し、このTCPパケットの送信先ポート番号に対応するクライアントサーバアプリケーションによって、このTCPパケットを処理する。このとき、TCP伝送装置7は、受信したTCPパケットのシーケンス番号に基づいて、次に受信すべきTCPパケットのシーケンス番号を、ACK番号として算出する。そして、TCP伝送装置7は、算出したACK番号を格納したACKパケットを生成して、TCP伝送装置1に向けて返送する。
The TCP transmission device 7 is a device having the same configuration as the TCP transmission device 1.
Here, the TCP transmission device 7 receives a TCP packet from the TCP division transfer device 5 and processes the TCP packet by a client server application corresponding to the transmission destination port number of the TCP packet. At this time, the TCP transmission device 7 calculates the sequence number of the TCP packet to be received next as the ACK number based on the sequence number of the received TCP packet. Then, the TCP transmission device 7 generates an ACK packet storing the calculated ACK number, and returns it to the TCP transmission device 1.

また、TCP伝送装置7は、一般的な手法によって、パケットロスが発生したか判定する。例えば、TCP伝送装置7は、TCPパケットを一定時間受信できない場合や、シーケンス番号順にTCPパケットを受信できない場合、パケットロスが発生したと判定する。ここで、パケットロスが発生した場合、TCP伝送装置7は、TCPパケットの再送をTCP伝送装置1に要求する。具体的には、TCP伝送装置7は、受信できなかったTCPパケットのシーケンス番号を表すACK番号を算出し、このACK番号を格納したACKパケットを生成して、TCP伝送装置1に向けて返送する。   The TCP transmission device 7 determines whether a packet loss has occurred by a general method. For example, the TCP transmission device 7 determines that a packet loss has occurred when a TCP packet cannot be received for a certain period of time or when a TCP packet cannot be received in the order of sequence numbers. Here, when a packet loss occurs, the TCP transmission device 7 requests the TCP transmission device 1 to retransmit the TCP packet. Specifically, the TCP transmission device 7 calculates an ACK number that represents the sequence number of the TCP packet that could not be received, generates an ACK packet that stores this ACK number, and returns it to the TCP transmission device 1. .

以上のように、TCP分割転送システム100では、TCP伝送装置1からTCP分割転送装置3,5を経由して、TCP伝送装置7にTCPパケットを送信する。また、TCP分割転送システム100では、TCP伝送装置7からTCP分割転送装置5,3を経由して、このTCPパケットに対するACKパケットをTCP伝送装置1に返送する。
また、TCP分割転送システム100では、複数の論理回線L,L,・・・,Lで遅延差が生じるためにTCPパケットの到着順が入れ替わる場合でも、以下で説明するTCP分割転送装置3によってその弊害を防止する。
As described above, in the TCP division transfer system 100, the TCP packet is transmitted from the TCP transmission apparatus 1 to the TCP transmission apparatus 7 via the TCP division transfer apparatuses 3 and 5. In the TCP division transfer system 100, an ACK packet for this TCP packet is returned to the TCP transmission apparatus 1 from the TCP transmission apparatus 7 via the TCP division transfer apparatuses 5 and 3.
Further, the TCP split transfer system 100, a plurality of logical lines L 1, L 2, · · ·, to the delay difference L m occurs even if the order of arrival TCP packets are switched, TCP division transfer apparatus described below 3 prevents that harmful effect.

[TCP分割転送装置の構成]
図2を参照して、TCP分割転送装置3の構成について説明する(適宜図1参照)。
図2に示すように、TCP分割転送装置3は、TCPパケット受信部31と、経路選択部33と、ACK制御部35と、TCPパケット送信部(ACKパケット送信部)37とを備える。
なお、図2では、説明をわかり易くするため、各論理回線Lを上り方向および下り方向で分けて図示している。
[Configuration of TCP split transfer device]
With reference to FIG. 2, the configuration of the TCP division transfer apparatus 3 will be described (see FIG. 1 as appropriate).
As shown in FIG. 2, the TCP division transfer device 3 includes a TCP packet receiving unit 31, a route selection unit 33, an ACK control unit 35, and a TCP packet transmission unit (ACK packet transmission unit) 37.
In FIG. 2, each logical line L is illustrated separately in the upstream direction and the downstream direction for easy understanding.

TCPパケット受信部31は、論理回線Lを介して、TCP伝送装置1によって送信されたTCPパケットを受信するものである。そして、TCPパケット受信部31は、受信したTCPパケットを経路選択部33に出力する。 TCP packet receiving unit 31, via a logical channel L A, it is to receive the TCP packet sent by TCP transmission device 1. Then, the TCP packet receiving unit 31 outputs the received TCP packet to the route selecting unit 33.

経路選択部33は、複数の論理回線L,L,・・・,Lの中から、TCPパケット受信部31によって受信されたTCPパケットが転送される論理回線Lを所定の規則によって選択し、選択した論理回線Lを介して、TCPパケットをTCP伝送装置7に向けて転送すると共に、転送したTCPパケットのシーケンス番号および選択した論理回線Lを示す情報が含まれる転送情報を生成するものである。 Route selection unit 33 selects a plurality of logical lines L 1, L 2, · · ·, from the L m, a logical line L that TCP packets received by the TCP packet receiver 31 is transferred by a predetermined rule The TCP packet is transferred to the TCP transmission device 7 via the selected logical line L, and transfer information including the sequence number of the transferred TCP packet and information indicating the selected logical line L is generated. It is.

ここで、経路選択部33は、IPによりTCPパケットをカプセル化することで、論理回線Lを選択する。言い換えるなら、経路選択部33は、IP層(ネットワーク層)で実装された規則によって、複数の論理回線L,L,・・・,Lの中から、TCPパケットを転送する論理回線Lを選択する。論理回線Lの選択方法としては、例えば、複数の論理回線L,L,・・・,Lの中からランダムに論理回線Lを選択する方法、または、予め定められた割合に基づいて選択する方法(重み付きラウンドロビン)があげられる。そして、経路選択部33は、選択した論理回線Lを介して、TCPパケット受信部31から出力されたTCPパケットをTCP分割転送装置5に転送する。 Here, the route selection unit 33 selects the logical line L by encapsulating the TCP packet with IP. In other words, the route selection unit 33 uses a logical line L that transfers a TCP packet from among a plurality of logical lines L 1 , L 2 ,..., L m according to a rule implemented in the IP layer (network layer). Select. As a method of selecting the logical line L, for example, a method of selecting the logical line L at random from a plurality of logical lines L 1 , L 2 ,..., L m , or based on a predetermined ratio A selection method (weighted round robin) is given. Then, the path selection unit 33 transfers the TCP packet output from the TCP packet reception unit 31 to the TCP division transfer device 5 via the selected logical line L.

このとき、経路選択部33は、TCP分割転送装置5に転送したTCPパケットのシーケンス番号と、選択した論理回線Lである選択論理回線の情報とを含む転送情報を生成する。そして、経路選択部33は、生成した転送情報をACK制御部35に出力する。   At this time, the path selection unit 33 generates transfer information including the sequence number of the TCP packet transferred to the TCP division transfer device 5 and information on the selected logical line that is the selected logical line L. Then, the route selection unit 33 outputs the generated transfer information to the ACK control unit 35.

以下、ACK制御部35より先に、遅延量設定部36について説明する。
遅延量設定部36は、論理回線L,L,・・・,Lごとの遅延量を示す論理回線遅延量を予め計測するものである。そして、遅延量設定部36は、計測した論理回線遅延量を、図示を省略したメモリ等に記憶させる。
Hereinafter, the delay amount setting unit 36 will be described prior to the ACK control unit 35.
The delay amount setting unit 36 measures in advance a logical line delay amount indicating a delay amount for each of the logical lines L 1 , L 2 ,..., L m . The delay amount setting unit 36 stores the measured logical line delay amount in a memory or the like (not shown).

ここで、遅延量設定部36は、論理回線遅延量として、往復遅延時間を計測する。具体的には、遅延量設定部36は、論理回線L,L,・・・,Lをそれぞれ経由させて、計測用パケットをTCP分割転送装置5に送信する。この計測用パケットを受信した場合、TCP分割転送装置5は、予め計測した論理回線Lの論理回線遅延量だけ遅延させてから、この計測用パケットに対する応答パケット(ACKパケット)をTCP分割転送装置3に返送する。そして、遅延量設定部36は、論理回線L,L,・・・,Lごとに、計測用パケットの送信時刻と、この計測用パケットに対する応答パケットの受信時刻との差を、論理回線L,L,・・・,Lごとの論理回線遅延量として計測する。 Here, the delay amount setting unit 36 measures the round-trip delay time as the logical line delay amount. Specifically, the delay amount setting unit 36 transmits the measurement packet to the TCP division transfer device 5 through the logical lines L 1 , L 2 ,..., L m . When receiving the measurement packet, TCP division transfer device 5, measured in advance from delaying only the logical line delay of the logic circuit L B, TCP division transfer device response packet (ACK packet) for the measurement packet Return to 3. Then, the delay amount setting unit 36, a logic circuit L 1, L 2, · · ·, each L m, and the sending time of the measurement packet, the difference between the reception time of the response packet to the measurement packet, logic line L 1, L 2, ···, measured as a logical line delay amount for each L m.

以上のように、論理回線L,L,・・・,Lごとの論理回線遅延量には、複数の論理回線L,L,・・・,Lが構築された区間(TCP分割転送装置3,5の間)の往復遅延時間に加えて、論理回線Lが構築された区間(TCP分割転送装置5とTCP伝送装置7の間)の往復遅延時間を反映させることが好ましい。これによって、遅延量設定部36は、より正確な論理回線遅延量を計測できる。 As described above, the logic circuit L 1, L 2, · · ·, the logical line delay amount for each L m, a plurality of logical lines L 1, L 2, · · ·, is L m was constructed sections ( in addition to the round trip time of the TCP between the divided transfer device 3 and 5), is possible to reflect the round trip delay time of the logic circuit L B is constructed sections (between TCP division transfer device 5 and the TCP transmission device 7) preferable. Thereby, the delay amount setting unit 36 can measure a more accurate logical line delay amount.

ACK制御部35は、前記した遅延量設定部36を備えると共に、経路選択部33によって転送されたTCPパケットへの応答であるACKパケットをTCP伝送装置7から受信し、受信したACKパケットをフィルタ(不図示)によって破棄または通過させものである。   The ACK control unit 35 includes the delay amount setting unit 36 described above, receives an ACK packet as a response to the TCP packet transferred by the route selection unit 33 from the TCP transmission device 7, and filters the received ACK packet ( Discarded or passed through (not shown).

具体的に、ACK制御部35は、遅延量設定部36が計測した論理回線遅延量に基づいて、経路選択部33から出力された転送情報が示す論理回線Lの遅延量を算出する。つまり、ACK制御部35は、TCPパケットが転送される上り方向の物理回線と、ACKパケットが返送される下り方向の物理回線とで構成される論理回線L,L,・・・,Lの往復遅延時間を、論理回線Lの遅延量として算出する。そして、ACK制御部35は、算出した論理回線L,L,・・・,Lの遅延量を有効期間とし、かつ、転送情報のシーケンス番号を破棄対象ACK番号としたフィルタを設定する。 Specifically, the ACK control unit 35 calculates the delay amount of the logical line L indicated by the transfer information output from the route selection unit 33 based on the logical line delay amount measured by the delay amount setting unit 36. In other words, the ACK control unit 35 includes logical lines L 1 , L 2 ,..., L configured by an uplink physical line to which the TCP packet is transferred and a downlink physical line to which the ACK packet is returned. The m round-trip delay time is calculated as the delay amount of the logical line L. Then, the ACK control unit 35 sets a filter in which the calculated delay amount of the logical lines L 1 , L 2 ,..., L m is set as the valid period and the sequence number of the transfer information is set as the discard target ACK number. .

ここで、TCP伝送装置7からACKパケットを受信した場合、ACK制御部35は、このACKパケットを受信した時刻が有効期間内で、かつ、このACKパケットのACK番号が破棄対象ACK番号と一致する有効なフィルタが設定されているか否かを判定する。ここで、受信したACKパケットに対して有効なフィルタが設定されている場合、ACK制御部35は、このACKパケットを破棄する。一方、受信したACKパケットに対して有効なフィルタが設定されていない場合、ACK制御部35は、このACKパケットを通過させる。   Here, when the ACK packet is received from the TCP transmission device 7, the ACK control unit 35 has a time when the ACK packet is received within the valid period, and the ACK number of the ACK packet matches the ACK number to be discarded. It is determined whether a valid filter is set. Here, when a valid filter is set for the received ACK packet, the ACK control unit 35 discards the ACK packet. On the other hand, when a valid filter is not set for the received ACK packet, the ACK control unit 35 passes the ACK packet.

TCPパケット送信部37は、ACK制御部35が通過させたACKパケットを、論理回線Lを介して、TCP伝送装置1に転送するものである。 TCP packet transmission unit 37, an ACK packet ACK control unit 35 is passed, via a logical channel L A, it is to transfer the TCP transmission device 1.

[TCP分割転送装置の動作:TCPパケットの到着順が入れ替わるケース]
図3を参照して、TCPパケットの到着順が入れ替わるケースを例に、TCP分割転送装置3の動作について説明する(適宜図2参照)。
[Operation of TCP division transfer device: Case where TCP packet arrival order is switched]
With reference to FIG. 3, the operation of the TCP division transfer apparatus 3 will be described by taking as an example a case where the arrival order of TCP packets is switched (see FIG. 2 as appropriate).

図3では、「PCK」がパケットを示し、PCKの後に図示した「1」,「2」などの数値がそのTCPパケットのシーケンス番号を示す。また、「ACK」がACKパケットを示し、ACKの後に図示した「1」,「2」などの数値がそのACKパケットのACK番号を示している。
また、図3では、縦軸が時間を示すと共に、フィルタα,βの有効期間をハッチングで図示した。
また、図3では、遅延量が大きい論理回線Lを介してPCK1が送信され、論理回線Lより遅延量が小さい論理回線Lを介して、PCK2が送信される。
In FIG. 3, “PCK” indicates a packet, and numerical values such as “1” and “2” illustrated after PCK indicate the sequence number of the TCP packet. “ACK” indicates an ACK packet, and numerical values such as “1” and “2” illustrated after ACK indicate the ACK number of the ACK packet.
In FIG. 3, the vertical axis indicates time, and the effective periods of the filters α and β are indicated by hatching.
Further, in FIG. 3, PCK1 via the logic circuit L 1 delay amount is large is transmitted, via the logic circuit L 2 delay than the logic circuit L 1 is small, PCK2 is transmitted.

TCP分割転送装置3は、TCPパケット受信部31によって、TCP伝送装置1からPCK1を受信する(ステップS1)。このPCK1には、先頭のTCPパケットであることを示すシーケンス番号「1」が付与されている。   The TCP division transfer device 3 receives PCK1 from the TCP transmission device 1 by the TCP packet reception unit 31 (step S1). The PCK1 is assigned a sequence number “1” indicating that it is the leading TCP packet.

TCP分割転送装置3は、経路選択部33によって、複数の論理回線L,L,・・・,Lの中から論理回線Lを選択して、論理回線Lを介して、TCP伝送装置7に向けてPCK1を転送する。また、TCP分割転送装置3は、経路選択部33によって、シーケンス番号「1」および選択論理回線Lとした転送情報を生成して、ACK制御部35に出力する(ステップS2)。 TCP division transfer device 3, the path selection unit 33, a plurality of logical lines L 1, L 2, · · ·, select the logical line L 1 from the L m, through a logical line L 1, TCP PCK1 is transferred to the transmission apparatus 7. Further, the TCP division transfer device 3 generates transfer information with the sequence number “1” and the selected logical line L 1 by the route selection unit 33 and outputs the transfer information to the ACK control unit 35 (step S2).

TCP分割転送装置3は、ACK制御部35によって、経路選択部33からの転送情報に基づいて、破棄対象ACK番号「1」としたフィルタαを設定する(ステップS3)。このフィルタαは、論理回線Lの遅延量が大きいため、有効期間が長くなる。 In the TCP division transfer device 3, the ACK control unit 35 sets the filter α with the discard target ACK number “1” based on the transfer information from the route selection unit 33 (step S3). The filter α, since the delay amount of the logical line L 1 is large, the validity period is prolonged.

TCP分割転送装置3は、TCPパケット受信部31によって、TCP伝送装置1からPCK2を受信する(ステップS4)。このPCK2には、PCK1の次のTCPパケットであることを示すシーケンス番号「2」が付与されている。   The TCP division transfer device 3 receives the PCK 2 from the TCP transmission device 1 by the TCP packet receiving unit 31 (step S4). The PCK2 is assigned a sequence number “2” indicating that it is the next TCP packet after the PCK1.

TCP分割転送装置3は、経路選択部33によって、複数の論理回線L,L,・・・,Lの中から論理回線Lを選択して、論理回線Lを介して、TCP伝送装置7に向けてPCK2を転送する。また、TCP分割転送装置3は、経路選択部33によって、シーケンス番号「2」および選択論理回線Lとした転送情報を生成して、ACK制御部35に出力する(ステップS5)。 The TCP division transfer device 3 selects the logical line L 2 from among the plurality of logical lines L 1 , L 2 ,..., L m by the path selection unit 33 and transmits the TCP via the logical line L 2. PCK2 is transferred to the transmission device 7. Furthermore, TCP division transfer device 3, the route selection unit 33 generates forwarding information that the sequence number "2" and selected logical lines L 2, and outputs the ACK control unit 35 (step S5).

TCP分割転送装置3は、ACK制御部35によって、経路選択部33からの転送情報に基づいて、破棄対象ACK番号「2」としたフィルタβを設定する(ステップS6)。このフィルタβは、論理回線Lの遅延量が論理回線Lより小さいため、フィルタαより有効期間が短くなる。 In the TCP division transfer device 3, the ACK control unit 35 sets the filter β with the discard target ACK number “2” based on the transfer information from the route selection unit 33 (step S6). The filter β, since the delay amount of the logical circuit L 2 is smaller than the logical line L 1, the lifetime of the filter α becomes shorter.

このケースでは、TCP分割転送装置3は、PCK2より先にPCK1をTCP伝送装置7に向けて転送している。しかし、論理回線Lの遅延量が論理回線Lより大きいため、TCP伝送装置7には、PCK1より先にPCK2が到着する。この場合、TCP伝送装置7は、PCK1のパケットロスが発生したと勘違いし、ACK番号「1」のACKパケットをTCP伝送装置1に返送する。従って、TCP分割転送装置3は、ACK制御部35によって、このACK1を受信することになる(ステップS7)。 In this case, the TCP division transfer device 3 transfers PCK1 toward the TCP transmission device 7 before PCK2. However, since the delay amount is larger than the logical line L 2 of the logical line L 1, the TCP transmission device 7, PCK2 arrives before the PCK1. In this case, the TCP transmission device 7 misunderstands that the packet loss of the PCK 1 has occurred, and returns an ACK packet with the ACK number “1” to the TCP transmission device 1. Therefore, the TCP division transfer device 3 receives this ACK1 by the ACK control unit 35 (step S7).

ここで、ACK1をフィルタαの有効期間内に受信し、かつ、ACK1のACK番号「1」と、フィルタαの破棄対象ACK番号「1」とが一致する。つまり、ACK1に対する有効なフィルタが設定されているため、TCP分割転送装置3は、ACK制御部35によって、このACK1を破棄する(ステップS8)。   Here, ACK1 is received within the effective period of the filter α, and the ACK number “1” of ACK1 matches the ACK number “1” to be discarded of the filter α. That is, since a valid filter for ACK1 is set, the TCP division transfer apparatus 3 discards this ACK1 by the ACK control unit 35 (step S8).

PCK1が到着した後、TCP伝送装置7は、シーケンス番号「3」のTCPパケットを要求すべく、ACK番号「3」のACKパケットをTCP伝送装置1に返送する。従って、TCP分割転送装置3は、ACK制御部35によって、このACK3を受信することになる(ステップS9)。   After the PCK1 arrives, the TCP transmission device 7 returns an ACK packet with the ACK number “3” to the TCP transmission device 1 to request a TCP packet with the sequence number “3”. Therefore, the TCP division transfer device 3 receives this ACK3 by the ACK control unit 35 (step S9).

ここで、シーケンス番号「3」のTCPパケットを転送していないため、TCP分割転送装置3には、ACK3に対する有効なフィルタが設定されていない。このため、TCP分割転送装置3は、ACK制御部35によって、このACK3をTCP伝送装置1まで通過させる(ステップS10)。   Here, since the TCP packet with the sequence number “3” is not transferred, the TCP division transfer apparatus 3 is not set with an effective filter for ACK3. Therefore, the TCP division transfer device 3 causes the ACK control unit 35 to pass this ACK 3 to the TCP transmission device 1 (step S10).

その後、TCP伝送装置1は、このACK3に応じて、PCK3をTCP伝送装置7に向けて送信する。このように、TCP分割転送システム100では、PCK2に追い越されたPCK1がTCP伝送装置7に到着した後、正常なTCP伝送処理に復帰する。   Thereafter, the TCP transmission device 1 transmits the PCK 3 toward the TCP transmission device 7 in response to the ACK 3. As described above, in the TCP division transfer system 100, after the PCK1 overtaken by the PCK2 arrives at the TCP transmission apparatus 7, the normal TCP transmission processing is restored.

以上のように、TCP分割転送装置3では、パケットロスと勘違いしてTCP伝送装置7が返送したACK1をフィルタによって破棄するため、TCP伝送装置1がこのACK1を受信することがない。すなわち、TCP分割転送装置3は、新たなTCPパケットの送信を要求するACKパケットを通過させ、既に送信されたTCPパケットの再送を要求するACKパケットを破棄するというように、ACKパケットを必要以上に破棄することがない。これによって、TCP分割転送装置3は、パケットロスが発生していないにも関わらず、TCPパケットの再送および輻輳ウィンドウの縮小が行われる事態を防止でき、TCP伝送のスループットを向上させることができる。   As described above, in the TCP division transfer device 3, since the ACK1 returned by the TCP transmission device 7 due to a packet loss is discarded by the filter, the TCP transmission device 1 does not receive this ACK1. That is, the TCP division transfer device 3 passes an ACK packet requesting transmission of a new TCP packet and discards the ACK packet more than necessary, such as discarding the ACK packet requesting retransmission of the already transmitted TCP packet. There is no destruction. As a result, the TCP division transfer device 3 can prevent a situation in which the retransmission of the TCP packet and the reduction of the congestion window are performed in spite of no packet loss, and can improve the throughput of TCP transmission.

ここで、図3において、TCP分割転送装置3がPCK1を転送した後、PCK1のパケットロスが発生した場合を考える。すると、TCP伝送装置7は、PCK1の再送を要求すべく、ACK1をTCP伝送装置1に送信する。この場合、このACK1がフィルタαによって破棄されてしまうため、PCK1が再送できないようにも思われる。しかし、TCP分割転送装置3では、フィルタαの有効期間が適切な長さで設定されるため、この有効期間が経過した後、ACK1をTCP伝送装置1まで通過させることになる。従って、TCP伝送装置1は、パケットロスによりPCK1の再送が必要な場合、素早くPCK1を再送することができる。   Here, in FIG. 3, a case is considered in which a packet loss of PCK1 occurs after the TCP division transfer device 3 transfers PCK1. Then, the TCP transmission device 7 transmits ACK1 to the TCP transmission device 1 in order to request retransmission of PCK1. In this case, since this ACK1 is discarded by the filter α, it seems that PCK1 cannot be retransmitted. However, since the effective period of the filter α is set to an appropriate length in the TCP division transfer apparatus 3, the ACK1 is passed to the TCP transmission apparatus 1 after the effective period has elapsed. Therefore, the TCP transmission device 1 can quickly retransmit the PCK1 when it is necessary to retransmit the PCK1 due to packet loss.

[TCP分割転送装置の動作:TCPパケットの到着順が入れ替わらないケース]
図4を参照して、TCPパケットの到着順が入れ替わらないケースを例に、TCP分割転送装置3の動作について説明する(適宜図2参照)。
図4では、論理回線L,Lの遅延量が同程度であることとして説明する。
[Operation of TCP division transfer device: Case in which the arrival order of TCP packets does not change]
With reference to FIG. 4, the operation of the TCP division transfer apparatus 3 will be described by taking as an example a case where the arrival order of TCP packets does not change (see FIG. 2 as appropriate).
In FIG. 4, description will be made assuming that the delay amounts of the logical lines L 1 and L 2 are approximately the same.

ステップS11,S12の処理は、図3のステップS1,S2の処理と同様のため、説明を省略する。
TCP分割転送装置3は、ACK制御部35によって、経路選択部33からの転送情報に基づいて、破棄対象ACK番号「1」としたフィルタαを設定する(ステップS13)。
The processing in steps S11 and S12 is the same as the processing in steps S1 and S2 in FIG.
In the TCP division transfer device 3, the ACK control unit 35 sets the filter α with the discard target ACK number “1” based on the transfer information from the route selection unit 33 (step S13).

このケースでは、PCK1,2の到着順が入れ替わることなく到着するため、TCP伝送装置7は、PCK1の次のTCPパケットの送信を要求すべく、ACK番号「2」のACKパケットをTCP伝送装置1に返送する。従って、TCP分割転送装置3は、ACK制御部35によって、TCP伝送装置7からACK2を受信することになる(ステップS14)。   In this case, since the arrival order of PCK 1 and 2 does not change, the TCP transmission device 7 sends an ACK packet of ACK number “2” to the TCP transmission device 1 in order to request transmission of the next TCP packet of PCK 1. Return to Therefore, the TCP division transfer device 3 receives ACK2 from the TCP transmission device 7 by the ACK control unit 35 (step S14).

ここで、TCP分割転送装置3には、シーケンス番号「2」のTCPパケットを転送していないため、ACK2に対する有効なフィルタが設定されていない。このため、TCP分割転送装置3は、ACK制御部35によって、このACK2をTCP伝送装置1まで通過させる(ステップS15)。   Here, since the TCP packet having the sequence number “2” is not transferred to the TCP division transfer device 3, an effective filter for ACK2 is not set. Therefore, the TCP division transfer device 3 causes the ACK control unit 35 to pass this ACK2 to the TCP transmission device 1 (step S15).

その後、TCP伝送装置1は、このACK2に応じて、PCK2をTCP伝送装置7に向けて送信する。このように、TCP分割転送システム100では、PCK1,2の到着順が入れ替わらない場合、正常なTCP伝送処理を継続することができる。   Thereafter, the TCP transmission device 1 transmits PCK2 to the TCP transmission device 7 in response to the ACK2. Thus, in the TCP division transfer system 100, when the arrival order of the PCKs 1 and 2 is not changed, normal TCP transmission processing can be continued.

以上、本発明の第1実施形態に係るTCP分割転送装置3について説明したが、本発明は、これに限定されない。以下、TCP分割転送装置3の種々の変形例について説明する(適宜図1,図2参照)。   The TCP division transfer apparatus 3 according to the first embodiment of the present invention has been described above, but the present invention is not limited to this. Hereinafter, various modifications of the TCP division transfer apparatus 3 will be described (see FIGS. 1 and 2 as appropriate).

(変形例1)
第1実施形態では、論理回線遅延量として往復遅延時間を説明したが、本発明では、論理回線遅延量として、論理回線L,L,・・・,Lの通信品質を示す様々な指標を利用することができる。例えば、遅延量設定部36は、論理回線遅延量として、ビットレートまたは符号化誤り率を用いることができる。
(Modification 1)
In the first embodiment describes the round trip time as a logical line delay, in the present invention, as a logical line delay, various indicating the communication quality of the logical lines L 1, L 2, ···, L m Indicators can be used. For example, the delay amount setting unit 36 can use a bit rate or a coding error rate as the logical line delay amount.

具体的には、遅延量設定部36には、ビットレートと論理回線遅延量とが反比例の関係になる遅延量算出関数を予め定義しておく。そして、遅延量設定部36は、論理回線L,L,・・・,Lのビットレートを測定して、測定したビットレートを遅延量算出関数に引数として与えることで、論理回線遅延量を算出する。 Specifically, the delay amount setting unit 36 defines in advance a delay amount calculation function in which the bit rate and the logical line delay amount are in an inversely proportional relationship. Then, the delay amount setting unit 36 measures the bit rate of the logical lines L 1 , L 2 ,..., L m , and gives the measured bit rate as an argument to the delay amount calculation function. Calculate the amount.

この他、遅延量設定部36には、符号化誤り率と論理回線遅延量とが比例の関係になる遅延量算出関数を予め定義しておく。そして、論理回線L,L,・・・,Lの符号化誤り率を測定して、測定した符号化誤り率を遅延量算出関数に引数として与えることで、論理回線遅延量を算出する。 In addition, the delay amount setting unit 36 defines in advance a delay amount calculation function in which the encoding error rate and the logical line delay amount are in a proportional relationship. Then, the coding error rate of the logical lines L 1 , L 2 ,..., L m is measured, and the measured coding error rate is given as an argument to the delay amount calculation function, thereby calculating the logical line delay amount. To do.

(変形例2)
第1実施形態では、TCP伝送装置1からTCP伝送装置7に向けてTCPパケットを送信することとして説明したが、実際には、TCP伝送装置1,7が互いにTCPパケットを送信することが考えられる。そこで、図2のTCP伝送装置1の各手段が、以下で説明する機能を備えてもよい。
(Modification 2)
In the first embodiment, it has been described that the TCP packet is transmitted from the TCP transmission device 1 to the TCP transmission device 7, but actually, the TCP transmission devices 1 and 7 may transmit the TCP packet to each other. . Therefore, each unit of the TCP transmission device 1 in FIG. 2 may have a function described below.

TCP伝送装置7がTCP伝送装置1に向けてTCPパケットを送信する場合、TCP伝送装置1は、TCP伝送装置7に向けて、送信データが含まれていないACKパケットを返送することになる。そこで、経路選択部33は、TCPパケット受信部31から入力されたTCPパケットが、このACKパケットである場合、転送情報を生成せず、この転送情報をACK制御部35に出力しなくともよい。   When the TCP transmission device 7 transmits a TCP packet to the TCP transmission device 1, the TCP transmission device 1 returns an ACK packet that does not include transmission data to the TCP transmission device 7. Therefore, when the TCP packet input from the TCP packet receiving unit 31 is this ACK packet, the route selection unit 33 does not generate transfer information and does not need to output this transfer information to the ACK control unit 35.

ACK制御部35は、TCP伝送装置7から、ACKパケット以外のTCPパケットを受信することがある。従って、受信したTCPパケットに送信データが含まれている場合、ACK制御部35は、このTCPパケットをフィルタによって破棄せず、通過させてもよい。   The ACK control unit 35 may receive a TCP packet other than the ACK packet from the TCP transmission device 7. Therefore, when transmission data is included in the received TCP packet, the ACK control unit 35 may allow the TCP packet to pass through without being discarded by the filter.

遅延量設定部36は、論理回線Lの論理回線遅延量(例えば、往復遅延時間)を予め計測してもよい。そして、TCP分割転送装置5から計測用パケットを受信した場合、ACK制御部35は、遅延量設定部36が計測した論理回線Lの論理回線遅延量だけ遅延させてから、この計測用パケットに対する応答パケットをTCP分割転送装置5に返送する。
このようにして、TCP分割転送装置3は、TCP分割転送装置5が計測する論理回線遅延量に、論理回線Lの論理回線遅延量を反映させることができる。
Delay amount setting section 36, the logic circuit delay of the logic circuit L A (e.g., round trip time) may be measured in advance. Then, when receiving the measurement packet from the TCP split transfer apparatus 5, ACK control unit 35, after delayed by the logical lines delay amount of the logical channel L A delay amount setting section 36 is measured, for the measurement packet The response packet is returned to the TCP division transfer device 5.
In this way, TCP division transfer unit 3, the logical line delay amount TCP division transfer device 5 is measured, it is possible to reflect the logical line delay of the logic circuit L A.

なお、第1実施形態では、TCP分割転送装置3は、TCPパケットを送信したとき(例えば、図3のステップS3)にフィルタを設定することとしたが、ACKパケットを受信したとき(例えば、図3のステップS8)にフィルタを設定することもできる。
以後、ACKパケットを受信したときにフィルタを設定するケースを第2実施形態とし、TCPパケットを送信したときにフィルタを設定するケースを第3実施形態として詳細に説明する。
In the first embodiment, the TCP division transfer device 3 sets a filter when transmitting a TCP packet (for example, step S3 in FIG. 3), but when receiving an ACK packet (for example, FIG. 3). A filter can also be set in step S8).
Hereinafter, a case where a filter is set when an ACK packet is received will be described as a second embodiment, and a case where a filter is set when a TCP packet is transmitted will be described in detail as a third embodiment.

(第2実施形態)
[TCP分割転送システムの概略]
図5を参照し、TCP分割転送システム100Bについて、第1実施形態と異なる点を説明する。具体的には、TCP分割転送システム100Bでは、複数のIP回線P(P,P,P,P,・・・,P)を用いると共に、IPヘッダでTCPパケットをカプセル化することが、第1実施形態と異なる。
(Second Embodiment)
[Outline of TCP split transfer system]
With reference to FIG. 5, the difference between the TCP division transfer system 100B and the first embodiment will be described. Specifically, the TCP division transfer system 100B uses a plurality of IP lines P (P A , P B , P 1 , P 2 ,..., P n ) and encapsulates a TCP packet with an IP header. This is different from the first embodiment.

図5に示すように、TCP分割転送システム100Bは、TCPストリームを、外部IPネットワーク(例えば、イーサネット(登録商標)LAN)NWを介して伝送するものであり、TCP伝送装置(送信側端末装置)1と、TCP分割転送装置(TCP転送装置)3Bと、TCP分割転送装置5Bと、TCP伝送装置(受信側端末装置)7とを備える。   As shown in FIG. 5, the TCP division transfer system 100B transmits a TCP stream via an external IP network (for example, Ethernet (registered trademark) LAN) NW, and a TCP transmission apparatus (transmission side terminal apparatus). 1, a TCP division transfer device (TCP transfer device) 3 </ b> B, a TCP division transfer device 5 </ b> B, and a TCP transmission device (reception-side terminal device) 7.

この第2実施形態では、TCP分割転送装置3Bは、論理回線L(図1参照)の上り方向を選択し、この論理回線Lの上り方向を使用してTCPパケットを転送する。また、TCP分割転送装置5Bは、論理回線Lの下り方向を予め選択しておき、この論理回線Lの下り方向を使用してACKパケットを返送する。そして、TCP分割転送装置3Bは、ACKパケットを受信した後、このACKパケットのヘッダから論理回線Lの下り方向を判別する。つまり、TCP分割転送装置3Bは、ACKパケットを受信するまで、上り方向および下り方向を含めた論理回線Lの全体を判別できないため、ACKパケットを受信したときにフィルタを設定する。   In the second embodiment, the TCP division transfer device 3B selects the uplink direction of the logical line L (see FIG. 1), and transfers the TCP packet using the uplink direction of the logical line L. Also, the TCP division transfer device 5B selects in advance the downlink direction of the logical line L, and returns an ACK packet using the downlink direction of the logical line L. Then, after receiving the ACK packet, the TCP division transfer device 3B determines the downlink direction of the logical line L from the header of the ACK packet. That is, the TCP division transfer device 3B cannot determine the entire logical line L including the uplink direction and the downlink direction until the ACK packet is received, and therefore sets a filter when the ACK packet is received.

IP回線P(P,P,P,P,・・・,P)は、上り方向および下り方向の両端が、固有のIPアドレスを有するIPインタフェース(図6参照)に接続された物理回線である。 The IP line P (P A , P B , P 1 , P 2 ,..., P n ) is connected to an IP interface (see FIG. 6) having unique IP addresses at both ends in the upstream and downstream directions. Physical line.

TCP伝送装置1,7は、図1と同様の装置である。
TCP伝送装置1は、IP回線Pを介して、TCP分割転送装置3Bと接続されている。また、TCP伝送装置7は、IP回線Pを介して、TCP分割転送装置5Bと接続されている。
The TCP transmission devices 1 and 7 are the same devices as those in FIG.
TCP transmission apparatus 1 via the IP line P A, and is connected to the TCP division transfer device 3B. Furthermore, TCP transmission device 7, via the IP line P B, and is connected to the TCP division transfer unit 5B.

TCP分割転送装置3Bは、TCPパケットをTCP伝送装置1から受信し、複数のIP回線P,P,・・・,Pの何れかを介して(nは2以上の任意の整数)、受信したTCPパケットを、このTCPパケットの宛先となるTCP伝送装置7に向けて転送するものである。 The TCP division transfer device 3B receives a TCP packet from the TCP transmission device 1 and passes through any of a plurality of IP lines P 1 , P 2 ,..., P n (n is an arbitrary integer greater than or equal to 2) The received TCP packet is transferred to the TCP transmission device 7 that is the destination of the TCP packet.

ここで、TCP分割転送装置3Bは、複数のIP回線P,P,・・・,Pを介して、TCP分割転送装置5Bと接続されている。そして、TCP分割転送装置3Bは、複数のIP回線P,P,・・・,Pの中から、論理回線Lの上り方向に使用するIP回線Pを選択する。さらに、TCP分割転送装置3Bは、選択したIP回線Pを介して、TCP伝送装置1から受信したTCPパケットをTCP分割転送装置5Bに転送する。
なお、TCP分割転送装置3Bの構成については、後記する。
Here, the TCP division transfer device 3B is connected to the TCP division transfer device 5B via a plurality of IP lines P 1 , P 2 ,..., P n . Then, TCP division transfer apparatus 3B, a plurality of IP line P 1, P 2, · · ·, among P n, selects the IP line P to be used in the uplink logical channel L. Further, the TCP division transfer device 3B transfers the TCP packet received from the TCP transmission device 1 to the TCP division transfer device 5B via the selected IP line P.
The configuration of the TCP division transfer device 3B will be described later.

TCP分割転送装置5Bは、TCP分割転送装置3Bと同一構成の装置である。
ここで、TCP分割転送装置5Bは、ACKパケットを返送するIP回線P(論理回線の下り方向)を予め選択しておく。例えば、TCP分割転送装置5Bは、図1の経路選択部33と同様の手法で、論理回線の下り方向に使用するIP回線Pを選択する。そして、TCP分割転送装置5Bは、TCP分割転送装置3Bから転送されたTCPパケットをTCP伝送装置7に送信する。また、このとき、TCP分割転送装置5Bは、選択したIP回線Pを介して、このTCPパケットに対するACKパケットを返送する。
The TCP division transfer device 5B has the same configuration as the TCP division transfer device 3B.
Here, the TCP division transfer device 5B preselects the IP line P (the logical line downlink direction) for returning the ACK packet. For example, the TCP division transfer device 5B selects the IP line P to be used in the downlink direction of the logical line by the same method as the route selection unit 33 in FIG. Then, the TCP division transfer device 5B transmits the TCP packet transferred from the TCP division transfer device 3B to the TCP transmission device 7. At this time, the TCP division transfer device 5B returns an ACK packet for the TCP packet via the selected IP line P.

以下、論理回線L(図1参照)と、物理回線(IP回線P)との関係について説明する。
論理回線Lは、TCPパケットの転送に使用される上り方向のIP回線Pと、ACKの返送に使用される下り方向のIP回線Pとのペアで構成される。図1の論理回線Lを例にすると、論理回線Lの上り方向にIP回線Pを使用し、論理回線Lの下り方向にIP回線Pを使用するというように、IP回線P,Pのペアで構成される。
また、論理回線Lは、上り方向および下り方向が共通するように、単一のIP回線Pで構成されてもよい。図1の論理回線Lを例にすると、論理回線Lの上り方向および下り方向にIP回線Pを使用するというように、単一のIP回線Pで構成される。
Hereinafter, the relationship between the logical line L (see FIG. 1) and the physical line (IP line P) will be described.
The logical line L is composed of a pair of an upstream IP line P used for TCP packet transfer and a downstream IP line P used for ACK return. If a logical line L 1 in FIG. 1 as an example, and so using the IP line P 1 in the uplink logical channel L 1, use the IP line P 2 in the downlink logical channel L 1, IP line P 1, composed of a pair of P 2.
Further, the logical line L may be configured by a single IP line P so that the upstream direction and the downstream direction are common. If a logical line L 1 in FIG. 1 as an example, so that use IP line P 1 in the uplink and downlink logical channel L 1, consists of a single IP line P 1.

[TCP分割転送装置の構成]
図6を参照して、TCP分割転送装置3Bの構成について説明する(適宜図5参照)。
図6に示すように、TCP分割転送装置3Bは、IPインターフェース30(30,30,30,・・・,30)と、TCPパケット受信部31Bと、経路選択部33Bと、ACK制御部35Bと、TCPパケット送信部(ACKパケット送信部)37Bとを備える。
[Configuration of TCP split transfer device]
With reference to FIG. 6, the configuration of the TCP division transfer apparatus 3B will be described (see FIG. 5 as appropriate).
As shown in FIG. 6, the TCP division transfer device 3B includes an IP interface 30 (30 A , 30 1 , 30 2 ,..., 30 n ), a TCP packet reception unit 31B, a route selection unit 33B, and an ACK. A control unit 35B and a TCP packet transmission unit (ACK packet transmission unit) 37B are provided.

IPインターフェース30(30,30,30,・・・,30)は、例えば、固有のIPアドレスが予め設定されたネットワークインターフェースである。また、IPインターフェース30(30,30,30,・・・,30)は、IP回線P(P,P,P,・・・,P)にそれぞれ接続されている。 The IP interface 30 (30 A , 30 1 , 30 2 ,..., 30 n ) is, for example, a network interface in which a unique IP address is set in advance. Also, IP interface 30 (30 A, 30 1, 30 2, ···, 30 n) is, IP line P (P A, P 1, P 2, ···, P n) are connected to the .

ここで、IPインターフェース30は、TCP伝送装置1からTCP伝送装置7へ向けて送信されたTCPパケットを受信すると、TCPパケット受信部31Bに出力する。この場合、TCP伝送装置7に向けて送信されたTCPパケットの識別方法として、例えば、TCPパケットの宛先が、TCP伝送装置7のIPアドレスに一致するか否かを判定する方法が利用できる。
なお、第2実施形態では、TCP伝送装置1から受信したTCPパケットには、IPヘッダが付加されている。以後、IPヘッダが付加されたTCPパケットを、「オリジナルIPパケット」と呼ぶことがある。
Here, IP interface 30 A receives a TCP packet transmitted from TCP transmission device 1 to the TCP transmission device 7, and outputs the TCP packet reception section 31B. In this case, as a method for identifying the TCP packet transmitted toward the TCP transmission device 7, for example, a method for determining whether the destination of the TCP packet matches the IP address of the TCP transmission device 7 can be used.
In the second embodiment, an IP header is added to the TCP packet received from the TCP transmission device 1. Hereinafter, a TCP packet to which an IP header is added may be referred to as an “original IP packet”.

TCPパケット受信部31Bは、IPインターフェース30を介して、TCP伝送装置1によって送信されたオリジナルIPパケットを受信するものである。そして、TCPパケット受信部31Bは、受信したオリジナルIPパケットを経路選択部33Bに出力する。 TCP packet receiving section 31B via the IP interface 30 A, it is to receive the original IP packet transmitted by the TCP transmission device 1. Then, the TCP packet reception unit 31B outputs the received original IP packet to the route selection unit 33B.

経路選択部33Bは、複数のIP回線P,P,・・・,Pの中から、TCPパケット受信部31Bによって受信されたオリジナルIPパケットが転送されるIP回線Pを所定の規則によって選択し、選択したIP回線Pを介して、カプセル化されたIPパケットをTCP伝送装置7に向けて転送すると共に、転送したIPパケットのシーケンス番号および選択論理回線の情報が含まれる転送情報を生成するものである。 Path selection section 33B, a plurality of IP line P 1, P 2, · · ·, among P n, the IP line P a predetermined rule original IP packet received by the TCP packet receiver 31B is transferred Select and transfer the encapsulated IP packet to the TCP transmission device 7 via the selected IP line P, and generate transfer information including the sequence number of the transferred IP packet and the information of the selected logical line To do.

ここで、経路選択部33Bは、図2の経路選択部33と同様の手法で、論理回線Lの上り方向に使用するIP回線Pを選択する。そして、経路選択部33Bは、オリジナルIPパケットをIPヘッダでカプセル化して、選択したIP回線Pに対応するIPインターフェース30に出力する。例えば、RFC1853で規定された「IP in IP Tunneling」を用いる場合、経路選択部33Bは、図7に示すように、オリジナルIPパケットをカプセル化する。   Here, the route selection unit 33B selects the IP line P to be used in the upstream direction of the logical line L by the same method as the route selection unit 33 in FIG. Then, the route selection unit 33B encapsulates the original IP packet with the IP header, and outputs it to the IP interface 30 corresponding to the selected IP line P. For example, when “IP in IP Tunneling” defined in RFC1853 is used, the route selection unit 33B encapsulates the original IP packet as shown in FIG.

図7の例では、経路選択部33Bは、バージョンを「4」、ヘッダ長を「5」、Type of Serviceを「0」に設定する。また、経路選択部33Bは、IPパケット長として、オリジナルIPパケットの長さに「20」を加算した値を設定する。また、経路選択部33Bは、例えば、プロトコル番号として、IPv4を意味する「4」を設定する。また、経路選択部33Bは、ヘッダチェックサムを、RFC791に規定された方法で算出して設定する。   In the example of FIG. 7, the route selection unit 33B sets the version to “4”, the header length to “5”, and the Type of Service to “0”. Further, the route selection unit 33B sets a value obtained by adding “20” to the length of the original IP packet as the IP packet length. In addition, the route selection unit 33B sets, for example, “4” meaning IPv4 as the protocol number. Further, the route selection unit 33B calculates and sets the header checksum by a method defined in RFC791.

また、経路選択部33Bは、送信元IPアドレスとして、選択したIP回線Pに対応するIPインターフェース30のIPアドレスを設定する。また、経路選択部33Bは、宛先IPアドレスとして、選択したIP回線Pにおいて、下り方向の端に接続されたIPインターフェースのIPアドレスを設定する。言い換えるなら、宛先IPアドレスには、TCP分割転送装置5Bに備えられたIPインターフェース(不図示)のIPアドレスが設定される。
つまり、第2実施形態では、選択論理回線の情報(論理回線Lの上り方向に使用したIP回線Pの情報)として、例えば、送信元IPアドレスおよび宛先IPアドレスの組を用いることができる。
Further, the route selection unit 33B sets the IP address of the IP interface 30 corresponding to the selected IP line P as the source IP address. Further, the route selection unit 33B sets the IP address of the IP interface connected to the downstream end in the selected IP line P as the destination IP address. In other words, the IP address of the IP interface (not shown) provided in the TCP division transfer apparatus 5B is set as the destination IP address.
That is, in the second embodiment, for example, a combination of a source IP address and a destination IP address can be used as information on the selected logical line (information on the IP line P used in the upstream direction of the logical line L).

また、経路選択部33Bは、識別子、フラグ、フラグメントオフセットおよび生存期間を、オリジナルIPパケット内のIPヘッダに格納された値と同一に設定する。
以下、図6に戻り、経路選択部33Bの説明を続ける。
Further, the route selection unit 33B sets the identifier, the flag, the fragment offset, and the lifetime to the same values as those stored in the IP header in the original IP packet.
Hereinafter, returning to FIG. 6, the description of the route selection unit 33B will be continued.

また、経路選択部33Bは、TCP分割転送装置5Bに転送したオリジナルIPパケットのシーケンス番号と、選択論理回線の情報とを含む転送情報を生成する。そして、経路選択部33Bは、生成した転送情報をACK制御部35Bに出力する。   In addition, the route selection unit 33B generates transfer information including the sequence number of the original IP packet transferred to the TCP division transfer device 5B and information on the selected logical line. Then, the route selection unit 33B outputs the generated transfer information to the ACK control unit 35B.

IPインターフェース30,30,・・・,30は、経路選択部33Bから入力されたIPパケット(IPヘッダでカプセル化されたオリジナルIPパケット)を、それぞれに接続されたIP回線P,P,・・・,Pを介して、TCP分割転送装置5Bに出力する。 The IP interfaces 30 1 , 30 2 ,..., 30 n are IP lines P 1 , IP 1 connected to the IP packets (original IP packets encapsulated by the IP header) input from the route selection unit 33B, respectively. Output to the TCP division transfer apparatus 5B via P 2 ,..., P n .

また、IPインターフェース30,30,・・・,30は、それぞれに接続されたIP回線P,P,・・・,Pを介して、ACKパケット(図7と同様のIPヘッダでカプセル化されたACKパケット)をTCP伝送装置7から受信し、このACKパケットをACK制御部35Bに出力する。この場合、TCP伝送装置1へ向けて返送されたACKパケットの識別方法としては、例えばIPインターフェース30,30,・・・,30のIPアドレスに宛先IPアドレスが一致し、オリジナルIPパケット内のIPヘッダにおいて、宛先IPアドレスがTCP伝送装置1のIPアドレスに一致するか否かを判定する方法が利用できる。 Also, IP interface 30 1, 30 2, ···, 30 n is, IP line P 1 which are respectively connected to, P 2, ···, via the P n, same IP as ACK packet (Fig. 7 ACK packet encapsulated in the header) is received from the TCP transmission apparatus 7, and this ACK packet is output to the ACK control unit 35B. In this case, as an identification method of the returned ACK packet to TCP transmission device 1, for example IP interface 30 1, 30 2, ..., destination IP address to the IP address of the 30 n coincide, the original IP packet A method of determining whether the destination IP address matches the IP address of the TCP transmission device 1 in the IP header can be used.

ACK制御部35Bは、遅延量設定部36を備えると共に、経路選択部33Bによって転送されたIPパケットへの応答であるACKパケットをTCP伝送装置7から受信し、受信したACKパケットをフィルタ(不図示)によって破棄または通過させものである。   The ACK control unit 35B includes a delay amount setting unit 36, receives an ACK packet as a response to the IP packet transferred by the route selection unit 33B from the TCP transmission device 7, and filters the received ACK packet (not shown). ) To be discarded or passed.

ここで、ACK制御部35Bは、経路選択部33Bからの転送情報に基づいて論理回線Lの上り方向を判別し、受信したACKパケットのIPヘッダに基づいて論理回線Lの下り方向を判別する。言い換えるなら、ACK制御部35Bは、ACKパケットが返送されたIP回線Pを、論理回線Lの下り方向として判別する。そして、ACK制御部35Bは、図2のACK制御部35と同様にフィルタを設定し、このフィルタによって受信したACKパケットを破棄または通過させる。   Here, the ACK control unit 35B determines the uplink direction of the logical line L based on the transfer information from the route selection unit 33B, and determines the downlink direction of the logical line L based on the IP header of the received ACK packet. In other words, the ACK control unit 35B determines the IP line P to which the ACK packet is returned as the downlink direction of the logical line L. Then, the ACK control unit 35B sets a filter in the same manner as the ACK control unit 35 in FIG. 2, and discards or passes the ACK packet received by this filter.

TCPパケット送信部37Bは、ACK制御部35Bが通過させたACKパケットを、IPインターフェース30を介して、TCP伝送装置1に送信するものである。この場合、IPインターフェース30は、ACK制御部35Bが通過させたACKパケットをTCP伝送装置1に送信する。 TCP packet transmission unit 37B is an ACK packet ACK control unit 35B has passed through the IP interface 30 A, is to send the TCP transmission device 1. In this case, the IP interface 30 A transmits the ACK packet passed by the ACK control unit 35 B to the TCP transmission device 1.

以上のように、TCP分割転送装置3Bは、図1のTCP分割転送装置3と同様、パケットロスが発生していないにも関わらず、TCPパケットの再送および輻輳ウィンドウの縮小が行われる事態を防止でき、TCP伝送のスループットを向上させることができる。また、TCP分割転送装置3Bは、IPヘッダでTCPパケットをカプセル化するため、IPで伝送する外部ネットワークNWを介して、TCPパケットをTCP伝送装置7に転送することができる。   As described above, the TCP division transfer device 3B prevents the TCP packet retransmission and the congestion window from being reduced even though no packet loss has occurred, as with the TCP division transfer device 3 in FIG. And the throughput of TCP transmission can be improved. Further, since the TCP division transfer device 3B encapsulates the TCP packet with the IP header, the TCP packet can be transferred to the TCP transmission device 7 via the external network NW that is transmitted by IP.

なお、第2実施形態では、IPインターフェース30(30,30,30,・・・,30)と、IP回線P(P,P,P,・・・,P)とが1対1で対応することとして説明したが、本発明は、これに限定されない。例えば、TCP分割転送装置3Bは、IPインターフェース30を、IPインターフェースP,P,・・・,Pの何れかと共用してもよい。また、例えば、TCP分割転送装置3Bは、IPインターフェースP,P,・・・,Pが、少なくとも2以上のIPインターフェース30で構成されてもよい。 In the second embodiment, the IP interface 30 (30 A , 30 1 , 30 2 ,..., 30 n ) and the IP line P (P A , P 1 , P 2 ,..., P n ) However, the present invention is not limited to this. Eg, TCP division transfer apparatus 3B, the IP interface 30 A, IP interface P 1, P 2, · · ·, may be shared with one of P n. Further, for example, in the TCP division transfer apparatus 3B, the IP interfaces P 1 , P 2 ,..., P n may be configured by at least two IP interfaces 30.

(第3実施形態)
[TCP分割転送システムの概略]
図5に戻り、TCP分割転送システム100Cの概略として、第2実施形態と異なる点を説明する。具体的には、TCP分割転送システム100Cでは、UDP(User Datagram Protocol)ヘッダでTCPパケットをカプセル化することが、第2実施形態と異なる。
(Third embodiment)
[Outline of TCP split transfer system]
Returning to FIG. 5, as an outline of the TCP division transfer system 100 </ b> C, differences from the second embodiment will be described. Specifically, the TCP division transfer system 100C is different from the second embodiment in that a TCP packet is encapsulated with a UDP (User Datagram Protocol) header.

図5に示すように、TCP分割転送システム100Cは、TCPストリームを、外部IPネットワーク(例えば、イーサネットLAN)NWを介して伝送するものであり、TCP伝送装置(送信側端末装置)1と、TCP分割転送装置(TCP転送装置)3Cと、TCP分割転送装置5Cと、TCP伝送装置(受信側端末装置)7とを備える。   As shown in FIG. 5, the TCP split transfer system 100C transmits a TCP stream via an external IP network (for example, Ethernet LAN) NW, and includes a TCP transmission apparatus (transmission side terminal apparatus) 1 and a TCP A division transfer device (TCP transfer device) 3C, a TCP division transfer device 5C, and a TCP transmission device (reception side terminal device) 7 are provided.

この第3実施形態では、TCP分割転送装置3Cは、論理回線L(図1参照)の上り方向および下り方向を選択し、この論理回線Lの上り方向を使用してTCPパケットを転送する。つまり、TCP分割転送装置3Cは、TCPパケットを送信したとき、上り方向および下り方向を含めた論理回線Lの全体が判別できるので、フィルタを設定する。このとき、TCP分割転送装置3Cは、戻り回線情報をTCP分割転送装置5Cに通知する。そして、TCP分割転送装置5Cは、戻り回線情報で通知された論理回線Lの下り方向を使用して、ACKパケットを返送する。   In the third embodiment, the TCP division transfer device 3C selects the uplink direction and the downlink direction of the logical line L (see FIG. 1), and transfers the TCP packet using the uplink direction of the logical line L. That is, since the TCP division transfer device 3C can determine the entire logical line L including the uplink direction and the downlink direction when transmitting the TCP packet, it sets a filter. At this time, the TCP division transfer device 3C notifies the return line information to the TCP division transfer device 5C. Then, the TCP division transfer device 5C returns an ACK packet using the downlink direction of the logical line L notified by the return line information.

TCP分割転送装置3Cは、TCPパケットをTCP伝送装置1から受信し、複数のIP回線P,P,・・・,Pの何れかを介して、受信したTCPパケットを、このTCPパケットの宛先となるTCP伝送装置7に向けて転送するものである。
ここで、TCP分割転送装置3Cは、複数のIP回線P,P,・・・,Pの中から、論理回線Lの上り方向および下り方向に使用するIP回線Pを選択する。そして、TCP分割転送装置3Cは、戻り回線情報を格納したUDPヘッダでTCPパケットをカプセル化して、TCP分割転送装置5Cに転送する。
TCP division transfer unit 3C receives the TCP packet from the TCP transmission device 1, a plurality of IP line P 1, P 2, · · ·, through one of P n, a TCP packet received, the TCP packet Is transferred to the TCP transmission device 7 that is the destination of the message.
Here, TCP division transfer apparatus 3C, a plurality of IP line P 1, P 2, · · ·, among P n, selects the IP line P to be used in the uplink and downlink logical channel L. Then, the TCP division transfer device 3C encapsulates the TCP packet with the UDP header storing the return line information, and transfers it to the TCP division transfer device 5C.

TCP分割転送装置5Cは、TCP分割転送装置3Cと同一構成の装置である。
ここで、TCP分割転送装置5Cは、TCPパケットのUDPヘッダに格納された戻り回線情報から、論理回線Lの下り方向に使用するIP回線Pを判別する。そして、TCP分割転送装置5Cは、判別したIP回線Pを介して、このTCPパケットに対するACKパケットを返送する。
The TCP division transfer device 5C has the same configuration as the TCP division transfer device 3C.
Here, the TCP division transfer device 5C determines the IP line P to be used in the downstream direction of the logical line L from the return line information stored in the UDP header of the TCP packet. Then, the TCP division transfer device 5C returns an ACK packet for this TCP packet via the determined IP line P.

[TCP分割転送装置の構成]
図6に戻り、TCP分割転送装置3Cの構成について、第2実施形態と異なる点を主に説明する(適宜図5参照)。
図6に示すように、TCP分割転送装置3Cは、IPインターフェース30(30,30,30,・・・,30)と、TCPパケット受信部31Bと、経路選択部33Cと、ACK制御部35Cと、TCPパケット送信部(ACKパケット送信部)37Bとを備える。
[Configuration of TCP split transfer device]
Returning to FIG. 6, the difference of the configuration of the TCP division transfer apparatus 3 </ b> C from the second embodiment will be mainly described (see FIG. 5 as appropriate).
As shown in FIG. 6, the TCP division transfer device 3C includes an IP interface 30 (30 A , 30 1 , 30 2 ,..., 30 n ), a TCP packet reception unit 31B, a route selection unit 33C, and an ACK. A control unit 35C and a TCP packet transmission unit (ACK packet transmission unit) 37B are provided.

経路選択部33Cは、図2の経路選択部33と同様の手法で、論理回線Lの上り方向および下り方向に使用するIP回線Pを選択する。そして、経路選択部33Cは、オリジナルIPパケットをUDPヘッダでカプセル化して、選択したIP回線Pに対応するIPインターフェース30に出力する。例えば、RFC1853で規定された「IP in IP Tunneling」を用いる場合、経路選択部33Cは、図8に示すように、オリジナルIPパケットをカプセル化する。   The route selection unit 33C selects the IP line P to be used in the uplink direction and the downlink direction of the logical line L in the same manner as the route selection unit 33 in FIG. Then, the route selection unit 33C encapsulates the original IP packet with a UDP header and outputs it to the IP interface 30 corresponding to the selected IP line P. For example, when “IP in IP Tunneling” defined in RFC1853 is used, the route selection unit 33C encapsulates the original IP packet as shown in FIG.

図8の例では、経路選択部33Cは、バージョンを「4」、ヘッダ長を「5」、Type of Serviceを「0」に設定する。また、経路選択部33Cは、IPパケット長として、オリジナルIPパケットの長さに「36」を加算した値を設定する。また、経路選択部33Cは、例えば、プロトコル番号として、UDPを意味する「17」を設定する。また、経路選択部33Cは、ヘッダチェックサムを、RFC791に規定された方法で算出して設定する。   In the example of FIG. 8, the route selection unit 33C sets the version to “4”, the header length to “5”, and the Type of Service to “0”. Further, the route selection unit 33C sets a value obtained by adding “36” to the length of the original IP packet as the IP packet length. In addition, the path selection unit 33C sets “17” meaning UDP, for example, as the protocol number. In addition, the path selection unit 33C calculates and sets the header checksum by a method specified in RFC791.

また、経路選択部33Cは、送信元IPアドレスとして、選択したIP回線P(論理回線Lの上り方向)に対応するIPインターフェース30のIPアドレスを設定する。また、経路選択部33Cは、宛先IPアドレスとして、選択したIP回線P(論理回線Lの上り方向)において、下り方向の端に接続されたIPインターフェースのIPアドレスを設定する。言い換えるなら、宛先IPアドレスには、TCP分割転送装置5Cに備えられたIPインターフェース(不図示)のIPアドレスが設定される。   Further, the route selection unit 33C sets the IP address of the IP interface 30 corresponding to the selected IP line P (upward direction of the logical line L) as the source IP address. Further, the route selection unit 33C sets, as the destination IP address, the IP address of the IP interface connected to the end in the down direction in the selected IP line P (upward direction of the logical line L). In other words, the IP address of the IP interface (not shown) provided in the TCP division transfer apparatus 5C is set as the destination IP address.

また、経路選択部33Cは、送信元ポート番号および宛先ポート番号として、ユーザによって決定された値を設定する。また、経路選択部33Cは、UDPパケット長として、オリジナルIPパケットの長さに「16」を加算した値を設定する。また、経路選択部33Cは、チェックサムを、RFC768に規定された方法で算出して設定する。   Further, the route selection unit 33C sets values determined by the user as the transmission source port number and the destination port number. Further, the path selection unit 33C sets a value obtained by adding “16” to the length of the original IP packet as the UDP packet length. In addition, the route selection unit 33C calculates and sets the checksum by a method defined in RFC768.

また、経路選択部33Cは、戻り回線送信元IPアドレスとして、選択したIP回線P(論理回線Lの下り方向)において、下り方向の端に接続されたIPインターフェースのIPアドレスを設定する。言い換えるなら、戻り回線送信元IPアドレスには、TCP分割転送装置5Cに備えられたIPインターフェースのIPアドレスが設定される。また、経路選択部33Cは、戻り回線宛先IPアドレスとして、選択したIP回線P(論理回線Lの下り方向)に対応するIPインターフェース30のIPアドレスを設定する。   Further, the route selection unit 33C sets the IP address of the IP interface connected to the end in the down direction in the selected IP line P (downward direction of the logical line L) as the return line transmission source IP address. In other words, the IP address of the IP interface provided in the TCP division transfer apparatus 5C is set as the return line source IP address. Further, the route selection unit 33C sets the IP address of the IP interface 30 corresponding to the selected IP line P (downward direction of the logical line L) as the return line destination IP address.

つまり、第3実施形態では、選択論理回線の情報として、例えば、送信元IPアドレスおよび宛先IPアドレスと、戻り回線送信元IPアドレスおよび戻り回線宛先IPアドレスの組とを用いることができる。ここで、送信元IPアドレスおよび宛先IPアドレスの組が論理回線Lの上り方向を示し、戻り回線送信元IPアドレスおよび戻り回線宛先IPアドレスの組が論理回線Lの下り方向(つまり、戻り回線情報)を示す。   That is, in the third embodiment, for example, a combination of a transmission source IP address and a destination IP address and a return line transmission source IP address and a return line destination IP address can be used as the information on the selected logical line. Here, the combination of the transmission source IP address and the destination IP address indicates the uplink direction of the logical line L, and the combination of the return line transmission source IP address and the return line destination IP address is the downlink direction of the logical line L (that is, return line information). ).

また、経路選択部33Cは、識別子、フラグ、フラグメントオフセットおよび生存期間を、オリジナルIPパケット内のIPヘッダに格納された値と同一に設定する。
以下、図6に戻り、経路選択部33Cの説明を続ける。
Further, the route selection unit 33C sets the identifier, the flag, the fragment offset, and the lifetime to the same value as the value stored in the IP header in the original IP packet.
Hereinafter, returning to FIG. 6, the description of the route selection unit 33C will be continued.

また、経路選択部33Cは、TCP分割転送装置5Cに転送したオリジナルIPパケットのシーケンス番号と、選択したIP回線Pの情報とを含む転送情報を生成する。そして、経路選択部33Cは、生成した転送情報をACK制御部35Cに出力する。   Further, the route selection unit 33C generates transfer information including the sequence number of the original IP packet transferred to the TCP division transfer device 5C and the information of the selected IP line P. Then, the route selection unit 33C outputs the generated transfer information to the ACK control unit 35C.

ACK制御部35Cは、経路選択部33Cからの転送情報に基づいて論理回線Lの上り方向および下り方向を判別する。そして、ACK制御部35Cは、図2のACK制御部35と同様にフィルタを設定し、このフィルタによって受信したACKパケットを破棄または通過させる。つまり、ACK制御部35Cは、ACKパケットの返送を待つことなく、フィルタを設定できる。   The ACK control unit 35C determines the uplink direction and the downlink direction of the logical line L based on the transfer information from the route selection unit 33C. Then, the ACK control unit 35C sets a filter in the same manner as the ACK control unit 35 in FIG. 2, and discards or passes the ACK packet received by this filter. That is, the ACK control unit 35C can set the filter without waiting for the return of the ACK packet.

以上のように、TCP分割転送装置3Cは、TCP分割転送装置3Bと同様、パケットロスが発生していないにも関わらず、TCPパケットの再送および輻輳ウィンドウの縮小が行われる事態を防止でき、TCP伝送のスループットを向上させることができる。また、TCP分割転送装置3Cは、UDPヘッダでTCPパケットをカプセル化するため、UDPで伝送する外部ネットワークNWを介して、TCPパケットをTCP伝送装置7に転送することができる。   As described above, the TCP division transfer device 3C can prevent the TCP packet retransmission and the congestion window from being reduced in spite of no packet loss, as with the TCP division transfer device 3B. Transmission throughput can be improved. Further, since the TCP division transfer device 3C encapsulates the TCP packet with the UDP header, it can transfer the TCP packet to the TCP transmission device 7 via the external network NW that transmits by UDP.

(変形例3)
第3実施形態では、経路選択部33Cが論理回線Lの下り方向を選択することとして説明したが、これに限定されない。例えば、TCP分割転送装置5Cは、TCP分割転送装置3Cと同様の手法で論理回線Lの下り方向を予め選択しておき、これを戻り回線情報としてTCP分割転送装置3Cに予め通知してもよい。
(Modification 3)
In the third embodiment, the route selection unit 33C has been described as selecting the downlink direction of the logical line L. However, the present invention is not limited to this. For example, the TCP division transfer device 5C may select in advance the downlink direction of the logical line L in the same manner as the TCP division transfer device 3C, and notify the TCP division transfer device 3C in advance as return line information. .

この場合、ACK制御部35Cは、IPインターフェース30,30,・・・,30を介して、TCP分割転送装置5Cから、戻り回線情報が格納されたIPパケットを受信する。そして、ACK制御部35Cは、受信したIPパケットに含まれる戻り回線情報を抽出して、経路選択部33Cに出力する。 In this case, the ACK control unit 35C receives the IP packet in which the return line information is stored from the TCP division transfer apparatus 5C via the IP interfaces 30 1 , 30 2 ,..., 30 n . Then, the ACK control unit 35C extracts the return line information included in the received IP packet and outputs it to the route selection unit 33C.

経路選択部33Cは、前記した手法で、論理回線Lの上り方向に使用するIP回線Pを選択する。また、経路選択部33Cは、ACK制御部35Cからの戻り回線情報で指定されたIP回線Pを、論理回線Lの下り方向として使用する。
以上のように、TCP分割転送装置3Cは、TCP分割転送装置5Cから通知された戻り回線情報を使用して、TCP伝送を行うことができる。
The route selection unit 33C selects the IP line P to be used in the upstream direction of the logical line L by the method described above. Further, the route selection unit 33C uses the IP line P designated by the return line information from the ACK control unit 35C as the downlink direction of the logical line L.
As described above, the TCP division transfer device 3C can perform TCP transmission using the return line information notified from the TCP division transfer device 5C.

なお、各実施形態では、TCP分割転送装置が対向するように2台配置されているが、本発明に係るTCP分割転送装置は、ネットワーク上に1台だけ配置してもよい。   In each embodiment, two TCP division transfer apparatuses are arranged so as to face each other. However, only one TCP division transfer apparatus according to the present invention may be arranged on the network.

なお、各実施形態では、本発明に係るTCP分割転送装置を独立した装置として説明したが、本発明では、一般的なコンピュータが備えるCPU、メモリ等のハードウェア資源を、前記した各手段として協調動作させるTCP分割転送プログラムによっても実現することもできる。このプログラムは、通信回線を介して配布しても良く、CD−ROMやフラッシュメモリ等の記録媒体に書き込んで配布しても良い。
また、本発明に係るTCP分割転送装置は、ルータなどのネットワーク転送装置に内蔵してもよい。
In each embodiment, the TCP division transfer apparatus according to the present invention has been described as an independent apparatus. However, in the present invention, hardware resources such as a CPU and a memory included in a general computer are coordinated as the above-described units. It can also be realized by a TCP division transfer program to be operated. This program may be distributed via a communication line, or may be distributed by writing in a recording medium such as a CD-ROM or a flash memory.
The TCP division transfer device according to the present invention may be built in a network transfer device such as a router.

1 TCP伝送装置(送信側端末装置)
3,3B,3C TCP分割転送装置(TCP転送装置)
30,30,30,30,・・・,30 IPインターフェース
31,31B TCPパケット受信部
33,33B 経路選択部
35,35B ACK制御部
36 遅延量設定部
37,37B TCPパケット送信部(ACKパケット送信部)
5,5B,5C TCP分割転送装置
7 TCP伝送装置(受信側端末装置)
100,100B,100C TCP分割転送システム
L,L,L,L,L,L 論理回線
P,P,P,P,P,P IP回線
1 TCP transmission device (transmission side terminal device)
3,3B, 3C TCP split transfer device (TCP transfer device)
30, 30 A , 30 1 , 30 2 ,..., 30 n IP interface 31, 31 B TCP packet receiver 33, 33 B Path selector 35, 35 B ACK controller 36 Delay amount setting unit 37, 37 B TCP packet transmitter (ACK packet transmitter)
5, 5B, 5C TCP division transfer device 7 TCP transmission device (receiving side terminal device)
100, 100B, 100C TCP split transfer system L, L A , L B , L 1 , L 2 , L m logical line P, P A , P B , P 1 , P 2 , P n IP line

Claims (5)

シーケンス番号が含まれるTCPパケットを送信側端末装置から受信し、複数の論理回線の何れかを介して、受信した前記TCPパケットを、当該TCPパケットの宛先となる受信側端末装置に向けて転送するTCP転送装置であって、
前記TCPパケットを受信するTCPパケット受信部と、
前記複数の論理回線の中から、前記TCPパケット受信部によって受信されたTCPパケットが転送される論理回線を所定の規則によって選択し、選択した当該論理回線を介して、当該TCPパケットを前記受信側端末装置に向けて転送すると共に、転送した当該TCPパケットのシーケンス番号および前記選択した論理回線である選択論理回線の情報が含まれる転送情報を生成する経路選択部と、
前記経路選択部によって転送されたTCPパケットへの応答であるACKパケットを前記受信側端末装置から受信し、受信した当該ACKパケットをフィルタによって破棄または通過させるACK制御部と、
前記ACK制御部が通過させたACKパケットを前記送信側端末装置に送信するACKパケット送信部と、を備え、
前記ACK制御部は、
前記論理回線ごとに予め設定された論理回線遅延量に基づいて、前記経路選択部によって生成された転送情報に含まれる選択論理回線の遅延量を算出し、算出した当該選択論理回線の遅延量を前記TCPパケットが転送されてからの有効期間とし、かつ、当該転送情報に含まれるシーケンス番号を破棄対象ACK番号とした前記フィルタを設定することを特徴とするTCP転送装置。
A TCP packet including a sequence number is received from a transmission-side terminal device, and the received TCP packet is transferred to a reception-side terminal device that is the destination of the TCP packet via one of a plurality of logical lines. A TCP transfer device,
A TCP packet receiver for receiving the TCP packet;
A logical line to which a TCP packet received by the TCP packet receiving unit is transferred is selected from the plurality of logical lines according to a predetermined rule, and the TCP packet is sent to the receiving side via the selected logical line. A path selection unit that transfers the information to the terminal device and generates transfer information including the sequence number of the transferred TCP packet and information of the selected logical line that is the selected logical line;
An ACK control unit that receives an ACK packet that is a response to the TCP packet transferred by the route selection unit from the receiving terminal device, and discards or passes the received ACK packet by a filter;
An ACK packet transmitter that transmits the ACK packet passed by the ACK controller to the transmitting terminal device,
The ACK control unit
Based on the logical line delay amount set in advance for each logical line, the delay amount of the selected logical line included in the transfer information generated by the route selection unit is calculated, and the calculated delay amount of the selected logical line is calculated. A TCP transfer apparatus, wherein the filter is set to a valid period after the TCP packet is transferred, and the sequence number included in the transfer information is set as a discard target ACK number.
前記ACK制御部は、
前記論理回線ごとに往復遅延時間を予め計測して、計測した当該往復遅延時間を前記論理回線遅延量として設定する遅延量設定手段、
をさらに備えることを特徴とする請求項1に記載のTCP転送装置。
The ACK control unit
A delay amount setting means for measuring round-trip delay time for each logical line in advance and setting the measured round-trip delay time as the logical line delay amount;
The TCP transfer device according to claim 1, further comprising:
前記ACK制御部は、前記フィルタの有効期間内に前記ACKパケットを受信し、かつ、受信した当該ACKパケットのACK番号が前記フィルタの破棄対象ACK番号と一致する場合、当該ACKパケットを破棄することを特徴とする請求項1または請求項2に記載のTCP転送装置。   The ACK control unit receives the ACK packet within the effective period of the filter, and discards the ACK packet when the received ACK number of the ACK packet matches the discard target ACK number of the filter. The TCP transfer device according to claim 1, wherein: 前記経路選択部は、前記TCPパケット受信部によって受信されたTCPパケットをTCP以外の他のプロトコルヘッダでカプセル化し、カプセル化した当該TCPパケットを前記受信側端末装置に向けて転送することを特徴とする請求項1から請求項3の何れか一項に記載のTCP転送装置。   The route selection unit encapsulates a TCP packet received by the TCP packet reception unit with a protocol header other than TCP, and transfers the encapsulated TCP packet toward the receiving terminal device. The TCP transfer device according to any one of claims 1 to 3. シーケンス番号が含まれるTCPパケットを送信側端末装置から受信し、複数の論理回線の何れかを介して、受信した前記TCPパケットを、当該TCPパケットの宛先となる受信側端末装置に向けて転送するために、コンピュータを、
前記TCPパケットを受信するTCPパケット受信部、
前記複数の論理回線の中から、前記TCPパケット受信部によって受信されたTCPパケットが転送される論理回線を所定の規則によって選択し、選択した当該論理回線を介して、当該TCPパケットを前記受信側端末装置に向けて転送すると共に、転送した当該TCPパケットのシーケンス番号および前記選択した論理回線である選択論理回線の情報が含まれる転送情報を生成する経路選択部、
前記経路選択部によって転送されたTCPパケットへの応答であるACKパケットを前記受信側端末装置から受信し、受信した当該ACKパケットをフィルタによって破棄または通過させるACK制御部、
前記ACK制御部が通過させたACKパケットを前記送信側端末装置に送信するACKパケット送信部、として機能させ、
前記ACK制御部は、
前記論理回線ごとに予め設定された論理回線遅延量に基づいて、前記経路選択部によって生成された転送情報に含まれる選択論理回線の遅延量を算出し、算出した当該選択論理回線の遅延量を前記TCPパケットが転送されてからの有効期間とし、かつ、当該転送情報に含まれるシーケンス番号を破棄対象ACK番号とした前記フィルタを設定することを特徴とするTCP転送プログラム。
A TCP packet including a sequence number is received from a transmission-side terminal device, and the received TCP packet is transferred to a reception-side terminal device that is the destination of the TCP packet via one of a plurality of logical lines. For the computer,
A TCP packet receiver for receiving the TCP packet;
A logical line to which a TCP packet received by the TCP packet receiving unit is transferred is selected from the plurality of logical lines according to a predetermined rule, and the TCP packet is sent to the receiving side via the selected logical line. A path selection unit that forwards information to the terminal device and generates transfer information including information on the selected logical line that is the sequence number of the transferred TCP packet and the selected logical line;
An ACK control unit that receives an ACK packet that is a response to the TCP packet transferred by the route selection unit from the receiving terminal device, and discards or passes the received ACK packet by a filter;
Function as an ACK packet transmitting unit that transmits the ACK packet passed by the ACK control unit to the transmitting terminal device,
The ACK control unit
Based on the logical line delay amount set in advance for each logical line, the delay amount of the selected logical line included in the transfer information generated by the route selection unit is calculated, and the calculated delay amount of the selected logical line is calculated. A TCP transfer program, wherein the filter is set to a valid period after the TCP packet is transferred, and the sequence number included in the transfer information is set as a discard target ACK number.
JP2010287136A 2010-12-24 2010-12-24 Tcp transfer apparatus and program thereof Pending JP2012134907A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010287136A JP2012134907A (en) 2010-12-24 2010-12-24 Tcp transfer apparatus and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010287136A JP2012134907A (en) 2010-12-24 2010-12-24 Tcp transfer apparatus and program thereof

Publications (1)

Publication Number Publication Date
JP2012134907A true JP2012134907A (en) 2012-07-12

Family

ID=46649927

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010287136A Pending JP2012134907A (en) 2010-12-24 2010-12-24 Tcp transfer apparatus and program thereof

Country Status (1)

Country Link
JP (1) JP2012134907A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105264843A (en) * 2013-06-07 2016-01-20 苹果公司 Managing pending acknowledgement packets in a communication device
JP2017526223A (en) * 2014-06-25 2017-09-07 ホアウェイ・テクノロジーズ・カンパニー・リミテッド Data transmission method and device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105264843A (en) * 2013-06-07 2016-01-20 苹果公司 Managing pending acknowledgement packets in a communication device
CN105264843B (en) * 2013-06-07 2020-06-05 苹果公司 Managing pending acknowledgement packets in a communication device
JP2017526223A (en) * 2014-06-25 2017-09-07 ホアウェイ・テクノロジーズ・カンパニー・リミテッド Data transmission method and device
US10104578B2 (en) 2014-06-25 2018-10-16 Huawei Technologies Co., Ltd. Data transmission method and device

Similar Documents

Publication Publication Date Title
US10237153B2 (en) Packet retransmission method and apparatus
JP5816718B2 (en) Communication apparatus, communication system, and data communication relay method
US8943206B2 (en) Network bandwidth detection and distribution
KR102187810B1 (en) Apparatus and method for controlling data flow in a communication system
JP5491533B2 (en) Efficient and loss tolerant method and mechanism for measuring available bandwidth
US8004983B2 (en) Methods to improve transmission control protocol (TCP) performance over large bandwidth long delay links
JP2018507666A (en) System and method for coordinating data flow
US20160380898A1 (en) Controlling a transmission control protocol window size
US11671377B2 (en) System and method for reducing bandwidth usage of a network
WO2019052264A1 (en) Method for transmitting message, network component and computer-readable storage medium
JP2012134907A (en) Tcp transfer apparatus and program thereof
US9979652B2 (en) Intermediate node, an end node, and method for avoiding latency in a packet-switched network
CN117813595A (en) Apparatus and method for remote direct memory access
US20160337222A1 (en) Reliable Network Probing Session
Kumar et al. Device‐centric data reordering and buffer management for mobile Internet using Multipath Transmission Control Protocol
US20140369189A1 (en) Method of controlling packet transmission in network system and network system transmitting packet using pseudo-tcp agent
Rajput et al. Comparing stream control and datagram congestion control with traditional transmission control protocol
JP4828555B2 (en) Node device and bandwidth control method
US9172774B2 (en) Technique for managing communications at a router
Arshad et al. Issues of multihoming implementation using FAST TCP: a simulation based analysis
Kim et al. TCP acknowledgement compression for fairness among uplink TCP flows in IEEE 802.11 n WLANs
JP4797033B2 (en) Flow rate control method and edge node in TCP flow rate control edge node
JP5518549B2 (en) Congestion control device and congestion control method
Tiwari et al. Minimizing the Cost in the Communication between Different Node by Using Combination of Droptail, TCP as Well as Congestion Window Technique
Kumar et al. Improving The Performance Of Congestion Control In Wireless Networks