WO2006025469A1 - フロー制御方法、通信機器、及びtcp通信システム - Google Patents

フロー制御方法、通信機器、及びtcp通信システム Download PDF

Info

Publication number
WO2006025469A1
WO2006025469A1 PCT/JP2005/015945 JP2005015945W WO2006025469A1 WO 2006025469 A1 WO2006025469 A1 WO 2006025469A1 JP 2005015945 W JP2005015945 W JP 2005015945W WO 2006025469 A1 WO2006025469 A1 WO 2006025469A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
segment
communication device
supplement
transmitted
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.)
Ceased
Application number
PCT/JP2005/015945
Other languages
English (en)
French (fr)
Inventor
Satoshi Utsumi
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.)
Advantest Corp
Original Assignee
Advantest 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 Advantest Corp filed Critical Advantest Corp
Publication of WO2006025469A1 publication Critical patent/WO2006025469A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures

Definitions

  • the present invention relates to a flow control method, a communication device, and a TCP communication system.
  • the present invention relates to a flow control method in data communication using TCP, a communication device that performs data communication using TCP, and a TCP communication system that includes a transmission-side communication device and a reception-side communication device.
  • TCP Transmission Control Protocol
  • Tahoe, TCP -Reno, TCP — NewReno, TCP -Peach, TCP— PeachPlus and other versions have been proposed
  • Non-Patent Document 1 1. F. Akyildiz, G. Morabito, S. Palazzo, TCP -Peach: A New Congestion Control Scheme for Satellite IP Networks, IEEE / A CM Transactions on Networking, June 2001, Vol. 9, No. 3, p. 307- 321
  • Non-Patent Document 2 G. Morabito, IF Akyildiz, S. Palazzo, TCP-Peach: Analytical Model and Performance Evaluation ⁇ International Journal of Sa tellite Communications ⁇ September / Octorber 2001, Vol. 19, No. 5, p. 429 -442
  • Non-Patent Document 3 1. F. Akyildiz, G. Morabito, S. Palazzo, Research Issues for Transport Protocols in Satellite IP Networks ⁇ IEEE Personal Communications ⁇ June 2001, Vol. 8, No. 3, p. 44— 48
  • Non-Patent Document 4 1. F. Akyildiz, Xin Zhang, Jian Fang, TCP-PeachPlus: Enh ancement of TCP Peacn for Satellite IP Networks ⁇ IEEE Communications Letters, July 2002, Vol. 6, No. 7, p. 303—305
  • Non-Patent Document 5 M. Mathis ⁇ J. Mahdavi, S. Floyd, A. Romanow, TCP Selective Acknowledgement Option, RFC 2018, October 1996
  • Non-Patent Document 6 S. Floyd, J. Mahdavi, M. Mathis, M. Podolsky, An Extensi on to the Selective Acknowledgement (SACK) Option for TCP, RF
  • Non-Patent Document 7 V. Jacobson, Congestion Avoidance and Control, in Proc. ACM SIGCOMM, August 1988, p. 314—329
  • Patent Document 8 V. Jacobson, Modified TCP Congestion Avoidance Algori thm, Technical Report ⁇ April 1990
  • Non-Patent Document 9 K. Fall, S. Floyd, Simulaton— Based Comparisons of Tahoe, Reno and SACK TCP, ACM Computer Communication Review ⁇ July 1996, Vol. 26, No. 3, p. 5— 12
  • Non-Patent Document 10 K. Fall, K. Varadhan, ns Notes and Documentation, Technical Report ⁇ the VINT UC Berkeley ⁇ LBL ⁇ USC / ISI, Xerox PARC, 2003
  • Non-Patent Document 11 S Utsumi, SMS Zabir, G. Kitagata, N. Shiratori, Improving TCP Performance over Wireless with Data Link Layer ARQ, Information Processing Society of Japan (IPSJ) Journal ⁇ April 2004, Vol. 45, No. 4, p. 1112- 1120
  • Non-Patent Document 12 S. Utsumi, S. M. S. Zabir, N. Shiratori, An Efficient App roach to Improve TCP Performance over Wireless Networks ⁇ Lectu re Notes in Computer Science (LNCS) 2510, Octorber 2002, p. 916-925
  • the flow control method by TCP-Reno or TCP-NewReno is based on the number of flows.
  • the link bandwidth can be used efficiently in a network with a large bandwidth delay product or a network in which many packets are lost due to a link error, especially in a satellite network. Cannot be used efficiently.
  • the flow control method using TCP-Peach or TCP-PeachPlus efficiently uses the link bandwidth in a network with a large bandwidth delay product or a network in which many packets are lost due to a link error, especially in a satellite network.
  • the ability to receive TCP fairness of throughput between TCP flows by tampering the receiving host to send back more acknowledgments than the segments received from the sending host to measure the available bandwidth There is a problem that gender is impaired.
  • an object of the present invention is to provide a test apparatus that can solve the above-described problems.
  • This object is achieved by a combination of features described in the independent claims.
  • the dependent claims define further advantageous specific examples of the present invention.
  • a flow control method in data communication using TCP in which a data string having a data string to be delivered to an application of a receiving-side communication device is also used as a data segment.
  • the data segment transmission stage to be transmitted as the data segment, and the data that has not been transmitted yet in the data string, and the data that has not been transmitted, the data that does not continue to the leading data in the data string is the supplement segment As a supplement segment transmission stage, and a bandwidth measurement stage for measuring the available network bandwidth based on an acknowledgment sent from the receiving communication device to the supplement segment.
  • the priority at which the supplement segment is transferred by the communication device in the network may be lower than the priority at which the data segment is transferred by the communication device in the network.
  • the priority at which the acknowledgment for the supplement segment is transferred by the communication device in the network is the same as the priority at which the supplement segment is transferred by the communication device in the network.
  • the priority transferred by the device is the priority at which the data segment is transferred by the communication device in the network. It may be equal to the previous one.
  • the data positioned between the data that has been transmitted from the head of the data string and the data that has been transmitted as the supplement segment are stored in the data string. You may have the step which transmits as a segment.
  • the supplement segment transmission step includes a step of transmitting, as a supplement segment, data that is located at the rear of a predetermined number of segments among the data that has been transmitted. Moyo.
  • the leading force of the data string is continuous.
  • the method may include a step of transmitting the data located at the rearmost of the data not transmitted as the supplement segment as the supplement segment.
  • the supplement segment transmission stage starts with the data of sequence number t ⁇ seqno + maxcwnd Maxcwnd—in the ascending jet—select one piece of data while sending the selected data as a supplement segment.
  • the supplement segment transmission stage is the sequence number. After selecting the data up to curseq in ascending order from the data of t—seqno + maxcwnd while sending the selected data as a supplement segment, the data is sent in descending order from the data of sequence number t—seqno + maxcwnd—1. While selecting, the method may include a step of transmitting the selected data as a supplement segment.
  • the supplement segment is transmitted in descending order from the data of sequence number power Curseq.
  • the selected data may be transmitted as a supplement segment while selecting.
  • the number of data segments is the case where N acknowledgments requesting transmission of the same data segment are received from the receiving-side communication device, and the transmission of the data string is completed.
  • the data segment transmission stage has a stage to retransmit the data segment determined to be lost in the network
  • the supplement segment transmission stage has a sequence number of t—seqno + maxcwnd Data data Ascending order curseq—Crying out selected data as a supplement segment while selecting cwndZ2 data.
  • the number of data segments is the case where N acknowledgments requesting transmission of the same data segment are received from the receiving-side communication device in duplicate, and the transmission of the data string is completed.
  • the data segment transmission stage has a stage to retransmit the data segment determined to be lost in the network
  • the supplement segment transmission stage has a sequence While selecting the data up to curseq in ascending order from the data with the number t—seqno + maxcwnd, the selected data is sent as a supplement segment, and then the data with the sequence number t—seqno + maxcw nd-1 in descending order You may have the step of sending the selected data as a supplement segment while selecting the data!
  • the data segment transmission step may include a step of transmitting the data segment to the receiving-side communication device when the pipe value indicating the number of data segments existing in the network is equal to or less than cwnd.
  • the bandwidth measurement stage does not depend on the confirmation response to the data that has already received the confirmation response among the confirmation responses to the supplement segment, but still receives the confirmation response and is based on the confirmation response to V and the data. ! /, To measure available network bandwidth A step of determining.
  • the communication device performs data communication by TCP, and the application power of the transmission side communication device is the data included in the data string to be transferred to the application of the reception side communication device.
  • Select the data segment transmission part to be transmitted as a segment and data that has not been completely transmitted in the data string and that has not been transmitted, and that is not contiguous to the data that is the leading force of the data string.
  • a bandwidth measuring unit for measuring the width.
  • a TCP communication system including a transmission-side communication device and a reception-side communication device, wherein the transmission-side communication device is changed from an application of the transmission-side communication device to an application of the reception-side communication device.
  • a data segment transmission unit that transmits data included in the data string to be transferred to the data segment as data segments, and data that has not been transmitted yet in the data string.
  • a data selection unit that selects data that is not continuous from the beginning, a supplement segment transmission unit that transmits the data selected by the data selection unit as a supplement segment, and a receiving side communication device card for the supplement segment.
  • Bandwidth to measure available network bandwidth based on acknowledgment sent by And a measurement unit.
  • the receiving communication device receives a data segment and a sub-segment segment transmitted from the transmitting communication device, and when the receiving unit receives the data segment or the supplement segment, the receiving unit Acknowledgment response that transmits to the transmitting side communication device an acknowledgment in which the last received data segment or supplement segment data sequence number is added to the data segment and supplement segment data sequence numbers already received You may have a transmission part.
  • maxcwnd is the maximum number of congestion windows that the sending communication device is allowed to assign to the receiving communication device
  • t-seqno is a sequence of data that has not been transmitted.
  • the sequence number of the data with the smallest number is used, and curseq is The sequence number of the data with the largest sequence number among the data that has not been transmitted in the data string is the sequence number
  • cwnd is the number of congestion windows corresponding to the bandwidth measured in the bandwidth measurement stage.
  • Cwn d may be the number of congestion windows just before receiving N duplicate acknowledgments.
  • the fairness of throughput between TCP flows is not lost due to fraud by the receiving-side communication device, and many packets are generated due to the large bandwidth delay product, network and link errors.
  • Link bandwidth can be used efficiently in lost networks, especially satellite networks.
  • FIG. 1 is a diagram showing an example of a TCP communication system 100.
  • FIG. 1 is a diagram showing an example of a TCP communication system 100.
  • FIG. 2 is a diagram illustrating an example of a flow control method by the transmission-side communication device 102.
  • FIG. 3 is a diagram showing a first example of a supplement segment selection method.
  • FIG. 4 is a diagram showing a second example of a supplement segment selection method.
  • FIG. 5 is a diagram showing a third example of a supplement segment selection method.
  • FIG. 6 is a diagram showing a first example of a supplement segment selection method.
  • FIG. 7 is a diagram showing a second example of a supplement segment selection method.
  • FIG. 8 is a diagram showing a third example of a supplement segment selection method.
  • FIG. 9 is a diagram showing another example of the transition from the congestion avoiding process to another process.
  • FIG. 1 shows an example of a TCP communication system 100 according to an embodiment of the present invention.
  • the TCP communication system 100 includes a transmission side communication device 102 and a reception side communication device 104.
  • the transmission side communication device 102 and the reception side communication device 104 perform data communication by TCP via the network 106 such as a satellite IP network.
  • the TCP communication system 100 improves the TCP performance in the network 106 such as a satellite IP network in which many packets are lost due to link errors, and unfairly large throughput due to the illegality of the receiving communication device 104.
  • the purpose of this is to modify the TCP—Peach flow control method in order to prevent this from happening.
  • the version of the flow control method of the TCP communication system 100 according to this embodiment is called TCP-Cherry.
  • the transmission-side communication device 102 includes a data string storage unit 110, a data segment transmission unit 112, a timer unit 114, a pipe value holding unit 116, an acknowledgment response receiving unit 118, a communication interface 120, a duplication confirmation response counter unit 124, Bandwidth measurement unit 126, data selection unit 128, and supplement A segment transmission unit 130 is included.
  • the receiving-side communication device 104 includes a receiving unit 132, a notch 134, a communication interface 138, and an acknowledgment transmission unit 140. Note that the transmitting communication device 102 and the receiving communication device 104 may have the same function. That is, each component of the transmission side communication device 102 shown in FIG. 1 may be included in the reception side communication device 104. Each component of the reception side communication device 104 shown in FIG. May have.
  • the data string storage unit 110 stores a data string to be transferred to the application of the receiving communication device 104 as well as the application capability of the transmitting communication device 102.
  • the data segment transmission unit 112 transmits data included in the data sequence stored in the data sequence storage unit 110 as a data segment via the communication interface 120.
  • the confirmation response receiving unit 118 receives the confirmation response transmitted from the receiving-side communication device 104 for the data segment transmitted from the data segment transmitting unit 112 via the communication interface 120.
  • the pipe value holding unit 116 holds a pipe value indicating the number of data segments existing in the network 106.
  • the pipe value holding unit 116 updates the held pipe value based on the confirmation response received by the confirmation response receiving unit 118. Specifically, the pipe value holding unit 116 increases the pipe value by 1 when the data segment transmission unit 112 transmits the data segment to the network 106, and the confirmation response receiving unit 118 confirms the confirmation response to the data segment. When receiving, pipe value is decreased by 1.
  • the pipe value holding unit 116 is used when the supplement segment transmitting unit 130 transmits a supplement segment to the network 106, and when the confirmation response receiving unit 118 receives an acknowledgment for the supplement segment. Do not increase or decrease.
  • the timer unit 114 measures the time from when the data segment transmission unit 112 transmits a data segment until the confirmation response reception unit 118 receives a confirmation response to the data segment. Then, after the data segment transmitting unit 112 transmits the data segment and the confirmation response receiving unit 118 does not receive the confirmation response for the data segment for a predetermined time after the data segment transmitting unit 112 transmits the data segment, It is determined that the data segment has been lost on the network 106, and the bandwidth measurement unit 126 is notified accordingly.
  • the duplicate confirmation response counter unit 124 counts the number of confirmation responses that request transmission of the same data segment from the receiving-side communication device 104.
  • the duplicate confirmation response counter unit 124 receives N confirmation responses that request transmission of the same data segment from the receiving-side communication device 104 in duplicate when a predetermined number N is received. By receiving the duplicate confirmation response, it is determined that the corresponding data segment has been lost on the network 106, and the bandwidth measuring unit 126 is notified accordingly.
  • the bandwidth measuring unit 126 can use the available network 106 when a time-out is notified by the timer unit 114 or when reception of N duplicate confirmation responses is notified by the duplicate confirmation response counter unit 124. Measure the number of congestion windows corresponding to the bandwidth, ie cwnd. In other words, the bandwidth measuring unit 126 causes the supplement segment transmitting unit 130 to transmit the sublement segment, and measures cwn d based on the confirmation response to the supplement segment. Note that the bandwidth measuring unit 126 does not depend on the confirmation response for the confirmation response receiving unit 118 that has already received the confirmation response among the confirmation responses to the supplement segment, and the confirmation response receiving unit 118 has not yet confirmed. Receive the response and measure cwnd based on the confirmation response to the correct data.
  • the data selection unit 128 includes the data segment transmission unit among the data that the data sequence stored in the data sequence storage unit 110 has not been transmitted by the data segment transmission unit 112.
  • the supplement segment transmission unit 130 transmits a supplement segment including the data selected by the data selection unit 128 as a payload of the packet via the communication interface 120.
  • the confirmation response receiving unit 118 receives the confirmation response transmitted from the receiving-side communication device 104 for the supplement segment transmitted from the supplement segment transmitting unit 130 via the communication interface 120.
  • the bandwidth measuring unit 126 measures cwnd based on whether or not the acknowledgment receiving unit 118 has received the acknowledgment for the supplement segment.
  • the data segment transmission unit 112 transmits the data string stored in the data string storage unit 110 when the cwnd measured by the bandwidth measurement unit 126 is equal to or greater than the pipe value held by the pipe value holding unit 116.
  • the data with the smallest sequence number is transmitted as a data segment.
  • the data segment has a high communication priority
  • the supplement segment has a low communication priority. That is, the priority in which the supplement segment is transferred by the communication devices in the network 106 including the transmission side communication device 102 and the reception side communication device 104 is the same as the priority in which the data segment includes the transmission side communication device 102 and the reception side communication device 104.
  • the data segment is transferred first.
  • the priority that the supplement segment is not discarded by the communication devices in the network 106 including the transmission side communication device 102 and the reception side communication device 104 indicates that the data segment includes the transmission side communication device 102 and the reception side communication device 104.
  • the supplement segment is discarded first.
  • the priority in the acknowledgment response for the supplement segment is equal to the priority in the communication of the data segment.
  • the state where data transmission is completed means that the data segment transmission unit 112 has transmitted data as a data segment and has already received an acknowledgment for the data.
  • the supplement segment transmission unit 130 transmits the data as a supplement segment, and the confirmation response reception unit 118 The confirmation response to the data is received.
  • the detected lost data is detected. Is retransmitted.
  • the receiving unit 132 receives the data segment and the supplement segment transmitted from the transmission-side communication device 102 via the communication interface 138.
  • the nofer 134 holds data segment data or supplement segment data received by the receiving unit 132.
  • the nofer 13 4 receives data that does not have a continuous leading force in the data string from among the data received by the receiving unit 132.
  • the data that is held and the leading force of the data string continues is transferred from the receiving unit 132 to the application.
  • the nofer 134 has a size corresponding to the congestion window number maxcwnd.
  • maxcwnd is, for example, a 16-bit window size.
  • the notifier 134 can buffer the data of the data segment of only the 32-bit window size expressed by the window scale option.
  • Confirmation response transmission section 140 transmits the confirmation response to transmitting side communication device 102 when receiving section 132 receives the data segment or the supplement segment. Specifically, the confirmation response transmission unit 140 adds the data segment or supplement segment data last received by the reception unit 132 to the sequence number of the data segment and sub-segment data already received by the reception unit 132. The confirmation response with the sequence number added is transmitted to the communication device 102 on the transmission side.
  • FIG. 2 shows an example of a flow control method by the transmission side communication device 102 according to the present embodiment.
  • the flow control method by the transmitting communication device 102 includes the first bandwidth measurement process (Surprise Start: S300), the congestion avoidance process (Congestion Avoidance: S302), the occurrence of timeout or the reception of N duplicate confirmation responses (S304). ), First loss segment retransmission step (Retransmit: S306), second loss segment retransmission step (Fast Retransmit: S308), and second bandwidth measurement step Cioyful Recovery (S310).
  • the first bandwidth measurement step (S300) and the second bandwidth measurement step (S310) are an example of the supplement segment transmission step and the bandwidth measurement step of the present invention.
  • the transmission step (S306) and the second loss segment retransmission step (S308) are examples of the data segment transmission step of the present invention.
  • the communication device 102 on the transmission side executes the first bandwidth measurement step (S300) after the TCP connection is established or the data segment is retransmitted due to timeout, that is, after the first loss segment retransmission step (S306). To do.
  • the first bandwidth measurement step (S300) will be described in detail with reference to FIGS.
  • the transmitting-side communication device 102 executes the second bandwidth measurement step (S310) after retransmission of the data segment due to reception of N duplicate confirmation responses, that is, after the second loss segment retransmission step (S308).
  • the second bandwidth measurement step (S310) will be explained in detail in Figs. 6 to 8. To do.
  • the transmission side communication device 102 executes the congestion avoiding step (S302) after executing the first bandwidth measuring step (S300) or after executing the second bandwidth measuring step (S310).
  • the data segment transmission unit 112 sequentially transmits the data stored in the data string storage unit 110 and stored in the data string V as data segments, and the confirmation response reception unit 118 receives the response confirmation. Each time a cwnd is shifted, the data segment is transmitted.
  • the timer unit 114 detects the occurrence of a timeout (S304—l)
  • the duplication confirmation response counter unit 124 detects N acknowledgments that request the same data segment (S304—2). )
  • the congestion avoiding step (S302) ends.
  • FIG. 3 shows a first example of a supplement segment selection method in the first bandwidth measurement step (S 300) according to the present embodiment.
  • S304-1 when the connection starts or a timeout occurs (S304-1), the number of segments of data that has not been transmitted to the receiving communication device 104 among the data sequences stored in the data sequence storage unit 110 is shown. The case of maxcwndX 2 1 or more will be described.
  • the data selection unit 128 completes the transmission.
  • the non-continuous data is selected, and the supplement segment transmitting unit 130 transmits the data selected by the data selecting unit 128 as a supplement segment.
  • the data selection unit 128 selects the supplement segment transmission unit 130 while selecting the maxcwnd—one data in the ascending order of the data with the sequence number t—seqno + maxcwnd. Send data as a supplement segment. Then, the bandwidth measuring unit 126 measures a congestion window cwnd corresponding to the bandwidth of the available network 106 based on the confirmation response transmitted from the receiving-side communication device 104 to the supplement segment.
  • the data segment transmission unit 112 determines the number of data segments existing in the network 106. When the pipe power is less than cwnd, the data that is located between the data that has been transmitted as the data segment and the data that was transmitted as the supplement segment in the data string is transmitted as the data segment. Specifically, data segment transmission section 112 transmits data segments in order from the data of sequence number t-seqno.
  • FIG. 4 shows a second example of the supplement segment selection method in the first bandwidth measurement step (S 300) according to the present embodiment.
  • S304-1 when the connection is started or a timeout occurs (S304-1), the number of segments of data that has not been transmitted to the receiving communication device 104 among the data sequences stored in the data sequence storage unit 110 is shown.
  • the data selection unit 128 completes the transmission.
  • the non-continuous data is selected, and the supplement segment transmitting unit 130 transmits the data selected by the data selecting unit 128 as a supplement segment.
  • the data selection unit 128, as the supplement segment is included in the data string when there is no data located behind the predetermined number of segments from the data that has been transmitted as the data segment in the data string.
  • the data located at the rearmost of the data that has not been transmitted is selected, and the supplement segment transmission unit 130 transmits the data selected by the data selection unit 128 as a supplement segment.
  • the data selection unit 128 selects the data up to curseq in the ascending order of the data with the sequence number t-seqno + maxcwnd, while the supplement segment transmission unit 130 selects the selected data.
  • the data selection unit 128 selects the t—seq no + maxcwnd X 2—curseq—1 data in descending order from the data of the sequence number t—seqno + maxcwnd—1, while the supplement segment transmission unit 130
  • the selected data is transmitted as a supplement segment.
  • the bandwidth measuring unit 126 measures the congestion window cwnd corresponding to the bandwidth of the available network 106 based on the confirmation response transmitted from the receiving-side communication device 104 to the supplement segment.
  • the data segment transmission unit 112 When the data segment transmission unit 112 is less than or equal to the pipe value cwnd indicating the number of data segments existing in the network 106, in the data string, the leading force of the data string continues among the data that has been transmitted.
  • the data located between the data to be transmitted and the data transmitted as the supplement segment is transmitted as the data segment.
  • the data segment transmission unit 112 transmits the data of the sequence number t—seqno as a data segment in order.
  • FIG. 5 shows a third example of the supplement segment selection method in the first bandwidth measurement step (S 300) according to the present embodiment.
  • S304-1 when the connection starts or when a timeout occurs (S304-1), the data sequence stored in the data sequence storage unit 110 is completely transmitted to the receiving communication device 104! The case where the number of segments is less than maxcwnd is explained.
  • the data selection unit 128 adds the supplement in the data sequence.
  • the data located at the rearmost among the data not transmitted as a segment is selected, and the supplement segment transmission unit 130 transmits the data selected by the data selection unit 128 as a supplement segment.
  • the data selection unit 128 selects maxcwnd—one data in descending order from the data with the sequence number curseq, while the supplement segment transmission unit 130 transmits the selected data as a supplement segment. To do. Then, the bandwidth measuring unit 126 measures the congestion window cwnd corresponding to the bandwidth of the available network 106 based on the confirmation response transmitted from the receiving communication device 104 to the supplement segment.
  • the data segment transmission unit 112 transmits data in the data string that has been transmitted when the pipe value cwnd or less indicates the number of data segments existing in the network 106. Among them, the data located between the data whose leading force is continuous and the data transmitted as the supplement segment is transmitted as the data segment. Specifically, the data segment transmission unit 112 transmits the data of the sequence number t—seqno as a data segment in order.
  • FIG. 6 shows a first example of a supplement segment selection method in the second bandwidth measurement step (S310) according to the present embodiment.
  • the data string stored in the data string storage unit 110 is received when N confirmation responses requesting transmission of the same data segment are received from the receiving communication device 104 (S 304-2).
  • N confirmation responses requesting transmission of the same data segment are received from the receiving communication device 104 (S 304-2).
  • the case where the number of segments of data that has not been transmitted to the receiving side communication device 104 is more than maxcwnd X 2 ⁇ cwndZ2 will be described.
  • the data selection unit 128 Upon receipt of the N duplicate confirmation response, after the data segment transmission unit 112 retransmits the data segment (drop) determined to be lost in the network 106, the data selection unit 128 transmits the data for which transmission has been completed. Among the data, the last data force of the continuous data is the data that is located at the rear of the predetermined number of segments, and the data that has been transmitted is V. If the data is not continuous, the supplement segment transmission unit 130 transmits the data selected by the data selection unit 128 as a supplement segment.
  • the data selection unit 128 selects the supplement segment transmission unit 130 while selecting maxcwnd-cwndZ2 data in ascending order from the data with the sequence number t-seqno + maxcwnd. Data is transmitted as a supplement segment. Then, the bandwidth measuring unit 126 measures the congestion window cwnd corresponding to the available bandwidth of the network 106 based on the confirmation response transmitted from the receiving communication device 104 to the supplement segment.
  • the data segment transmission unit 112 When the data segment transmission unit 112 is less than or equal to the pipe value cwnd indicating the number of data segments existing in the network 106, in the data string, the leading force of the data string continues among the data that has been transmitted.
  • the data located between the data to be transmitted and the data transmitted as the supplement segment is transmitted as the data segment.
  • the data segment transmission unit 112 performs data sequentially from the data of the sequence number t—seqno. Send as a segment.
  • FIG. 7 shows a second example of the supplement segment selection method in the second bandwidth measurement step (S310) according to the present embodiment.
  • the data string stored in the data string storage unit 110 is received when N confirmation responses requesting transmission of the same data segment are received from the receiving communication device 104 (S 304-2).
  • N confirmation responses requesting transmission of the same data segment are received from the receiving communication device 104 (S 304-2).
  • the case where the number of segments of data that has not been transmitted to the receiving communication device 104 is not less than maxcwnd and not more than maxcwnd X 2 ⁇ cw ndZ2 ⁇ 1 will be described.
  • the data selection unit 128 Upon receipt of the N duplicate confirmation response, after the data segment transmission unit 112 retransmits the data segment (drop) determined to be lost in the network 106, the data selection unit 128 transmits the data for which transmission has been completed. Among the data, the last data force of the continuous data is the data that is located at the rear of the predetermined number of segments, and the data that has been transmitted is V. If the data is not continuous, the supplement segment transmission unit 130 transmits the data selected by the data selection unit 128 as a supplement segment. In addition, the data selection unit 128 transmits as a supplement segment in the data string when there is no data force that has been transmitted as a data segment in the data string, and there is no data that is positioned later by the predetermined number of segments. The data located at the rearmost of the unprocessed data is selected, and the sub-segment transmission unit 130 transmits the data selected by the data selection unit 128 as a sub-segment segment.
  • the data selection unit 128 selects the data up to curseq in the ascending order of the data with the sequence number t-seqno + maxcwnd, while the supplement segment transmission unit 130 selects the selected data. Send as a supplement segment. Thereafter, the data selection unit 128 selects the t—seq no + maxcwnd X 2—cwndZ2 + curseq data in descending order from the data of the sequence number t—seqno + maxcwnd—1, while the supplement segment transmission unit 130 The selected data is transmitted as a supplement segment.
  • the bandwidth measuring unit 126 measures a congestion window cwnd corresponding to the bandwidth of the available network 106 based on the confirmation response transmitted from the receiving communication device 104 to the supplement segment.
  • the data segment transmission unit 112 is less than or equal to the pipe value cwnd indicating the number of data segments existing in the network 106, the leading force of the data string is continuously included in the data string that has been transmitted.
  • the data located between the data to be transmitted and the data transmitted as the supplement segment is transmitted as the data segment.
  • the data segment transmission unit 112 transmits the data of the sequence number t—seqno as a data segment in order.
  • FIG. 8 shows a third example of the supplement segment selection method in the second bandwidth measurement step (S310) according to the present embodiment.
  • the data string stored in the data string storage unit 110 is received when N confirmation responses requesting transmission of the same data segment are received from the receiving communication device 104 in duplicate (S 304-2).
  • N confirmation responses requesting transmission of the same data segment are received from the receiving communication device 104 in duplicate (S 304-2).
  • the case where the number of segments of data that has not been transmitted to the receiving communication device 104 is maxcwnd-1 or less will be described.
  • the data selection unit 128 Upon reception of N duplication confirmation responses, after the data segment transmission unit 112 retransmits the data segment (drop) determined to have been lost in the network 106, the data selection unit 128 receives the data segment as a supplement segment in the data string. The data located at the rearmost of the data that has not been transmitted is selected, and the supplement segment transmission unit 130 transmits the data selected by the data selection unit 128 as a supplement segment.
  • the data selection unit 128 selects maxcwnd-cwndZ2 data in descending order from the data with the sequence number curseq, while the supplement segment transmission unit 130 transmits the selected data as a supplement segment. To do. Then, the bandwidth measuring unit 126 measures the congestion window cwnd corresponding to the available bandwidth of the network 106 based on the confirmation response transmitted from the receiving communication device 104 to the supplement segment.
  • the data segment transmission unit 112 transmits data that has been transmitted as a data segment and a supplement segment in the data string when the pipe value cwnd is less than or equal to the pipe value cwnd indicating the number of data segments existing in the network 106.
  • the data located between the recorded data is transmitted as a data segment.
  • the data segment transmission unit 112 transmits data segments in order from the data of the sequence number t-seqno.
  • FIG. 9 shows another example of the transition to another process such as the congestion avoidance process (S302) according to the present embodiment.
  • the bandwidth of the network 106 that can be used is measured by using the supplement segment having a low communication priority with respect to the data segment. Value. Therefore, it is not reasonable to think that this is due to the congestion of the network 106 immediately after the measurement.
  • the performance of the network 106 such as a satellite network having a high link error and a large propagation delay time can be improved.
  • the application capability of the transmission side communication device 102 is also obtained by measuring the bandwidth of the network 106 using the supplement segment as the payload of the supplement segment using data included in the data sequence to be passed to the application of the reception side communication device 104.
  • the fairness of the throughput between TCP flows is not lost due to fraud by the receiving side communication device, and it is often caused by a network with a large bandwidth delay product or a link error.
  • link bandwidth can be used efficiently.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

 TCPによるデータ通信におけるフロー制御方法であって、送信側通信機器のアプリケーションから受信側通信機器のアプリケーションに受け渡すべきデータ列が有するデータをデータセグメントとして送信する段階と、データ列が有する送信が完了していないデータであって、送信が完了しているデータのうちでデータ列の先頭から連続するデータに連続しないデータをサプリメントセグメントとして送信する段階と、サプリメントセグメントに対して受信側通信機器から送信される確認応答に基づいて、利用可能なネットワークの帯域幅を測定する段階とを備える。

Description

明 細 書
フロー制御方法、通信機器、及び TCP通信システム
技術分野
[0001] 本発明は、フロー制御方法、通信機器、及び TCP通信システムに関する。特に本 発明は、 TCPによるデータ通信におけるフロー制御方法、 TCPによるデータ通信を 行う通信機器、及び送信側通信機器及び受信側通信機器を備える TCP通信システ ムに関する。文献の参照による組み込みが認められる指定国については、下記の出 願に記載された内容を参照により本出願に組み込み、本出願の記載の一部とする。 特願 2004— 253255 出願日 平成 16年 8月 31日
背景技術
[0002] パケットによるデータ通信において、通信経路上でのパケット損失によるデータ通 信エラーを回避して信頼性を保証するフロー制御方法として、 TCP (Transmission Control Protocol)が広く使用されており、 TCP— Tahoe、 TCP -Reno, TCP — NewReno、 TCP -Peach, TCP— PeachPlus等のバージョンが提案されている
[0003] 非特許文献 1 :1. F. Akyildiz、 G. Morabito、 S. Palazzo, TCP -Peach: A Ne w Congestion Control Scheme for Satellite IP Networks、 IEEE/ A CM Transactions on Networking、 June 2001, Vol. 9, No. 3, p. 307- 321
非特許文献 2 : G. Morabito、 I. F. Akyildiz、 S. Palazzo, TCP - Peach : Analyt ical Model and Performance Evaluation^ International Journal of Sa tellite Communications^ September/ Octorber 2001、 Vol. 19、 No. 5、 p . 429-442
非特許文献 3 :1. F. Akyildiz、 G. Morabito、 S. Palazzo, Research Issues fo r Transport Protocols in Satellite IP Networks ^ IEEE Personal Co mmunicationsゝ June 2001、 Vol. 8、 No. 3、 p. 44—48
非特許文献 4:1. F. Akyildiz, Xin Zhang, Jian Fang, TCP-PeachPlus :Enh ancement of TCP Peacn for Satellite IP Networks ^ IEEE Communi cations Letters, July 2002、 Vol. 6、 No. 7、 p. 303— 305
非特許文献 5 : M. Mathisゝ J. Mahdavi, S. Floyd, A. Romanow, TCP Select ive Acknowledgement Option、 RFC 2018、 October 1996
非特許文献 6 : S. Floyd, J. Mahdavi, M. Mathis, M. Podolsky、 An Extensi on to the Selective Acknowledgement (SACK) Option for TCP、 RF
C2883, July 2000
非特許文献 7 : V. Jacobson、 Congestion Avoidance and Control、 in Proc . ACM SIGCOMM, August 1988、 p. 314— 329
特許文献 8 :V. Jacobson、 Modified TCP Congestion Avoidance Algori thm、 Technical Report^ April 1990
非特許文献 9 :K. Fall, S. Floyd, Simulaton— Based Comparisons of Taho e, Reno and SACK TCP、 ACM Computer Communication Review^ J uly 1996、 Vol. 26、 No. 3、 p. 5— 12
非特許文献 10 :K. Fall、 K. Varadhan、 ns Notes and Documentation, Tec hnical Reportゝ the VINT UC Berkeleyゝ LBLゝ USC/ISI、 Xerox PARC 、 2003
非特許文献 11 : S Utsumi、 S. M. S. Zabir、 G. Kitagata, N. Shiratori, Impro ving TCP Performance over Wireless with Data Link Layer ARQ、 Information Processing Society of Japan (IPSJ) Journal^ April 2004、 Vol. 45、 No. 4、 p. 1112- 1120
非特許文献 12 : S. Utsumi、 S. M. S. Zabir、 N. Shiratori, An Efficient App roach to Improve TCP Performance over Wireless Networks ^ Lectu re Notes in Computer Science (LNCS) 2510、 Octorber 2002、 p. 916 - 925
発明の開示
発明が解決しょうとする課題
TCP— Reno又は TCP— NewRenoによるフロー制御方法は、フローの数に対し てリンク帯域の小さい有線リンクのみを有するネットワークにおいて、リンク帯域を効率 的に利用できる力 帯域幅遅延積が大きいネットワークやリンクエラーによって多くの パケットが損失してしまうネットワーク、特に衛星ネットワークにおいて、リンク帯域を効 率的に利用することができない。また、 TCP— Peach又は TCP— PeachPlusによる フロー制御方法は、帯域幅遅延積が大きいネットワークやリンクエラーによって多くの パケットが損失してしまうネットワーク、特に衛星ネットワークにおいて、リンク帯域を効 率的に利用することができる力 TCPの受信側ホストが、送信側ホストから受信した 利用可能な帯域幅を測定するためのセグメントより多くの確認応答を返信するように 改ざんすることによって、 TCPフロー間のスループットの公平性が損なわれるという問 題がある。
[0005] そこで本発明は、上記の課題を解決することができる試験装置を提供することを目 的とする。この目的は請求の範囲における独立項に記載の特徴の組み合わせにより 達成される。また従属項は本発明の更なる有利な具体例を規定する。
課題を解決するための手段
[0006] 本発明の第 1の形態によると、 TCPによるデータ通信におけるフロー制御方法であ つて、送信側通信機器のアプリケーション力も受信側通信機器のアプリケーションに 受け渡すべきデータ列が有するデータをデータセグメントとして送信するデータセグ メント送信段階と、データ列が有する送信が完了していないデータであって、送信が 完了しているデータのうちでデータ列の先頭力 連続するデータに連続しないデー タをサプリメントセグメントとして送信するサプリメントセグメント送信段階と、サプリメント セグメントに対して受信側通信機器カゝら送信される確認応答に基づいて、利用可能 なネットワークの帯域幅を測定する帯域幅測定段階とを備える。
[0007] サプリメントセグメントがネットワーク内の通信機器により転送される優先度は、デー タセグメントがネットワーク内の通信機器により転送される優先度より低くてもよい。
[0008] サプリメントセグメントに対する確認応答がネットワーク内の通信機器により転送され る優先度は、サプリメントセグメントがネットワーク内の通信機器により転送される優先 度と等しぐデータセグメントに対する確認応答がネットワーク内の通信機器により転 送される優先度は、データセグメントがネットワーク内の通信機器により転送される優 先度と等しくてもよい。
[0009] データセグメント送信段階は、データ列において、送信が完了しているデータのうち でデータ列の先頭から連続するデータと、サプリメントセグメントとして送信されたデー タとの間に位置するデータをデータセグメントとして送信する段階を有してもよい。
[0010] サプリメントセグメント送信段階は、送信が完了しているデータのうちでデータ列の 先頭力 連続するデータ力 所定のセグメント数だけ後方に位置するデータをサプリ メントセグメントとして送信する段階を有してもよ 、。
[0011] サプリメントセグメント送信段階は、データ列において、送信が完了しているデータ のうちでデータ列の先頭力 連続するデータ力 所定のセグメント数だけ後方に位置 するデータが存在しない場合、データ列において、サプリメントセグメントとして送信さ れていないデータのうちの最も後方に位置するデータをサプリメントセグメントとして 送信する段階を有してもょ ヽ。
[0012] コネクション開始時又はタイムアウト発生時において、送信が完了していないデータ のセグメント数が、 maxcwnd X 2—l以上の場合、サプリメントセグメント送信段階は 、シーケンス番号が t— seqno+maxcwndのデータから昇 j噴に maxcwnd— 1個の データを選択しながら、選択したデータをサプリメントセグメントとして送信する段階を 有してちょい。
[0013] コネクション開始時又はタイムアウト発生時において、データ列が有する送信が完 了していないデータのセグメント数が、 maxcwnd+ 1以上で maxcwnd X 2— l以下 の場合、サプリメントセグメント送信段階は、シーケンス番号が t—seqno+maxcwnd のデータから昇順に curseqまでのデータを選択しながら、選択したデータをサプリメ ントセグメントとして送信した後、シーケンス番号が t— seqno+maxcwnd— 1のデー タから降順にデータを選択しながら、選択したデータをサプリメントセグメントとして送 信する段階を有してもよい。
[0014] コネクション開始時又はタイムアウト発生時において、データ列が有する送信が完 了していないデータのセグメント数が、 maxcwnd以下の場合、サプリメントセグメント 送信段階は、シーケンス番号力 Curseqのデータから降順にデータを選択しながら、 選択したデータをサプリメントセグメントとして送信する段階を有してもよい。 [0015] 受信側通信機器から同一のデータセグメントの送信を要求する確認応答を N個重 複して受信した場合であって、データ列が有する送信が完了して 、な 、データのセ グメント数が、 maxcwnd X 2— cwndZ2以上の場合、データセグメント送信段階は、 ネットワークにおいて損失したと判断されたデータセグメントを再送する段階を有し、 サプリメントセグメント送信段階は、シーケンス番号が t—seqno+maxcwndのデー タカ 昇順に curseq— cwndZ2個のデータを選択しながら、選択したデータをサプ リメントセグメントとして送信する段階を有してもよ 、。
[0016] 受信側通信機器から同一のデータセグメントの送信を要求する確認応答を N個重 複して受信した場合であって、データ列が有する送信が完了して 、な 、データのセ グメント数が、 maxcwnd以上で maxcwnd X 2— cwndZ2—l以下の場合、データ セグメント送信段階は、ネットワークにお 、て損失したと判断されたデータセグメントを 再送する段階を有し、サプリメントセグメント送信段階は、シーケンス番号が t—seqno + maxcwndのデータから昇順に curseqまでのデータを選択しながら、選択したデ ータをサプリメントセグメントとして送信した後、シーケンス番号が t—seqno + maxcw nd- 1のデータから降順にデータを選択しながら、選択したデータをサプリメントセグ メントとして送信する段階を有してもよ!、。
[0017] 受信側通信機器から同一のデータセグメントの送信を要求する確認応答を N個重 複して受信した場合であって、データ列が有する送信が完了して 、な 、データのセ グメント数が、 maxcwnd— 1以下の場合、データセグメント送信段階は、ネットワーク にお 、て損失したと判断されたデータセグメントを再送する段階を有し、サプリメント セグメント送信段階は、シーケンス番号力 Curseqのデータから降順にデータを選択し ながら、選択したデータをサプリメントセグメントとして送信する段階を有してもょ 、。
[0018] データセグメント送信段階は、ネットワークに存在するデータセグメントの数を示す pi pe値が cwnd以下の場合に、受信側通信機器にデータセグメントを送信する段階を 有してちょい。
[0019] 帯域幅測定段階は、サプリメントセグメントに対する確認応答のうち、既に確認応答 を受け取つているデータに対する確認応答に依存せず、未だ確認応答を受け取って V、な 、データに対する確認応答に基づ!/、て、利用可能なネットワークの帯域幅を測 定する段階を有してもよい。
[0020] 本発明の第 2の形態によると、 TCPによるデータ通信を行う通信機器であって、送 信側通信機器のアプリケーション力 受信側通信機器のアプリケーションに受け渡す べきデータ列が有するデータをデータセグメントとして送信するデータセグメント送信 部と、データ列が有する送信が完了していないデータであって、送信が完了している データのうちでデータ列の先頭力 連続するデータに連続しないデータを選択する データ選択部と、データ選択部が選択したデータをサプリメントセグメントとして送信 するサプリメントセグメント送信部と、サプリメントセグメントに対して受信側通信機器か ら送信される確認応答に基づいて、利用可能なネットワークの帯域幅を測定する帯 域幅測定部とを備える。
[0021] 本発明の第 3の形態によると、送信側通信機器及び受信側通信機器を備える TCP 通信システムであって、送信側通信機器は、送信側通信機器のアプリケーションから 受信側通信機器のアプリケーションに受け渡すべきデータ列が有するデータをデー タセグメントとして送信するデータセグメント送信部と、データ列が有する送信が完了 していないデータであって、送信が完了しているデータのうちでデータ列の先頭から 連続するデータに連続しな 、データを選択するデータ選択部と、データ選択部が選 択したデータをサプリメントセグメントとして送信するサプリメントセグメント送信部と、 サプリメントセグメントに対して受信側通信機器カゝら送信される確認応答に基づいて、 利用可能なネットワークの帯域幅を測定する帯域幅測定部とを有する。
[0022] 受信側通信機器は、送信側通信機器カゝら送信されたデータセグメント及びサブリメ ントセグメントを受信する受信部と、受信部がデータセグメント又はサプリメントセグメ ントを受信した場合に、受信部が既に受信しているデータセグメント及びサプリメント セグメントのデータのシーケンス番号に、受信部が最後に受信したデータセグメント 又はサプリメントセグメントのデータのシーケンス番号が付加された確認応答を送信 側通信機器に送信する確認応答送信部とを有してもよい。
[0023] 但し、 maxcwndは、送信側通信機器が受信側通信機器に割り当てることを認めた 最大の輻輳ウィンドウ数とし、 t— seqnoは、データ列が有する送信が完了していない データのうちでシーケンス番号が最小のデータのシーケンス番号とし、 curseqは、デ ータ列が有する送信が完了していないデータのうちでシーケンス番号が最大のデー タのシーケンス番号とし、 cwndは、帯域幅測定段階において測定された帯域幅に対 応する輻輳ウィンドウ数とする。また、 cwndは、 N個の重複確認応答受信直前の輻 輳ウィンドウ数であってもよ ヽ。
[0024] なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなぐこ れらの特徴群のサブコンビネーションも又発明となりうる。
発明の効果
[0025] 本発明のフロー制御方法によれば、受信側通信機器による不正によって TCPフロ 一間のスループットの公平性が失われず、また帯域幅遅延積の大き 、ネットワークや リンクエラーによって多くのパケットが損失してしまうネットワーク、特に衛星ネットヮー クにおいて、リンク帯域を効率的に利用することができる。
図面の簡単な説明
[0026] [図 1]TCP通信システム 100の一例を示す図である。
[図 2]送信側通信機器 102によるフロー制御方法の一例を示す図である。
[図 3]サプリメントセグメントの選択方法の第 1の例を示す図である。
[図 4]サプリメントセグメントの選択方法の第 2の例を示す図である。
[図 5]サプリメントセグメントの選択方法の第 3の例を示す図である。
[図 6]サプリメントセグメントの選択方法の第 1の例を示す図である。
[図 7]サプリメントセグメントの選択方法の第 2の例を示す図である。
[図 8]サプリメントセグメントの選択方法の第 3の例を示す図である。
[図 9]輻輳回避工程カゝら他の工程への移行における他の例を示す図である。
符号の説明
[0027] 100 TCP通信システム
102 送信側通信機器
104 受信側通信機器
106 ネットワーク
110 データ列格納部
112 データセグメント送信部 114 タイマ部
116 pipe値保持部
118 確認応答受信部
120 通信インタフェース
124 重複確認応答カウンタ部
126 帯域幅測定部
128 データ選択部
130 サプリメントセグメント送信部
132 受信部
134 ノ ッファ
138 通信インタフェース
140 確認応答送信部
発明を実施するための最良の形態
[0028] 以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の 範囲に係る発明を限定するものではなぐ又実施形態の中で説明されている特徴の 組み合わせの全てが発明の解決手段に必須であるとは限らな!/、。
[0029] 図 1は、本発明の一実施形態に係る TCP通信システム 100の一例を示す。 TCP通 信システム 100は、送信側通信機器 102及び受信側通信機器 104を備える。送信側 通信機器 102と受信側通信機器 104とは、衛星 IPネットワーク等のネットワーク 106 を介して TCPによるデータ通信を行う。
[0030] TCP通信システム 100は、リンクエラーによって多くのパケットが損失してしまう衛星 IPネットワーク等のネットワーク 106における TCPのパフォーマンスを改善し、また受 信側通信機器 104の不正によって不公平に大きなスループットを実現することを防ぐ ため、 TCP— Peachのフロー制御方法を改造することを目的とする。本実施形態に 係る TCP通信システム 100のフロー制御方法のバージョンを TCP— Cherryと呼ぶ。
[0031] 送信側通信機器 102は、データ列格納部 110、データセグメント送信部 112、タイ マ部 114、 pipe値保持部 116、確認応答受信部 118、通信インタフェース 120、重複 確認応答カウンタ部 124、帯域幅測定部 126、データ選択部 128、及びサプリメント セグメント送信部 130を有する。また、受信側通信機器 104は、受信部 132、ノ ッファ 134、通信インタフェース 138、及び確認応答送信部 140を有する。なお、送信側通 信機器 102と受信側通信機器 104とは同一の機能を有してもよい。即ち、図 1に示し た送信側通信機器 102の各構成要素を受信側通信機器 104が有してもよぐ図 1〖こ 示した受信側通信機器 104の各構成要素を送信側通信機器 102が有してもよい。
[0032] まず、送信側通信機器 102の各構成要素の動作を説明する。データ列格納部 110 は、送信側通信機器 102のアプリケーション力も受信側通信機器 104のアプリケーシ ヨンに受け渡すべきデータ列を格納する。データセグメント送信部 112は、データ列 格納部 110が格納するデータ列が有するデータをデータセグメントとして、通信イン タフエース 120を介して送信する。そして、確認応答受信部 118は、データセグメント 送信部 112から送信されたデータセグメントに対して受信側通信機器 104から送信さ れる確認応答を、通信インタフェース 120を介して受信する。
[0033] pipe値保持部 116は、ネットワーク 106に存在するデータセグメントの数を示す pip e値を保持する。また、 pipe値保持部 116は、確認応答受信部 118が受信した確認 応答に基づいて、保持している pipe値を更新する。具体的には、 pipe値保持部 116 は、データセグメント送信部 112がデータセグメントをネットワーク 106に対して送信し た場合に pipe値を 1増加させ、確認応答受信部 118がデータセグメントに対する確 認応答を受信した場合に pipe値を 1減少させる。なお、 pipe値保持部 116は、サプリ メントセグメント送信部 130がサプリメントセグメントをネットワーク 106に対して送信し た場合、及び確認応答受信部 118がサプリメントセグメントに対する確認応答を受信 した場合には、 pipe値を増減させない。
[0034] タイマ部 114は、データセグメント送信部 112がデータセグメントを送信してから、確 認応答受信部 118が当該データセグメントに対する確認応答を受信するまでの時間 を計測する。そして、タイマ部 114は、データセグメント送信部 112がデータセグメント を送信してから、確認応答受信部 118が当該データセグメントに対する確認応答を 受信しない状態が予め定められた時間続くと、タイムアウトによって、当該データセグ メントがネットワーク 106上で損失したと判断し、帯域幅測定部 126にその旨を通知 する。 [0035] 重複確認応答カウンタ部 124は、受信側通信機器 104からの同一のデータセグメ ントの送信を要求する確認応答の数を計数する。そして、重複確認応答カウンタ部 1 24は、受信側通信機器 104から同一のデータセグメントの送信を要求する確認応答 を、予め定められた数である N個重複して受信した場合に、 N個の重複確認応答の 受信によって、当該データセグメントがネットワーク 106上で損失したと判断し、帯域 幅測定部 126にその旨を通知する。
[0036] 帯域幅測定部 126は、タイマ部 114によってタイムアウトが通知された場合、又は重 複確認応答カウンタ部 124によって N個の重複確認応答の受信が通知された場合に 、利用可能なネットワーク 106の帯域幅に対応する輻輳ウィンドウ数、即ち cwndを測 定する。即ち、帯域幅測定部 126は、サプリメントセグメント送信部 130からサブリメン トセグメントを送信させ、当該サプリメントセグメントに対する確認応答に基づ 、て cwn dを測定する。なお、帯域幅測定部 126は、サプリメントセグメントに対する確認応答 のうち、確認応答受信部 118が既に確認応答を受け取って!/ヽるデータに対する確認 応答に依存せず、確認応答受信部 118が未だ確認応答を受け取って ヽな ヽデータ に対する確認応答に基づ ヽて cwndを測定する。
[0037] 具体的には、データ選択部 128は、データ列格納部 110が格納するデータ列が有 する、データセグメント送信部 112による送信が完了していないデータのうちで、デー タセグメント送信部 112による送信が完了して 、るデータと連続しな 、データを選択 する。そして、サプリメントセグメント送信部 130は、データ選択部 128が選択したデ ータをパケットのペイロードとして含むサプリメントセグメントを、通信インタフェース 12 0を介して送信する。そして、確認応答受信部 118は、サプリメントセグメント送信部 1 30から送信されたサプリメントセグメントに対して受信側通信機器 104から送信される 確認応答を、通信インタフェース 120を介して受信する。そして、帯域幅測定部 126 は、確認応答受信部 118がサプリメントセグメントに対する確認応答を受信した力否 かに基づいて cwndを測定する。そして、データセグメント送信部 112は、帯域幅測 定部 126が測定した cwndが、 pipe値保持部 116が保持する pipe値以上の場合に、 データ列格納部 110が格納するデータ列が有する、送信が完了して!/ヽな 、データの うちでシーケンス番号が最小のデータをデータセグメントとして送信する。 [0038] なお、データセグメントは通信における優先度が高ぐサプリメントセグメントは通信 における優先度が低い。即ち、サプリメントセグメントが送信側通信機器 102、受信側 通信機器 104を含めたネットワーク 106内の通信機器により転送される優先度は、デ ータセグメントが送信側通信機器 102、受信側通信機器 104を含めたネットワーク 10 6内の通信機器により転送される優先度より低ぐ通信機器内にサプリメントセグメント とデータセグメントが転送待ちしているとき、データセグメントが先に転送される。また 、サプリメントセグメントが送信側通信機器 102、受信側通信機器 104を含めたネット ワーク 106内の通信機器により破棄されない優先度は、データセグメントが送信側通 信機器 102、受信側通信機器 104を含めたネットワーク 106内の通信機器により破 棄されない優先度より低ぐ通信機器内のバッファオーバフロー時、サプリメントセグメ ントが先に破棄される。また、サプリメントセグメントに対する確認応答の通信における 優先度は、サプリメントセグメントの通信における優先度に等しぐデータセグメントに 対する確認応答における通信の優先度は、データセグメントの通信における優先度 に等しい。
[0039] なお、本実施形態において、データの送信が完了している状態とは、データセグメ ント送信部 112がデータをデータセグメントとして送信し、当該データについて、既に 確認応答を受け取った状態、未だ再送要求がない状態、若しくは既に再送要求があ つて、既に再送し、未だ新たな再送要求がない状態、又はサプリメントセグメント送信 部 130がデータをサプリメントセグメントとして送信し、確認応答受信部 118が当該デ ータに対する確認応答を受信した状態をいう。ただし、タイムアウト発生時に、タイム アウトしたデータセグメント送信以降に送信したデータが再送要求され、 N個重複確 認応答や SACKオプションにより、ネットワーク 106でデータセグメントの損失を検出 した場合、検出された損失データが再送要求される。
[0040] 次に、受信側通信機器 104の各構成要素の動作を説明する。受信部 132は、送信 側通信機器 102から送信されたデータセグメント及びサプリメントセグメントを、通信ィ ンタフエース 138を介して受信する。そして、ノ ッファ 134は、受信部 132が受信した データセグメントのデータ又はサプリメントセグメントのデータを保持する。ノ ッファ 13 4は、受信部 132が受信したデータのうち、データ列の先頭力も連続しないデータを 保持し、データ列の先頭力も連続するデータは、受信部 132からアプリケーションに 受け渡される。ノ ッファ 134は、輻輳ウィンドウ数 maxcwndに対応する大きさである。 maxcwndは、例えば 16ビットウィンドウサイズである。但し、ノ ッファ 134は、受信側 通信機器 104は、ウィンドウスケールオプションによって表現される 32ビットウィンドウ サイズだけのデータセグメントのデータをバッファすることができる。
[0041] 確認応答送信部 140は、受信部 132がデータセグメント又はサプリメントセグメント を受信した場合に、確認応答を送信側通信機器 102に送信する。具体的には、確認 応答送信部 140は、受信部 132が既に受信しているデータセグメント及びサブリメン トセグメントのデータのシーケンス番号に、受信部 132が最後に受信したデータセグ メント又はサプリメントセグメントのデータのシーケンス番号が付加された確認応答を 送信側通信機器 102に送信する。
[0042] 図 2は、本実施形態に係る送信側通信機器 102によるフロー制御方法の一例を示 す。送信側通信機器 102によるフロー制御方法は、第 1帯域幅測定工程 (Surprise Start : S 300)、輻輳回避工程(Congestion Avoidance: S302)、タイムアウト発 生又は N個重複確認応答受信の判断工程 (S304)、第 1損失セグメント再送工程 (R etransmit: S306)、第 2損失セグメント再送工程(Fast Retransmit: S308)、及 び第 2帯域幅測定工程 Cioyful Recovery: S310)を備える。第 1帯域幅測定工程 ( S300)及び第 2帯域幅測定工程 (S310)は、本発明のサプリメントセグメント送信段 階及び帯域幅測定段階の一例であり、輻輳回避工程 (S302、第 1損失セグメント再 送工程 (S306)、及び第 2損失セグメント再送工程 (S308)は、本発明のデータセグ メント送信段階の一例である。
[0043] 送信側通信機器 102は、 TCPコネクションの確立後、又はタイムアウトによるデータ セグメントの再送後、即ち第 1損失セグメント再送工程 (S306)の後に、第 1帯域幅測 定工程 (S300)を実行する。第 1帯域幅測定工程 (S300)については、図 3から図 5 において詳細に説明する。
[0044] 送信側通信機器 102は、 N個重複確認応答受信によるデータセグメントの再送後、 即ち第 2損失セグメント再送工程 (S308)の後に、第 2帯域幅測定工程 (S310)を実 行する。第 2帯域幅測定工程 (S310)については、図 6から図 8において詳細に説明 する。
[0045] 送信側通信機器 102は、第 1帯域幅測定工程 (S300)の実行後、又は第 2帯域幅 測定工程 (S310)の実行後に、輻輳回避工程 (S302)を実行する。輻輳回避工程( S302)において、データセグメント送信部 112は、データ列格納部 110が格納して V、るデータ列が有するデータを順次データセグメントとして送信し、確認応答受信部 118が応答確認を受信するごとに cwndをシフトさせてデータセグメントを送信する。 そして、タイマ部 114によりタイムアウトの発生が検出された場合 (S304—l)、重複 確認応答カウンタ部 124により同一のデータセグメントを要求する確認応答 N個の受 信が検出された場合 (S304— 2)に、輻輳回避工程 (S302)が終了する。
[0046] 図 3は、本実施形態に係る第 1帯域幅測定工程 (S300)におけるサプリメントセグメ ントの選択方法の第 1の例を示す。図 3では、コネクション開始時又はタイムアウト発 生時(S304— 1)において、データ列格納部 110が格納するデータ列のうちで受信 側通信機器 104への送信が完了していないデータのセグメント数力 maxcwndX 2 1以上の場合について説明する。
[0047] コネクション開始時又はタイムアウト発生時、データセグメント送信部 112がデータ 列におけるシーケンス番号が t—seqno— lのデータをデータセグメントとして再送し た後、データ選択部 128は、送信が完了しているデータのうちでデータ列の先頭から 連続するデータの最後のデータ力 所定のセグメント数だけ後方に位置するデータ であって、送信が完了しているデータのうちでデータ列の先頭力 連続するデータに 連続しないデータを選択し、サプリメントセグメント送信部 130は、データ選択部 128 によって選択されたデータをサプリメントセグメントとして送信する。
[0048] 具体的には、データ選択部 128は、シーケンス番号が t—seqno+maxcwndのデ 一タカも昇順に maxcwnd— 1個のデータを選択しながら、サプリメントセグメント送信 部 130は、選択されたデータをサプリメントセグメントとして送信する。そして、帯域幅 測定部 126は、サプリメントセグメントに対して受信側通信機器 104から送信される確 認応答に基づいて、利用可能なネットワーク 106の帯域幅に対応する輻輳ウィンドウ cwndを測定する。
[0049] データセグメント送信部 112は、ネットワーク 106に存在するデータセグメントの数を 示す pipe値力 cwnd以下の場合に、データ列において、データセグメントとして送信 が完了しているデータと、サプリメントセグメントとして送信されたデータとの間に位置 するデータを、データセグメントとして送信する。具体的には、データセグメント送信 部 112は、シーケンス番号 t—seqnoのデータから順にデータセグメントとして送信す る。
[0050] 図 4は、本実施形態に係る第 1帯域幅測定工程 (S300)におけるサプリメントセグメ ントの選択方法の第 2の例を示す。図 4では、コネクション開始時又はタイムアウト発 生時(S304— 1)において、データ列格納部 110が格納するデータ列のうちで受信 側通信機器 104への送信が完了していないデータのセグメント数力 maxcwnd+ 1 以上で maxcwnd X 2— 1以下の場合につ!、て説明する。
[0051] コネクション開始時又はタイムアウト発生時、データセグメント送信部 112がデータ 列におけるシーケンス番号が t—seqno— lのデータをデータセグメントとして再送し た後、データ選択部 128は、送信が完了しているデータのうちでデータ列の先頭から 連続するデータの最後のデータ力 所定のセグメント数だけ後方に位置するデータ であって、送信が完了しているデータのうちでデータ列の先頭力 連続するデータに 連続しないデータを選択し、サプリメントセグメント送信部 130は、データ選択部 128 によって選択されたデータをサプリメントセグメントとして送信する。また、データ選択 部 128は、データ列において、データセグメントとして送信が完了しているデータから 所定のセグメント数だけ後方に位置するデータが存在しな 、場合、データ列にお ヽ て、サプリメントセグメントとして送信されていないデータのうちの最も後方に位置する データを選択し、サプリメントセグメント送信部 130は、データ選択部 128によって選 択されたデータをサプリメントセグメントとして送信する。
[0052] 具体的には、データ選択部 128は、シーケンス番号が t—seqno+ maxcwndのデ 一タカも昇順に curseqまでのデータを選択しながら、サプリメントセグメント送信部 13 0は、選択されたデータをサプリメントセグメントとして送信する。その後、データ選択 部 128は、シーケンス番号が t—seqno + maxcwnd— 1のデータから降順に t— seq no +maxcwnd X 2— curseq— 1個のデータを選択しながら、サプリメントセグメント 送信部 130は、選択されたデータをサプリメントセグメントとして送信する。そして、帯 域幅測定部 126は、サプリメントセグメントに対して受信側通信機器 104から送信さ れる確認応答に基づいて、利用可能なネットワーク 106の帯域幅に対応する輻輳ゥ インドウ cwndを測定する。
[0053] データセグメント送信部 112は、ネットワーク 106に存在するデータセグメントの数を 示す pipe値力 cwnd以下の場合に、データ列において、送信が完了しているデータ のうちでデータ列の先頭力も連続するデータと、サプリメントセグメントとして送信され たデータとの間に位置するデータを、データセグメントとして送信する。具体的には、 データセグメント送信部 112は、シーケンス番号 t— seqnoのデータから順にデータ セグメントとして送信する。
[0054] 図 5は、本実施形態に係る第 1帯域幅測定工程 (S300)におけるサプリメントセグメ ントの選択方法の第 3の例を示す。図 5では、コネクション開始時又はタイムアウト発 生時(S304— 1)において、データ列格納部 110が格納するデータ列のうちで受信 側通信機器 104への送信が完了して!/ヽな 、データのセグメント数力 maxcwnd以 下の場合について説明する。
[0055] コネクション開始時又はタイムアウト発生時、データセグメント送信部 112がデータ 列におけるシーケンス番号が t—seqno— lのデータをデータセグメントとして再送し た後、データ選択部 128は、データ列において、サプリメントセグメントとして送信され ていないデータのうちの最も後方に位置するデータを選択し、サプリメントセグメント 送信部 130は、データ選択部 128によって選択されたデータをサプリメントセグメント として送信する。
[0056] 具体的には、データ選択部 128は、シーケンス番号が curseqのデータから降順に maxcwnd— 1個のデータを選択しながら、サプリメントセグメント送信部 130は、選択 されたデータをサプリメントセグメントとして送信する。そして、帯域幅測定部 126は、 サプリメントセグメントに対して受信側通信機器 104から送信される確認応答に基づ いて、利用可能なネットワーク 106の帯域幅に対応する輻輳ウィンドウ cwndを測定 する。
[0057] データセグメント送信部 112は、ネットワーク 106に存在するデータセグメントの数を 示す pipe値力 cwnd以下の場合に、データ列において、送信が完了しているデータ のうちでデータ列の先頭力も連続するデータと、サプリメントセグメントとして送信され たデータとの間に位置するデータを、データセグメントとして送信する。具体的には、 データセグメント送信部 112は、シーケンス番号 t— seqnoのデータから順にデータ セグメントとして送信する。
[0058] 図 6は、本実施形態に係る第 2帯域幅測定工程 (S310)におけるサプリメントセグメ ントの選択方法の第 1の例を示す。図 6では、受信側通信機器 104から同一のデータ セグメントの送信を要求する確認応答を N個重複して受信した場合 (S 304— 2)であ つて、データ列格納部 110が格納するデータ列のうちで受信側通信機器 104への送 信が完了していないデータのセグメント数力 maxcwnd X 2— cwndZ2以上の場合 について説明する。
[0059] N個重複確認応答受信時、データセグメント送信部 112がネットワーク 106におい て損失したと判断されたデータセグメント (drop)を再送した後、データ選択部 128は 、送信が完了しているデータのうちでデータ列の先頭力 連続するデータの最後の データ力も所定のセグメント数だけ後方に位置するデータであって、送信が完了して V、るデータのうちでデータ列の先頭力 連続するデータに連続しな 、データを選択し 、サプリメントセグメント送信部 130は、データ選択部 128によって選択されたデータ をサプリメントセグメントとして送信する。
[0060] 具体的には、データ選択部 128は、シーケンス番号が t—seqno+maxcwndのデ ータから昇順に maxcwnd— cwndZ2個のデータを選択しながら、サプリメントセグメ ント送信部 130は、選択されたデータをサプリメントセグメントとして送信する。そして、 帯域幅測定部 126は、サプリメントセグメントに対して受信側通信機器 104から送信 される確認応答に基づいて、利用可能なネットワーク 106の帯域幅に対応する輻輳 ウィンドウ cwndを測定する。
[0061] データセグメント送信部 112は、ネットワーク 106に存在するデータセグメントの数を 示す pipe値力 cwnd以下の場合に、データ列において、送信が完了しているデータ のうちでデータ列の先頭力も連続するデータと、サプリメントセグメントとして送信され たデータとの間に位置するデータを、データセグメントとして送信する。具体的には、 データセグメント送信部 112は、シーケンス番号 t— seqnoのデータから順にデータ セグメントとして送信する。
[0062] 図 7は、本実施形態に係る第 2帯域幅測定工程 (S310)におけるサプリメントセグメ ントの選択方法の第 2の例を示す。図 7では、受信側通信機器 104から同一のデータ セグメントの送信を要求する確認応答を N個重複して受信した場合 (S 304— 2)であ つて、データ列格納部 110が格納するデータ列のうちで受信側通信機器 104への送 信が完了していないデータのセグメント数が、 maxcwnd以上で maxcwnd X 2— cw ndZ2— 1以下の場合について説明する。
[0063] N個重複確認応答受信時、データセグメント送信部 112がネットワーク 106におい て損失したと判断されたデータセグメント (drop)を再送した後、データ選択部 128は 、送信が完了しているデータのうちでデータ列の先頭力 連続するデータの最後の データ力も所定のセグメント数だけ後方に位置するデータであって、送信が完了して V、るデータのうちでデータ列の先頭力 連続するデータに連続しな 、データを選択し 、サプリメントセグメント送信部 130は、データ選択部 128によって選択されたデータ をサプリメントセグメントとして送信する。また、データ選択部 128は、データ列におい て、データセグメントとして送信が完了しているデータ力も所定のセグメント数だけ後 方に位置するデータが存在しない場合、データ列において、サプリメントセグメントと して送信されていないデータのうちの最も後方に位置するデータを選択し、サブリメン トセグメント送信部 130は、データ選択部 128によって選択されたデータをサブリメン トセグメントとして送信する。
[0064] 具体的には、データ選択部 128は、シーケンス番号が t—seqno+ maxcwndのデ 一タカも昇順に curseqまでのデータを選択しながら、サプリメントセグメント送信部 13 0は、選択されたデータをサプリメントセグメントとして送信する。その後、データ選択 部 128は、シーケンス番号が t—seqno + maxcwnd— 1のデータから降順に t— seq no +maxcwnd X 2— cwndZ2 + curseq個のデータを選択しながら、サプリメントセ グメント送信部 130は、選択されたデータをサプリメントセグメントとして送信する。そし て、帯域幅測定部 126は、サプリメントセグメントに対して受信側通信機器 104から送 信される確認応答に基づいて、利用可能なネットワーク 106の帯域幅に対応する輻 輳ウィンドウ cwndを測定する。 [0065] データセグメント送信部 112は、ネットワーク 106に存在するデータセグメントの数を 示す pipe値力 cwnd以下の場合に、データ列において、送信が完了しているデータ のうちでデータ列の先頭力も連続するデータと、サプリメントセグメントとして送信され たデータとの間に位置するデータを、データセグメントとして送信する。具体的には、 データセグメント送信部 112は、シーケンス番号 t— seqnoのデータから順にデータ セグメントとして送信する。
[0066] 図 8は、本実施形態に係る第 2帯域幅測定工程 (S310)におけるサプリメントセグメ ントの選択方法の第 3の例を示す。図 8では、受信側通信機器 104から同一のデータ セグメントの送信を要求する確認応答を N個重複して受信した場合 (S 304— 2)であ つて、データ列格納部 110が格納するデータ列のうちで受信側通信機器 104への送 信が完了していないデータのセグメント数力 maxcwnd— 1以下の場合について説 明する。
[0067] N個重複確認応答受信時、データセグメント送信部 112がネットワーク 106におい て損失したと判断されたデータセグメント (drop)を再送した後、データ選択部 128は 、データ列において、サプリメントセグメントとして送信されていないデータのうちの最 も後方に位置するデータを選択し、サプリメントセグメント送信部 130は、データ選択 部 128によって選択されたデータをサプリメントセグメントとして送信する。
[0068] 具体的には、データ選択部 128は、シーケンス番号が curseqのデータから降順に maxcwnd— cwndZ2個のデータを選択しながら、サプリメントセグメント送信部 130 は、選択されたデータをサプリメントセグメントとして送信する。そして、帯域幅測定部 126は、サプリメントセグメントに対して受信側通信機器 104から送信される確認応答 に基づいて、利用可能なネットワーク 106の帯域幅に対応する輻輳ウィンドウ cwnd を測定する。
[0069] データセグメント送信部 112は、ネットワーク 106に存在するデータセグメントの数を 示す pipe値力 cwnd以下の場合に、データ列において、データセグメントとして送信 が完了しているデータと、サプリメントセグメントとして送信されたデータとの間に位置 するデータを、データセグメントとして送信する。具体的には、データセグメント送信 部 112は、シーケンス番号 t—seqnoのデータから順にデータセグメントとして送信す る。
[0070] 図 9は、本実施形態に係る輻輳回避工程 (S302)カゝら他の工程への移行における 他の例を示す。本実施形態に係るフロー制御方法において、データセグメントに対し て通信における優先度が低いサプリメントセグメントを用いて、利用可能なネットヮー ク 106の帯域幅を測定するため、測定される帯域幅は実際より小さい値となる。した がって、測定直後のデータセグメントの損失力 ネットワーク 106の輻輳によるもので あると考えることが合理的ではな 、。
[0071] そこで、図 9に示すように、第 2帯域幅測定工程 (S308)においてサプリメントセグメ ント Aを送信することによりネットワーク 106の帯域幅を測定している間、及び第 2帯域 幅測定工程 (S308)においてサプリメントセグメント Aを送信することにより測定された 帯域幅分のデータセグメント Bを送信している間は、輻輳回避工程 (S302)において ネットワーク 106でデータセグメントの損失を検出した場合(S304)であっても、輻輳 ウィンドウ cwndを縮小しない。即ち、この間は、第 1損失セグメント再送工程 (S306) 又は第 2損失セグメント再送工程 (S308)を実行して損失したデータセグメントを再送 するのみで、第 1帯域幅測定工程 (S300)又は第 2帯域幅測定工程 (S310)を実行 しない。これにより、利用可能なネットワーク 106の帯域幅の測定直後のリンクエラー によるエラー回復機能の実行を回避し、輻輳ウィンドウ cwndを適切な値に調整する ことができる。
[0072] 本実施形態に係るフロー制御方法によれば、リンクエラーが高くまた伝搬遅延時間 の大きい衛星ネットワークのようなネットワーク 106の性能を改善することができる。ま た、送信側通信機器 102のアプリケーション力も受信側通信機器 104のアプリケーシ ヨンに受け渡すべきデータ列が有するデータをサプリメントセグメントのペイロードとし 、サプリメントセグメントを用いてネットワーク 106の帯域幅を測定することにより、受信 側通信機器 104の不正により TCPフロー間の不公平なスループットが実現されること を防ぐことができる。
[0073] 以上、実施形態を用いて本発明を説明したが、本発明の技術的範囲は上記実施 形態に記載の範囲には限定されない。上記実施形態に、多様な変更又は改良をカロ えることができる。そのような変更又は改良を加えた形態も本発明の技術的範囲に含 まれ得ることが、請求の範囲の記載から明らかである。
産業上の利用可能性
上記説明から明らかなように、本発明のフロー制御方法によれば、受信側通信機器 による不正によって TCPフロー間のスループットの公平性が失われず、また帯域幅 遅延積の大きいネットワークやリンクエラーによって多くのパケットが損失してしまうネ ットワーク、特に衛星ネットワークにおいて、リンク帯域を効率的に利用することができ る。

Claims

請求の範囲
[1] TCPによるデータ通信におけるフロー制御方法であって、
送信側通信機器のアプリケーション力 受信側通信機器のアプリケーションに受け 渡すべきデータ列が有するデータをデータセグメントとして送信するデータセグメント 送信段階と、
前記データ列が有する送信が完了して 、な 、データであって、送信が完了して ヽ るデータのうちで前記データ列の先頭力 連続するデータに連続しないデータをサ プリメントセグメントとして送信するサプリメントセグメント送信段階と、
前記サプリメントセグメントに対して前記受信側通信機器カゝら送信される確認応答 に基づいて、利用可能なネットワークの帯域幅を測定する帯域幅測定段階と を備えるフロー制御方法。
[2] 前記サプリメントセグメントがネットワーク内の通信機器により転送される優先度は、 前記データセグメントがネットワーク内の通信機器により転送される優先度より低い 請求項 1に記載のフロー制御方法。
[3] 前記サプリメントセグメントに対する確認応答がネットワーク内の通信機器により転 送される優先度は、前記サプリメントセグメントがネットワーク内の通信機器により転送 される優先度と等しぐ前記データセグメントに対する確認応答がネットワーク内の通 信機器により転送される優先度は、前記データセグメントがネットワーク内の通信機器 により転送される優先度と等し 、
請求項 2に記載のフロー制御方法。
[4] 前記データセグメント送信段階は、
前記データ列において、送信が完了しているデータのうちで前記データ列の先頭 から連続するデータと、サプリメントセグメントとして送信されたデータとの間に位置す るデータをデータセグメントとして送信する段階
を有する請求項 1に記載のフロー制御方法。
[5] 前記サプリメントセグメント送信段階は、
送信が完了しているデータのうちで前記データ列の先頭力 連続するデータから 所定のセグメント数だけ後方に位置するデータをサプリメントセグメントとして送信する 段階
を有する請求項 1に記載のフロー制御方法。
[6] 前記サプリメントセグメント送信段階は、
前記データ列において、送信が完了しているデータのうちで前記データ列の先頭 力 連続するデータ力 所定のセグメント数だけ後方に位置するデータが存在しない 場合、前記データ列において、サプリメントセグメントとして送信されていないデータ のうちの最も後方に位置するデータをサプリメントセグメントとして送信する段階 を有する請求項 5に記載のフロー制御方法。
[7] コネクション開始時又はタイムアウト発生時において、送信が完了していないデータ のセグメント数が、 maxcwnd X 2—1以上の場合、
前記サプリメントセグメント送信段階は、
シーケンス番号が t—seqno+maxcwndのデータから昇 j噴に maxcwnd— 1個の データを選択しながら、選択したデータをサプリメントセグメントとして送信する段階 を有する請求項 1に記載のフロー制御方法。
但し、 maxcwndは、前記送信側通信機器が前記受信側通信機器に割り当てること を認めた最大の輻輳ウィンドウ数とし、 t— seqnoは、前記データ列が有する送信が 完了していないデータのうちでシーケンス番号が最小のデータのシーケンス番号とす る。
[8] コネクション開始時又はタイムアウト発生時において、前記データ列が有する送信 が完了していないデータのセグメント数が、 maxcwnd + 1以上で maxcwnd X 2— 1 以下の場合、
前記サプリメントセグメント送信段階は、
シーケンス番号が t—seqno + maxcwndのデータから昇順に curseqまでのデータ を選択しながら、選択したデータをサプリメントセグメントとして送信した後、シーケン ス番号が t— seqno + maxcwnd— 1のデータから降順にデータを選択しながら、選 択したデータをサプリメントセグメントとして送信する段階
を有する請求項 1に記載のフロー制御方法。
但し、 maxcwndは、前記送信側通信機器が前記受信側通信機器に割り当てること を認めた最大の輻輳ウィンドウ数とし、 t— seqnoは、前記データ列が有する送信が 完了していないデータのうちでシーケンス番号が最小のデータのシーケンス番号とし 、 curseqは、前記データ列が有する送信が完了していないデータのうちでシーケン ス番号が最大のデータのシーケンス番号とする。
[9] コネクション開始時又はタイムアウト発生時において、前記データ列が有する送信 が完了して ヽな 、データのセグメント数が、 maxcwnd以下の場合、
前記サプリメントセグメント送信段階は、
シーケンス番号が curseqのデータから降順にデータを選択しながら、選択したデ ータをサプリメントセグメントとして送信する段階
を有する請求項 1に記載のフロー制御方法。
但し、 maxcwndは、前記送信側通信機器が前記受信側通信機器に割り当てること を認めた最大の輻輳ウィンドウ数とし、 curseqは、前記データ列が有する送信が完 了していないデータのうちでシーケンス番号が最大のデータのシーケンス番号とする
[10] 前記受信側通信機器から同一のデータセグメントの送信を要求する確認応答を N 個重複して受信した場合であって、前記データ列が有する送信が完了していないデ ータのセグメント数が、 maxcwnd X 2— cwndZ2以上の場合、
前記データセグメント送信段階は、
ネットワークにおいて損失したと判断されたデータセグメントを再送する段階 を有し、
前記サプリメントセグメント送信段階は、
シーケンス番号力 _ seqno + maxcwndのテータカ、ら昇川頁に curseq― cwnd/ 2 個のデータを選択しながら、選択したデータをサプリメントセグメントとして送信する段 階
を有する請求項 1に記載のフロー制御方法。
但し、 cwndは、帯域幅測定段階において測定された帯域幅に対応する輻輳ウィン ドウ数とし、 t— seqnoは、前記データ列が有する送信が完了していないデータのうち でシーケンス番号が最小のデータのシーケンス番号とし、 curseqは、前記データ列 が有する送信が完了していないデータのうちでシーケンス番号が最大のデータのシ 一ケンス番号とする。
[11] 前記受信側通信機器から同一のデータセグメントの送信を要求する確認応答を N 個重複して受信した場合であって、前記データ列が有する送信が完了していないデ ータのセグメント数が、 maxcwnd以上で maxcwnd X 2— cwndZ2— 1以下の場合 前記データセグメント送信段階は、
ネットワークにおいて損失したと判断されたデータセグメントを再送する段階 を有し、
前記サプリメントセグメント送信段階は、
シーケンス番号が t—seqno + maxcwndのデータから昇順に curseqまでのデータ を選択しながら、選択したデータをサプリメントセグメントとして送信した後、シーケン ス番号が t—seqno + maxcwnd— 1のデータから降順にデータを選択しながら、選 択したデータをサプリメントセグメントとして送信する段階
を有する請求項 1に記載のフロー制御方法。
但し、 cwndは、帯域幅測定段階において測定された帯域幅に対応する輻輳ウィン ドウ数とし、 t— seqnoは、前記データ列が有する送信が完了していないデータのうち でシーケンス番号が最小のデータのシーケンス番号とし、 curseqは、前記データ列 が有する送信が完了していないデータのうちでシーケンス番号が最大のデータのシ 一ケンス番号とする。
[12] 前記受信側通信機器から同一のデータセグメントの送信を要求する確認応答を N 個重複して受信した場合であって、前記データ列が有する送信が完了していないデ ータのセグメント数が、 maxcwnd— 1以下の場合、
前記データセグメント送信段階は、
ネットワークにおいて損失したと判断されたデータセグメントを再送する段階 を有し、
前記サプリメントセグメント送信段階は、
シーケンス番号が curseqのデータから降順にデータを選択しながら、選択したデ ータをサプリメントセグメントとして送信する段階
を有する請求項 1に記載のフロー制御方法。
但し、 cwndは、帯域幅測定段階において測定された帯域幅に対応する輻輳ウィン ドウ数とし、 curseqは、前記データ列が有する送信が完了していないデータのうちで シーケンス番号が最大のデータのシーケンス番号とする。
[13] 前記データセグメント送信段階は、
ネットワークに存在するデータセグメントの数を示す pipe値が cwnd以下の場合に、 前記受信側通信機器にデータセグメントを送信する段階
を有する請求項 1に記載のフロー制御方法。
但し、 cwndは、帯域幅測定段階において測定された帯域幅に対応する輻輳ウィン ド'ゥ数とする。
[14] 前記帯域幅測定段階は、
前記サプリメントセグメントに対する確認応答のうち、既に確認応答を受け取つて ヽ るデータに対する確認応答に依存せず、未だ確認応答を受け取つていないデータに 対する確認応答に基づいて、利用可能なネットワークの帯域幅を測定する段階 を有する請求項 1に記載のフロー制御方法。
[15] TCPによるデータ通信を行う通信機器であって、
送信側通信機器のアプリケーション力 受信側通信機器のアプリケーションに受け 渡すべきデータ列が有するデータをデータセグメントとして送信するデータセグメント 送信部と、
前記データ列が有する送信が完了して 、な 、データであって、送信が完了して ヽ るデータのうちで前記データ列の先頭力 連続するデータに連続しないデータを選 択するデータ選択部と、
前記データ選択部が選択したデータをサプリメントセグメントとして送信するサブリメ ントセグメント送信部と、
前記サプリメントセグメントに対して前記受信側通信機器カゝら送信される確認応答 に基づいて、利用可能なネットワークの帯域幅を測定する帯域幅測定部と を備える通信機器。
[16] 送信側通信機器及び受信側通信機器を備える TCP通信システムであって、 前記送信側通信機器は、
送信側通信機器のアプリケーション力 受信側通信機器のアプリケーションに受け 渡すべきデータ列が有するデータをデータセグメントとして送信するデータセグメント 送信部と、
前記データ列が有する送信が完了して 、な 、データであって、送信が完了して ヽ るデータのうちで前記データ列の先頭力 連続するデータに連続しないデータを選 択するデータ選択部と、
前記データ選択部が選択したデータをサプリメントセグメントとして送信するサブリメ ントセグメント送信部と、
前記サプリメントセグメントに対して前記受信側通信機器カゝら送信される確認応答 に基づいて、利用可能なネットワークの帯域幅を測定する帯域幅測定部と を有する TCP通信システム。
[17] 前記受信側通信機器は、
前記送信側通信機器カゝら送信された前記データセグメント及び前記サプリメントセ グメントを受信する受信部と、
前記受信部がデータセグメント又はサプリメントセグメントを受信した場合に、前記 受信部が既に受信しているデータセグメント及びサプリメントセグメントのデータのシ 一ケンス番号に、前記受信部が最後に受信したデータセグメント又はサプリメントセグ メントのデータのシーケンス番号が付加された確認応答を前記送信側通信機器に送 信する確認応答送信部と
を有する請求項 16に記載の TCP通信システム。
PCT/JP2005/015945 2004-08-31 2005-08-31 フロー制御方法、通信機器、及びtcp通信システム Ceased WO2006025469A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004253255A JP2006074251A (ja) 2004-08-31 2004-08-31 フロー制御方法、通信機器、及びtcp通信システム
JP2004-253255 2004-08-31

Publications (1)

Publication Number Publication Date
WO2006025469A1 true WO2006025469A1 (ja) 2006-03-09

Family

ID=36000118

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/015945 Ceased WO2006025469A1 (ja) 2004-08-31 2005-08-31 フロー制御方法、通信機器、及びtcp通信システム

Country Status (2)

Country Link
JP (1) JP2006074251A (ja)
WO (1) WO2006025469A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002025878A1 (en) * 2000-09-22 2002-03-28 Matsushita Electric Industrial Co., Ltd. Data transmitting/receiving method, transmitting device, receiving device, transmitting/receiving system, and program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002025878A1 (en) * 2000-09-22 2002-03-28 Matsushita Electric Industrial Co., Ltd. Data transmitting/receiving method, transmitting device, receiving device, transmitting/receiving system, and program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IAN F AKYILDIZ ET AL: "TCP-Peach+: Enhancement of TCP-Peach for Satellite IP Networks.", IEEE COMMUNICATIONS LETTERS., vol. 6, no. 7, July 2002 (2002-07-01), pages 303 - 305, XP001123688 *

Also Published As

Publication number Publication date
JP2006074251A (ja) 2006-03-16

Similar Documents

Publication Publication Date Title
Paxson et al. Known TCP implementation problems
CN1671094B (zh) 对假超时的响应
JP4898822B2 (ja) 通信システム、通信装置、通信方法
JP5131194B2 (ja) パケット回復方法、通信システム、情報処理装置およびプログラム
KR102046792B1 (ko) 송신 노드로부터 목적지 노드로의 데이터 전송 방법
CN101510816B (zh) 基于路径关联化的多路径并行传输方法
CN101369877B (zh) 无线传输控制协议处理方法和设备
WO2008040725A1 (en) Efficient tcp ack prioritization in wireless networks
WO2005027456A1 (ja) 通信システム、通信装置、およびデータの再送制御方法
CN113765626B (zh) 一种移动通信系统的数据传输方法和装置
US7480301B2 (en) Method, system and article for improved TCP performance during retransmission in response to selective acknowledgement
TW200935812A (en) Status reporting for retransmission protocol
RU2460214C2 (ru) Инициирование сообщения статуса в беспроводной системе связи
CN103701843A (zh) 一种信息同步数据传输方法及系统
CN108234087A (zh) 数据传输方法及发送端
CN101369879B (zh) 一种请求数据重传的方法及装置
EP1517468A2 (en) Status report missing detection in a communication system
WO2008100689A2 (en) Automatic repeat request (arq) reset method
US20060259845A1 (en) Method and apparatus for acknowledging a bitwise data chunk in wireline and wireless communication systems
JP2004187099A (ja) 通信制御方法、通信システム及び通信装置
EP1505759A2 (en) Method and device for transmitting/receiving data using acknowledged transport layer protocols
CN103078722B (zh) 一种请求数据重传的方法及装置
JP2006074251A (ja) フロー制御方法、通信機器、及びtcp通信システム
US20230036140A1 (en) Wireless aware network stack
CN100583878C (zh) 用于处理过时信息单元的技术

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP