JP2012134907A - Tcp transfer apparatus and program thereof - Google Patents
Tcp transfer apparatus and program thereof Download PDFInfo
- 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
Links
Images
Abstract
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.
しかし、複数回線を用いる手法では、各回線の遅延量を一致させることが困難である。このため、遅延量が小さい回線で伝送されたパケットが、遅延量が大きい回線で伝送されたパケットを追い越すことにより、パケットの到着順序が入れ替わることがある。そして、高速再転送アルゴリズムを採用した場合、パケットの到着順序が入れ替わると、受信側が、パケットロスが発生したと勘違いして、追い越されたパケットの再送要求を送信側に行ってしまう。このため、複数回線を用いる手法では、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伝送装置93は、PCK1のパケットロスが発生したと判定して、PCK1の再送を要求すべく、ACK1をTCP伝送装置91に送信する(ステップS93)。このACK1に応じて、TCP伝送装置91は、輻輳ウィンドウを初期値にリセットして、PCK1をTCP伝送装置93に再送する(ステップS94)。
In this case, the
この結果、複数回線を用いる手法では、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実施形態)
以下、本発明の各実施形態について、適宜図面を参照しながら詳細に説明する。なお、各実施形態において、同一の機能を有する手段には同一の符号を付し、説明を省略した。
(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
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伝送装置1は、TCP伝送機能を有する装置であり、例えば、図示を省略したネットワークインターフェースを備える一般的なコンピュータである。
ここでは、TCP伝送装置1は、論理回線LAを介して、TCP分割転送装置3と接続されている。そして、TCP伝送装置1は、一般的なクライアントサーバアプリケーション(例えば、HTTP,SMTP、FTP、TELNET)によって作成されたTCPパケットを、TCP分割転送装置3に送信する。
The
Here,
TCP分割転送装置3は、TCPパケットをTCP伝送装置1から受信し、複数の論理回線L1,L2,・・・,Lmの何れかを介して(mは2以上の任意の整数)、受信したTCPパケットを、このTCPパケットの宛先となるTCP伝送装置7に向けて転送するものである。
The TCP
ここでは、TCP分割転送装置3は、複数の論理回線L1,L2,・・・,Lmを介して、TCP分割転送装置5と接続されている。そして、TCP分割転送装置3は、複数の論理回線L1,L2,・・・,Lmの中から1つの論理回線Lを選択する。さらに、TCP分割転送装置3は、選択した論理回線Lを介して、TCP伝送装置1から受信したTCPパケットをTCP分割転送装置5に転送する。
なお、TCP分割転送装置3の構成については、後記する。
Here, the TCP
The configuration of the TCP
論理回線L(LA,LB,L1,L2,・・・,Lm)は、上り方向および下り方向の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は、論理回線LBを介して、TCP伝送装置7と接続されている。そして、TCP分割転送装置5は、TCP分割転送装置3から転送されたTCPパケットをTCP伝送装置7に送信する。
また、TCP分割転送装置5は、論理回線LBの論理回線遅延量(例えば、往復遅延時間(RTT:Round Trip Time))を予め計測しておくこととし、その理由を後記する。
The TCP
Here, TCP
Furthermore, TCP
TCP伝送装置7は、TCP伝送装置1と同一構成の装置である。
ここでは、TCP伝送装置7は、TCP分割転送装置5からTCPパケットを受信し、このTCPパケットの送信先ポート番号に対応するクライアントサーバアプリケーションによって、このTCPパケットを処理する。このとき、TCP伝送装置7は、受信したTCPパケットのシーケンス番号に基づいて、次に受信すべきTCPパケットのシーケンス番号を、ACK番号として算出する。そして、TCP伝送装置7は、算出したACK番号を格納したACKパケットを生成して、TCP伝送装置1に向けて返送する。
The
Here, the
また、TCP伝送装置7は、一般的な手法によって、パケットロスが発生したか判定する。例えば、TCP伝送装置7は、TCPパケットを一定時間受信できない場合や、シーケンス番号順にTCPパケットを受信できない場合、パケットロスが発生したと判定する。ここで、パケットロスが発生した場合、TCP伝送装置7は、TCPパケットの再送をTCP伝送装置1に要求する。具体的には、TCP伝送装置7は、受信できなかったTCPパケットのシーケンス番号を表すACK番号を算出し、このACK番号を格納したACKパケットを生成して、TCP伝送装置1に向けて返送する。
The
以上のように、TCP分割転送システム100では、TCP伝送装置1からTCP分割転送装置3,5を経由して、TCP伝送装置7にTCPパケットを送信する。また、TCP分割転送システム100では、TCP伝送装置7からTCP分割転送装置5,3を経由して、このTCPパケットに対するACKパケットをTCP伝送装置1に返送する。
また、TCP分割転送システム100では、複数の論理回線L1,L2,・・・,Lmで遅延差が生じるためにTCPパケットの到着順が入れ替わる場合でも、以下で説明するTCP分割転送装置3によってその弊害を防止する。
As described above, in the TCP division transfer system 100, the TCP packet is transmitted from the
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
As shown in FIG. 2, the TCP
In FIG. 2, each logical line L is illustrated separately in the upstream direction and the downstream direction for easy understanding.
TCPパケット受信部31は、論理回線LAを介して、TCP伝送装置1によって送信されたTCPパケットを受信するものである。そして、TCPパケット受信部31は、受信したTCPパケットを経路選択部33に出力する。
TCP
経路選択部33は、複数の論理回線L1,L2,・・・,Lmの中から、TCPパケット受信部31によって受信されたTCPパケットが転送される論理回線Lを所定の規則によって選択し、選択した論理回線Lを介して、TCPパケットをTCP伝送装置7に向けて転送すると共に、転送したTCPパケットのシーケンス番号および選択した論理回線Lを示す情報が含まれる転送情報を生成するものである。
ここで、経路選択部33は、IPによりTCPパケットをカプセル化することで、論理回線Lを選択する。言い換えるなら、経路選択部33は、IP層(ネットワーク層)で実装された規則によって、複数の論理回線L1,L2,・・・,Lmの中から、TCPパケットを転送する論理回線Lを選択する。論理回線Lの選択方法としては、例えば、複数の論理回線L1,L2,・・・,Lmの中からランダムに論理回線Lを選択する方法、または、予め定められた割合に基づいて選択する方法(重み付きラウンドロビン)があげられる。そして、経路選択部33は、選択した論理回線Lを介して、TCPパケット受信部31から出力されたTCPパケットをTCP分割転送装置5に転送する。
Here, the
このとき、経路選択部33は、TCP分割転送装置5に転送したTCPパケットのシーケンス番号と、選択した論理回線Lである選択論理回線の情報とを含む転送情報を生成する。そして、経路選択部33は、生成した転送情報をACK制御部35に出力する。
At this time, the
以下、ACK制御部35より先に、遅延量設定部36について説明する。
遅延量設定部36は、論理回線L1,L2,・・・,Lmごとの遅延量を示す論理回線遅延量を予め計測するものである。そして、遅延量設定部36は、計測した論理回線遅延量を、図示を省略したメモリ等に記憶させる。
Hereinafter, the delay
The delay
ここで、遅延量設定部36は、論理回線遅延量として、往復遅延時間を計測する。具体的には、遅延量設定部36は、論理回線L1,L2,・・・,Lmをそれぞれ経由させて、計測用パケットをTCP分割転送装置5に送信する。この計測用パケットを受信した場合、TCP分割転送装置5は、予め計測した論理回線LBの論理回線遅延量だけ遅延させてから、この計測用パケットに対する応答パケット(ACKパケット)をTCP分割転送装置3に返送する。そして、遅延量設定部36は、論理回線L1,L2,・・・,Lmごとに、計測用パケットの送信時刻と、この計測用パケットに対する応答パケットの受信時刻との差を、論理回線L1,L2,・・・,Lmごとの論理回線遅延量として計測する。
Here, the delay
以上のように、論理回線L1,L2,・・・,Lmごとの論理回線遅延量には、複数の論理回線L1,L2,・・・,Lmが構築された区間(TCP分割転送装置3,5の間)の往復遅延時間に加えて、論理回線LBが構築された区間(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
ACK制御部35は、前記した遅延量設定部36を備えると共に、経路選択部33によって転送されたTCPパケットへの応答であるACKパケットをTCP伝送装置7から受信し、受信したACKパケットをフィルタ(不図示)によって破棄または通過させものである。
The
具体的に、ACK制御部35は、遅延量設定部36が計測した論理回線遅延量に基づいて、経路選択部33から出力された転送情報が示す論理回線Lの遅延量を算出する。つまり、ACK制御部35は、TCPパケットが転送される上り方向の物理回線と、ACKパケットが返送される下り方向の物理回線とで構成される論理回線L1,L2,・・・,Lmの往復遅延時間を、論理回線Lの遅延量として算出する。そして、ACK制御部35は、算出した論理回線L1,L2,・・・,Lmの遅延量を有効期間とし、かつ、転送情報のシーケンス番号を破棄対象ACK番号としたフィルタを設定する。
Specifically, the
ここで、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パケット送信部37は、ACK制御部35が通過させたACKパケットを、論理回線LAを介して、TCP伝送装置1に転送するものである。
TCP
[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
図3では、「PCK」がパケットを示し、PCKの後に図示した「1」,「2」などの数値がそのTCPパケットのシーケンス番号を示す。また、「ACK」がACKパケットを示し、ACKの後に図示した「1」,「2」などの数値がそのACKパケットのACK番号を示している。
また、図3では、縦軸が時間を示すと共に、フィルタα,βの有効期間をハッチングで図示した。
また、図3では、遅延量が大きい論理回線L1を介してPCK1が送信され、論理回線L1より遅延量が小さい論理回線L2を介して、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
TCP分割転送装置3は、経路選択部33によって、複数の論理回線L1,L2,・・・,Lmの中から論理回線L1を選択して、論理回線L1を介して、TCP伝送装置7に向けてPCK1を転送する。また、TCP分割転送装置3は、経路選択部33によって、シーケンス番号「1」および選択論理回線L1とした転送情報を生成して、ACK制御部35に出力する(ステップS2)。
TCP
TCP分割転送装置3は、ACK制御部35によって、経路選択部33からの転送情報に基づいて、破棄対象ACK番号「1」としたフィルタαを設定する(ステップS3)。このフィルタαは、論理回線L1の遅延量が大きいため、有効期間が長くなる。
In the TCP
TCP分割転送装置3は、TCPパケット受信部31によって、TCP伝送装置1からPCK2を受信する(ステップS4)。このPCK2には、PCK1の次のTCPパケットであることを示すシーケンス番号「2」が付与されている。
The TCP
TCP分割転送装置3は、経路選択部33によって、複数の論理回線L1,L2,・・・,Lmの中から論理回線L2を選択して、論理回線L2を介して、TCP伝送装置7に向けてPCK2を転送する。また、TCP分割転送装置3は、経路選択部33によって、シーケンス番号「2」および選択論理回線L2とした転送情報を生成して、ACK制御部35に出力する(ステップS5)。
The TCP
TCP分割転送装置3は、ACK制御部35によって、経路選択部33からの転送情報に基づいて、破棄対象ACK番号「2」としたフィルタβを設定する(ステップS6)。このフィルタβは、論理回線L2の遅延量が論理回線L1より小さいため、フィルタαより有効期間が短くなる。
In the TCP
このケースでは、TCP分割転送装置3は、PCK2より先にPCK1をTCP伝送装置7に向けて転送している。しかし、論理回線L1の遅延量が論理回線L2より大きいため、TCP伝送装置7には、PCK1より先にPCK2が到着する。この場合、TCP伝送装置7は、PCK1のパケットロスが発生したと勘違いし、ACK番号「1」のACKパケットをTCP伝送装置1に返送する。従って、TCP分割転送装置3は、ACK制御部35によって、このACK1を受信することになる(ステップS7)。
In this case, the TCP
ここで、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
PCK1が到着した後、TCP伝送装置7は、シーケンス番号「3」のTCPパケットを要求すべく、ACK番号「3」のACKパケットをTCP伝送装置1に返送する。従って、TCP分割転送装置3は、ACK制御部35によって、このACK3を受信することになる(ステップS9)。
After the PCK1 arrives, the
ここで、シーケンス番号「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
その後、TCP伝送装置1は、このACK3に応じて、PCK3をTCP伝送装置7に向けて送信する。このように、TCP分割転送システム100では、PCK2に追い越されたPCK1がTCP伝送装置7に到着した後、正常なTCP伝送処理に復帰する。
Thereafter, the
以上のように、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
ここで、図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
[TCP分割転送装置の動作:TCPパケットの到着順が入れ替わらないケース]
図4を参照して、TCPパケットの到着順が入れ替わらないケースを例に、TCP分割転送装置3の動作について説明する(適宜図2参照)。
図4では、論理回線L1,L2の遅延量が同程度であることとして説明する。
[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
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
このケースでは、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
ここで、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
その後、TCP伝送装置1は、このACK2に応じて、PCK2をTCP伝送装置7に向けて送信する。このように、TCP分割転送システム100では、PCK1,2の到着順が入れ替わらない場合、正常なTCP伝送処理を継続することができる。
Thereafter, the
以上、本発明の第1実施形態に係るTCP分割転送装置3について説明したが、本発明は、これに限定されない。以下、TCP分割転送装置3の種々の変形例について説明する(適宜図1,図2参照)。
The TCP
(変形例1)
第1実施形態では、論理回線遅延量として往復遅延時間を説明したが、本発明では、論理回線遅延量として、論理回線L1,L2,・・・,Lmの通信品質を示す様々な指標を利用することができる。例えば、遅延量設定部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
具体的には、遅延量設定部36には、ビットレートと論理回線遅延量とが反比例の関係になる遅延量算出関数を予め定義しておく。そして、遅延量設定部36は、論理回線L1,L2,・・・,Lmのビットレートを測定して、測定したビットレートを遅延量算出関数に引数として与えることで、論理回線遅延量を算出する。
Specifically, the delay
この他、遅延量設定部36には、符号化誤り率と論理回線遅延量とが比例の関係になる遅延量算出関数を予め定義しておく。そして、論理回線L1,L2,・・・,Lmの符号化誤り率を測定して、測定した符号化誤り率を遅延量算出関数に引数として与えることで、論理回線遅延量を算出する。
In addition, the delay
(変形例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伝送装置7がTCP伝送装置1に向けてTCPパケットを送信する場合、TCP伝送装置1は、TCP伝送装置7に向けて、送信データが含まれていないACKパケットを返送することになる。そこで、経路選択部33は、TCPパケット受信部31から入力されたTCPパケットが、このACKパケットである場合、転送情報を生成せず、この転送情報をACK制御部35に出力しなくともよい。
When the
ACK制御部35は、TCP伝送装置7から、ACKパケット以外のTCPパケットを受信することがある。従って、受信したTCPパケットに送信データが含まれている場合、ACK制御部35は、このTCPパケットをフィルタによって破棄せず、通過させてもよい。
The
遅延量設定部36は、論理回線LAの論理回線遅延量(例えば、往復遅延時間)を予め計測してもよい。そして、TCP分割転送装置5から計測用パケットを受信した場合、ACK制御部35は、遅延量設定部36が計測した論理回線LAの論理回線遅延量だけ遅延させてから、この計測用パケットに対する応答パケットをTCP分割転送装置5に返送する。
このようにして、TCP分割転送装置3は、TCP分割転送装置5が計測する論理回線遅延量に、論理回線LAの論理回線遅延量を反映させることができる。
Delay
In this way, TCP
なお、第1実施形態では、TCP分割転送装置3は、TCPパケットを送信したとき(例えば、図3のステップS3)にフィルタを設定することとしたが、ACKパケットを受信したとき(例えば、図3のステップS8)にフィルタを設定することもできる。
以後、ACKパケットを受信したときにフィルタを設定するケースを第2実施形態とし、TCPパケットを送信したときにフィルタを設定するケースを第3実施形態として詳細に説明する。
In the first embodiment, the TCP
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(PA,PB,P1,P2,・・・,Pn)を用いると共に、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
この第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
IP回線P(PA,PB,P1,P2,・・・,Pn)は、上り方向および下り方向の両端が、固有の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回線PAを介して、TCP分割転送装置3Bと接続されている。また、TCP伝送装置7は、IP回線PBを介して、TCP分割転送装置5Bと接続されている。
The
TCP分割転送装置3Bは、TCPパケットをTCP伝送装置1から受信し、複数のIP回線P1,P2,・・・,Pnの何れかを介して(nは2以上の任意の整数)、受信したTCPパケットを、このTCPパケットの宛先となるTCP伝送装置7に向けて転送するものである。
The TCP
ここで、TCP分割転送装置3Bは、複数のIP回線P1,P2,・・・,Pnを介して、TCP分割転送装置5Bと接続されている。そして、TCP分割転送装置3Bは、複数のIP回線P1,P2,・・・,Pnの中から、論理回線Lの上り方向に使用するIP回線Pを選択する。さらに、TCP分割転送装置3Bは、選択したIP回線Pを介して、TCP伝送装置1から受信したTCPパケットをTCP分割転送装置5Bに転送する。
なお、TCP分割転送装置3Bの構成については、後記する。
Here, the TCP
The configuration of the TCP
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
Here, the TCP
以下、論理回線L(図1参照)と、物理回線(IP回線P)との関係について説明する。
論理回線Lは、TCPパケットの転送に使用される上り方向のIP回線Pと、ACKの返送に使用される下り方向のIP回線Pとのペアで構成される。図1の論理回線L1を例にすると、論理回線L1の上り方向にIP回線P1を使用し、論理回線L1の下り方向にIP回線P2を使用するというように、IP回線P1,P2のペアで構成される。
また、論理回線Lは、上り方向および下り方向が共通するように、単一のIP回線Pで構成されてもよい。図1の論理回線L1を例にすると、論理回線L1の上り方向および下り方向にIP回線P1を使用するというように、単一のIP回線P1で構成される。
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(30A,301,302,・・・,30n)と、TCPパケット受信部31Bと、経路選択部33Bと、ACK制御部35Bと、TCPパケット送信部(ACKパケット送信部)37Bとを備える。
[Configuration of TCP split transfer device]
With reference to FIG. 6, the configuration of the TCP
As shown in FIG. 6, the TCP
IPインターフェース30(30A,301,302,・・・,30n)は、例えば、固有のIPアドレスが予め設定されたネットワークインターフェースである。また、IPインターフェース30(30A,301,302,・・・,30n)は、IP回線P(PA,P1,P2,・・・,Pn)にそれぞれ接続されている。
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インターフェース30Aは、TCP伝送装置1からTCP伝送装置7へ向けて送信されたTCPパケットを受信すると、TCPパケット受信部31Bに出力する。この場合、TCP伝送装置7に向けて送信されたTCPパケットの識別方法として、例えば、TCPパケットの宛先が、TCP伝送装置7のIPアドレスに一致するか否かを判定する方法が利用できる。
なお、第2実施形態では、TCP伝送装置1から受信したTCPパケットには、IPヘッダが付加されている。以後、IPヘッダが付加されたTCPパケットを、「オリジナルIPパケット」と呼ぶことがある。
Here,
In the second embodiment, an IP header is added to the TCP packet received from the
TCPパケット受信部31Bは、IPインターフェース30Aを介して、TCP伝送装置1によって送信されたオリジナルIPパケットを受信するものである。そして、TCPパケット受信部31Bは、受信したオリジナルIPパケットを経路選択部33Bに出力する。
TCP
経路選択部33Bは、複数のIP回線P1,P2,・・・,Pnの中から、TCPパケット受信部31Bによって受信されたオリジナルIPパケットが転送されるIP回線Pを所定の規則によって選択し、選択したIP回線Pを介して、カプセル化されたIPパケットをTCP伝送装置7に向けて転送すると共に、転送したIPパケットのシーケンス番号および選択論理回線の情報が含まれる転送情報を生成するものである。
ここで、経路選択部33Bは、図2の経路選択部33と同様の手法で、論理回線Lの上り方向に使用するIP回線Pを選択する。そして、経路選択部33Bは、オリジナルIPパケットをIPヘッダでカプセル化して、選択したIP回線Pに対応するIPインターフェース30に出力する。例えば、RFC1853で規定された「IP in IP Tunneling」を用いる場合、経路選択部33Bは、図7に示すように、オリジナルIPパケットをカプセル化する。
Here, the
図7の例では、経路選択部33Bは、バージョンを「4」、ヘッダ長を「5」、Type of Serviceを「0」に設定する。また、経路選択部33Bは、IPパケット長として、オリジナルIPパケットの長さに「20」を加算した値を設定する。また、経路選択部33Bは、例えば、プロトコル番号として、IPv4を意味する「4」を設定する。また、経路選択部33Bは、ヘッダチェックサムを、RFC791に規定された方法で算出して設定する。
In the example of FIG. 7, the
また、経路選択部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
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
Hereinafter, returning to FIG. 6, the description of the
また、経路選択部33Bは、TCP分割転送装置5Bに転送したオリジナルIPパケットのシーケンス番号と、選択論理回線の情報とを含む転送情報を生成する。そして、経路選択部33Bは、生成した転送情報をACK制御部35Bに出力する。
In addition, the
IPインターフェース301,302,・・・,30nは、経路選択部33Bから入力されたIPパケット(IPヘッダでカプセル化されたオリジナルIPパケット)を、それぞれに接続されたIP回線P1,P2,・・・,Pnを介して、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
また、IPインターフェース301,302,・・・,30nは、それぞれに接続されたIP回線P1,P2,・・・,Pnを介して、ACKパケット(図7と同様のIPヘッダでカプセル化されたACKパケット)をTCP伝送装置7から受信し、このACKパケットをACK制御部35Bに出力する。この場合、TCP伝送装置1へ向けて返送されたACKパケットの識別方法としては、例えばIPインターフェース301,302,・・・,30nのIPアドレスに宛先IPアドレスが一致し、オリジナルIPパケット内のIPヘッダにおいて、宛先IPアドレスがTCP伝送装置1のIPアドレスに一致するか否かを判定する方法が利用できる。
Also,
ACK制御部35Bは、遅延量設定部36を備えると共に、経路選択部33Bによって転送されたIPパケットへの応答であるACKパケットをTCP伝送装置7から受信し、受信したACKパケットをフィルタ(不図示)によって破棄または通過させものである。
The
ここで、ACK制御部35Bは、経路選択部33Bからの転送情報に基づいて論理回線Lの上り方向を判別し、受信したACKパケットのIPヘッダに基づいて論理回線Lの下り方向を判別する。言い換えるなら、ACK制御部35Bは、ACKパケットが返送されたIP回線Pを、論理回線Lの下り方向として判別する。そして、ACK制御部35Bは、図2のACK制御部35と同様にフィルタを設定し、このフィルタによって受信したACKパケットを破棄または通過させる。
Here, the
TCPパケット送信部37Bは、ACK制御部35Bが通過させたACKパケットを、IPインターフェース30Aを介して、TCP伝送装置1に送信するものである。この場合、IPインターフェース30Aは、ACK制御部35Bが通過させたACKパケットをTCP伝送装置1に送信する。
TCP
以上のように、TCP分割転送装置3Bは、図1のTCP分割転送装置3と同様、パケットロスが発生していないにも関わらず、TCPパケットの再送および輻輳ウィンドウの縮小が行われる事態を防止でき、TCP伝送のスループットを向上させることができる。また、TCP分割転送装置3Bは、IPヘッダでTCPパケットをカプセル化するため、IPで伝送する外部ネットワークNWを介して、TCPパケットをTCP伝送装置7に転送することができる。
As described above, the TCP
なお、第2実施形態では、IPインターフェース30(30A,301,302,・・・,30n)と、IP回線P(PA,P1,P2,・・・,Pn)とが1対1で対応することとして説明したが、本発明は、これに限定されない。例えば、TCP分割転送装置3Bは、IPインターフェース30Aを、IPインターフェースP1,P2,・・・,Pnの何れかと共用してもよい。また、例えば、TCP分割転送装置3Bは、IPインターフェースP1,P2,・・・,Pnが、少なくとも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
(第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
この第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
TCP分割転送装置3Cは、TCPパケットをTCP伝送装置1から受信し、複数のIP回線P1,P2,・・・,Pnの何れかを介して、受信したTCPパケットを、このTCPパケットの宛先となるTCP伝送装置7に向けて転送するものである。
ここで、TCP分割転送装置3Cは、複数のIP回線P1,P2,・・・,Pnの中から、論理回線Lの上り方向および下り方向に使用するIP回線Pを選択する。そして、TCP分割転送装置3Cは、戻り回線情報を格納したUDPヘッダでTCPパケットをカプセル化して、TCP分割転送装置5Cに転送する。
TCP
Here, TCP
TCP分割転送装置5Cは、TCP分割転送装置3Cと同一構成の装置である。
ここで、TCP分割転送装置5Cは、TCPパケットのUDPヘッダに格納された戻り回線情報から、論理回線Lの下り方向に使用するIP回線Pを判別する。そして、TCP分割転送装置5Cは、判別したIP回線Pを介して、このTCPパケットに対するACKパケットを返送する。
The TCP
Here, the TCP
[TCP分割転送装置の構成]
図6に戻り、TCP分割転送装置3Cの構成について、第2実施形態と異なる点を主に説明する(適宜図5参照)。
図6に示すように、TCP分割転送装置3Cは、IPインターフェース30(30A,301,302,・・・,30n)と、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
As shown in FIG. 6, the TCP
経路選択部33Cは、図2の経路選択部33と同様の手法で、論理回線Lの上り方向および下り方向に使用するIP回線Pを選択する。そして、経路選択部33Cは、オリジナルIPパケットをUDPヘッダでカプセル化して、選択したIP回線Pに対応するIPインターフェース30に出力する。例えば、RFC1853で規定された「IP in IP Tunneling」を用いる場合、経路選択部33Cは、図8に示すように、オリジナルIPパケットをカプセル化する。
The
図8の例では、経路選択部33Cは、バージョンを「4」、ヘッダ長を「5」、Type of Serviceを「0」に設定する。また、経路選択部33Cは、IPパケット長として、オリジナルIPパケットの長さに「36」を加算した値を設定する。また、経路選択部33Cは、例えば、プロトコル番号として、UDPを意味する「17」を設定する。また、経路選択部33Cは、ヘッダチェックサムを、RFC791に規定された方法で算出して設定する。
In the example of FIG. 8, the
また、経路選択部33Cは、送信元IPアドレスとして、選択したIP回線P(論理回線Lの上り方向)に対応するIPインターフェース30のIPアドレスを設定する。また、経路選択部33Cは、宛先IPアドレスとして、選択したIP回線P(論理回線Lの上り方向)において、下り方向の端に接続されたIPインターフェースのIPアドレスを設定する。言い換えるなら、宛先IPアドレスには、TCP分割転送装置5Cに備えられたIPインターフェース(不図示)のIPアドレスが設定される。
Further, the
また、経路選択部33Cは、送信元ポート番号および宛先ポート番号として、ユーザによって決定された値を設定する。また、経路選択部33Cは、UDPパケット長として、オリジナルIPパケットの長さに「16」を加算した値を設定する。また、経路選択部33Cは、チェックサムを、RFC768に規定された方法で算出して設定する。
Further, the
また、経路選択部33Cは、戻り回線送信元IPアドレスとして、選択したIP回線P(論理回線Lの下り方向)において、下り方向の端に接続されたIPインターフェースのIPアドレスを設定する。言い換えるなら、戻り回線送信元IPアドレスには、TCP分割転送装置5Cに備えられたIPインターフェースのIPアドレスが設定される。また、経路選択部33Cは、戻り回線宛先IPアドレスとして、選択したIP回線P(論理回線Lの下り方向)に対応するIPインターフェース30のIPアドレスを設定する。
Further, the
つまり、第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
Hereinafter, returning to FIG. 6, the description of the
また、経路選択部33Cは、TCP分割転送装置5Cに転送したオリジナルIPパケットのシーケンス番号と、選択したIP回線Pの情報とを含む転送情報を生成する。そして、経路選択部33Cは、生成した転送情報をACK制御部35Cに出力する。
Further, the
ACK制御部35Cは、経路選択部33Cからの転送情報に基づいて論理回線Lの上り方向および下り方向を判別する。そして、ACK制御部35Cは、図2のACK制御部35と同様にフィルタを設定し、このフィルタによって受信したACKパケットを破棄または通過させる。つまり、ACK制御部35Cは、ACKパケットの返送を待つことなく、フィルタを設定できる。
The
以上のように、TCP分割転送装置3Cは、TCP分割転送装置3Bと同様、パケットロスが発生していないにも関わらず、TCPパケットの再送および輻輳ウィンドウの縮小が行われる事態を防止でき、TCP伝送のスループットを向上させることができる。また、TCP分割転送装置3Cは、UDPヘッダでTCPパケットをカプセル化するため、UDPで伝送する外部ネットワークNWを介して、TCPパケットをTCP伝送装置7に転送することができる。
As described above, the TCP
(変形例3)
第3実施形態では、経路選択部33Cが論理回線Lの下り方向を選択することとして説明したが、これに限定されない。例えば、TCP分割転送装置5Cは、TCP分割転送装置3Cと同様の手法で論理回線Lの下り方向を予め選択しておき、これを戻り回線情報としてTCP分割転送装置3Cに予め通知してもよい。
(Modification 3)
In the third embodiment, the
この場合、ACK制御部35Cは、IPインターフェース301,302,・・・,30nを介して、TCP分割転送装置5Cから、戻り回線情報が格納されたIPパケットを受信する。そして、ACK制御部35Cは、受信したIPパケットに含まれる戻り回線情報を抽出して、経路選択部33Cに出力する。
In this case, the
経路選択部33Cは、前記した手法で、論理回線Lの上り方向に使用するIP回線Pを選択する。また、経路選択部33Cは、ACK制御部35Cからの戻り回線情報で指定されたIP回線Pを、論理回線Lの下り方向として使用する。
以上のように、TCP分割転送装置3Cは、TCP分割転送装置5Cから通知された戻り回線情報を使用して、TCP伝送を行うことができる。
The
As described above, the TCP
なお、各実施形態では、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,30A,301,302,・・・,30n 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,LA,LB,L1,L2,Lm 論理回線
P,PA,PB,P1,P2,Pn 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
5, 5B, 5C TCP
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パケットへの応答である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.
前記論理回線ごとに往復遅延時間を予め計測して、計測した当該往復遅延時間を前記論理回線遅延量として設定する遅延量設定手段、
をさらに備えることを特徴とする請求項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:
前記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.
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)
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 |
-
2010
- 2010-12-24 JP JP2010287136A patent/JP2012134907A/en active Pending
Cited By (4)
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 |