JP2024049593A - TCP communication device, method and program - Google Patents

TCP communication device, method and program Download PDF

Info

Publication number
JP2024049593A
JP2024049593A JP2022155902A JP2022155902A JP2024049593A JP 2024049593 A JP2024049593 A JP 2024049593A JP 2022155902 A JP2022155902 A JP 2022155902A JP 2022155902 A JP2022155902 A JP 2022155902A JP 2024049593 A JP2024049593 A JP 2024049593A
Authority
JP
Japan
Prior art keywords
packets
communication device
packet
retransmission threshold
tcp communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022155902A
Other languages
Japanese (ja)
Inventor
陽登 鈴木
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 JP2022155902A priority Critical patent/JP2024049593A/en
Publication of JP2024049593A publication Critical patent/JP2024049593A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】通信状況に応じた適切な再送閾値を設定できるTCP通信装置を提供する。【解決手段】送信側から順次、送信されるパケットを受信側として受信するTCP通信装置において、直近に受信している所定数のパケットの各々から、パケット到着順番の入れ替わり度合いを算出する第1処理2,3と、前記所定数のパケットにおける入れ替わり度合いの統計値に基づいて、前記送信側が前記受信側から重複ACKを受け取った回数が再送閾値に到達した場合に、前記送信側がパケット再送を行う判断を行うための、当該再送閾値を決定する第2処理4と、を実行することを特徴とする。【選択図】図1[Problem] To provide a TCP communication device capable of setting an appropriate retransmission threshold according to the communication situation. [Solution] A TCP communication device that receives packets transmitted in sequence from a transmitting side as a receiving side is characterized by executing a first process 2, 3 for calculating the degree of change in the arrival order of packets from each of a predetermined number of packets most recently received, and a second process 4 for determining a retransmission threshold based on a statistical value of the degree of change in the arrival order of the predetermined number of packets, so that the transmitting side can determine whether to retransmit a packet when the number of times the transmitting side has received duplicate ACKs from the receiving side reaches the retransmission threshold. [Selected Figure] Figure 1

Description

本発明は、TCP通信装置、方法及びプログラムに関する。 The present invention relates to a TCP communication device, method, and program.

非特許文献1は、TCP(伝送制御プロトコル)の高速再送について規定するものである。TCPは通常、重複ACK(確認応答)を3回受け取ったら、タイムアウトを待たずに再送を行う。 Non-patent document 1 specifies fast retransmission for TCP (Transmission Control Protocol). Normally, if TCP receives three duplicate ACKs (acknowledgements), it will retransmit without waiting for a timeout.

"RFC 5681 - TCP Congestion Control", September 2009"RFC 5681 - TCP Congestion Control", September 2009

しかしながら、従来技術では例えば上記3回のように、再送閾値を固定的に設定しているため、以下のような状況に対して適切な処理が行われるものではなかった。 However, in conventional technology, the retransmission threshold is set to a fixed value, such as three times, and appropriate processing is not possible in the following situations:

6G時代においては、1ユーザ通信の大容量化(100Gbpsクラス)が期待される。このような通信の大容量化につれて、帯域確保のためのマルチパス通信の活用が期待される。ただし、通信をマルチパス化するほど、パケットの順序違い発生のリスクが増加する。 In the 6G era, it is expected that the capacity of single-user communications will increase (100Gbps class). As the capacity of communications increases, it is expected that multipath communications will be used to secure bandwidth. However, the more multipath communications are used, the greater the risk of packets being sent out of order.

しかし、TCPでは通常、前述の通り重複するACKを3回受け取ったらロスが発生したとみなして再送を行い、輻輳制御アルゴリズムの種類によっては輻輳ウインドウサイズを減少させる。つまり、あるパケットを3つのパケットが追い越すだけで、ロスとみなされてしまう。大容量通信の速度要件達成のために、通信路を4本、5本、…と増やしていくにつれて、このような再送処理は簡単に発生してしまう恐れがある。 However, as mentioned above, TCP normally assumes that a loss has occurred if it receives three duplicate ACKs, and performs a retransmission, and depending on the type of congestion control algorithm, reduces the congestion window size. In other words, even if three packets overtake a packet, it is considered a loss. As the number of communication paths is increased to four, five, etc. in order to achieve the speed requirements for large-volume communication, this type of retransmission process can easily occur.

一方、再送判断閾値(すなわち、いくつの重複ACKで再送を実行するかを判定する閾値)をあまりにも大きな値に設定すると、本当にロスが発生した際の再送が遅れてしまい、アプリケーションの通信が長時間停止するなどのリスクが生じる。 On the other hand, if the retransmission decision threshold (i.e., the threshold for determining how many duplicate ACKs are required to perform a retransmission) is set to a value that is too large, retransmissions when actual loss has occurred will be delayed, creating the risk of application communication being halted for long periods of time.

さらに、特に「セルラー+セルラー」のような構成のマルチパスの場合、「セルラー+WiFi(登録商標)」の構成の場合と比べ非対称性が小さくなる(経路ごとの遅延に大きな差がなくなる)ことが予想され、順序違いのリスクがより一層高まるため、対策が必須となる。 Furthermore, in the case of a multipath configuration such as "Cellular + Cellular," the asymmetry is expected to be smaller (there will be less difference in delay between routes) compared to a "Cellular + WiFi (registered trademark)" configuration, which further increases the risk of mis-ordering, making countermeasures essential.

上記従来技術の課題に鑑み、本発明は、通信状況に応じた適切な再送閾値を設定できるTCP通信装置、方法及びプログラムを提供することを目的とする。 In view of the problems with the conventional technology described above, the present invention aims to provide a TCP communication device, method, and program that can set an appropriate retransmission threshold according to the communication conditions.

上記目的を達成するため、本発明は、送信側から順次、送信されるパケットを受信側として受信するTCP通信装置において、直近に受信している所定数のパケットの各々から、パケット到着順番の入れ替わり度合いを算出する第1処理と、前記所定数のパケットにおける入れ替わり度合いの統計値に基づいて、前記送信側が前記受信側から重複ACKを受け取った回数が再送閾値に到達した場合に、前記送信側がパケット再送を行う判断を行うための、当該再送閾値を決定する第2処理と、を実行することを特徴とする。また、当該装置に対応する方法及びプログラムであることを特徴とする。 To achieve the above object, the present invention is characterized in that a TCP communication device that receives packets transmitted in sequence from a transmitting side as a receiving side executes a first process of calculating the degree of change in the arrival order of packets from each of a predetermined number of packets most recently received, and a second process of determining a retransmission threshold based on a statistical value of the degree of change in the arrival order of the predetermined number of packets, so that the transmitting side can determine whether to retransmit a packet when the number of times the transmitting side has received duplicate ACKs from the receiving side reaches the retransmission threshold. The present invention is also characterized in that it is a method and a program corresponding to the device.

本発明によれば、通信状況に応じた適切な再送閾値を設定できる。 According to the present invention, it is possible to set an appropriate retransmission threshold according to the communication conditions.

一実施形態に係るTCP通信装置の機能ブロック図である。1 is a functional block diagram of a TCP communication device according to an embodiment. 一実施形態に係る通信システムの構成図である。FIG. 1 is a configuration diagram of a communication system according to an embodiment. 一実施形態に係るTCP通信システムの動作のフローチャートである。1 is a flowchart of an operation of a TCP communication system according to an embodiment. 説明例を表として示す図である。FIG. 13 is a diagram showing an explanatory example in the form of a table.

図1は、一実施形態に係るTCP通信装置の機能ブロック図である。TCP通信装置10は、TCP機能部1、順序違い距離計算部2、順序違い距離管理部3、再送閾値計算部4、再送パケット判断部5、再送閾値書換部6、再送フラグ設定部7及び通信処理部8を備える。TCP通信装置10はスマートフォン等のモバイル端末で、無線アクセスネットワークを介してネットワーク通信を行うものであってよい。 Figure 1 is a functional block diagram of a TCP communication device according to one embodiment. The TCP communication device 10 includes a TCP function unit 1, an out-of-order distance calculation unit 2, an out-of-order distance management unit 3, a retransmission threshold calculation unit 4, a retransmission packet determination unit 5, a retransmission threshold rewriting unit 6, a retransmission flag setting unit 7, and a communication processing unit 8. The TCP communication device 10 may be a mobile terminal such as a smartphone, which performs network communication via a wireless access network.

TCP機能部1は、TCPにおける通常の機能として、コネクション管理、輻輳制御、再送制御、ACK送信などの機能を担う。順序違い距離計算部2、順序違い距離管理部3、再送閾値計算部4、再送パケット判断部5、再送閾値書換部6及び再送フラグ設定部7はそれぞれ詳細を後述するように、本実施形態においてTCP機能部1に対して追加的な機能を提供する。 The TCP functional unit 1 is responsible for normal TCP functions such as connection management, congestion control, retransmission control, and ACK transmission. The out-of-order distance calculation unit 2, out-of-order distance management unit 3, retransmission threshold calculation unit 4, retransmission packet judgment unit 5, retransmission threshold rewriting unit 6, and retransmission flag setting unit 7 each provide additional functions to the TCP functional unit 1 in this embodiment, as will be described in detail later.

通信処理部8は、TCP通信装置10がTCP/IP階層モデルにおいて通信を行うために必要となる処理のうち、TCP機能部1によるトランスポート層以外の処理を担い、下位側のネットワークインターフェース層及びインターネット層の処理と、上位側のアプリケーション層の処理とを担う。通信処理部8は、これら各層について任意の既存手法を用いて実現することができる。 The communication processing unit 8 is responsible for all processes required for the TCP communication device 10 to communicate in the TCP/IP hierarchical model, other than the transport layer processes performed by the TCP functional unit 1, and is responsible for the processes of the lower network interface layer and internet layer, and the higher application layer. The communication processing unit 8 can realize each of these layers using any existing method.

図2は、一実施形態に係る通信システムの構成図である。通信システム20は、送信側ノード10S及び受信側ノード10Rを備える。送信側ノード10S及び受信側ノード10Rはいずれも、機能ブロック構成として図1のTCP通信装置10の構成を有するが、以下の説明では図2のように、メール等の何らかのアプリケーションによりデータ送信を行う側を送信側ノード10S(「送信側」と略称する)とし、当該データの受信を行う側を受信側ノード10R(「受信側」と略称する)として説明する。 Figure 2 is a configuration diagram of a communication system according to one embodiment. The communication system 20 includes a sending node 10S and a receiving node 10R. Both the sending node 10S and the receiving node 10R have the configuration of the TCP communication device 10 in Figure 1 as a functional block configuration, but in the following explanation, as shown in Figure 2, the side that transmits data using some application such as email is referred to as the sending node 10S (abbreviated as the "sending side"), and the side that receives the data is referred to as the receiving node 10R (abbreviated as the "receiving side").

本実施形態の通信システム20によれば、「順序違いによるACK」と「ロスによるACK」の判断手法を改善し、不要な再送を防ぐことができる。このため、送信側及び受信側はそれぞれ、以下の機能を有する。 The communication system 20 of this embodiment improves the method of determining whether an "ACK is due to out-of-order" or "ACK is due to loss," making it possible to prevent unnecessary retransmissions. For this reason, the sending side and receiving side each have the following functions:

受信側は、図1内にも示される通り、以下の機能1R~4Rを有する。
<1R> 受信側は、順序違い距離計算部2を有し、順序違い距離 [単位:パケット]の集計を行う。ここで、順序違い距離とは、到着済みパケットのシーケンス番号最大値と、到着したパケットのシーケンス番号から導出する、何パケット分遅れて届いたかを表す値である。
As shown in FIG. 1, the receiving side has the following functions 1R to 4R.
<1R> The receiving side has an out-of-order distance calculation unit 2, which counts up the out-of-order distance [unit: packet]. Here, the out-of-order distance is a value that indicates how many packets a packet has arrived late, derived from the maximum sequence number of packets that have already arrived and the sequence number of the arriving packet.

<2R> 受信側は、順序違い距離管理部3を有し、直近のnパケットの順序違い距離を管理する。すなわち、上記の順序違い距離計算部2が、到着したパケットに対して逐次的に順序違い距離を計算しているのに対し、順序違い距離管理部3は、到着した直近のn個のパケットについて当該計算された順序違い距離を記憶しておく。nは、所定数として予め設定しておく。 <2R> The receiving side has an out-of-order distance management unit 3, which manages the out-of-order distances of the most recent n packets. That is, while the out-of-order distance calculation unit 2 calculates the out-of-order distance for each arriving packet sequentially, the out-of-order distance management unit 3 stores the calculated out-of-order distances for the most recent n arriving packets. n is set in advance as a predetermined number.

<3R> 受信側は、再送閾値計算部4を有し、上記の順序違い距離管理部3で管理しているnパケット分の順序違い距離の統計値を基に、再送閾値(すなわち、いくつの重複ACKで再送をトリガすべきかの値)を定期的に導出して、送信側に通知する。 <3R> The receiving side has a retransmission threshold calculation unit 4, and periodically derives a retransmission threshold (i.e., the value for how many duplicate ACKs should trigger a retransmission) based on the statistical value of the out-of-order distance for n packets managed by the out-of-order distance management unit 3, and notifies the sending side.

なお、再送閾値決定手法は後述するが、様々な方法で決定してよく、パーセンタイル保証的な決定手法や、平均値を基準とする手法や、中央値を基準とする手法などを用いることができる。
<4R> 受信側は、再送パケット判断部5を有し、TCPヘッダのオプション領域に含まれる「再送フラグ」を見て、受信したパケットが再送パケットか否かを判断する機能を持つ。
The method for determining the retransmission threshold will be described later, but it may be determined in various ways, such as a percentile guarantee determination method, a method based on the average value, or a method based on the median value.
<4R> The receiving side has a retransmission packet determination unit 5, which has the function of checking the "resend flag" included in the option area of the TCP header to determine whether the received packet is a retransmission packet or not.

送信側は、図1内にも示される通り、以下の機能1S、2Sを有する。
<1S> 送信側は、再送閾値書換部6を有し、受信側から受け取った再送閾値を基に現在設定されている再送閾値を書き換える。再送閾値の数だけ重複ACKを受け取った場合に、再送処理を行う。
As shown in FIG. 1, the transmitting side has the following functions 1S and 2S.
<1S> The transmitting side has a retransmission threshold rewriting unit 6, and rewrites the currently set retransmission threshold based on the retransmission threshold received from the receiving side. When the transmitting side receives the same number of duplicate ACKs as the retransmission threshold, it performs retransmission processing.

<2S> 送信側は、再送フラグ設定部7を有し、再送パケットを送信する際、TCPヘッダのオプション領域に「再送フラグ」を1に設定し、受信側で受信パケットが再送パケットか否かを判断できるようにする。 <2S> The sending side has a retransmission flag setting unit 7, and when sending a retransmission packet, it sets the "retransmission flag" in the options area of the TCP header to 1, so that the receiving side can determine whether the received packet is a retransmission packet or not.

なお、再送フラグを設定する理由は次の通りである。順序違い距離の集計をする際、再送パケットを集計に含めると、順序違いの程度が正しく算出されなくなってしまう。そのため、TCPヘッダのオプショナルフィールドに「再送フラグ領域」を含めて、それが再送パケットなのか順序が入れ替わったパケットなのかを受信ノードが判断できるようにする。 The reason for setting the resend flag is as follows. If resent packets are included in the calculation of out-of-order distance, the degree of out-of-order will not be calculated correctly. For this reason, a "resend flag area" is included in the optional field of the TCP header, allowing the receiving node to determine whether a packet is a resent packet or a packet that has been out of order.

図3は、一実施形態に係るTCP通信システム20の動作のフローチャートである。 Figure 3 is a flowchart of the operation of a TCP communication system 20 according to one embodiment.

ステップS1では、送信側がメール等の何らかのアプリケーションの処理として、受信側へのデータの送信を開始し、TCP機能部1の処理により、受信側とコネクションを確立し、送信データをパケットに分割して、送信元ポート、宛先ポート、シーケンス番号、確認応答番号などをTCPヘッダとして付与したうえで、各パケットを順次、受信側へと送信する。ステップS1ではまた、受信側が、TCP機能部1の処理により、送信側がコネクションを確立し、当該送信されたパケットの受信を開始する。 In step S1, the sender starts sending data to the receiver as part of some application process such as e-mail, establishes a connection with the receiver through processing by the TCP functional unit 1, divides the transmission data into packets, adds the source port, destination port, sequence number, acknowledgment number, etc. as TCP headers, and sends each packet sequentially to the receiver. Also in step S1, the receiver establishes a connection through processing by the TCP functional unit 1, and starts receiving the transmitted packets.

ステップS2では、受信側が、ステップS1で送信開始されたパケットの新たな受信があったか否かを判定し、受信していればステップS3へ進み、受信していなければステップS2に戻ることを繰り返し、受信があるまで待機する。 In step S2, the receiving side determines whether a new packet that was started to be transmitted in step S1 has been received. If a new packet has been received, the receiving side proceeds to step S3. If a new packet has not been received, the receiving side returns to step S2 and waits for a new packet to be received.

ステップS3では、受信側が、ステップS2で受信したパケットについて重複ACKを送信する必要があるか否かを判断し、必要があればステップS3からステップS4へ進んで受信側から送信側へと重複ACKを送信してからステップS5へ進み、必要がなければステップS3からステップS5へと進む。 In step S3, the receiving side determines whether or not it is necessary to send a duplicate ACK for the packet received in step S2. If it is necessary, the process proceeds from step S3 to step S4 to send a duplicate ACK from the receiving side to the sending side, and then proceeds to step S5. If it is not necessary, the process proceeds from step S3 to step S5.

ステップS5では、受信側が、その各部2~5により再送閾値を更新(再送閾値計算部4が計算する最新の再送閾値へと更新)して送信側へと送信してから、ステップS2に戻る。なお、ステップS5の送信タイミングは適宜のタイミングを予め設定することができ、このように1パケットを受信するたびに必要に応じて送信するようにしてもよいし、複数パケット(例えば100パケット)に1回で送信するようにしてもよいし、値の更新があった際に送信するようにしてもよい。 In step S5, the receiving side updates the retransmission threshold using each of its units 2 to 5 (updating to the latest retransmission threshold calculated by retransmission threshold calculation unit 4), transmits it to the transmitting side, and then returns to step S2. Note that the transmission timing of step S5 can be preset to an appropriate timing, and thus may be transmitted as needed every time a packet is received, or may be transmitted once for multiple packets (e.g. 100 packets), or may be transmitted when the value is updated.

以下、ステップS5における受信側の各部2~5による処理の詳細を説明する。 The processing performed by each of units 2 to 5 on the receiving side in step S5 is explained in detail below.

再送閾値計算部4による再送閾値の決定は、順序違い距離管理部3に保存されているn個の順序違い距離dの各種統計値を用いて、以下のような手法で決定して良い。
●「余計な再送をXパーセンタイル防ぐ」ことを基準に決定する手法
●順序違い距離の平均値や、平均値からの偏差で決定する手法
●順序違い距離の中央値や、中央値からの偏差で決定する手法
The retransmission threshold calculation unit 4 may determine the retransmission threshold using various statistics of the n out-of-order distances d stored in the out-of-order distance management unit 3 in the following manner.
● A method that determines the distance based on the standard of "preventing unnecessary retransmissions at the Xth percentile" ● A method that determines the distance based on the average value of out-of-order distances or the deviation from the average value ● A method that determines the distance based on the median value of out-of-order distances or the deviation from the median value

ここで、たまたまパケットが順序通りに到着することが続いた場合に、再送閾値が0や1などに設定されてしまうことを防ぐため、閾値には下限値を設けてよい。同様に、再送までの時間が極端に高まることを防ぐために、再送閾値に上限値を設けてよい。 Here, in case packets happen to repeatedly arrive in order, a lower limit may be placed on the retransmission threshold to prevent it from being set to 0, 1, etc. Similarly, an upper limit may be placed on the retransmission threshold to prevent the time until retransmission from becoming extremely long.

順序違い距離dは以下の通り算出することができる
d=(seq_num_max - seq_num)/ segment_size
ここで、seq_num_maxは、n個の直近の到着済みパケットのシーケンス番号のうち、最大のものであり、seq_numは、直近に到着したパケットのシーケンス番号であり、segment_sizeは、セグメントサイズ(パケットのデータ長)である。
The out-of-order distance d can be calculated as follows:
d = (seq_num_max - seq_num) / segment_size
Here, seq_num_max is the maximum sequence number among the n most recently arrived packets, seq_num is the sequence number of the most recently arrived packet, and segment_size is the segment size (the data length of the packet).

換言すれば、送信側が送信したデータパケットに、送信順でID=1,2,3,…を付与すると、順序違い距離dは、n個の直近の到着済みパケットのIDのうちの最大値(maxとする)から、直近の到着済みパケットのIDの値(nowとする)を減算したものとして算出でき、直近のパケットの到達順番の違い(到着順番の入れ替わり度合い)を定量化した値に該当する。
d=max-now
In other words, if the data packets sent by the sender are assigned IDs of 1, 2, 3, ... in the order in which they were sent, the out-of-order distance d can be calculated by subtracting the ID value of the most recently arrived packet (say now) from the maximum value (say max) of the IDs of the n most recently arrived packets, and corresponds to a value that quantifies the difference in the arrival order of the most recently arrived packets (the degree to which the arrival order has been changed).
d=max-now

<説明例>
説明のため、n=9とし、9個のパケットに、送信側での送信の順序に従って、送信開始時点から1~9のIDが割り振られたものとする。1, 4, 2, 6, 9, 8, 7, 3, 5の順番でパケットが到着した場合、逐次的に計算される順序違い距離dは図4の通りとなる。
<Example of explanation>
For the sake of explanation, let us assume that n=9 and that the 9 packets are assigned IDs 1 to 9 from the start of transmission according to the order of transmission on the sending side. If the packets arrive in the order 1, 4, 2, 6, 9, 8, 7, 3, 5, the out-of-order distance d calculated sequentially is as shown in Figure 4.

この図4の表の例の場合、順序違い距離dは下記のようになる
・ ID = 4が到着した時:d = 4 - 4 = 0
・ ID = 2が到着した時:d = 4 - 2 = 2
・ ID = 6が到着した時:d = 6 - 6 = 0
・ ID = 5が到着した時:d = 9 - 5 = 4
In the example of the table in Figure 4, the out-of-order distance d is as follows: When ID = 4 arrives: d = 4 - 4 = 0
When ID = 2 arrives: d = 4 - 2 = 2
When ID = 6 arrives: d = 6 - 6 = 0
When ID = 5 arrives: d = 9 - 5 = 4

この、図4の表の例の場合、ID=5が到着した時点で、再送閾値tはn=9個についての各種の統計値により、下記のような値として算出できる。
・90パーセンタイルで余計な再送を防ぐなら、再送閾値t = 5(上の表にて、4回までの重複ACKを許容すれば、90パーセンタイルで不要な再送を防ぐことができる)
・平均値(切り上げ)を採用するなら、t = 2(閾値下限 = t_minとすると、t_min ≧ 2であれば閾値に変更なし)
・中央値を採用するなら、t = 1(閾値下限 = t_minとすると、t_min ≧ 0であれば閾値に変更なし)
In the case of the example table of FIG. 4, when ID=5 arrives, the retransmission threshold t can be calculated as follows using various statistical values for n=9:
・To prevent unnecessary retransmissions at the 90th percentile, the retransmission threshold t = 5 (In the table above, if we allow up to 4 duplicate ACKs, we can prevent unnecessary retransmissions at the 90th percentile)
・If you use the average value (rounded up), then t = 2 (if the lower limit of the threshold is t_min, then if t_min ≧ 2, there is no change to the threshold)
・If you use the median, t = 1 (if the lower limit of the threshold is t_min, there is no change to the threshold if t_min ≧ 0)

以上、本発明の実施形態によれば、通信状況に応じた適切な再送閾値の設定を実現することにより、不要な再送処理の回数を最小限に抑えることができる。以下、種々の補足例、代替例、追加例などについて説明する。 As described above, according to the embodiment of the present invention, the number of unnecessary retransmission processes can be minimized by setting an appropriate retransmission threshold according to the communication situation. Various supplementary examples, alternative examples, additional examples, etc. will be explained below.

<ハードウェア構成や本実施形態をプログラムとして提供することについて>
TCP通信装置10の各機能は、TCP通信装置10がCPU及びメモリ等のコンピュータハードウェアを備え、CPUがメモリに格納されたコンピュータプログラムを実行することにより実現される。なお、送受信に関して、通信インタフェースを利用してよい。なお、TCP通信装置10として、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。
<About the hardware configuration and providing the present embodiment as a program>
Each function of the TCP communication device 10 is realized by the TCP communication device 10 being equipped with computer hardware such as a CPU and memory, and the CPU executing a computer program stored in the memory. A communication interface may be used for transmission and reception. The TCP communication device 10 may be configured using a general-purpose computer device, or may be configured as a dedicated hardware device.

本実施形態のTCP通信装置10によれば、情報通信技術のインフラ整備に寄与することができる。これにより、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。 The TCP communication device 10 of this embodiment can contribute to the development of infrastructure for information and communication technology. This makes it possible to contribute to Goal 9 of the United Nations-led Sustainable Development Goals (SDGs), which is to "build resilient infrastructure, promote sustainable industrialization, and foster innovation."

図3のステップS2~S5では、受信側の動作をメインで説明したが、受信側からの返信される情報に応じて、送信側も、前述した通りの再送閾値書換部6や、再送フラグ設定部7の処理を行っている。図4のようなn=9個等の統計を算出するに際しても、前述の通り、再送パケット判断部5の処理により、再送パケットを除外してn=9個等の統計を算出する。 In steps S2 to S5 in Figure 3, the operation on the receiving side has been mainly explained, but the transmitting side also performs the processing of the retransmission threshold rewrite unit 6 and the retransmission flag setting unit 7 as described above depending on the information returned from the receiving side. When calculating statistics for n=9, etc. as shown in Figure 4, the retransmission packet decision unit 5 processes the statistics for n=9, etc., excluding the retransmission packets, as described above.

10…TCP通信装置、1…TCP機能部、2…順序違い距離計算部、3…順序違い距離管理部、4…再送閾値計算部、5…再送パケット判断部、6…再送閾値書換部、7…再送フラグ管理部 10...TCP communication device, 1...TCP function unit, 2...out-of-order distance calculation unit, 3...out-of-order distance management unit, 4...retransmission threshold calculation unit, 5...retransmission packet judgment unit, 6...retransmission threshold rewriting unit, 7...retransmission flag management unit

Claims (8)

送信側から順次、送信されるパケットを受信側として受信するTCP通信装置において、
直近に受信している所定数のパケットの各々から、パケット到着順番の入れ替わり度合いを算出する第1処理と、
前記所定数のパケットにおける入れ替わり度合いの統計値に基づいて、前記送信側が前記受信側から重複ACKを受け取った回数が再送閾値に到達した場合に、前記送信側がパケット再送を行う判断を行うための、当該再送閾値を決定する第2処理と、を実行することを特徴とするTCP通信装置。
In a TCP communication device that receives packets sequentially transmitted from a transmitting side as a receiving side,
a first process of calculating a degree of change in the packet arrival order from each of a predetermined number of packets most recently received;
and a second process of determining a retransmission threshold based on a statistical value of the degree of switching in the specified number of packets, so that the sending side can decide to retransmit a packet when the number of times the sending side has received duplicate ACKs from the receiving side reaches the retransmission threshold.
前記再送閾値を前記送信側に送信する第3処理をさらに実行することを特徴とする請求項1に記載のTCP通信装置。 The TCP communication device according to claim 1, further comprising a third process of transmitting the retransmission threshold to the sending side. 前記第1処理では、前記統計値として平均値、中央値またはパーセンタイル値を用いることを特徴とする請求項1に記載のTCP通信装置。 The TCP communication device according to claim 1, characterized in that in the first process, an average value, a median value, or a percentile value is used as the statistical value. 前記第1処理では、前記所定数のパケットのうちの最新の送信順番から、最新の受信パケットの送信順番を減算した値として、前記入れ替わり度合いを算出することを特徴とする請求項1に記載のTCP通信装置。 The TCP communication device according to claim 1, characterized in that in the first process, the degree of switching is calculated as a value obtained by subtracting the transmission order of the latest received packet from the transmission order of the latest of the predetermined number of packets. 前記第1処理及び前記第2処理では、再送パケットは除外したものとして、前記所定数のパケットを定めることを特徴とする請求項1に記載のTCP通信装置。 The TCP communication device according to claim 1, characterized in that in the first process and the second process, the predetermined number of packets is determined excluding retransmitted packets. 前記第2処理では、所定の上限及び下限の範囲内において、前記再送閾値を決定することを特徴とする請求項1に記載のTCP通信装置。 The TCP communication device according to claim 1, characterized in that in the second process, the retransmission threshold is determined within a range of a predetermined upper limit and lower limit. 送信側から順次、送信されるパケットを受信側として受信するTCP通信方法において、
直近に受信している所定数のパケットの各々から、パケット到着順番の入れ替わり度合いを算出する第1手順と、
前記所定数のパケットにおける入れ替わり度合いの統計値に基づいて、前記送信側が前記受信側から重複ACKを受け取った回数が再送閾値に到達した場合に、前記送信側がパケット再送を行う判断を行うための、当該再送閾値を決定する第2手順と、を備えることを特徴とするTCP通信方法。
In a TCP communication method in which a receiver receives packets sequentially transmitted from a sender,
a first step of calculating a degree of change in the packet arrival order from each of a predetermined number of packets recently received;
and a second step of determining a retransmission threshold based on a statistical value of the degree of switching in the predetermined number of packets, so that the sending side can determine whether to retransmit a packet when the number of times the sending side has received duplicate ACKs from the receiving side reaches the retransmission threshold.
送信側から順次、送信されるパケットを受信側として受信するTCP通信装置としてコンピュータを機能させるプログラムにおいて、
直近に受信している所定数のパケットの各々から、パケット到着順番の入れ替わり度合いを算出する第1処理と、
前記所定数のパケットにおける入れ替わり度合いの統計値に基づいて、前記送信側が前記受信側から重複ACKを受け取った回数が再送閾値に到達した場合に、前記送信側がパケット再送を行う判断を行うための、当該再送閾値を決定する第2処理と、をコンピュータに実行させることを特徴とするプログラム。
A program that causes a computer to function as a TCP communication device that receives packets transmitted sequentially from a sender as a receiver,
a first process of calculating a degree of change in the packet arrival order from each of a predetermined number of packets most recently received;
and a second process of determining a retransmission threshold based on a statistical value of the degree of switching in the specified number of packets, so that the transmitting side can determine whether to retransmit a packet when the number of times the transmitting side has received duplicate ACKs from the receiving side reaches the retransmission threshold.
JP2022155902A 2022-09-29 2022-09-29 TCP communication device, method and program Pending JP2024049593A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022155902A JP2024049593A (en) 2022-09-29 2022-09-29 TCP communication device, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022155902A JP2024049593A (en) 2022-09-29 2022-09-29 TCP communication device, method and program

Publications (1)

Publication Number Publication Date
JP2024049593A true JP2024049593A (en) 2024-04-10

Family

ID=90622005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022155902A Pending JP2024049593A (en) 2022-09-29 2022-09-29 TCP communication device, method and program

Country Status (1)

Country Link
JP (1) JP2024049593A (en)

Similar Documents

Publication Publication Date Title
US10237153B2 (en) Packet retransmission method and apparatus
US10594596B2 (en) Data transmission
KR100785293B1 (en) System and Method for TCP Congestion Control Using Multiple TCP ACKs
CN110661723B (en) Data transmission method, computing device, network device and data transmission system
US9660912B2 (en) Control of packet transfer through a multipath session comprising a single congestion window
KR101594304B1 (en) Dynamic subflow control for a multipath transport connection in a wireless communication network
US7061856B2 (en) Data throughput over lossy communication links
Zhou et al. Goodput improvement for multipath TCP by congestion window adaptation in multi-radio devices
US8085669B2 (en) Session relay device and session relay method
US20140355623A1 (en) Transmission Control Protocol (TCP) Connection Control Parameter In-Band Signaling
US20190349308A1 (en) Data Transmission Method And Apparatus, And Customer-Premises Equipment
US20140250237A1 (en) Network performance enhancement
JP2013175850A (en) Communication device and communication system
US10075965B2 (en) Apparatus and method for detecting and alleviating unfairness in wireless network
US20040052265A1 (en) Method and system for providing reliable and fast communications with mobile entities
Wang et al. Concurrent multipath transfer protocol used in ad hoc networks
EP3031159B1 (en) Retransmission control network node and related method
JP2024049593A (en) TCP communication device, method and program
US20140334296A1 (en) Aggressive Transmission Control Protocol (TCP) Retransmission
Liu et al. A unified tcp enhancement for wireless mesh networks
Jungmaier et al. On SCTP multi-homing performance
KR100913897B1 (en) Method for controlling congestion of TCP for reducing the number of retransmission timeout
KR101231793B1 (en) Methods and apparatus for optimizing a tcp session for a wireless network
Bhat et al. MPTCP combining congestion window adaptation and packet scheduling for multi-homed device
WO2018014795A1 (en) Method and apparatus for packet transmission