Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5661306B2 - Congestion control device and congestion control method - Google Patents
[go: Go Back, main page]

JP5661306B2 - Congestion control device and congestion control method - Google Patents

Congestion control device and congestion control method Download PDF

Info

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
Application number
JP2010057783A
Other languages
Japanese (ja)
Other versions
JP2011193238A (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.)
Chugoku Electric Power Co Inc
Original Assignee
Chugoku Electric Power Co Inc
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 Chugoku Electric Power Co Inc filed Critical Chugoku Electric Power Co Inc
Priority to JP2010057783A priority Critical patent/JP5661306B2/en
Publication of JP2011193238A publication Critical patent/JP2011193238A/en
Application granted granted Critical
Publication of JP5661306B2 publication Critical patent/JP5661306B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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, Patent Document 1 discloses that when a buffer of a node exceeds a predetermined threshold due to congestion, the packet is transferred to a common external buffer, temporarily held, and the congestion is settled. Discloses a technique for returning a packet to a node buffer. Also, in Patent Document 2, when a node buffer exceeds a predetermined threshold due to congestion, a control signal for reducing the speed is transmitted to a plurality of nodes, and the node that receives the signal reduces the speed and surplus. A method for eliminating congestion by temporarily holding a packet is disclosed. Patent Document 3 discloses a method of transferring a packet to a buffer for another port in the same node and temporarily storing it when the buffer of the node exceeds a predetermined threshold.

特開2007−325178公報JP 2007-325178 A 特開2009−60283公報JP 2009-60283 A 特開2009−081595公報JP 2009-081595 A

しかし、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 Patent Document 1 requires a common external buffer, there is a problem that an optimal arrangement position must be selected as in the case of the TCP proxy.
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 claim 1 is provided in a specific node congestion occurs, the congestion controller to return the packet to the upstream node disposed upstream of the network than the specific node A buffer capacity detecting means for detecting that the buffer capacity of the specific node has been exceeded, and a packet selection for selecting a packet to be returned when the buffer capacity detecting means detects that the buffer capacity has been exceeded. means and a packet returning means for returning the packet selected by the packet selecting means to the upstream node, re-receiving means for re-receiving the retransmission packet retransmitted from the upstream node to the specific node on a per-flow basis When, and a control means for controlling said each means, said control means, the buffer capacity in the upstream node If there is no margin is characterized by returning the other packet to be the return to the upstream side node disposed upstream on the upstream node further the network than divided on a per-flow basis.
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 .

請求項は、バッファ容量検知手段、パケット選択手段、パケット返送手段、再受信手段、及び制御手段を備え、輻輳が発生した特定ノードに備えられ、当該特定ノードよりもネットワーク上の上流に配置された上流側ノードにパケットを返送する輻輳制御装置の輻輳制御方法であって、前記バッファ容量検知手段が、ノードのバッファ容量が超過したことを検知するステップと、前記パケット選択手段が、前記バッファ容量検知手段によりバッファ容量が超過したことを検知した際に、返送すべきパケットを選択するステップと、前記パケット返送手段が、前記パケット選択手段により選択されたパケットを前記上流ノードに返送するステップと、前記再受信手段が、前記上流側ノードから再送された送パケットをフロー単位で前記特定ノードに受信するステップと、前記制御手段が、前記各手段を制御するステップと、を備え、前記制御するステップは、前記上流側ノードにおいてバッファ容量に余裕がない場合には、前記上流側ノードよりも更に前記ネットワーク上の上流に配置された他の上流側ノードへ前記返送すべきパケットをフロー単位で分割して返送することを特徴とする。
請求項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 Claim 1.

本発明によれば、バッファ容量を超過したパケットを廃棄せず、そのノードからみて上流側のノードへ返送するためのバッファへ入れ直す処理を行い、上流側のノードへ返送する。また、保持時間が一定の時間を超えると、送信元の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.

本発明の一実施形態に係る輻輳制御装置の機能を表すブロック図である。It is a block diagram showing the function of the congestion control apparatus which concerns on one Embodiment of this invention. ネットワーク図の一例を示す図である。It is a figure which shows an example of a network diagram. 本発明の輻輳制御装置50のパケット返送動作を説明するフローチャートである。It is a flowchart explaining the packet return operation | movement of the congestion control apparatus 50 of this invention. 本発明の輻輳制御装置50のパケット再送動作を説明するフローチャートである。It is a flowchart explaining the packet resending operation | movement of the congestion control apparatus 50 of this invention. (a)は上流側のノードに返送する動作を説明する図であり、(b)は上流側のノードから再送する動作を説明する図である。(A) is a figure explaining the operation | movement returned to an upstream node, (b) is a figure explaining the operation | movement resent from an upstream node. (a)は上流側のノードにおいて、バッファ容量に余裕がなく、さらに上流側のノードへフロー単位で分割して返送する動作を説明する図、(b)は上流側のノードから再送する動作を説明する図である。(A) is a diagram for explaining an operation in the upstream node where the buffer capacity has no margin and is further divided and returned to the upstream node in units of flows, and (b) is an operation for retransmission from the upstream node. It is a figure explaining.

以下、本発明を図に示した実施形態を用いて詳細に説明する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。   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 congestion control device 50 is installed in the core router 4 and is a congestion control device by returning a packet to the upstream node of the specific node where the congestion has occurred, and the buffer capacity for detecting that the buffer capacity of the specific node has been exceeded. When the detection means 5 and the buffer capacity detection means 5 detect that the buffer capacity has been exceeded, the packet selection means 7 for selecting a packet to be returned, and the packet selected by the packet selection means 7 as an upstream node The packet return means 6 for returning to the packet, the retransmission time setting means 9 for setting the retransmission time of the return packet held in the upstream node, and the upstream node based on the time set by the retransmission time setting means 9 A retransmission means 10 for retransmitting the returned packet to the downstream node, a control unit (control means) 8 for controlling each means, an Internet And it is configured to include an interface 11 for exchanging information with the bets, the. An edge router 2 is connected to the Internet 3.
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 transmission end 1 is the edge router 2, and the other router is the core router 4. A plurality of edge routers 2 exist in the network 3. When the edge router 2 receives the packet from the transmission end 1, it immediately returns an acknowledgment (ACK) packet to the transmission end 1. On the other hand, the packet received by the edge router 2 is sent to the core router 4, and upon arrival at the receiving end, an acknowledgment (ACK) packet is received from the receiving end. That is, the TCP connection is re-established by the edge router 2. At this time, when viewed from the edge router 2, the network on the transmission end 1 side has a small RTT (Round Trip Time), so the communication speed is fast. Conversely, the network on the core router side has a high RTT (particularly during congestion), so the communication speed is slow. Therefore, packets are naturally accumulated in the buffer of the edge router 2 due to this speed difference. This is an image in which transmission data held by the transmission end 1 is pulled out to the buffer of the edge router 2. Based on this principle, no communication delay occurs even if packets are accumulated in the buffer. In addition, since this buffer does not accumulate packets connected by a TCP connection, even if the holding time is long, TCP is not disconnected due to a timeout.

図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 congestion control device 50 of the present invention. The controller 8 uses the buffer capacity detection means 5 to verify whether congestion has occurred (Y in S1) and the buffer capacity of the node has been exceeded (S2). As a result of the verification, if the capacity does not exceed, the process returns to step S1. If the capacity exceeds in step S2 (Y in S2), the packet selection means 7 selects the packet to be returned, and the packet return means 6 returns the packet to the upstream node (S3). Whether the buffer capacity of the returned upstream node has a margin is verified (S4). If there is no margin, the node is returned to the upstream node (S6). If there is a margin in the buffer of the upstream node in step S4 (Y in S4), it is verified whether or not all the arrived packets have been returned (S5), and the process is repeated until the completion. If no congestion occurs in step S1 (N in S1), the packet is passed through the buffer (S7).

図4は本発明の輻輳制御装置50のパケット再送動作を説明するフローチャートである。まず、再送を開始すると(S10)、上流のノードに保持した最初のパケットを再送する(S11)。次に、パケットをフローごとに再送するために、所定の時間ずらして(S12)、次のパケットを再送する(S13)。そして、全てのパケットの再送が終了するまでステップS12の間を繰り返す。
通信経路中の任意のノードにおいて輻輳が発生し、届いたパケットの量がノードのバッファ容量を超過した場合、従来は、そのノードでパケットが廃棄されるところ、提案手法では、バッファ容量を超過したパケットを廃棄せず、そのノードからみて上流側のノードへ返送するためのバッファへ入れ直す処理を行い、上流側のノードへ返送する。返送されたパケットは、上流側のノードで保持し、再び下流側のノードへ送出する。
バッファ容量を超過したパケットを上流側のノードへ返送するにあたっては、フロー単位で返送することとする。フローとは、送信側と受信側を1対1でつないでいる通信コネクションを指す。
FIG. 4 is a flowchart for explaining the packet retransmission operation of the congestion control device 50 of the present invention. First, when retransmission is started (S10), the first packet held in the upstream node is retransmitted (S11). Next, in order to retransmit the packet for each flow, a predetermined time is shifted (S12), and the next packet is retransmitted (S13). Then, step S12 is repeated until retransmission of all packets is completed.
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 node 21, the packets are returned to the upstream node 20, and thereafter, all the arrival packets are returned for the packets of the flows A and B. To do. In this way, since the flows A and B do not enter the buffer, the congestion is alleviated and the remaining flows C and D can pass through the buffer of the node 21. As a result, the packets of the flows A, B, C, and D are not returned little by little, but only the packets of the flows A and B are returned to the node 20.
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 upstream nodes 22 to 25, the communication paths are divided and returned in units of flow. By such divided return, the buffer free capacity of a plurality of nodes can be utilized. For example, it is assumed that 20% of the buffer capacity exceeds the capacity in a node where congestion has occurred. When a packet is returned to an upstream node and is divided and held by the four nodes 22 to 25, 5% of the buffer capacity of each node is used for packet holding (assuming that the nodes have the same buffer capacity). ).

今、上流側のノードは、フロー単位で返送パケットを受け取り、保持しているとする。上流側のノードでそのままパケットを保持していれば、いずれ送信元から到達するパケットは無くなり、輻輳を回避できるものの、保持しているフローのスループットは一時的に大きく低下してしまう。さらには、保持時間が一定の時間を超えると、送信元の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 SYMBOLS 1 Transmission end, 2 Edge router, 3 Internet, 4 Core router, 5 Buffer capacity detection means, 6 Packet return means, 7 Packet selection means, 8 Control part, 9 Retransmission time setting means, 10 Retransmission means, 50 Congestion control apparatus

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.
前記制御手段は、前記バッファ容量を超過したパケットを前記上流ノードへ返送する場合、送信側と受信側を1対1で関連付けている通信コネクションを指すフロー単位で返送することを特徴とする請求項1に記載の輻輳制御装置。 Wherein if to return the packets that exceed the buffer capacity to the upstream node, wherein, characterized in that return a flow unit refers to the communication connection that associates the sender and receiver in a one-to-one Item 2. The congestion control device according to Item 1. バッファ容量検知手段、パケット選択手段、パケット返送手段、再受信手段、及び制御手段を備え、輻輳が発生した特定ノードに備えられ、当該特定ノードよりもネットワーク上の上流に配置された上流側ノードにパケットを返送する輻輳制御装置の輻輳制御方法であって、
前記バッファ容量検知手段が、ノードのバッファ容量が超過したことを検知するステップと、
前記パケット選択手段が、前記バッファ容量検知手段によりバッファ容量が超過したことを検知した際に、返送すべきパケットを選択するステップと、
前記パケット返送手段が、前記パケット選択手段により選択されたパケットを前記上流ノードに返送するステップと、
前記再受信手段が、前記上流側ノードから再送された送パケットをフロー単位で前記特定ノードに受信するステップと、
前記制御手段が、前記各手段を制御するステップと、を備え
前記制御するステップは、前記上流側ノードにおいてバッファ容量に余裕がない場合には、前記上流側ノードよりも更に前記ネットワーク上の上流に配置された他の上流側ノードへ前記返送すべきパケットをフロー単位で分割して返送することを特徴とする輻輳制御方法。
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 .
JP2010057783A 2010-03-15 2010-03-15 Congestion control device and congestion control method Expired - Fee Related JP5661306B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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