JP6101046B2 - Packet transmission apparatus and program thereof - Google Patents

Packet transmission apparatus and program thereof Download PDF

Info

Publication number
JP6101046B2
JP6101046B2 JP2012240283A JP2012240283A JP6101046B2 JP 6101046 B2 JP6101046 B2 JP 6101046B2 JP 2012240283 A JP2012240283 A JP 2012240283A JP 2012240283 A JP2012240283 A JP 2012240283A JP 6101046 B2 JP6101046 B2 JP 6101046B2
Authority
JP
Japan
Prior art keywords
window size
packet
function
congestion window
increase
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.)
Expired - Fee Related
Application number
JP2012240283A
Other languages
Japanese (ja)
Other versions
JP2014090367A (en
Inventor
智史 小山
智史 小山
青木 勝典
勝典 青木
周平 小田
周平 小田
黒住 正顕
正顕 黒住
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Broadcasting Corp
Original Assignee
Japan Broadcasting 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 Japan Broadcasting Corp filed Critical Japan Broadcasting Corp
Priority to JP2012240283A priority Critical patent/JP6101046B2/en
Publication of JP2014090367A publication Critical patent/JP2014090367A/en
Application granted granted Critical
Publication of JP6101046B2 publication Critical patent/JP6101046B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、パケット通信によってデータを送信するパケット送信装置およびそのプログラムに関する。   The present invention relates to a packet transmission apparatus that transmits data by packet communication and a program thereof.

品質の保証がされていないベストエフォートタイプのIPネットワークでは、ネットワーク機器内部でのバッファ漏れ、伝送中のビットエラー等によって、送信パケットの廃棄(パケットロス)が発生する。そのため、従来、IPネットワーク上で、確実にデータを伝送するための送達確認を行うプロトコルとしてTCP(Transmission Control Protocol)が幅広く利用されている(非特許文献1参照)。   In a best-effort type IP network in which quality is not guaranteed, transmission packets are discarded (packet loss) due to buffer leaks in the network equipment, bit errors during transmission, and the like. Therefore, conventionally, TCP (Transmission Control Protocol) has been widely used as a protocol for confirming delivery for reliably transmitting data on an IP network (see Non-Patent Document 1).

このTCPでは、受信装置がパケットを受信すると、受信した旨の報告として、次に送信を要求するパケットの番号を送信装置に通知する。そして、送信装置は、受信装置から通知される報告に基づいて、パケットが正常に受信装置に到達したことを確認する。また、送信装置は、受信装置から通知される報告でパケットロスを検出した場合、当該パケットを再送するとともに、送達確認応答なしに送出可能なパケットの数(セグメント数)を表す輻輳ウインドウサイズ(CWND:Congestion Window Size)を調整する。
一般的に、TCPは、CWNDを用いて輻輳を制御するための輻輳制御アルゴリズムとして、スロースタートフェーズと、輻輳回避フェーズと呼ばれる2つのフェーズで動作する。
In this TCP, when a receiving device receives a packet, it notifies the transmitting device of the number of the packet to be transmitted next as a report indicating that it has been received. Then, the transmission device confirms that the packet has normally reached the reception device based on the report notified from the reception device. When the transmitting apparatus detects a packet loss in the report notified from the receiving apparatus, the transmitting apparatus resends the packet and also displays a congestion window size (CWND) indicating the number of packets (number of segments) that can be transmitted without a delivery confirmation response. : Congestion Window Size).
Generally, TCP operates in two phases called a slow start phase and a congestion avoidance phase as a congestion control algorithm for controlling congestion using CWND.

まず、スロースタートフェーズにおいて、送信装置は、CWNDを最小値(“2”)に設定し、受信装置から送信パケットに対するACK(送達確認応答)が通知されるごとに、CWNDを指数的に増加(CWND=CWND+1)させる。そして、送信装置は、パケットロスを検出した段階で、スロースタートフェーズにおいて増加させるCWNDの上限閾値であるスロースタート閾値(ssthresh)をパケットロス発生時のCWNDの2分の1に設定し、輻輳回避フェーズに移行する。なお、パケットの送信時に、再送タイムアウト(RTO:Retransmission Time Out)が発生したとき、送信装置は、どのフェーズで動作している場合であっても、CWNDを最小値(“2”)に設定するとともに、ssthreshを直前のCWNDの2分の1に設定し、再度、スロースタートフェーズで動作する。   First, in the slow start phase, the transmitting device sets CWND to the minimum value (“2”), and increases CWND exponentially every time an ACK (delivery confirmation response) for a transmission packet is notified from the receiving device ( CWND = CWND + 1). Then, when the packet loss is detected, the transmitter sets the slow start threshold (ssthresh), which is the upper limit threshold of CWND to be increased in the slow start phase, to one half of the CWND at the time of packet loss, thereby avoiding congestion. Transition to the phase. When a retransmission timeout (RTO) occurs during packet transmission, the transmitting apparatus sets CWND to the minimum value (“2”) regardless of the phase of operation. At the same time, ssthresh is set to one half of the immediately preceding CWND, and the operation starts again in the slow start phase.

一方、輻輳回避フェーズにおいて、送信装置は、CWNDを徐々に増加させる。例えば、TCPの一種類であるReno(非特許文献2参照)では、受信装置から送信装置にACK(送達確認応答)が通知されるごとに、CWNDを線形的に増加させる。具体的には、往復遅延時間(RTT:Round Trip Time)に対して1パケットの割合でCWNDを増加(CWND=CWND+1/CWND)させる。そして、送信装置は、パケットロスを検出した段階で、CWNDを2分の1に削減するとともに、その値をssthreshに設定する。これによって、送信装置は、パケットロスが発生した場合、スロースタートフェーズには移行せず、輻輳回避フェーズから動作を継続する。   On the other hand, in the congestion avoidance phase, the transmission apparatus gradually increases CWND. For example, in Reno (see Non-Patent Document 2), which is one type of TCP, CWND is linearly increased every time an ACK (delivery confirmation response) is notified from the receiving device to the transmitting device. Specifically, CWND is increased (CWND = CWND + 1 / CWND) at a rate of one packet with respect to the round trip time (RTT). Then, at the stage where the packet loss is detected, the transmitting device reduces CWND by half and sets the value to ssthresh. As a result, when a packet loss occurs, the transmission device does not enter the slow start phase and continues to operate from the congestion avoidance phase.

なお、この輻輳回避フェーズの動作については、TCPにおいて、Reno以外にも種々の手法がある。例えば、NewReno(非特許文献2参照)、Vegas(非特許文献3参照)、CUBIC(非特許文献4参照)等が知られている。   Regarding the operation of this congestion avoidance phase, there are various methods other than Reno in TCP. For example, NewReno (see non-patent document 2), Vegas (see non-patent document 3), CUBIC (see non-patent document 4), and the like are known.

NewRenoは、Renoと同様、受信装置から送信装置にACKが通知されるごとに、CWNDを線形的に増加させる。具体的には、RTTに対して1パケットの割合でCWNDを増加させる。また、NewRenoも、パケットロスを検出した場合、CWNDを半分に削減する。   Similar to Reno, NewReno linearly increases CWND every time an ACK is notified from the reception device to the transmission device. Specifically, CWND is increased at a rate of one packet with respect to RTT. Also, NewReno reduces CWND by half when packet loss is detected.

Vegasは、送信装置がRTTを計測し、その期待値と実測値との差が予め定めた定数よりも小さいときには、Renoと同様、1RTTごとにCWNDを1増加させる。また、Vegasは、RTTの期待値と実測値との差が予め定めた定数よりも大きいときには1RTTごとにCWNDを1減少させる。また、Vegasは、RTTの期待値と実測値との差が予め定めた定数の範囲内であれば、CWNDを維持する。また、Vegasは、パケットロスを検出した場合、Renoと同様、CWNDを半分に削減する。   Vegas increases the CWND by 1 every 1 RTT, similar to Reno, when the transmitter measures the RTT and the difference between the expected value and the measured value is smaller than a predetermined constant. Also, Vegas decreases CWND by 1 every RTT when the difference between the expected value of RTT and the actual measurement value is larger than a predetermined constant. Also, Vegas maintains CWND if the difference between the expected value of RTT and the actual measurement value is within a predetermined constant range. Also, Vegas, when detecting packet loss, reduces CWND by half, as with Reno.

CUBICは、RenoやVegasとは異なり、RTTを基準にCWNDを増加させるのではなく、経過時間の3乗に比例してCWNDを増加させる。なお、CUBICは、パケットロスを検出した場合に、CWNDを2分の1に削減するのではなく、予め定めた割合でCWNDを削減する。このCUBICは、Linux(登録商標) kernel 2.6.19から、TCPのデフォルトのCWND調整手法として用いられている(非特許文献5参照)。   Unlike Reno and Vegas, CUBIC does not increase CWND based on RTT, but increases CWND in proportion to the cube of elapsed time. When CUBIC detects packet loss, CUBIC does not reduce CWND by half, but reduces CWND at a predetermined rate. This CUBIC is used as a default CWND adjustment method for TCP from Linux (registered trademark) kernel 2.6.19 (see Non-Patent Document 5).

このCUBICを使用した発明としては、後に通信を開始したフローが、先に通信を開始していたフローの帯域を獲得して公平に帯域を分け合う状態になるまでに時間がかかるという問題を改善した手法が開示されている(特許文献1参照)。
また、CWNDを調整する他の手法として、パケットロスが発生した際に、パケットの再々送、パケットの到着間隔の伸び方等によって、ネットワークの輻輳状態を判定し、その判定結果に応じてCWNDの増減を切り変える手法が開示されている(特許文献2参照)。
The invention using this CUBIC has improved the problem that it takes a long time for a flow that has started communication later to acquire the bandwidth of the flow that has started communication and to share the bandwidth fairly. A technique is disclosed (see Patent Document 1).
As another method for adjusting CWND, when a packet loss occurs, the congestion state of the network is determined based on how the packet is re-transmitted, how the packet arrival interval is extended, and the CWND is determined according to the determination result. A technique for switching between increase and decrease is disclosed (see Patent Document 2).

特許第4429982号公報Japanese Patent No. 4429982 特許第4654926号公報Japanese Patent No. 4654926

“RFC: 793 TRANSMISSION CONTROL PROTOCOL September 1981”、[online]、[平成24年10月16日検索]、インターネット<URL: http://www.ietf.org/rfc/rfc793.txt>“RFC: 793 TRANSMISSION CONTROL PROTOCOL September 1981”, [online], [October 16, 2012 search], Internet <URL: http://www.ietf.org/rfc/rfc793.txt> “RFC:6582 The NewReno Modification to TCP's Fast Recovery Algorithm April 2012”、[online]、[平成24年10月16日検索]、インターネット<URL: http://www.ietf.org/rfc/rfc6582.txt>"RFC: 6582 The New Reno Modification to TCP's Fast Recovery Algorithm April 2012", [online], [October 16, 2012 search], Internet <URL: http://www.ietf.org/rfc/rfc6582.txt > “TCP Vegas: End to End Congestion Avoidance on a Global Internet”, Lawrence S. Brakmo, Larry L. Peterson (IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS,Vol.13 No.8 pp.1465-1480, Oct. 1995)“TCP Vegas: End to End Congestion Avoidance on a Global Internet”, Lawrence S. Brakmo, Larry L. Peterson (IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, Vol.13 No.8 pp.1465-1480, Oct. 1995) “CUBIC: A New TCP-Friendly High-Speed TCP Variant”, Sangtae Ha, Injong Rhee and Lisong Xu (ACM SIGOPS Operating System Review, Volume 42, Issue 5, July 2008)“CUBIC: A New TCP-Friendly High-Speed TCP Variant”, Sangtae Ha, Injong Rhee and Lisong Xu (ACM SIGOPS Operating System Review, Volume 42, Issue 5, July 2008) "The Linux Kernel Archives"、[online]、[平成24年10月16日検索]、インターネット<URL:http://www.kernel.org>"The Linux Kernel Archives", [online], [Search October 16, 2012], Internet <URL: http: //www.kernel.org>

しかし、前記したReno、NewReno、Vegasは、1RTTごとにCWNDを増加させるため、CWNDの増加速度が、1パケット/RTTに制限されてしまう。そのため、前記したReno等は、RTTが大きい遠隔地との通信では、CWNDの増加速度が鈍く、たとえ広帯域の回線を用いた場合であっても、その回線を有効に利用することができないという問題があった。   However, since Reno, NewReno, and Vegas described above increase CWND every 1 RTT, the increase rate of CWND is limited to 1 packet / RTT. Therefore, the above-mentioned Reno and the like have a problem that the CWND increase rate is slow in communication with a remote place having a large RTT, and even if a broadband line is used, the line cannot be used effectively. was there.

また、前記したCUBIC(特許文献1の技術を含む)は、1RTTごとにCWNDを増加させるのではなく、経過時間の3乗に比例する増加関数でCWNDを増加させるため、RTTが大きな回線であっても短時間でCWNDを増加させることができ、広帯域の回線をReno等よりも有効に利用することができる。   Further, the above-described CUBIC (including the technique of Patent Document 1) does not increase CWND every 1 RTT, but increases CWND with an increasing function proportional to the cube of the elapsed time. However, CWND can be increased in a short time, and a broadband line can be used more effectively than Reno or the like.

しかし、CUBICは、パケットロスを検出した場合、一様にCWNDを削減してしまう。すなわち、CUBICは、パケットロスが、輻輳以外の原因、例えば、ビット誤り等によって生じたランダムロスが原因であっても、輻輳発生時と同様にCWNDを削減してしまう。また、CUBICは、ネットワーク内のバッファが少ない回線であっても、バッファが多い回線と同様に、CWNDを削減してしまう。
このように、CUBICは、必要以上にCWNDを削減する場合があり、ネットワーク内のバッファが帯域遅延積(BDP)に対して小さい回線や、ランダムロスが多発する回線では、通信帯域を有効に活用することができないという問題があった。
However, when CUBIC detects packet loss, CWND is reduced uniformly. That is, CUBIC reduces CWND in the same way as when congestion occurs even if the packet loss is caused by a cause other than congestion, for example, a random loss caused by a bit error or the like. In addition, CUBIC reduces CWND even for a line with a small number of buffers in the network, like a line with a large number of buffers.
In this way, CUBIC may reduce CWND more than necessary, and the communication bandwidth is effectively used in circuits where the buffer in the network is smaller than the bandwidth delay product (BDP) or in which random loss occurs frequently. There was a problem that could not be done.

なお、前記した特許文献2に記載の手法は、ネットワークの輻輳状態に応じてCWNDを調整することで、帯域の活用を図っている。しかし、この手法は、CUBICのような経過時間に伴う増加関数によってCWNDを制御する輻輳制御方法を想定したものでない。すなわち、特許文献2に記載の手法では、パケットロスによるCWNDの不要な削減を抑えることはできても、輻輳発生後、CWNDの増加速度が低下するため、やはりランダムロスが多発する回線では、CWNDを高速に回線状態に適したサイズに増加させることができず、回線を有効に利用することができないという問題があった。   Note that the technique described in Patent Document 2 described above uses the bandwidth by adjusting CWND according to the congestion state of the network. However, this method does not assume a congestion control method for controlling CWND by an increasing function with elapsed time, such as CUBIC. That is, with the technique described in Patent Document 2, although the CWND reduction due to packet loss can be suppressed, the CWND increase rate decreases after congestion occurs. Cannot be increased to a size suitable for the line condition at high speed, and the line cannot be used effectively.

本発明は、このような問題に鑑みてなされたものであり、輻輳ウインドウサイズ(CWND)を制御するウインドウ制御方式によってパケットのデータ送信量を制御する際に、通信帯域を有効に活用することが可能なパケット送信装置およびそのプログラムを提供することを課題とする。   The present invention has been made in view of such problems, and it is possible to effectively utilize a communication band when controlling the data transmission amount of a packet by a window control method for controlling a congestion window size (CWND). It is an object of the present invention to provide a possible packet transmission device and a program thereof.

前記課題を解決するため、請求項に記載のパケット送信装置は、送達確認応答なしに送信可能なパケット数を示す輻輳ウインドウサイズを予め定めた増加関数によって増加させ、パケットロスが発生したときに前記輻輳ウインドウサイズを削減するウインドウ制御方式によってパケットを送信するパケット送信装置において、往復遅延時間計測手段と、輻輳ウインドウサイズ削減手段と、パケットロス原因判定手段と、増加関数パラメータ決定手段と、輻輳ウインドウサイズ増加手段と、を備える構成とした。 In order to solve the above problem, the packet transmission device according to claim 1 increases a congestion window size indicating the number of packets that can be transmitted without a delivery confirmation response by a predetermined increase function, and when a packet loss occurs. In a packet transmitting apparatus for transmitting a packet by a window control method for reducing the congestion window size, a round-trip delay time measuring means, a congestion window size reducing means, a packet loss cause determining means, an increasing function parameter determining means, a congestion window And a size increasing means.

かかる構成において、パケット送信装置は、パケットロスが発生したときに、輻輳ウインドウサイズ削減手段によって、輻輳ウインドウサイズを削減する。ここで、輻輳ウインドウサイズ削減手段は、予め定めた割合で輻輳ウインドウサイズを削減したサイズと、パケットロス発生時の往復遅延時間に対する往復遅延時間の最小時間の割合を輻輳ウインドウサイズに乗算したサイズのうちで、大きい方のサイズを新たな輻輳ウインドウサイズとする。
これによって、輻輳ウインドウサイズ削減手段は、少なくとも往復遅延時間が増加した分に相当するデータ量以上、すなわち、ネットワーク上にバッファされているパケット量よりも、輻輳ウインドウサイズを削減することがないため、ネットワーク上の空きの発生を抑えることができる。
In such a configuration, the packet transmission device reduces the congestion window size by the congestion window size reduction means when packet loss occurs. Here, the congestion window size reduction means is a size obtained by multiplying the congestion window size by a size obtained by reducing the congestion window size by a predetermined ratio and a ratio of the minimum round-trip delay time to the round-trip delay time when a packet loss occurs. Among them, the larger size is set as a new congestion window size.
As a result, the congestion window size reduction means does not reduce the congestion window size more than the amount of data corresponding to at least the increase in the round trip delay time, that is, the amount of packets buffered on the network. The occurrence of free space on the network can be suppressed.

また、パケット送信装置は、パケットロス原因判定手段によって、往復遅延時間の増加量に応じてパケットロスの原因を判定する。ここで、パケットロス原因判定手段は、往復遅延時間の増加量が予め定めた基準よりも大きい場合に、パケットロスがネットワークの輻輳によって発生した輻輳ロスであると判定し、それ以外の場合に、パケットロスがランダムに発生するランダムロスであると判定する。   In addition, the packet transmission apparatus determines the cause of the packet loss by the packet loss cause determination unit according to the increase amount of the round trip delay time. Here, the packet loss cause determination means determines that the packet loss is a congestion loss caused by network congestion when the increase amount of the round-trip delay time is larger than a predetermined reference, and otherwise, It is determined that the packet loss is a random loss that occurs randomly.

そして、パケット送信装置は、増加関数パラメータ決定手段によって、輻輳ウインドウサイズを増加させる増加関数のパラメータを決定する。
ここで、増加関数パラメータ決定手段は、輻輳ウインドウサイズの増加速度を初期化した関数となるように第1増加関数のパラメータを決定する。
Then, the packet transmission apparatus determines an increase function parameter for increasing the congestion window size by the increase function parameter determination means.
Here, the increasing function parameter determining means determines the parameter of the first increasing function so as to be a function in which the increasing speed of the congestion window size is initialized.

また、増加関数パラメータ決定手段は、パケットロスが輻輳ロスと判定された場合に、第1増加関数と同じ関数となるように第2増加関数のパラメータを決定し、パケットロスがランダムロスと判定された場合に、輻輳ウインドウサイズの増加速度がパケットロス発生時から継続して増加する関数となるように第2増加関数のパラメータを決定する。 The increase function parameter determination means determines the parameter of the second increase function so that the packet loss is the same function as the first increase function when the packet loss is determined as the congestion loss, and the packet loss is determined as the random loss. In this case, the parameter of the second increase function is determined so that the increase rate of the congestion window size becomes a function that continuously increases from the time of occurrence of the packet loss.

そして、パケット送信装置は、輻輳ウインドウサイズ増加手段によって、送達確認応答を受信するたびに、輻輳ウインドウサイズを増加させる。ここで、輻輳ウインドウサイズ増加手段は、増加関数パラメータ決定手段で決定されたパラメータで特定される第1増加関数および第2増加関数により演算される輻輳ウインドウサイズのうちで、大きい方のサイズを新たな輻輳ウインドウサイズとする。
これによって、輻輳ウインドウサイズ増加手段は、パケットロスがランダムロスであれば、少なくともパケットロス発生時の増加速度を落とすことなく、輻輳ウインドウサイズを増加させることができる。
Then, the packet transmission device increases the congestion window size by the congestion window size increasing means every time a delivery confirmation response is received. Here, the congestion window size increasing means newly calculates the larger one of the congestion window sizes calculated by the first increasing function and the second increasing function specified by the parameter determined by the increasing function parameter determining means. A large congestion window size.
As a result, the congestion window size increasing means can increase the congestion window size without reducing the increase rate at the time of occurrence of the packet loss if the packet loss is a random loss.

なお、請求項1に記載のパケット送信装置は、パケット送信装置のコンピュータを、データ入力手段、データ送信手段、送達応答確認受信手段、フロー制御手段、往復遅延時間計測手段、輻輳ウインドウサイズ削減手段、パケットロス原因判定手段、増加関数パラメータ決定手段、輻輳ウインドウサイズ増加手段、として機能させるためのパケット送信プログラムで動作させることで実現することができる(請求項)。 Note that the packet transmission device according to claim 1 includes a computer of the packet transmission device that includes a data input unit, a data transmission unit, a delivery response confirmation reception unit, a flow control unit, a round-trip delay time measurement unit, a congestion window size reduction unit, This can be realized by operating with a packet transmission program for functioning as a packet loss cause determination means, an increase function parameter determination means, and a congestion window size increase means (claim 2 ).

本発明は、以下に示す優れた効果を奏するものである。
請求項1,2に記載の発明によれば、輻輳ウインドウサイズを削減する際に、往復遅延時間に基づいて求められる輻輳ウインドウサイズよりも、予め定めた割合で削減した方が、輻輳ウインドウサイズが大きければ、それを適用し、輻輳ウインドウサイズを増加させる際に、増加関数を初期化せずに演算した輻輳ウインドウサイズよりも、増加関数を初期化して演算した輻輳ウインドウサイズの方が大きければ、それを適用するため、従来の手法で制御した輻輳ウインドウサイズを下回ることがなく、効率的に回線を使用することができる。
The present invention has the following excellent effects.
According to the invention described in claim 1, in reducing the congestion window size, than the congestion window size is determined based on the round trip time, it is better to reduce in proportions predetermined congestion window size If it is larger, when applying it and increasing the congestion window size, if the congestion window size calculated by initializing the increase function is larger than the congestion window size calculated without initializing the increase function, to apply it, without falling below the congestion window size was controlled by traditional techniques, it is possible to efficiently use the circuit.

本発明の実施形態に係るパケット送信装置の構成を示すブロック構成図である。It is a block block diagram which shows the structure of the packet transmitter which concerns on embodiment of this invention. 図1の輻輳ウインドウサイズ増加手段が用いるCWNDの増加関数を説明するためのグラフ図である。It is a graph for demonstrating the increase function of CWND which the congestion window size increase means of FIG. 1 uses. 図1の増加関数パラメータ決定手段が決定するパラメータで特定される第2増加関数を説明するためのグラフ図である。It is a graph for demonstrating the 2nd increase function specified by the parameter which the increase function parameter determination means of FIG. 1 determines. 図1の輻輳ウインドウサイズ増加手段が第1増加関数および第2増加関数のいずれを適用するのかを説明するためのグラフ図である。It is a graph for demonstrating which of a 1st increase function and a 2nd increase function applies the congestion window size increase means of FIG. 図1の輻輳ウインドウサイズ増加手段が第1増加関数および第2増加関数のいずれを適用するのかを説明するためのグラフ図である。It is a graph for demonstrating which of a 1st increase function and a 2nd increase function applies the congestion window size increase means of FIG. 本発明の実施形態に係るパケット送信装置のCWNDの削減処理動作を示すフローチャートである。It is a flowchart which shows the reduction process operation | movement of CWND of the packet transmitter which concerns on embodiment of this invention. 本発明の実施形態に係るパケット送信装置のCWNDの増加処理動作を示すフローチャートである。It is a flowchart which shows the increase processing operation | movement of CWND of the packet transmitter which concerns on embodiment of this invention. 参考例の実施形態に係るパケット受信装置の構成を示すブロック構成図である。It is a block block diagram which shows the structure of the packet receiver which concerns on embodiment of a reference example.

以下、本発明の実施形態について図面を参照して説明する。
〔パケット送信装置の構成〕
まず、図1を参照して、本発明の実施形態に係るパケット送信装置1の構成について説明する。
Embodiments of the present invention will be described below with reference to the drawings.
[Configuration of packet transmitter]
First, the configuration of the packet transmission device 1 according to the embodiment of the present invention will be described with reference to FIG.

パケット送信装置1は、図示を省略したデータ送信装置等から入力されたデータ(パケットデータ)を、ウインドウ制御方式によって、そのデータ送信量を制御して、パケット受信装置2に送信するものである。このパケット送信装置1は、パケット受信装置2との間で、送達確認応答なしに送出可能なパケットの数(セグメント数)である輻輳ウインドウサイズ(CWND:Congestion Window Size、以下、単にCWNDという。)を制御し、そのCWNDに応じてフロー制御を行うことで、送信するパケット数(量)を調整する。
ここでは、パケット送信装置1は、図1に示すように、データ入力手段10と、データバッファ(一時記憶手段)11と、フロー制御手段12と、データ送信手段13と、送達確認応答受信手段14と、往復遅延時間計測手段15と、輻輳制御手段16と、を備える。
The packet transmission device 1 transmits data (packet data) input from a data transmission device or the like (not shown) to the packet reception device 2 by controlling the data transmission amount by a window control method. The packet transmission device 1 has a congestion window size (CWND: Congestion Window Size, hereinafter simply referred to as CWND) which is the number of packets (number of segments) that can be transmitted without a delivery confirmation response to the packet reception device 2. The number of packets to be transmitted (amount) is adjusted by performing flow control according to the CWND.
Here, as shown in FIG. 1, the packet transmission device 1 includes a data input unit 10, a data buffer (temporary storage unit) 11, a flow control unit 12, a data transmission unit 13, and a delivery confirmation response reception unit 14. And a round-trip delay time measuring means 15 and a congestion control means 16.

データ入力手段10は、外部からパケット受信装置2に送信するためのデータ(パケットデータ)を入力するものである。このパケットデータは、例えば、IPパケットである。このデータ入力手段10は、入力されたパケットを逐次データバッファ11に記憶するとともに、フロー制御手段12に対して、パケットを入力した旨の通知を行う。   The data input means 10 is for inputting data (packet data) to be transmitted to the packet receiving device 2 from the outside. This packet data is, for example, an IP packet. The data input means 10 sequentially stores the input packets in the data buffer 11 and notifies the flow control means 12 that the packets have been input.

データバッファ(一時記憶手段)11は、データ入力手段10を介して入力されたパケットデータを一時的に記憶しておくもので、例えば、半導体メモリ等の記憶媒体である。このデータバッファ11に記憶されたパケットデータは、データ送信手段13によって読み出され、データバッファ11は、FIFO(First-In First-Out)として機能する。   The data buffer (temporary storage means) 11 temporarily stores packet data input via the data input means 10 and is a storage medium such as a semiconductor memory. The packet data stored in the data buffer 11 is read by the data transmission means 13, and the data buffer 11 functions as a first-in first-out (FIFO).

フロー制御手段12は、輻輳制御手段16によって制御されるCWNDに応じて、フロー制御を行うものである。すなわち、フロー制御手段12は、一般的なウインドウ制御方式によって、データ送信手段13から送信するパケット数を制御する。   The flow control unit 12 performs flow control according to CWND controlled by the congestion control unit 16. That is, the flow control unit 12 controls the number of packets transmitted from the data transmission unit 13 by a general window control method.

具体的には、フロー制御手段12は、データ入力手段10を介してデータバッファ11に記憶されたパケットを、データ送信手段13に対して送信する旨を指示する。そして、フロー制御手段12は、送達確認応答受信手段14から、送信したパケットに対する送達確認応答(ACK)を受信した段階で、データバッファ11における次に送信すべきパケットの送信番号を更新する。このとき、フロー制御手段12は、輻輳制御手段16から通知されるCWNDのパケット数までは、ACKを受信することなく一度に、データ送信手段13に対して送信を指示することができる。
このように、フロー制御手段12は、輻輳制御手段16によって制御されるCWNDによって、一度にパケット受信装置2に送信するパケット数を制御する。
なお、フロー制御手段12は、送信したパケットに対するACKが所定時間内に受信されない場合(再送タイムアウト)、当該パケットを再送するとともに、再送タイムアウトが発生したことを、輻輳制御手段16に通知する。
Specifically, the flow control unit 12 instructs the data transmission unit 13 to transmit the packet stored in the data buffer 11 via the data input unit 10. Then, the flow control unit 12 updates the transmission number of the next packet to be transmitted in the data buffer 11 when the delivery confirmation response (ACK) for the transmitted packet is received from the delivery confirmation response receiving unit 14. At this time, the flow control unit 12 can instruct the data transmission unit 13 to perform transmission up to the number of CWND packets notified from the congestion control unit 16 at a time without receiving an ACK.
As described above, the flow control unit 12 controls the number of packets transmitted to the packet reception device 2 at a time by the CWND controlled by the congestion control unit 16.
If the ACK for the transmitted packet is not received within a predetermined time (retransmission timeout), the flow control unit 12 retransmits the packet and notifies the congestion control unit 16 that a retransmission timeout has occurred.

データ送信手段13は、フロー制御手段12の指示により、データバッファ11に記憶されているパケットを、通信回線を介して、パケット受信装置2に送信するものである。なお、パケットデータには、パケットの宛先が記述されており、データ送信手段13は、その宛先に対してパケットを送信する。例えば、パケットが、IPパケットの場合、IPヘッダに宛先のIPアドレスが記述されている。   The data transmission unit 13 transmits a packet stored in the data buffer 11 to the packet reception device 2 via a communication line according to an instruction from the flow control unit 12. The packet data describes the destination of the packet, and the data transmission means 13 transmits the packet to the destination. For example, when the packet is an IP packet, the destination IP address is described in the IP header.

送達確認応答受信手段14は、データ送信手段13を介して送信されたパケットに対応する送達確認応答(ACK)を、送信先のパケット受信装置2から、通信回線を介して、受信するものである。この送達確認応答受信手段14は、ACKを受信したことをフロー制御手段12、往復遅延時間計測手段15および輻輳制御手段16に通知(ACK受信通知)する。   The delivery confirmation response receiving unit 14 receives a delivery confirmation response (ACK) corresponding to the packet transmitted via the data transmission unit 13 from the destination packet receiving device 2 via the communication line. . The delivery confirmation response receiving means 14 notifies the flow control means 12, the round trip delay time measuring means 15 and the congestion control means 16 that the ACK has been received (ACK reception notification).

また、送達確認応答受信手段14は、データ送信手段13から順次送信されたパケットに対するACKが欠落した場合、その旨(パケットロス通知)を、輻輳制御手段16に通知する。なお、パケットロスの検出は、例えば、同一シーケンス番号のACKを3つ連続して受信した場合にロスが発生したとみなす等の一般的な手法により行うことができる。   In addition, the delivery confirmation response receiving unit 14 notifies the congestion control unit 16 of the fact (packet loss notification) when the ACK for the packets sequentially transmitted from the data transmission unit 13 is lost. Note that detection of packet loss can be performed by a general method such as, for example, assuming that loss has occurred when three ACKs having the same sequence number are received in succession.

往復遅延時間計測手段15は、パケットの送信時刻と、当該パケットに対するACKの受信時刻との差であるパケットの往復遅延時間(RTT)を計測するものである。この往復遅延時間計測手段15は、計測したRTTを輻輳制御手段16に出力する。
このRTTの計測は、一般的な手法を用いればよく、例えば、往復遅延時間計測手段15は、データ送信手段13からパケットの送信時刻を取得し、当該パケットに対するACKの受信時刻との差を演算することで、RTTを求めることができる。あるいは、データ送信手段13が、送信パケットのヘッダに予め送信時刻を書き込み、送達確認応答受信手段14が、当該送信時刻がコピーされたACKを受信することで、RTTを計測することとしてもよい。
The round-trip delay time measuring means 15 measures a round-trip delay time (RTT) of a packet, which is the difference between the packet transmission time and the ACK reception time for the packet. The round trip time measuring means 15 outputs the measured RTT to the congestion control means 16.
The RTT may be measured by using a general method. For example, the round-trip delay time measuring unit 15 obtains the packet transmission time from the data transmission unit 13, and calculates the difference from the ACK reception time for the packet. By doing so, RTT can be obtained. Alternatively, the data transmitting unit 13 may write the transmission time in the header of the transmission packet in advance, and the delivery confirmation response receiving unit 14 may measure the RTT by receiving the ACK copied with the transmission time.

なお、往復遅延時間計測手段15は、計測するRTT(RTTnow)については、予め定めた時間内で平滑化することとする。また、RTTnow以外にも、往復遅延時間計測手段15は、計測中のRTTの最小値(RTTmin)や、予め定めた時間内のRTTのジッタ移動平均(RTTvar)も計測することとする。 The round trip time measuring means 15 smoothes the RTT (RTT now ) to be measured within a predetermined time. In addition to RTT now , the round-trip delay time measuring means 15 measures the minimum value of RTT being measured (RTT min ) and the jitter moving average (RTT var ) of RTT within a predetermined time. .

輻輳制御手段16は、ネットワークの輻輳状態を検出し、その輻輳状態に応じてフロー制御手段12がフロー制御を行う際の輻輳ウインドウサイズ(CWND)を制御するものである。この輻輳制御手段16は、CWNDを指数的に増加させるスロースタートフェーズと、輻輳を考慮してCWNDを増加させる輻輳制御フェーズとの2つのフェーズで動作する。なお、スロースタートフェーズについては、一般的なTCPの動作と同様であるため、以降の説明においては説明を簡略化する。   The congestion control unit 16 detects a congestion state of the network and controls a congestion window size (CWND) when the flow control unit 12 performs flow control according to the congestion state. This congestion control means 16 operates in two phases: a slow start phase in which CWND is exponentially increased, and a congestion control phase in which CWND is increased in consideration of congestion. Since the slow start phase is the same as a general TCP operation, the description will be simplified in the following description.

この輻輳制御手段16は、輻輳ウインドウサイズ削減手段160と、パケットロス原因判定手段161と、輻輳ウインドウサイズ増加手段162と、増加関数パラメータ決定手段163と、を備える。   The congestion control unit 16 includes a congestion window size reduction unit 160, a packet loss cause determination unit 161, a congestion window size increase unit 162, and an increase function parameter determination unit 163.

輻輳ウインドウサイズ削減手段160は、送達確認応答受信手段14から、パケットロスが発生した旨(パケットロス通知)を通知された段階で、CWNDを削減するものである。この輻輳ウインドウサイズ削減手段160は、削減したCWNDをフロー制御手段12に出力する。
具体的には、輻輳ウインドウサイズ削減手段160は、以下の式(1)により、新たなCWND(CWNDnew)を算出する。
The congestion window size reduction unit 160 reduces CWND when it is notified from the delivery confirmation response reception unit 14 that a packet loss has occurred (packet loss notification). The congestion window size reduction unit 160 outputs the reduced CWND to the flow control unit 12.
Specifically, the congestion window size reduction unit 160 calculates a new CWND (CWND new ) by the following equation (1).

Figure 0006101046
Figure 0006101046

この式(1)において、「CWNDloss*(1−β)」は、従来のCUBICと同様、予め定めた割合でCWNDを削減するための計算式である。ここで、CWNDlossは、パケットロスが発生した時点のCWNDである。また、(1−β)は、予め定めた割合であって、βは、例えば、“0.3”である。 In this formula (1), “CWND loss * (1−β)” is a calculation formula for reducing CWND at a predetermined rate, similarly to the conventional CUBIC. Here, CWND loss is the CWND at the time when the packet loss occurs. (1-β) is a predetermined ratio, and β is, for example, “0.3”.

一方、式(1)において、「CWNDloss*RTTmin/RTTnow」は、ネットワーク上にバッファされたパケットのデータ量に応じてCWNDを削減するための計算式である。ここで、CWNDlossは、パケットロスが発生した時点のCWNDである。また、RTTminは、往復遅延時間計測手段15で計測されたRTTの中で最小のRTTである。また、RTTnowは、パケットロスが発生した時点の平滑化したRTTである。 On the other hand, in Expression (1), “CWND loss * RTT min / RTT now ” is a calculation expression for reducing CWND according to the data amount of packets buffered on the network. Here, CWND loss is the CWND at the time when the packet loss occurs. RTT min is the smallest RTT among the RTTs measured by the round trip time measuring means 15. RTT now is a smoothed RTT at the time when a packet loss occurs.

すなわち、輻輳ウインドウサイズ削減手段160は、CUBICのように、単に、予め定めた割合でCWNDを削減するのではなく、RTTの増加比の逆比に応じて削減したCWNDの方が、予め定めた割合で削減したCWNDよりも大きければ、大きい値を採用する。
これによって、輻輳ウインドウサイズ削減手段160は、ネットワーク上にバッファされているパケット量よりも、CWNDを削減しないため、パケット送信装置1とパケット受信装置2との間のネットワーク内のバッファが少ない回線であっても、ネットワークの空きの発生を抑え、ネットワークを有効に利用することが可能になる。
That is, the congestion window size reduction means 160 does not simply reduce CWND at a predetermined rate as in CUBIC, but CWND reduced according to the inverse ratio of the RTT increase ratio is predetermined. If it is larger than the CWND reduced by the ratio, a larger value is adopted.
As a result, the congestion window size reduction means 160 does not reduce CWND more than the amount of packets buffered on the network. Therefore, the congestion window size reduction means 160 uses a line with a small buffer in the network between the packet transmission device 1 and the packet reception device 2. Even in such a case, it is possible to suppress the occurrence of network vacancy and to use the network effectively.

また、輻輳ウインドウサイズ削減手段160は、パケットロスが通知された場合、スロースタートフェーズに移行した場合のCWNDの上限値を示すスロースタート閾値であるssthresh(ssthreshnew)を、以下の式(2)に示すように、式(1)で演算されたCWNDnewで更新する。 In addition, the congestion window size reduction unit 160, when notified of packet loss, sets sthresh (ssthresh new ), which is a slow start threshold value indicating the upper limit value of CWND when transitioning to the slow start phase, to the following formula (2): As shown in FIG. 4, the data is updated with CWND new calculated by Expression (1).

Figure 0006101046
Figure 0006101046

この輻輳ウインドウサイズ削減手段160は、更新前のCWND(CWNDloss)と更新後のCWND(CWNDnew)とを、増加関数パラメータ決定手段163に出力する。また、輻輳ウインドウサイズ削減手段160は、更新後のssthreshnewを、輻輳ウインドウサイズ増加手段162に出力する。 The congestion window size reduction unit 160 outputs the CWND before update (CWND loss ) and the CWND after update (CWND new ) to the increase function parameter determination unit 163. Further, the congestion window size reduction unit 160 outputs the updated ssthresh new to the congestion window size increase unit 162.

パケットロス原因判定手段161は、送達確認応答受信手段14から、パケットロスが発生した旨(パケットロス通知)を通知された段階で、パケットロスの原因を判定するものである。ここでは、パケットロス原因判定手段161は、往復遅延時間計測手段15で計測されるRTTの増加が大きい場合、輻輳によりパケットロスが発生したと判定し、増加が小さい場合、ランダムロスによりパケットロスが発生したと判定する。
具体的には、パケットロス原因判定手段161は、以下の式(3)の大小関係により、パケットロスの原因を判定する。
The packet loss cause determination unit 161 determines the cause of the packet loss when notified from the delivery confirmation response reception unit 14 that a packet loss has occurred (packet loss notification). Here, the packet loss cause determination unit 161 determines that a packet loss has occurred due to congestion when the increase in RTT measured by the round trip delay time measurement unit 15 is large, and if the increase is small, the packet loss due to random loss causes the packet loss to occur. It is determined that it has occurred.
Specifically, the packet loss cause determination unit 161 determines the cause of the packet loss based on the magnitude relationship of the following expression (3).

Figure 0006101046
Figure 0006101046

ここで、式(3)の左辺は、往復遅延時間計測手段15で計測されるRTTのジッタ移動平均RTTvar(より正確には、その定数倍)である。この式(3)において、αは予め定めた定数(例えば、α=4)である。 Here, the left side of Equation (3) is the jitter moving average RTT var of RTT measured by the round trip delay time measuring means 15 (more precisely, a constant multiple thereof). In this formula (3), α is a predetermined constant (for example, α = 4).

また、式(3)の右辺は、RTTの遅延増加量を表している。この式(3)において、RTTnowは、パケットロスが発生した時点のRTTである。また、RTTminは、計測されたRTTの最小値である。
すなわち、パケットロス原因判定手段161は、式(3)の左辺で演算した値を基準として、式(3)の右辺で演算したRTTの遅延増加量の方が大きければ、ネットワーク全体に影響のある輻輳によってパケットのロス(輻輳ロス)が発生したと判定する。また、その逆に、パケットロス原因判定手段161は、式(3)の右辺で演算したRTTの遅延増加量が式(3)の左辺で演算した値以下であれば、単発でパケットのロス(ランダムロス)が発生したと判定する。このパケットロス原因判定手段161は、パケットロスの原因の判定結果を増加関数パラメータ決定手段163に出力する。
In addition, the right side of Equation (3) represents the amount of increase in RTT delay. In this equation (3), RTT now is the RTT at the time when packet loss occurs. RTT min is the minimum value of the measured RTT.
That is, the packet loss cause determination unit 161 affects the entire network if the RTT delay increase calculated on the right side of Expression (3) is larger than the value calculated on the left side of Expression (3). It is determined that a packet loss (congestion loss) has occurred due to congestion. Conversely, if the RTT delay increase calculated on the right side of Equation (3) is less than or equal to the value calculated on the left side of Equation (3), the packet loss cause determination means 161 will perform a single packet loss ( It is determined that (random loss) has occurred. The packet loss cause determination unit 161 outputs the determination result of the cause of packet loss to the increase function parameter determination unit 163.

輻輳ウインドウサイズ増加手段162は、送達確認応答受信手段14から、ACKを受信した旨(ACK受信通知)を通知された段階で、CWNDを増加させるものである。
この輻輳ウインドウサイズ増加手段162は、スロースタートフェーズにおいて、CWNDに“2”を設定し、ACK受信通知を通知されるたびに、CWNDに“1”を加算して、フロー制御手段12にCWNDを出力する。
そして、送達確認応答受信手段14からパケットロスが発生した旨(パケットロス通知)を通知された段階で、輻輳回避フェーズに移行する。
The congestion window size increasing unit 162 increases the CWND when notified by the delivery confirmation response receiving unit 14 that an ACK has been received (ACK reception notification).
In the slow start phase, the congestion window size increasing unit 162 sets CWND to “2”, adds “1” to CWND every time an ACK reception notification is notified, and sets CWND to flow control unit 12. Output.
Then, at the stage of notification that a packet loss has occurred (packet loss notification) from the delivery confirmation response receiving means 14, the process proceeds to the congestion avoidance phase.

この輻輳回避フェーズにおいて、輻輳ウインドウサイズ増加手段162は、予め定めたCWNDの増加関数を用いて、CWNDの値を演算し、フロー制御手段12に出力する。この増加関数は、1つの変曲点を有する3次関数である。ここでは、増加関数は、パケットロスが発生したときのCWNDで変曲点に達する3次関数とする。これによって、輻輳ウインドウサイズ増加手段162は、増加関数の変曲点、すなわち、前回のパケットロスが発生した際のCWNDまでは素早く回復させ、増加がほとんどない水平状態をある程度維持した後、再度、CWNDを増加させる。
具体的には、輻輳ウインドウサイズ増加手段162は、CWNDの値として、以下の式(4)に示すように2つの増加関数の演算結果で大きい方を適用する。
In this congestion avoidance phase, the congestion window size increasing unit 162 calculates the value of CWND using a predetermined CWND increasing function and outputs it to the flow control unit 12. This increase function is a cubic function having one inflection point. Here, the increase function is a cubic function that reaches the inflection point in CWND when packet loss occurs. As a result, the congestion window size increasing means 162 quickly recovers to the inflection point of the increasing function, that is, CWND when the previous packet loss occurs, and after maintaining a horizontal state with little increase, Increase CWND.
Specifically, the congestion window size increasing unit 162 applies the larger one of the calculation results of the two increasing functions as the following formula (4) as the value of CWND.

Figure 0006101046
Figure 0006101046

この式(4)において、「C*(t−k)+Wmax」は、従来のCUBICと同様、経過時間tの3乗に比例してCWNDを増加させるための増加関数(以下、第1増加関数という。)である。ここで、Cは、予め定めた定数で、例えば、“0.4”である。また、tは、前回パケットロスが発生したときからの経過時間である。また、Wmaxは前回パケットロスが発生したときのCWNDの値である。また、kは、一旦削減されたCWNDをWmaxまで増加させるための時間幅を示す。ここでは、Wmax,kは、増加関数パラメータ決定手段163で決定される。
これによって、第1増加関数「C*(t−k)+Wmax」のグラフ形状は、図2に示したような関数形となる。すなわち、第1増加関数は、パケットロスが発生した時刻t1から、時間がk経過(時刻tp)するまでにおいて、CWNDを、前回のパケットロスが発生したCWND(Wmax)になるように素早く回復させ、増加関数の変曲点の後、さらにCWNDを増加させるような関数となる。
In this equation (4), “C * (t−k) 3 + W max ” is an increase function (hereinafter referred to as the first function) for increasing CWND in proportion to the cube of the elapsed time t, as in the conventional CUBIC. It is called an increasing function.) Here, C is a predetermined constant, for example, “0.4”. Further, t is an elapsed time from when the previous packet loss occurred. W max is the value of CWND when the previous packet loss occurred. K represents a time width for increasing CWND once reduced to W max . Here, W max , k is determined by the increase function parameter determination means 163.
Accordingly, the graph shape of the first increase function “C * (tk) 3 + W max ” becomes a function shape as shown in FIG. That is, the first increase function quickly recovers CWND from C1 when the packet loss occurred until Clapses (time tp) until CWND (W max ) when the previous packet loss occurred. Then, after the inflection point of the increasing function, the function further increases CWND.

一方、前記式(4)において、「C*(t−n+G)+Wdiff」は、基本的にはCUBICと同様の増加関数であるが、パケットロスがランダムロスである場合に、パケットロスが発生した際のCWNDの増加速度を継続して再開させる関数(以下、第2増加関数という。)となる。この第2増加関数における第1増加関数と異なるパラメータであるWdiff,G,nは、増加関数パラメータ決定手段163で決定された値であり、その内容については、後記する増加関数パラメータ決定手段163の説明で行うこととする。 On the other hand, in the equation (4), “C * (t−n + G) 3 + W diff ” is basically an increase function similar to that of CUBIC. However, when the packet loss is a random loss, the packet loss is This is a function (hereinafter referred to as a second increase function) for continuously restarting the increase rate of CWND when it occurs. W diff , G, n, which are parameters different from the first increase function in the second increase function, are values determined by the increase function parameter determination means 163, and the contents thereof will be described later as an increase function parameter determination means 163. This will be done in the explanation.

なお、輻輳ウインドウサイズ増加手段162は、フロー制御手段12から、再送タイムアウトが通知された場合、スロースタートフェーズに移行する。すなわち、輻輳ウインドウサイズ増加手段162は、再送タイムアウトが通知された場合、CWNDを“2”に設定し、ACK受信通知を通知されるたびに、CWNDに“1”を加算し、フロー制御手段12にCWNDを出力する。そして、輻輳ウインドウサイズ増加手段162は、CWNDがssthreshに達した段階、あるいは、パケットロスが発生した段階で、輻輳制御フェーズに移行する。   The congestion window size increasing unit 162 shifts to the slow start phase when a retransmission timeout is notified from the flow control unit 12. That is, the congestion window size increasing unit 162 sets CWND to “2” when a retransmission timeout is notified, and adds “1” to CWND every time an ACK reception notification is notified. Output CWND. Then, the congestion window size increasing means 162 shifts to the congestion control phase when CWND reaches ssthresh or when a packet loss occurs.

増加関数パラメータ決定手段163は、パケットロス原因判定手段161で判定されたパケットロスの判定結果に基づいて、輻輳ウインドウサイズ増加手段162で使用する増加関数(前記式(4)参照)のパラメータを決定するものである。この増加関数パラメータ決定手段163は、式(4)の第1増加関数のパラメータであるWmax,kと、第2増加関数のパラメータであるWdiff,G,nを決定する。
なお、増加関数パラメータ決定手段163は、パケットロスの判定結果に関わらず、以下の式(5)に示すように、第1増加関数のパラメータであるWmax(Wmax_new)、k(knew)を更新する。
The increase function parameter determination unit 163 determines the parameter of the increase function (see the above formula (4)) used by the congestion window size increase unit 162 based on the packet loss determination result determined by the packet loss cause determination unit 161. To do. The increasing function parameter determining means 163 determines W max , k that is a parameter of the first increasing function of Expression (4) and W diff , G, n that is a parameter of the second increasing function.
It should be noted that the increase function parameter determination means 163, regardless of the packet loss determination result, shows W max (W max_new ), k (k new ), which are parameters of the first increase function, as shown in the following equation (5). Update.

Figure 0006101046
Figure 0006101046

ここで、CWNDlossは、輻輳ウインドウサイズ削減手段160から通知されるパケットロス発生時のCWNDである。また、βは、予め定めた定数であって、例えば、“0.3”である。また、Cは、予め定めた定数で、例えば、“0.4”である。
これによって、第1増加関数におけるCWNDの増加速度は初期化されることになる。
Here, CWND loss is CWND at the time of occurrence of a packet loss notified from the congestion window size reduction unit 160. Β is a predetermined constant, for example, “0.3”. C is a predetermined constant, for example, “0.4”.
As a result, the increasing speed of CWND in the first increasing function is initialized.

また、増加関数パラメータ決定手段163は、第2増加関数のパラメータについては、パケットロス原因判定手段161から通知される判定結果に基づいて、異なる値とする。具体的には、増加関数パラメータ決定手段163は、パケットロス原因判定手段161から、ランダムロスが通知された場合、以下の式(6)に示すように、第2増加関数のパラメータであるWdiff(Wdiff_new),G(Gnew),n(nnew)を決定する。 Further, the increase function parameter determination unit 163 sets different values for the parameters of the second increase function based on the determination result notified from the packet loss cause determination unit 161. Specifically, when the random loss is notified from the packet loss cause determination unit 161, the increase function parameter determination unit 163, as shown in the following equation (6), is a parameter of the second increase function W diff (W diff — new ), G (G new ), and n (n new ) are determined.

Figure 0006101046
Figure 0006101046

ここで、Wdiff_lastは、直近のパケットロスが発生した際の第2増加関数の変曲点におけるCWND(Wdiff)である。また、CWNDlossおよびCWNDnewは、それぞれ、輻輳ウインドウサイズ削減手段160から通知されるパケットロス発生時のCWNDおよび更新後のCWNDである。また、tlastは、パケットロス発生時のt、つまり前回のパケットロスから今回のパケットロスが発生するまでの経過時間である。また、nloss、Glossは、直近のパケットロスが発生した際のパラメータn,Gである。
なお、スロースタートフェーズから輻輳回避フェーズへ移行した際は、必ず第1増加関数によるCWND計算が実施される。
このように、増加関数パラメータ決定手段163は、図3に示すように、第2増加関数L2において経過時間t1でランダムロスが発生したとすると、CWNDの減少分(CWNDloss−CWNDnew)だけ、Wdiffを減少させるとともに、経過時間t1以降において、第2増加関数L2と同様の傾き(増加速度)でCWNDを継続して増加させる第2増加関数L2′のパラメータを生成する。
Here, W diff — last is CWND (W diff ) at the inflection point of the second increasing function when the most recent packet loss occurs. CWND loss and CWND new are the CWND at the time of packet loss notified from the congestion window size reduction unit 160 and the updated CWND, respectively. Also, t last is t at the time of packet loss, that is, the elapsed time from the previous packet loss to the occurrence of the current packet loss. N loss and G loss are parameters n and G when the most recent packet loss occurs.
It should be noted that CWND calculation using the first increase function is always performed when the slow start phase is shifted to the congestion avoidance phase.
In this way, as shown in FIG. 3, the increase function parameter determination unit 163 assumes that a random loss occurs at the elapsed time t1 in the second increase function L2, as much as the decrease in CWND (CWND loss −CWND new ), In addition to decreasing W diff , a parameter of the second increase function L2 ′ is generated that continuously increases CWND at the same slope (increase speed) as the second increase function L2 after the elapsed time t1.

一方、増加関数パラメータ決定手段163は、パケットロス原因判定手段161から、輻輳ロスが通知された場合、以下の式(7)に示すように、第2増加関数のパラメータであるWdiff(Wdiff_new),G(Gnew),n(nnew)を初期化する。 On the other hand, when the congestion loss is notified from the packet loss cause determination unit 161, the increase function parameter determination unit 163, as shown in the following formula (7), is W diff (W diff_new) that is a parameter of the second increase function. ), G (G new ), n (n new ) are initialized.

Figure 0006101046
Figure 0006101046

ここで、CWNDlossは、輻輳ウインドウサイズ削減手段160から通知されるパケットロス発生時のCWNDである。また、βは、予め定めた定数であって、例えば、“0.3”である。また、Cは、予め定めた定数で、例えば、“0.4”である。
これによって、第2増加関数におけるCWNDの増加速度は初期化されることになる。
この式(7)に示すように、パケットロス原因判定手段161から、輻輳ロスが通知された場合、第2増加関数のパラメータの値は、式(5)に示した第1増加関数のパラメータの値と同じになり、第1増加関数の値および第2増加関数の値は同一となる。
このように、増加関数パラメータ決定手段163は、輻輳ウインドウサイズ増加手段162が用いる増加関数(第1増加関数、第2増加関数)のパラメータを生成する。
Here, CWND loss is CWND at the time of occurrence of a packet loss notified from the congestion window size reduction unit 160. Β is a predetermined constant, for example, “0.3”. C is a predetermined constant, for example, “0.4”.
As a result, the increasing speed of CWND in the second increasing function is initialized.
As shown in the equation (7), when the congestion loss is notified from the packet loss cause determination unit 161, the parameter value of the second increase function is the parameter value of the first increase function shown in the equation (5). The value of the first increase function and the value of the second increase function are the same.
As described above, the increase function parameter determination unit 163 generates a parameter of an increase function (first increase function, second increase function) used by the congestion window size increase unit 162.

以上説明したようにパケット送信装置1を構成することで、パケット送信装置1は、パケットロス発生時におけるCWNDの削減量を抑えるとともに、CWNDを高速に回線状態に適したサイズに増加させることができる。
すなわち、パケット送信装置1は、輻輳ウインドウサイズ削減手段160によって、パケットロス発生時おいて、式(1)に示すように、予め定めた割合でCWNDを削減したCWNDと、RTTの増加比の逆比に応じて削減したCWNDとで、大きい方のCWNDを採用するため、バッファが少ない回線であっても、ネットワークの空きの発生を抑え、ネットワークを有効に利用することができる。
By configuring the packet transmission device 1 as described above, the packet transmission device 1 can reduce the amount of CWND reduction when a packet loss occurs and increase the CWND to a size suitable for the line state at high speed. .
In other words, the packet transmission device 1 uses the congestion window size reduction unit 160 to reduce the CWND obtained by reducing the CWND at a predetermined rate when the packet loss occurs and the inverse ratio of the increase in the RTT. Since the larger CWND is employed with the CWND reduced according to the ratio, the network can be used effectively by suppressing the occurrence of network vacancy even with a line having a small number of buffers.

また、パケット送信装置1は、輻輳ウインドウサイズ増加手段162によって、パケットロス発生時に、CWND削減後、式(4)に示すように、CWNDの増加速度を初期化した増加関数(第1増加関数)と、CWNDの増加速度を継続して再開させた増加関数(第2増加関数)とで、CWNDが大きい方の関数を適用してCWNDを増加させるため、CWNDを高速に増加させることができる。
例えば、輻輳ウインドウサイズ増加手段162は、図4に示すように、増加関数の変曲点後、高速にCWNDを増加させている段階(経過時間t1)でランダムロスが発生した場合、増加速度を初期化した増加関数である第1増加関数L1よりも、増加速度を継続して再開させた第2増加関数L2を適用することで、CWNDを高速に増加させることができる。
Further, the packet transmission device 1 uses the congestion window size increasing unit 162 to increase the CWND increase rate (first increase function) after the CWND is reduced, as shown in Expression (4), when the packet loss occurs. Since the CWND is increased by applying the function having the larger CWND with the increase function (second increase function) in which the increase speed of the CWND is continuously resumed, the CWND can be increased at high speed.
For example, as shown in FIG. 4, the congestion window size increasing means 162 increases the increasing speed when a random loss occurs at a stage where the CWND is increased at a high speed (elapsed time t1) after the inflection point of the increasing function. The CWND can be increased at high speed by applying the second increase function L2 that is continuously increased and restarted, rather than the first increase function L1 that is the increased function that has been initialized.

また、例えば、輻輳ウインドウサイズ増加手段162は、図5に示すように、経過時間t1でランダムロスが発生し、経過時間t1から経過時間t2の間、第1増加関数L1の方が第2増加関数L2よりもCWNDが大きくなる場合、第1増加関数で演算されたCWNDを採用し、経過時間t2以降、第2増加関数L2の方が第1増加関数L1よりもCWNDが大きくなる場合、第2増加関数で演算されたCWNDを採用する。そのため、パケット送信装置1は、従来のCUBICのように、単に、増加関数L1のみでCWNDを増加させるよりも高速にCWNDを増加させることができる。   Further, for example, as shown in FIG. 5, the congestion window size increasing means 162 generates a random loss at the elapsed time t1, and the first increasing function L1 increases by the second between the elapsed time t1 and the elapsed time t2. When CWND is larger than the function L2, the CWND calculated by the first increase function is adopted, and after the elapsed time t2, the second increase function L2 is larger than the first increase function L1. CWND calculated with a 2 increment function is adopted. Therefore, the packet transmission device 1 can increase CWND faster than simply increasing CWND using only the increase function L1 as in the conventional CUBIC.

以上、パケット送信装置1の構成について説明したが、パケット送信装置1は、コンピュータを、前記した各手段として機能させるためのプログラム(パケット送信プログラム)で動作させることができる。   Although the configuration of the packet transmission device 1 has been described above, the packet transmission device 1 can operate the computer with a program (packet transmission program) for causing the computer to function as each of the above-described units.

〔パケット送信装置の動作〕
次に、図6および図7を参照(構成については適宜図1参照)して、本発明の実施形態に係るパケット送信装置1の動作について説明する。
なお、パケット送信装置1におけるフロー制御や、輻輳制御におけるスロースタートフェーズの動作については、一般的なものであるため、ここでは、本発明の特徴である輻輳制御アルゴリズムにおける輻輳制御フェーズの動作、特に、CWNDを制御する動作について説明する。
図6は、送達確認応答受信手段14によって、パケットロスが検出された際のCWNDの削減処理を示す。また、図7は、送達確認応答受信手段14によって、ACKを受信した際のCWNDの増加処理を示す。
[Operation of packet transmission device]
Next, the operation of the packet transmission device 1 according to the embodiment of the present invention will be described with reference to FIGS.
Since the flow control in the packet transmission apparatus 1 and the operation in the slow start phase in the congestion control are general, here, the operation in the congestion control phase in the congestion control algorithm that is the feature of the present invention, in particular, The operation for controlling CWND will be described.
FIG. 6 shows CWND reduction processing when a packet loss is detected by the delivery confirmation response receiving means 14. FIG. 7 shows CWND increase processing when an ACK is received by the delivery confirmation response receiving means 14.

(パケットロス検出に伴うCWND削減処理)
図6に示すように、パケット送信装置1は、送達確認応答受信手段14においてパケットロスが検出されると(ステップS1)、輻輳制御手段16の輻輳ウインドウサイズ削減手段160によって、CWNDを削減する(ステップS2)。
このステップS2では、輻輳ウインドウサイズ削減手段160は、式(1)に示すように、予め定めた割合でCWNDを削減した場合(CWNDloss*(1−β))と、往復遅延時間計測手段15で計測されたRTTを用いて、ネットワーク上にバッファされたパケットのデータ量に応じてCWNDを削減した場合(CWNDloss*RTTmin/RTTnow)とで、大きい方のCWNDを採用する。
これによって、ネットワークの空きの発生を抑え、ネットワークを有効に利用することができる。
(CWND reduction processing associated with packet loss detection)
As shown in FIG. 6, when a packet loss is detected in the delivery confirmation response receiving means 14 (step S1), the packet transmitting apparatus 1 reduces the CWND by the congestion window size reducing means 160 of the congestion control means 16 ( Step S2).
In this step S2, the congestion window size reducing means 160, when the CWND is reduced at a predetermined rate (CWND loss * (1-β)) as shown in the equation (1), the round trip delay time measuring means 15 When the CWND is reduced according to the data amount of packets buffered on the network using the RTT measured in step (CWND loss * RTT min / RTT now ), the larger CWND is adopted.
As a result, it is possible to suppress the occurrence of network vacancy and effectively use the network.

その後、パケット送信装置1は、輻輳制御手段16のパケットロス原因判定手段161によって、RTTの増加量に基づいて、パケットロスの原因がランダムロスであるのか、輻輳ロスであるのかを判定する(ステップS3)。
このステップS3では、パケットロス原因判定手段161は、式(3)の左辺に示した往復遅延時間計測手段15で計測されるRTTのジッタ移動平均の定数倍(α*RTTvar)よりも、式(3)の右辺に示したRTTの遅延増加量(RTTnow−RTTmin)の方が大きい場合に、パケットロスが輻輳によって発生した輻輳ロスであると判定する。
また、パケットロス原因判定手段161は、RTTのジッタ移動平均の定数倍(α*RTTvar)が、RTTの遅延増加量(RTTnow−RTTmin)以上であれば、パケットロスがランダムロスであると判定する。
Thereafter, the packet transmission apparatus 1 determines whether the cause of the packet loss is a random loss or a congestion loss based on the increase amount of the RTT by the packet loss cause determination unit 161 of the congestion control unit 16 (step S1). S3).
In this step S3, the packet loss cause determination means 161 uses an equation that is a constant multiple (α * RTT var ) of the jitter moving average of the RTT measured by the round trip delay time measurement means 15 shown on the left side of the equation (3). When the RTT delay increase amount (RTT now −RTT min ) shown on the right side of (3) is larger, it is determined that the packet loss is a congestion loss caused by congestion.
Further, the packet loss cause determination means 161 indicates that the packet loss is a random loss if the constant multiple of the RTT jitter moving average (α * RTT var ) is equal to or greater than the RTT delay increase amount (RTT now −RTT min ). Is determined.

ここで、パケットロスが輻輳ロスであると判定された場合(ステップS3でYes)、パケット送信装置1は、輻輳制御手段16の増加関数パラメータ決定手段163によって、輻輳ウインドウサイズ増加手段162で用いる増加関数(第1増加関数、第2増加関数)について、輻輳ロス用のパラメータを決定する(ステップS4)。
このステップS4では、増加関数パラメータ決定手段163は、式(5)によって、第1増加関数のパラメータであるWmax,kを決定する。さらに、増加関数パラメータ決定手段163は、式(7)によって、第2増加関数のパラメータであるWdiff,G,nを決定する。
Here, when it is determined that the packet loss is a congestion loss (Yes in step S3), the packet transmission device 1 uses the increase function parameter determination unit 163 of the congestion control unit 16 to increase the congestion window size increase unit 162. For the functions (first increase function, second increase function), parameters for congestion loss are determined (step S4).
In this step S4, the increasing function parameter determining means 163 determines W max , k that is a parameter of the first increasing function, using Equation (5). Further, the increasing function parameter determining means 163 determines W diff , G, n, which are parameters of the second increasing function, according to the equation (7).

一方、パケットロスがランダムロスであると判定された場合(ステップS3でNo)、パケット送信装置1は、輻輳制御手段16の増加関数パラメータ決定手段163によって、輻輳ウインドウサイズ増加手段162で用いる増加関数(第1増加関数、第2増加関数)について、ランダムロス用のパラメータを決定する(ステップS5)。
このステップS5では、増加関数パラメータ決定手段163は、式(5)によって、第1増加関数のパラメータであるWmax,kを決定する。さらに、増加関数パラメータ決定手段163は、式(6)によって、第2増加関数のパラメータであるWdiff,G,nを決定する。
この第2増加関数のパラメータによって、第2増加関数において、CWNDの増加速度を再開し、継続してCWNDを増加させることができる。
以上の動作によって、輻輳制御手段16は、パケットロスが検出された際のCWNDの削減処理を行う。
On the other hand, when it is determined that the packet loss is a random loss (No in step S3), the packet transmission device 1 uses the increase function parameter determination unit 163 of the congestion control unit 16 to increase the function used by the congestion window size increase unit 162. For (first increase function, second increase function), a parameter for random loss is determined (step S5).
In this step S5, the increasing function parameter determining means 163 determines W max , k that is a parameter of the first increasing function, according to the equation (5). Further, the increasing function parameter determining means 163 determines W diff , G, n, which are parameters of the second increasing function, according to the equation (6).
With the parameter of the second increase function, the CWND increase rate can be restarted and continuously increased in the second increase function.
With the above operation, the congestion control unit 16 performs CWND reduction processing when a packet loss is detected.

(ACK受信に伴うCWND増加処理)
一方、図7に示すように、パケット送信装置1は、送達確認応答受信手段14においてACKが受信されると(ステップS10)、輻輳制御手段16の輻輳ウインドウサイズ増加手段162によって、CWNDを増加させる(ステップS11)。
このステップS11では、輻輳ウインドウサイズ増加手段162は、式(4)に示すように、図6のステップS4またはステップS5で決定されたパラメータで特定される第1増加関数および第2増加関数で、CWNDを演算し、大きい方のCWNDを採用する。
(CWND increase processing associated with ACK reception)
On the other hand, as shown in FIG. 7, when the ACK is received by the delivery confirmation response receiving means 14 (step S10), the packet transmitting apparatus 1 increases the CWND by the congestion window size increasing means 162 of the congestion control means 16 (Step S11).
In this step S11, the congestion window size increasing means 162 is a first increasing function and a second increasing function specified by the parameters determined in step S4 or step S5 in FIG. CWND is calculated and the larger CWND is adopted.

図6および図7で説明したように、パケット送信装置1は、輻輳制御手段16によって、逐次、CWNDの増減制御を行う。そして、このように制御されたCWNDに基づいて、フロー制御手段12が、パケットのウインドウ制御方式に基づくフロー制御を行う。   As described with reference to FIGS. 6 and 7, the packet transmission device 1 performs the increase / decrease control of the CWND sequentially by the congestion control means 16. Then, based on the CWND controlled in this way, the flow control means 12 performs flow control based on the packet window control method.

以上、本発明の実施形態に係るパケット送信装置1の構成および動作について説明したが、本発明はこの実施形態に限定されるものではない。
例えば、ここでは、輻輳ウインドウサイズ削減手段160は、式(1)により、「CWNDloss*(1−β)」または「CWNDloss*RTTmin/RTTnow」の大きい方を、新たなCWNDとしたが、「CWNDloss*RTTmin/RTTnow」のみを用いて、新たなCWNDを求めることとしてもよい。
少なくとも、輻輳ウインドウサイズ削減手段160は、RTTの増加比の逆比に応じて削減したCWNDを採用することで、ネットワークの空きの発生を抑え、ネットワークを有効に利用することが可能になる。
The configuration and operation of the packet transmission device 1 according to the embodiment of the present invention have been described above, but the present invention is not limited to this embodiment.
For example, here, the congestion window size reducing unit 160 sets the larger one of “CWND loss * (1-β)” or “CWND loss * RTT min / RTT now ” as a new CWND according to the equation (1). However, a new CWND may be obtained using only “CWND loss * RTT min / RTT now ”.
At least, the congestion window size reduction means 160 employs CWND reduced in accordance with the inverse ratio of the increase rate of RTT, thereby suppressing the occurrence of network vacancy and making effective use of the network.

また、ここでは、輻輳ウインドウサイズ増加手段162は、式(4)により、第1増加関数「C*(t−k)+Wmax」と、第2増加関数「C*(t−n+G)+Wdiff」とで、演算結果が大きい方のCWNDを新たなCWNDとしたが、第1増加関数を用いずに、第2増加関数の演算結果のみを用いて新たなCWNDとしてもよい。
少なくとも、輻輳ウインドウサイズ増加手段162は、第2増加関数のみを用いることで、例えば、図5に示した増加関数の変曲点の前でパケットロスが発生した場合、従来のCUBICに比べてCWNDの増加は減少するが、その差は僅少である。それに比べ、図4に示した高速にCWNDが増加していく途中でパケットロスが発生した場合、パケットロス時点の増加速度を保って、高速にCWNDを増加させることができる。これによって、従来のCUBICに比べてCWNDを高速に増加させることができる。
Further, here, the congestion window size increasing unit 162 uses the expression (4) to calculate the first increase function “C * (t−k) 3 + W max ” and the second increase function “C * (t−n + G) 3. The CWND having the larger calculation result with “+ W diff ” is set as a new CWND. However, the new CWND may be set using only the calculation result of the second increase function without using the first increase function.
At least, the congestion window size increasing means 162 uses only the second increasing function. For example, when a packet loss occurs before the inflection point of the increasing function shown in FIG. 5, the CWND is compared with the conventional CUBIC. The increase will decrease, but the difference is small. In contrast, when a packet loss occurs while CWND increases at a high speed as shown in FIG. 4, the CWND can be increased at a high speed while maintaining the increasing speed at the time of packet loss. As a result, the CWND can be increased at a higher speed than the conventional CUBIC.

以上、本発明の実施形態や変形例に係るパケット送信装置1について説明したが、パケット送信装置1が送信するパケットデータを受信するパケット受信装置2については、一般的な装置を用いることができる。   The packet transmission device 1 according to the embodiment and the modification of the present invention has been described above. However, a general device can be used as the packet reception device 2 that receives packet data transmitted by the packet transmission device 1.

〔パケット受信装置〕
ここで、図8を参照して、パケット送信装置1が送信するパケットデータを受信する一般的なパケット受信装置2について簡単に説明しておく。
パケット受信装置2は、データ受信手段20と、データバッファ(一時記憶手段)21と、データ出力手段22と、フロー制御手段23と、送達確認応答送信手段24と、を備える。
[Packet receiving device]
Here, with reference to FIG. 8, a general packet receiver 2 that receives packet data transmitted by the packet transmitter 1 will be briefly described.
The packet receiving device 2 includes a data receiving unit 20, a data buffer (temporary storage unit) 21, a data output unit 22, a flow control unit 23, and a delivery confirmation response transmission unit 24.

データ受信手段20は、通信回線を介して、パケット送信装置1から送信されるパケットデータを受信するものである。このデータ受信手段20は、受信したパケットを逐次データバッファ21に書き込むとともに、フロー制御手段23に対して、パケットを受信した旨の通知を行う。   The data receiving unit 20 receives packet data transmitted from the packet transmission device 1 via a communication line. The data receiving means 20 sequentially writes the received packets in the data buffer 21 and notifies the flow control means 23 that the packets have been received.

データバッファ(一時記憶手段)21は、データ受信手段20を介して受信されたパケットデータを一時的に記憶しておくもので、例えば、半導体メモリ等の記憶媒体である。このデータバッファ21に記憶されたパケットデータは、データ出力手段22によって読み出され、データバッファ21は、FIFOとして機能する。   The data buffer (temporary storage means) 21 temporarily stores packet data received via the data receiving means 20, and is a storage medium such as a semiconductor memory. The packet data stored in the data buffer 21 is read by the data output means 22, and the data buffer 21 functions as a FIFO.

データ出力手段22は、データバッファ21に記憶されているパケットを、順次読み出して外部に出力するものである。なお、データ出力手段22は、パケットを読み出した旨をフロー制御手段23に通知する。   The data output means 22 sequentially reads out the packets stored in the data buffer 21 and outputs them to the outside. The data output means 22 notifies the flow control means 23 that the packet has been read.

フロー制御手段23は、パケット送信装置1との間でフロー制御を行うものである。
このフロー制御手段23は、データバッファ21の容量で予め定めた最大パケット数(受信ウインドウサイズ)を管理し、データバッファ21に記憶されるパケット数が、受信ウインドウサイズを超過しないように、フロー制御を行う。なお、データバッファ21に記憶されるパケット数は、データ受信手段20で受信されたパケットと、データ出力手段22で出力されるパケットの数で把握することができる。
ここで、フロー制御手段23は、データ受信手段20が受信したパケットに対して、受信した旨と、次に受信すべきパケットを特定する情報を含んだ送達確認応答(ACK)を送達確認応答送信手段24に出力する。
The flow control unit 23 performs flow control with the packet transmission device 1.
The flow control means 23 manages the maximum number of packets (reception window size) determined in advance by the capacity of the data buffer 21, and performs flow control so that the number of packets stored in the data buffer 21 does not exceed the reception window size. I do. Note that the number of packets stored in the data buffer 21 can be grasped by the number of packets received by the data receiving unit 20 and the number of packets output by the data output unit 22.
Here, for the packet received by the data receiving unit 20, the flow control unit 23 transmits a delivery confirmation response (ACK) including information indicating that the packet has been received and information specifying the next packet to be received. Output to means 24.

送達確認応答送信手段24は、フロー制御手段23から出力される送達確認応答(ACK)を、通信回線を介して、パケット送信装置1に送信するものである。
パケット送信装置1は、以上説明したように、一般的なパケット受信装置2に対して、パケットを送信する場合であっても、ネットワーク上の空きの発生を抑えることができ、帯域が狭くても、効率よくネットワークを使用することができる。また、ランダムロスが多発するようなネットワークであっても、高速にCWNDを増加させることができ、ネットワークを有効に使用することができる。
The delivery confirmation response transmission unit 24 transmits the delivery confirmation response (ACK) output from the flow control unit 23 to the packet transmission device 1 via the communication line.
As described above, the packet transmission device 1 can suppress the occurrence of vacancy on the network even when transmitting a packet to a general packet reception device 2, even if the bandwidth is narrow. , Can use the network efficiently. Further, even in a network where random loss frequently occurs, CWND can be increased at high speed, and the network can be used effectively.

1 パケット送信装置
10 データ入力手段
11 データバッファ(一時記憶手段)
12 フロー制御手段
13 データ送信手段
14 送達確認応答受信手段
15 往復遅延時間計測手段
16 輻輳制御手段
160 輻輳ウインドウサイズ削減手段
161 パケットロス原因判定手段
162 輻輳ウインドウサイズ増加手段
163 増加関数パラメータ決定手段
1 Packet transmission device 10 Data input means 11 Data buffer (temporary storage means)
DESCRIPTION OF SYMBOLS 12 Flow control means 13 Data transmission means 14 Delivery confirmation response reception means 15 Round-trip delay time measurement means 16 Congestion control means 160 Congestion window size reduction means 161 Packet loss cause determination means 162 Congestion window size increase means 163 Increase function parameter determination means

Claims (2)

送達確認応答なしに送信可能なパケット数を示す輻輳ウインドウサイズを予め定めた増加関数によって増加させ、パケットロスが発生したときに前記輻輳ウインドウサイズを削減するウインドウ制御方式によってパケットを送信するパケット送信装置において、
前記パケットの往復遅延時間を計測する往復遅延時間計測手段と、
前記パケットロスが発生したときに、予め定めた割合で前記輻輳ウインドウサイズを削減したサイズと、当該パケットロス発生時の往復遅延時間に対する往復遅延時間の最小時間の割合を前記輻輳ウインドウサイズに乗算したサイズのうちで、大きい方のサイズを新たな輻輳ウインドウサイズとする輻輳ウインドウサイズ削減手段と、
前記往復遅延時間の増加量が予め定めた基準よりも大きい場合に、前記パケットロスがネットワークの輻輳によって発生した輻輳ロスであると判定し、それ以外の場合に、前記パケットロスがランダムに発生するランダムロスであると判定するパケットロス原因判定手段と、
前記パケットロスが発生したときに、前記輻輳ウインドウサイズを演算する増加関数として、第1増加関数および第2増加関数のそれぞれのパラメータを決定する増加関数パラメータ決定手段と、
送達確認応答を受信するたびに、前記第1増加関数および前記第2増加関数により演算される輻輳ウインドウサイズのうちで、大きい方のサイズを新たな輻輳ウインドウサイズとする輻輳ウインドウサイズ増加手段と、を備え
前記増加関数パラメータ決定手段は、
前記輻輳ウインドウサイズの増加速度を初期化した関数として前記第1増加関数のパラメータを決定するとともに、
前記パケットロスが輻輳ロスの場合に、前記第1増加関数と同じ関数となるように前記第2増加関数のパラメータを決定し、前記パケットロスがランダムロスの場合に、前記輻輳ウインドウサイズの増加速度が前記パケットロス発生時から継続して増加する関数として前記第2増加関数のパラメータを決定することを特徴とするパケット送信装置。
A packet transmission device that increases a congestion window size indicating the number of packets that can be transmitted without a delivery confirmation response by a predetermined increase function, and transmits a packet by a window control method that reduces the congestion window size when a packet loss occurs In
Round-trip delay time measuring means for measuring round-trip delay time of the packet;
When the packet loss occurs, the congestion window size is multiplied by a size obtained by reducing the congestion window size at a predetermined rate and a ratio of a minimum round-trip delay time to a round-trip delay time at the time of the packet loss occurrence. Congestion window size reduction means that uses a larger one of the sizes as a new congestion window size,
When the increase amount of the round trip delay time is larger than a predetermined reference, it is determined that the packet loss is a congestion loss caused by network congestion, and in other cases, the packet loss occurs randomly. A packet loss cause determination means for determining a random loss;
An increase function parameter determining means for determining respective parameters of the first increase function and the second increase function as an increase function for calculating the congestion window size when the packet loss occurs;
Each time it receives the acknowledgment, among the congestion window size is calculated by the first increasing function and the second increasing function, and the congestion window size increasing means to larger sizes of new congestion window size, equipped with a,
The increasing function parameter determining means includes
Determining a parameter of the first increase function as a function of initializing the increase rate of the congestion window size;
When the packet loss is a congestion loss, the parameter of the second increase function is determined so as to be the same function as the first increase function, and when the packet loss is a random loss, the increase rate of the congestion window size Determining a parameter of the second increasing function as a function that continuously increases from the time of occurrence of the packet loss .
送達確認応答なしに送信可能なパケット数を示す輻輳ウインドウサイズを予め定めた増加関数によって増加させ、パケットロスが発生したときに前記輻輳ウインドウサイズを削減するウインドウ制御方式によってパケットを送信するために、パケット送信装置のコンピュータを、
パケットのデータを入力してデータバッファに記憶するデータ入力手段、
前記データバッファに記憶されたパケットのデータを読み出し、通信回線を介して、送信するデータ送信手段、
送信したパケットに対する送達確認応答を受信する送達応答確認受信手段、
前記輻輳ウインドウサイズに基づいて、送信するパケットのデータ量を制御するフロー制御手段、
前記パケットの往復遅延時間を計測する往復遅延時間計測手段、
前記パケットロスが発生したときに、予め定めた割合で前記輻輳ウインドウサイズを削減したサイズと、当該パケットロス発生時の往復遅延時間に対する往復遅延時間の最小時間の割合を前記輻輳ウインドウサイズに乗算したサイズのうちで、大きい方のサイズを新たな輻輳ウインドウサイズとする輻輳ウインドウサイズ削減手段、
前記往復遅延時間の増加量が予め定めた基準よりも大きい場合に、前記パケットロスがネットワークの輻輳によって発生した輻輳ロスであると判定し、それ以外の場合に、前記パケットロスがランダムに発生するランダムロスであると判定するパケットロス原因判定手段、
前記パケットロスが発生したときに、前記輻輳ウインドウサイズを演算する増加関数として、第1増加関数および第2増加関数のそれぞれのパラメータを決定する増加関数パラメータ決定手段、
送達確認応答を受信するたびに、前記第1増加関数および前記第2増加関数により演算される輻輳ウインドウサイズのうちで、大きい方のサイズを新たな輻輳ウインドウサイズとする輻輳ウインドウサイズ増加手段、として機能させ
前記増加関数パラメータ決定手段は、
前記輻輳ウインドウサイズの増加速度を初期化した関数として前記第1増加関数のパラメータを決定するとともに、
前記パケットロスが輻輳ロスの場合に、前記第1増加関数と同じ関数となるように前記第2増加関数のパラメータを決定し、前記パケットロスがランダムロスの場合に、前記輻輳ウインドウサイズの増加速度が前記パケットロス発生時から継続して増加する関数として前記第2増加関数のパラメータを決定することを特徴とするパケット送信プログラム。
In order to increase the congestion window size indicating the number of packets that can be transmitted without a delivery confirmation response by a predetermined increase function, and to transmit a packet by a window control method that reduces the congestion window size when a packet loss occurs, The packet transmission device computer
Data input means for inputting packet data and storing it in a data buffer;
Data transmission means for reading out the packet data stored in the data buffer and transmitting the data via a communication line;
A delivery response confirmation receiving means for receiving a delivery confirmation response to the transmitted packet;
Flow control means for controlling the data amount of packets to be transmitted based on the congestion window size;
Round-trip delay time measuring means for measuring round-trip delay time of the packet;
When the packet loss occurs, the congestion window size is multiplied by a size obtained by reducing the congestion window size at a predetermined rate and a ratio of a minimum round-trip delay time to a round-trip delay time at the time of the packet loss occurrence. Congestion window size reduction means that uses the larger one of the sizes as a new congestion window size,
When the increase amount of the round trip delay time is larger than a predetermined reference, it is determined that the packet loss is a congestion loss caused by network congestion, and in other cases, the packet loss occurs randomly. A packet loss cause determination means for determining a random loss;
An increasing function parameter determining means for determining respective parameters of the first increasing function and the second increasing function as increasing functions for calculating the congestion window size when the packet loss occurs;
Each time it receives the acknowledgment, the among the congestion window size is computed by first increasing function and the second increasing function, the congestion window size increasing means to larger sizes of new congestion window size, as to function,
The increasing function parameter determining means includes
Determining a parameter of the first increase function as a function of initializing the increase rate of the congestion window size;
When the packet loss is a congestion loss, the parameter of the second increase function is determined so as to be the same function as the first increase function, and when the packet loss is a random loss, the increase rate of the congestion window size Determining a parameter of the second increasing function as a function that continuously increases from the time of occurrence of the packet loss .
JP2012240283A 2012-10-31 2012-10-31 Packet transmission apparatus and program thereof Expired - Fee Related JP6101046B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012240283A JP6101046B2 (en) 2012-10-31 2012-10-31 Packet transmission apparatus and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012240283A JP6101046B2 (en) 2012-10-31 2012-10-31 Packet transmission apparatus and program thereof

Publications (2)

Publication Number Publication Date
JP2014090367A JP2014090367A (en) 2014-05-15
JP6101046B2 true JP6101046B2 (en) 2017-03-22

Family

ID=50791942

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012240283A Expired - Fee Related JP6101046B2 (en) 2012-10-31 2012-10-31 Packet transmission apparatus and program thereof

Country Status (1)

Country Link
JP (1) JP6101046B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017038297A (en) 2015-08-12 2017-02-16 キヤノン株式会社 Communication device, communication method and communication system
JP6727107B2 (en) * 2016-08-17 2020-07-22 日本電信電話株式会社 Packet communication system, congestion control method therefor, and congestion control program
JP2021061454A (en) * 2017-12-21 2021-04-15 日本電気株式会社 Information processing device
CN113708985B (en) 2020-05-20 2023-01-06 华为技术有限公司 Flow detection method, device and system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4599554B2 (en) * 2004-12-15 2010-12-15 広島市 TCP congestion control method for broadband, high-delay wireless networks
JP4147534B2 (en) * 2005-02-03 2008-09-10 日本電気株式会社 Communication apparatus and communication method
JP4654926B2 (en) * 2006-02-01 2011-03-23 日本電気株式会社 COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND CONgestion Control Method Used In Them
JP5652388B2 (en) * 2009-03-06 2015-01-14 日本電気株式会社 COMMUNICATION RATE CONTROL METHOD, TRANSMITTER, AND COMMUNICATION SYSTEM

Also Published As

Publication number Publication date
JP2014090367A (en) 2014-05-15

Similar Documents

Publication Publication Date Title
US11876714B2 (en) Method and apparatus for network congestion control based on transmission rate gradients
Bensley et al. Data center TCP (DCTCP): TCP congestion control for data centers
US9883013B2 (en) Receive window auto-tuning
JP5258938B2 (en) Communication device
JP4778453B2 (en) Communication terminal, congestion control method, and congestion control program
US20070223395A1 (en) Methods and apparatus for optimizing a TCP session for a wireless network
US20070121511A1 (en) Transmission control protocol (TCP) congestion control using transmission delay components
JP5625748B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, PROGRAM, AND COMMUNICATION METHOD
WO2011137773A1 (en) Network packet loss processing method and apparatus
US20070223529A1 (en) Methods and apparatus for estimating bandwidth of a data network
US20060227708A1 (en) Compound transmission control protocol
JP6101046B2 (en) Packet transmission apparatus and program thereof
JP4831366B2 (en) Communication system, communication terminal, relay node, communication method used therefor, and program thereof
US8279756B2 (en) Communication terminal, communication control method, and communication control program
JP6173826B2 (en) Packet transmission apparatus and program thereof
JP4435817B2 (en) Communication terminal, communication control method, and communication control program
JP6613742B2 (en) Data communication control method for performing highly reliable communication on LFN transmission line with load fluctuation and packet transmission loss
JP5308364B2 (en) Transmission device, transmission method, and program
US9130843B2 (en) Method and apparatus for improving HTTP adaptive streaming performance using TCP modifications at content source
Bensley et al. RFC 8257: Data center TCP (DCTCP): TCP congestion control for data centers
JP2007013823A (en) Congestion control method and its communication terminal
KR101240312B1 (en) Methods and apparatus for optimizing a tcp session for a wireless network
JP6280680B2 (en) Packet transmission apparatus, communication terminal and slow start control method in packet communication
KR102131427B1 (en) Method and apparatus for performing a congestion control in stream control transmission protocol
JP2005244517A (en) Unit, method, and program for data transmission control

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140328

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150901

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160712

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160902

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: 20170131

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170224

R150 Certificate of patent or registration of utility model

Ref document number: 6101046

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees