JP2007208571A - Communication system, communication device, congestion control method used for them, and its program - Google Patents
Communication system, communication device, congestion control method used for them, and its program Download PDFInfo
- Publication number
- JP2007208571A JP2007208571A JP2006024013A JP2006024013A JP2007208571A JP 2007208571 A JP2007208571 A JP 2007208571A JP 2006024013 A JP2006024013 A JP 2006024013A JP 2006024013 A JP2006024013 A JP 2006024013A JP 2007208571 A JP2007208571 A JP 2007208571A
- Authority
- JP
- Japan
- Prior art keywords
- congestion
- packet
- state
- window
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1628—List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/187—Details of sliding window management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
Description
本発明は通信システム、通信装置及びそれらに用いる輻輳制御方法並びにそのプログラムに関し、特にパケット交換による通信システムにおける輻輳制御機能を有するプロトコル層のセッション制御技術に関する。 The present invention relates to a communication system, a communication apparatus, a congestion control method used therefor, and a program thereof, and more particularly to a protocol layer session control technique having a congestion control function in a communication system using packet switching.
パケット交換において、セッションを張るプロトコルの中には、受信側の受信処理能力を超えないように送信側の速度を制御するフロー制御、及び途中のネットワークの輻輳を起こさないように、送信側の速度を制御する輻輳制御の両方の機能(以下、両方の機能を合わせてレート制御とする)を持つものが存在する。 In packet switching, some protocols for establishing a session include flow control for controlling the speed on the sending side so as not to exceed the reception processing capacity on the receiving side, and the speed on the sending side so as not to cause network congestion on the way. There is one having both functions of congestion control for controlling the above (hereinafter, both functions are collectively referred to as rate control).
一般に、このレート制御機能はOSI(Open Systems Interconnection)参照モデルのトランスポート層で実現されることが多い。レート制御方式には、ウィンドウ制御型がある。ウィンドウ制御型は、1RTT(Round Trip Time)辺りにネットワークに滞留する量を調節する方法である。現在、インタネットで広く用いられているTCPも、ウィンドウ制御型トランスポート層プロトコルであり、輻輳制御機能を持っている。 In general, this rate control function is often implemented in the transport layer of an OSI (Open Systems Interconnection) reference model. As the rate control method, there is a window control type. The window control type is a method of adjusting the amount of staying in the network around 1 RTT (Round Trip Time). Currently, TCP widely used in the Internet is also a window control type transport layer protocol, and has a congestion control function.
TCPでは、輻輳制御を送信側で行い、受信側からの応答確認パケット[ACK(ACKnowledgement)パケット]によって、輻輳制御の状態を遷移させて、パケット送出量を増加、もしくはパケット紛失を検知し、パケット送出量を減少させて、パケットを再送する。パケット送出量は、1RTT辺りに送信できるパケット量であるCWND(輻輳ウィンドウ)で決まり、送信側は、ACKパケットで通知されたシーケンス番号(ACK番号)の最大値から、CWND分のデータを受信側へおくることができる。 In TCP, congestion control is performed on the transmission side, and a response confirmation packet [ACK (ACKknowledgement) packet] from the reception side is used to change the state of congestion control to increase the packet transmission amount or detect packet loss. Reduce the amount of transmission and retransmit the packet. The amount of packets sent is determined by CWND (congestion window), which is the amount of packets that can be transmitted around 1 RTT, and the transmitting side receives data for CWND from the maximum value of the sequence number (ACK number) notified by the ACK packet. You can go to
受信側からのACKパケット内のシーケンス番号が増加している場合、送信側はCWNDを上げ続けて、パケット送出量を上げ続ける。CWNDの上昇幅は、CWNDとSSTHRESH(スロースタート閾値)との関係で変わり、CWND≦SSTHRESH(スロースタート状態:Slow Start Phase)の場合は、1つのACKにつきCWNDの上昇幅は、1パケットであり、CWND>SSTHRESH(輻輳回避状態:Congestion Avoidance Phase)の場合は、1つのACKにつきCWNDの上昇幅は、1/CWNDパケットとなる。 When the sequence number in the ACK packet from the receiving side is increasing, the transmitting side continues to increase CWND and continues to increase the packet transmission amount. The increase width of CWND varies depending on the relationship between CWND and SSTHRESH (slow start threshold). When CWND ≦ SSTHRESH (slow start state: Slow Start Phase), the increase width of CWND is one packet per ACK. , CWND> SSTHRESH (congestion avoidance state), the increase in CWND per ACK is 1 / CWND packet.
一方、受信側でパケット損失を検知した場合、連続して受け取ったパケットの最大シーケンス番号+1(すなわち、パケットロスを検知したシーケンス番号の最小値)をACKパケットによって送信側へ通知する。受信側ではACKパケット内のシーケンス番号(ACK番号)が重複した場合(重複ACK)は、ACK番号からのセグメント(データの1区間)が紛失したと判断して、紛失したセグメントを再送信する。これを高速再送という。 On the other hand, when a packet loss is detected on the receiving side, the maximum sequence number + 1 (that is, the minimum value of the sequence number at which packet loss is detected) of continuously received packets is notified to the transmitting side by an ACK packet. If the sequence number (ACK number) in the ACK packet is duplicated on the receiving side (duplicate ACK), it is determined that the segment (one section of data) from the ACK number has been lost, and the lost segment is retransmitted. This is called high-speed retransmission.
この時、SSTHRESH=CWND/2となり、CWND=SSTHRESH+3*セグメントサイズとなる。別の重複ACKが到着するたびに、CWNDをセグメントサイズ単位で増加させ、CWNDの値によって新規パケットの転送が許可されたら新しいパケットを送信する。送信済の全てのデータの対するACKが帰ってきたら、CWND=SSTHRESHとする。高速再送後、ここまでが、高速回復と呼ばれる。高速回復中のスループットは、ロス直前の半分以下となる。その後、輻輳回避状態となる。 At this time, SSTHRESH = CWND / 2, and CWND = SSTHRESH + 3 * segment size. Each time another duplicate ACK arrives, CWND is incremented by the segment size, and a new packet is transmitted when transfer of a new packet is permitted by the value of CWND. When ACK for all the transmitted data is returned, CWND = SSTHRESH. The process up to this point after high-speed retransmission is called high-speed recovery. The throughput during high-speed recovery is less than half that before the loss. Thereafter, the congestion avoidance state is entered.
また、ACKが一定時間帰ってこなかった場合も、パケットが紛失したと判断して(タイムアウト)、CWNDを1パケットにして、紛失したパケットを再送信する。輻輳制御に関しては、非特許文献1に記載されている。
Also, if the ACK does not return for a certain time, it is determined that the packet has been lost (timeout), the CWND is set to 1 packet, and the lost packet is retransmitted. Congestion control is described in
また、迅速なパケット再送のために、TCPのオプションとして、SACK(Selective ACK)オプションが規定されている(例えば、非特許文献2参照)。このオプションは、パケット紛失によって非連続となった区間のうち、連続している区間を受信側から送信側へ通知するための情報をACKパケットに付加するものである。SACKオプションは、一度に複数のブロックで連続区間を通知可能であり、最初のブロックには、最新の受信シーケンス番号を格納する。このため、送信側には、受信側に到着した最大のシーケンス番号(受信側の最大受信シーケンス番号)が通知されることとなる。 Further, for quick packet retransmission, a SACK (Selective ACK) option is defined as a TCP option (see, for example, Non-Patent Document 2). This option adds information to the ACK packet for notifying the transmission side from the reception side of the continuous period among the non-consecutive periods due to packet loss. The SACK option can notify a continuous section with a plurality of blocks at a time, and the latest reception sequence number is stored in the first block. For this reason, the transmitting side is notified of the maximum sequence number that has arrived at the receiving side (the maximum receiving sequence number on the receiving side).
送信側は、通知された連続している区間より非連続区間を算出して、非連続区間のセグメントを再送する。送信側は、非連続区間のみを再送すればよく、再送効率がよい。非連続区間を再送することができたかどうかは、ACK番号が非連続区間を越えていたかどうかで判断することができる。非連続区間を再送することができた場合には、非連続区間より前の連続区間の情報を破棄する。 The transmitting side calculates a discontinuous section from the notified continuous sections and retransmits the segments of the discontinuous sections. The transmission side only needs to retransmit only the non-consecutive section, and the retransmission efficiency is good. Whether or not the non-consecutive section can be retransmitted can be determined by whether or not the ACK number exceeds the non-consecutive section. When the non-continuous section can be retransmitted, information on the continuous section before the non-continuous section is discarded.
このSACKオプションの用いても、既存の輻輳制御は、上述した従来の方法と同様であり、重複ACKを検出したら、パケット再送を行い、CWNDを半分にするという動作を行っている。このSACKオプションは、現在、広く実装されており、標準のTCPの一部を構成しているといえる。 Even if this SACK option is used, the existing congestion control is the same as the conventional method described above, and when duplicate ACK is detected, the packet is retransmitted and CWND is halved. This SACK option is currently widely implemented and can be said to constitute part of the standard TCP.
従来のTCPの問題として、ひとつのパケットロスに対しても、CWNDを半分にしてしまい、スループットが減少するため、ランダムロスが発生するとネットワークの帯域が空いていても、使い切ることができないという点がある。また、第2の問題としては、パケットロスが高い頻度で発生する状態では、輻輳回避状態に入ることがなく、高速再送、高速回復を繰り返す状態となり、スループットがあがらなくなるという点がある。 A problem with conventional TCP is that even for a single packet loss, the CWND is halved and the throughput is reduced, so if a random loss occurs, it cannot be used up even if the network bandwidth is free. is there. As a second problem, in a state where packet loss occurs frequently, the congestion avoiding state is not entered, and high-speed retransmission and high-speed recovery are repeated, resulting in an increase in throughput.
上述した従来のTCPの第1の問題に対処するために、受信側で、受信したパケットのチェックサムを計算して、チェックサムが合わなかったら、ランダムロスが発生したことを送信側に通知し、送信側において、ランダム誤りが発生したことを通知されると、輻輳回避のためのフロー制御を行わないという手順を含むデータ転送制御方法がある(例えば、特許文献1参照)。 In order to deal with the first problem of the conventional TCP described above, the reception side calculates the checksum of the received packet, and if the checksum does not match, notifies the transmission side that a random loss has occurred. There is a data transfer control method including a procedure of not performing flow control for congestion avoidance when a transmission side is notified that a random error has occurred (see, for example, Patent Document 1).
この方法は、送信側、受信側の両方で、TCPの実装を変更する必要がある。また、パケットロスが高い頻度で発生する状態では、輻輳回避状態に入ることがなく、ランダムパケットの再送分のACKを待つ状態が繰り返し発生して、結果としてスループットが出なくなり、従来のTCPの第2の問題を解決していない。 In this method, it is necessary to change the TCP implementation on both the transmission side and the reception side. In a state where packet loss occurs frequently, the congestion avoiding state is not entered, and a state of repeatedly waiting for ACK for the retransmission of random packets occurs repeatedly, resulting in no throughput, and the conventional TCP first The problem of 2 is not solved.
さらに、この方法は、ランダムロスパケットの再送を行い、その再送したパケットのACKが返ってくるまで1RTTの間、パケットを新たに送出することができないため、この間、スループットが減少するという問題点がある。この問題点について、送信側で受信した最大ACK番号と最大送信可能シーケンス番号の変動を、図12を用いて説明する。 Furthermore, since this method retransmits a random loss packet and cannot send a new packet for 1 RTT until an ACK of the retransmitted packet is returned, the throughput decreases during this time. is there. With respect to this problem, fluctuations in the maximum ACK number and the maximum transmittable sequence number received on the transmission side will be described with reference to FIG.
説明を簡略化するために、最大送信可能シーケンス番号は受信側の最大ACK番号+cwndに等しいものとし、受信側のバッファは十分大きいものとする。輻輳回避状態中の時間Aまでは、送信側は最大送信可能シーケンス番号までのデータを受信側に送っているものとする。 In order to simplify the explanation, it is assumed that the maximum transmittable sequence number is equal to the maximum ACK number on the receiving side + cwnd, and the buffer on the receiving side is sufficiently large. It is assumed that until the time A during the congestion avoidance state, the transmitting side has sent data up to the maximum transmittable sequence number to the receiving side.
時間Aに、送信側がシーケンス番号xのパケットがランダムロスをしたと検知するものとし、このパケット以外は紛失していないものとする。この時、送信側はシーケンス番号xのパケットを再送し、cwndを下げない動作を行う。この後、再送パケットに対応するACKが返ってくる時間B(=時間A+1RTT)まで、送信側から送信されるACK番号が進むことがない(重複ACK)であるため、最大送信可能シーケンス番号は、x+CWNDのまま変化しない。 It is assumed that at time A, the transmission side detects that the packet with the sequence number x has randomly lost, and no other packets are lost. At this time, the transmission side retransmits the packet with the sequence number x and performs an operation without lowering cwnd. After this, since the ACK number transmitted from the transmission side does not advance (duplicate ACK) until time B (= time A + 1RTT) when the ACK corresponding to the retransmission packet is returned, the maximum transmittable sequence number is x + CWND remains unchanged.
よって、この区間において、送信側は、受信側に新規シーケンス番号を持つパケットを送出することができない。時間Bに、シーケンス番号xの再送パケットに対応するACKのシーケンス番号はx+CWNDとなり、最大送信可能シーケンス番号はx+2CWNDとなるため、この時点でCWND分のデータが送信可能となり、バースト的に通信が行われる。 Therefore, in this section, the transmitting side cannot send a packet having a new sequence number to the receiving side. At time B, the sequence number of the ACK corresponding to the retransmission packet with the sequence number x is x + CWND, and the maximum transmittable sequence number is x + 2CWND. At this point, data for CWND can be transmitted and communication is performed in bursts. Is called.
また、他の技術としては、パケットロス検出時に、CWNDを直ちに削減せずにそのまま保持して、その後のパケット紛失状況が悪化した場合にのみCWNDを減少させる手順を含む帯域制御方法がある(例えば、特許文献2参照)。 As another technique, there is a bandwidth control method including a procedure for maintaining CWND as it is without immediately reducing it at the time of packet loss detection and reducing CWND only when the subsequent packet loss situation deteriorates (for example, , See Patent Document 2).
この方法は、パケットロスがひとつでもあると、CWNDを維持しながらロス数の変化を監視する状態に入ってしまいスループットが上昇しなくなるという問題点がある。また、パケットロスが高い頻度で発生する状態では、輻輳回避状態に入ることがなく、ロスパケットの再送分のACKを待つ状態が繰り返し発生して、結果としてスループットが出なくなり、従来のTCPの第2の問題を解決していない。 This method has a problem that if there is even one packet loss, a change in the number of losses is monitored while maintaining CWND, and the throughput does not increase. In a state where packet loss occurs frequently, the congestion avoiding state is not entered, and a state of waiting for an ACK corresponding to the retransmission of the lost packet occurs repeatedly, resulting in a loss of throughput. The problem of 2 is not solved.
さらに、この方法は、ロスパケットの再送を行い、その再送したパケットのACKが返ってくるまで1RTTの間、パケットを新たに送出することができないため、この間、スループットが減少するという問題点がある。この問題点について、送信側で受信した最大ACK番号と最大送信可能シーケンス番号の変動を、図13を用いて説明する。 Further, this method has a problem that throughput is reduced during this time because a lost packet is retransmitted and a new packet cannot be transmitted for 1 RTT until an ACK of the retransmitted packet is returned. . With respect to this problem, fluctuations in the maximum ACK number and the maximum transmittable sequence number received on the transmission side will be described with reference to FIG.
説明を簡略化するために、受信側のバッファは十分大きいものとして、最大送信可能シーケンス番号は受信側から通知された最大ACK番号+CWNDに等しいものとする。輻輳回避状態中の時間Aまでは、送信側は、最大送信可能シーケンス番号までのデータを受信側に送っているものとする。 In order to simplify the explanation, it is assumed that the buffer on the receiving side is sufficiently large, and the maximum transmittable sequence number is equal to the maximum ACK number notified from the receiving side + CWND. It is assumed that until the time A during the congestion avoidance state, the transmitting side has sent data up to the maximum transmittable sequence number to the receiving side.
時間Aに、送信側がシーケンス番号xのパケットが紛失をしたことを検知したものとし、このパケット以外は紛失していないものとする。この時、送信側はシーケンス番号xのパケットを再送し、CWNDを下げない動作を行う。この後、再送パケットに対応するACKが返ってくる時間B(=時間A+1RTT)まで、送信側から送信されるACK番号が進むことがない(重複ACK)であるため、最大送信可能シーケンス番号は、x+CWNDのまま変化しない。よって、この区間において、送信側は、受信側に新規シーケンス番号を持つパケットを送出することができない。 Assume that at time A, the transmission side detects that the packet with the sequence number x is lost, and no other packets are lost. At this time, the transmission side retransmits the packet with the sequence number x and performs an operation without lowering CWND. After this, since the ACK number transmitted from the transmission side does not advance (duplicate ACK) until time B (= time A + 1RTT) when the ACK corresponding to the retransmission packet is returned, the maximum transmittable sequence number is x + CWND remains unchanged. Therefore, in this section, the transmitting side cannot send a packet having a new sequence number to the receiving side.
時間Bに、シーケンス番号xの再送パケットに対応するACKのシーケンス番号は、x+CWNDとなり、最大送信可能シーケンス番号は、x+2CWNDとなるため、この時点でCWND分のデータが送信可能となり、バースト的に通信が行われる。 At time B, the sequence number of the ACK corresponding to the retransmission packet of sequence number x is x + CWND, and the maximum transmittable sequence number is x + 2CWND. Is done.
上述した従来の輻輳制御技術では、輻輳があったことを、単純なロス数変化やネットワークから通知される明示的な輻輳情報を基づいて行っているため、ある特定の輻輳状況の変化に応じた輻輳制御を行うことができるが、より広範囲の輻輳状況の変化に応じた輻輳制御の変更を行うことができない。 In the conventional congestion control technology described above, congestion is performed based on simple changes in the number of losses and explicit congestion information notified from the network. Although congestion control can be performed, the congestion control cannot be changed according to changes in a wider range of congestion conditions.
また、従来の輻輳制御技術では、輻輳回避状態に入ることなく、ロスパケット再送とその後の回復状態とが繰り返し発生するため、ロス率の高い状態ではスループットが減少するという問題がある。 Further, in the conventional congestion control technology, there is a problem that the throughput is reduced in a state where the loss rate is high because retransmission of the lost packet and subsequent recovery state occur repeatedly without entering the congestion avoidance state.
さらに、従来の輻輳制御技術では、パケットロス後、受信側のCWNDと最大ACK番号とが変わらず、最大送信可能シーケンス番号が変化しないため、パケットを送信することができないので、ロスパケットの再送後、スループットが減少するという問題がある。 Further, in the conventional congestion control technique, after the packet loss, the CWND on the receiving side and the maximum ACK number do not change and the maximum transmittable sequence number does not change, so the packet cannot be transmitted. There is a problem that throughput is reduced.
そこで、本発明の目的は上記の問題点を解消し、受信側端末の実装の変更やネットワークからの特別な情報を入手することなく、送信側端末の実装の変更だけで、ロス率が高い状態でもスループットを増加させることができる通信システム、通信装置及びそれらに用いる輻輳制御方法並びにそのプログラムを提供することにある。 Therefore, the object of the present invention is to solve the above-mentioned problems, and the loss rate is high only by changing the implementation of the transmission side terminal without changing the implementation of the reception side terminal or obtaining special information from the network. However, it is to provide a communication system, a communication apparatus, a congestion control method used for them, and a program thereof that can increase the throughput.
本発明による通信システムは、受信側がパケットロスを認識した時に紛失したパケットを指定して送信側に再送を要求するウィンドウ制御方式を用いる通信システムであって、
前記送信側に、前記受信側から通知された情報と輻輳制御の状態の一つ以上の情報とによってネットワークの輻輳状態を推定する推定手段と、前記推定手段で推定された輻輳状態に応じて重輻輳状態であるか前記重輻輳状態でないかを区別する手段と、前記重輻輳状態でないと区別された時に前記パケットの送信量を決めるためのウィンドウを増加しつつ紛失したパケットを再送する手段とを備えている。
The communication system according to the present invention is a communication system using a window control method in which a receiving side designates a lost packet when recognizing a packet loss and requests retransmission to the transmitting side,
Estimating means for estimating the congestion state of the network from the information notified from the receiving side and one or more pieces of information on the congestion control state to the transmitting side, and overlapping according to the congestion state estimated by the estimating means. Means for distinguishing whether it is in a congestion state or not in the heavy congestion state, and means for retransmitting a lost packet while increasing a window for determining the transmission amount of the packet when it is not in the heavy congestion state. I have.
本発明による通信装置は、受信側がパケットロスを認識した時に紛失したパケットを指定して送信側に再送を要求するウィンドウ制御方式を用いる通信装置であって、
前記送信側の処理手段に、前記受信側から通知された情報と輻輳制御の状態の一つ以上の情報とによってネットワークの輻輳状態を推定する推定手段と、前記推定手段で推定された輻輳状態に応じて重輻輳状態であるか前記重輻輳状態でないかを区別する手段と、前記重輻輳状態でないと区別された時に前記パケットの送信量を決めるためのウィンドウを増加しつつ紛失したパケットを再送する手段とを備えている。
A communication apparatus according to the present invention is a communication apparatus that uses a window control system that designates a lost packet when the receiving side recognizes a packet loss and requests the transmitting side to retransmit,
Estimating means for estimating the congestion state of the network based on the information notified from the receiving side and one or more pieces of information on the state of congestion control to the processing means on the transmitting side, and the congestion state estimated by the estimating means Accordingly, the packet is retransmitted while increasing the window for determining the transmission amount of the packet when it is determined that it is not the heavy congestion state and the means for distinguishing whether it is the heavy congestion state or not. Means.
本発明による輻輳制御方法は、受信側がパケットロスを認識した時に紛失したパケットを指定して送信側に再送を要求するウィンドウ制御方式をとる通信システムに用いる輻輳制御方法であって、
前記送信側の装置が、前記受信側から通知された情報と輻輳制御の状態の一つ以上の情報とによってネットワークの輻輳状態を推定する推定処理と、前記推定手段で推定された輻輳状態に応じて重輻輳状態であるか前記重輻輳状態でないかを区別する処理と、前記重輻輳状態でないと区別された時に前記パケットの送信量を決めるためのウィンドウを増加しつつ紛失したパケットを再送する処理とを実行している。
The congestion control method according to the present invention is a congestion control method used in a communication system that adopts a window control method for specifying a lost packet when a receiving side recognizes a packet loss and requesting a retransmission to the transmitting side.
The transmitting device estimates the network congestion state based on the information notified from the receiving side and one or more pieces of information on the congestion control state, and responds to the congestion state estimated by the estimating unit. For distinguishing whether the packet is in a heavy congestion state or not in the heavy congestion state, and for retransmitting a lost packet while increasing the window for determining the amount of packet transmission when it is determined that the packet is not in the heavy congestion state And running.
本発明による輻輳制御方法のプログラムは、受信側がパケットロスを認識した時に紛失したパケットを指定して送信側に再送を要求するウィンドウ制御方式をとる通信システムに用いる輻輳制御方法のプログラムであって、
前記送信側の処理を行うコンピュータに、前記受信側から通知された情報と輻輳制御の状態の一つ以上の情報とによってネットワークの輻輳状態を推定する推定処理と、前記推定手段で推定された輻輳状態に応じて重輻輳状態であるか前記重輻輳状態でないかを区別する処理と、前記重輻輳状態でないと区別された時に前記パケットの送信量を決めるためのウィンドウを増加しつつ紛失したパケットを再送する処理とを実行させている。
A program for a congestion control method according to the present invention is a program for a congestion control method used in a communication system that adopts a window control method for requesting retransmission to a transmission side by specifying a lost packet when the reception side recognizes packet loss,
An estimation process for estimating a network congestion state based on information notified from the reception side and one or more pieces of congestion control state to the computer performing the processing on the transmission side, and the congestion estimated by the estimation unit A process for distinguishing whether the state is a heavy congestion state or not a heavy congestion state according to the state, and a packet that is lost while increasing a window for determining the transmission amount of the packet when it is determined that the state is not the heavy congestion state And re-sending processing.
すなわち、本発明の第1の通信システムは、通信装置に、パケットロスの状態やパケットの到着時間の情報、輻輳制御の状態を用いて、ネットワークの輻輳状態を推定するネットワーク状態推定部と、輻輳状態が軽輻輳であるか、重輻輳中であるかを判断する軽・重輻輳判定部と、軽輻輳時に再送するか、通常転送するかを判断する再送判定部と、軽輻輳時の再送を行う軽輻輳再送部とを有している。 That is, the first communication system of the present invention includes: a network state estimation unit that estimates a network congestion state using a packet loss state, packet arrival time information, and congestion control state; A light / heavy congestion determination unit that determines whether the status is light congestion or heavy congestion, a retransmission determination unit that determines whether to retransmit during light congestion or normal transfer, and retransmission during light congestion And a light congestion retransmission unit to perform.
本発明の第1の通信システムは、上記のような構成を採用し、軽輻輳時にもウィンドウを継続的に上昇させることで、受信側端末の実装の変更やネットワークからの特別な情報を入手することなく、送信側端末の実装の変更だけで、ロス率が高い状態でもスループットを増加させることが可能となる。 The first communication system of the present invention adopts the configuration as described above, and continuously increases the window even during light congestion, thereby obtaining changes in the implementation of the receiving terminal and special information from the network. Without changing the implementation of the transmitting terminal, the throughput can be increased even when the loss rate is high.
また、本発明の第2の通信システムは、通信装置に、上記の構成に加えて、最大送信可能シーケンス番号を増やして補正する最大送信可能シーケンス番号補正部を有している。本発明の第2の通信システムでは、上記のような構成を採用し、軽輻輳時にも、新たなパケットを送信するように促すことで、受信側端末の実装の変更やネットワークからの特別な情報を入手することなく、送信側端末の実装の変更だけで、ロス率が高い状態でもスループットを増加させることが可能となり、ロスパケットの再送後、スループットを増加させることが可能となる。 In addition to the above configuration, the second communication system of the present invention has a maximum transmittable sequence number correction unit that increases and corrects the maximum transmittable sequence number in addition to the above configuration. The second communication system of the present invention adopts the above-described configuration, and prompts to transmit a new packet even during light congestion, thereby changing the receiving terminal implementation and special information from the network. It is possible to increase the throughput even when the loss rate is high only by changing the implementation of the transmitting terminal without obtaining the transmission rate, and it is possible to increase the throughput after resending the lost packet.
本発明は、上記のような構成及び動作とすることで、受信側端末の実装の変更やネットワークからの特別な情報を入手することなく、送信側端末の実装の変更だけで、ロス率が高い状態でもスループットを増加させることができるという効果が得られる。 The present invention is configured and operated as described above, so that the loss rate is high only by changing the implementation of the transmission side terminal without changing the implementation of the reception side terminal or obtaining special information from the network. Even in the state, an effect that the throughput can be increased is obtained.
次に、本発明の実施の形態について図面を参照して説明する。図1は本発明の実施の形態による通信システムの構成を示すブロック図である。図1において、本発明の実施の形態による通信システムは送信端末1と、受信端末2と、送信端末1から受信端末2へとデータを送るための通信網100とから構成されている。
Next, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a configuration of a communication system according to an embodiment of the present invention. In FIG. 1, the communication system according to the embodiment of the present invention includes a
本発明の実施の形態による通信システムでは、送信端末1に、パケットロスの状態やパケットの到着時間の情報、輻輳制御の状態を用いて、ネットワークの輻輳状態を推定するネットワーク状態推定部と、輻輳状態が軽輻輳であるか、重輻輳中であるかを判断する軽・重輻輳判定部と、軽輻輳時に再送するか、通常転送するかを判断する再送判定部と、軽輻輳時の再送を行う軽輻輳再送部とを設けている。
In the communication system according to the embodiment of the present invention, the
本発明の実施の形態による通信システムでは、上記のような構成を採用し、軽輻輳時にもウィンドウを継続的に上昇させることで、受信端末2の実装の変更やネットワークからの特別な情報を入手することなく、送信端末1の実装の変更だけで、ロス率が高い状態でもスループットを増加させることができる。
The communication system according to the embodiment of the present invention adopts the configuration as described above, and obtains special information from the network by changing the implementation of the receiving
また、本発明の実施の形態による通信システムでは、送信端末1に、上記の構成に加えて、最大送信可能シーケンス番号を増やして補正する最大送信可能シーケンス番号補正部を設けている。本発明の実施の形態による通信システムでは、上記のような構成を採用し、軽輻輳時にも、新たなパケットを送信するように促すことで、受信端末2の実装の変更やネットワークからの特別な情報を入手することなく、送信端末1の実装の変更だけで、ロス率が高い状態でもスループットを増加させることができ、ロスパケットの再送後、スループットを増加させることができる。
In the communication system according to the embodiment of the present invention, in addition to the above configuration, the
図2は本発明の第1の実施例による送信端末のセッション処理部の構成を示すブロック図である。図2において、セッション処理部10はデータ入力部11と、パケット入力部12と、輻輳制御部13と、データ出力部14と、パケット出力部15と、セッション状態記憶部16と、セグメントバッファ部17とから構成されている。
FIG. 2 is a block diagram showing the configuration of the session processing unit of the transmitting terminal according to the first embodiment of the present invention. 2, the
このセッション処理部10を備える送信端末は、上記の図1に示す本発明の実施の形態による通信システムの送信端末1であり、本発明の実施の形態と同様に、通信網100を通して受信端末2にデータを送っている。尚、送信端末1においては説明を簡略化するためにセッション処理部10のみについて説明するが、このセッション処理部10以外の処理部は公知であるので、その説明を省略する。
The transmission terminal provided with the
また、セッション処理部10については、確認応答(ACK:ACKnowledgement)パケットによってウィンドウ型の輻輳制御を行う方式で、送信側の輻輳制御にかかわる部分のみについて記述し、セッション開設・終了、データ送受信、ACK送信に関する部分の説明を省略して、セッションのデータが一方向に流れるものとする。
The
データ入力部11はデータを保持する端末内部資源3からのデータを入力し、パケット入力部12は通信網100からパケットを入力する。輻輳制御部13はデータ入力部11及びパケット入力部12からの信号を処理する。データ出力部14は輻輳制御部13からのデータを端末内部資源3へ送り、パケット出力部15は輻輳制御部13からのパケットを通信網100へ送る。
The
セッション状態記憶部16は輻輳制御部13で処理するセッションの情報を保持し、セグメントバッファ部17はデータ入力部11からデータ出力部14へのデータを、パケットの中のデータ部分であるセグメントの区切りで保持する。
The session
輻輳制御部13については、セッション処理における確認応答(ACK)パケット処理に関する処理を記述し、データ送受信処理やタイマ処理に関する部分についての説明を省略する。
For the
図3は図2の輻輳制御部13の構成を示すブロック図である。図3において、輻輳制御部13は、輻輳判定部21と、ネットワーク状態推定部22と、軽・重輻輳判定部23と、再送判定部24と、重輻輳再送部25と、軽輻輳再送部26と、通常転送部27と、状態更新部28とを備えている。
FIG. 3 is a block diagram showing a configuration of the
輻輳判定部21はACKパケット及びセッション状態記憶部16の記憶内容から、現在の状態が軽・重輻輳中であるかを判断し、軽・重輻輳中であればネットワーク状態推定部22に処理を渡し、そうでなければ通常状態と判断して通常転送部27に処理を渡す。ネットワーク状態推定部22はACKパケット及びセッション状態記憶部16の記憶内容からネットワーク輻輳状態を推定する。
The
軽・重輻輳判定部23はネットワーク状態推定部22の推定結果から軽輻輳であるか、重輻輳であるかを判断し、軽輻輳であれば再送判定部24へ処理を渡し、重輻輳であれば重輻輳再送部25へ処理を渡す。再送判定部24は受信側からACKによって再送が要求されたセグメントの中で再送を行っていない未再送セグメントがあるかを判断し、未再送セグメントがあれば軽輻輳再送部26に処理を渡し、なければ通常転送部27に処理を渡す。
The light / heavy
重輻輳再送部25は輻輳ウィンドウを減少させて、再送対象となるセグメントをセグメントバッファ部17のセグメントから探し、再送対象となるセグメントがあればパケット出力部15へ処理を渡す。軽輻輳再送部26は輻輳ウィンドウを上げる、もしくは維持して、あるいは再送パケットのセグメントのサイズ分輻輳ウィンドウを下げて、再送対象となるセグメントをセグメントバッファ部17のセグメントから探し、再送対象となるセグメントがあればパケット出力部15へ処理を渡す。
The heavy
通常転送部27は輻輳ウィンドウを上げて、セグメントバッファ部17の新規送信セグメントがあればパケット出力部15へ処理を渡す。状態更新部28は通常転送部27、軽輻輳再送部26、重輻輳再送部25各々の処理の後、セッションの状態を更新する。尚、再送判定部24においては、1度再送したセグメントを、再々送してもよく、再々送の回数に制限はない。
The
再々送のタイミングは、新規送出シーケンス番号が、再送、もしくはn回再々送した時の新規シーケンス番号からx番号増加した時となる。x番号は複数の値でもよく、輻輳ウィンドウサイズから算出される値でもよい。x番号として最もよい値は、x番号を輻輳ウィンドウとする場合である。なぜなら、ウィンドウ制御方式の制御間隔として効果的な値のうち、最小の値であるからである。 The re-transmission timing is when the new transmission sequence number is increased by x from the new sequence number when it is retransmitted or re-transmitted n times. The x number may be a plurality of values or a value calculated from the congestion window size. The best value for the x number is when the x number is the congestion window. This is because it is the smallest value among the effective values for the control interval of the window control method.
また、再々送のタイミングは、再送、もしくはn回再々送してから、時間t経った場合に行ってもよい。yは複数の値でもよい。また、tは遅延時間、パケットの到着間隔から算出される値でもよい。最もよい値は、yを往復遅延時間とする場合である。なぜなら、ウィンドウ制御方式の制御間隔として効果的な値のうち、最小の値であるからである。 Further, the re-transmission timing may be performed when time t elapses after retransmission or re-transmission n times. y may be a plurality of values. Also, t may be a value calculated from the delay time and the packet arrival interval. The best value is when y is the round trip delay time. This is because it is the smallest value among the effective values for the control interval of the window control method.
ネットワーク状態推定部22においては、ACKパケットやセッション状態記憶部16の記憶内容からのセグメントロスの情報やパケットの到着時間、輻輳制御の状態の情報を用いて、ネットワークの輻輳状態を推定する。セグメントロスの情報とは、受信側に到着したセグメントから受信側で認識したセグメントロス箇所情報を指す。パケットの時間の情報とは、パケットの到着遅延時間、パケットの到着間隔を指す。
The network
セグメントロスの情報からのネットワーク輻輳状態の推定方法としては、(a1)新規セグメントの到着パターンの変動による推定、(a2)セグメントの非連続区間の開始シーケンスと終了シーケンスの差からの推定、(a3)セグメントの非連続区間の量による推定の3つがある。 As a method of estimating the network congestion state from the segment loss information, (a1) estimation based on variation in the arrival pattern of a new segment, (a2) estimation from the difference between the start sequence and end sequence of a segment non-continuous section, (a3 ) There are three estimations based on the amount of non-consecutive segments.
(a1)の推定方法では、新規セグメントが受信側に連続して到着しているのか、非連続になって到着しているのかに基づいてネットワーク輻輳状態を推定しており、新規セグメントが非連続になって到着する場合に、新規セグメントが連続して到着する場合に比べて輻輳が悪化していると推定する。 In the estimation method of (a1), the network congestion state is estimated based on whether new segments arrive continuously at the receiving side or arrive non-continuously, and the new segments are non-continuous. It is estimated that the congestion is worse than when the new segments arrive continuously.
(a2)の推定方法では、セグメントの非連続区間の開始シーケンスと終了シーケンスとの差が増加した場合に、輻輳が悪化していると推定する。増加の判断としては、シーケンスの差が、xとなったかどうかで判断してもよい。xは固定値でもよいし、輻輳ウィンドウから算出される値でもよい。また、この推定方法では、シーケンスの差を一定時間毎に計測し、その値が増加しているかどうかでネットワーク輻輳状態を判断してもよい。 In the estimation method (a2), when the difference between the start sequence and the end sequence of the segment discontinuous section increases, it is estimated that the congestion has deteriorated. The increase may be determined based on whether the sequence difference is x. x may be a fixed value or a value calculated from a congestion window. Further, in this estimation method, the sequence difference may be measured at regular intervals, and the network congestion state may be determined based on whether or not the value has increased.
(a3)の推定方法では、セグメントの非連続区間の量が増加した場合に、輻輳が悪化していると推定する。セグメントの非連続区間の量とは、送信側で把握しているセグメントの非連続区間の量、もしくは受信側からの通知毎のセグメントの非連続区間の量である。増加の判断としては、非連続区間の量がxとなったかどうかで判断してもよい。xは固定値でもよいし、輻輳ウィンドウから算出される値でもよい。また、この推定方法では、非連続区間の量を一定時間毎に計測し、その値が増加しているかどうかでネットワーク輻輳状態を判断してもよい。さらに、この推定方法では、一つあたりの非連続区間の量が増加している場合に、輻輳が悪化していると推定してもよい。 In the estimation method (a3), when the amount of non-consecutive segments increases, it is estimated that congestion has deteriorated. The amount of the segment non-continuous section is the amount of the segment non-continuous section grasped on the transmission side or the amount of the segment non-continuous section for each notification from the reception side. The increase may be determined based on whether or not the amount of the discontinuous section is x. x may be a fixed value or a value calculated from a congestion window. In this estimation method, the amount of non-consecutive sections may be measured at regular intervals, and the network congestion state may be determined based on whether the value has increased. Furthermore, in this estimation method, when the amount of non-consecutive sections per one increases, it may be estimated that congestion is getting worse.
パケットの到着時間の情報からのネットワーク輻輳状態の推定方法としては、(b1)パケットの到着遅延時間の伸び方による推定、(b2)パケットの到着間隔の伸び方による推定の2つがある。 There are two methods for estimating the network congestion state from packet arrival time information: (b1) estimation based on how the packet arrival delay time increases, and (b2) estimation based on how the packet arrival interval increases.
(b1)の推定方法では、パケットの到着遅延時間が増加している場合に、輻輳が悪化していると推定する。到着遅延時間が増加の傾向にあるかどうかの判断は、閾値を超えた、もしくは単位時間あたりの平均値や偏差をとり、平均値や偏差、もしくはそれらの両方が閾値を超えた、あるいは増加していたら、到着遅延時間が増加の傾向にあると判断する。到着遅延時間で用いる値として最もよい値は、往復遅延時間である。これは応答確認パケットを用いることで、容易に計測可能だからである。 In the estimation method (b1), when the arrival delay time of the packet is increased, it is estimated that the congestion is deteriorated. Judgment of whether the arrival delay time tends to increase is determined by exceeding the threshold or taking an average value or deviation per unit time, and the average value and / or deviation exceeds or exceeds the threshold. If so, it is determined that the arrival delay time tends to increase. The best value for the arrival delay time is the round trip delay time. This is because the response confirmation packet can be used for easy measurement.
(b2)の推定方法では、パケットの到着間隔が増加の傾向にある場合に、輻輳が悪化していると推定する。到着間隔が増加の傾向にあるかどうかの判断は、閾値を超えた、もしくは単位時間あたりの平均値や偏差をとり、平均値や偏差、もしくはそれらの両方が閾値を超えた、あるいは増加していたら、到着間隔が増加の傾向にあると判断する。 In the estimation method (b2), when the packet arrival interval tends to increase, it is estimated that congestion has deteriorated. Judgment whether the arrival interval tends to increase has exceeded the threshold, or the average value and deviation per unit time are taken, and the average value and / or deviation have exceeded the threshold or increased. Then, it is determined that the arrival interval tends to increase.
輻輳制御の状態からのネットワーク輻輳状態の推定方法としては、(c1)再々送の回数の変動による推定、(c2)輻輳の継続時間による推定の2つがある。 There are two methods for estimating the network congestion state from the congestion control state: (c1) estimation based on fluctuations in the number of re-transmissions, and (c2) estimation based on congestion duration.
(c1)の推定方法では、再々送の回数が増加した場合に、輻輳が悪化していると推定する。再々送の回数の増加の判断としては、回数がx回となったかどうかで判断してもよい。xは固定値でもよいし、輻輳ウィンドウから算出される値でもよい。また、この推定方法では、再々送回数を一定時間毎に計測し、その値が増加しているかどうかでネットワーク輻輳状態を判断してもよい。 In the estimation method (c1), when the number of re-transmissions is increased, it is estimated that the congestion has deteriorated. The increase in the number of re-transmissions may be determined based on whether or not the number has reached x. x may be a fixed value or a value calculated from a congestion window. In this estimation method, the number of re-transmissions may be measured at regular intervals, and the network congestion state may be determined based on whether the value has increased.
(c2)の推定方法では、輻輳の継続時間が増加して続けている場合に、輻輳が悪化していると推定する。輻輳の継続時間の増加の判断としては、継続時間が時間tとなったかどうかで判断してもよい。tは固定値でもよいし、到着遅延時間、到着間隔から算出される値でもよい。また、この推定方法では、過去の輻輳継続時間と比較し、現在の輻輳継続時間が増加しているかどうかでネットワーク輻輳状態を判断してもよい。 In the estimation method (c2), when the duration of congestion continues to increase, it is estimated that the congestion has deteriorated. The increase in the duration of congestion may be determined by determining whether the duration has reached time t. t may be a fixed value or a value calculated from the arrival delay time and the arrival interval. Further, in this estimation method, the network congestion state may be determined based on whether or not the current congestion duration time is increased as compared with the past congestion duration time.
ネットワーク状態推定部22においては、上述したネットワーク輻輳状態の推定方法のいずれか一つ以上を用いてもよい。最もよい推定方法としては、上述したすべての推定方法を用いる方法である。
The network
図4は図3の輻輳制御部13の動作を示すフローチャートである。これら図1〜図4を参照して本発明の第1の実施例による輻輳制御部13の動作について説明する。
FIG. 4 is a flowchart showing the operation of the
パケット入力部12からのACKパケットは、輻輳判定部21に供給され、輻輳判定部21で、ネットワークの輻輳状態が軽・重輻輳中であるかどうかを判断し(図4ステップS1)、軽・重輻輳中であれば,軽・重輻輳判定部23に処理を渡し、そうでなければ通常状態と判断して通常パケット転送部27に処理を渡す。
The ACK packet from the
ネットワーク状態推定部22はACKパケット及びセッション状態記憶部16の記憶内容からネットワークの輻輳状態を推定する(図4ステップS2)。軽・重輻輳判定部23はネットワーク状態推定部22の推定結果から、現在の状態が軽輻輳であるか、重輻輳であるかを判断し(図4ステップS3)、軽輻輳であれば、再送判定部24へ処理を渡し、重輻輳であれば重輻輳再送部25へ処理を渡す。
The network
再送判定部24では、受信側からACKパケットで再送を要求されたセグメントの中で再送を行っていない未再送セグメントがあるかを判断し(図4ステップS5)、再送すべきセグメントがあれば、軽輻輳再送部26へ処理を渡し、なければ通常転送部27へ処理を渡す。
The
重輻輳再送部25では、輻輳ウィンドウを減少させて、再送対象となるセグメントをセグメントバッファ部17のセグメントの中から探し、再送対象となるセグメントがあれば、パケット出力部15へ処理を渡す(図4ステップS4)。
The heavy
軽輻輳再送部26は輻輳ウィンドウを上げる、もしくは維持して、あるいは再送パケットのセグメントのサイズ分輻輳ウィンドウを下げて、再送対象となるセグメントをセグメントバッファ部17のセグメントの中から探し、再送対象となるセグメントがあればパケット出力部15へ処理を渡す(図4ステップS6)。
The light
通常転送部27は輻輳ウィンドウを上げて、セグメントバッファ部17の新規送信セグメントがあればパケット出力部15へ処理を渡す(図4ステップS7)。状態更新部28は通常転送部27、軽輻輳再送部26、重輻輳再送部25各々の処理の後、セッションの状態を更新する(図4ステップS8)。その後、パケット出力部15は通常転送部27、軽輻輳再送部26、重輻輳再送部25各々の処理に基づいて、パケットを通信網100に出力する(図4ステップS9)。
The
本実施例では、上記の輻輳判定部21と軽・重輻輳判定部23とを別々に設けているが、それらの判定部を統合して一つの判定部とし、通常状態・軽・重輻輳判定部としてもよい。また、本実施例では、通常状態・軽輻輳と重輻輳とを判定する部位と、通常と軽輻輳とを判定する部位とに分割してもよい。つまり、本実施例では、結果的に3つの状態を判別することができればよい。
In this embodiment, the
また、本実施例では、軽輻輳再送部26において、軽輻輳再送処理の後、引き続き、通常転送部27の処理を行ってもよい。さらに、本実施例では、重輻輳再送部25において、ウィンドウを維持してもよい。さらにまた、本実施例では、ウィンドウを通常転送部27に比べて低い増加幅で増加させてもよく、軽輻輳の場合と同様に、再々送を行ってもよい。
In this embodiment, the light
次に、本発明の第1の実施例において、輻輳制御方式としてTCP(Transmission Control Protocol、Transport Control Protocolとも呼ばれる)を用いる場合について説明する。 Next, in the first embodiment of the present invention, a case will be described in which TCP (also referred to as Transmission Control Protocol or Transport Control Protocol) is used as a congestion control method.
輻輳判定部21では、セッション状態記憶部16で保持された状態が通常状態であれば、渡されたACKパケットが重複ACKであり、重複ACKの閾値を超えたか否かを判断し、重複ACKの閾値を超えた場合、輻輳状態へ遷移して、軽・重輻輳判定部23へ処理を渡す。
If the state held in the session
また、輻輳判定部21では、セッション状態記憶部16に保持された状態が輻輳状態であれば、SACK(Selective ACK)オプションによって受信側から通知されたシーケンス非連続区間がなくなったかどうかを判断する。
Further, if the state held in the session
輻輳判定部21では、シーケンス非連続区間がなくなった場合、通常状態となったと判断し、通常転送部27に処理を渡す。輻輳判定部21では、シーケンス非連続区間がなくなっていない場合、軽・重輻輳判定部23に処理を渡す。
When there is no sequence discontinuous section, the
シーケンス非連続区間がなくなったかの判断方法としては、ACKパケットにSACK情報が含まれなくなった、またはセッション状態記憶部16に保持されているSACKの連続区間のうち、ACKパケットのACKシーケンス番号以上ものがないことで判断する。
As a method for determining whether or not there are no sequence discontinuous sections, the SACK information is no longer included in the ACK packet, or among the continuous sections of SACK held in the session
ネットワーク状態推定部22では、ACKパケットやセッション状態記憶部16の記憶内容から、セグメントロスの情報やパケットの到着時間、輻輳制御の状態の情報を用いて、ネットワークの輻輳状態を推定する。
The network
セグメントロスの情報からのネットワーク輻輳状態の推定方法としては、(d1)SACKオプションで受信側から通知された最新の受信シーケンス番号が重複し、閾値を超えた場合、輻輳が悪化したとする、(d2)送信側で送出されたシーケンスの中で送信済みシーケンス番号の最大値(最大送信シーケンス番号)とACK番号との差が、X×輻輳ウィンドウサイズを超えた場合、輻輳が悪化したとする(Xは、1以上の任意の値である)、(d3)SACKオプションで受信側から通知された最新の受信シーケンス番号とACK番号との差が、Y×輻輳ウィンドウサイズを超えた場合、輻輳が悪化したとする(Yは、0より大きい任意の値である)、(d4)SACKオプションで受信側から通知された連続区間から算出される非連続区間の量が、Z×輻輳ウィンドウサイズを超えた場合、輻輳が悪化したとする(Zは、0より大きく、1未満より大きい任意の値である)の4つがある。 As a method of estimating the network congestion state from the segment loss information, (d1) When the latest reception sequence number notified from the receiving side with the SACK option is duplicated and exceeds the threshold, the congestion is deteriorated. d2) When the difference between the maximum value of the transmitted sequence number (maximum transmission sequence number) and the ACK number in the sequence transmitted on the transmission side exceeds X × congestion window size, it is assumed that congestion deteriorates ( (X is an arbitrary value of 1 or more), (d3) When the difference between the latest reception sequence number notified from the reception side by the SACK option and the ACK number exceeds Y × congestion window size, congestion is (Y is an arbitrary value greater than 0) and (d4) a non-continuous section calculated from a continuous section notified from the receiving side by the SACK option If the amount in between exceeds Z × congestion window size, there are four, where congestion is exacerbated (Z is any value greater than 0 and less than 1).
パケットの到着時間の情報からのネットワーク輻輳状態の推定方法としては、(e1)パケットの往復遅延時間の偏差が、X×平均値を超えた場合、輻輳が悪化したとする(Xは、0より大きい任意の値である)、(e2)パケットの到着間隔の偏差が、Y×平均値を超えた場合、輻輳が悪化したとする(Yは、0より大きい任意の値である)の2つがある。 As a method for estimating a network congestion state from packet arrival time information, (e1) When the deviation of the round-trip delay time of a packet exceeds X × average value, it is assumed that the congestion deteriorates (X is from 0) (E2) (e2) When the deviation of the packet arrival interval exceeds Y × average value, it is assumed that congestion deteriorates (Y is an arbitrary value greater than 0). is there.
輻輳制御の状態からのネットワーク輻輳状態の推定方法としては、(f1)再々送回数の変動が、X回を超えた場合、輻輳が悪化したとする(Xは、0より大きい整数値である)、(f2)輻輳の継続時間が、時間Y×往復遅延時間を超えた場合、輻輳が悪化したとする(Yは、0より大きい値である)の2つがある。 As a method for estimating the network congestion state from the state of congestion control, (f1) When the number of re-transmissions exceeds X times, the congestion deteriorates (X is an integer value greater than 0). (F2) When the duration of congestion exceeds time Y × round trip delay time, there are two cases where congestion is worsened (Y is a value greater than 0).
本実施例では、ネットワーク状態推定部22において、上述したネットワーク輻輳状態の推定方法のうちのいずれか一つ以上を用いてもよい。最もよい方法は、すべてを用いる方法である。
In the present embodiment, the network
軽・重輻輳判定部23では、セッション状態記憶部16で保持された状態が重輻輳でなければ、ネットワーク状態推定部22の推定結果を基に、重輻輳になったか否かを判断し、重輻輳になった場合、重輻輳再送部25へ処理を渡し、重輻輳にならない場合、再送判定部24に処理を渡す。また、軽・重輻輳判定部23では、セッション状態記憶部16で保持された状態が重輻輳であれば、ネットワーク状態推定部22の推定結果を基に、重輻輳が継続しているか否かを判断し、重輻輳が継続している場合、重輻輳再送部25へ処理を渡し、重輻輳が継続していなければ、再送判定部24に処理を渡す。
If the state held in the session
再送判定部24では、受信側から再送を要求されたセグメントの中で再送を行っていない未再送のセグメントがあるか否かを判断し、未再送のセグメントがあれば、軽輻輳再送部26に処理を渡し、未再送のセグメントがなければ、通常転送部27に処理を渡す。
The
送信側は、ACKのシーケンス番号、SACKオプションから受信側の再送の要求区間を算出する。ACKのシーケンス番号は連続して受信した最大のシーケンス番号を指し、SACKオプションはパケット紛失によって非連続となった区間のうち、連続している区間を受信側から送信側へ通知するため、これら情報から、送信側で受信側が受信できていないセグメントの区間を算出することができる。 The transmitting side calculates the retransmission request section on the receiving side from the ACK sequence number and the SACK option. The sequence number of the ACK indicates the maximum sequence number received continuously, and the SACK option notifies the transmitting side of the continuous section among the sections that are discontinuous due to packet loss. From the above, it is possible to calculate the segment interval that is not received by the receiving side on the transmitting side.
軽輻輳再送部26では、再送もしくは再々送するパケットをセグメントバッファ部17に保持されたセグメントから作成する。この時、輻輳ウィンドウは、変更しないか、作成したセグメントサイズ分減少させ、スロースタート閾値を更新せず、通常の再送中であるというフラグを立てない。すなわち、パケットのみが再送もしくは再々送される。重輻輳再送部25では、輻輳ウィンドウを半分にして、高速再送、高速再転送を行う。
The light
図5は本発明の第2の実施例による輻輳制御部の構成を示すブロック図である。図5において、本発明の第2の実施例による輻輳制御部13aは、最大送信可能シーケンス番号補正部29を追加した以外は、図3に示す本発明の第1の実施例による輻輳制御部13の構成と同様の構成となっており、同一構成要素には同一符号を付してある。また、同一構成要素の動作は本発明の第1の実施例と同様である。尚、本発明の第2の実施例による通信システムは図1に示す本発明の実施の形態による通信システムと同様の構成であり、本発明の第2の実施例によるセッション処理部は図2に示す本発明の第1の実施例によるセッション処理部10と同様の構成である。
FIG. 5 is a block diagram showing the configuration of the congestion control unit according to the second embodiment of the present invention. In FIG. 5, the congestion control unit 13a according to the second embodiment of the present invention is the same as the
本発明の第2の実施例では、再送判定部24で再送しないと判断された後、通常転送部27の処理をする前に、最大送信可能シーケンス番号補正部29の処理が実行される。最大送信可能シーケンス番号補正部29は、最大送信可能シーケンス番号を増やして補正することによって、軽輻輳時にも、通常転送部27で新たなパケットを送信するように促す。補正された最大送信可能シーケンス番号は、通常転送部27内での処理のために用いられ、状態更新部28で保持されることはない。
In the second embodiment of the present invention, the processing of the maximum transmittable sequence
図6は図5の輻輳制御部13aの動作を示すフローチャートである。これら図1と図2と図5と図6とを参照して本発明の第2の実施例による輻輳制御部13aの動作について説明する。尚、図6のステップS11〜S16,S18〜S20の処理は、図4のステップS1〜S9の処理と同様であるので、それらの処理の説明は省略する。 FIG. 6 is a flowchart showing the operation of the congestion control unit 13a of FIG. The operation of the congestion control unit 13a according to the second embodiment of the present invention will be described with reference to FIG. 1, FIG. 2, FIG. 5, and FIG. Note that the processes in steps S11 to S16 and S18 to S20 in FIG. 6 are the same as the processes in steps S1 to S9 in FIG.
最大送信可能シーケンス番号補正部29は、再送判定部24で、受信側からACKパケットで再送を要求されたセグメントの中で再送を行っていない未再送セグメントがないと判断されると(図6ステップS15)、最大送信可能シーケンス番号を増やして補正し(図6ステップS17)、通常転送部27へ処理を渡す。
When the
次に、本発明の第2の実施例において、セッションプロトコルとしてTCPを用いる場合について説明する。 Next, a case where TCP is used as a session protocol in the second embodiment of the present invention will be described.
最大送信可能シーケンス番号補正部29における最大送信可能シーケンス番号補正の仕方としては、通常の最大送信可能シーケンス番号が、“送信から通知された最大のACKシーケンス番号+輻輳ウィンドウサイズ”であるのに対して、“最大のACKシーケンス番号+輻輳ウィンドウサイズ+X”と、任意のXを加えることによって補正する。Xは正の固定値でもよいし、輻輳ウィンドウに比例した値でもよい。
As a method of correcting the maximum transmittable sequence number in the maximum transmittable sequence
また、本実施例では、最大送信可能シーケンス番号を“SACKオプションで受信側から通知された最新の受信シーケンス番号+輻輳ウィンドウサイズ”としてもよい。 Further, in this embodiment, the maximum transmittable sequence number may be “the latest reception sequence number notified from the receiving side with the SACK option + congestion window size”.
図7は本発明の第3の実施例による輻輳制御部の構成を示すブロック図である。図7において、本発明の第3の実施例による輻輳制御部13bは、軽輻輳転送部30を設けた以外は、図3に示す本発明の第1の実施例による輻輳制御部13の構成と同様の構成となっており、同一構成要素には同一符号を付してある。また、同一構成要素の動作は本発明の第1の実施例と同様である。尚、本発明の第3の実施例による通信システムは図1に示す本発明の実施の形態による通信システムと同様の構成であり、本発明の第3の実施例によるセッション処理部は図2に示す本発明の第1の実施例によるセッション処理部10と同様の構成である。
FIG. 7 is a block diagram showing the configuration of the congestion control unit according to the third embodiment of the present invention. In FIG. 7, the congestion control unit 13b according to the third embodiment of the present invention has the configuration of the
本発明の第3の実施例では、再送判定部24で、受信側からACKによって再送を要求されたセグメントの中で再送を行っていない未再送セグメントがないと判断されると、軽輻輳転送部30へ処理が渡される。軽輻輳転送部30は、通常転送部27と異なる輻輳制御を行う。この異なる輻輳制御とは、通常転送部27に比べて、輻輳ウィンドウの上げ幅が低い、もしくはしばらく輻輳ウィンドウを維持して、その後、輻輳ウィンドウを上げるという制御を指している。
In the third embodiment of the present invention, when the
図8は図7の輻輳制御部13bの動作を示すフローチャートである。これら図1と図2と図7と図8とを参照して本発明の第3の実施例による輻輳制御部13bの動作について説明する。尚、図8のステップS21〜S26,S28〜S30の処理は、図4のステップS1〜S9の処理と同様であるので、それらの処理の説明は省略する。 FIG. 8 is a flowchart showing the operation of the congestion control unit 13b of FIG. The operation of the congestion control unit 13b according to the third embodiment of the present invention will be described with reference to FIG. 1, FIG. 2, FIG. 7, and FIG. Note that the processing in steps S21 to S26 and S28 to S30 in FIG. 8 is the same as the processing in steps S1 to S9 in FIG.
軽輻輳転送部30は、再送判定部24で、受信側からACKパケットで再送を要求されたセグメントの中で再送を行っていない未再送セグメントがないと判断されると(図8ステップS26)、軽輻輳用の転送処理を行う(図8ステップS27)。
When the light
図9は本発明の第4の実施例による輻輳制御部の構成を示すブロック図である。図9において、本発明の第4の実施例による輻輳制御部13cは、最大送信可能シーケンス番号補正部29を設けた以外は、図7に示す本発明の第3の実施例による輻輳制御部13bの構成と同様の構成となっており、同一構成要素には同一符号を付してある。また、同一構成要素の動作は本発明の第3の実施例と同様である。尚、本発明の第4の実施例による通信システムは図1に示す本発明の実施の形態による通信システムと同様の構成であり、本発明の第4の実施例によるセッション処理部は図2に示す本発明の第1の実施例によるセッション処理部10と同様の構成である。
FIG. 9 is a block diagram showing the configuration of the congestion control unit according to the fourth embodiment of the present invention. In FIG. 9, the
本発明の第4の実施例では、再送判定部24で、受信側からACKによって再送を要求されたセグメントの中で再送を行っていない未再送セグメントがないと判断された後、軽輻輳転送部30の処理をする前に、最大送信可能シーケンス番号補正部29の処理が実行される。
In the fourth embodiment of the present invention, after the
最大送信可能シーケンス番号補正部29は、最大送信可能シーケンス番号を増やして補正することによって、軽輻輳時に、軽輻輳転送部30で通常転送部27と異なる輻輳制御を行うに促す。補正された最大送信可能シーケンス番号は、軽輻輳転送部30内での処理のために用いられ、状態更新部28で保持されることはない。
The maximum transmittable sequence
図10は図9の輻輳制御部13cの動作を示すフローチャートである。これら図1と図2と図9と図10とを参照して本発明の第4の実施例による輻輳制御部13cの動作について説明する。尚、図10のステップS31〜S36,S38〜S41の処理は、図8のステップS21〜S30の処理と同様であるので、それらの処理の説明は省略する。
FIG. 10 is a flowchart showing the operation of the
最大送信可能シーケンス番号補正部29は、再送判定部24で、受信側からACKパケットで再送を要求されたセグメントの中で再送を行っていない未再送セグメントがないと判断されると(図10ステップS36)、最大送信可能シーケンス番号を増やして補正し(図10ステップS37)、軽輻輳転送部30へ処理を渡す。軽輻輳転送部30は軽輻輳用の転送処理を行う(図10ステップS38)。
When the
図11は本発明の第5の実施例による送信端末の構成を示すブロック図である。図11において、本発明の第5の実施例による送信端末は、パケット入力装置4と、パケット出力装置5と、データ処理装置6と、記憶装置7と、輻輳制御プログラム8とを備えている。
FIG. 11 is a block diagram showing a configuration of a transmission terminal according to the fifth embodiment of the present invention. In FIG. 11, the transmitting terminal according to the fifth embodiment of the present invention includes a packet input device 4, a
輻輳制御プログラム8はデータ処理装置6に読込まれ、データ処理装置6の動作を制御し、記憶装置7にセグメントバッファ17、セッション状態記憶部16を生成し、端末内部資源3とデータをやり取りし、パケット入力装置4、パケット出力装置5とパケットをやりとりする。
The
データ処理装置6は輻輳制御プログラム8の制御によって、上述した本発明の第1〜第4の実施例におけるデータ入力部11、データ出力部14、輻輳制御部13、パケット入力部12、パケット出力部15による処理と同一の処理を実行する。
The
このように、上述した本発明の第1〜第4の実施例による処理動作は、データ処理装置6が輻輳制御プログラム8の制御に基づいて処理動作を行うことで実現される。
As described above, the processing operation according to the first to fourth embodiments of the present invention described above is realized by the
尚、本発明は、上記の各実施例において、輻輳状態が2種類の場合について説明しているが、3種類以上あっても問題ない。すなわち、軽輻輳が2種類以上に分かれていても問題ない。また、重輻輳が2種類以上に分かれていても問題ない。 Although the present invention has been described with respect to the case where there are two types of congestion states in each of the above embodiments, there is no problem even if there are three or more types. That is, there is no problem even if light congestion is divided into two or more types. Moreover, there is no problem even if the heavy congestion is divided into two or more types.
また、本発明は、上記の各実施例において、2つの端末を用いる場合について説明しているが、端末の数に制限はない。さらに、本発明は、上記の各実施例において、通信方向が片方向の場合について説明しているが、双方向であってもよい。さらにまた、本発明は、上記の各実施例において、送信端末1と受信端末2とがそれぞれ分かれている場合について説明しているが、送信端末1及び受信端末2の機能が同一の端末にあってよい。この場合、送信端末1及び受信端末2がそれぞれセッション中継器であってもよい。
Moreover, although this invention has demonstrated the case where two terminals are used in each said Example, there is no restriction | limiting in the number of terminals. Furthermore, although the present invention has been described with respect to the case where the communication direction is one-way in each of the above-described embodiments, it may be bidirectional. Furthermore, the present invention describes the case where the transmitting
また、本発明において、もし実際の輻輳の原因がランダムロスであっても、ランダムロスを軽輻輳と判断するため、このような環境下において本発明は目的を達成することができる。 Further, in the present invention, even if the cause of actual congestion is a random loss, the random loss is determined to be light congestion. Therefore, the present invention can achieve the object under such an environment.
本発明は、端末のセッション通信、特にTCP通信の用途に適用可能である。また、本発明は、プロキシや暗号化装置といったセッション中継器の用途にも適用可能である。 The present invention is applicable to terminal session communication, particularly TCP communication. The present invention can also be applied to the use of session relay devices such as proxies and encryption devices.
1 送信端末
2 受信端末
3 端末内部資源
4 パケット入力装置
5 パケット出力装置
6 データ処理装置
7 記憶装置
8 輻輳制御プログラム
10 セッション処理部
11 データ入力部
12 パケット入力部
13,13a,
13b,13c 輻輳制御部
14 データ出力部
15 パケット出力部
16 セッション状態記憶部
17 セグメントバッファ部
21 輻輳判定部
22 ネットワーク状態推定部
23 軽・輻輳判定部
24 再送判定部
25 重輻輳再送部
26 軽輻輳再送部
27 通常転送部
28 状態更新部
29 最大送信可能シーケンス番号補正部
30 軽輻輳転送部
100 通信網
1 Sending terminal
2 Receiving terminal
3 Terminal internal resources
4 Packet input device
5 Packet output device
6 Data processing device
7 Storage device
8 Congestion control program
10 Session processing section
11 Data input section
12
13b, 13c Congestion control unit
14 Data output section
15 Packet output part
16 Session state storage
17 Segment buffer
21 Congestion judgment unit
22 Network state estimation unit
23 Light / Congestion Judgment Unit
24 Retransmission determination unit
25 Congestion retransmission unit
26 Light congestion retransmission part
27 Normal transfer section
28 State update section
29 Maximum transmittable sequence number correction section
30 Light Congestion Transfer Unit
100 communication network
Claims (58)
前記送信側に、前記受信側から通知された情報と輻輳制御の状態の一つ以上の情報とによってネットワークの輻輳状態を推定する推定手段と、前記推定手段で推定された輻輳状態に応じて重輻輳状態であるか前記重輻輳状態でないかを区別する手段と、前記重輻輳状態でないと区別された時に前記パケットの送信量を決めるためのウィンドウを増加しつつ紛失したパケットを再送する手段とを有することを特徴とする通信システム。 A communication system that uses a window control method that specifies a lost packet when the receiving side recognizes a packet loss and requests the sending side to retransmit,
Estimating means for estimating the congestion state of the network from the information notified from the receiving side and one or more pieces of information on the congestion control state to the transmitting side, and overlapping according to the congestion state estimated by the estimating means. Means for distinguishing whether it is in a congestion state or not in the heavy congestion state, and means for retransmitting a lost packet while increasing a window for determining the transmission amount of the packet when it is not in the heavy congestion state. A communication system comprising:
前記推定手段が前記ネットワークの輻輳状態を推定するのに用いる前記輻輳制御の状態が前記パケットの再々送の回数であることを特徴とする請求項1に記載の通信システム。 The sender resends the packet,
The communication system according to claim 1, wherein the congestion control state used by the estimation unit to estimate a congestion state of the network is the number of retransmissions of the packet.
前記送信側の処理手段に、前記受信側から通知された情報と輻輳制御の状態の一つ以上の情報とによってネットワークの輻輳状態を推定する推定手段と、前記推定手段で推定された輻輳状態に応じて重輻輳状態であるか前記重輻輳状態でないかを区別する手段と、前記重輻輳状態でないと区別された時に前記パケットの送信量を決めるためのウィンドウを増加しつつ紛失したパケットを再送する手段とを有することを特徴とする通信装置。 A communication device that uses a window control method that designates a lost packet when the receiving side recognizes packet loss and requests the sending side to retransmit,
Estimating means for estimating the congestion state of the network based on the information notified from the receiving side and one or more pieces of information on the state of congestion control to the processing means on the transmitting side, and the congestion state estimated by the estimating means Accordingly, the packet is retransmitted while increasing the window for determining the transmission amount of the packet when it is determined that it is not the heavy congestion state and the means for distinguishing whether it is the heavy congestion state or not. And a communication device.
前記推定手段が前記ネットワークの輻輳状態を推定するのに用いる前記輻輳制御の状態が前記パケットの再々送の回数であることを特徴とする請求項20に記載の通信装置。 Resend the packet in the processing means on the transmission side,
21. The communication apparatus according to claim 20, wherein the congestion control state used by the estimating unit to estimate a congestion state of the network is the number of retransmissions of the packet.
前記送信側の装置が、前記受信側から通知された情報と輻輳制御の状態の一つ以上の情報とによってネットワークの輻輳状態を推定する推定処理と、前記推定手段で推定された輻輳状態に応じて重輻輳状態であるか前記重輻輳状態でないかを区別する処理と、前記重輻輳状態でないと区別された時に前記パケットの送信量を決めるためのウィンドウを増加しつつ紛失したパケットを再送する処理とを実行することを特徴とする輻輳制御方法。 A congestion control method used in a communication system that adopts a window control method in which a receiving side designates a lost packet when recognizing a packet loss and requests retransmission to the transmitting side,
The transmitting device estimates the network congestion state based on the information notified from the receiving side and one or more pieces of information on the congestion control state, and responds to the congestion state estimated by the estimating unit. For distinguishing whether the packet is in a heavy congestion state or not in the heavy congestion state, and for retransmitting a lost packet while increasing the window for determining the amount of packet transmission when it is determined that the packet is not in the heavy congestion state And a congestion control method.
前記推定処理において前記ネットワークの輻輳状態を推定するのに用いる前記輻輳制御の状態が前記パケットの再々送の回数であることを特徴とする請求項39に記載の輻輳制御方法。 The sending device resends the packet;
40. The congestion control method according to claim 39, wherein the congestion control state used for estimating the congestion state of the network in the estimation process is the number of retransmissions of the packet.
前記送信側の処理を行うコンピュータに、前記受信側から通知された情報と輻輳制御の状態の一つ以上の情報とによってネットワークの輻輳状態を推定する推定処理と、前記推定手段で推定された輻輳状態に応じて重輻輳状態であるか前記重輻輳状態でないかを区別する処理と、前記重輻輳状態でないと区別された時に前記パケットの送信量を決めるためのウィンドウを増加しつつ紛失したパケットを再送する処理とを実行させるためのプログラム。 A program for a congestion control method used in a communication system that adopts a window control method in which a receiving side designates a lost packet when recognizing a packet loss and requests retransmission to the transmitting side,
An estimation process for estimating a network congestion state based on information notified from the reception side and one or more pieces of congestion control state to the computer performing the processing on the transmission side, and the congestion estimated by the estimation unit A process for distinguishing whether the state is a heavy congestion state or not a heavy congestion state according to the state, and a packet that is lost while increasing a window for determining the transmission amount of the packet when it is determined that the state is not the heavy congestion state A program for executing the resending process.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006024013A JP4654926B2 (en) | 2006-02-01 | 2006-02-01 | COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND CONgestion Control Method Used In Them |
US11/638,517 US20070177502A1 (en) | 2006-02-01 | 2006-12-14 | Communication system, communication apparatus, congestion control method used therefor, and program for the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006024013A JP4654926B2 (en) | 2006-02-01 | 2006-02-01 | COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND CONgestion Control Method Used In Them |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007208571A true JP2007208571A (en) | 2007-08-16 |
JP4654926B2 JP4654926B2 (en) | 2011-03-23 |
Family
ID=38321986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006024013A Expired - Fee Related JP4654926B2 (en) | 2006-02-01 | 2006-02-01 | COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND CONgestion Control Method Used In Them |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070177502A1 (en) |
JP (1) | JP4654926B2 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009188885A (en) * | 2008-02-08 | 2009-08-20 | Nec Corp | Communication apparatus, communication system, communication method and communication program |
JP2010119150A (en) * | 2010-03-03 | 2010-05-27 | Toshiba Corp | Communication system, communication control method thereof, and communication device |
JP2010154201A (en) * | 2008-12-25 | 2010-07-08 | Kddi R & D Laboratories Inc | Communication characteristic measurement device and wireless terminal |
US8593947B2 (en) | 2008-03-25 | 2013-11-26 | Fujitsu Limited | Congestion detection method, congestion detection apparatus, and recording medium storing congestion detection program recorded thereon |
JP5397226B2 (en) * | 2007-10-29 | 2014-01-22 | 日本電気株式会社 | COMMUNICATION SYSTEM, DATA TRANSMISSION DEVICE, DATA RECEPTION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM |
JP2014041509A (en) * | 2012-08-23 | 2014-03-06 | Nippon Telegr & Teleph Corp <Ntt> | Congestion control device |
JP2014090367A (en) * | 2012-10-31 | 2014-05-15 | Nippon Hoso Kyokai <Nhk> | Packet transmission device and program therefor |
US9756516B2 (en) | 2014-12-01 | 2017-09-05 | Fujitsu Limited | Communication apparatus and estimation method |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100106843A1 (en) * | 2008-10-28 | 2010-04-29 | Norimasa Niiya | Communication System and its Communication Control Method |
CN101938400B (en) * | 2009-06-30 | 2012-05-23 | 华为技术有限公司 | Network congestion control method and device |
US9100871B2 (en) * | 2011-03-10 | 2015-08-04 | Optis Cellular Technology, Llc | Hybrid congestion control |
JP2015056828A (en) * | 2013-09-13 | 2015-03-23 | 日本電気株式会社 | On-vehicle device used for intelligent transportation system, communication method, and intelligent transportation system using them |
WO2016049809A1 (en) * | 2014-09-29 | 2016-04-07 | 华为技术有限公司 | Traffic control method and system |
JP6464911B2 (en) * | 2015-05-01 | 2019-02-06 | 富士通株式会社 | Information processing system, information processing system control method, and receiving apparatus |
US10015103B2 (en) * | 2016-05-12 | 2018-07-03 | Getgo, Inc. | Interactivity driven error correction for audio communication in lossy packet-switched networks |
CN105827537B (en) * | 2016-06-01 | 2018-12-07 | 四川大学 | A kind of congestion improved method based on QUIC agreement |
CN110120921B (en) * | 2019-05-13 | 2022-07-01 | 深圳市赛为智能股份有限公司 | Congestion avoidance method, apparatus, computer device and storage medium |
US11711320B2 (en) * | 2021-07-12 | 2023-07-25 | Mellanox Technologies, Ltd. | Network device safety protocol |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11122296A (en) * | 1997-10-09 | 1999-04-30 | Chokosoku Network Computer Gijutsu Kenkyusho:Kk | Band control method |
JP2000134279A (en) * | 1998-10-22 | 2000-05-12 | Chokosoku Network Computer Gijutsu Kenkyusho:Kk | Flow control method |
JP2001136209A (en) * | 1999-11-10 | 2001-05-18 | Nippon Telegr & Teleph Corp <Ntt> | Communication apparatus |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2237264A1 (en) * | 1998-05-08 | 1999-11-08 | Northern Telecom Limited | Receiver based congestion control |
US7058723B2 (en) * | 2000-03-14 | 2006-06-06 | Adaptec, Inc. | Congestion control for internet protocol storage |
US7142508B2 (en) * | 2000-12-22 | 2006-11-28 | Radiance Technologies, Inc. | System and method for controlling data transfer rates on a network |
WO2002096021A2 (en) * | 2001-05-18 | 2002-11-28 | Bytemobile, Inc. | Quality of service management for multiple connections within a network communication system |
-
2006
- 2006-02-01 JP JP2006024013A patent/JP4654926B2/en not_active Expired - Fee Related
- 2006-12-14 US US11/638,517 patent/US20070177502A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11122296A (en) * | 1997-10-09 | 1999-04-30 | Chokosoku Network Computer Gijutsu Kenkyusho:Kk | Band control method |
JP2000134279A (en) * | 1998-10-22 | 2000-05-12 | Chokosoku Network Computer Gijutsu Kenkyusho:Kk | Flow control method |
JP2001136209A (en) * | 1999-11-10 | 2001-05-18 | Nippon Telegr & Teleph Corp <Ntt> | Communication apparatus |
Non-Patent Citations (3)
Title |
---|
CSNG200600873027, 信学技報 IN2005−183 * |
CSNJ200610013220, 2005年信学総大 B−7−53 * |
CSNJ200810001615, 2002年信学総大 B−11−2 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5397226B2 (en) * | 2007-10-29 | 2014-01-22 | 日本電気株式会社 | COMMUNICATION SYSTEM, DATA TRANSMISSION DEVICE, DATA RECEPTION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM |
JP2009188885A (en) * | 2008-02-08 | 2009-08-20 | Nec Corp | Communication apparatus, communication system, communication method and communication program |
US8593947B2 (en) | 2008-03-25 | 2013-11-26 | Fujitsu Limited | Congestion detection method, congestion detection apparatus, and recording medium storing congestion detection program recorded thereon |
JP2010154201A (en) * | 2008-12-25 | 2010-07-08 | Kddi R & D Laboratories Inc | Communication characteristic measurement device and wireless terminal |
US8391170B2 (en) | 2008-12-25 | 2013-03-05 | Kddi R&D Laboratories Inc. | Communication characteristic measuring device adapted to wireless terminal |
JP2010119150A (en) * | 2010-03-03 | 2010-05-27 | Toshiba Corp | Communication system, communication control method thereof, and communication device |
JP2014041509A (en) * | 2012-08-23 | 2014-03-06 | Nippon Telegr & Teleph Corp <Ntt> | Congestion control device |
JP2014090367A (en) * | 2012-10-31 | 2014-05-15 | Nippon Hoso Kyokai <Nhk> | Packet transmission device and program therefor |
US9756516B2 (en) | 2014-12-01 | 2017-09-05 | Fujitsu Limited | Communication apparatus and estimation method |
Also Published As
Publication number | Publication date |
---|---|
US20070177502A1 (en) | 2007-08-02 |
JP4654926B2 (en) | 2011-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4654926B2 (en) | COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND CONgestion Control Method Used In Them | |
KR100533686B1 (en) | Method for transmitting data in mobile ad hoc network and network apparatus using the same | |
KR100785293B1 (en) | System and Method for TCP Congestion Control Using Multiple TCP ACKs | |
EP1568180B1 (en) | A method for enhancing transmission quality of streaming media | |
US8238242B2 (en) | Flow control mechanism using local and global acknowledgements | |
US8418016B2 (en) | Communication system, communication device, and communication method | |
US7808910B2 (en) | Communication terminal, congestion control method, and congestion control program | |
US8085669B2 (en) | Session relay device and session relay method | |
JP2004537218A (en) | Reliable and efficient method of congestion control in NACK based protocol | |
CN101119183A (en) | Retransmission control method and transmission equipment | |
JPWO2008023656A1 (en) | Communication device | |
US9674101B2 (en) | Communication device, transmission data output control method, and program for same | |
US11671377B2 (en) | System and method for reducing bandwidth usage of a network | |
Francis et al. | Techniques for enhancing TCP performance in wireless networks | |
US9369923B2 (en) | Transmission method in an ad hoc multi-hop IP network | |
WO2013174095A1 (en) | Method and device for controlling data transmission | |
JP7067544B2 (en) | Communication systems, communication devices, methods and programs | |
JP2000022744A (en) | Packet communication system, packet communication device and packet communication method | |
JP6011813B2 (en) | COMMUNICATION DEVICE AND ITS COMMUNICATION CONTROL METHOD | |
JP2005509370A (en) | Improving communication efficiency and performance in unreliable communication environments | |
JP4925916B2 (en) | Data transmission apparatus, data transmission method, and data transmission program | |
JP2003224547A (en) | Method for controlling flow | |
EP3389206B1 (en) | Multipath error correction | |
Bajeja et al. | Performance evaluation of traditional TCP variants in wireless multihop networks | |
KR101396785B1 (en) | Method for performing tcp functions in network equipmment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101025 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20101124 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101207 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140107 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |