JP6145190B1 - The relay device, a relay method and relay program - Google Patents

The relay device, a 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
Grant status
Grant
Patent type
Prior art keywords
segment
control unit
communication
network
unit
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
Grant date

Links

Images

Abstract

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

Description

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

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

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

無線ネットワークは、有線ネットワークに比べて、通信による輻輳に関係なく、電波干渉やビットエラー等の様々な原因でセグメント損失を起こし易く、輻輳状態と判断され易いネットワークである。 Wireless networks, as compared with wired networks, regardless of the congestion caused by the communication, susceptible to segment loss for several reasons, such as radio interference and bit error, it is likely network is determined that the congestion state. よって、輻輳状態と判断される度に、輻輳制御が行われると、スループットの低下、セグメントの再送によるネットワーク帯域の圧迫、送信端末での再送処理の増加等、通信経路にあるネットワーク全体に影響を与えるので、輻輳制御の改善が進められている。 Therefore, each time it is determined that the congestion state, the congestion control is performed, a decrease in throughput, compression of network bandwidth by retransmission of a segment, an increase of the retransmission processing at the transmitting terminal, an effect on the whole network in a communication path because it gives, improvement of congestion control is underway.

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

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

ここで、A は確認応答セグメントに含まれる確認応答の数であり、データセグメントと確認応答セグメントが1対1で送受信される場合、A は1であるが、複数のデータセグメントに対して1つの確認応答セグメントが送受信される場合は、送受信されたデータセグメントの数がA となる。 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はセグメントサイズである。 SS is a segment size. よって、A ×SSは、確認応答セグメントの基となったデータセグメントの総データサイズとなる。 Therefore, A S × SS is a total data size of the data segment is the basis of acknowledgment segments. RTT はk番目の確認応答セグメントに対する往復遅延時間である。 RTT k is the round trip time for the k-th acknowledgment segment. 往復遅延時間とは、送信端末がデータセグメントを送信した時点から、データセグメントが受信端末に届き、受信端末からの確認応答セグメントが送信端末に届くまでの時間である。 A round trip delay time from when the transmitting terminal transmits the data segments, receive data segments to the receiving terminal, acknowledgment segments from the receiving terminal is the time to reach the transmitting terminal. αは定数で、0.9が推奨値とされている。 α is a constant, there is a 0.9 recommended value. そして、輻輳検知の条件のうち、早期再送の場合である同じ確認応答セグメントを3回受信した(以下、「三重複応答」とする)場合は、下記数3のようにスロースタート閾値ssthresh及び輻輳ウインドウCWNDを変更し、再送タイマがタイムアウトした(以下、「再送タイムアウト」とする)場合は、下記数4のように変更する。 Of the conditions for the congestion detecting, receiving the same acknowledgment segment is a case of early third retransmission (hereinafter referred to as "triplicate response") case, the slow start threshold ssthresh and congestion as the following equation 3 change the window CWND, retransmission timer has timed out (hereinafter referred to as "retransmission timeout") case, it is changed to the following equation 4.

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

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

中継装置の使用を前提に、中継装置と端末間の通信が無線ネットワークで行われる場合、中継装置で使用するTCPとしてTCP Westwood+を採用すると、帯域推測値に基づいてスロースタート閾値を決定する方法において不都合が生じる可能性がある。 Assuming use of the relay device, if the relay device and the communication between terminals is performed in a wireless network, when adopting the TCP Westwood + as TCP for use by the relay station, the method for determining the slow start threshold based on the bandwidth estimated value there is a possibility that the inconvenience. 例えば、公衆無線LANのように、短距離通信である無線ネットワークと長距離通信であるインターネットの有線ネットワークを中継装置で接続した場合、無線ネットワークでの通信における往復遅延時間は、有線ネットワークでの通信における往復遅延時間に比べて非常に小さい。 For example, as a public wireless LAN, a case where the Internet wired network is a wireless network and long distance is a short-range communication are connected by the relay device, the round trip time in the communication in the wireless network, communication in a wired network very small compared to the round-trip delay time in. しかし、例えば無線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はデータ送信することになる。 However, for example, when communication is performed CSMA / CA (Carrier Sense Multiple Access with Collision Avoidance) system adopted in a wireless LAN, as shown in FIG. 1, the terminal 1B is via the wireless access point 2 data ( when transmitting data segment), if not go to terminal 1A transmits before the terminal 1B sends a shortest latency in the frame transmission interval SIFS (Short Interframe Space), a signal is detected from the channel busy eliminated, DIFS is the time until it is determined that the transition to the idle state (DCF (Distributed Coordination Function) Interframe Space) and through the back-off a random amount of time to wait for frame transmission to avoid collision of frames , terminal 1B will be transmitting data. よって、端末1Aや1Bがデータを送受信する場合、上記の時間のために、無線ネットワークでは有線ネットワークよりも遅延ジッタが生じる可能性がある。 Therefore, if the terminal 1A and 1B to send and receive data, for the time, there is a possibility that the delay jitter occurs than wired networks in a wireless network. 例えば、図2に示されるように、無線アクセスポイント2に有線ネットワークで接続されているサーバ3が、無線アクセスポイント2を経由して端末1Aにデータを送信する場合、図2(A)においてはデータ1とデータ2の間に、図2(B)においてはデータ2とデータ3の間に遅延ジッタが生じるようなことが起こり得る。 For example, as shown in FIG. 2, the server 3 are connected by a wired network to a wireless access point 2, when data is transmitted via the wireless access point 2 to the terminal 1A, in FIG. 2 (A) between data 1 and data 2, it may happen that delay jitter is generated between the data 2 and data 3 in FIG. 2 (B). また、多数の端末が同時期に多量のデータを送信する等により無線アクセスポイント上での待機データが急激に増えた場合、バッファオーバーフローにより待機データが破棄されると、三重複応答時での早期再送ではなく、再送タイムアウト時での再送処理を取るために、タイムアウトまで再送が待たされ、待機データが多いほど、破棄されたデータの再送処理が多く発生することになる。 Also, if the wait data over a wireless access point rapidly increased by such a large number of terminal transmits a large amount of data at the same time, the waiting data is discarded by the buffer overflow, early in the time triplicate response not a retransmission, in order to take the retransmission processing at the time of retransmission timeout, retransmission until the timeout wait, the greater the stand-by data, so that the retransmission processing of discarded data is more likely to occur. よって、往復遅延時間は通信データ量(通信量)以外の別の要因で変化し易く、輻輳検知時に往復遅延時間を用いて算出される帯域推測値、さらにはスロースタート閾値も別の要因で変化し易いことになる。 Accordingly, the round trip time is easy to change in a different factor other than the amount of communication data (traffic), the band presumed value calculated by using the round trip time during congestion detection, and further change the slow-start threshold by another factor It will be easy to. また、通常、スロースタート段階では、輻輳ウインドウをスロースタート閾値まで急速に増加されることになり、送信レートも急速に増加するが、そのことが、無線ネットワークにおいてはセグメント損失の確率を高くすることになり、セグメント損失に伴う再送処理の発生する確率も高くなる。 Also, usually, in the slow start phase, it will be rapidly increased congestion window to slow start threshold, but also increases rapidly transmit rate, that the it is, in a wireless network is to increase the probability of a segment loss becomes, the higher the probability of occurrence of retransmission caused by the segment loss.

このように、帯域推測値に基づいて求められるスロースタート閾値を用いた輻輳制御は、通信経路全体を観測できるならば、有効な手段ではあるが、中継装置を使用する混在ネットワーク環境において、特に無線ネットワークのように通信データ量に関係なく往復遅延時間が変化するネットワークに適用する場合は、改良が必要である。 Thus, congestion control using the slow-start threshold to be determined based on the bandwidth estimate, if can observe the entire communication path, albeit at an effective means, in a mixed network environment using the relay device, in particular radio If round trip delay irrespective of the amount of communication data as network applied to the network to change, there is a need for improved.

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

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

しかしながら、特許文献1の装置での処理は、既存のTCP/IP処理に依存しない処理としているために、通常のTCP処理とは別処理が必要となり、送信すべきパケット(セグメント)が多量となった場合、その処理が遅延の原因となってしまうおそれがある。 However, processing in the apparatus of Patent Document 1, in order to be processed that is independent of the existing TCP / IP processing, the normal TCP processing requires separate treatment, is a packet to be transmitted (segment) and a large amount If, there is a risk that the processing becomes a cause of delay.

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

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

本発明の上記目的は、前記制御部1は、通信量以外の要因による前記往復遅延時間の変動が大きいネットワークでの通信を制御することにより、或いは前記制御部1は、無線ネットワークでの通信を制御することにより、或いは送信端末から受信したセグメントを記憶する記憶部を前記制御部毎にさらに備え、前記制御部間での前記セグメントの入出力は前記記憶部を介して行うことにより、前記各制御部は独立して制御を行うことができることにより、或いは前記各制御部は、前記送信端末から受信したセグメントが受信端末に受信されたことを確認した場合、前記確認したセグメントを前記記憶部から消去し、前記送信端末から受信したセグメントの再送を前記受信端末に対して行う場合、前記記憶部に記憶されたセグメントを再送する The above object of the present invention, the control unit 1 controls the communication in the network a large variation of the round trip time due to factors other than traffic, or the control unit 1, a communication in a wireless network by controlling, or further comprising a storage unit for storing the segments received from the transmitting terminal for each of the control unit, input and output of the segment between the control unit by performing through the storage unit, each by the control unit can control independently, or the respective control unit, when it was confirmed that the segment received from the transmission terminal is received in the receiving terminal, the segments above confirmed from the storage unit Clear, if a retransmission of segments received from the transmitting terminal makes to the receiving terminal retransmits the segment stored in the storage unit とにより、或いは前記制御部1は、 前記セグメントサイズを前記往復遅延時間の最小値で除算することにより前記帯域推測値の推測を行うことにより、或いは前記制御部1は、前記制御部1が通信を制御するネットワーク内の受信端末の数及び通信セッションの数の少なくとも1つの数が所定の値以上の場合、前記往復遅延時間の最小値を用いた帯域推測値の推測を行うことにより、より効果的に達成される。 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 controlling the case where at least one of the number of count of the number and the communication sessions of the receiving terminal in the network is equal to or greater than a predetermined value, by performing estimation of the bandwidth estimate using the minimum value of the round trip time, more effective to be achieved.

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

本発明の上記目的は、送信端末から受信したセグメントを記憶部に記憶する記憶ステップを前記制御ステップ毎にさらに有し、 前記記憶ステップの実行後、前記送信端末から受信したセグメントが受信端末に受信されたことを前記制御ステップにおいて確認した場合、前記確認したセグメントを前記記憶部から消去し、 前記記憶ステップの実行後、前記送信端末から受信したセグメントの再送を前記受信端末に対して前記制御ステップにおいて行う場合、前記記憶部に記憶されたセグメントを再送することにより、或いは前記制御ステップ1では、 前記セグメントサイズを前記往復遅延時間の最小値で除算することにより前記帯域推測値の推測を行うことにより、或いは前記制御ステップ1では、前記制御ステップ1で通信を制御するネット The above object of the present invention, a storage step of storing the segments received from the transmitting terminal to the storage unit further comprises for each of the control step, said after the execution of the storage step, receiving the segment received by the receiving terminal from the transmitting 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 by, or in the control step 1, net for controlling communication in the control step 1 ーク内の受信端末の数又は通信セッションの数の少なくとも1つの数が所定の値以上の場合、前記往復遅延時間の最小値を用いた帯域推測値の推測を行うことにより、より効果的に達成される。 If at least one of the number of number of number or communication sessions of the receiving terminal in over click is equal to or greater than a predetermined value, by performing estimation of the bandwidth estimate using the minimum value of the round trip time more effectively It is achieved.

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

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

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

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

従来のTCP Westwood+では観測された往復遅延時間RTT が使用されているが、その代わりに、RTT が計測されるまでの全ての往復遅延時間の中での最小値であるRTTminを使用し、そのRTTminは1つのセグメントを送信するために必要な時間であると見做して、帯域推測値SBWE を算出する。 Although conventional TCP Westwood + In the observed round trip time RTT k is used, instead, use the RTTmin the minimum value among all the round trip time until RTT k is measured, its RTTmin is regarded as the time needed to transmit one segment, it calculates the bandwidth estimates SBWE k. 帯域推測値SBWE 算出後は、従来のTCP Westwood+と同様の演算(数2〜4)によりスロースタート閾値ssthreshを算出し、輻輳制御を行う。 Band estimate SBWE k after calculation by conventional TCP Westwood + similar calculation (number 2-4) calculates the slow start threshold ssthresh, performs congestion control. 帯域推測値SBWE の算出に数5を用いることにより、帯域推測値SBWE の変動が抑えられ、且つ、帯域推測値SBWE を小さく見積もることができる。 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. 例えば、セグメントサイズSSが1460バイトで、1番目、2番目及び3番目の確認応答セグメントに含まれる確認応答の数A がそれぞれ5、11及び2で、往復遅延時間がそれぞれ26、30及び24秒の場合、従来のTCP Westwood+での帯域推測値SBWE (k=1,2,3)は下記数6となり、本発明での帯域推測値SBWE は下記数7となり(小数点以下は切り捨て)、本発明では、帯域推測値SBWE の変動が抑えられ、帯域推測値SBWE が小さくなることがわかる。 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 for seconds, the bandwidth estimate SBWE k in the conventional TCP Westwood + (k = 1,2,3) are the following 6, and the (truncated decimals) bandwidth estimates SBWE k is below the number 7 next to the present invention in the present invention, variation of bandwidth estimate SBWE k is suppressed, it can be seen that the bandwidth estimated value SBWE k decreases.


このような輻輳制御が実行されるネットワーク(以下、「適用ネットワーク」とする)として、例えば、無線ネットワークのように、往復遅延時間が通信量以外の別の要因で変化し易いネットワークを採用した場合、帯域推測値SBWE の変動が抑えられ、帯域推測値SBWE が小さくなることによって、輻輳検知時に再設定されるスロースタート閾値ssthreshを小さくすることができ、再設定された後、輻輳ウインドウCWNDの増加率がスロースタートの段階より抑えられる輻輳回避の段階に早期に移行することができる。 Network (hereinafter referred to as "application network") such congestion control is executed as, for example, such as a wireless network, if the round trip delay time is adopted easily network changes in a different factor other than the amount of communication , variation of bandwidth estimate SBWE k is suppressed by the band estimates SBWE k decreases, the slow start threshold ssthresh is reset during congestion detection can be reduced, after being reset, the congestion window CWND the rate of increase can be migrated to the early stage of suppressing be congestion avoidance than the stage of the slow start. よって、急激な送信レートの増加を抑え、安定的な送信を行うことができ、セグメント損失を抑えることができる。 Therefore, to suppress the rapid increase in the transmission rate, it is possible to perform stable transmission, it can be suppressed segment loss.

適用ネットワーク以外のネットワーク(以下、「非適用ネットワーク」とする)に対しては、TCP CUBIC等の従来から使用されている標準のTCPによる輻輳制御を行う。 Except application network of networks (hereinafter referred to as "non-applicable Network") against performs congestion control according to standard TCP which is conventionally used, such as TCP CUBIC.

なお、数5では、RTTminを1つのセグメントを送信するために必要な時間であると見做しているが、1以外の数(整数でなくても良い)のセグメントを送信するために必要な時間と見做して帯域推測値SBWE を算出しても良い。 In Equation 5, although regarded as the time needed to transmit one segment RTTmin, required for transmitting the segment number other than 1 (it may not be an integer) regarding them time and may calculate a bandwidth estimates SBWE k.

本発明の中継装置では、このような輻輳制御を行なうために、制御対象のネットワーク毎に制御部を備えているが、さらにネットワーク毎に記憶部を備えることも可能である。 The relay device of the present invention, in order to perform such a congestion control is provided with the control unit for each network of the controlled object, it is also possible to further include a storage unit for each network. 送信端末から中継装置に送信されたデータセグメントは記憶部に記憶され、中継装置は記憶部に記憶されたデータセグメントを受信端末に送信する。 Data segments transmitted to the relay apparatus from the transmitting terminal stored in the storage unit, the relay unit transmits the data segments stored in the storage unit in the receiving terminal. そして、再送処理が必要な場合は、記憶部に記憶されているデータセグメントを使用して、受信端末に再送する。 When retransmission processing is required, using the data segment stored in the storage unit, and retransmitted to the receiving terminal. この記憶部を使用した処理は、適用ネットワークか非適用ネットワークかに関係なく実行されるので、各制御部は他の制御部でのセグメント送受信とは独立して処理を実行することができる。 Processing using this storage unit, since it is performed regardless of whether application network or non-application network, each control unit can perform the process independently from the segment receiving at the other control unit. また、送信端末と受信端末間ではなく、中継装置と受信端末間で再送処理を実行するので、再送処理にかかる時間を短縮でき、送信端末と中継装置の間での再送のための通信量の増加を抑えることができる。 Also, rather than between the transmitting and receiving terminals, since executes retransmission processing between the relay device reception terminal, it is possible to shorten the time required for the retransmission processing, the traffic for retransmission between the transmitting terminal and the relay apparatus it is possible to suppress the increase. なお、ネットワーク毎に記憶部を備えるのではなく、1つの記憶部のみを備え、ネットワーク毎にその記憶部内の記憶領域を分割して使用するようにしても良い。 Instead of a storage unit for each network, with only one storage unit may be used by dividing the storage area in the storage unit for each network.

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

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

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

サーバ7から受信端末4Aへのセグメント送受信における再送処理も、中継装置5を介して行われる。 Retransmission processing in the segment Transmission to the receiving terminal 4A from the server 7 is also performed via the relay device 5. 即ち、セグメント損失等によりサーバ7から中継装置5に送信されるデータセグメントの一部が中継装置5に正しく届かなかった場合、中継装置5は、従来のTCPと同様の方法により、確認応答セグメントの有無や確認応答セグメント中のシーケンス番号を使用して、データセグメントの再送をサーバ7に要求する。 That is, when a part by the segment loss or the like from the server 7 of the data segment to be transmitted to the relay device 5 is not received correctly in the relay device 5, the relay device 5, by the same method as the conventional TCP, the acknowledgment segment using the sequence number in the presence and acknowledgment segments, to request retransmission of the data segment to the server 7. 中継装置5から受信端末4Aに送信されるデータセグメントの一部が受信端末4Aに正しく届かなかった場合は、中継装置5は、受信端末4Aから送信される確認応答セグメントの有無や確認応答セグメント中のシーケンス番号よりそのことを判定し、記憶部40に記憶されているデータセグメントを用いて、データセグメントの再送を行う。 If some of the data segment to be transmitted to the receiving terminal 4A from the relay device 5 is not received correctly to the reception terminal 4A, the relay device 5, in the presence or acknowledgment segment acknowledgment segment sent from the receiving terminal 4A of determining the possible than the sequence number, by using the data segments stored in the storage unit 40, it retransmits the data segment.

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

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

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

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

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

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

制御部30は、セグメント管理部20から出力されるデータセグメントDsegを入力し、受信端末4Aに送信する。 Control unit 30 receives the data segments Dseg outputted from the segment management unit 20, to the receiving terminal 4A. また、受信端末4Aから送信される確認応答セグメントAckRを入力し、確認応答セグメントAckRの情報を基に、セグメント要求Rs及び消去指令Cdを生成し、セグメント管理部20に出力する。 Also, enter the acknowledgment segment AckR transmitted from the receiving terminal 4A, based on the information of the acknowledgment segment AckR, it generates a segment request Rs and erase commands Cd, and outputs the segment management unit 20. 制御部30では、数5に基づいた輻輳制御が行われる。 In the control unit 30, a congestion control based on the number 5 it is performed. なお、制御部10と同様に、制御部30に入力される確認応答セグメントAckRは下位の層を経ているものとし、出力されるデータセグメントDsegは下位の層を経て送信されるものとする。 Similarly to the control unit 10, the acknowledgment segment AckR input to the control unit 30 is assumed to have gone through the lower layer, the data segment Dseg output shall be transmitted via the lower layer.

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

セグメント受信部310は、確認応答セグメントAckRを入力し、確認応答セグメントAckRに対して、セグメント受信部110と同様に、TCPで通常実行されているエラー確認等のデータ入力処理を行った後、輻輳制御部320に出力する。 Segment reception unit 310 receives the acknowledgment segment AckR, against acknowledgment segment AckR, like the segment reception unit 110, after the data input process of an error confirmation, etc. that are typically performed by TCP, the congestion to the control unit 320.

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

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

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

三重複応答による輻輳検知の場合は、前記数3に従って、スロースタート閾値ssthresh及び輻輳ウインドウCWNDを変更し、再送タイムアウトによる輻輳検知の場合は、前記数4に従って、スロースタート閾値ssthresh及び輻輳ウインドウCWNDを変更する。 If congestion detection by triplicate response, in accordance with the number 3, and change the slow start threshold ssthresh and congestion window CWND, when the congestion detection by retransmission timeout in accordance with the number 4, the slow start threshold ssthresh and congestion window CWND change. この際に使用する帯域推測値SBWE 及び利用可能帯域BWE は、確認応答セグメントAckRを入力する度に、前記数5及び数2に従って、最新の値にしておく。 Band estimate SBWE k and available bandwidth BWE k used here, each time inputting the acknowledgment segment AckR, in accordance with the number 5 and number 2, keep the most recent value. 帯域推測値SBWE の算出に使用する往復遅延時間の最小値RTTminは、制御部30がデータセグメントDsegを送信してから、それに対する確認応答セグメントAckRを受信するまでの時間を往復遅延時間として算出し、算出された往復遅延時間をその時点での最小値と比較することにより、更新していく。 Minimum RTTmin round trip time to be used for calculation of the band estimates SBWE k is calculated from the control unit 30 transmits the data segment DSEG, as the round trip time the time until it receives an acknowledgment segment AckR thereto and, the calculated round trip time by comparing the minimum value at that time, we will update. 利用可能帯域BWE の算出に使用する定数αは、TCP Westwood+の推奨値である0.9とする。 Constant for calculation of the available bandwidth BWE k alpha is 0.9 a TCP Westwood + recommended value. スロースタート閾値ssthresh及び輻輳ウインドウCWNDの変更後は、受信端末4Aに再送すべきデータセグメントDsegの通信セッション及びシーケンス番号をセグメント要求Rsとしてセグメント管理部20に出力する。 After changing the slow start threshold ssthresh and congestion window CWND outputs the segment management unit 20 a communication session and the sequence number of the data segment Dseg be retransmitted to the receiving terminal 4A as a segment request Rs.

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

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

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

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

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

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

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

次に、輻輳制御部320は、確認応答セグメントAckR中のシーケンス番号を確認し、3回連続同じシーケンス番号である三重複応答であるか確認し(ステップS50)、確認結果が三重複応答ではない場合、輻輳ウインドウCWNDとスロースタート閾値ssthreshとを比較する(ステップS60)。 Then, the congestion controlling unit 320 checks the sequence number in the acknowledgment segment AckR, and confirm that it is triplicate response is three consecutive same sequence number (step S50), confirmation result is not a triplicate response If, comparing the congestion window CWND and slow start threshold ssthresh (step S60). 輻輳ウインドウCWNDがスロースタート閾値ssthreshより小さい場合、スロースタートの段階と判定し、数8により輻輳ウインドウCWNDを更新し(ステップS70)、輻輳ウインドウCWNDがスロースタート閾値ssthresh以上の場合は、輻輳回避の段階と判定し、数9により輻輳ウインドウCWNDを更新する(ステップS80)。 If the congestion window CWND is the slow start threshold ssthresh is less than, determines that the stage of slow start, and updates the congestion window CWND by the number 8 (step S70), the congestion window CWND is equal to or larger than the slow start threshold ssthresh, the congestion avoidance It determines that step, updates the congestion window CWND by number 9 (step S80). そして、確認応答セグメントAckRが次のデータセグメントの送信を要求する確認応答セグメントであるか確認し(ステップS90)、次のデータセグメント送信要求の場合、送信すべきデータセグメントDsegの通信セッションとシーケンス番号を確認応答セグメントAckRから特定し、セグメント要求Rsとしてセグメント管理部20に出力する(ステップS100)。 The acknowledgment segment AckR confirms whether the acknowledgment segment for requesting transmission of the next data segment (step S90), if the next data segment transmission request, a communication session and the sequence number of the data segment Dseg to be transmitted It was identified from the acknowledgment segment AckR, and outputs the segment management unit 20 as a segment request Rs (step S100). さらに、確認応答セグメントAckRが次のデータセグメント送信要求であることによって正常に送信されたことが確認されたデータセグメントDsegを記憶部40から消去するために、当該データセグメントDsegの通信セッション及びシーケンス番号を消去指令Cdとしてセグメント管理部20に出力する(ステップS110)。 Furthermore, in order to acknowledge segment AckR erases the data segment Dseg confirmed to have been successfully transmitted by the next data segment transmission request from the storage unit 40, a communication session and the sequence number of the data segment Dseg and it outputs the segment management unit 20 as erase command Cd (step S110). 確認応答セグメントAckRが次のデータセグメント送信要求ではない場合、リターンとなる。 If acknowledgment segment AckR is not the next data segment transmission request, and the operation returns. なお、ステップS100とステップS110の順番は逆でも良い。 The order of step S100 and step S110 may be reversed.

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

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

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

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

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

なお、再送タイムアウトによる輻輳検知での再送処理は、割込みによる処理ではなく、再送タイマの適宜チェックによる処理等で実行しても良い。 Incidentally, the retransmission processing at the congestion detection by retransmission timeout is not a treatment with an interrupt may be executed by the treatment by an appropriate check of the retransmission timer. また、本再送処理でのステップS220〜S240を本再送処理では実行せず、ステップS140〜S160の実行で兼用しても良い。 Further, the steps S220~S240 in this retransmission processing without executing the present retransmission processing may be shared by the execution of step S140~S160.

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

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

図10は、従来のTCP Westwood+による輻輳制御での輻輳ウインドウCWNDの変化と、第1実施形態による輻輳制御での輻輳ウインドウCWNDの変化を示す図である。 Figure 10 is a variation of the congestion window CWND in conventional TCP Westwood + by congestion control is a graph showing changes in the congestion window CWND of congestion control according to the first embodiment. 図10(A)が従来のTCP Westwood+の場合で、図10(B)が第1実施形態の場合で、縦軸が輻輳ウインドウCWND、横軸が時間である。 In the case of FIG. 10 (A) is a conventional TCP Westwood +, in case of FIG. 10 (B) is in the first embodiment, the vertical axis congestion window CWND, the horizontal axis is the time. 実線が輻輳ウインドウCWNDの変化を、太い点線がスロースタート閾値ssthreshの変化を表わしており、BWE ×RTTminの値を破線で示している。 The solid line changes the congestion window CWND, and a thick dotted line represents a change in the slow start threshold ssthresh, shows the values of the BWE k × RTTmin by broken lines. 図10において、三重複応答により輻輳制御が実行された時点(時点t )から、再送タイムアウトとなる輻輳ウインドウCWNDの値が同じであるとして、図10(A)及び(B)においてそれぞれ時点t 及びt で再送タイムアウトとなったとする。 10, three to congestion control by duplicate response is executed when (time t 1), as the value of the congestion window CWND as the retransmission timeout is the same, FIG. 10 (A) and (B) time, respectively at t and it became the retransmission timeout in 2 and t 3. 図10からわかるように、図10(B)の第1実施形態の場合、BWE ×RTTminの値が小さく変動も少ない安定的な通信ができており、再送タイムアウトとなるまでの時間が相対的に長くなり、輻輳制御が実行された時点t から再送タイムアウトの時点までの送信量(グレーとなっている三角形の領域)も相対的に多くなっており、輻輳検知の回数を減らすことが可能となっている。 As can be seen from FIG. 10, in the case of the first embodiment of FIG. 10 (B), BWE value variation small k × RTTmin also made less stable communications, the relative time until the retransmission timeout 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. また、再送タイムアウトとなった後、輻輳回避の段階(輻輳ウインドウCWNDがスロースタート閾値ssthresh以上になる段階)までの移行時間が、図10(B)の方が短いことがわかる。 Furthermore, after becoming a retransmission timeout, transition time until the congestion avoidance stage (stage congestion window CWND is more slow start threshold ssthresh) is, it can be seen that shorter direction of FIG. 10 (B). これにより、急激な送信レートの増加を抑え、セグメント損失を抑えることができる。 Accordingly, to suppress the rapid increase in the transmission rate, it is possible to suppress the segment loss.

本発明の他の実施形態について説明する。 A description of another embodiment of the present invention.

第1実施形態のように無線アクセスポイントを経由した通信では、図2に示されるように、通信データ量に関係なくランダムな遅延ジッタが生じるため、数5のように往復遅延時間の最小値RTTminを1つのセグメントを送信するための時間と見做す方法は、受信端末が多い場合はランダムな遅延ジッタの影響を抑制できるので、有効である。 The communication via the wireless access point as in the first embodiment, as shown in FIG. 2, because the random delay jitter regardless amount of communication data occurs, the minimum round trip time as in equation 5 RTTmin time regarded to methods for transmitting one segment, if the receiving terminal is large can suppress the influence of the random delay jitter, it is effective. しかし、受信端末が1台等、極端に少ない場合は、従来のTCP Westwood+での輻輳制御が有効に働く。 However, one receiving terminal or the like, if extremely small, congestion control in conventional TCP Westwood + works effectively. そこで、中継装置での中継処理を開始する時点において受信端末の数又は通信セッションの数を検知し、検知された受信端末数(以下、「検知端末数」とする)又は通信セッション数(以下、「検知セッション数」とする)が所定の値(閾値)以上の場合のみ数5を用いた輻輳制御を行うようにする。 Therefore, to detect the number of number or communication sessions of the receiving terminal at the time of starting the relay process of the relay device, the detected received terminal number (hereinafter referred to as "number of detection terminals") or the number of communication sessions (hereinafter, and "sense sessions") is to perform the congestion control using the number 5 only when the predetermined value or more (the threshold). つまり、検知端末数が受信端末用の閾値(以下、「端末閾値」とする)以上又は検知セッション数が通信セッション用の閾値(以下、「セッション閾値」とする)以上の場合、数5を用いて帯域推測値SBWE を算出し、それ以外の場合(検知端末数が端末閾値より小さく、且つ検知セッション数がセッション閾値より小さい場合)、従来のTCP Westwood+で使用している数1を用いて帯域推測値SBWE を算出する。 That is, the threshold value for the number of detection terminals receiving terminal (hereinafter referred to as "terminal threshold") or more or the number of detection sessions threshold value for the communication session (hereinafter, to "Session threshold") case described above, using a number 5 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 + used to calculate the bandwidth estimate SBWE k with.

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

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

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

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

輻輳制御部520は、基本的な機能は輻輳制御部320と同じであるが、帯域推測値SBWE の算出式を、検知端末数Ntと端末閾値Thtとの比較及び検知セッション数Nsとセッション閾値Thsとの比較に基づいて変える。 Congestion control unit 520, basic but functions the same as the congestion control unit 320, a calculation formula of the band estimates SBWE k, compared with the detecting terminals speed Nt and the terminal threshold Tht and sensing sessions Ns and session threshold change based on a comparison of the Ths. 具体的には、検知端末数Ntが端末閾値Tht以上の場合、又は検知セッション数Nsがセッション閾値Ths以上の場合、数5を用いて帯域推測値SBWE を算出し、それ以外の場合、数1を用いて帯域推測値SBWE を算出する。 Specifically, if the detected number of terminals Nt is more terminals threshold Tht, or if the detected session speed Ns is more sessions threshold Ths, calculates a bandwidth estimates SBWE k using equation 5, otherwise, the number calculating the bandwidth estimate SBWE k with 1.

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

輻輳制御部520は、往復遅延時間の最小値RTTmin算出(図8のステップS30)後、確認応答セグメントAckRに含まれる確認応答の数A を確認する(ステップS410)。 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). 次に、閾値設定部540より端末閾値Tht及びセッション閾値Thsを入力し(ステップS420)、対象検知部550より検知端末数Nt及び検知セッション数Nsを入力する(ステップS430)。 Then, enter the terminal threshold Tht and session threshold Ths than the threshold value setting unit 540 (step S420), and inputs the detecting terminals speed Nt and the detection session speed Ns from the target detection unit 550 (step S430). そして、検知端末数Ntと端末閾値Thtとの比較及び検知セッション数Nsとセッション閾値Thsとの比較を行い(ステップS440)、検知端末数Ntが端末閾値Tht以上又は検知セッション数Nsがセッション閾値Ths以上の場合、数5より帯域推測値SBWE を算出し(ステップS450)、それ以外の場合、ステップS30において算出した往復遅延時間RTT 及びステップS410で確認した確認応答の数A を用いて、数1より帯域推測値SBWE を算出する(ステップS460)。 Then, a comparison between the comparison and detection sessions Ns and session thresholds Ths and detecting terminals speed Nt and the terminal threshold Tht (step S440), the detection terminal speed Nt terminal threshold Tht more or sensing sessions Ns 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 from Equation 1 to calculate the bandwidth estimates SBWE k (step S460). 帯域推測値SBWE 算出後、数2より利用可能帯域BWE を算出する(ステップS470)。 After the band estimate SBWE k calculating calculates the available bandwidth BWE k than the number 2 (step S470).

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

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

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

なお、本発明は上記形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で種々の変形が可能である。 The present invention is not limited to the above embodiment, however, various modifications may made without departing from the scope of the present 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 points 3,7 server 4,4A receiving terminal 5 relay apparatus 10, 30, and 50 control unit 20 segment management unit 40 storage unit 110, 310 segment reception unit 120 acknowledgment generating unit 130 or 330 segment transmission parts 320,520 congestion control unit 540 threshold setting unit 550 object detector

Claims (12)

  1. 複数のネットワーク間の通信を中継し、前記ネットワーク毎に通信を制御する制御部を備え、前記制御部を介して前記ネットワーク間の通信を行う中継装置において、 Relays communication between a plurality of networks, comprising a control unit for controlling the communication for each of the network, the relay device that performs communication between the network via the control unit,
    前記制御部として、セグメントサイズに応じた所定のサイズ及び往復遅延時間の最小値を用いた帯域推測値の推測を行い、前記帯域推測値に基づいて算出されるスロースタート閾値を用いて輻輳制御を行う制御部1を少なくとも1つ備えることを特徴とする中継装置。 As the control unit performs estimation of the bandwidth estimate using a least value of a predetermined size and round-trip delay time corresponding to the segment size, the congestion control using the slow start threshold is calculated based on the bandwidth estimated value relay device characterized in that it comprises at least one control unit 1 to perform.
  2. 前記制御部1は、通信量以外の要因による前記往復遅延時間の変動が大きいネットワークでの通信を制御する請求項1に記載の中継装置。 The control unit 1, a relay device according to claim 1 that controls communication with the network variation is large the round trip time due to factors other than traffic.
  3. 前記制御部1は、無線ネットワークでの通信を制御する請求項2に記載の中継装置。 The control unit 1, a relay device according to claim 2 for controlling communication in a wireless network.
  4. 送信端末から受信したセグメントを記憶する記憶部を前記制御部毎にさらに備え、 Further comprising a storage unit that stores the segments received from the transmitting terminal for each of the control unit,
    前記制御部間での前記セグメントの入出力は前記記憶部を介して行うことにより、前記各制御部は独立して制御を行うことができる請求項1乃至3のいずれかに記載の中継装置。 By input of the segment between the control unit is via the storage unit, a relay apparatus according to any one of claims 1 to 3 wherein each control unit can perform control independently.
  5. 前記各制御部は、 Wherein each control unit,
    前記送信端末から受信したセグメントが受信端末に受信されたことを確認した場合、前記確認したセグメントを前記記憶部から消去し、 If it is confirmed that the segment received from the transmission terminal is received in the receiving terminal, to erase the segment the confirmed from the storage unit,
    前記送信端末から受信したセグメントの再送を前記受信端末に対して行う場合、前記記憶部に記憶されたセグメントを再送する請求項4に記載の中継装置。 If a retransmission of segments received from the transmitting terminal to the receiving terminal, the relay device according to claim 4 to retransmit the segment stored in the storage unit.
  6. 前記制御部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.
  7. 前記制御部1は、前記制御部1が通信を制御するネットワーク内の受信端末の数及び通信セッションの数の少なくとも1つの数が所定の値以上の場合、前記往復遅延時間の最小値を用いた帯域推測値の推測を行う請求項1乃至6のいずれかに記載の中継装置。 The control unit 1, the control unit 1 when at least one of the number of count of the number and the communication session of a receiving terminal in a network for controlling communication is equal to or greater than a predetermined value, using the minimum value of the round trip time relay device according to any one of claims 1 to 6 performs the estimation of the bandwidth estimates.
  8. 複数のネットワーク間の通信を中継し、前記ネットワーク毎に通信を制御する制御ステップを有し、前記制御ステップにおいて前記ネットワーク間の通信のための処理を行う中継方法において、 Relays communication between a plurality of networks, comprising a control step of controlling the communication for each of the network, a relay method for performing a process for communication between the network in the control step,
    前記制御ステップとして、セグメントサイズに応じた所定のサイズ及び往復遅延時間の最小値を用いた帯域推測値の推測を行い、前記帯域推測値に基づいて算出されるスロースタート閾値を用いて輻輳制御を行う制御ステップ1を少なくとも1つ有することを特徴とする中継方法。 As the control step performs estimation of the bandwidth estimate using a least value of a predetermined size and round-trip delay time corresponding to the segment size, the congestion control using the slow start threshold is calculated based on the bandwidth estimated value relay method characterized in that it comprises at least one control step 1 for.
  9. 送信端末から受信したセグメントを記憶部に記憶する記憶ステップを前記制御ステップ毎にさらに有し、 Further comprising a storage step of storing the segments received from the transmitting terminal to the storage unit for each of the control step,
    前記記憶ステップの実行後、前記送信端末から受信したセグメントが受信端末に受信されたことを前記制御ステップにおいて確認した場合、前記確認したセグメントを前記記憶部から消去し、 After execution of the storage step, if the segments received from the transmitting terminal is confirmed in the control step that has been received by the receiving terminal, to erase the segment the confirmed from the storage unit,
    前記記憶ステップの実行後、前記送信端末から受信したセグメントの再送を前記受信端末に対して前記制御ステップにおいて行う場合、前記記憶部に記憶されたセグメントを再送する請求項8に記載の中継方法。 After execution of the storage step, if the retransmission of the segments received from the transmitting terminal performs in the control step to the receiving terminal, the relay method according to claim 8 to retransmit the segment stored in the storage unit.
  10. 前記制御ステップ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.
  11. 前記制御ステップ1では、前記制御ステップ1で通信を制御するネットワーク内の受信端末の数又は通信セッションの数の少なくとも1つの数が所定の値以上の場合、前記往復遅延時間の最小値を用いた帯域推測値の推測を行う請求項8乃至10のいずれかに記載の中継方法。 In the control step 1, if at least one of the number of number of number or communication session receiving terminal in a network for controlling communication in the control step 1 is equal to or greater than a predetermined value, using a minimum of the round trip time relaying method according to any one of claims 8 to 10 performs estimation of the bandwidth estimates.
  12. 請求項8乃至11のいずれかに記載の中継方法を実行するための中継プログラム。 Relay program for executing the method of relaying according to any one of claims 8 to 11.
JP2016039925A 2016-03-02 2016-03-02 The relay device, a 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 The relay device, a 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 The relay device, a relay method and relay program

Publications (2)

Publication Number Publication Date
JP6145190B1 true JP6145190B1 (en) 2017-06-07
JP2017158047A true 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 The relay device, a relay method and relay program

Country Status (1)

Country Link
JP (1) JP6145190B1 (en)

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 *

Also Published As

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

Similar Documents

Publication Publication Date Title
US20050088972A1 (en) Method, system and device for controlling a transmission window size
US6622172B1 (en) Dynamically delayed acknowledgement transmission system
US20050165948A1 (en) Systems and methods for improving network performance
US20070230337A1 (en) Communication terminal and retransmission control method
Tsaoussidis et al. Open issues on TCP for mobile computing
US7184401B2 (en) Link-aware transmission control protocol
US20060039287A1 (en) Communication apparatus and data communication method
US20090268747A1 (en) Communication apparatus
US20050144303A1 (en) System, device and method for improving throughput in a communication network, preferably a mobile ipv6-based network
US20090141631A1 (en) Voice adaptive gateway pacing methods and systems for wireless multi-hop networks
US20050135252A1 (en) Transparent optimization for transmission control protocol flow control
US20050083850A1 (en) Method for adjusting a transmission rate to obtain the optimum transmission rate in a mobile ad hoc network environment
US20060203730A1 (en) Method and system for reducing end station latency in response to network congestion
US20140192639A1 (en) Maximizing bandwidth utilization in networks with high latencies and packet drops using transmission control protocol
US20110002224A1 (en) Apparatus and method for controlling congestion occurrence in a communication network
US7133361B2 (en) Method and system for improvement of network performance over asymmetic links
US20050005207A1 (en) Method of improving the performance of a transmission protocol using a retransmission timer
US20050022089A1 (en) System and method for a communication network
US20080101290A1 (en) Apparatus for Arq Controlling in Wireless Portable Internet System and Method Thereof
US20150237173A1 (en) TCP Proxy Server
US20050013246A1 (en) Communication device, transmission control method, and program product
US20050259577A1 (en) Method for transmitting data in mobile ad hoc network and network apparatus using the same
US20040264370A1 (en) Congestion control method and system for reducing a retransmission timeout count in a transmission control protocol
US20030095537A1 (en) Packet communication method and proposal node
US20030128672A1 (en) Transmission and flow control

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