JP5661306B2 - Congestion control device and congestion control method - Google Patents
Congestion control device and congestion control method Download PDFInfo
- Publication number
- JP5661306B2 JP5661306B2 JP2010057783A JP2010057783A JP5661306B2 JP 5661306 B2 JP5661306 B2 JP 5661306B2 JP 2010057783 A JP2010057783 A JP 2010057783A JP 2010057783 A JP2010057783 A JP 2010057783A JP 5661306 B2 JP5661306 B2 JP 5661306B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- node
- buffer capacity
- upstream
- upstream node
- 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
Links
- 238000000034 method Methods 0.000 title claims description 17
- 238000011144 upstream manufacturing Methods 0.000 claims description 90
- 238000004891 communication Methods 0.000 claims description 21
- 238000001514 detection method Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、輻輳制御装置、及び輻輳制御方法に関し、さらに詳しくは、ノードのバッファ容量が超過した場合に、当該ノードのパケットを上流側ノードへ返送して当該ノードの輻輳を低減する輻輳制御装置、及び輻輳制御方法に関するものである。 The present invention relates to a congestion control device and a congestion control method, and more specifically, when a buffer capacity of a node is exceeded, a congestion control device that returns a packet of the node to an upstream node to reduce congestion of the node. And a congestion control method.
近年、低コストのTCP/IPに基づく汎用通信機器は、インターネットのみならず、企業内の閉域ネットワークへも適用が進んでいる。そして、ネットワークに様々なアプリケーションが取り込まれるに従い、輻輳防止のための対策はますます重要となってきている。
輻輳防止のための基本的な対策は、輻輳を発生させないように、ネットワーク設備の増強を行うことであるが、経済的な理由から増強の時期を遅らせざるを得ない場合、あるいは冗長化・負担分散化された通信経路で障害が発生した場合等には、トラフィックの集中するノードで輻輳が発生する可能性が高い。このため、輻輳の発生時においても、効率的に輻輳制御を行えるような対策を行う必要がある。
In recent years, general-purpose communication devices based on low-cost TCP / IP have been applied not only to the Internet but also to closed networks in companies. And, as various applications are taken into the network, measures for preventing congestion are becoming more and more important.
The basic measure to prevent congestion is to increase network equipment so that congestion does not occur. However, if it is unavoidable to delay the increase for economic reasons, or redundancy / burden is required. When a failure occurs in a distributed communication path, there is a high possibility that congestion will occur at a node where traffic is concentrated. For this reason, it is necessary to take measures to efficiently perform congestion control even when congestion occurs.
そこで、大部分のアプリケーションで転送用プロトコルとして用いられているTCPは、設備容量内にトラフィックを抑制するために、通信速度を抑制する輻輳制御の機能を備えている。即ち、通信経路内のノードにおいて輻輳が発生してパケットが廃棄された場合、送信元のTCPがそれを検出し、一度に送信できるパケット数を決めるウィンドウサイズを減少させることにより、ネットワークへのパケット送出速度を抑制して輻輳を解消するものである。
輻輳を解消する従来技術として特許文献1には、ノードのバッファが輻輳により所定の閾値を超えた時点で、共通の外部バッファへパケットを転送し、一時的に保持して、輻輳が収まった時点でノードのバッファへパケットを戻す技術について開示されている。また、特許文献2には、ノードのバッファが輻輳により、所定の閾値を越えた時点で、複数のノードに対して速度を下げる制御信号を送信し、それを受けたノードが速度を下げ、余剰パケットを一時的に保持することで輻輳を解消する方式について開示されている。また、特許文献3には、ノードのバッファが所定の閾値を超えた時点で、同じノード内における別のポート用のバッファへパケットを転送し、一時的に保管する方式について開示されている。
Therefore, TCP, which is used as a transfer protocol in most applications, has a congestion control function that suppresses the communication speed in order to suppress traffic within the equipment capacity. That is, when congestion occurs in a node in the communication path and a packet is discarded, the TCP of the transmission source detects it and reduces the window size that determines the number of packets that can be transmitted at one time, thereby reducing the packet to the network. It suppresses the transmission speed and eliminates congestion.
As a conventional technique for resolving congestion,
しかし、TCPの輻輳制御にも課題がある。その一つが、パケットが廃棄された場合に、廃棄されたパケット以降の全てのパケットを送信元から再送するため、伝送効率が低下してしまう点である。この課題に対する従来の取組みとして、Split−TCP(RFC2757)がある。これは、通信経路内のある特定のノード(TCPプロキシと呼ばれる)において、TCPコネクションをはりなおすという方式である。即ち、TCPプロキシからみて送信元へは疑似的な確認応答パケットを返すとともに、TCPプロキシで受信パケットをバッファリングし、送信先へ送信する。このとき、パケットをコピーしておく必要がある。そして、TCPプロキシより先の通信経路でパケットの廃棄が発生した場合は、送信元ではなく、TCPプロキシからコピーしておいたパケットを再送する。これにより、TCPコネクションのフィードバック・ループが小さくなり、伝送効率が向上するという効果が得られる。しかし、Split−TCPは、固定的にTCPプロキシを配置するため、効果が得られる最適な配置位置を選定する必要がある。また、パケットの廃棄が発生しなくても、常にTCPプロキシでパケットをコピーしておく必要があり、そのためのリソースを必要とするといった課題がある。 However, there is a problem in TCP congestion control. One of them is that when a packet is discarded, all the packets after the discarded packet are retransmitted from the transmission source, so that the transmission efficiency is lowered. As a conventional approach to this problem, there is Split-TCP (RFC2757). This is a method in which a TCP connection is reestablished at a specific node (called TCP proxy) in a communication path. That is, a pseudo confirmation response packet is returned to the transmission source as seen from the TCP proxy, and the reception packet is buffered by the TCP proxy and transmitted to the transmission destination. At this time, it is necessary to copy the packet. When the packet is discarded on the communication path ahead of the TCP proxy, the packet copied from the TCP proxy is retransmitted instead of the transmission source. As a result, the feedback loop of the TCP connection is reduced, and the transmission efficiency is improved. However, since Split-TCP places TCP proxies in a fixed manner, it is necessary to select an optimum placement position where an effect can be obtained. Further, there is a problem that even if the packet is not discarded, it is necessary to always copy the packet with the TCP proxy, and resources for that purpose are required.
また、特許文献1に開示されている従来技術は、共通の外部バッファを必要とするため、TCPプロキシと同様に、最適な配置位置を選定しなければならないといった課題がある。
また、特許文献2に開示されている従来技術は、輻輳発生中のノードが速度を下げる制御信号を送信し、これを受信したノードが速度制御を行ない、その結果として、輻輳発生中のノードの輻輳が解消されるというフィードバック制御であるため、トラフィック状況に応じた最適なバッファの閾値や速度制御の設定が難しく、最適な設定でない場合、制御遅延の影響でパケット廃棄に到るといった問題が発生する。
本発明は、かかる課題に鑑みてなされたものであり、通信経路中の任意のノードにおいて輻輳が発生し、届いたパケットの量がノードのバッファ容量を超過した場合、バッファ容量を超過したパケットを廃棄せず、そのノードからみて上流側のノードへ返送するためのバッファへ入れ直す処理を行い、上流側のノードへパケットを返送することにより、一般的なIP通信ネットワークの輻輳に対する安定性を向上させることができる輻輳制御装置及び輻輳制御方法を提供することを目的とする。
Further, since the conventional technique disclosed in
Further, in the prior art disclosed in Patent Document 2, a node in which congestion is occurring transmits a control signal for reducing the speed, and the node that receives the signal performs speed control. As a result, the node in which congestion is occurring Since feedback control is used to eliminate congestion, it is difficult to set the optimal buffer threshold and speed control according to the traffic situation. If this is not the optimal setting, there will be a problem of packet discard due to the control delay. To do.
The present invention has been made in view of such a problem. When congestion occurs in an arbitrary node in a communication path and the amount of received packets exceeds the buffer capacity of the node, packets exceeding the buffer capacity are processed. Improve the stability of congestion in a general IP communication network by performing processing to re-enter the buffer for returning to the upstream node as seen from that node, and returning the packet to the upstream node without discarding An object of the present invention is to provide a congestion control device and a congestion control method that can be used.
本発明はかかる課題を解決するために、請求項1は、輻輳が発生した特定ノードに備えられ、当該特定ノードよりもネットワーク上の上流に配置された上流側ノードにパケットを返送する輻輳制御装置であって、前記特定ノードのバッファ容量が超過したことを検知するバッファ容量検知手段と、前記バッファ容量検知手段によりバッファ容量が超過したことを検知した際に、返送すべきパケットを選択するパケット選択手段と、前記パケット選択手段により選択されたパケットを前記上流側ノードに返送するパケット返送手段と、前記上流側ノードから再送された再送パケットをフロー単位で前記特定ノードに再受信する再受信手段と、前記各手段を制御する制御手段と、を備え、前記制御手段は、前記上流側ノードにおいてバッファ容量に余裕がない場合には、前記上流側ノードよりも更に前記ネットワーク上の上流に配置された他の上流側ノードへ前記返送すべきパケットをフロー単位で分割して返送することを特徴とする。
上流側のノードにおいて、バッファ容量に余裕がない場合は、さらに上流側のノードへフロー単位で分割して返送する。なお、通信経路が分岐していて複数の上流側ノードがある場合も同様に、フロー単位で分割して返送する。これにより、複数のノードのバッファ空き容量を活用することができる。
For the present invention to solve the above problems, according to
If there is no room in the buffer capacity in the upstream node, it is further divided and returned to the upstream node in units of flows. Similarly, when the communication path is branched and there are a plurality of upstream nodes, it is divided and returned in units of flow. Thereby, the buffer free capacity of a plurality of nodes can be utilized.
請求項2は、前記制御手段は、前記バッファ容量を超過したパケットを前記上流側のノードへ返送する場合、送信側と受信側を1対1で関連付けている通信コネクションを指すフロー単位で返送することを特徴とする。
バッファ容量を超過したパケットを上流側のノードへ返送するにあたっては、フロー単位で返送することが好ましい。即ち、バッファに届くパケットがフローA、B、C、Dのパケットであったとする。そして、フローA、Bのパケットがバッファ容量を超過した場合、このパケットを上流側のノードへ返送するとともに、それ以降、フローA、Bのパケットについては、全ての到達パケットを返送する。このようにすれば、フローA、Bがバッファ内に入っていかないため、輻輳が緩和され、残りのフローC、Dがバッファを通過できるようになる。これにより、上流側のノードから再送出を行った後、最終的にパケットが届く送信先において、パケットの到着順が入れ替わらないようにすることができる。
According to a second aspect of the present invention, when the control unit returns a packet exceeding the buffer capacity to the upstream node, the control unit returns the packet in a flow unit indicating a communication connection in which the transmission side and the reception side are associated one-to-one. It is characterized by that.
When returning a packet exceeding the buffer capacity to the upstream node, it is preferable to return the packet in units of flows. That is, it is assumed that packets that reach the buffer are packets of flows A, B, C, and D. When the packets of the flows A and B exceed the buffer capacity, the packets are returned to the upstream node, and thereafter, all the arrival packets are returned for the packets of the flows A and B. In this way, since the flows A and B do not enter the buffer, congestion is alleviated and the remaining flows C and D can pass through the buffer. As a result, it is possible to prevent the packet arrival order from being changed at the destination to which the packet finally arrives after re-transmission from the upstream node .
請求項3は、バッファ容量検知手段、パケット選択手段、パケット返送手段、再受信手段、及び制御手段を備え、輻輳が発生した特定ノードに備えられ、当該特定ノードよりもネットワーク上の上流に配置された上流側ノードにパケットを返送する輻輳制御装置の輻輳制御方法であって、前記バッファ容量検知手段が、ノードのバッファ容量が超過したことを検知するステップと、前記パケット選択手段が、前記バッファ容量検知手段によりバッファ容量が超過したことを検知した際に、返送すべきパケットを選択するステップと、前記パケット返送手段が、前記パケット選択手段により選択されたパケットを前記上流側ノードに返送するステップと、前記再受信手段が、前記上流側ノードから再送された再送パケットをフロー単位で前記特定ノードに受信するステップと、前記制御手段が、前記各手段を制御するステップと、を備え、前記制御するステップは、前記上流側ノードにおいてバッファ容量に余裕がない場合には、前記上流側ノードよりも更に前記ネットワーク上の上流に配置された他の上流側ノードへ前記返送すべきパケットをフロー単位で分割して返送することを特徴とする。
請求項1と同様の作用効果を奏する。
A third aspect of the present invention includes a buffer capacity detection unit, a packet selection unit, a packet return unit, a re- reception unit, and a control unit, and is provided in a specific node where congestion has occurred and is arranged upstream of the specific node on the network. A congestion control method of a congestion control apparatus for returning a packet to an upstream node , wherein the buffer capacity detecting means detects that the buffer capacity of the node has been exceeded, and the packet selecting means includes the buffer capacity when it is detected that the buffer capacity is exceeded by the detection means, and selecting to be sent back packet, the packet return means, and sending back a packet selected by the packet selecting means to the upstream node the re-reception means, said Japanese a retransmission packet is retransmitted from said upstream node per flow Receiving a node, the control means, and a step of controlling the respective means, wherein the step of controlling, when there is no room in the buffer capacity at the upstream node from the upstream node Further, the present invention is characterized in that the packet to be returned is divided and returned in units of flow to another upstream node arranged upstream on the network .
There exists an effect similar to
本発明によれば、バッファ容量を超過したパケットを廃棄せず、そのノードからみて上流側のノードへ返送するためのバッファへ入れ直す処理を行い、上流側のノードへ返送する。また、保持時間が一定の時間を超えると、送信元のTCPは、タイムアウトとしてパケットを再送するので、パケットを保持している意味が無くなってしまう。このため、再送時間を設定する再送時間設定手段が必要となる。これにより、通信経路中の任意のノードにおいて輻輳が発生し、届いたパケットの量がノードのバッファ容量を超過した場合でも、バッファ容量を超過したパケットを廃棄せずに輻輳を解消することができる。
また、バッファ容量を超過したパケットを上流側のノードへ返送するにあたっては、フロー単位で返送するので、上流側のノードから再送出を行った後、最終的にパケットが届く送信先において、パケットの到着順が入れ替わらないようにすることができる。
また、上流側のノードにおいて、バッファ容量に余裕がない場合は、さらに上流側のノードへフロー単位で分割して返送するので、複数のノードのバッファ空き容量を活用することができる。
また、再送時間設定手段により設定する再送時間を、フローごとにずらせて設定するように制御するので、各ノードでのトラフィックを一挙に増加することを防止することができる。
According to the present invention, a packet exceeding the buffer capacity is not discarded, but the process of re-entering the buffer for returning to the upstream node as viewed from the node is performed, and the packet is returned to the upstream node. Also, if the holding time exceeds a certain time, the source TCP retransmits the packet as a timeout, so the meaning of holding the packet is lost. For this reason, a retransmission time setting means for setting the retransmission time is required. As a result, even when congestion occurs in any node in the communication path and the amount of packets that have reached exceeds the buffer capacity of the node, congestion can be eliminated without discarding packets that exceed the buffer capacity. .
In addition, when returning a packet that exceeds the buffer capacity to the upstream node, it is returned in units of flow, so after re-sending from the upstream node, the packet at the destination where the packet finally arrives It is possible to prevent the arrival order from being changed.
Further, when there is not enough buffer capacity in the upstream node, it is further divided and returned to the upstream node in units of flows, so that the buffer free capacity of a plurality of nodes can be utilized.
Further, since the retransmission time set by the retransmission time setting means is controlled so as to be shifted for each flow, it is possible to prevent traffic at each node from increasing at once.
以下、本発明を図に示した実施形態を用いて詳細に説明する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。 Hereinafter, the present invention will be described in detail with reference to embodiments shown in the drawings. However, the components, types, combinations, shapes, relative arrangements, and the like described in this embodiment are merely illustrative examples and not intended to limit the scope of the present invention only unless otherwise specified. .
図1は本発明の一実施形態に係る輻輳制御装置の機能を表すブロック図である。この輻輳制御装置50は、コアルータ4内に設置し、輻輳が発生した特定ノードの上流側ノードへのパケット返送による輻輳制御装置であって、特定ノードのバッファ容量が超過したことを検知するバッファ容量検知手段5と、バッファ容量検知手段5によりバッファ容量が超過したことを検知した際に、返送すべきパケットを選択するパケット選択手段7と、パケット選択手段7により選択されたパケットを上流側のノードに返送するパケット返送手段6と、上流側ノードに保持された返送パケットの再送時間を設定する再送時間設定手段9と、再送時間設定手段9により設定された時間に基づいて上流側ノードに保持された返送パケットを下流側ノードに再送する再送手段10と、各手段を制御する制御部(制御手段)8と、インターネットとの情報をやり取りするインターフェース11と、を備えて構成されている。また、インターネット3にはエッジルータ2が接続されている。
通信経路中の任意のノードにおいて輻輳が発生し、届いたパケットの量がノードのバッファ容量を超過した場合、従来は、そのノードでパケットが廃棄されていた。本実施形態では、バッファ容量を超過したパケットを廃棄せず、そのノードからみて上流側のノードへ返送するためのバッファへ入れ直す処理を行い、上流側のノードへ返送する。返送されたパケットは、上流側のノードで保持し、再び下流側のノードへ送出する。また、上流側のノードは、フロー単位で返送パケットを受け取り、そのままパケットを保持していれば、いずれ送信元から到達するパケットは無くなり、輻輳を回避できるものの、保持しているフローのスループットは一時的に大きく低下してしまう。さらには、保持時間が一定の時間を超えると、送信元のTCPは、タイムアウトとしてパケットを再送するので、パケットを保持している意味が無くなってしまう。このため、再送時間を設定する再送時間設定手段9が必要となる。これにより、通信経路中の任意のノードにおいて輻輳が発生し、届いたパケットの量がノードのバッファ容量を超過した場合でも、バッファ容量を超過したパケットを廃棄せずに輻輳を解消することができる。
FIG. 1 is a block diagram showing functions of a congestion control device according to an embodiment of the present invention. The
When congestion occurs in an arbitrary node in the communication path and the amount of received packets exceeds the buffer capacity of the node, conventionally, the packet is discarded at that node. In the present embodiment, a packet exceeding the buffer capacity is not discarded, but a process of re-entering the buffer for returning to the upstream node as viewed from the node is performed, and the packet is returned to the upstream node. The returned packet is held in the upstream node and sent again to the downstream node. In addition, if the upstream node receives the return packet in units of flow and holds the packet as it is, there will be no packet arriving from the source and congestion can be avoided. However, the throughput of the held flow is temporary. Will be greatly reduced. Furthermore, when the holding time exceeds a certain time, the transmission source TCP retransmits the packet as a timeout, so the meaning of holding the packet is lost. For this reason, the retransmission time setting means 9 for setting the retransmission time is required. As a result, even when congestion occurs in any node in the communication path and the amount of packets that have reached exceeds the buffer capacity of the node, congestion can be eliminated without discarding packets that exceed the buffer capacity. .
図2はネットワーク図の一例を示す図である。送信端1の回線を集約しているルータをエッジルータ2、それ以外をコアルータ4とする。エッジルータ2はネットワーク3中に複数存在する。エッジルータ2は、送信端1からパケットを受け取ると、すぐに確認応答(ACK)パケットを送信端1に返信する。一方、エッジルー2タが受け取ったパケットは、コアルータ4へ送られ、受信端へ到着すると、受信端から確認応答(ACK)パケットを受け取る。つまり、エッジルータ2でTCPコネクションが張りなおされる形となる。このとき、エッジルータ2から見て、送信端1側のネットワークはRTT(Round Trip Time)が小さいので通信速度は速く、逆にコアルータ側のネットワークは(特に輻輳時には)RTTが大きいので通信速度は遅い。そのため、この速度差によってエッジルータ2のバッファには自然にパケットが蓄積される。これは、送信端1が持っていた送信データがエッジルータ2のバッファに引っ張り出されるイメージとなる。このような原理上、バッファにパケットが蓄積されていても、通信遅延は発生していない。また、このバッファは、TCPコネクションで繋がったパケットを蓄積するものではないので、たとえ保持時間が長い場合でも、タイムアウトでTCPが切断されることはない。
FIG. 2 is a diagram illustrating an example of a network diagram. The router that aggregates the lines at the
図3は本発明の輻輳制御装置50のパケット返送動作を説明するフローチャートである。制御部8はバッファ容量検知手段5により、輻輳が発生して(S1でY)ノードのバッファ容量が超過したか否かを検証する(S2)。検証の結果、容量が超過していなければ、ステップS1に戻る。ステップS2で容量が超過したら(S2でY)、返送すべきパケットをパケット選択手段7により選択し、パケット返送手段6によりそのパケットを上流側のノードに返送する(S3)。返送した上流側のノードのバッファ容量に余裕があるか否かを検証し(S4)、余裕が無ければ、更に上流のノードに返送する(S6)。ステップS4で上流のノードのバッファに余裕があれば(S4でY)、全ての到達パケットの返送が終了した否かを検証し(S5)、終了するまで繰り返す。尚、ステップS1で輻輳が発生しなければ(S1でN)、そのパケットをバッファに通過させる(S7)。
FIG. 3 is a flowchart for explaining the packet return operation of the
図4は本発明の輻輳制御装置50のパケット再送動作を説明するフローチャートである。まず、再送を開始すると(S10)、上流のノードに保持した最初のパケットを再送する(S11)。次に、パケットをフローごとに再送するために、所定の時間ずらして(S12)、次のパケットを再送する(S13)。そして、全てのパケットの再送が終了するまでステップS12の間を繰り返す。
通信経路中の任意のノードにおいて輻輳が発生し、届いたパケットの量がノードのバッファ容量を超過した場合、従来は、そのノードでパケットが廃棄されるところ、提案手法では、バッファ容量を超過したパケットを廃棄せず、そのノードからみて上流側のノードへ返送するためのバッファへ入れ直す処理を行い、上流側のノードへ返送する。返送されたパケットは、上流側のノードで保持し、再び下流側のノードへ送出する。
バッファ容量を超過したパケットを上流側のノードへ返送するにあたっては、フロー単位で返送することとする。フローとは、送信側と受信側を1対1でつないでいる通信コネクションを指す。
FIG. 4 is a flowchart for explaining the packet retransmission operation of the
If congestion occurs at any node in the communication path and the amount of packets that arrived exceeds the buffer capacity of the node, the packet was discarded at that node. In the proposed method, the buffer capacity was exceeded. Instead of discarding the packet, the packet is returned to the upstream node as viewed from the node, and returned to the upstream node. The returned packet is held in the upstream node and sent again to the downstream node.
When a packet exceeding the buffer capacity is returned to the upstream node, it is returned in units of flow. A flow refers to a communication connection in which a transmission side and a reception side are connected one-to-one.
図5より、フロー単位での返送を具体的に説明する。図5(a)は上流側のノードに返送する動作を説明する図であり、図5(b)は上流側のノードから再送する動作を説明する図である。バッファに届くパケットがフローA、B、C、Dのパケットであったとする。そして、フローA、Bのパケットがノード21でバッファ容量を超過した場合、このパケットを上流側のノード20へ返送するとともに、それ以降、フローA、Bのパケットについては、全ての到達パケットを返送する。このようにすれば、フローA、Bがバッファ内に入っていかないため、輻輳が緩和され、残りのフローC、Dがノード21のバッファを通過できるようになる。これにより、フローA、B、C、Dのパケットが少しずつ返送されるのではなく、フローA、Bのパケットだけがノード20に返送されるようになる。
また、図5(b)のように、フロー単位でパケットを上流側のノードへ返送することで、上流側のノード20から再送出を行った後、最終的にパケットが届く送信先において、パケットの到着順が入れ替わらないようにできる(TCPは、パケットの到着順が途中で入れ替わった場合でも、送信先で並び替えることができるが、一定個数以上、順番が入れ替わった場合は、送信元はパケット消失と判断して再送を行ってしまう。このため、パケットの並び順を大きく変えないようにする必要がある)。上流側のノード20は輻輳が発生していないため、基本的にバッファの容量には空きがある。返送されたパケットを保持するための所要空き容量は、最大でも(返送されたフロー数)×(ウィンドウサイズ)となる(TCPの性質上、送信先は、パケットを受け取る度に送信元へ確認応答パケット(以下、ACKという)を返すが、ACKが届くまでに、送信元から一度に送信されてくるパケット数は、ウィンドウサイズ分だけである)。
The return in units of flows will be specifically described with reference to FIG. FIG. 5A is a diagram for explaining the operation of returning to the upstream node, and FIG. 5B is a diagram for explaining the operation of retransmission from the upstream node. Assume that packets reaching the buffer are packets of flows A, B, C, and D. When the packets of the flows A and B exceed the buffer capacity at the
Further, as shown in FIG. 5 (b), the packet is sent back to the upstream node by the flow unit, and after being retransmitted from the upstream node 20, the packet finally arrives at the transmission destination. (TCP can be rearranged at the destination even if the packet arrival order is changed in the middle, but if the order is changed more than a certain number, the source is (It is necessary to make sure that the order of the packets is not significantly changed.) Since the upstream node 20 is not congested, the buffer capacity is basically empty. The required free space for holding the returned packet is at most (number of returned flows) x (window size) (due to the nature of TCP, the transmission destination confirms the response to the transmission source every time a packet is received. Packets (hereinafter referred to as ACK) are returned, but the number of packets transmitted from the transmission source at a time by the time the ACK arrives is only the window size).
図6(a)は上流側のノードにおいて、バッファ容量に余裕がなく、さらに上流側のノードへフロー単位で分割して返送する動作を説明する図、図6(b)は上流側のノードから再送する動作を説明する図である。上流側のノードにおいて、バッファ容量に余裕がない場合は、さらに上流側のノードへフロー単位で分割して返送する。なお、通信経路が分岐していて複数の上流側ノード22〜25がある場合も同様に、フロー単位で分割して返送する。このような分割返送により、複数のノードのバッファ空き容量を活用することができる。例えば、輻輳が発生したノードにおいて、バッファ容量の20%分のパケットが容量超過になったとする。上流側のノードへパケットを返送し、4つのノード22〜25で分割して保持する場合、各ノードのバッファ容量の5%をパケット保持用として活用することになる(ノードは同一バッファ容量と仮定)。
FIG. 6 (a) is a diagram for explaining the operation of the upstream node having no buffer capacity, and further dividing the flow back to the upstream node in units of flows, and FIG. 6 (b) is a diagram from the upstream node. It is a figure explaining the operation | movement to resend. If there is no room in the buffer capacity in the upstream node, it is further divided and returned to the upstream node in units of flows. Similarly, when the communication path is branched and there are a plurality of
今、上流側のノードは、フロー単位で返送パケットを受け取り、保持しているとする。上流側のノードでそのままパケットを保持していれば、いずれ送信元から到達するパケットは無くなり、輻輳を回避できるものの、保持しているフローのスループットは一時的に大きく低下してしまう。さらには、保持時間が一定の時間を超えると、送信元のTCPは、タイムアウトとしてパケットを再送するので、パケットを保持している意味が無くなってしまう。このため、上流側のノードは、返送されてきたパケットをすぐに下流側のノードへ再送出する必要がある。ただし一方では、再送出によって再び輻輳が発生する危険性もあることから、例えば、再送出の開始時間をフロー毎にずらせる処理により、一挙にトラフィックが増えないようにすることが望ましい。また、上流側のノードで保持していたパケットの送信を終了した後は、送信元からパケット廃棄前と同一のウィンドウサイズでパケットが送信されてくるので、パケット廃棄前と同一の速度に戻ることとなる。これは、速度の復旧が早い反面、再び輻輳に陥る危険性が高い。そこで、次のウィンドウサイズ分のパケットについても一定の保持時間での保持を行い、保持時間を徐々に減少させつつ、これをウィンドウサイズで数回分繰り返し、徐々に速度を上げていく動作を行ってもよい。なお、送信側のTCPがRTT(Round Trip Time)の変化に応じて適宜ウィンドウサイズを調整する方式(TCP−Vegas等)である場合は、さらに効果的に速度が調整できる。上流側のノードは、パケットの通過経路であるため、このような処理を安定的に実行するのに好都合である。
なお、再送出パケットが下流側のノードにおいて、再びバッファから溢れた場合は、送信側のTCPがタイムアウトとして再送する可能性が高いので、そのまま廃棄することが望ましい。もしくは、再送出パケットについては、優先的にバッファを通過させ、再送出ではないパケットを上流側のノードへ返送してもよい。
Now, it is assumed that the upstream node receives and holds a return packet in units of flows. If the upstream node holds the packet as it is, there will be no packet that will eventually arrive from the transmission source, and congestion can be avoided, but the throughput of the held flow is temporarily greatly reduced. Furthermore, when the holding time exceeds a certain time, the transmission source TCP retransmits the packet as a timeout, so the meaning of holding the packet is lost. Therefore, the upstream node needs to immediately retransmit the returned packet to the downstream node. However, on the other hand, since there is a risk that congestion will occur again due to retransmission, it is desirable to prevent the traffic from increasing at once by, for example, processing for shifting the retransmission start time for each flow. In addition, after completing the transmission of the packet held in the upstream node, the packet is transmitted from the transmission source with the same window size as before the packet is discarded, so that it returns to the same speed as before the packet is discarded. It becomes. Although this speed recovery is quick, there is a high risk of falling into congestion again. Therefore, the packet for the next window size is also held for a certain holding time, and while holding time is gradually reduced, this is repeated several times with the window size, and the operation is performed to gradually increase the speed. Also good. Note that the speed can be adjusted more effectively when the TCP on the transmission side uses a method (such as TCP-Vegas) that adjusts the window size appropriately according to the change in RTT (Round Trip Time). Since the upstream node is a packet passage route, it is convenient to stably execute such processing.
Note that if the retransmitted packet overflows from the buffer again at the downstream node, it is highly possible that the TCP on the transmission side will retransmit as a timeout, so it is desirable to discard it as it is. Alternatively, a retransmitted packet may be preferentially passed through the buffer, and a packet that is not retransmitted may be returned to the upstream node.
1 送信端、2 エッジルータ、3 インターネット、4 コアルータ、5 バッファ容量検知手段、6 パケット返送手段、7 パケット選択手段、8 制御部、9 再送時間設定手段、10 再送手段、50 輻輳制御装置
DESCRIPTION OF
Claims (3)
前記特定ノードのバッファ容量が超過したことを検知するバッファ容量検知手段と、
前記バッファ容量検知手段によりバッファ容量が超過したことを検知した際に、返送すべきパケットを選択するパケット選択手段と、
前記パケット選択手段により選択されたパケットを前記上流側ノードに返送するパケット返送手段と、
前記上流側ノードから再送された再送パケットをフロー単位で前記特定ノードに再受信する再受信手段と、
前記各手段を制御する制御手段と、を備え、
前記制御手段は、前記上流側ノードにおいてバッファ容量に余裕がない場合には、前記上流側ノードよりも更に前記ネットワーク上の上流に配置された他の上流側ノードへ前記返送すべきパケットをフロー単位で分割して返送することを特徴とする輻輳制御装置。 Provided to a particular node congestion occurs, a congestion controller to return the packet to the arranged upstream node upstream on the network than the specific node,
Buffer capacity detecting means for detecting that the buffer capacity of the specific node has exceeded,
A packet selecting means for selecting a packet to be returned when the buffer capacity detecting means detects that the buffer capacity has been exceeded;
A packet returning means for returning the packet selected by the packet selecting means to the upstream node,
And re-receiving means for re-receiving the retransmission packet retransmitted from the upstream node to the specific node on a per-flow basis,
Control means for controlling each of the means ,
When the buffer capacity is not sufficient in the upstream node, the control means sends the packet to be returned to another upstream node arranged further upstream on the network than the upstream node. A congestion control device that divides and returns the data.
前記バッファ容量検知手段が、ノードのバッファ容量が超過したことを検知するステップと、
前記パケット選択手段が、前記バッファ容量検知手段によりバッファ容量が超過したことを検知した際に、返送すべきパケットを選択するステップと、
前記パケット返送手段が、前記パケット選択手段により選択されたパケットを前記上流側ノードに返送するステップと、
前記再受信手段が、前記上流側ノードから再送された再送パケットをフロー単位で前記特定ノードに受信するステップと、
前記制御手段が、前記各手段を制御するステップと、を備え、
前記制御するステップは、前記上流側ノードにおいてバッファ容量に余裕がない場合には、前記上流側ノードよりも更に前記ネットワーク上の上流に配置された他の上流側ノードへ前記返送すべきパケットをフロー単位で分割して返送することを特徴とする輻輳制御方法。 A buffer capacity detection unit, a packet selection unit, a packet return unit, a re- reception unit, and a control unit are provided in a specific node where congestion has occurred, and an upstream node disposed upstream of the specific node on the network. A congestion control method of a congestion control device for returning a packet ,
The buffer capacity detecting means detecting that the buffer capacity of the node has been exceeded;
Selecting the packet to be returned when the packet selecting means detects that the buffer capacity has been exceeded by the buffer capacity detecting means;
A step wherein the packet returning means for returning the packet selected by the packet selecting means to the upstream node,
A step wherein the re-reception means, for receiving the retransmission packet retransmitted from the upstream node to the specific node on a per-flow basis,
The control means comprising controlling the means ;
When the buffer capacity in the upstream node is not sufficient, the controlling step flows the packet to be returned to another upstream node arranged further upstream on the network than the upstream node. A congestion control method characterized by dividing and returning in units .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010057783A JP5661306B2 (en) | 2010-03-15 | 2010-03-15 | Congestion control device and congestion control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010057783A JP5661306B2 (en) | 2010-03-15 | 2010-03-15 | Congestion control device and congestion control method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2011193238A JP2011193238A (en) | 2011-09-29 |
| JP5661306B2 true JP5661306B2 (en) | 2015-01-28 |
Family
ID=44797711
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010057783A Expired - Fee Related JP5661306B2 (en) | 2010-03-15 | 2010-03-15 | Congestion control device and congestion control method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5661306B2 (en) |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2785608B2 (en) * | 1992-09-30 | 1998-08-13 | 日本電気株式会社 | Congestion control method of packet switch |
| JP2005005921A (en) * | 2003-06-11 | 2005-01-06 | Nec Corp | Router and packet routing method used therefor |
| JP2005210385A (en) * | 2004-01-22 | 2005-08-04 | Fujitsu Ltd | Method and apparatus for sharing buffer with other apparatus |
| JP4452172B2 (en) * | 2004-12-22 | 2010-04-21 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Gateway device and VoIP network system |
-
2010
- 2010-03-15 JP JP2010057783A patent/JP5661306B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2011193238A (en) | 2011-09-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5544430B2 (en) | Communication apparatus and communication system | |
| JP5652388B2 (en) | COMMUNICATION RATE CONTROL METHOD, TRANSMITTER, AND COMMUNICATION SYSTEM | |
| EP1303970B1 (en) | Tcp flow control | |
| JP4546542B2 (en) | Data flow control using duplicate receipt confirmation | |
| US9007904B2 (en) | System to improve an ethernet network | |
| WO2008029793A1 (en) | Packet recovery method, communication system, information processing device, and program | |
| CN101212286A (en) | Data transmission method and device using controlled transmission profile | |
| US20100226265A1 (en) | Method of concurrent multipath transfer based on relational paths | |
| JP4654926B2 (en) | COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND CONgestion Control Method Used In Them | |
| JP2005244897A (en) | Reliable communication method and apparatus | |
| US7653060B2 (en) | System and method for implementing ASI over long distances | |
| WO2018155406A1 (en) | Communication system, communication device, method, and program | |
| JP5661306B2 (en) | Congestion control device and congestion control method | |
| JP2000022744A (en) | Packet communication system, packet communication device, and packet communication method | |
| JP5046197B2 (en) | Communication apparatus, communication system, packet loss detection method, and packet loss detection program | |
| JP2009081567A (en) | Retransmission control system, retransmission control method, transmitter and receiver | |
| WO2008133577A1 (en) | Method for selectively discarding data units in a radio communication system | |
| EP1763201B1 (en) | Apparatus and method for data relay | |
| WO2012132283A1 (en) | Communication device and method of controlling communication therefor | |
| EP3389206B1 (en) | Multipath error correction | |
| JP5518549B2 (en) | Congestion control device and congestion control method | |
| JP4832483B2 (en) | Mobile communication system and mobile communication method | |
| JP5518534B2 (en) | Congestion control device and congestion control method | |
| Qin et al. | Throughput comparison of automatic repeat request assisted butterfly networks | |
| Rani et al. | Enhancing TCP Performance by Detecting Spurious RTO in Wireless Network |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121225 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130926 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131105 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131203 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140513 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140626 |
|
| 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: 20141202 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141203 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5661306 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 |