JP2005348107A - Data communication device - Google Patents

Data communication device Download PDF

Info

Publication number
JP2005348107A
JP2005348107A JP2004165625A JP2004165625A JP2005348107A JP 2005348107 A JP2005348107 A JP 2005348107A JP 2004165625 A JP2004165625 A JP 2004165625A JP 2004165625 A JP2004165625 A JP 2004165625A JP 2005348107 A JP2005348107 A JP 2005348107A
Authority
JP
Japan
Prior art keywords
data
transmission
buffer
communication
amount
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.)
Granted
Application number
JP2004165625A
Other languages
Japanese (ja)
Other versions
JP4510524B2 (en
Inventor
Teruyuki Hasegawa
輝之 長谷川
Toru Hasegawa
亨 長谷川
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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2004165625A priority Critical patent/JP4510524B2/en
Publication of JP2005348107A publication Critical patent/JP2005348107A/en
Application granted granted Critical
Publication of JP4510524B2 publication Critical patent/JP4510524B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Communication Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data communication device capable of avoiding a sharp increase in the data transmission delay between end-to-end terminals, and relieving the tightness of buffer capacity. <P>SOLUTION: A reception buffer 13a retains data received from a transmission terminal side. A TCP module 75 determines the amount of data Tbuf2 to be held between the data communication device and a reception terminal, based on a congestion window cwnd. And the TCP module 75 determines the amount of data that can be advertized to a transmission side, according to the amount of data that a transmission buffer 13b should hold. A PEP process 76 reads data from the reception buffer 13a until the reception buffer 13a becomes empty or the amount of data held by the transmission buffer 13b reaches Tbuf2, and stores the data into the transmission buffer 13b. The transmission buffer 13b temporarily holds the stored data. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、TCP/IP(Transmission Control Protocol/Internet Protocol)に基づいた通信を最適化するデータ通信装置に関する。   The present invention relates to a data communication apparatus that optimizes communication based on TCP / IP (Transmission Control Protocol / Internet Protocol).

インターネットにおいて信頼性のあるデータ転送を実現するためのプロトコルとして、TCPが広く使用されている。インターネットにおいては、ネットワークのトラヒックが増加することにより、有効な通信を行うことができなくなる輻輳状態が発生することがあり、輻輳状態にならないように通信を制御する輻輳制御に関する事項がTCPにおいて規定されている。また、TCPにおいては、送信側と受信側との間で行われる通信データ量の制御を行うフロー制御に関する事項も規定されている。   TCP is widely used as a protocol for realizing reliable data transfer on the Internet. In the Internet, there is a case where a congestion state in which effective communication cannot be performed due to an increase in network traffic occurs, and matters related to congestion control for controlling communication so as not to become a congestion state are defined in TCP. ing. In TCP, matters relating to flow control for controlling the amount of communication data performed between the transmission side and the reception side are also defined.

TCPに基づいたフロー制御および輻輳制御は、以下のような特徴を有する。
1.送信端末が確認応答(ACK:ACKnowledgement)なしに送信することができるデータ量(ウィンドウサイズ)が端末のTCP実装および設定に依存しており、常に十分なウィンドウサイズが確保される保証はない。
2.データ送信方向とは逆方向にACKを返送するための一定の回線帯域が必要である。
3.パケット紛失をネットワークの輻輳によるものと仮定し、パケットの紛失時にデータ送信レートを抑制してしまう。
このため、遅延の大きな回線や、ダウンリンクとアップリンクとの間で伝送速度が異なる非対称性の高い回線、伝送誤り率の大きな回線等においては、回線帯域を有効に利用することが困難であった。
The flow control and congestion control based on TCP have the following characteristics.
1. The amount of data (window size) that the transmitting terminal can transmit without an acknowledgment (ACK: ACKnowledgement) depends on the TCP implementation and settings of the terminal, and there is no guarantee that a sufficient window size is always secured.
2. A certain line bandwidth is required for returning the ACK in the direction opposite to the data transmission direction.
3. Assuming that packet loss is due to network congestion, the data transmission rate is suppressed when packets are lost.
For this reason, it is difficult to effectively use the line bandwidth in a line with a large delay, a line with a high asymmetry in which the transmission speed differs between the downlink and the uplink, a line with a large transmission error rate, and the like. It was.

これを解決するための一手法として、上記の特性を有する回線向けに最適化された各種のTCP通信中継装置(PEP:Performance Enhanced Proxy)装置を設置する手法が提案されている(例えば、特許文献1参照)。PEP装置の多くは、上記の特性を有する回線の両端あるいは送信端末側の端点に設置され、送信端末と受信端末との間でエンドエンドに確立されるTCPコネクションを明示的あるいは透過的に分割する。   As a technique for solving this problem, there has been proposed a technique of installing various TCP communication relay device (PEP: Performance Enhanced Proxy) devices optimized for a line having the above characteristics (for example, Patent Literature 1). Most PEP devices are installed at both ends of a line having the above-mentioned characteristics or at an end point on the transmitting terminal side, and explicitly or transparently divide the TCP connection established at the end end between the transmitting terminal and the receiving terminal. .

TCPコネクションの分割方式としては以下の2方式が一般的である。
1.送信端末−PEP装置間ならびにPEP装置−受信端末間の2つのTCPコネクションに分割する(2コネクション分割方式)。
2.送信端末−第1のPEP装置間、第1のPEP装置−第2のPEP装置間、ならびに第2のPEP装置−受信端末間の3つのTCPコネクション(2つのPEP装置間は独自のプロトコルの場合もある)に分割する(3コネクション分割方式)。
The following two methods are generally used as the TCP connection division method.
1. It is divided into two TCP connections between the transmission terminal and the PEP device and between the PEP device and the reception terminal (two-connection division method).
2. Three TCP connections between the sending terminal and the first PEP device, between the first PEP device and the second PEP device, and between the second PEP device and the receiving terminal (in the case of a unique protocol between the two PEP devices) (3 connection division method).

図3は、2コネクション分割方式による従来の通信システムの構成を示す概略構成図である。以下、図中の各構成について説明する。サーバ1は動画コンテンツデータ等のデータを、インターネット2を介して配信する。送信地球局3は、通信衛星4を介して加入者ネットワーク5と通信を行う。この送信地球局3は、上記のPEP装置としての役割を担うTCPゲートウェイ31、データ中継用のルータ32、および通信衛星4とデータの送受信を行うアンテナ33を備えている。加入者ネットワーク5は、通信衛星4とデータの送受信を行うアンテナ51、データ中継用のルータ52、およびサーバ1から動画コンテンツデータ等を受信するクライアント端末6を備えている。   FIG. 3 is a schematic configuration diagram showing a configuration of a conventional communication system using a two-connection division method. Hereinafter, each component in the figure will be described. The server 1 distributes data such as moving image content data via the Internet 2. The transmitting earth station 3 communicates with the subscriber network 5 via the communication satellite 4. The transmitting earth station 3 includes a TCP gateway 31 that plays the role of the PEP device, a router 32 for data relay, and an antenna 33 that transmits and receives data to and from the communication satellite 4. The subscriber network 5 includes an antenna 51 that transmits / receives data to / from the communication satellite 4, a router 52 for data relay, and a client terminal 6 that receives moving image content data from the server 1.

なお、サーバ1とTCPゲートウェイ31との間の伝送遅延は、TCPゲートウェイ31とクライアント端末6との間の伝送遅延よりも小さいものとする。すなわち、サーバ1とTCPゲートウェイ31との間の帯域幅遅延積は、TCPゲートウェイ31とクライアント端末6との間の帯域幅遅延積よりも大きいものとする。   It is assumed that the transmission delay between the server 1 and the TCP gateway 31 is smaller than the transmission delay between the TCP gateway 31 and the client terminal 6. That is, the bandwidth delay product between the server 1 and the TCP gateway 31 is greater than the bandwidth delay product between the TCP gateway 31 and the client terminal 6.

図4は、従来の通信システムによる通信のシーケンスを示している。図4(a)は、PEP装置を設けない場合の通信のシーケンスを示している。サーバによって送信されたデータ(DT)は、ルータを介してクライアント端末によって受信される。データを誤りなく受信した場合、クライアント端末はACKをサーバへ返信する。サーバはクライアント端末からACKが返信されるまで待機しており、クライアント端末からのACKを受信した場合に、次のデータを送信する。   FIG. 4 shows a communication sequence by the conventional communication system. FIG. 4A shows a communication sequence when no PEP device is provided. Data (DT) transmitted by the server is received by the client terminal via the router. If the data is received without error, the client terminal returns an ACK to the server. The server waits until an ACK is returned from the client terminal, and transmits the next data when receiving an ACK from the client terminal.

図4(b)は、図3に示される通信システムによる通信のシーケンスを示している。TCPゲートウェイ31はサーバ1からデータを受信し、クライアント端末6へデータを転送すると共に、このデータに対するACKを、クライアント端末6に代わって作成し、サーバ1へ送信する。サーバ1は、このACKを受信すると、クライアント端末6によってデータが正常に受信されたと判断し、次のデータを送信する。クライアント端末6はTCPゲートウェイ31からデータを受信し、そのデータに対応したACKを送信する。TCPゲートウェイ31はそのACKを受信するが、サーバ1への転送は行わない。   FIG. 4B shows a communication sequence by the communication system shown in FIG. The TCP gateway 31 receives data from the server 1, transfers the data to the client terminal 6, creates an ACK for this data on behalf of the client terminal 6, and transmits it to the server 1. When the server 1 receives this ACK, the server 1 determines that the data is normally received by the client terminal 6 and transmits the next data. The client terminal 6 receives data from the TCP gateway 31 and transmits an ACK corresponding to the data. The TCP gateway 31 receives the ACK, but does not transfer it to the server 1.

TCPゲートウェイ31は、クライアント端末6からデータの再送要求がなされた場合にデータを再送することができるようにするため、ACKを受信するまではデータを保持する。図3に示される通信システムによれば、TCPゲートウェイ31を設けたことにより、サーバ1におけるデータの送信からACKの到着までの時間を削減することができるので、サーバ1とクライアント端末6との間の通信を高速化することができる。   The TCP gateway 31 holds the data until an ACK is received so that the data can be retransmitted when a data retransmission request is made from the client terminal 6. According to the communication system shown in FIG. 3, since the TCP gateway 31 is provided, the time from the transmission of data to the arrival of ACK in the server 1 can be reduced. Communication can be speeded up.

図5は、3コネクション分割方式による従来の通信システムの構成を示す概略構成図である。図5においては、図4と同一の構成には同一の符号が付与されている。この通信システムにおいては、加入者ネットワーク5にTCPゲートウェイ53が設けられている。図6は、この通信システムによる通信のシーケンスを示している。TCPゲートウェイ31とTCPゲートウェイ53との間の通信は独自のプロトコルに基づいて行われる。図3に示される通信システムによる通信の場合と同様に、この通信システムによれば、サーバ1とクライアント端末6との間の通信を高速化することができる。
特開平11−252179号公報
FIG. 5 is a schematic configuration diagram showing a configuration of a conventional communication system using a three-connection division method. In FIG. 5, the same components as those in FIG. 4 are given the same reference numerals. In this communication system, a TCP gateway 53 is provided in the subscriber network 5. FIG. 6 shows a communication sequence by this communication system. Communication between the TCP gateway 31 and the TCP gateway 53 is performed based on a unique protocol. Similar to the communication by the communication system shown in FIG. 3, according to this communication system, the communication between the server 1 and the client terminal 6 can be speeded up.
Japanese Patent Laid-Open No. 11-252179

特に、遅延の大きい回線におけるTCP通信を高速化するためのPEP装置には、以下の動作が必要である。
1.送信端末から大量のパケットを先読みしてPEP装置内に蓄積する。
2.送信端末から先読みしたパケットを受信端末へ順次送信する。
3.ACKが返送されるまでパケットを保持する。
In particular, a PEP device for speeding up TCP communication on a line with a large delay requires the following operation.
1. A large number of packets are prefetched from the transmitting terminal and stored in the PEP device.
2. Packets prefetched from the transmitting terminal are sequentially transmitted to the receiving terminal.
3. Hold packet until ACK is returned.

図7は、これを実現するためのPEP装置の機能を階層的に示している。図において、送信端末側とPEP装置との間のコネクションをTCP connection #1とし、受信端末側とPEP装置との間のコネクションをTCP connection #2とする。NIC(Network Interface Card)81およびNIC82は、PEP装置の物理的なインタフェースである。   FIG. 7 hierarchically shows the functions of the PEP device for realizing this. In the figure, the connection between the transmitting terminal side and the PEP device is TCP connection # 1, and the connection between the receiving terminal side and the PEP device is TCP connection # 2. A NIC (Network Interface Card) 81 and a NIC 82 are physical interfaces of the PEP device.

ドライバ83は、NIC81および82と上位層とのデータの橋渡しを行う。IPモジュール84はIPを実行するソフトウェアである。TCPモジュール85はTCPを実行するソフトウェアである。ドライバ83、IPモジュール84、およびTCPモジュール85は、OS(Operating System)の中核部分をなすKernelによって管理される。PEPプロセス86は、PEP装置が実行するアプリケーションプログラムを制御する。   The driver 83 bridges data between the NICs 81 and 82 and the upper layer. The IP module 84 is software that executes IP. The TCP module 85 is software that executes TCP. The driver 83, the IP module 84, and the TCP module 85 are managed by Kernel, which is a core part of an OS (Operating System). The PEP process 86 controls application programs executed by the PEP device.

TCPモジュール85の機能の一つは、受信バッファ23aおよび送信バッファ23bの管理を行うことである。一般的なPEP実装においては、送信端末−PEP装置間には、一般的な(小さい)ウィンドウサイズに対応した受信バッファ23a(バッファサイズをRbufとする)が用意される。この受信バッファ23aは、送信端末側から受信されたデータを一時的に保持する。また、PEP装置−受信端末間には、大きなウィンドウサイズに対応した大容量の送信バッファ23b(バッファサイズをTbufとする)が用意される。この送信バッファ23bは、受信端末へ送信されるデータを一時的に保持する。   One of the functions of the TCP module 85 is to manage the reception buffer 23a and the transmission buffer 23b. In a general PEP implementation, a reception buffer 23a (buffer size is Rbuf) corresponding to a general (small) window size is prepared between a transmission terminal and a PEP device. The reception buffer 23a temporarily holds data received from the transmission terminal side. A large-capacity transmission buffer 23b (buffer size is Tbuf) corresponding to a large window size is prepared between the PEP device and the receiving terminal. The transmission buffer 23b temporarily holds data transmitted to the receiving terminal.

送信端末側から受信されたデータは、受信バッファ23aに格納される。PEPプロセス86は、受信バッファ23aが空になるか、送信バッファ23bが満杯となるまで、受信バッファ23aからデータを読み出して、送信バッファ23bに格納する。受信バッファ23aおよび23bのバッファサイズは固定的であり、PEP装置が送信端末に広告するウィンドウサイズ(Rwin)は、送信バッファ23bが満杯になるまで縮小しない。   Data received from the transmission terminal side is stored in the reception buffer 23a. The PEP process 86 reads data from the reception buffer 23a and stores it in the transmission buffer 23b until the reception buffer 23a becomes empty or the transmission buffer 23b becomes full. The buffer sizes of the reception buffers 23a and 23b are fixed, and the window size (Rwin) advertised by the PEP device to the transmission terminal is not reduced until the transmission buffer 23b is full.

特に遅延の大きい回線においては、回線帯域の変動や、低速受信端末・アプリケーションの存在、あるいは想定外のパケット紛失等により、受信端末への送信が滞る場合が考えられる。このような場合には、TCPコネクション単位で大量のパケット(受信バッファ23a+送信バッファ23b分)がPEP装置に滞留し、以下の問題が発生していた。
1.エンドエンドの端末間で予期しない転送遅延が発生する。
2.PEP装置内のバッファ容量が逼迫する。
In particular, in a line with a large delay, transmission to the receiving terminal may be delayed due to fluctuations in the line bandwidth, existence of low-speed receiving terminals and applications, or unexpected packet loss. In such a case, a large amount of packets (for reception buffer 23a + transmission buffer 23b) stays in the PEP device in units of TCP connections, causing the following problems.
1. An unexpected transfer delay occurs between end-to-end terminals.
2. The buffer capacity in the PEP device is tight.

本発明は、上述した問題点に鑑みてなされたものであって、エンドエンドの端末間での大幅なデータ転送遅延の増大を避けると共に、バッファ容量の逼迫を緩和することができるデータ通信装置を提供することを目的とする。   The present invention has been made in view of the above-described problems, and provides a data communication device capable of avoiding a significant increase in data transfer delay between end-to-end terminals and alleviating buffer capacity tightness. The purpose is to provide.

本発明は上記の課題を解決するためになされたもので、請求項1に記載の発明は、データ通信を行う送信装置および受信装置の間に設けられ、前記送信装置および前記受信装置の間で行われるデータ通信を高速化するデータ通信装置において、前記送信装置によって送信されたデータを受信する受信手段と、前記受信手段によって受信された前記データを前記受信装置へ送信する送信手段と、前記受信手段によって受信された前記データを保持する受信データ保持手段と、前記送信手段によって送信される送信待ちの前記データを保持する送信データ保持手段と、前記受信データ保持手段から前記データを読み出して、前記送信データ保持手段に格納するデータ格納手段と、前記受信装置との通信における通信制御に用いられる通信制御変数の値に応じて、前記送信データ保持手段が保持するデータ量を決定するデータ量決定手段とを具備することを特徴とするデータ通信装置である。   The present invention has been made to solve the above problems, and the invention according to claim 1 is provided between a transmission device and a reception device that perform data communication, and is provided between the transmission device and the reception device. In a data communication device that speeds up data communication to be performed, a receiving unit that receives data transmitted by the transmitting device, a transmitting unit that transmits the data received by the receiving unit to the receiving device, and the reception Receiving data holding means for holding the data received by the means, transmission data holding means for holding the data waiting for transmission transmitted by the transmitting means, and reading the data from the received data holding means, Communication control variable used for communication control in communication between data storing means for storing in transmission data holding means and said receiving device Depending on the value, the transmission data holding unit is a data communication apparatus characterized by comprising a data amount determination means for determining an amount of data to be held.

請求項2に記載の発明は、請求項1に記載のデータ通信装置において、前記データ量決定手段はさらに、前記通信制御変数の値に応じて、前記受信データ保持手段が新たに保持することができるデータ量を決定することを特徴とする。   According to a second aspect of the present invention, in the data communication device according to the first aspect, the data amount determining means may be further held by the received data holding means in accordance with a value of the communication control variable. It is characterized by determining the amount of data that can be generated.

請求項3に記載の発明は、請求項1に記載のデータ通信装置において、前記データ量決定手段はさらに、前記送信データ保持手段が保持するデータ量に応じて、前記受信データ保持手段が新たに保持することができるデータ量を決定することを特徴とする。   According to a third aspect of the present invention, in the data communication device according to the first aspect, the data amount determining means further includes a new reception data holding means according to a data amount held by the transmission data holding means. It is characterized by determining the amount of data that can be held.

請求項4に記載の発明は、請求項1〜請求項3のいずれかの項に記載のデータ通信装置において、前記通信制御変数は、輻輳ウィンドウであることを特徴とする。   According to a fourth aspect of the present invention, in the data communication apparatus according to any one of the first to third aspects, the communication control variable is a congestion window.

本発明によれば、送信待ちのデータを保持する送信データ保持手段が保持するデータ量を、通信制御変数の値に基づいて決定するようにしたので、エンドエンドの端末間での大幅なデータ転送遅延の増大を避けると共に、バッファ容量の逼迫を緩和することができるという効果が得られる。   According to the present invention, the amount of data held by the transmission data holding means holding the data waiting for transmission is determined based on the value of the communication control variable, so that a large amount of data transfer between end-end terminals can be achieved. There is an effect that an increase in delay can be avoided and the buffer capacity can be alleviated.

以下、図面を参照し、本発明を実施するための最良の形態について説明する。本実施形態においては、2コネクション分割方式による通信システムにおいて用いられるデータ通信装置(PEP装置)を想定するものとする。本実施形態によるデータ通信装置は、例えば文献(T.Hasegawa、他2名,「TCP Gateway for Satellite−based Internet Service Considering Accommodation of Multiple Customers」,情報処理学会論文誌,社団法人情報処理学会,第43巻,第12号,p.3869−3877)に記載されたTCP−Vegasベースの輻輳制御を行う。   The best mode for carrying out the present invention will be described below with reference to the drawings. In the present embodiment, a data communication device (PEP device) used in a communication system based on the two-connection division method is assumed. The data communication apparatus according to the present embodiment is, for example, a document (T. Hasegawa, two others, “TCP Gateway for Satellite-based Internet Consuming of Multiple Customers”, Information Processing Society of Japan, Journal of Information Processing Society of Japan, 43. Vol. 12, No. 12, p. 3869-3877), which performs TCP-Vegas based congestion control.

図1は、本発明の一実施形態によるデータ通信装置の機能を階層的に示している。図において、送信端末側とPEP装置との間のコネクションをTCP connection #1とし、受信端末側とPEP装置との間のコネクションをTCP connection #2とする。NIC71およびNIC72は、このデータ通信装置の物理的なインタフェースである。   FIG. 1 hierarchically shows functions of a data communication apparatus according to an embodiment of the present invention. In the figure, the connection between the transmitting terminal side and the PEP device is TCP connection # 1, and the connection between the receiving terminal side and the PEP device is TCP connection # 2. The NIC 71 and the NIC 72 are physical interfaces of this data communication apparatus.

ドライバ73は、NIC71および72と上位層とのデータの橋渡しを行う。IPモジュール74はIPを実行するソフトウェアである。TCPモジュール75(データ量決定手段)はTCPを実行するソフトウェアである。特に、TCPモジュール75は受信バッファ13a(受信データ保持手段)および送信バッファ13b(送信データ保持手段)の管理ならびに輻輳制御を行う。ドライバ73、IPモジュール74、およびTCPモジュール75は、OSの中核部分をなすKernelによって管理される。PEPプロセス76(データ格納手段)は、データ通信装置が実行するアプリケーションプログラムを制御する。   The driver 73 bridges data between the NICs 71 and 72 and the upper layer. The IP module 74 is software that executes IP. The TCP module 75 (data amount determining means) is software that executes TCP. In particular, the TCP module 75 performs management and congestion control of the reception buffer 13a (reception data holding means) and the transmission buffer 13b (transmission data holding means). The driver 73, the IP module 74, and the TCP module 75 are managed by Kernel which is a core part of the OS. The PEP process 76 (data storage means) controls an application program executed by the data communication apparatus.

TCPモジュール75は、送信バッファ13bがデータ通信装置と受信端末との間で保持すべきデータ量Tbuf2(送信バッファ13bによって既に保持されているデータ量と、PEPプロセス76が送信バッファ13bに新たに書き込むことができるデータ量との和)を、輻輳制御に用いられる輻輳制御変数(通信制御変数)である輻輳ウィンドウcwndに基づいて決定する。TCPモジュール75は、データ通信装置−受信端末間の遅延変動等に応じて、輻輳ウィンドウcwndを増減させる。例えば、TCPモジュール75は、データ通信装置−受信端末間の遅延を測定し、遅延が増加した場合に輻輳ウィンドウcwndを減少させる。あるいは、受信端末側へ送信されたパケットが紛失した場合に、輻輳ウィンドウcwndを減少させる。このように輻輳ウィンドウcwndには、TCP connection #2における送信レートの変動が反映される。TCPモジュール75は、送信バッファ13bが保持するデータ量Tbuf2を、以下の式に基づいて決定する。
Tbuf2=C×cwnd ・・・(1)
ただし、Cは正の定数(デフォルト値:2)であるとする。
The TCP module 75 has a data amount Tbuf2 that the transmission buffer 13b should hold between the data communication apparatus and the receiving terminal (the data amount already held by the transmission buffer 13b and the PEP process 76 newly writes the data to the transmission buffer 13b. Is determined based on a congestion window cwnd which is a congestion control variable (communication control variable) used for congestion control. The TCP module 75 increases or decreases the congestion window cwnd according to a delay variation between the data communication device and the receiving terminal. For example, the TCP module 75 measures the delay between the data communication apparatus and the receiving terminal, and decreases the congestion window cwnd when the delay increases. Alternatively, the congestion window cwnd is decreased when a packet transmitted to the receiving terminal side is lost. In this way, the congestion window cwnd reflects the change in the transmission rate in the TCP connection # 2. The TCP module 75 determines the data amount Tbuf2 held by the transmission buffer 13b based on the following equation.
Tbuf2 = C × cwnd (1)
Note that C is a positive constant (default value: 2).

また、TCPモジュール75は、送信端末に対して広告する受信ウィンドウサイズ(Rwin:受信バッファ13aが新たに保持することができるデータ量)を以下の式に基づいて決定する。
Rwin=min(max(0,Tbuf2−DTsum),Rbuf) ・・・(2)
ただし、min(X,Y)=X(X≦Y)、min(X,Y)=Y(X>Y)、max(X,Y)=Y(X≦Y)、min(X,Y)=X(X>Y)である。
Further, the TCP module 75 determines the reception window size (Rwin: the amount of data that can be newly held by the reception buffer 13a) to be advertised to the transmission terminal based on the following equation.
Rwin = min (max (0, Tbuf2-DTsum), Rbuf) (2)
However, min (X, Y) = X (X ≦ Y), min (X, Y) = Y (X> Y), max (X, Y) = Y (X ≦ Y), min (X, Y) = X (X> Y).

DTsumは、送信バッファ13bが現在保持しているデータ量である。このデータ量は、データ通信装置−受信端末間において、ACKが返送されるまで送信バッファ13bに保持されている送信済みのデータパケット、およびこれから送信される送信待ちのデータパケットの総量(蓄積パケット量)を表している。また、Rbufは受信バッファ量(送信端末に対して広告可能なウィンドウサイズの最大値)を表す。このように、受信ウィンドウサイズRwinは、送信バッファ13bが保持すべきデータ量Tbuf2に基づいて決定される。すなわち、輻輳ウィンドウcwndの値が、送信端末−データ通信装置間の受信ウィンドウサイズRwinに反映される。   DTsum is the amount of data currently held in the transmission buffer 13b. This data amount is the total amount of data packets that have been transmitted and are waiting to be transmitted from now on until the ACK is returned between the data communication device and the receiving terminal (the amount of stored packets). ). Rbuf represents the reception buffer amount (the maximum value of the window size that can be advertised to the transmission terminal). Thus, the reception window size Rwin is determined based on the data amount Tbuf2 that the transmission buffer 13b should hold. That is, the value of the congestion window cwnd is reflected in the reception window size Rwin between the transmission terminal and the data communication device.

次に、上記のデータ通信装置の動作について説明する。TCPコネクション(TCP connection #1およびTCP connection #2)が確立すると、、送信端末から送信されたデータがNIC71を介して入力される。このデータは、ドライバ73によって上位層に渡され、IPモジュール74によって処理される。続いて、データはTCPモジュール75に渡され、TCPモジュール75は、このデータの誤りを検査し、データに誤りがなかった場合、データを受信バッファ13aに格納すると共に、ACKを作成する。このACKは、IPモジュール74、ドライバ73、およびNIC71を介して送信端末へ送信される。   Next, the operation of the data communication apparatus will be described. When the TCP connection (TCP connection # 1 and TCP connection # 2) is established, the data transmitted from the transmission terminal is input via the NIC 71. This data is passed to the upper layer by the driver 73 and processed by the IP module 74. Subsequently, the data is passed to the TCP module 75, and the TCP module 75 checks the error of the data, and if there is no error in the data, stores the data in the reception buffer 13a and creates an ACK. This ACK is transmitted to the transmission terminal via the IP module 74, the driver 73, and the NIC 71.

TCPモジュール75は、受信端末側の遅延変動等に応じて輻輳ウィンドウcwndを決定し、(1)式に基づいて、送信バッファ13bが保持すべきデータ量Tbuf2を決定する。また、(2)式に基づいて、送信側に広告する受信バッファサイズRwinを決定する。PEPプロセス76は、受信バッファ13aが空になるか、送信バッファ13bによって保持されるデータ量がTbuf2となるまで、受信バッファ13aからデータを読み出し、送信バッファ13bに格納する。   The TCP module 75 determines the congestion window cwnd according to the delay variation on the receiving terminal side, and determines the data amount Tbuf2 that the transmission buffer 13b should hold based on the equation (1). Further, the reception buffer size Rwin to be advertised to the transmission side is determined based on the equation (2). The PEP process 76 reads data from the reception buffer 13a and stores it in the transmission buffer 13b until the reception buffer 13a becomes empty or the amount of data held by the transmission buffer 13b reaches Tbuf2.

TCPモジュール75は、送信バッファ13bからデータを読み出し、IPモジュール74、ドライバ73、およびNIC72を介して受信端末へデータを送信する。受信端末へ送信されるデータはTCPモジュール75によってコピーされ、受信端末からACKが返信されるまでの間、送信バッファ13bによって保持される。受信端末からのACKが受信された場合、TCPモジュール75は、そのACKに対応した送信バッファ13b中のデータを削除する。   The TCP module 75 reads data from the transmission buffer 13 b and transmits the data to the receiving terminal via the IP module 74, the driver 73, and the NIC 72. The data transmitted to the receiving terminal is copied by the TCP module 75 and held by the transmission buffer 13b until ACK is returned from the receiving terminal. When the ACK from the receiving terminal is received, the TCP module 75 deletes the data in the transmission buffer 13b corresponding to the ACK.

次に、上記の機能および動作を実現するデータ通信装置のハードウェア構成について説明する。図2は、本実施形態によるデータ通信装置の構成を示すブロック図である。以下、図中の各構成について説明する。I/F部10aおよび10bは、データが入出力されるインタフェースであり、図1におけるNIC71および72に相当する構成である。送受信部11(送信手段、受信手段)は、データの送受信に係る処理を行い、図1におけるドライバ73およびIPモジュール74に相当する機能を有する。   Next, a hardware configuration of the data communication apparatus that realizes the above functions and operations will be described. FIG. 2 is a block diagram showing the configuration of the data communication apparatus according to the present embodiment. Hereinafter, each component in the figure will be described. The I / F units 10a and 10b are interfaces through which data is input and output, and have a configuration corresponding to the NICs 71 and 72 in FIG. The transmission / reception unit 11 (transmission means, reception means) performs processing related to data transmission / reception and has functions corresponding to the driver 73 and the IP module 74 in FIG.

バッファ/ウィンドウ管理部12(データ量決定手段、データ格納手段)は、TCPモジュール75、およびPEPプロセス76の一部に相当する機能を有する。特に、バッファ/ウィンドウ管理部12は、バッファ13の管理を行うと共に、TCPに基づいた輻輳制御、フロー制御、および誤り制御(データ中の誤りの検査およびACKの作成等)等を行う。バッファ13は、図1における受信バッファ13aおよび送信バッファ13bを含むバッファであり、受信されたデータを一時的に記憶する。   The buffer / window management unit 12 (data amount determination means, data storage means) has a function corresponding to a part of the TCP module 75 and the PEP process 76. In particular, the buffer / window management unit 12 manages the buffer 13, and performs congestion control, flow control, error control (inspection of errors in data, creation of ACK, etc.), and the like. The buffer 13 is a buffer including the reception buffer 13a and the transmission buffer 13b in FIG. 1, and temporarily stores received data.

なお、本実施形態においては、2コネクション分割方式による通信システムへの適用を想定して説明を行ったが、本実施形態によるデータ通信装置を3コネクション分割方式による通信システムに適用した場合も同様である。また、本実施形態のデータ通信装置はTCP−Vegasベースの輻輳制御を行うとしたが、このデータ通信装置に他のTCP(TCP−Reno等)を適用してもよい。また、(1)式における定数Cの値は2に限定されるものではなく、他の固定値を用いてもよいし、輻輳ウィンドウcwnd等に応じて値が変化する値であってもよい。   In this embodiment, the description has been made on the assumption that it is applied to a communication system using the two-connection division method. is there. The data communication apparatus according to the present embodiment performs TCP-Vegas-based congestion control. However, another TCP (TCP-Reno or the like) may be applied to the data communication apparatus. Further, the value of the constant C in the expression (1) is not limited to 2, but another fixed value may be used, or a value that changes depending on the congestion window cwnd or the like.

上述したように、本実施形態において、TCPモジュール75(バッファ/ウィンドウ管理部12)は、送信バッファ13bが保持するデータ量Tbuf2を、受信端末との通信における通信制御に用いられる輻輳ウィンドウcwndの値に応じて決定する。この場合、TCPモジュール75は、輻輳ウィンドウcwndが増加した場合には、Tbuf2を増加させ、輻輳ウィンドウcwndが減少した場合には、Tbuf2を減少させる。これにより、受信端末側で大きな遅延が発生しているにも関わらず、データ通信装置がデータを大量に蓄積するということがなくなるので、エンドエンドの端末間における予期しない転送遅延の発生を避けることができる。また、バッファ容量の逼迫を緩和することもできる。   As described above, in this embodiment, the TCP module 75 (buffer / window management unit 12) uses the data amount Tbuf2 held by the transmission buffer 13b as the value of the congestion window cwnd used for communication control in communication with the receiving terminal. To be decided. In this case, the TCP module 75 increases Tbuf2 when the congestion window cwnd increases, and decreases Tbuf2 when the congestion window cwnd decreases. As a result, the data communication device does not accumulate a large amount of data in spite of the occurrence of a large delay on the receiving terminal side, so avoid an unexpected transfer delay between end-to-end terminals. Can do. In addition, the buffer capacity can be alleviated.

また、送信バッファ13bが保持すべきデータ量Tbuf2(または輻輳ウィンドウcwnd)に応じて、受信バッファ13aが新たに保持することができるデータ量をTCPモジュール75(バッファ/ウィンドウ管理部12)が決定することにより、上記の効果をより高めることができる。本実施形態によるデータ通信装置は、特に、無線通信路のように遅延の大きな回線や、非対称性の高い回線、伝送誤り率の大きな回線等に好適である。   Further, the TCP module 75 (buffer / window management unit 12) determines the data amount that can be newly held by the reception buffer 13a according to the data amount Tbuf2 (or the congestion window cwnd) to be held by the transmission buffer 13b. Thereby, said effect can be heightened more. The data communication apparatus according to the present embodiment is particularly suitable for a line having a large delay, a line having a high asymmetry, a line having a large transmission error rate, and the like such as a wireless communication path.

以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成はこれらの実施の形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。   As described above, the embodiments of the present invention have been described in detail with reference to the drawings, but the specific configuration is not limited to these embodiments, and includes design changes and the like within a scope not departing from the gist of the present invention. It is.

本発明の一実施形態によるデータ通信装置の機能を示す参考図である。It is a reference figure showing the function of the data communication device by one embodiment of the present invention. 同実施形態によるデータ通信装置の構成を示すブロック図である。It is a block diagram which shows the structure of the data communication apparatus by the embodiment. 従来の通信システムの概略構成を示す概略構成図である。It is a schematic block diagram which shows schematic structure of the conventional communication system. 従来の通信システムによる通信のシーケンスを示す参考図である。It is a reference figure which shows the sequence of communication by the conventional communication system. 従来の通信システムの概略構成を示す概略構成図である。It is a schematic block diagram which shows schematic structure of the conventional communication system. 従来の通信システムによる通信のシーケンスを示す参考図である。It is a reference figure which shows the sequence of communication by the conventional communication system. 従来のPEP装置の機能を示す参考図である。It is a reference figure which shows the function of the conventional PEP apparatus.

符号の説明Explanation of symbols

1・・・サーバ、2・・・インターネット、3・・・送信地球局、4・・・通信衛星、5・・・加入者ネットワーク、6・・・クライアント端末、10a,10b・・・I/F部、11・・・送受信部、12・・・バッファ/ウィンドウ管理部、13・・・バッファ、13a,23a・・・受信バッファ、13b,23b・・・送信バッファ、31,53・・・TCPゲートウェイ、32,52・・・ルータ、33,51・・・アンテナ、71,72,81,82・・・NIC、73,83・・・ドライバ、74,84・・・IPモジュール、75,85・・・TCPモジュール、76,86・・・PEPプロセス。
DESCRIPTION OF SYMBOLS 1 ... Server, 2 ... Internet, 3 ... Transmitting earth station, 4 ... Communication satellite, 5 ... Subscriber network, 6 ... Client terminal, 10a, 10b ... I / F part, 11 ... transmission / reception part, 12 ... buffer / window management part, 13 ... buffer, 13a, 23a ... reception buffer, 13b, 23b ... transmission buffer, 31, 53 ... TCP gateway, 32, 52 ... router, 33, 51 ... antenna, 71, 72, 81, 82 ... NIC, 73, 83 ... driver, 74, 84 ... IP module, 75, 85: TCP module, 76, 86: PEP process.

Claims (4)

データ通信を行う送信装置および受信装置の間に設けられ、前記送信装置および前記受信装置の間で行われるデータ通信を高速化するデータ通信装置において、
前記送信装置によって送信されたデータを受信する受信手段と、
前記受信手段によって受信された前記データを前記受信装置へ送信する送信手段と、
前記受信手段によって受信された前記データを保持する受信データ保持手段と、
前記送信手段によって送信される送信待ちの前記データを保持する送信データ保持手段と、
前記受信データ保持手段から前記データを読み出して、前記送信データ保持手段に格納するデータ格納手段と、
前記受信装置との通信における通信制御に用いられる通信制御変数の値に応じて、前記送信データ保持手段が保持するデータ量を決定するデータ量決定手段と、
を具備することを特徴とするデータ通信装置。
In a data communication apparatus that is provided between a transmission apparatus and a reception apparatus that perform data communication, and that speeds up data communication performed between the transmission apparatus and the reception apparatus,
Receiving means for receiving data transmitted by the transmitting device;
Transmitting means for transmitting the data received by the receiving means to the receiving device;
Received data holding means for holding the data received by the receiving means;
Transmission data holding means for holding the data waiting for transmission transmitted by the transmission means;
Data storage means for reading the data from the received data holding means and storing it in the transmission data holding means;
Data amount determining means for determining a data amount held by the transmission data holding means according to a value of a communication control variable used for communication control in communication with the receiving device;
A data communication apparatus comprising:
前記データ量決定手段はさらに、前記通信制御変数の値に応じて、前記受信データ保持手段が新たに保持することができるデータ量を決定することを特徴とする請求項1に記載のデータ通信装置。   2. The data communication apparatus according to claim 1, wherein the data amount determining unit further determines a data amount that can be newly held by the received data holding unit in accordance with a value of the communication control variable. . 前記データ量決定手段はさらに、前記送信データ保持手段が保持するデータ量に応じて、前記受信データ保持手段が新たに保持することができるデータ量を決定することを特徴とする請求項1に記載のデータ通信装置。   2. The data amount determination unit further determines a data amount that can be newly held by the reception data holding unit according to a data amount held by the transmission data holding unit. Data communication equipment. 前記通信制御変数は、輻輳ウィンドウであることを特徴とする請求項1〜請求項3のいずれかの項に記載のデータ通信装置。

The data communication apparatus according to any one of claims 1 to 3, wherein the communication control variable is a congestion window.

JP2004165625A 2004-06-03 2004-06-03 Data communication device Expired - Fee Related JP4510524B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004165625A JP4510524B2 (en) 2004-06-03 2004-06-03 Data communication device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004165625A JP4510524B2 (en) 2004-06-03 2004-06-03 Data communication device

Publications (2)

Publication Number Publication Date
JP2005348107A true JP2005348107A (en) 2005-12-15
JP4510524B2 JP4510524B2 (en) 2010-07-28

Family

ID=35500066

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004165625A Expired - Fee Related JP4510524B2 (en) 2004-06-03 2004-06-03 Data communication device

Country Status (1)

Country Link
JP (1) JP4510524B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013014963A1 (en) 2011-07-26 2013-01-31 株式会社日立製作所 Communication device
WO2019244966A1 (en) * 2018-06-22 2019-12-26 日本電気株式会社 Communication device, communication method, and program

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07250100A (en) * 1994-03-09 1995-09-26 Kokusai Denshin Denwa Co Ltd <Kdd> Mutual communication system between lans using wide area network and mutual connection device used therefor
JPH07273828A (en) * 1994-03-28 1995-10-20 Nippon Telegr & Teleph Corp <Ntt> Repeater of data communication system and its repeating method
JPH07273829A (en) * 1994-03-28 1995-10-20 Nippon Telegr & Teleph Corp <Ntt> Repeater for data communication system and its repeating method
JPH10247944A (en) * 1997-03-05 1998-09-14 Kokusai Denshin Denwa Co Ltd <Kdd> Relay controller and its method
JPH11252179A (en) * 1998-03-05 1999-09-17 Kdd Corp Tcp communication high speed device for asymmetrical line
JP2000209224A (en) * 1999-01-18 2000-07-28 Chokosoku Network Computer Gijutsu Kenkyusho:Kk Flow control method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07250100A (en) * 1994-03-09 1995-09-26 Kokusai Denshin Denwa Co Ltd <Kdd> Mutual communication system between lans using wide area network and mutual connection device used therefor
JPH07273828A (en) * 1994-03-28 1995-10-20 Nippon Telegr & Teleph Corp <Ntt> Repeater of data communication system and its repeating method
JPH07273829A (en) * 1994-03-28 1995-10-20 Nippon Telegr & Teleph Corp <Ntt> Repeater for data communication system and its repeating method
JPH10247944A (en) * 1997-03-05 1998-09-14 Kokusai Denshin Denwa Co Ltd <Kdd> Relay controller and its method
JPH11252179A (en) * 1998-03-05 1999-09-17 Kdd Corp Tcp communication high speed device for asymmetrical line
JP2000209224A (en) * 1999-01-18 2000-07-28 Chokosoku Network Computer Gijutsu Kenkyusho:Kk Flow control method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013014963A1 (en) 2011-07-26 2013-01-31 株式会社日立製作所 Communication device
US8811419B2 (en) 2011-07-26 2014-08-19 Hitachi, Ltd. Communication device
WO2019244966A1 (en) * 2018-06-22 2019-12-26 日本電気株式会社 Communication device, communication method, and program
JPWO2019244966A1 (en) * 2018-06-22 2021-06-24 日本電気株式会社 Communication equipment, communication methods and programs
US11588736B2 (en) 2018-06-22 2023-02-21 Nec Corporation Communication apparatus, communication method, and program

Also Published As

Publication number Publication date
JP4510524B2 (en) 2010-07-28

Similar Documents

Publication Publication Date Title
US6091733A (en) Communication device using communication protocol including transport layer and communication method using communication protocol including transport layer
US5519699A (en) Method of protocol termination and a packet data communication system applied the method
US7912064B2 (en) System and method for handling out-of-order frames
AU2004272192B2 (en) Internet protocol optimizer
US7397800B2 (en) Method and system for data placement of out-of-order (OOO) TCP segments
JP5020076B2 (en) High performance TCP suitable for low frequency ACK system
CN112583874B (en) Message forwarding method and device of heterogeneous network
US7139268B1 (en) Performance of intermediate nodes with flow splicing
US11743192B2 (en) Managing transmission control protocol (TCP) traffic
US7957409B2 (en) Methods and devices for transmitting data between storage area networks
US9509450B2 (en) Snoop virtual receiver time
US20070291782A1 (en) Acknowledgement filtering
US8578040B2 (en) Method, system and article for client application control of network transmission loss tolerance
Farber et al. Thinwire protocol for connecting personal computers to the Internet
JP4229807B2 (en) Data transfer method, TCP proxy device, and network system using the same
EP1460804B1 (en) System and method for handling out-of-order frames (fka reception of out-of-order tcp data with zero copy service)
JP4510524B2 (en) Data communication device
US6742041B1 (en) Method for improving performance in computer networks based on lossy channels
Ha et al. On the characteristics of TCP/NC tunneling in heterogeneous environments
JP2020043486A (en) Communication device, communication device control method, and program
CN117692389A (en) RDMA message information retransmission method, device, electronic equipment and storage medium
CN115632748A (en) Data processing method and device, electronic equipment and storage medium
Farber et al. RFC0914: Thinwire protocol for connecting personal computers to the Internet
JPH11205332A (en) Data transfer system and method
JP2006067132A (en) Congestion control system of communication based on tcp, router, congestion control method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070309

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071011

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071011

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090721

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090917

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100423

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100430

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4510524

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees