JP6145190B1 - Relay device, relay method, and relay program - Google Patents

Relay device, relay method, and relay program Download PDF

Info

Publication number
JP6145190B1
JP6145190B1 JP2016039925A JP2016039925A JP6145190B1 JP 6145190 B1 JP6145190 B1 JP 6145190B1 JP 2016039925 A JP2016039925 A JP 2016039925A JP 2016039925 A JP2016039925 A JP 2016039925A JP 6145190 B1 JP6145190 B1 JP 6145190B1
Authority
JP
Japan
Prior art keywords
segment
control unit
communication
control
relay
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.)
Active
Application number
JP2016039925A
Other languages
Japanese (ja)
Other versions
JP2017158047A (en
Inventor
和浩 森谷
和浩 森谷
正在 琴
正在 琴
Original Assignee
チエル株式会社
株式会社ノアシステムズ
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 チエル株式会社, 株式会社ノアシステムズ filed Critical チエル株式会社
Priority to JP2016039925A priority Critical patent/JP6145190B1/en
Application granted granted Critical
Publication of JP6145190B1 publication Critical patent/JP6145190B1/en
Publication of JP2017158047A publication Critical patent/JP2017158047A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】複数のネットワーク間の通信を中継し、ネットワーク毎に通信を制御し、その制御において帯域推測値に基づいて算出されるスロースタート閾値を用いた輻輳制御を、処理量の増加を抑え、効率的に実行する中継装置、中継方法及び中継プログラムを提供する。【解決手段】複数のネットワーク間の通信を中継し、ネットワーク毎に通信を制御する制御部を備え、制御部を介してネットワーク間の通信を行う中継装置において、往復遅延時間の最小値を用いた帯域推測値の推測を行い、帯域推測値に基づいて算出されるスロースタート閾値を用いて輻輳制御を行う制御部1を少なくとも1つ備える。【選択図】図5Congestion control using a slow start threshold that is calculated based on a band estimation value in relaying communication between a plurality of networks, controlling communication for each network, and suppressing an increase in processing amount, Provided are a relay device, a relay method, and a relay program that are efficiently executed. A relay unit that relays communication between a plurality of networks and controls communication for each network, and uses a minimum round-trip delay time in a relay device that performs communication between networks via the control unit. At least one control unit 1 that estimates a band estimation value and performs congestion control using a slow start threshold value calculated based on the band estimation value is provided. [Selection] Figure 5

Description

本発明は、複数のネットワーク間の通信を中継し、ネットワーク毎に通信を制御する技術に関し、特に帯域推測値に基づいて算出されるスロースタート閾値を用いて輻輳制御を行う技術に関する。   The present invention relates to a technique for relaying communication between a plurality of networks and controlling the communication for each network, and more particularly to a technique for performing congestion control using a slow start threshold value calculated based on a band estimation value.

現在、インターネット等のネットワークでは、TCP(Transmission Control Protocol)が広く使用されている。TCPによる通信では、ネットワークにおいて利用者のアクセスが特定の宛先に集中し、通常行えるはずの通信ができなくなる状況を回避するための輻輳制御が行われている。輻輳制御については、RFC(Request for Comments)2581で定義されたTCP Renoの他、様々な輻輳制御アルゴリズム(TCP Tahoe、TCP New Reno、TCP Vegas等)が提案されており、OS(Operating System)により、さらにはOSのバージョンにより異なる輻輳制御アルゴリズムが搭載されている。   Currently, TCP (Transmission Control Protocol) is widely used in networks such as the Internet. In TCP communication, congestion control is performed to avoid a situation in which user access concentrates on a specific destination in the network and communication that should normally be performed cannot be performed. Regarding congestion control, various congestion control algorithms (TCP Tahoe, TCP New Reno, TCP Vegas, etc.) have been proposed in addition to TCP Reno defined in RFC (Request for Comments) 2581, and have been proposed by the OS (Operating System). Furthermore, a congestion control algorithm that differs depending on the version of the OS is installed.

輻輳制御では、輻輳ウインドウというパラメータを使用して制御を行っており、送信端末は、輻輳ウインドウの大きさ(以下、単に「輻輳ウインドウ」と呼ぶこともある)まで、受信端末からの確認応答のセグメント(以下、「確認応答セグメント」とする)の到着を待たずに、セグメントを送信することができる(以下、送信端末が送信するセグメントを「データセグメント」とする)。この輻輳ウインドウは、ネットワークが輻輳状態ではないと判断されている間は増加されるが、ネットワークが輻輳状態であると判断されると、一気に減少される。減少する幅は輻輳制御アルゴリズムによって異なるが、いずれの場合も、セグメント損失時のこのような輻輳制御における輻輳ウインドウの制御は、ネットワークのスループット(ネットワークや通信回線の単位時間あたりの実効転送量)に影響を与える。特に、データ転送に時間を要する長距離高速通信ネットワークや、セグメント損失が発生し易い無線ネットワークにおいては影響が大きい。   In the congestion control, control is performed using a parameter called a congestion window, and the transmitting terminal transmits the confirmation response from the receiving terminal up to the size of the congestion window (hereinafter, sometimes simply referred to as “congestion window”). The segment can be transmitted without waiting for the arrival of the segment (hereinafter referred to as “acknowledge segment”) (hereinafter, the segment transmitted by the transmitting terminal is referred to as “data segment”). The congestion window is increased while it is determined that the network is not in a congestion state, but is decreased at once when it is determined that the network is in a congestion state. The amount of decrease depends on the congestion control algorithm, but in any case, the congestion window control in such congestion control at the time of segment loss depends on the network throughput (effective transfer amount per unit time of network or communication line). Influence. In particular, the influence is large in a long-distance high-speed communication network that requires time for data transfer and a wireless network in which segment loss easily occurs.

無線ネットワークは、有線ネットワークに比べて、通信による輻輳に関係なく、電波干渉やビットエラー等の様々な原因でセグメント損失を起こし易く、輻輳状態と判断され易いネットワークである。よって、輻輳状態と判断される度に、輻輳制御が行われると、スループットの低下、セグメントの再送によるネットワーク帯域の圧迫、送信端末での再送処理の増加等、通信経路にあるネットワーク全体に影響を与えるので、輻輳制御の改善が進められている。   Compared to a wired network, a wireless network is more likely to cause segment loss due to various causes such as radio wave interference and bit errors regardless of communication congestion, and is more likely to be determined as a congestion state. Therefore, if congestion control is performed each time it is judged as a congestion state, the entire network on the communication path will be affected, such as a decrease in throughput, network bandwidth pressure due to segment retransmission, and an increase in retransmission processing at the transmitting terminal. As a result, congestion control is being improved.

TCP WestwoodやTCP Westwood+は、このような無線ネットワークをターゲットとして提案されたアルゴリズムである。無線ネットワークを想定しているが、実装されている技術には、長距離高速通信ネットワークにも応用できるものがある。ここで、TCP Westwood+による輻輳制御について説明する。   TCP Westwood and TCP Westwood + are algorithms proposed for such wireless networks as targets. Although a wireless network is assumed, some of the implemented technologies can be applied to long-distance high-speed communication networks. Here, the congestion control by TCP Westwood + will be described.

TCP Westwood+を用いてセグメントを送信する場合、輻輳制御におけるスロースタート、輻輳回避及び輻輳検知の各段階での制御はTCP Reno等と同じ制御であるが、輻輳検知後の輻輳ウインドウの極端な減少を回避するために、輻輳検知後のスロースタート閾値は確認応答セグメントを受信した際に算出した帯域推測値を用いて求めており、さらにそれに合わせて輻輳ウインドウも変更している。具体的には、k番目の確認応答セグメントに対する帯域推測値SBWEを下記数1より算出し、さらに、k番目の確認応答セグメントに対する利用可能帯域BWEを下記数2より算出する。 When sending a segment using TCP Westwood +, the control at each stage of congestion control, such as slow start, congestion avoidance, and congestion detection, is the same control as TCP Reno etc., but the congestion window after congestion detection is extremely reduced. In order to avoid this, the slow start threshold after congestion detection is obtained using the band estimation value calculated when the confirmation response segment is received, and the congestion window is also changed accordingly. Specifically, the estimated bandwidth value SBWE k for the kth acknowledgment segment is calculated from the following equation 1, and the available bandwidth BWE k for the kth acknowledgment segment is calculated from the following equation 2.

ここで、Aは確認応答セグメントに含まれる確認応答の数であり、データセグメントと確認応答セグメントが1対1で送受信される場合、Aは1であるが、複数のデータセグメントに対して1つの確認応答セグメントが送受信される場合は、送受信されたデータセグメントの数がAとなる。SSはセグメントサイズである。よって、A×SSは、確認応答セグメントの基となったデータセグメントの総データサイズとなる。RTTはk番目の確認応答セグメントに対する往復遅延時間である。往復遅延時間とは、送信端末がデータセグメントを送信した時点から、データセグメントが受信端末に届き、受信端末からの確認応答セグメントが送信端末に届くまでの時間である。αは定数で、0.9が推奨値とされている。そして、輻輳検知の条件のうち、早期再送の場合である同じ確認応答セグメントを3回受信した(以下、「三重複応答」とする)場合は、下記数3のようにスロースタート閾値ssthresh及び輻輳ウインドウCWNDを変更し、再送タイマがタイムアウトした(以下、「再送タイムアウト」とする)場合は、下記数4のように変更する。 Here, A S is the number of acknowledgments included in the acknowledgment segment, if the acknowledgment segment and data segment is transmitted and received in a one-to-1, A S but is 1, for a plurality of data segments If one acknowledgment segment is transmitted and received, the number of transmitted and received data segment is a S. SS is the segment size. Therefore, A S × SS is the total data size of the data segment that is the basis of the acknowledgment segment. RTT k is the round trip delay time for the kth acknowledgment segment. The round trip delay time is the time from when the transmitting terminal transmits the data segment until the data segment reaches the receiving terminal and the acknowledgment segment from the receiving terminal reaches the transmitting terminal. α is a constant, and 0.9 is a recommended value. When the same acknowledgment segment, which is the case of early retransmission, is received three times (hereinafter referred to as “triple response”) among the conditions for detecting congestion, the slow start threshold ssthresh and the congestion as shown in Equation 3 below. When the window CWND is changed and the retransmission timer times out (hereinafter referred to as “retransmission timeout”), the window CWND is changed as shown in the following equation 4.

ここで、RTTminは、RTTが計測されるまでの全ての往復遅延時間の中での最小値である。 Here, RTTmin is the minimum value among all round-trip delay times until RTT k is measured.

上記のような制御を行うTCP Westwood+の使用により無線ネットワークでの輻輳制御の改善を図ろうとした場合、送信端末と受信端末が無線ネットワークのみで通信するような通信経路全体を観測できる環境では改善が図れる。しかし、現在は無線ネットワークと有線ネットワークが混在する環境(以下、「混在ネットワーク環境」とする)が多く存在する。例えば、携帯電話やスマートフォンでのデータ通信では、携帯電話会社が構築している無線ネットワークとインターネットが混在した環境でデータ通信を行っており、ホテルやカフェ等で提供されている公衆無線LAN(Local Area Network)でも、無線ネットワークとインターネットを介してデータ通信が行われている。このような混在ネットワーク環境では、TCP Westwood+を始め、従来のTCPは送受信端末で実行され、通信経路を特定できないために、適切な制御を行えない可能性がある。この問題への対策の1つとして、RFC2757にてSplit TCPが提案されている。Split TCPによれば、無線や有線等のネットワーク特性に応じてネットワーク区間を分割し、各区間のネットワーク特性に合わせて適切なTCPを適用することにより、輻輳制御の改善が期待できる。そして、Split TCPの実現方法として、ネットワーク区間を分割した地点に中継装置を設置する方法がある。   When trying to improve congestion control in a wireless network by using the TCP West + that performs the control as described above, the improvement is possible in an environment where the entire communication path in which the transmitting terminal and the receiving terminal communicate only with the wireless network can be observed. I can plan. However, there are currently many environments in which wireless networks and wired networks coexist (hereinafter referred to as “mixed network environments”). For example, in data communication using a mobile phone or a smartphone, data communication is performed in an environment in which a wireless network established by a mobile phone company and the Internet are mixed, and a public wireless LAN (Local In the area network, data communication is performed via a wireless network and the Internet. In such a mixed network environment, there is a possibility that appropriate control cannot be performed because conventional TCP, such as TCP Westwood +, is executed by the transmission / reception terminal and the communication path cannot be specified. As one of measures against this problem, Split TCP is proposed in RFC2757. According to Split TCP, improvement of congestion control can be expected by dividing a network section according to network characteristics such as wireless or wired and applying an appropriate TCP according to the network characteristics of each section. As a method for realizing Split TCP, there is a method of installing a relay device at a point where a network section is divided.

中継装置の使用を前提に、中継装置と端末間の通信が無線ネットワークで行われる場合、中継装置で使用するTCPとしてTCP Westwood+を採用すると、帯域推測値に基づいてスロースタート閾値を決定する方法において不都合が生じる可能性がある。例えば、公衆無線LANのように、短距離通信である無線ネットワークと長距離通信であるインターネットの有線ネットワークを中継装置で接続した場合、無線ネットワークでの通信における往復遅延時間は、有線ネットワークでの通信における往復遅延時間に比べて非常に小さい。しかし、例えば無線LANで採用されているCSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)方式で通信を行う場合、図1に示されるように、端末1Bが無線アクセスポイント2を経由してデータ(データセグメント)を送信する際、端末1Bが送信する前に端末1Aが送信を行っていたら、フレーム送信間隔における最短の待ち時間であるSIFS(Short Interframe Space)、ビジー状態のチャネルから信号が検出されなくなり、アイドル状態に移行したと判断されるまでの時間であるDIFS(DCF(Distributed Coordination Function) Interframe Space)及びフレームの衝突を回避するためにフレーム送信を待機するランダムな時間であるバックオフを経て、端末1Bはデータ送信することになる。よって、端末1Aや1Bがデータを送受信する場合、上記の時間のために、無線ネットワークでは有線ネットワークよりも遅延ジッタが生じる可能性がある。例えば、図2に示されるように、無線アクセスポイント2に有線ネットワークで接続されているサーバ3が、無線アクセスポイント2を経由して端末1Aにデータを送信する場合、図2(A)においてはデータ1とデータ2の間に、図2(B)においてはデータ2とデータ3の間に遅延ジッタが生じるようなことが起こり得る。また、多数の端末が同時期に多量のデータを送信する等により無線アクセスポイント上での待機データが急激に増えた場合、バッファオーバーフローにより待機データが破棄されると、三重複応答時での早期再送ではなく、再送タイムアウト時での再送処理を取るために、タイムアウトまで再送が待たされ、待機データが多いほど、破棄されたデータの再送処理が多く発生することになる。よって、往復遅延時間は通信データ量(通信量)以外の別の要因で変化し易く、輻輳検知時に往復遅延時間を用いて算出される帯域推測値、さらにはスロースタート閾値も別の要因で変化し易いことになる。また、通常、スロースタート段階では、輻輳ウインドウをスロースタート閾値まで急速に増加されることになり、送信レートも急速に増加するが、そのことが、無線ネットワークにおいてはセグメント損失の確率を高くすることになり、セグメント損失に伴う再送処理の発生する確率も高くなる。   When communication between the relay device and the terminal is performed in a wireless network on the assumption that the relay device is used, if TCP Westwood + is adopted as the TCP used in the relay device, the method of determining the slow start threshold based on the estimated bandwidth value Inconvenience may occur. For example, when a wireless network that is short-distance communication and a wired network of the Internet that is long-distance communication are connected by a relay device, such as a public wireless LAN, the round-trip delay time in communication in the wireless network is the communication in the wired network. It is very small compared with the round trip delay time. However, for example, when communication is performed using a CSMA / CA (Carrier Sense Multiple Access with Collision Avoidance) method adopted in a wireless LAN, as shown in FIG. When transmitting data segment), if terminal 1A is transmitting before terminal 1B transmits, a signal is detected from SIFS (Short Interframe Space), which is the shortest waiting time in the frame transmission interval, and a busy channel. Through DIFS (DCF (Distributed Coordination Function) Interframe Space), which is the time until it is determined that the idle state has shifted to the idle state, and backoff, which is a random time to wait for frame transmission to avoid frame collision The terminal 1B transmits data. Therefore, when the terminals 1A and 1B transmit and receive data, delay jitter may occur in the wireless network as compared with the wired network due to the above time. For example, as shown in FIG. 2, when the server 3 connected to the wireless access point 2 via a wired network transmits data to the terminal 1A via the wireless access point 2, in FIG. A delay jitter may occur between data 1 and data 2 between data 2 and data 3 in FIG. In addition, if the standby data on the wireless access point increases rapidly due to a large number of terminals transmitting a large amount of data at the same time, if the standby data is discarded due to a buffer overflow, an early In order to take retransmission processing at the time-out of retransmission instead of retransmission, retransmission is waited until timeout, and the more waiting data, the more retransmission processing of discarded data occurs. Therefore, the round-trip delay time is likely to change due to other factors other than the amount of communication data (communication volume), and the estimated bandwidth value calculated using the round-trip delay time when detecting congestion, and the slow start threshold also changes due to other factors. It will be easy to do. Also, usually in the slow start phase, the congestion window is rapidly increased to the slow start threshold, and the transmission rate also increases rapidly, which increases the probability of segment loss in a wireless network. Therefore, the probability of occurrence of retransmission processing due to segment loss also increases.

このように、帯域推測値に基づいて求められるスロースタート閾値を用いた輻輳制御は、通信経路全体を観測できるならば、有効な手段ではあるが、中継装置を使用する混在ネットワーク環境において、特に無線ネットワークのように通信データ量に関係なく往復遅延時間が変化するネットワークに適用する場合は、改良が必要である。   As described above, the congestion control using the slow start threshold obtained based on the estimated bandwidth value is an effective means as long as the entire communication path can be observed. When applied to a network such as a network in which the round-trip delay time changes regardless of the amount of communication data, improvement is necessary.

中継装置により通信を改善する方法として、例えば特許第5059976号公報(特許文献1)にて開示されている方法がある。特許文献1の装置では、セッション毎に通信帯域を測定し、測定帯域と予め設定されている目標帯域を比較し、測定帯域が目標帯域を上回る場合は目標帯域でパケットが送信されるように帯域を抑制し、測定帯域が目標帯域を下回る場合はバッファリングしておいたパケットを代理再送することにより帯域を促進することによって、通信の安定化を図っている。帯域の抑制及び促進はパケットのヘッダの変更を伴わずに実行され、既存のTCP/IP処理に依存しない処理となっている。   As a method for improving communication by a relay device, for example, there is a method disclosed in Japanese Patent No. 5059976 (Patent Document 1). In the apparatus of Patent Document 1, the communication band is measured for each session, the measured band is compared with a preset target band, and the packet is transmitted in the target band when the measured band exceeds the target band. If the measured bandwidth is lower than the target bandwidth, communication is stabilized by promoting the bandwidth by proxy retransmission of the buffered packet. Bandwidth suppression and promotion are performed without changing the packet header, and are independent of existing TCP / IP processing.

特許第5059976号公報Japanese Patent No. 5059976

しかしながら、特許文献1の装置での処理は、既存のTCP/IP処理に依存しない処理としているために、通常のTCP処理とは別処理が必要となり、送信すべきパケット(セグメント)が多量となった場合、その処理が遅延の原因となってしまうおそれがある。   However, since the processing in the device of Patent Document 1 is processing that does not depend on existing TCP / IP processing, processing different from normal TCP processing is required, and a large amount of packets (segments) are to be transmitted. In such a case, the processing may cause a delay.

本発明は上述のような事情よりなされたものであり、本発明の目的は、複数のネットワーク間の通信を中継し、ネットワーク毎に通信を制御し、その制御において帯域推測値に基づいて算出されるスロースタート閾値を用いた輻輳制御を、処理量の増加を抑え、効率的に実行する中継装置、中継方法及び中継プログラムを提供することにある。   The present invention has been made under the circumstances described above, and an object of the present invention is to relay communication between a plurality of networks, control the communication for each network, and is calculated based on a band estimation value in the control. It is an object of the present invention to provide a relay device, a relay method, and a relay program that efficiently execute congestion control using a slow start threshold that suppresses an increase in processing amount.

本発明は、複数のネットワーク間の通信を中継し、前記ネットワーク毎に通信を制御する制御部を備え、前記制御部を介して前記ネットワーク間の通信を行う中継装置に関し、本発明の上記目的は、前記制御部として、セグメントサイズに応じた所定のサイズ及び往復遅延時間の最小値を用いた帯域推測値の推測を行い、前記帯域推測値に基づいて算出されるスロースタート閾値を用いて輻輳制御を行う制御部1を少なくとも1つ備えることにより達成される。 The present invention relates to a relay device that relays communication between a plurality of networks and includes a control unit that controls communication for each network, and performs communication between the networks via the control unit. The control unit estimates a bandwidth estimation value using a predetermined size according to a segment size and a minimum value of the round trip delay time, and uses a slow start threshold calculated based on the bandwidth estimation value to perform congestion control. This is achieved by providing at least one control unit 1 that performs the following.

本発明の上記目的は、前記制御部1は、通信量以外の要因による前記往復遅延時間の変動が大きいネットワークでの通信を制御することにより、或いは前記制御部1は、無線ネットワークでの通信を制御することにより、或いは送信端末から受信したセグメントを記憶する記憶部を前記制御部毎にさらに備え、前記制御部間での前記セグメントの入出力は前記記憶部を介して行うことにより、前記各制御部は独立して制御を行うことができることにより、或いは前記各制御部は、前記送信端末から受信したセグメントが受信端末に受信されたことを確認した場合、前記確認したセグメントを前記記憶部から消去し、前記送信端末から受信したセグメントの再送を前記受信端末に対して行う場合、前記記憶部に記憶されたセグメントを再送することにより、或いは前記制御部1は、前記セグメントサイズを前記往復遅延時間の最小値で除算することにより前記帯域推測値の推測を行うことにより、或いは前記制御部1は、前記制御部1が通信を制御するネットワーク内の受信端末の数及び通信セッションの数の少なくとも1つの数が所定の値以上の場合、前記往復遅延時間の最小値を用いた帯域推測値の推測を行うことにより、より効果的に達成される。 The object of the present invention is that the control unit 1 controls communication in a network in which the round-trip delay time varies greatly due to factors other than communication volume, or the control unit 1 performs communication in a wireless network. Each of the control units further includes a storage unit that stores the segment received from the transmission terminal by controlling, and the input / output of the segment between the control units is performed via the storage unit. When the control unit can independently control, or when each control unit confirms that the segment received from the transmission terminal is received by the reception terminal, the confirmed segment is stored in the storage unit. When deleting and retransmitting the segment received from the transmitting terminal to the receiving terminal, the segment stored in the storage unit is retransmitted. And a, or the control unit 1, by performing the estimation of the bandwidth estimate by dividing the segment size with a minimum value of the round trip time, or the control unit 1, the control unit 1 is communication If at least one of the number of receiving terminals and the number of communication sessions in the network that controls the network is greater than or equal to a predetermined value, the band estimation value is estimated using the minimum value of the round trip delay time. Is achieved.

また、本発明は、複数のネットワーク間の通信を中継し、前記ネットワーク毎に通信を制御する制御ステップを有し、前記制御ステップにおいて前記ネットワーク間の通信のための処理を行う中継方法に関し、本発明の上記目的は、前記制御ステップとして、セグメントサイズに応じた所定のサイズ及び往復遅延時間の最小値を用いた帯域推測値の推測を行い、前記帯域推測値に基づいて算出されるスロースタート閾値を用いて輻輳制御を行う制御ステップ1を少なくとも1つ有することにより達成される。 The present invention also relates to a relay method having a control step of relaying communication between a plurality of networks and controlling communication for each network, and performing processing for communication between the networks in the control step. The object of the present invention is to estimate a band estimation value using a predetermined size corresponding to a segment size and a minimum round-trip delay time as the control step, and to calculate a slow start threshold value calculated based on the band estimation value This is achieved by having at least one control step 1 for performing congestion control using.

本発明の上記目的は、送信端末から受信したセグメントを記憶部に記憶する記憶ステップを前記制御ステップ毎にさらに有し、前記記憶ステップの実行後、前記送信端末から受信したセグメントが受信端末に受信されたことを前記制御ステップにおいて確認した場合、前記確認したセグメントを前記記憶部から消去し、前記記憶ステップの実行後、前記送信端末から受信したセグメントの再送を前記受信端末に対して前記制御ステップにおいて行う場合、前記記憶部に記憶されたセグメントを再送することにより、或いは前記制御ステップ1では、前記セグメントサイズを前記往復遅延時間の最小値で除算することにより前記帯域推測値の推測を行うことにより、或いは前記制御ステップ1では、前記制御ステップ1で通信を制御するネットワーク内の受信端末の数又は通信セッションの数の少なくとも1つの数が所定の値以上の場合、前記往復遅延時間の最小値を用いた帯域推測値の推測を行うことにより、より効果的に達成される。 The above object of the present invention further includes a storage step for storing the segment received from the transmission terminal in the storage unit for each control step, and after the execution of the storage step, the segment received from the transmission terminal is received by the reception terminal. If it is confirmed in the control step that is, the control step of the segment the confirmed and deleted from the storage unit, after the execution of the storage step, the retransmission of the segments received from the transmitting terminal to the receiving terminal It carried out if, by retransmitting the segment stored in the storage unit, or in the control step 1, to perform the estimation of the bandwidth estimate by dividing the segment size with a minimum value of the round trip time in Or in the control step 1, a network that controls communication in the control step 1 If at least one of the number of receiving terminals or the number of communication sessions in the network is greater than or equal to a predetermined value, it is more effective by estimating the band estimation value using the minimum value of the round trip delay time. Achieved.

さらに、本発明の上記目的は、上記の中継方法を実行するための中継プログラムにより達成される。   Furthermore, the above object of the present invention is achieved by a relay program for executing the above relay method.

本発明の中継装置、中継方法及び中継プログラムによれば、複数のネットワーク間の通信を中継する中での輻輳制御において、往復遅延時間の最小値を用いた帯域推測値の推測を行い、その帯域推測値に基づいて算出されるスロースタート閾値を使用することにより、従来の輻輳制御の枠組みの中で、通信量の急な増加によるセグメント損失を抑え、輻輳検知による再送のための時間を短縮し、効率的な制御を行うことができる。   According to the relay device, the relay method, and the relay program of the present invention, in congestion control while relaying communication between a plurality of networks, the bandwidth estimation value is estimated using the minimum value of the round-trip delay time. By using the slow start threshold value calculated based on the estimated value, the segment loss due to a sudden increase in traffic is suppressed and the time required for retransmission due to congestion detection is shortened within the framework of conventional congestion control. Efficient control can be performed.

無線LANでのデータ送信のタイミングを示すタイムチャートの概略図である。It is the schematic of the time chart which shows the timing of the data transmission in wireless LAN. 無線ネットワークと有線ネットワークが接続しているネットワーク環境におけるデータ送信のイメージを示す図である。It is a figure which shows the image of the data transmission in the network environment where the wireless network and the wired network are connected. 本発明に係る中継装置を含んだ全体のネットワーク環境の構成例(第1実施形態)を示す図である。It is a figure which shows the structural example (1st Embodiment) of the whole network environment containing the relay apparatus which concerns on this invention. 第1実施形態でのセグメントの流れを示すイメージ図である。It is an image figure which shows the flow of the segment in 1st Embodiment. 第1実施形態の中継装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the relay apparatus of 1st Embodiment. 制御部10の構成例を示すブロック図である。3 is a block diagram illustrating a configuration example of a control unit 10. FIG. 制御部30の構成例を示すブロック図である。3 is a block diagram illustrating a configuration example of a control unit 30. FIG. 制御部30の動作例の一部を示すフローチャートである。3 is a flowchart showing a part of an operation example of a control unit 30. 制御部30の動作例の一部を示すフローチャートである。3 is a flowchart showing a part of an operation example of a control unit 30. 輻輳制御による輻輳ウインドウの変化の例を示す図である。(A)は従来のTCP Westwood+の場合の図、(B)は第1実施形態の場合の図である。It is a figure which shows the example of the change of the congestion window by congestion control. (A) is a figure in the case of the conventional TCP Westwood +, (B) is a figure in the case of 1st Embodiment. 第2実施形態の中継装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the relay apparatus of 2nd Embodiment. 制御部50の構成例を示すブロック図である。3 is a block diagram illustrating a configuration example of a control unit 50. FIG. 制御部50の動作例の一部を示すフローチャートである。4 is a flowchart showing a part of an operation example of a control unit 50.

本発明では、複数のネットワーク間の通信を中継する中継装置において、特定のネットワークに対して、TCP Westwood+でのスロースタート閾値ssthreshの算出方法を改良した方法で輻輳制御を行っている。具体的には、k番目の確認応答セグメントに対する帯域推測値SBWEの算出を、数1ではなく、下記数5を用いて行う。 In the present invention, in a relay device that relays communication between a plurality of networks, congestion control is performed on a specific network by a method that improves the calculation method of the slow start threshold sthresh in the TCP West +. Specifically, the bandwidth estimation value SBWE k for the kth acknowledgment segment is calculated using the following equation 5 instead of equation 1.

従来のTCP Westwood+では観測された往復遅延時間RTTが使用されているが、その代わりに、RTTが計測されるまでの全ての往復遅延時間の中での最小値であるRTTminを使用し、そのRTTminは1つのセグメントを送信するために必要な時間であると見做して、帯域推測値SBWEを算出する。帯域推測値SBWE算出後は、従来のTCP Westwood+と同様の演算(数2〜4)によりスロースタート閾値ssthreshを算出し、輻輳制御を行う。帯域推測値SBWEの算出に数5を用いることにより、帯域推測値SBWEの変動が抑えられ、且つ、帯域推測値SBWEを小さく見積もることができる。例えば、セグメントサイズSSが1460バイトで、1番目、2番目及び3番目の確認応答セグメントに含まれる確認応答の数Aがそれぞれ5、11及び2で、往復遅延時間がそれぞれ26、30及び24秒の場合、従来のTCP Westwood+での帯域推測値SBWE(k=1,2,3)は下記数6となり、本発明での帯域推測値SBWEは下記数7となり(小数点以下は切り捨て)、本発明では、帯域推測値SBWEの変動が抑えられ、帯域推測値SBWEが小さくなることがわかる。 In the conventional TCP Westwood +, the observed round-trip delay time RTT k is used. Instead, RTTmin which is the minimum value among all round-trip delay times until RTT k is measured is used. The band estimation value SBWE k is calculated by assuming that the RTTmin is a time required to transmit one segment. After the bandwidth estimation value SBWE k is calculated, the slow start threshold value ssthresh is calculated by the same calculation as in the conventional TCP Westwood + (Equations 2 to 4), and congestion control is performed. By using Equation 5 to calculate the bandwidth estimates SBWE k, variation of bandwidth estimate SBWE k is suppressed, and can be estimated smaller bandwidth estimates SBWE k. For example, the segment size SS is 1460 bytes, first, in the second and third number of acknowledgments included in the acknowledgment segment A S respectively 5,11 and 2, the round trip time is 26, 30 and respectively 24 In the case of seconds, the bandwidth estimation value SBWE k (k = 1, 2, 3) in the conventional TCP Westwood + is expressed by the following formula 6, and the bandwidth estimation value SBWE k in the present invention is expressed by the following formula 7 (the fractional part is rounded down). In the present invention, it can be seen that the fluctuation of the band estimated value SBWE k is suppressed, and the band estimated value SBWE k becomes small.


このような輻輳制御が実行されるネットワーク(以下、「適用ネットワーク」とする)として、例えば、無線ネットワークのように、往復遅延時間が通信量以外の別の要因で変化し易いネットワークを採用した場合、帯域推測値SBWEの変動が抑えられ、帯域推測値SBWEが小さくなることによって、輻輳検知時に再設定されるスロースタート閾値ssthreshを小さくすることができ、再設定された後、輻輳ウインドウCWNDの増加率がスロースタートの段階より抑えられる輻輳回避の段階に早期に移行することができる。よって、急激な送信レートの増加を抑え、安定的な送信を行うことができ、セグメント損失を抑えることができる。

When a network in which such congestion control is executed (hereinafter referred to as an “applicable network”), such as a wireless network, where the round-trip delay time is likely to change due to another factor other than the traffic, is adopted. Therefore, the fluctuation of the estimated bandwidth value SBWE k is suppressed, and the estimated bandwidth value SBWE k is reduced, so that the slow start threshold value sthresh reset at the time of congestion detection can be reduced, and after the reset, the congestion window CWND It is possible to shift to an early stage of congestion avoidance in which the rate of increase is suppressed from the slow start stage. Therefore, a rapid increase in transmission rate can be suppressed, stable transmission can be performed, and segment loss can be suppressed.

適用ネットワーク以外のネットワーク(以下、「非適用ネットワーク」とする)に対しては、TCP CUBIC等の従来から使用されている標準のTCPによる輻輳制御を行う。   For networks other than the application network (hereinafter referred to as “non-application network”), congestion control by standard TCP such as TCP CUBIC, which has been conventionally used, is performed.

なお、数5では、RTTminを1つのセグメントを送信するために必要な時間であると見做しているが、1以外の数(整数でなくても良い)のセグメントを送信するために必要な時間と見做して帯域推測値SBWEを算出しても良い。 In Equation 5, RTTmin is considered to be a time required for transmitting one segment, but it is necessary for transmitting a number of segments other than 1 (not necessarily an integer). The band estimation value SBWE k may be calculated in consideration of time.

本発明の中継装置では、このような輻輳制御を行なうために、制御対象のネットワーク毎に制御部を備えているが、さらにネットワーク毎に記憶部を備えることも可能である。送信端末から中継装置に送信されたデータセグメントは記憶部に記憶され、中継装置は記憶部に記憶されたデータセグメントを受信端末に送信する。そして、再送処理が必要な場合は、記憶部に記憶されているデータセグメントを使用して、受信端末に再送する。この記憶部を使用した処理は、適用ネットワークか非適用ネットワークかに関係なく実行されるので、各制御部は他の制御部でのセグメント送受信とは独立して処理を実行することができる。また、送信端末と受信端末間ではなく、中継装置と受信端末間で再送処理を実行するので、再送処理にかかる時間を短縮でき、送信端末と中継装置の間での再送のための通信量の増加を抑えることができる。なお、ネットワーク毎に記憶部を備えるのではなく、1つの記憶部のみを備え、ネットワーク毎にその記憶部内の記憶領域を分割して使用するようにしても良い。   In the relay apparatus of the present invention, in order to perform such congestion control, a control unit is provided for each network to be controlled, but a storage unit may be further provided for each network. The data segment transmitted from the transmission terminal to the relay device is stored in the storage unit, and the relay device transmits the data segment stored in the storage unit to the reception terminal. When retransmission processing is necessary, the data segment stored in the storage unit is used for retransmission to the receiving terminal. Since processing using this storage unit is executed regardless of whether it is an applied network or a non-applied network, each control unit can execute processing independently of segment transmission / reception in other control units. In addition, since retransmission processing is performed between the relay device and the receiving terminal, not between the transmission terminal and the receiving terminal, the time required for the retransmission processing can be shortened, and the amount of communication for retransmission between the transmission terminal and the relay device can be reduced. The increase can be suppressed. Instead of providing a storage unit for each network, only one storage unit may be provided, and a storage area in the storage unit may be divided and used for each network.

以下に、本発明の実施の形態を、図面を参照して説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図3は、本発明に係る中継装置を含んだ全体のネットワーク環境の構成例(第1実施形態)を示す。本構成例では、無線ネットワークを適用ネットワークとし、インターネット上の有線ネットワークを非適用ネットワークとしている。無線ネットワークでは、パソコンやタブレット等の受信端末4と無線アクセスポイント2との間でセグメントの送受信を行い、無線アクセスポイント2に中継装置5が直結されている。インターネット上の有線ネットワークでは、インターネット6を介してサーバ7が中継装置5に接続されている。なお、通常、中継装置5とサーバ7との間にルータ等を介するが、本構成例では省略している。   FIG. 3 shows a configuration example (first embodiment) of the entire network environment including the relay device according to the present invention. In this configuration example, the wireless network is the application network, and the wired network on the Internet is the non-application network. In the wireless network, segments are transmitted and received between the receiving terminal 4 such as a personal computer or a tablet and the wireless access point 2, and the relay device 5 is directly connected to the wireless access point 2. In a wired network on the Internet, a server 7 is connected to the relay device 5 via the Internet 6. Normally, a router or the like is interposed between the relay device 5 and the server 7, but this is omitted in this configuration example.

第1実施形態では、図4に示されるように、非適用ネットワークに接続されているサーバ7からデータセグメント(図4では「セグメント」と表記)が中継装置5に送信され、中継装置5は、データセグメントを受信したら、確認応答セグメント(図4では「応答」と表記)をサーバ7に送信すると共に、データセグメントを記憶部40に記憶する。そして、適用ネットワークに接続されている受信端末4Aに、記憶部40に記憶されたデータセグメントを送信する。受信端末4Aは、データセグメントを受信したら、確認応答セグメントを中継装置5に送信する。記憶部40には、通信セッション毎にデータセグメントを記憶する領域(以下、「セッション別記憶バッファ」とする)が設けられており、サーバ7よりデータセグメントを受信したら、該当するセッション別記憶バッファに記憶する。   In the first embodiment, as shown in FIG. 4, a data segment (indicated as “segment” in FIG. 4) is transmitted from the server 7 connected to the non-applicable network to the relay device 5. When the data segment is received, an acknowledgment segment (indicated as “response” in FIG. 4) is transmitted to the server 7 and the data segment is stored in the storage unit 40. Then, the data segment stored in the storage unit 40 is transmitted to the receiving terminal 4A connected to the application network. When receiving the data segment, the receiving terminal 4A transmits an acknowledgment segment to the relay device 5. The storage unit 40 is provided with an area for storing a data segment for each communication session (hereinafter referred to as “session-specific storage buffer”). When a data segment is received from the server 7, it is stored in the corresponding session-specific storage buffer. Remember.

サーバ7から受信端末4Aへのセグメント送受信における再送処理も、中継装置5を介して行われる。即ち、セグメント損失等によりサーバ7から中継装置5に送信されるデータセグメントの一部が中継装置5に正しく届かなかった場合、中継装置5は、従来のTCPと同様の方法により、確認応答セグメントの有無や確認応答セグメント中のシーケンス番号を使用して、データセグメントの再送をサーバ7に要求する。中継装置5から受信端末4Aに送信されるデータセグメントの一部が受信端末4Aに正しく届かなかった場合は、中継装置5は、受信端末4Aから送信される確認応答セグメントの有無や確認応答セグメント中のシーケンス番号よりそのことを判定し、記憶部40に記憶されているデータセグメントを用いて、データセグメントの再送を行う。   The retransmission processing in the segment transmission / reception from the server 7 to the receiving terminal 4A is also performed via the relay device 5. That is, when a part of the data segment transmitted from the server 7 to the relay device 5 does not reach the relay device 5 correctly due to segment loss or the like, the relay device 5 uses the same method as that of the conventional TCP to confirm the confirmation response segment. The server 7 is requested to retransmit the data segment using the presence / absence and the sequence number in the acknowledgment segment. When a part of the data segment transmitted from the relay device 5 to the receiving terminal 4A does not reach the receiving terminal 4A correctly, the relay device 5 determines whether there is an acknowledgment segment transmitted from the receiving terminal 4A or the confirmation response segment. This is determined from the sequence number of the data segment, and the data segment is retransmitted using the data segment stored in the storage unit 40.

第1実施形態の中継装置5の構成例を図5に示す。中継装置5は、制御部10、セグメント管理部20、制御部30及び記憶部40を備える。なお、図5には、図3における非適用ネットワークから適用ネットワークにデータセグメントを送信する場合の輻輳制御の説明に必要な構成要素のみを示している。このことは、後述の制御部10及び制御部30の構成例を示す図6及び図7においても同様である。   An example of the configuration of the relay device 5 of the first embodiment is shown in FIG. The relay device 5 includes a control unit 10, a segment management unit 20, a control unit 30, and a storage unit 40. FIG. 5 shows only components necessary for explaining the congestion control when a data segment is transmitted from the non-application network to the application network in FIG. This also applies to FIGS. 6 and 7 showing examples of configurations of the control unit 10 and the control unit 30 described later.

制御部10は、サーバ7から送信されるデータセグメントDsegを入力し、サーバ7に送信する確認応答セグメントAckSを出力すると共に、データセグメントDsegをセグメント管理部20に出力する。制御部10は、従来のTCP、例えばTCP CUBICにより輻輳制御を行う。なお、TCPはプロトコル構造でのトランスポート層に位置し、通常、サーバ7から送信されるデータはトランスポート層より下位の層を経て、トランスポート層に入力されるが、制御部10が入力するデータセグメントDsegは下位の層を経ているものとする。同様に、制御部10が出力する確認応答セグメントAckSは、下位の層を経て、サーバ7に送信されるものとする。   The control unit 10 receives the data segment Dseg transmitted from the server 7, outputs the confirmation response segment AckS transmitted to the server 7, and outputs the data segment Dseg to the segment management unit 20. The control unit 10 performs congestion control using conventional TCP, for example, TCP CUBIC. Note that TCP is located in the transport layer in the protocol structure. Normally, data transmitted from the server 7 is input to the transport layer through a layer lower than the transport layer, but is input by the control unit 10. It is assumed that the data segment Dseg has passed through the lower layers. Similarly, it is assumed that the confirmation response segment AckS output from the control unit 10 is transmitted to the server 7 via the lower layer.

制御部10の構成例を図6に示す。制御部10はセグメント受信部110、確認応答生成部120及びセグメント送信部130を備える。セグメント受信部110は、データセグメントDsegを入力し、TCPで通常実行されているエラー確認等のデータ入力処理を行った後、データセグメントDsegを確認応答生成部120に出力すると共に、セグメント管理部20に出力する。確認応答生成部120は、データセグメントDsegの情報から、従来のTCPと同様の手順により確認応答セグメントAckSを生成し、セグメント送信部130に出力する。セグメント送信部130は、確認応答セグメントAckSを下位の層へ出力するための処理を行った後、出力する。   A configuration example of the control unit 10 is shown in FIG. The control unit 10 includes a segment reception unit 110, an acknowledgment generation unit 120, and a segment transmission unit 130. The segment receiving unit 110 receives the data segment Dseg, performs data input processing such as error confirmation normally performed in TCP, and then outputs the data segment Dseg to the confirmation response generation unit 120 and the segment management unit 20 Output to. The confirmation response generation unit 120 generates the confirmation response segment AckS from the information of the data segment Dseg by the same procedure as that of the conventional TCP, and outputs it to the segment transmission unit 130. The segment transmission unit 130 performs the process for outputting the confirmation response segment AckS to the lower layer, and then outputs it.

セグメント管理部20は、制御部10から出力されるデータセグメントDsegを入力し、記憶部40に格納する。上述のように、記憶部40には、通信セッション毎にセッション別記憶バッファが設けられているので、データセグメントDseg中の宛先ポート番号を基に通信セッションを特定し、対応するセッション別記憶部バッファにデータセグメントDsegを格納する。   The segment management unit 20 receives the data segment Dseg output from the control unit 10 and stores it in the storage unit 40. As described above, since the storage unit 40 is provided with a session-specific storage buffer for each communication session, the communication session is specified based on the destination port number in the data segment Dseg, and the corresponding session-specific storage unit buffer. Stores the data segment Dseg.

記憶部40に記憶されているデータセグメントDsegは、後述の制御部30からのセグメント要求Rsに従って、セグメント管理部20を経由して制御部30に入力される。セグメント管理部20は、セグメント要求Rsを基に、要求されている通信セッションとシーケンス番号に対応するデータセグメントDsegを記憶部40から読み込み、制御部30に出力する。ただ、セッション別記憶バッファに最初に格納されるデータセグメントDsegに関しては、記憶部40に格納された時点で、制御部30に出力する。   The data segment Dseg stored in the storage unit 40 is input to the control unit 30 via the segment management unit 20 in accordance with a segment request Rs from the control unit 30 described later. The segment management unit 20 reads the data segment Dseg corresponding to the requested communication session and sequence number from the storage unit 40 based on the segment request Rs and outputs the data segment Dseg to the control unit 30. However, the data segment Dseg that is initially stored in the session-specific storage buffer is output to the control unit 30 when it is stored in the storage unit 40.

セグメント管理部20は、後述の制御部30からの消去指令Cdに従った処理も行う。消去指令Cdを基に、消去すべき通信セッションとシーケンス番号を確認し、対応するデータセグメントDsegを記憶部40から消去する。   The segment management unit 20 also performs processing in accordance with an erase command Cd from the control unit 30 described later. Based on the erase command Cd, the communication session and sequence number to be erased are confirmed, and the corresponding data segment Dseg is erased from the storage unit 40.

制御部30は、セグメント管理部20から出力されるデータセグメントDsegを入力し、受信端末4Aに送信する。また、受信端末4Aから送信される確認応答セグメントAckRを入力し、確認応答セグメントAckRの情報を基に、セグメント要求Rs及び消去指令Cdを生成し、セグメント管理部20に出力する。制御部30では、数5に基づいた輻輳制御が行われる。なお、制御部10と同様に、制御部30に入力される確認応答セグメントAckRは下位の層を経ているものとし、出力されるデータセグメントDsegは下位の層を経て送信されるものとする。   The control unit 30 receives the data segment Dseg output from the segment management unit 20 and transmits it to the receiving terminal 4A. Also, the confirmation response segment AckR transmitted from the receiving terminal 4A is input, the segment request Rs and the erasure command Cd are generated based on the information of the confirmation response segment AckR, and output to the segment management unit 20. The control unit 30 performs congestion control based on Equation 5. As with the control unit 10, the acknowledgment segment AckR input to the control unit 30 is assumed to pass through the lower layer, and the output data segment Dseg is assumed to be sent via the lower layer.

制御部30の構成例を図7に示す。制御部30はセグメント受信部310、輻輳制御部320及びセグメント送信部330を備える。   A configuration example of the control unit 30 is shown in FIG. The control unit 30 includes a segment reception unit 310, a congestion control unit 320, and a segment transmission unit 330.

セグメント受信部310は、確認応答セグメントAckRを入力し、確認応答セグメントAckRに対して、セグメント受信部110と同様に、TCPで通常実行されているエラー確認等のデータ入力処理を行った後、輻輳制御部320に出力する。   The segment receiving unit 310 receives the confirmation response segment AckR, and performs the data input processing such as error confirmation normally performed in TCP on the confirmation response segment AckR, as in the case of the segment receiving unit 110, and then the congestion. Output to the controller 320.

輻輳制御部320は、数5に基づいた輻輳制御を行う。輻輳制御はスロースタート、輻輳回避及び輻輳検知の段階があり、さらに、輻輳検知には三重複応答による輻輳検知と再送タイムアウトによる輻輳検知がある。三重複応答による輻輳検知では、シーケンス番号が同じ確認応答セグメントAckRを3回連続で受信端末4Aから受信した場合、輻輳検知と判定する。再送タイムアウトによる輻輳検知では、データセグメントDsegを受信端末4Aに送信後、所定の時間が経ってもそのデータセグメントDsegに対する確認応答セグメントAckRを受信しない場合、輻輳検知と判定する。これらの輻輳検知のタイミング以外がスロースタート又は輻輳回避の段階であり、スロースタートと輻輳回避の区別は、輻輳ウインドウCWNDとスロースタート閾値ssthreshとの比較により行われる。即ち、輻輳ウインドウCWNDがスロースタート閾値ssthreshより小さい場合はスロースタートの段階であり、そうでない場合は輻輳回避の段階である。   The congestion control unit 320 performs congestion control based on Equation 5. Congestion control includes stages of slow start, congestion avoidance, and congestion detection, and congestion detection includes congestion detection based on a triple overlap response and congestion detection based on a retransmission timeout. In the congestion detection by the triple overlap response, if the confirmation response segment AckR having the same sequence number is received from the receiving terminal 4A three times in succession, it is determined that the congestion is detected. In congestion detection due to retransmission timeout, if the acknowledgment segment AckR for the data segment Dseg is not received even after a predetermined time has elapsed after the data segment Dseg is transmitted to the receiving terminal 4A, it is determined that congestion is detected. The timing other than the congestion detection timing is the slow start or congestion avoidance stage, and the distinction between the slow start and the congestion avoidance is performed by comparing the congestion window CWND and the slow start threshold ssthresh. That is, when the congestion window CWND is smaller than the slow start threshold ssthresh, it is a slow start stage, and when it is not, it is a congestion avoidance stage.

スロースタートにおいては、下記数8に従って輻輳ウインドウCWNDを更新し、輻輳回避においては、下記数9に従って輻輳ウインドウCWNDを更新する。   In the slow start, the congestion window CWND is updated according to the following formula 8, and in the congestion avoidance, the congestion window CWND is updated according to the following formula 9.

更新後、受信端末4Aに送信すべきデータセグメントDsegの通信セッションとシーケンス番号を確認応答セグメントAckRから特定し、セグメント要求Rsとしてセグメント管理部20に出力する。なお、複数のデータセグメントDsegの要求に対して、1つのセグメント要求Rsを出力するようにしても良い。 After the update, the communication session and sequence number of the data segment Dseg to be transmitted to the receiving terminal 4A are specified from the confirmation response segment AckR, and output to the segment management unit 20 as the segment request Rs. Note that one segment request Rs may be output in response to requests for a plurality of data segments Dseg.

三重複応答による輻輳検知の場合は、前記数3に従って、スロースタート閾値ssthresh及び輻輳ウインドウCWNDを変更し、再送タイムアウトによる輻輳検知の場合は、前記数4に従って、スロースタート閾値ssthresh及び輻輳ウインドウCWNDを変更する。この際に使用する帯域推測値SBWE及び利用可能帯域BWEは、確認応答セグメントAckRを入力する度に、前記数5及び数2に従って、最新の値にしておく。帯域推測値SBWEの算出に使用する往復遅延時間の最小値RTTminは、制御部30がデータセグメントDsegを送信してから、それに対する確認応答セグメントAckRを受信するまでの時間を往復遅延時間として算出し、算出された往復遅延時間をその時点での最小値と比較することにより、更新していく。利用可能帯域BWEの算出に使用する定数αは、TCP Westwood+の推奨値である0.9とする。スロースタート閾値ssthresh及び輻輳ウインドウCWNDの変更後は、受信端末4Aに再送すべきデータセグメントDsegの通信セッション及びシーケンス番号をセグメント要求Rsとしてセグメント管理部20に出力する。 In the case of congestion detection due to the triple overlap response, the slow start threshold ssthresh and the congestion window CWND are changed according to the above equation 3, and in the case of congestion detection due to retransmission timeout, the slow start threshold ssthresh and the congestion window CWND are determined according to the above equation 4. change. The bandwidth estimation value SBWE k and the available bandwidth BWE k used at this time are set to the latest values according to the equations 5 and 2 each time the confirmation response segment AckR is input. The round-trip delay time minimum value RTTmin used for calculating the band estimation value SBWE k is calculated as the round-trip delay time from the time when the control unit 30 transmits the data segment Dseg to the reception of the acknowledgment segment AckR. Then, the calculated round-trip delay time is updated by comparing it with the minimum value at that time. The constant α used to calculate the available bandwidth BWE k is 0.9, which is the recommended value for TCP Westwood +. After changing the slow start threshold ssthresh and the congestion window CWND, the communication session and sequence number of the data segment Dseg to be retransmitted to the receiving terminal 4A are output to the segment management unit 20 as the segment request Rs.

データセグメントDsegが正常に受信端末4Aに送信された場合、記憶部40に記憶されている当該のデータセグメントDsegは不要となるから、輻輳制御部320からセグメント管理部20に消去指令Cdを出力し、当該のデータセグメントDsegを記憶部40から消去するようにする。データセグメントDsegが正常に送信されたかは、スロースタート及び輻輳回避の段階において、確認応答セグメントAckR中のシーケンス番号を用いて、従来のTCPの場合と同様に、入力した確認応答セグメントAckRが次のデータセグメントの送信を要求する確認応答セグメントであるかで判定する。消去すべきデータセグメントDsegの通信セッション及びシーケンス番号を消去指令Cdとして出力し、セグメント管理部20は、消去指令Cdより消去すべきデータセグメントDsegを特定し、記憶部40から消去する。なお、複数のデータセグメントDsegの消去に対して、1つの消去指令Cdを出力するようにしても良い。   When the data segment Dseg is normally transmitted to the receiving terminal 4A, the data segment Dseg stored in the storage unit 40 becomes unnecessary, and therefore the congestion control unit 320 outputs an erasure command Cd to the segment management unit 20. The data segment Dseg is erased from the storage unit 40. Whether the data segment Dseg has been transmitted normally is determined by using the sequence number in the acknowledgment segment AckR at the slow start and congestion avoidance stage, as in the case of the conventional TCP, the input acknowledgment segment AckR is the next one. It is determined whether it is an acknowledgment segment that requests transmission of a data segment. The communication session and sequence number of the data segment Dseg to be erased are output as the erase command Cd, and the segment management unit 20 identifies the data segment Dseg to be erased from the erase command Cd and erases it from the storage unit 40. Note that one erasure command Cd may be output for erasing a plurality of data segments Dseg.

セグメント要求Rsによりセグメント管理部20から出力されるデータセグメントDsegを輻輳制御部320が入力したら、セグメント送信部330に出力する。ただ、セッション別記憶バッファに最初に格納されるデータセグメントDsegに関しては、確認応答セグメントAckRに基づいたセグメント要求Rsを生成することができないので、データセグメントDsegが記憶部40に格納された時点でセグメント管理部20から輻輳制御部320にデータセグメントDsegが入力され、それをセグメント送信部330に出力する。   When the congestion control unit 320 inputs the data segment Dseg output from the segment management unit 20 in response to the segment request Rs, the data segment Dseg is output to the segment transmission unit 330. However, since the segment request Rs based on the acknowledgment segment AckR cannot be generated for the data segment Dseg that is initially stored in the session-specific storage buffer, the segment when the data segment Dseg is stored in the storage unit 40 cannot be generated. The data segment Dseg is input from the management unit 20 to the congestion control unit 320 and is output to the segment transmission unit 330.

セグメント送信部330は、データセグメントDsegに対して、セグメント送信部130と同様に、下位の層へ出力するための処理を行った後、出力する。   Similar to the segment transmission unit 130, the segment transmission unit 330 outputs the data segment Dseg after performing processing for output to the lower layer.

なお、受信端末4Aへのデータセグメント送信に当たっては、受信端末4Aが備えるバッファに基づいて設定されるウインドウサイズによるフロー制御も実行されるが、本実施形態では、輻輳ウインドウに比べてウインドウサイズは常に大きく、データセグメント送信は輻輳制御にのみ依存して実行されるものとする。   Note that when transmitting a data segment to the receiving terminal 4A, flow control based on a window size set based on a buffer provided in the receiving terminal 4A is also executed. However, in this embodiment, the window size is always set as compared to the congestion window. Largely, it is assumed that data segment transmission is performed only depending on congestion control.

以上の構成において、確認応答セグメントAckRを入力してからの制御部30の動作例を、図8及び図9のフローチャートを参照して説明する。   With the above configuration, an example of the operation of the control unit 30 after inputting the confirmation response segment AckR will be described with reference to the flowcharts of FIGS.

制御部30が確認応答セグメントAckRを入力したら(ステップS10)、確認応答セグメントAckRはセグメント受信部310に入力される。セグメント受信部310は、確認応答セグメントAckRに対してデータ入力処理を行い(ステップS20)、輻輳制御部320に出力する。   When the control unit 30 inputs the confirmation response segment AckR (step S10), the confirmation response segment AckR is input to the segment reception unit 310. The segment receiving unit 310 performs data input processing on the confirmation response segment AckR (step S20) and outputs the result to the congestion control unit 320.

輻輳制御部320は、確認応答セグメントAckRの情報を基に往復遅延時間を算出し、算出された往復遅延時間が往復遅延時間の最小値RTTminより小さい場合は、算出された往復遅延時間をRTTminとし、そうでなければ、RTTminはそのままとする(ステップS30)。そして、往復遅延時間の最小値RTTminを用いて、数5及び数2より帯域推測値SBWE及び利用可能帯域BWEを算出する(ステップS40)。 The congestion control unit 320 calculates the round-trip delay time based on the information of the confirmation response segment AckR. If the calculated round-trip delay time is smaller than the minimum round-trip delay time value RTTmin, the calculated round-trip delay time is set as RTTmin. Otherwise, RTTmin is left as it is (step S30). Then, using the minimum value RTTmin of the round-trip delay time, the band estimation value SBWE k and the usable band BWE k are calculated from Formula 5 and Formula 2 (Step S40).

次に、輻輳制御部320は、確認応答セグメントAckR中のシーケンス番号を確認し、3回連続同じシーケンス番号である三重複応答であるか確認し(ステップS50)、確認結果が三重複応答ではない場合、輻輳ウインドウCWNDとスロースタート閾値ssthreshとを比較する(ステップS60)。輻輳ウインドウCWNDがスロースタート閾値ssthreshより小さい場合、スロースタートの段階と判定し、数8により輻輳ウインドウCWNDを更新し(ステップS70)、輻輳ウインドウCWNDがスロースタート閾値ssthresh以上の場合は、輻輳回避の段階と判定し、数9により輻輳ウインドウCWNDを更新する(ステップS80)。そして、確認応答セグメントAckRが次のデータセグメントの送信を要求する確認応答セグメントであるか確認し(ステップS90)、次のデータセグメント送信要求の場合、送信すべきデータセグメントDsegの通信セッションとシーケンス番号を確認応答セグメントAckRから特定し、セグメント要求Rsとしてセグメント管理部20に出力する(ステップS100)。さらに、確認応答セグメントAckRが次のデータセグメント送信要求であることによって正常に送信されたことが確認されたデータセグメントDsegを記憶部40から消去するために、当該データセグメントDsegの通信セッション及びシーケンス番号を消去指令Cdとしてセグメント管理部20に出力する(ステップS110)。確認応答セグメントAckRが次のデータセグメント送信要求ではない場合、リターンとなる。なお、ステップS100とステップS110の順番は逆でも良い。   Next, the congestion control unit 320 confirms the sequence number in the confirmation response segment AckR, confirms whether the response is a triple response with the same sequence number three times in succession (step S50), and the confirmation result is not a triple response. In this case, the congestion window CWND is compared with the slow start threshold value ssthresh (step S60). If the congestion window CWND is smaller than the slow start threshold ssthresh, it is determined as a slow start stage, and the congestion window CWND is updated by Equation 8 (step S70). If the congestion window CWND is greater than or equal to the slow start threshold ssthresh, congestion avoidance is performed. The stage is determined, and the congestion window CWND is updated by Equation 9 (step S80). Then, it is confirmed whether the acknowledgment segment AckR is an acknowledgment segment that requests transmission of the next data segment (step S90), and in the case of the next data segment transmission request, the communication session and sequence number of the data segment Dseg to be transmitted Is identified from the confirmation response segment AckR, and is output to the segment management unit 20 as the segment request Rs (step S100). Further, in order to erase the data segment Dseg confirmed that the acknowledgment segment AckR is normally transmitted by the next data segment transmission request from the storage unit 40, the communication session and sequence number of the data segment Dseg Is output to the segment management unit 20 as an erasure command Cd (step S110). If the confirmation response segment AckR is not a next data segment transmission request, a return is returned. Note that the order of step S100 and step S110 may be reversed.

ステップS50において、確認結果が三重複応答の場合は、輻輳検知と判定し、ステップS40で算出した帯域推測値SBWE及び利用可能帯域BWEを用いて、数3よりスロースタート閾値ssthresh及び輻輳ウインドウCWNDを変更する(ステップS120)。そして、確認応答セグメントAckRの情報より、再送すべきデータセグメントDsegを特定し、当該データセグメントDsegの通信セッション及びシーケンス番号をセグメント要求Rsとしてセグメント管理部20に出力する(ステップS130)。 If the confirmation result is a triple response in step S50, it is determined that congestion is detected, and the slow start threshold ssthresh and the congestion window are calculated from Equation 3 using the estimated bandwidth value SBWE k and the available bandwidth BWE k calculated in step S40. CWND is changed (step S120). Then, the data segment Dseg to be retransmitted is specified from the information of the acknowledgment segment AckR, and the communication session and sequence number of the data segment Dseg are output to the segment management unit 20 as the segment request Rs (step S130).

セグメント要求Rsに応じて、セグメント管理部20からデータセグメントDsegが出力され、輻輳制御部320がデータセグメントDsegを入力したら(ステップS140)、そのデータセグメントDsegをセグメント送信部330に出力する。   In response to the segment request Rs, when the data segment Dseg is output from the segment management unit 20 and the congestion control unit 320 inputs the data segment Dseg (step S140), the data segment Dseg is output to the segment transmission unit 330.

セグメント送信部330は、入力したデータセグメントDsegに対して、下位の層へ出力するための処理を行い、出力する(ステップS150)。出力の際、出力したデータセグメントDsegに対する再送タイマをスタートさせる(ステップS160)。   The segment transmission unit 330 performs processing for outputting the input data segment Dseg to the lower layer and outputs the processed data segment Dseg (step S150). At the time of output, a retransmission timer for the output data segment Dseg is started (step S160).

以上の動作が、確認応答セグメントAckRが入力される度に実行される。   The above operation is executed every time an acknowledgment segment AckR is input.

再送タイムアウトによる輻輳検知での再送処理は、再送タイマからの割込みにより実行される。即ち、再送タイマが、設定された時間を越えてタイムアウトとなったら、割込みが発生し、再送タイムアウトによる輻輳検知として、ステップS40で算出した帯域推測値SBWE及び利用可能帯域BWEを用いて、数4よりスロースタート閾値ssthresh及び輻輳ウインドウCWNDを変更する(ステップS200)。その後、三重複応答による輻輳検知の場合と同様に、確認応答セグメントAckRの情報より、再送すべきデータセグメントDsegを特定し、当該データセグメントDsegの通信セッション及びシーケンス番号をセグメント要求Rsとしてセグメント管理部20に出力する(ステップS210)。そして、ステップS140〜S160と同じ動作により、データセグメントDsegを出力し、再送タイマをスタートさせる(ステップS220〜S240)。 Retransmission processing in congestion detection due to retransmission timeout is executed by interruption from the retransmission timer. In other words, when the retransmission timer times out beyond the set time, an interrupt is generated, and the bandwidth estimation value SBWE k and the available bandwidth BWE k calculated in step S40 are used as congestion detection due to retransmission timeout, The slow start threshold ssthresh and the congestion window CWND are changed from Equation 4 (step S200). Thereafter, as in the case of the congestion detection by the triple overlap response, the data segment Dseg to be retransmitted is specified from the information of the confirmation response segment AckR, and the communication session and sequence number of the data segment Dseg are set as the segment request Rs to the segment management unit 20 (step S210). Then, by the same operation as steps S140 to S160, the data segment Dseg is output and the retransmission timer is started (steps S220 to S240).

なお、再送タイムアウトによる輻輳検知での再送処理は、割込みによる処理ではなく、再送タイマの適宜チェックによる処理等で実行しても良い。また、本再送処理でのステップS220〜S240を本再送処理では実行せず、ステップS140〜S160の実行で兼用しても良い。   Note that the retransmission processing in congestion detection due to retransmission timeout may be executed not by processing by interruption but by processing by appropriately checking the retransmission timer. Further, steps S220 to S240 in the retransmission process may not be executed in the retransmission process, and may be used in the execution of steps S140 to S160.

上記の説明は、非適用ネットワークから適用ネットワークにデータセグメントを送信する場合の構成及び動作についての説明だが、逆方向、即ち、適用ネットワークから非適用ネットワークへのデータセグメントの送信も本実施形態で可能である。この場合も中継装置5を介してデータセグメントが送信されるが、受信端末4Aから中継装置5へのデータセグメント送信及び中継装置5からサーバ7へのデータセグメント送信では、共に従来のTCPによる輻輳制御が行われ、制御部30が制御部10と同様な動作を行う。この場合、セグメント受信部110、確認応答生成部120及びセグメント送信部130と同等な構成要素を制御部30にそれぞれ備えさせても良いし、セグメント受信部310、輻輳制御部320及びセグメント送信部330が、それぞれセグメント受信部110、確認応答生成部120及びセグメント送信部130の機能を兼ねるようにしても良い。制御部10は、制御部30と同様な動作を行うが、輻輳制御は従来のTCPにより行われる。この場合も、セグメント受信部310、輻輳制御部320(但し、従来のTCPによる輻輳制御を実行)及びセグメント送信部330と同等な構成要素を制御部10にそれぞれ備えさせても良いし、セグメント受信部110、確認応答生成部120及びセグメント送信部130が、それぞれセグメント受信部310、輻輳制御部320及びセグメント送信部330の機能を兼ねるようにしても良い。なお、記憶部については、記憶部40とは別の記憶部を備えるか、記憶部40に別の領域を設けるかして、記憶するデータセグメントを区別するようにする。   Although the above description is about the configuration and operation when a data segment is transmitted from the non-application network to the application network, transmission of the data segment from the application network to the non-application network is also possible in this embodiment. It is. In this case as well, the data segment is transmitted via the relay device 5. However, in the data segment transmission from the receiving terminal 4A to the relay device 5 and the data segment transmission from the relay device 5 to the server 7, congestion control by conventional TCP is used. The control unit 30 performs the same operation as that of the control unit 10. In this case, the control unit 30 may be provided with components equivalent to the segment reception unit 110, the confirmation response generation unit 120, and the segment transmission unit 130, or the segment reception unit 310, the congestion control unit 320, and the segment transmission unit 330, respectively. However, they may also function as the segment receiver 110, the confirmation response generator 120, and the segment transmitter 130, respectively. The control unit 10 performs the same operation as the control unit 30, but congestion control is performed by conventional TCP. Also in this case, the control unit 10 may be provided with components equivalent to the segment reception unit 310, the congestion control unit 320 (however, the conventional congestion control by TCP) and the segment transmission unit 330 may be provided, and the segment reception may be performed. The unit 110, the confirmation response generation unit 120, and the segment transmission unit 130 may function as the segment reception unit 310, the congestion control unit 320, and the segment transmission unit 330, respectively. In addition, about a memory | storage part, the data segment to memorize | store is distinguished by providing a memory | storage part different from the memory | storage part 40, or providing another area | region in the memory | storage part 40. FIG.

ここで、第1実施形態の効果を、従来のTCP Westwood+による輻輳制御と比較することにより説明する。   Here, the effect of the first embodiment will be described by comparing with the congestion control by the conventional TCP Westwood +.

図10は、従来のTCP Westwood+による輻輳制御での輻輳ウインドウCWNDの変化と、第1実施形態による輻輳制御での輻輳ウインドウCWNDの変化を示す図である。図10(A)が従来のTCP Westwood+の場合で、図10(B)が第1実施形態の場合で、縦軸が輻輳ウインドウCWND、横軸が時間である。実線が輻輳ウインドウCWNDの変化を、太い点線がスロースタート閾値ssthreshの変化を表わしており、BWE×RTTminの値を破線で示している。図10において、三重複応答により輻輳制御が実行された時点(時点t)から、再送タイムアウトとなる輻輳ウインドウCWNDの値が同じであるとして、図10(A)及び(B)においてそれぞれ時点t及びtで再送タイムアウトとなったとする。図10からわかるように、図10(B)の第1実施形態の場合、BWE×RTTminの値が小さく変動も少ない安定的な通信ができており、再送タイムアウトとなるまでの時間が相対的に長くなり、輻輳制御が実行された時点tから再送タイムアウトの時点までの送信量(グレーとなっている三角形の領域)も相対的に多くなっており、輻輳検知の回数を減らすことが可能となっている。また、再送タイムアウトとなった後、輻輳回避の段階(輻輳ウインドウCWNDがスロースタート閾値ssthresh以上になる段階)までの移行時間が、図10(B)の方が短いことがわかる。これにより、急激な送信レートの増加を抑え、セグメント損失を抑えることができる。 FIG. 10 is a diagram illustrating a change in the congestion window CWND in the congestion control according to the conventional TCP Westwood + and a change in the congestion window CWND in the congestion control according to the first embodiment. FIG. 10A shows the case of the conventional TCP Westwood +, FIG. 10B shows the case of the first embodiment, the vertical axis is the congestion window CWND, and the horizontal axis is time. A solid line represents a change in the congestion window CWND, a thick dotted line represents a change in the slow start threshold ssthresh, and a value of BWE k × RTTmin is indicated by a broken line. In FIG. 10, it is assumed that the value of the congestion window CWND that causes retransmission timeout is the same from the time point when the congestion control is executed by the triple overlap response (time point t 1 ). and it became the retransmission timeout in 2 and t 3. As can be seen from FIG. 10, in the case of the first embodiment shown in FIG. 10B, stable communication is possible with a small value of BWE k × RTTmin and little fluctuation, and the time until a retransmission timeout is relative. becomes long, the transmission amount from the time point t 1 where the congestion control is performed up to the point of retransmission timeout (the triangular area has a gray) has also become relatively large, it is possible to reduce the number of the congestion detecting It has become. Also, it can be seen that the transition time from the retransmission timeout to the congestion avoidance stage (the stage where the congestion window CWND becomes equal to or higher than the slow start threshold ssthresh) is shorter in FIG. As a result, a sudden increase in transmission rate can be suppressed and segment loss can be suppressed.

本発明の他の実施形態について説明する。   Another embodiment of the present invention will be described.

第1実施形態のように無線アクセスポイントを経由した通信では、図2に示されるように、通信データ量に関係なくランダムな遅延ジッタが生じるため、数5のように往復遅延時間の最小値RTTminを1つのセグメントを送信するための時間と見做す方法は、受信端末が多い場合はランダムな遅延ジッタの影響を抑制できるので、有効である。しかし、受信端末が1台等、極端に少ない場合は、従来のTCP Westwood+での輻輳制御が有効に働く。そこで、中継装置での中継処理を開始する時点において受信端末の数又は通信セッションの数を検知し、検知された受信端末数(以下、「検知端末数」とする)又は通信セッション数(以下、「検知セッション数」とする)が所定の値(閾値)以上の場合のみ数5を用いた輻輳制御を行うようにする。つまり、検知端末数が受信端末用の閾値(以下、「端末閾値」とする)以上又は検知セッション数が通信セッション用の閾値(以下、「セッション閾値」とする)以上の場合、数5を用いて帯域推測値SBWEを算出し、それ以外の場合(検知端末数が端末閾値より小さく、且つ検知セッション数がセッション閾値より小さい場合)、従来のTCP Westwood+で使用している数1を用いて帯域推測値SBWEを算出する。
In communication via a wireless access point as in the first embodiment, random delay jitter occurs regardless of the amount of communication data, as shown in FIG. 2, so the minimum value RTTmin of the round trip delay time as shown in Equation 5 Is effective since it can suppress the influence of random delay jitter when there are many receiving terminals. However, when the number of receiving terminals is extremely small, such as one, the conventional congestion control using TCP Westwood + works effectively. Therefore, the number of receiving terminals or the number of communication sessions is detected at the time of starting relay processing in the relay device, and the number of detected receiving terminals (hereinafter referred to as “the number of detected terminals”) or the number of communication sessions (hereinafter, Only when the “number of detected sessions” is equal to or greater than a predetermined value (threshold), the congestion control using the number 5 is performed. That is, when the number of detected terminals is equal to or greater than the threshold for receiving terminals (hereinafter referred to as “terminal threshold”) or the number of detected sessions is equal to or greater than the threshold for communication sessions (hereinafter referred to as “session threshold”), Formula 5 is used. calculating a bandwidth estimates SBWE k Te, otherwise (speed detection terminals rather smaller than terminal a threshold, and if the number of detection session is less than the session threshold), the number 1 being used in conventional TCP Westwood + The band estimation value SBWE k is calculated by using this.

本実施形態(第2実施形態)の中継装置の構成例を図11に示す。図5に示される第1実施形態の構成例と比べると、制御部30が制御部50となっている。他の構成要素は第1実施形態の構成例と同じであるから、説明は省略する。   FIG. 11 shows a configuration example of the relay device of the present embodiment (second embodiment). Compared to the configuration example of the first embodiment shown in FIG. 5, the control unit 30 is a control unit 50. Other constituent elements are the same as those in the first embodiment, and the description thereof will be omitted.

制御部50の構成例を図12に示す。図7に示される第1実施形態での制御部30の構成例と比べると、閾値設定部540及び対象検知部550が追加され、輻輳制御部320が輻輳制御部520となっている。他の構成要素は第1実施形態での制御部30の構成例と同じであるから、説明は省略する。   A configuration example of the control unit 50 is shown in FIG. Compared to the configuration example of the control unit 30 in the first embodiment shown in FIG. 7, a threshold setting unit 540 and a target detection unit 550 are added, and the congestion control unit 320 is a congestion control unit 520. The other components are the same as the configuration example of the control unit 30 in the first embodiment, and thus the description thereof is omitted.

閾値設定部540は、使用する無線アクセスポイントや使用目的、設置環境等に基づいて設定される端末閾値Tht及びセッション閾値Thsを輻輳制御部520に出力する。   The threshold setting unit 540 outputs the terminal threshold Tht and the session threshold Ths set based on the wireless access point to be used, the purpose of use, the installation environment, and the like to the congestion control unit 520.

対象検知部550は、制御部50が中継処理を開始した時点において、適用ネットワーク(本実施形態では無線ネットワーク)内の受信端末数及び通信セッション数を検知し、検知端末数Nt及び検知セッション数Nsとして輻輳制御部520に出力する。   The target detection unit 550 detects the number of reception terminals and the number of communication sessions in the applied network (in this embodiment, a wireless network) at the time when the control unit 50 starts relay processing, and detects the number of detection terminals Nt and the number of detection sessions Ns. Is output to the congestion control unit 520.

輻輳制御部520は、基本的な機能は輻輳制御部320と同じであるが、帯域推測値SBWEの算出式を、検知端末数Ntと端末閾値Thtとの比較及び検知セッション数Nsとセッション閾値Thsとの比較に基づいて変える。具体的には、検知端末数Ntが端末閾値Tht以上の場合、又は検知セッション数Nsがセッション閾値Ths以上の場合、数5を用いて帯域推測値SBWEを算出し、それ以外の場合、数1を用いて帯域推測値SBWEを算出する。 The congestion control unit 520 has the same basic function as that of the congestion control unit 320, but uses a calculation formula for the estimated bandwidth value SBWE k by comparing the number of detected terminals Nt and the terminal threshold Tht and the number of detected sessions Ns and the session threshold. Change based on comparison with Ths. Specifically, when the number of detected terminals Nt is equal to or greater than the terminal threshold Tht, or when the number of detected sessions Ns is equal to or greater than the session threshold Ths, the band estimation value SBWE k is calculated using Formula 5, otherwise, the number 1 is used to calculate the band estimation value SBWE k .

第2実施形態での確認応答セグメントAckRを受信してからの制御部50の動作は、図8及び図9に示されている第1実施形態での動作例でのステップS40の「帯域推測値、利用可能帯域算出」の動作が異なるのみで、他の動作は第1実施形態での動作例と同じである。その異なる箇所の動作例を、図13のフローチャートを参照して説明する。なお、端末閾値Tht及びセッション閾値Thsは閾値設定部540にて既に設定されており、検知端末数Nt及び検知セッション数Nsは対象検知部550にて既に検知されているものとする。   The operation of the control unit 50 after receiving the acknowledgment segment AckR in the second embodiment is the “bandwidth estimation value” in step S40 in the operation example in the first embodiment shown in FIGS. The operation of “available bandwidth calculation” is different, and the other operations are the same as the operation example in the first embodiment. An example of the operation of the different portions will be described with reference to the flowchart of FIG. It is assumed that the terminal threshold Tht and the session threshold Ths are already set by the threshold setting unit 540, and the detected terminal number Nt and the detected session number Ns are already detected by the target detecting unit 550.

輻輳制御部520は、往復遅延時間の最小値RTTmin算出(図8のステップS30)後、確認応答セグメントAckRに含まれる確認応答の数Aを確認する(ステップS410)。次に、閾値設定部540より端末閾値Tht及びセッション閾値Thsを入力し(ステップS420)、対象検知部550より検知端末数Nt及び検知セッション数Nsを入力する(ステップS430)。そして、検知端末数Ntと端末閾値Thtとの比較及び検知セッション数Nsとセッション閾値Thsとの比較を行い(ステップS440)、検知端末数Ntが端末閾値Tht以上又は検知セッション数Nsがセッション閾値Ths以上の場合、数5より帯域推測値SBWEを算出し(ステップS450)、それ以外の場合、ステップS30において算出した往復遅延時間RTT及びステップS410で確認した確認応答の数Aを用いて、数1より帯域推測値SBWEを算出する(ステップS460)。帯域推測値SBWE算出後、数2より利用可能帯域BWEを算出する(ステップS470)。 Congestion control unit 520, after the minimum value RTTmin calculating the round trip time (step S30 in FIG. 8), check the number A S acknowledgments contained in the acknowledgment segment AckR (step S410). Next, the terminal threshold Tht and the session threshold Ths are input from the threshold setting unit 540 (step S420), and the number of detected terminals Nt and the number of detected sessions Ns are input from the target detection unit 550 (step S430). Then, the number of detected terminals Nt is compared with the terminal threshold Tht and the number of detected sessions Ns is compared with the session threshold Ths (step S440). The detected terminal number Nt is equal to or greater than the terminal threshold Tht or the detected session number Ns is the session threshold Ths. for more than a few 5 than to calculate the bandwidth estimates SBWE k (step S450), otherwise, with the number a S acknowledgment confirmed in round trip time RTT k and step S410 calculated in step S30 The band estimation value SBWE k is calculated from Equation 1 (step S460). After calculating the estimated bandwidth value SBWE k , the available bandwidth BWE k is calculated from Equation 2 (step S470).

なお、帯域推測値SBWEの算出式を切り替える条件を、検知端末数Ntが端末閾値Tht以上且つ検知セッション数Nsがセッション閾値Ths以上の場合としても良い。また、検知端末数Nt及び端末閾値Thtのみを使用しての切り替え、又は検知セッション数Ns及びセッション閾値Thsのみを使用しての切り替えとしても良い。 The condition for switching the calculation formula of the band estimation value SBWE k may be a case where the number of detected terminals Nt is equal to or greater than the terminal threshold Tht and the number of detected sessions Ns is equal to or greater than the session threshold Ths. Moreover, it is good also as switching using only the detection terminal number Nt and the terminal threshold value Tht, or switching using only the detection session number Ns and the session threshold value Ths.

上述の実施形態(第1実施形態、第2実施形態)でのネットワーク環境において高遅延での通信が発生する可能性がある場合、TCPの基本性能を向上するために、上述の実施形態に対して、RFC3390で定義されている「大容量初期ウインドウ」、RFC1323で定義されている「ウインドウ・スケーリング・オプション」、RFC2018で定義されている「SACK(Selective Acknowledgement)」等を適用しても良い。これにより、中継装置の性能向上及び本実施形態との相乗効果が図れる。また、上述の実施形態では、適用ネットワーク及び非適用ネットワークはそれぞれ1つを想定しているが、それぞれ複数存在しても良い。その場合、制御部はネットワーク毎に用意される。   In the case where there is a possibility that communication with high delay may occur in the network environment in the above-described embodiments (first embodiment, second embodiment), in order to improve the basic performance of TCP, Thus, “large initial window” defined by RFC3390, “window scaling option” defined by RFC1323, “SACK (Selective Acknowledgment)” defined by RFC2018, etc. may be applied. Thereby, the performance improvement of a relay apparatus and the synergistic effect with this embodiment can be aimed at. In the above-described embodiment, one application network and one non-application network are assumed, but a plurality of each may exist. In that case, a control unit is prepared for each network.

上述の実施形態での記憶部を除いた各構成要素の処理をプログラムで実現し、コンピュータと記憶装置の構成で上述の実施形態を実現することも可能である。   It is also possible to realize the processing of each component excluding the storage unit in the above-described embodiment by a program and realize the above-described embodiment by the configuration of a computer and a storage device.

なお、本発明は上記形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で種々の変形が可能である。   In addition, this invention is not limited to the said form, A various deformation | transformation is possible in the range which does not deviate from the summary of this invention.

1A、1B 端末
2 無線アクセスポイント
3、7 サーバ
4、4A 受信端末
5 中継装置
10、30、50 制御部
20 セグメント管理部
40 記憶部
110、310 セグメント受信部
120 確認応答生成部
130、330 セグメント送信部
320、520 輻輳制御部
540 閾値設定部
550 対象検知部
1A, 1B terminal 2 Wireless access point 3, 7 Server 4, 4A Reception terminal 5 Relay device 10, 30, 50 Control unit 20 Segment management unit 40 Storage unit 110, 310 Segment reception unit 120 Confirmation response generation unit 130, 330 Segment transmission Units 320 and 520 Congestion control unit 540 Threshold setting unit 550 Target detection unit

Claims (12)

複数のネットワーク間の通信を中継し、前記ネットワーク毎に通信を制御する制御部を備え、前記制御部を介して前記ネットワーク間の通信を行う中継装置において、
前記制御部として、セグメントサイズに応じた所定のサイズ及び往復遅延時間の最小値を用いた帯域推測値の推測を行い、前記帯域推測値に基づいて算出されるスロースタート閾値を用いて輻輳制御を行う制御部1を少なくとも1つ備えることを特徴とする中継装置。
In a relay device that relays communication between a plurality of networks, includes a control unit that controls communication for each network, and performs communication between the networks via the control unit,
As the control unit, the band estimation value is estimated using a predetermined size corresponding to the segment size and the minimum value of the round trip delay time, and congestion control is performed using a slow start threshold calculated based on the band estimation value. A relay device comprising at least one control unit 1 for performing.
前記制御部1は、通信量以外の要因による前記往復遅延時間の変動が大きいネットワークでの通信を制御する請求項1に記載の中継装置。   The relay apparatus according to claim 1, wherein the control unit 1 controls communication in a network in which the round-trip delay time varies greatly due to factors other than the traffic. 前記制御部1は、無線ネットワークでの通信を制御する請求項2に記載の中継装置。   The relay device according to claim 2, wherein the control unit 1 controls communication in a wireless network. 送信端末から受信したセグメントを記憶する記憶部を前記制御部毎にさらに備え、
前記制御部間での前記セグメントの入出力は前記記憶部を介して行うことにより、前記各制御部は独立して制御を行うことができる請求項1乃至3のいずれかに記載の中継装置。
A storage unit for storing the segment received from the transmission terminal is further provided for each control unit,
4. The relay device according to claim 1, wherein the input / output of the segment between the control units is performed via the storage unit, whereby the control units can independently control. 5.
前記各制御部は、
前記送信端末から受信したセグメントが受信端末に受信されたことを確認した場合、前記確認したセグメントを前記記憶部から消去し、
前記送信端末から受信したセグメントの再送を前記受信端末に対して行う場合、前記記憶部に記憶されたセグメントを再送する請求項4に記載の中継装置。
Each of the control units is
When confirming that the segment received from the transmitting terminal is received by the receiving terminal, erase the confirmed segment from the storage unit,
The relay apparatus according to claim 4, wherein when the segment received from the transmission terminal is retransmitted to the reception terminal, the segment stored in the storage unit is retransmitted.
前記制御部1は、前記セグメントサイズを前記往復遅延時間の最小値で除算することにより前記帯域推測値の推測を行う請求項1乃至5のいずれかに記載の中継装置。 The control unit 1, a relay device according to any one of claims 1 to 5 perform the estimation of the bandwidth estimate by dividing the segment size with a minimum value of the round trip time. 前記制御部1は、前記制御部1が通信を制御するネットワーク内の受信端末の数及び通信セッションの数の少なくとも1つの数が所定の値以上の場合、前記往復遅延時間の最小値を用いた帯域推測値の推測を行う請求項1乃至6のいずれかに記載の中継装置。   The control unit 1 uses the minimum value of the round trip delay time when at least one of the number of receiving terminals and the number of communication sessions in the network for which the control unit 1 controls communication is equal to or greater than a predetermined value. The relay apparatus according to claim 1, wherein a band estimation value is estimated. 複数のネットワーク間の通信を中継し、前記ネットワーク毎に通信を制御する制御ステップを有し、前記制御ステップにおいて前記ネットワーク間の通信のための処理を行う中継方法において、
前記制御ステップとして、セグメントサイズに応じた所定のサイズ及び往復遅延時間の最小値を用いた帯域推測値の推測を行い、前記帯域推測値に基づいて算出されるスロースタート閾値を用いて輻輳制御を行う制御ステップ1を少なくとも1つ有することを特徴とする中継方法。
In a relay method for relaying communication between a plurality of networks, having a control step of controlling communication for each network, and performing processing for communication between the networks in the control step,
As the control step, a band estimation value is estimated using a predetermined size according to the segment size and a minimum value of the round trip delay time, and congestion control is performed using a slow start threshold calculated based on the band estimation value. A relay method comprising at least one control step 1 to be performed.
送信端末から受信したセグメントを記憶部に記憶する記憶ステップを前記制御ステップ毎にさらに有し、
前記記憶ステップの実行後、前記送信端末から受信したセグメントが受信端末に受信されたことを前記制御ステップにおいて確認した場合、前記確認したセグメントを前記記憶部から消去し、
前記記憶ステップの実行後、前記送信端末から受信したセグメントの再送を前記受信端末に対して前記制御ステップにおいて行う場合、前記記憶部に記憶されたセグメントを再送する請求項8に記載の中継方法。
A storage step for storing the segment received from the transmission terminal in the storage unit is further provided for each control step,
When the control step confirms that the segment received from the transmitting terminal is received by the receiving terminal after execution of the storing step , the confirmed segment is erased from the storage unit,
The relay method according to claim 8 , wherein, after the storage step is performed, when the segment received from the transmission terminal is retransmitted in the control step, the segment stored in the storage unit is retransmitted.
前記制御ステップ1では、前記セグメントサイズを前記往復遅延時間の最小値で除算することにより前記帯域推測値の推測を行う請求項8又は9に記載の中継方法。 In the control step 1, the relay method according to claim 8 or 9 performs estimation of the bandwidth estimate by dividing the segment size with a minimum value of the round trip time. 前記制御ステップ1では、前記制御ステップ1で通信を制御するネットワーク内の受信端末の数又は通信セッションの数の少なくとも1つの数が所定の値以上の場合、前記往復遅延時間の最小値を用いた帯域推測値の推測を行う請求項8乃至10のいずれかに記載の中継方法。   In the control step 1, when at least one of the number of receiving terminals or the number of communication sessions in the network that controls communication in the control step 1 is a predetermined value or more, the minimum value of the round trip delay time is used. The relay method according to claim 8, wherein a band estimation value is estimated. 請求項8乃至11のいずれかに記載の中継方法を実行するための中継プログラム。   The relay program for performing the relay method in any one of Claims 8 thru | or 11.
JP2016039925A 2016-03-02 2016-03-02 Relay device, relay method, and relay program Active JP6145190B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016039925A JP6145190B1 (en) 2016-03-02 2016-03-02 Relay device, relay method, and relay program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016039925A JP6145190B1 (en) 2016-03-02 2016-03-02 Relay device, relay method, and relay program

Publications (2)

Publication Number Publication Date
JP6145190B1 true JP6145190B1 (en) 2017-06-07
JP2017158047A JP2017158047A (en) 2017-09-07

Family

ID=59012118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016039925A Active JP6145190B1 (en) 2016-03-02 2016-03-02 Relay device, relay method, and relay program

Country Status (1)

Country Link
JP (1) JP6145190B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113824646A (en) * 2021-08-27 2021-12-21 北京达佳互联信息技术有限公司 Slow-start control method and device, electronic equipment and storage medium
CN113824646B (en) * 2021-08-27 2024-06-21 北京达佳互联信息技术有限公司 Slow start control method and device, electronic equipment and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001333110A (en) * 2000-05-23 2001-11-30 Toshiba Corp Gateway device, communication equipment, controller, and communication control method
US20030149785A1 (en) * 2001-10-17 2003-08-07 Mario Gerla Method and apparatus for TCP with faster recovery
JP2005033367A (en) * 2003-07-09 2005-02-03 Ntt Docomo Inc Server and information transmitting system
JP2007013823A (en) * 2005-07-04 2007-01-18 Nippon Telegr & Teleph Corp <Ntt> Congestion control method and its communication terminal
JP2008182410A (en) * 2007-01-24 2008-08-07 Ntt Docomo Inc Communication terminal, congestion control method, and congestion control program
JP2012124647A (en) * 2010-12-07 2012-06-28 Hitachi Ltd Communication system and node device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001333110A (en) * 2000-05-23 2001-11-30 Toshiba Corp Gateway device, communication equipment, controller, and communication control method
US20030149785A1 (en) * 2001-10-17 2003-08-07 Mario Gerla Method and apparatus for TCP with faster recovery
JP2005033367A (en) * 2003-07-09 2005-02-03 Ntt Docomo Inc Server and information transmitting system
JP2007013823A (en) * 2005-07-04 2007-01-18 Nippon Telegr & Teleph Corp <Ntt> Congestion control method and its communication terminal
JP2008182410A (en) * 2007-01-24 2008-08-07 Ntt Docomo Inc Communication terminal, congestion control method, and congestion control program
JP2012124647A (en) * 2010-12-07 2012-06-28 Hitachi Ltd Communication system and node device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6016049495; 石田 裕貴 他: '可用帯域推定を用いたTCP輻輳回避アルゴリズム' 電子情報通信学会技術研究報告 第115巻,第484号, 20160225, p.19〜24 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113824646A (en) * 2021-08-27 2021-12-21 北京达佳互联信息技术有限公司 Slow-start control method and device, electronic equipment and storage medium
CN113824646B (en) * 2021-08-27 2024-06-21 北京达佳互联信息技术有限公司 Slow start control method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
JP2017158047A (en) 2017-09-07

Similar Documents

Publication Publication Date Title
US11876714B2 (en) Method and apparatus for network congestion control based on transmission rate gradients
CN108270682B (en) Message transmission method, terminal, network equipment and communication system
US9548936B2 (en) Method and system for improved TCP performance over mobile data networks
US20080101290A1 (en) Apparatus for Arq Controlling in Wireless Portable Internet System and Method Thereof
JP5625748B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, PROGRAM, AND COMMUNICATION METHOD
KR101246889B1 (en) Method and system of controlling data transfer rate for downward vertical handover in overlayed network environment
JP2004297742A (en) Communication device, communication control method and program
KR101198010B1 (en) Method and system of controlling data transfer rate for upward vertical handover in overlayed network environment
US9674101B2 (en) Communication device, transmission data output control method, and program for same
JP2008508817A (en) High performance TCP suitable for low frequency ACK system
EP1536589B1 (en) Transmitter device for controlling data transmission
CN104683259A (en) TCP congestion control method and device
KR20170142513A (en) Apparatus for multinet aggregation transmission, and packet scheduling method thereof
EP3383092A1 (en) Method of transmitting data and network equipment
JPWO2019244966A1 (en) Communication equipment, communication methods and programs
US8793394B2 (en) Session relaying apparatus, session relay method, and session relay program
WO2017118239A1 (en) Cross-layer optimization method and device for wireless transmission of data package
JP6217424B2 (en) Control apparatus and control method
JP6145190B1 (en) Relay device, relay method, and relay program
WO2014183585A1 (en) Aggressive transmission control protocol (tcp) retransmission
JP7111162B2 (en) COMMUNICATION CONTROL DEVICE, METHOD AND PROGRAM
JP4925916B2 (en) Data transmission apparatus, data transmission method, and data transmission program
WO2019146563A1 (en) Communication device, communication system, communication method, and program
JP2016019198A (en) Communication apparatus, control method for communication apparatus, and program
KR100915996B1 (en) Method and Terminal for Controlling Transmission according Bandwidth Change

Legal Events

Date Code Title Description
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: 20170509

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170512

R150 Certificate of patent or registration of utility model

Ref document number: 6145190

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250