JP2007243447A - Packet transmission control apparatus - Google Patents

Packet transmission control apparatus Download PDF

Info

Publication number
JP2007243447A
JP2007243447A JP2006061405A JP2006061405A JP2007243447A JP 2007243447 A JP2007243447 A JP 2007243447A JP 2006061405 A JP2006061405 A JP 2006061405A JP 2006061405 A JP2006061405 A JP 2006061405A JP 2007243447 A JP2007243447 A JP 2007243447A
Authority
JP
Japan
Prior art keywords
packet
sequence number
packets
retransmission
transmitting station
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
JP2006061405A
Other languages
Japanese (ja)
Inventor
Takashi Ikegawa
隆司 池川
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2006061405A priority Critical patent/JP2007243447A/en
Publication of JP2007243447A publication Critical patent/JP2007243447A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technology of properly estimating a pipe value, detecting a failure of a retransmitting packet, and again retransmitting a discarded retransmitting packet so as to prevent deterioration in the throughput. <P>SOLUTION: A packet transmission control apparatus in a transmission station includes: a means for counting the number of packets during transfer and existing on the network; and a means for transmitting a packet when the number of packets during the transfer is greater than a window size by comparing the number of packets during the transfer with the window size. Further, the packet transmission control apparatus includes: a means for detecting a discarded packet when the transmittal of the retransmitting packet succeeding to a packet is selectively and earlier confirmed; and a means for retransmitting the discarded packet. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、ウインドウフロー制御と選択再送誤り回復が実行されている通信システムにおいて、転送パケット数制御装置の高性能化の技術に関する。   The present invention relates to a technique for improving the performance of a transfer packet number control device in a communication system in which window flow control and selective retransmission error recovery are performed.

コンピュータネットワークでは、輻輳もしくはビット誤りにより廃棄されたパケットに対して再送などの処理を行って、コンピュータユーザに対して信頼性のある通信サービスを提供するとともに、ルータもしくは受信局で発生した輻輳への対処もしくはその発生を防止する機能が必要となる。   In a computer network, processing such as retransmission is performed on packets discarded due to congestion or bit errors to provide a reliable communication service for computer users, and to address congestion caused by routers or receiving stations. A function to cope with or prevent the occurrence is required.

コンピュータネットワークの代表的なプロトコルであるTCP(Transmission Control Protocol)−SACK(Selective Acknowledgement)(非特許文献1参照)では、受信局が廃棄パケットの情報を送信局に通知し、送信局は指定された廃棄パケットのみを再送する誤り回復(選択再送誤り回復と呼ぶ)を行い、コンピュータユーザに対して信頼性のある通信サービスを提供している。さらに、累積的に送達未確認のパケット数を、ある決められた数(ウインドウサイズと呼ぶ)に制限するウインドウフロー制御により、往復応答時間当たりに送信できるパケット数を調節して、輻輳へ対処している。ここで、「あるパケットが累積的に送達確認されている」とは、そのパケットを含み、そのパケットまでに送信したすべてのパケットを送達確認していることを意味する。   In TCP (Transmission Control Protocol) -SACK (Selective Acknowledgment) (see Non-Patent Document 1), which is a typical protocol of computer networks, the receiving station notifies the transmitting station of the information of the discarded packet, and the transmitting station is designated. It performs error recovery (referred to as selective retransmission error recovery) that retransmits only discarded packets, and provides a reliable communication service to computer users. Furthermore, the number of packets that can be transmitted per round-trip response time is adjusted by window flow control that limits the cumulative number of unconfirmed packets to a predetermined number (called the window size) to deal with congestion. Yes. Here, “a certain packet has been confirmed to be cumulatively delivered” means that all packets that have been transmitted up to that packet are acknowledged.

以下の説明では、送信局と受信局は、非特許文献1で規定されているTCP−SACKが実行されているものとする。   In the following description, it is assumed that the transmitting station and the receiving station are executing TCP-SACK defined in Non-Patent Document 1.

ここでは、非特許文献2に記載されている早期回復手順に関する転送パケット数制御装置を以下に示す。なお、実際のTCPではバイト単位でデータに順序番号を付与するが、以下の説明では、パケット単位で付与されているとする。   Here, the transfer packet number control apparatus related to the early recovery procedure described in Non-Patent Document 2 is shown below. In actual TCP, a sequence number is assigned to data in byte units. In the following description, it is assumed that data is assigned in packet units.

まず、送信局により管理されている変数を説明する。
cwnd:輻輳ウインドウサイズ。送信局が、累積的に送達確認なしで送信できる最大パケット数。
pipe:送信局と受信局上に設定されたコネクション上において、ネットワークに存在するパケット数。受信局の受信バッファにおいて待っている順序誤りのパケット数は含まれない。
highACK:累積的送達確認順序番号。累積的に送達確認されたパケットにおいて最大の順序番号。
highDATA:送信済順序番号。送信したパケットにおいて最大の順序番号。
highRxt:再送済最大順序番号。再送済のパケットにおいて最大の順序番号。
First, variables managed by the transmitting station will be described.
cwnd: congestion window size. The maximum number of packets that the transmitting station can transmit without cumulative delivery confirmation.
pipe: The number of packets existing in the network on the connection established on the transmitting station and the receiving station. The number of out-of-order packets waiting in the reception buffer of the receiving station is not included.
highACK: Cumulative delivery confirmation sequence number. The highest sequence number in the cumulatively acknowledged packet.
highDATA: transmitted sequence number. The highest sequence number in the transmitted packet.
highRxt: Retransmitted maximum sequence number. The highest sequence number in the retransmitted packet.

次に、受信局により管理されている変数を定義する。
rcvNxt:受信期待順序番号。受信局が、次に順序正しく受信を期待する順序番号。つまり、累積的に順序正しく受信したパケットでの最大の順序番号の値に1を加算した値である。
Next, a variable managed by the receiving station is defined.
rcvNxt: Expected reception sequence number. The sequence number that the receiving station expects to receive in order next. That is, it is a value obtained by adding 1 to the value of the maximum sequence number in the packet received cumulatively in order.

図2にコンピュータネットワークシステムの構成を示す。図2に示すように、ネットワーク1を介して送信局2と受信局3が接続されている。送信局2と受信局3は、非特許文献1で規定されているSACKオプションを具備するTCPを実行し、ネットワーク1で発生したパケット廃棄、輻輳に対処している。   FIG. 2 shows the configuration of a computer network system. As shown in FIG. 2, a transmitting station 2 and a receiving station 3 are connected via a network 1. The transmitting station 2 and the receiving station 3 execute TCP having the SACK option defined in Non-Patent Document 1 to deal with packet discard and congestion that occur in the network 1.

ネットワーク1では、輻輳もしくはビット誤りなどによるパケット廃棄が発生するものとする。   In the network 1, it is assumed that packet discard occurs due to congestion or a bit error.

図3に送信局2の機能ブロックを示す。   FIG. 3 shows functional blocks of the transmitting station 2.

送信局2内のスコアボード204の例を表1に示す。   An example of the scoreboard 204 in the transmitting station 2 is shown in Table 1.

Figure 2007243447
Figure 2007243447

スコアボードは、次の2つの属性から構成される。
順序番号:パケットの順序番号。highACK+1からhighDATA以下の値をとる。
選択的送達確認数:受信したACKパケット内のSACK情報を基に選択的に送達確認された数。例えばSACKオプションフィールド内に含まれるSACKブロック内に、該当する順序番号が含まれていれば、その順序番号の選択的送達確認数を1つ加算する。ここで、「あるパケットが選択的に送達確認されている」とは、「そのパケットのみが送達確認されている」ことを意味する。
The scoreboard is composed of the following two attributes.
Sequence number: The sequence number of the packet. It takes a value from highACK + 1 to highDATA.
Number of selective acknowledgments: The number of selective acknowledgments based on the SACK information in the received ACK packet. For example, if the corresponding sequence number is included in the SACK block included in the SACK option field, the selective delivery confirmation number of the sequence number is incremented by one. Here, “a certain packet is selectively acknowledged” means “only that packet is acknowledged”.

送信局2はパケット送信処理部101とACK受信処理部102とフロー制御部103とスコアボード管理部104とパケット廃棄確認部105と次送信パケット決定部106と転送パケット数推定部107と初送パケットバッファ201と再送パケットバッファ202と輻輳ウインドウサイズレジスタ203とスコアボード204と転送パケット数レジスタ205と累積的送達確認順序番号レジスタ206と送信済順序番号レジスタ207と再送済最大順序番号レジスタ208から構成されている。   The transmitting station 2 includes a packet transmission processing unit 101, an ACK reception processing unit 102, a flow control unit 103, a scoreboard management unit 104, a packet discard confirmation unit 105, a next transmission packet determination unit 106, a transfer packet number estimation unit 107, and an initial transmission packet. It consists of a buffer 201, a retransmission packet buffer 202, a congestion window size register 203, a scoreboard 204, a transfer packet number register 205, a cumulative delivery confirmation sequence number register 206, a transmitted sequence number register 207, and a retransmitted maximum sequence number register 208. ing.

パケット送信処理部101は最初の送信のパケット(初送パケットと呼ぶ)を保存している初送パケットバッファ201もしくは、再送に備え元のパケットを保存している再送パケットバッファ202に保存されたパケットを取り出し、そのパケットをネットワーク1に送信する。   The packet transmission processing unit 101 stores a packet stored in an initial transmission packet buffer 201 storing an initial transmission packet (referred to as an initial transmission packet) or a retransmission packet buffer 202 storing an original packet in preparation for retransmission. And the packet is transmitted to the network 1.

また、送信したパケットの種別に応じて、以下の処理を行う。   Further, the following processing is performed according to the type of the transmitted packet.

初送パケットを送信した時、初送パケットの順序番号を取得し、その値をhighDATAとし、送信済順序番号レジスタ207に書き込む。   When the initial transmission packet is transmitted, the sequence number of the initial transmission packet is acquired, and the value is set to highDATA and written in the transmitted sequence number register 207.

再送パケットを送信した時、再送パケットの順序番号を取得し、もしその順序番号が再送済最大順序番号レジスタ208内の値highRxtより大きい場合、その値をhighRxtとして更新し、再送済最大順序番号レジスタ208に書き込む。   When a retransmission packet is transmitted, the sequence number of the retransmission packet is acquired. If the sequence number is larger than the value highRxt in the retransmitted maximum sequence number register 208, the value is updated as highRxt, and the retransmitted maximum sequence number register 208 is written.

ACK受信処理部102はネットワーク1を介して受信局3から受け取ったACKを受信し、ACK内の情報に応じて処理を行う。ACK受信処理部102の詳細手順については、後で説明する。   The ACK reception processing unit 102 receives the ACK received from the receiving station 3 via the network 1 and performs processing according to the information in the ACK. The detailed procedure of the ACK reception processing unit 102 will be described later.

フロー制御部103は輻輳ウインドウサイズレジスタ203内の輻輳ウインドウサイズcwndの情報と転送パケット数推定値が保存されている転送パケット数レジスタ205の情報pipeを使って、cwnd≧pipeの場合を“真”を返す。それ以外は、“偽”を返す。これにより、送信局2と受信局3の間に存在するパケット数はcwndに制限される。   The flow control unit 103 uses the information of the congestion window size cwnd in the congestion window size register 203 and the information pipe of the transfer packet number register 205 in which the estimated number of transfer packets is stored, and “true” when cwnd ≧ pipe. return it. Otherwise, return “false”. As a result, the number of packets existing between the transmitting station 2 and the receiving station 3 is limited to cwnd.

スコアボード管理部104はACK受信部102が受信したACK内にあるSACK情報を基にスコアボード204を管理する。具体的には、SACKブロック内で選択的に送達確認されたパケットの順序番号を取得し、スコアボード204において該当する順序番号の選択的送達確認数を1つ増加させる。   The scoreboard management unit 104 manages the scoreboard 204 based on the SACK information in the ACK received by the ACK receiving unit 102. Specifically, the sequence number of the packet selectively confirmed in the SACK block is acquired, and the number of selective acknowledgments of the corresponding sequence number in the score board 204 is increased by one.

パケット廃棄確認部105は指定されたパケット(順序番号をNとする)が廃棄されているか調べる。以下の2つの条件A1とA2をともに満たす場合、順序番号がNのパケットの廃棄が確認されたとする。
A1:順序番号Nのパケットが、累積的もしくは選択的に送達確認されていない。
A2:DupThresh(通常3)回以上、Nより大きい順序番号を持つパケットが選択的に送達確認されている。ここで、「DupThresh」は管理者が設定可能なパラメータである。
The packet discard confirmation unit 105 checks whether the designated packet (with a sequence number of N) is discarded. If both of the following two conditions A1 and A2 are satisfied, it is assumed that the packet with the sequence number N is confirmed to be discarded.
A1: The packet with the sequence number N has not been confirmed to be delivered cumulatively or selectively.
A2: DupThresh (usually 3) times or more, a packet having a sequence number greater than N has been selectively confirmed. Here, “DupThresh” is a parameter that can be set by the administrator.

次送信パケット決定部106は次に(再)送信すべきパケットを決定する。   The next transmission packet determination unit 106 determines the next packet to be (re) transmitted.

従来技術では、以下の条件を満たすパケットを求める。
B1:順序番号がhighRxtより大きく、パケット廃棄確認機能により廃棄が確認されたパケットの内、最小の順序番号を持つ。
B2:条件B1を満たすパケットがない場合、highRxtの順序番号を持つ。
In the prior art, a packet that satisfies the following conditions is obtained.
B1: The sequence number is larger than highRxt and has the smallest sequence number among the packets confirmed to be discarded by the packet discard confirmation function.
B2: When there is no packet satisfying the condition B1, the sequence number is highRxt.

転送パケット数推定部107は以下の算出アルゴリズムにより、pipe値を求め、その値を転送パケット数レジスタ205に書き込む。   The transfer packet number estimation unit 107 calculates a pipe value by the following calculation algorithm and writes the value in the transfer packet number register 205.

pipe算出アルゴリズム
順序番号がhighACK+1以上かつhighDATA以下のパケットにおいて、以下の処理を行う。
C1:パケット廃棄確認部105での処理により、廃棄が確認されていないパケットの場合:pipeを1つ増加させる。
C2:順序番号がhighRxt以下のパケットの場合:pipeを1つ増加させる。
Pipe Calculation Algorithm The following processing is performed for packets whose sequence number is higher than ACK + 1 and lower than highDATA.
C1: For a packet whose discard has not been confirmed by the processing in the packet discard confirming unit 105: Pipe is incremented by one.
C2: For packets whose sequence number is highRxt or less: Pipe is incremented by one.

送信局2でのACK受信処理
前述したACK受信処理部102の処理手順を説明する。
ACK Reception Processing at Transmitting Station 2 The processing procedure of the ACK reception processing unit 102 described above will be described.

ケース1:DupThresh回、続けて重複ACK(送信局がすでに受信したACKの送達確認順序番号と同一のそれを持つACK)を受信した時、送信局2と受信局3との間でパケット廃棄が発生したとみなし、早期回復処理を開始する。ただし、すでに、早期回復処理中(つまり、早期回復状態中)の場合は、以下の処理をスキップする。
1.早期回復状態となる。
2.cwnd←cwnd/2とし、輻輳ウインドウサイズレジスタ203を更新する。
3.累積的に送達未確認のパケットのうち、最小の順序番号を持つパケットを再送する。具体的には、
(a)累積的送達確認順序番号レジスタ206内の値に1を加えた順序番号をもつパケットの順序番号を取得する。
(b)パケット送信処理部101を使って、該順序番号の再送パケットを再送パケットバッファ202から見つけ、そのパケットを再送する。
4.転送パケット数推定部107を使ってpipe値を計算する。
5.フロー制御部103に問い合わせ、“真”つまりcwnd≧pipeである限り、以下の処理Aを行う。
(a)次送信パケット決定部106を使って、次に(再)送信すべきパケットを求める。
(b)パケット送信処理部101を使って、初送パケットバッファ201もしくは再送パケットバッファ202から該当するパケットを取り出し、そのパケットを送信するとともに、関連するレジスタ(送信済順序番号レジスタ207もしくは再送済最大順序番号レジスタ208)を更新する。
(c)pipe値を1つ増加させ、その値を転送パケット数レジスタ205に格納する。
Case 1: When a duplicate ACK (ACK having the same transmission confirmation sequence number of an ACK that has already been received by the transmitting station) is received DupThresh times, packet discarding occurs between the transmitting station 2 and the receiving station 3 It is assumed that it has occurred and the early recovery process is started. However, if it is already in the early recovery process (that is, in the early recovery state), the following process is skipped.
1. Early recovery.
2. The congestion window size register 203 is updated by setting cwnd ← cwnd / 2.
3. Of the packets that have not been confirmed to be delivered, the packet having the smallest sequence number is retransmitted. In particular,
(A) The sequence number of a packet having a sequence number obtained by adding 1 to the value in the cumulative delivery confirmation sequence number register 206 is acquired.
(B) The packet transmission processing unit 101 is used to find a retransmission packet with the sequence number from the retransmission packet buffer 202 and retransmit the packet.
4). The pipe value is calculated using the transfer packet number estimation unit 107.
5). The flow control unit 103 is inquired, and the following processing A is performed as long as “true”, that is, cwnd ≧ pipe.
(A) The next transmission packet determination unit 106 is used to determine the next packet to be (re) transmitted.
(B) The packet transmission processing unit 101 is used to retrieve the corresponding packet from the initial transmission packet buffer 201 or the retransmission packet buffer 202, transmit the packet, and a related register (the transmitted sequence number register 207 or the retransmitted maximum) Update the sequence number register 208).
(C) The pipe value is incremented by 1, and the value is stored in the transfer packet number register 205.

ケース2:早期回復状態で、SACK情報を含むACKパケットを受信した時
1.スコアボード管理部104を使ってスコアボード204を更新する。
2.転送パケット数推定部205を使ってpipe値を計算し、その値を転送パケット数レジスタ205に格納する。
3.フロー制御部103に問い合わせ、“真”つまりcwnd≧pipeである限り、前述の処理Aを行う。
Case 2: When an ACK packet including SACK information is received in the early recovery state. The scoreboard 204 is updated using the scoreboard management unit 104.
2. A pipe value is calculated using the transfer packet number estimation unit 205, and the value is stored in the transfer packet number register 205.
3. The flow control unit 103 is inquired, and the above-described processing A is performed as long as “true”, that is, cwnd ≧ pipe.

ケース3:早期回復状態であり、早期回復処理を開始した時最後に送信したパケットが送達確認するACKを受信した時、早期回復処理を終了する(早期回復状態を脱する)。   Case 3: In the early recovery state, when the early recovery process is started, when the last transmitted packet receives an ACK confirming delivery, the early recovery process is terminated (leaving the early recovery state).

図3に受信局3内の機能ブロックを示す。受信局3はパケット受信処理部301とACK送信処理部302とSACK情報作成部303と受信バッファ401と受信期待順序番号レジスタ402から構成されている。   FIG. 3 shows functional blocks in the receiving station 3. The receiving station 3 includes a packet reception processing unit 301, an ACK transmission processing unit 302, a SACK information creation unit 303, a reception buffer 401, and an expected reception sequence number register 402.

パケット受信処理部301は送信局2からパケットを受信した場合、以下の処理を行う。
1.受信パケットの順序番号と受信期待順序番号レジスタ402に保存されている受信期待順序番号rcvNxtを比較し、その結果に応じて、以下の処理を行う。
(a)受信パケットの順序番号とrcvNxtが等しい場合、受信パケットを受信バッファ401に保存し、順序正しく整列させ、すべての順序正しいパケットを上位層に転送するごとにrcvNxtを1つ加算していく。
(b)受信パケットの順序番号とrcvNxtが異なる場合、受信パケットを受信バッファ401に保存する。
2.ACK送信処理部302に対しACK送信を依頼する。
When receiving a packet from the transmitting station 2, the packet reception processing unit 301 performs the following processing.
1. The sequence number of the received packet is compared with the expected reception sequence number rcvNxt stored in the expected reception sequence number register 402, and the following processing is performed according to the result.
(A) When the sequence number of the received packet is equal to rcvNxt, the received packet is stored in the receive buffer 401, arranged in order, and one rcvNxt is added each time all the in-order packets are transferred to the upper layer. .
(B) If the sequence number of the received packet is different from rcvNxt, the received packet is stored in the receive buffer 401.
2. Requests ACK transmission processing unit 302 to transmit ACK.

ACK送信処理部302はパケット受信処理部301からACK送信依頼があった場合、以下の処理を行う。
1.SACK情報作成部303に受信バッファ401で保存されているパケット情報の作成を依頼し、その結果をもとに、SACKフィールドを作成する。
2.受信期待順序番号レジスタ402に保存されている受信期待順序番号rcvNxtを取得し、その値を送達確認順序番号フィールドに設定する。
3.作成したACKを送信局2に送信する。
When there is an ACK transmission request from the packet reception processing unit 301, the ACK transmission processing unit 302 performs the following processing.
1. The SACK information creation unit 303 is requested to create packet information stored in the reception buffer 401, and a SACK field is created based on the result.
2. The expected reception sequence number rcvNxt stored in the expected reception sequence number register 402 is acquired, and the value is set in the delivery confirmation sequence number field.
3. The created ACK is transmitted to the transmitting station 2.

SACK情報作成部303はACK送信処理部302からSACK情報作成依頼があった場合、受信バッファ401にアクセスして、保存されているパケットの順序番号を調べ、SACKフィールドの作成に必要な情報を返す。
M.Mathis, J.Mahdavi, S.Floyd, A.Romanow著、“TCP selective acknowledgment option”, RFC 2018, October, 1996. E.Blanton, M.Allman, K.Fall, L.Wang著、“A conservative selective acknowledgment (SACK)−based loss recovery Algorithm for TCP”, RFC 3517, April, 2003.
When there is a SACK information creation request from the ACK transmission processing unit 302, the SACK information creation unit 303 accesses the reception buffer 401, checks the sequence number of the stored packet, and returns information necessary for creating the SACK field. .
M.M. Mathis, J. et al. Mahdavi, S .; Floyd, A.D. Romanow, “TCP selective acknowledgment option”, RFC 2018, October, 1996. E. Blanton, M.M. Allman, K.M. Fall, L.L. Wang, “A conservative selective acknowledgment (SACK) -based loss recovery Algorithm for TCP”, RFC 3517, April, 2003.

前述した従来技術の問題点を明確にするため、以下のシナリオを例にあげる(図5参照)。
1.順序番号が5〜12のパケットが送信された。
2.上記のパケットの内、順序番号が6−9のパケットが廃棄された。
3.再送された上記のパケットの内、順序番号が7−9のパケットが再度廃棄された。
In order to clarify the problems of the prior art described above, the following scenario is given as an example (see FIG. 5).
1. Packets with sequence numbers 5-12 have been transmitted.
2. Among the above packets, the packet with the sequence number 6-9 was discarded.
3. Among the retransmitted packets, the packet with the sequence number 7-9 is discarded again.

ここで、この例で用いるACKに付与されている情報は、
送達確認順序番号。rcvNxtの値が入り、図5の例では、ACK=XのXに対応する。
SACK順序番号ブロック。受信バッファ401に、連続的に存在するパケットの順序番号の集合(ブロック)の情報を示す。図5での(Y,Z)でのYは、ブロックの左端パケットの順序番号、Zは、右端ブロックの順序番号+1が入る。
である。
Here, the information given to the ACK used in this example is
Delivery confirmation sequence number. The value of rcvNxt is entered, and corresponds to X of ACK = X in the example of FIG.
SACK sequence number block. The reception buffer 401 shows information on a set (block) of sequence numbers of packets that exist continuously. In FIG. 5, Y in (Y, Z) is the sequence number of the leftmost packet of the block, and Z is the sequence number of the rightmost block + 1.
It is.

以下、DupThreshを1とした場合を考える。   Hereinafter, a case where DupThresh is set to 1 will be considered.

順序番号が10の初送パケットに対するACKの受信時
まず、順序番号が10のパケットに対するACK(図5での501)を受信した時を考える。
When an ACK is received for an initial transmission packet with a sequence number of 10 First, consider a case where an ACK (501 in FIG. 5) for a packet with an order number of 10 is received.

このACKの受信により、送信局2は連続してDupThresh(=1)個の重複ACKを受信したこととなり、前述のケース1の処理を行う。つまり、早期回復状態となり、順序番号がhighACK+1であるつまり6のパケットを再送し、highRxtを6に設定する。   By receiving this ACK, the transmitting station 2 has continuously received DupThresh (= 1) duplicate ACKs, and performs the processing of case 1 described above. In other words, an early recovery state is entered, the packet with sequence number highACK + 1, that is, 6 packets are retransmitted, and highRxt is set to 6.

送信局2がACK501を受信し、順序番号が6のパケットを再送した後のスコアボードを表2に示す。   Table 2 shows the scoreboard after the transmitting station 2 receives the ACK 501 and retransmits the packet with the sequence number of 6.

Figure 2007243447
この時、順序番号がhighACK+1(=6)以上で、highDATA(=12)以下のパケットで、累積的もしくは選択的に送達確認されていないパケットの順序番号の集合は{11,12}である。よって、pipe算出アルゴリズムC1でのpipe値は2となる。一方、highRxt=6であるため、pipe算出アルゴリズムC2の条件でのpipe値は1となる。ゆえに、最終的なpipe値は3(=2+1)となる。
Figure 2007243447
At this time, the set of sequence numbers of packets whose sequence numbers are higher than ACK + 1 (= 6) and lower than highDATA (= 12) and whose delivery has not been confirmed cumulatively or selectively is {11, 12}. Therefore, the pipe value in the pipe calculation algorithm C1 is 2. On the other hand, since highRxt = 6, the pipe value is 1 under the condition of the pipe calculation algorithm C2. Therefore, the final pipe value is 3 (= 2 + 1).

図5からわかるように、順序番号が5のパケットは受信局3により順序正しく受信されたため、ネットワーク1上にはなく、順序番号が6のパケットは廃棄されたが再送され、順序番号7−9のパケットは廃棄され、順序番号が10のパケットは受信局3に届いたが順序誤りのため受信バッファ401にあり、順序番号が11と12のパケットは送信したが送達確認されていない。   As can be seen from FIG. 5, since the packet with the sequence number 5 was received in order by the receiving station 3, it was not on the network 1, the packet with the sequence number 6 was discarded but retransmitted, and the sequence number 7-9. The packet with the sequence number of 10 has arrived at the receiving station 3 but is in the reception buffer 401 due to an error in the sequence. The packets with the sequence numbers of 11 and 12 have been transmitted, but the delivery has not been confirmed.

よって、この時点では、順序番号が{6,11,12}のパケットが、送信局2と受信局3の間のネットワーク1上に存在している。   Therefore, at this time, a packet with the sequence number {6, 11, 12} exists on the network 1 between the transmitting station 2 and the receiving station 3.

この時点では、転送パケット数推定部107の処理に得られた値と実際の転送パケット数は一致する。   At this time, the value obtained by the processing of the transfer packet number estimation unit 107 matches the actual number of transfer packets.

もし、順序番号が10のパケットに対するACKの受信前の輻輳ウインドウサイズcwndを12とした場合、このACKの受信後、ケース1の手順によりcwndは半減され6となる。   If the congestion window size cwnd before reception of ACK for the packet with the sequence number 10 is 12, cwnd is halved to 6 by the procedure of case 1 after reception of this ACK.

よって、送信局は、cwnd−pipe=6−3=3個の再送パケットもしくは初送パケットを送信することができる。   Therefore, the transmitting station can transmit cwnd-pipe = 6-3 = 3 retransmission packets or initial transmission packets.

ゆえに、この例では、7−9のパケットを再送している。   Therefore, in this example, 7-9 packets are retransmitted.

順序番号が11の初送パケットに対するACKの受信時
次に、順序番号が11のパケットに対するACK(図4での502)を受信した時を考える。
When an ACK is received for an initial transmission packet with an order number of 11 Next, consider a time when an ACK (502 in FIG. 4) for a packet with an order number of 11 is received.

ACK502の受信後のスコアボードを表3に示す。   Table 3 shows the scoreboard after receiving ACK 502.

Figure 2007243447
転送パケット数推定部107の処理でのpipe算出アルゴリズムC1の条件でのpipe値は1となり、C2の条件でのpipe値は4となるため、最終的なpipe値は5となり、実際の転送パケット数と一致する。
Figure 2007243447
The pipe value under the condition of the pipe calculation algorithm C1 in the process of the transfer packet number estimation unit 107 is 1, and the pipe value under the condition of C2 is 4, so the final pipe value is 5, and the actual transfer packet Matches the number.

なお、cwnd−pipe=6−5=1個のパケットを送信できるが、次送信パケット決定部106での処理結果では、送信すべきパケットはないため、送信局2は何も送信していない。   Note that cwnd-pipe = 6-5 = 1 packets can be transmitted. However, in the processing result in the next transmission packet determination unit 106, there is no packet to be transmitted, so the transmitting station 2 does not transmit anything.

順序番号が12の初送パケットに対するACKの受信時
この場合も前節と同様に、正しく動作する。
When an ACK is received for an initial transmission packet with a sequence number of 12, this case operates correctly as in the previous section.

順序番号が9の再送パケットに対するACKの受信時
次に、順序番号が9の再送パケットに対するACK(図5の503)を受信した時の処理について説明する。
When ACK is received for retransmission packet with order number 9 Next, processing when an ACK (503 in FIG. 5) for a retransmission packet with order number 9 is received will be described.

ACK503の受信後のスコアボードを表4に示す。   Table 4 shows the scoreboard after receiving ACK 503.

Figure 2007243447
スコアボードの表4より、累積的もしくは選択的に送達確認されていないパケットの順序番号の集合は、{6,7,8}である。また、上記のパケットの廃棄は、パケット廃棄確認処理により、確認されている。よって、pipe値算出アルゴリズムC1の条件でのpipe値は0となる。
Figure 2007243447
From Table 4 of the scoreboard, the set of sequence numbers of packets that have not been confirmed to be delivered cumulatively or selectively is {6, 7, 8}. Further, the packet discard has been confirmed by the packet discard confirmation processing. Therefore, the pipe value under the condition of the pipe value calculation algorithm C1 is zero.

highRxt=8であるから、pipe算出アルゴリズムC2の条件でのpipe値は3となり、最終的なpipe値は3となる。   Since highRxt = 8, the pipe value under the condition of the pipe calculation algorithm C2 is 3, and the final pipe value is 3.

しかし、再送パケット6−8は、すべて廃棄されているため、実際のpipe値は0である。   However, since all the retransmitted packets 6-8 are discarded, the actual pipe value is zero.

つまり、廃棄された再送パケットが加算されているため、pipe値は過大に見積もられてしまった。   That is, since the discarded retransmission packets are added, the pipe value has been overestimated.

よって、pipe値が正しく推定されておれば、6(=cwnd)個のパケットを送信できたが、RFC3517の仕様では、3(=6−3)個のパケットしか送信できない。   Therefore, if the pipe value is correctly estimated, 6 (= cwnd) packets can be transmitted. However, according to the specification of RFC3517, only 3 (= 6-3) packets can be transmitted.

もし、早期回復状態に新たにパケットが到着しておれば、従来の技術ではそれらのパケットを送信することができない。つまり、スループット下落現象が発生する。   If new packets arrive in the early recovery state, those packets cannot be transmitted by the conventional technique. That is, a throughput drop phenomenon occurs.

タイムアウトの発生
従来の技術では、再送パケットの失敗を検出する機能がないため、一度再送されたパケットが廃棄された場合、早期回復フェーズ中にそのパケットを再度再送することができない。この再送パケットの廃棄は再送タイマのタイムアウトを引き起こす(図5参照)。一般に、タイムアウト値は往復応答時間より大きく設定されるため、タイムアウトにより大きくスループットが下落してしまう。もし、タイムアウトごとに1つのパケットしか再送しない従来技術の場合、さらにスループットが下落してしまう。
Occurrence of timeout In the conventional technique, since there is no function for detecting the failure of a retransmitted packet, when a retransmitted packet is discarded, it cannot be retransmitted again during the early recovery phase. The discarding of the retransmission packet causes a retransmission timer timeout (see FIG. 5). In general, the timeout value is set to be larger than the round-trip response time, so that the throughput greatly decreases due to the timeout. In the case of the conventional technique in which only one packet is retransmitted every time-out, the throughput further decreases.

以上より、従来のシステムで推定されるpipe値が過大推定値となり、スループット抑制状態となることがわかる。   From the above, it can be seen that the pipe value estimated in the conventional system becomes an overestimated value and the throughput is suppressed.

さらに、再送パケットの廃棄はタイムアウトでしか回復できないため、パケット廃棄が頻繁に発生するネットワーク環境のもとでは、スループットがさらに下落してしまう問題点があった。   Furthermore, since the discard of the retransmitted packet can be recovered only by a timeout, there is a problem that the throughput further decreases in a network environment where the packet discard frequently occurs.

本発明の目的は、pipe値の適切な推定を行うとともに、再送パケットの失敗を検出し、廃棄された再送パケットを再度再送し、スループットが低下するのを防止することにある。   An object of the present invention is to appropriately estimate a pipe value, detect a failure of a retransmission packet, retransmit a discarded retransmission packet again, and prevent a decrease in throughput.

pipe値推定アルゴリズムの修正
従来の方法では、廃棄が確認された再送パケットもpipe値としてカウントしているため、本発明では従来のpipe値のカウントを次のように修正する。
Correction of Pipe Value Estimation Algorithm In the conventional method, since the retransmitted packet confirmed to be discarded is counted as the pipe value, the present invention corrects the conventional pipe value count as follows.

累積的もしくは選択的に送達未確認のパケットにおいて、廃棄が確認されていないパケットをカウントし、pipe値をそのカウント結果値とする。   In cumulatively or selectively unconfirmed delivery packets, packets that are not confirmed to be discarded are counted, and the pipe value is used as the count result value.

つまり、累積的もしくは選択的に送達未確認のパケットにおいて、廃棄が確認されていないパケットをカウントする手段と、そのカウント結果を転送パケット数として設定する手段を追加する。   In other words, a means for counting packets that have not been confirmed to be discarded among packets that have not been confirmed to be delivered cumulatively or selectively, and a means for setting the count result as the number of transfer packets are added.

再送失敗確認機能の追加
従来のシステムでは、早期回復手順中に、再送されたパケットの失敗を送信局が検出することができなかった。そこで、再送失敗確認機能を追加する。
Addition of resending failure confirmation function In the conventional system, the transmitting station cannot detect the failure of the resent packet during the early recovery procedure. Therefore, a retransmission failure confirmation function is added.

本発明では、ある再送パケットの後続の再送パケットが先に選択的に送達確認されたとき、そのパケットの再送が失敗したとみなして、該再送パケットの廃棄を検出することにする。つまり、ある再送パケットにおいて、その後続の再送パケットが先に選択的に送達確認されたかどうかを検出する手段を追加する。   In the present invention, when a subsequent retransmission packet of a certain retransmission packet is selectively confirmed in advance, it is assumed that the retransmission of the packet has failed, and discard of the retransmission packet is detected. That is, a means for detecting whether or not a subsequent retransmission packet is selectively confirmed first in a certain retransmission packet is added.

上記の手段を具体的に実現するために、次の変数を追加する。
recentSACK:直近選択的送達確認順序番号。直近に新たに選択的送達確認したパケットの順序番号
recentRxtNum:直近選択的送達確認再送回数。recentSACKの順序番号を持つパケットの再送回数
さらに、次の手段を追加すれば、再送パケットの失敗を確認することができる。
In order to specifically realize the above means, the following variables are added.
recipientSACK: last selective delivery confirmation sequence number. Order number of recent newly confirmed selective delivery confirmation currentRxtNum: the number of retransmissions of the latest selective delivery confirmation. The number of retransmissions of a packet having the order number of the recipientSACK Further, if the following means is added, the failure of the retransmission packet can be confirmed.

破棄が確認されていないパケットの総数を転送パケット数として設定する手段
選択的に送達確認された時、該再送パケットが廃棄されたことを認識する手段
順序番号がhighACK以上でhighDATA以下であり、廃棄が確認されていないパケットの総数を転送パケット数として設定する手段
各パケットごとに再送回数を求める手段と、
直近に新たに選択的送達確認したパケットの順序番号であるrecentSACKを取得する手段と、
recentSACKの順序番号を持つパケットの再送回数であるrecentRxtNumを取得する手段と、
パケットの廃棄を検出する手段と、
再送回数が1以上でかつrecentRxtNum以下であり、廃棄が確認されておらず、順序番号がrecentSACKより小さいパケットを検出する手段
該パケットの再送が失敗したと認識する手段
廃棄再送パケット送信機能の追加
従来の技術では、早期回復手順中に廃棄されたパケットの再送ができなかった。そこで、廃棄再送送信機能を追加した。
Means for setting the total number of packets that have not been confirmed to be discarded as the number of transfer packets Means for recognizing that the retransmitted packet has been discarded when delivery is confirmed selectively. The order number is higher than highACK and lower than highDATA, and discarded. Means for setting the total number of packets that have not been confirmed as the number of transfer packets means for determining the number of retransmissions for each packet;
Means for obtaining a recentSACK that is the sequence number of a packet that has recently been confirmed for selective delivery;
means for obtaining a receiveRxtNum that is the number of retransmissions of a packet having a sequence number of the receiveSACK;
Means for detecting packet drops;
Means for detecting a packet whose number of retransmissions is 1 or more and less than receiveRxtNum, the discard is not confirmed, and the order number is smaller than the presentSACK. Means for recognizing that the retransmission of the packet has failed. In this technique, packets discarded during the early recovery procedure cannot be retransmitted. Therefore, a discard retransmission function was added.

SACK情報を含むACKパケットを受信した時、再送が失敗したパケットを優先的に送信すればよい。つまり、再送が失敗したパケットのうち、順序番号が小さいパケットから順次再送する手段を追加する。   When an ACK packet including SACK information is received, a packet for which retransmission has failed may be transmitted with priority. That is, a means for sequentially retransmitting from the packet with the smallest sequence number among the packets for which retransmission failed is added.

本発明によれば、転送パケット数を精度高く推定できるため従来の方式より高いスループットが期待できる。また、無意味なタイムアウトが発生する確率は従来の方式より小さくなる効果を有する。さらに、受信局側の実装の変更ならびにパケット構成の変更を必要としない。   According to the present invention, since the number of transfer packets can be estimated with high accuracy, a higher throughput than that of the conventional method can be expected. In addition, the probability that a meaningless timeout occurs is smaller than that of the conventional method. Furthermore, it is not necessary to change the implementation on the receiving station side or the packet configuration.

次に、本発明の実施の形態について図面を参照して説明する。   Next, embodiments of the present invention will be described with reference to the drawings.

本実施形態では、受信局3は従来と同じ機能を有している。図1は本実施形態での送信局2の機能ブロック図である。   In this embodiment, the receiving station 3 has the same function as the conventional one. FIG. 1 is a functional block diagram of the transmitting station 2 in this embodiment.

本実施例での送信局では、図3の従来技術での送信局において、パケット送信処理部101、転送パケット数推定部107、スコアボード204をそれぞれパケット送信処理部1101、転送パケット数推定部1107、スコアボード1204に置き換え、再送パケットの再送失敗を確認する再送失敗確認検出部1108と、recentSACKの値が保持されている直近選択的送達確認順序番号レジスタ1201と、recentRxtNumの値が保持されている直近選択的送達確認順序番号レジスタ1202が追加されている。   In the transmission station in the present embodiment, the packet transmission processing unit 101, the transfer packet number estimation unit 107, and the scoreboard 204 in the transmission station in the prior art of FIG. In this case, the scoreboard 1204 replaces the retransmission failure confirmation detection unit 1108 for confirming the retransmission failure of the retransmission packet, the latest selective delivery confirmation sequence number register 1201 in which the value of the reentSACK is held, and the value of the currentRxtNum. A last selective delivery confirmation sequence number register 1202 has been added.

スコアボード1204では、再送回数を意味する要素を追加している。   In the scoreboard 1204, an element indicating the number of retransmissions is added.

転送パケット数推定部1106内のpipe算出アルゴリズムを従来のpipe算出アルゴリズムでの条件(b)を外す。   The pipe calculation algorithm in the transfer packet number estimation unit 1106 is removed from the condition (b) in the conventional pipe calculation algorithm.

次に、追加した機能ブロックである再送失敗確認部1108の機能を説明する。   Next, the function of the retransmission failure confirmation unit 1108, which is an added functional block, will be described.

指定されたパケット(順序番号をMとする)の再送が失敗しているか調べる。
1.累積的送達確認順序番号レジスタ206からhighACKを取得する。
2.直近選択的送達確認順序番号レジスタ1201からrecentSACKを取得する。
3.直近選択的送達確認再送回数レジスタ1202からrecentRxtNumを取得する。
4.以下の条件を満たす時、真を返す。
It is checked whether the retransmission of the designated packet (sequence number is M) has failed.
1. A high ACK is obtained from the cumulative delivery confirmation sequence number register 206.
2. ReceiveSACK is obtained from the latest selective delivery confirmation sequence number register 1201.
3. ReceiveRxtNum is acquired from the latest selective delivery confirmation retransmission number register 1202.
4). Returns true when the following conditions are met:

パケット廃棄確認部105での処理により廃棄が確認されていない。   The packet discard confirmation unit 105 has not confirmed the discard.

順序番号MがhighACK+1以上であり、recentSACK未満
スコアボード1204において、順序番号Mの再送回数が1以上であり、recentRxtNum以下である。
The sequence number M is higher than ACK + 1 and less than the presentSACK. In the scoreboard 1204, the number of retransmissions of the sequence number M is 1 or more and less than or equal to reentRxtNum.

次に、修正した機能ブロックの機能を説明する。   Next, the function of the corrected functional block will be described.

次送信パケット決定部1106
従来の技術での条件B1の前に、次の条件B0を追加する。
B0:再送失敗確認部1108での処理により再送の失敗が確認されたパケットの内、最小の順序番号を持つ。
上記の条件B0の追加により、再送パケットが再度廃棄されても早期回復状態中に再送可能となる。
Next transmission packet determination unit 1106
The following condition B0 is added before the condition B1 in the prior art.
B0: It has the smallest sequence number among the packets whose retransmission failure has been confirmed by the processing in the retransmission failure confirmation unit 1108.
By adding the above condition B0, even if the retransmission packet is discarded again, it can be retransmitted during the early recovery state.

パケット送信処理部1101
従来技術の処理において、以下の処理を追加する。
再送パケットを送信した時:スコアボード1204での再送回数を1つ追加する。
Packet transmission processor 1101
In the prior art processing, the following processing is added.
When a retransmission packet is transmitted: One retransmission number is added on the scoreboard 1204.

転送パケット数推定部1106:前述のpipe算出アルゴリズムにより、pipe値を求め、その値を転送パケット数レジスタ205に書き込む。   Transfer packet number estimation unit 1106: The pipe value is obtained by the above-described pipe calculation algorithm, and the value is written in the transfer packet number register 205.

本実施形態で、図5で示したシナリオに適用した時のACK503を受信した時の処理を説明する。
・順序番号が10の初送パケットに対するACKを受信した時
従来の機能と同じ動作をするが、スコアボードの更新処理が異なる。ただし、スコアボードは表5のようになる。
In this embodiment, a process when an ACK 503 is received when applied to the scenario shown in FIG. 5 will be described.
When the ACK for the first transmission packet with the sequence number 10 is received, the same operation as the conventional function is performed, but the scoreboard update process is different. However, the scoreboard is as shown in Table 5.

Figure 2007243447
・次に、順序番号が9の再送パケットに対するACKを受信した時
この時、新たに選択的送達確認したパケットの順序番号は9である。よって、recentSACKは9となる。表5より、順序番号が9の再送回数値は1であるため、recentRxtNumは1となる。
Figure 2007243447
Next, when an ACK is received for a retransmitted packet whose sequence number is 9, the sequence number of the packet that is newly confirmed for selective delivery is 9 at this time. Therefore, the presentSACK is 9. As shown in Table 5, since the number of retransmissions having the sequence number 9 is 1, the currentRxtNum is 1.

再送失敗確認部1108での処理により、順序番号が6から8までのパケットの再送の失敗が確認される。   By the processing in the retransmission failure confirmation unit 1108, the failure of retransmission of the packets having the sequence numbers 6 to 8 is confirmed.

また、本発明のpipe算出アルゴリズムにより、転送パケット推定部1107で得られたpipe値は0となり、実際の値と一致する。よって、修正された次送信パケット決定部1106での処理により、6から8までのパケットはタイムアウトが発生することなく順次再送することができる。   Also, the pipe value obtained by the transfer packet estimation unit 1107 by the pipe calculation algorithm of the present invention is 0, which matches the actual value. Thus, the modified next transmission packet determination unit 1106 can retransmit the packets from 6 to 8 sequentially without time-out.

次に、順序番号が6から8までの再送パケットのうち、順序番号が7だけのパケットが破棄された場合を考える。順序番号が6のパケットを累積的に送達確認し、順序番号が8のパケットを選択的に送達確認しているACKを受信した後のスコアボードを表6に示す。   Next, let us consider a case where a packet with only the sequence number 7 is discarded among the retransmitted packets with the sequence numbers 6 to 8. Table 6 shows the scoreboard after receiving an ACK that accumulatively confirms packets with sequence number 6 and selectively acknowledges packets with sequence number 8.

Figure 2007243447
この時、recentSACKは8となり、表6よりrecentRxtNumは2となる。再送失敗確認部1108での処理により、順序番号が7のパケットの廃棄が確認される。次送信パケット決定部1106により、このパケットは再送される。
Figure 2007243447
At this time, the receiveSACK is 8 and the receiveRxtNum is 2 from Table 6. By the processing in the retransmission failure confirmation unit 1108, it is confirmed that the packet with the sequence number 7 is discarded. The next transmission packet determination unit 1106 retransmits this packet.

本発明の一実施形態によるコンピュータネットワークシステムの送信局のブロック図である。It is a block diagram of the transmitting station of the computer network system by one Embodiment of this invention. 従来のコンピュータネットワークシステムの構成図である。It is a block diagram of the conventional computer network system. 図1のコンピュータネットワークシステムにおける送信局のブロック図である。It is a block diagram of the transmitting station in the computer network system of FIG. 図1のコンピュータネットワークシステムにおける受信局のブロック図である。It is a block diagram of the receiving station in the computer network system of FIG. 図1のコンピュータネットワークシステムにおけるパケットとACKの流れを示すシーケンス図(その1)である。FIG. 3 is a sequence diagram (part 1) illustrating a flow of packets and ACKs in the computer network system of FIG. 図1のコンピュータネットワークシステムにおけるパケットとACKの流れを示すシーケンス図である。It is a sequence diagram which shows the flow of the packet and ACK in the computer network system of FIG.

符号の説明Explanation of symbols

1 コンピュータネットワーク
2 送信局
3 受信局
101,1101 パケット送信処理部
102 ACK受信処理部
103 フロー制御部
104 スコアボード管理部
105 パケット廃棄確認部
106,1106 次送信パケット送信部
107,1107 転送パケット数推定部
1108 再送失敗確認部
201 初送パケットバッファ
202 再送パケットバッファ
203 輻輳ウインドウサイズレジスタ
204,1204 スコアボード
205 転送パケット数レジスタ
206 累積的確認順序番号レジスタ
207 送信済順序番号レジスタ
208 再送済最大順序番号レジスタ
301 パケット受信処理部
302 ACK送信処理部
303 SACK情報作成部
401 受信バッファ
402 受信期待順序番号レジスタ
1201 直近選択的送達確認順序番号レジスタ
1202 直近選択的送達確認再送回数レジスタ
DESCRIPTION OF SYMBOLS 1 Computer network 2 Transmission station 3 Receiving station 101,1101 Packet transmission process part 102 ACK reception process part 103 Flow control part 104 Score board management part 105 Packet discard confirmation part 106,1106 Next transmission packet transmission part 107,1107 Estimate number of transfer packets Section 1108 Retransmission failure confirmation section 201 Initial transmission packet buffer 202 Retransmission packet buffer 203 Congestion window size register 204, 1204 Scoreboard 205 Transfer packet number register 206 Cumulative confirmation sequence number register 207 Transmitted sequence number register 208 Retransmitted maximum sequence number register 301 packet reception processing unit 302 ACK transmission processing unit 303 SACK information generation unit 401 reception buffer 402 reception expected sequence number register 1201 latest selective delivery probability Acknowledgment sequence number register 1202 Last selective delivery confirmation retransmission number register

Claims (9)

送信局ではパケットに順序番号を付与して送信し、受信局では、累積的に順序正しく受信したパケットの順序番号を前記送信局に通知し、前記受信局では、順序抜けのあったパケットを保存し、前記送信局では、前記送信局と前記受信局の間のネットワーク上に存在する累積的な送達未確認のパケットの数であるウインドウサイズを制限する通信システムにおいて、
送信局にあって、
前記ネットワーク上に存在する転送中のパケットの数をカウントする手段と
該転送中のパケット数とウインドウサイズを比較し、転送中のパケット数がウインドウサイズより大きい場合、パケットを送信する手段
を有するパケット送信制御装置。
The transmitting station assigns a sequence number to the packet and transmits the packet. The receiving station notifies the transmitting station of the sequence number of the packet received in a cumulative order, and the receiving station stores the packet that is out of order. In the communication system for limiting the window size, which is the cumulative number of unacknowledged packets existing on the network between the transmitting station and the receiving station, in the transmitting station,
In the transmitter station
A packet having means for counting the number of packets being transferred existing on the network, and means for comparing the number of packets being transferred with a window size, and transmitting a packet when the number of packets being transferred is larger than the window size. Transmission control device.
累積的もしくは選択的に送達未確認のパケットにおいて、
廃棄が確認されていないパケットをカウントする手段と、
該カウント結果を前記転送パケット数として設定する手段と
をさらに有する、請求項1に記載のパケット送信制御装置。
In cumulative or selectively unacknowledged packets,
A means of counting packets that have not been confirmed to be discarded;
The packet transmission control device according to claim 1, further comprising: means for setting the count result as the number of transfer packets.
累積的に送達確認されているパケットの最大の順序番号であるhighACKを取得する手段と、
送信したパケットにおいて最大の順序番号であるhighDATAを取得する手段と、
順序番号がhighACK以上でhighDATA以下であり、廃棄が確認されていないパケットの総数を検出する手段と、
該総数を前記転送パケット数として設定する手段と
をさらに有する、請求項2に記載のパケット送信制御装置。
Means for obtaining highACK, which is the maximum sequence number of packets that are cumulatively acknowledged;
Means for obtaining highDATA which is the maximum sequence number in the transmitted packet;
Means for detecting the total number of packets whose sequence number is higher than highACK and lower than highDATA and whose discard is not confirmed;
The packet transmission control device according to claim 2, further comprising means for setting the total number as the number of transfer packets.
送信局ではパケットに順序番号を付与して送信し、受信局では、累積的に順序正しく受信したパケットの順序番号を前記送信局に通知し、前記受信局では、順序抜けのあったパケットを保存し、前記送信局では、前記送信局と前記受信局の間のネットワーク上に存在する累積的な送達未確認のパケットの数であるウインドウサイズを制限する通信システムにおいて、
送信局にあって、再送パケットの廃棄を検出する手段を有するパケット送信制御装置。
The transmitting station assigns a sequence number to the packet and transmits the packet. The receiving station notifies the transmitting station of the sequence number of the packet received in a cumulative order, and the receiving station stores the packet that is out of order. In the communication system for limiting the window size, which is the cumulative number of unacknowledged packets existing on the network between the transmitting station and the receiving station, in the transmitting station,
A packet transmission control apparatus having a means for detecting discard of a retransmission packet in a transmitting station.
前記送信局が、
ある再送パケットにおいて、その後続の再送パケットが先に選択的に送達確認されたかどうかを検出する手段と、
選択的に送達確認された時、該再送パケットが廃棄されたことを認識する手段と
をさらに有する、請求項4に記載のパケット送信制御装置。
The transmitting station is
Means for detecting whether a subsequent retransmission packet has been selectively acknowledged first in a certain retransmission packet;
The packet transmission control device according to claim 4, further comprising: means for recognizing that the retransmission packet is discarded when delivery is selectively confirmed.
各パケットごとに再送回数を求める手段と、
直近に新たに選択的に送達確認したパケットの順序番号であるrecentSACKを取得する手段と、
前記recentSACKの順序番号を持つパケットの再送回数であるrecentRxtNumを取得する手段と、
パケットの廃棄を確認する手段と、
再送回数が1以上でかつ前記recentRxtNum以下であり、廃棄が確認されておらず、順序番号が前記recentSACKより小さいパケットを検出する手段と、
該パケットの再送が失敗したと認識する手段と
を含む、請求項5に記載のパケット送信制御装置。
Means for determining the number of retransmissions for each packet;
Means for obtaining a recentSACK that is a sequence number of a packet that has recently been selectively confirmed for delivery;
Means for obtaining the currentRxtNum, which is the number of retransmissions of the packet having the order number of the presentSACK;
A means of confirming packet discard;
Means for detecting a packet whose number of retransmissions is not less than 1 and not more than the presentRxtNum, the discard is not confirmed, and the sequence number is smaller than the presentSACK;
The packet transmission control device according to claim 5, further comprising: a unit that recognizes that retransmission of the packet has failed.
前記送信局が、再送が失敗したと認識した前記パケットを送信する手段を含む、請求項6に記載のパケット送信制御装置。   The packet transmission control device according to claim 6, comprising means for transmitting the packet that the transmission station has recognized as having failed in retransmission. 前記送信局が、再送が失敗したと認識されたパケットのうち、順序番号が小さいパケットから順次再送する手段を含む、請求項7に記載のパケット送信制御装置。   The packet transmission control device according to claim 7, further comprising means for retransmitting sequentially from a packet with a smaller sequence number among packets recognized as having failed in retransmission. 前記送信局が、
累積的もしくは選択的に送達確認されていないパケットにおいて、
該パケットの順序番号より大きい順序番号が持つパケットがある決められた回数以上、選択的に送達確認された時、該パケットの廃棄が確認されたと認識する手段を含む、請求項2から8のいずれかに記載のパケット送信制御装置。
The transmitting station is
In packets that have not been acknowledged cumulatively or selectively,
9. The method according to any one of claims 2 to 8, further comprising means for recognizing that the discard of the packet is confirmed when the packet having the sequence number larger than the sequence number of the packet is selectively confirmed for a predetermined number of times or more. The packet transmission control device according to claim 1.
JP2006061405A 2006-03-07 2006-03-07 Packet transmission control apparatus Pending JP2007243447A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006061405A JP2007243447A (en) 2006-03-07 2006-03-07 Packet transmission control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006061405A JP2007243447A (en) 2006-03-07 2006-03-07 Packet transmission control apparatus

Publications (1)

Publication Number Publication Date
JP2007243447A true JP2007243447A (en) 2007-09-20

Family

ID=38588556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006061405A Pending JP2007243447A (en) 2006-03-07 2006-03-07 Packet transmission control apparatus

Country Status (1)

Country Link
JP (1) JP2007243447A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009089197A (en) * 2007-10-01 2009-04-23 Fujitsu Ltd Repeating device
JP2015133669A (en) * 2014-01-15 2015-07-23 株式会社日立製作所 Communication device
JP2016225767A (en) * 2015-05-29 2016-12-28 アンリツネットワークス株式会社 Packet transfer system, relay device, packet transfer method and program
JP2018511275A (en) * 2015-04-10 2018-04-19 ドイッチェ テレコム アーゲー Method and system for scheduling packets in bundling scenarios based on TCP tunnel and native TCP information

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009089197A (en) * 2007-10-01 2009-04-23 Fujitsu Ltd Repeating device
JP2015133669A (en) * 2014-01-15 2015-07-23 株式会社日立製作所 Communication device
JP2018511275A (en) * 2015-04-10 2018-04-19 ドイッチェ テレコム アーゲー Method and system for scheduling packets in bundling scenarios based on TCP tunnel and native TCP information
US10673991B2 (en) 2015-04-10 2020-06-02 Deutsche Telekom Ag Method and system for the scheduling of packets in a bundling scenario based on TCP tunnels and native TCP information
JP2016225767A (en) * 2015-05-29 2016-12-28 アンリツネットワークス株式会社 Packet transfer system, relay device, packet transfer method and program

Similar Documents

Publication Publication Date Title
US11641387B2 (en) Timely delivery of real-time media problem when TCP must be used
Allman et al. Estimating loss rates with TCP
US9178665B2 (en) Communication apparatus, communication system, absent packet detecting method and absent packet detecting program
US7496038B2 (en) Method for faster detection and retransmission of lost TCP segments
US9577791B2 (en) Notification by network element of packet drops
EP1691526A1 (en) Transmission control protocol (TCP) congestion control using multiple TCP acknowledgements (ACKs)
KR100787294B1 (en) Tcp progress apparatus in mobile communication base station
KR100842281B1 (en) Apparatus for managing performance of transport control protocol using path recovery notification in wireless network and method using the same
JP4546542B2 (en) Data flow control using duplicate receipt confirmation
US20080195912A1 (en) Method of communicatoin
WO2014092779A1 (en) Notification by network element of packet drops
KR20030060062A (en) Window based stall avoidance mechanism for high speed wireless communication system
EP2978171A1 (en) Communication method, communication device, and communication program
EP2613497A2 (en) Method of transporting data in a sub-segmented manner
US20060133379A1 (en) Method, system and article for improved TCP performance during retransmission in response to selective acknowledgement
US11824954B2 (en) Reliable transport protocol and hardware architecture for datacenter networking
JP2007243447A (en) Packet transmission control apparatus
EP3941007A1 (en) Content addressable memory (cam) based hardware architecture for datacenter networking
US10789115B2 (en) Transmitter that does not resend a packet despite receipt of a message to resend the packet
JP5761193B2 (en) Communication apparatus, communication system, packet retransmission control method, and packet retransmission control program
West et al. TCP enhancements for heterogeneous networks
KR101511225B1 (en) Network connecting device and method for controlling packet transmisstion and reception
JP2007201927A (en) Error rate estimation device
US10205562B1 (en) Method and apparatus for error correction
CN117203627A (en) Apparatus and method for remote direct memory access