JP5284997B2 - Communication apparatus and communication method having TCP retransmission timeout value dynamic change function, and program therefor - Google Patents

Communication apparatus and communication method having TCP retransmission timeout value dynamic change function, and program therefor Download PDF

Info

Publication number
JP5284997B2
JP5284997B2 JP2010032507A JP2010032507A JP5284997B2 JP 5284997 B2 JP5284997 B2 JP 5284997B2 JP 2010032507 A JP2010032507 A JP 2010032507A JP 2010032507 A JP2010032507 A JP 2010032507A JP 5284997 B2 JP5284997 B2 JP 5284997B2
Authority
JP
Japan
Prior art keywords
retransmission timeout
throughput
value
timeout value
rto
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010032507A
Other languages
Japanese (ja)
Other versions
JP2011171912A (en
Inventor
靖人 中西
大介 池上
利明 土屋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2010032507A priority Critical patent/JP5284997B2/en
Publication of JP2011171912A publication Critical patent/JP2011171912A/en
Application granted granted Critical
Publication of JP5284997B2 publication Critical patent/JP5284997B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Description

本発明は、インターネットやイントラネットなどのパケット通信ネットワークにおける通信品質制御技術に係り、特に、TCP(Transmission Control Protocol)のようなデータ通信プロトコルの送信レートを最適化して、スループットの向上を図るために好適なTCPパラメータセッティング技術に関するものである。   The present invention relates to a communication quality control technique in a packet communication network such as the Internet or an intranet, and is particularly suitable for improving the throughput by optimizing the transmission rate of a data communication protocol such as TCP (Transmission Control Protocol). The present invention relates to a TCP parameter setting technique.

インターネットに代表されるパケット通信ネットワークでは、複数のユーザがネットワークを共有するため、パケットの転送品質はネットワークの利用状況に依存する。   In a packet communication network represented by the Internet, since a plurality of users share the network, the packet transfer quality depends on the use situation of the network.

しかし、近年、DiffServ(Differentiated Services)のようなネットワーク技術により、パケットの転送品質をフロー(送信元と宛先のアドレス情報とポート番号が同じであるパケットをひとまとめにしたもの)単位で保証することが可能になっている。   However, in recent years, network technology such as DiffServ (Differentiated Services) can guarantee packet transfer quality in units of flows (packets that have the same source and destination address information and port number). It is possible.

このDiffServを用いた品質保証(QoS:Quality of Services)技術については、例えば、特許文献1および特許文献2などに記載されたものがある。   As for the quality assurance (QoS: Quality of Services) technology using DiffServ, for example, there are those described in Patent Document 1 and Patent Document 2.

この技術では、ネットワークにおいて品質保証を行うフローに対してポリシングレートとバーストサイズを規定し、規定を超えるトラヒックについてはエッジルータ(ネットワークの入り口に設置されている装置)においてトラヒックの流入制限を実現するポリシング(超過パケットの廃棄)を行うようにしている。市中製品ではポリシングとしてトークンバケットポリサを実装したものが幅広く用いられている(後述する図4参照)。   In this technology, the policing rate and burst size are specified for the flow for quality assurance in the network, and the inflow restriction of traffic is realized at the edge router (device installed at the entrance of the network) for the traffic exceeding the specification. Policing (discarding excess packets) is performed. Commercial products that use a token bucket policer for policing are widely used (see FIG. 4 described later).

このような環境における通信では、映像配信や音声通話などの送信レートがほぼ一定のUDP(User Datagram Protocol)通信を行うフローに対しては、送信側での適切な制御により、特許文献1および特許文献2に記載された品質保証技術によりパケットロスのない転送が可能となる。   In communication in such an environment, Patent Document 1 and Patent are applied to the flow for performing UDP (User Datagram Protocol) communication with a substantially constant transmission rate such as video distribution and voice call by appropriate control on the transmission side. The quality assurance technique described in Document 2 enables transfer without packet loss.

しかし、TCPのように送信レートを徐々に増加させ、パケットロスが発生した時点で送信レートを一定割合下げるといった輻輳制御(ウィンドウ制御)機能を持つ通信においては、パケットロスがスループットに及ぼす影響が大きい。   However, in communications with congestion control (window control) functions such as TCP that gradually increase the transmission rate and decrease the transmission rate at a certain rate when packet loss occurs, packet loss has a large effect on throughput. .

例えば、特許文献1、2に記載のような品質保証を行うネットワークでは、ポリシングによりTCPのスループットが規定のレートよりも大幅に低下してしまうという問題が開示されている。   For example, in a network that performs quality assurance as described in Patent Documents 1 and 2, a problem has been disclosed in which the throughput of TCP is significantly lower than a prescribed rate due to policing.

この問題を解決する技術として、例えば特許文献3に記載のように、パケットの送信レートを平滑化させるシェーピング技術がある。このシェーピング技術は、端末から送信されるトラヒックをシェーピング装置に通し、このシェーピング装置内でトラヒックの送信レートをネットワークのトラヒック規定内に収まるよう平滑化するものである。   As a technique for solving this problem, there is a shaping technique for smoothing the transmission rate of packets as described in Patent Document 3, for example. In this shaping technique, traffic transmitted from a terminal is passed through a shaping device, and the traffic transmission rate is smoothed within the shaping device so as to be within the network traffic regulations.

しかしながら、シェーピング装置は、ネットワークと送信端末の間に設置する必要があるため、サービスに加入している各ユーザがシェーピング装置を持つ必要がある。しかし、シェーピング装置は高価であるため、シェーピング装置を前提とした品質保証ネットワークの利用はコストの面から現実的ではない。   However, since the shaping device needs to be installed between the network and the transmission terminal, each user who subscribes to the service needs to have the shaping device. However, since a shaping apparatus is expensive, the use of a quality assurance network based on the shaping apparatus is not practical from the viewpoint of cost.

特開2004−320489号公報JP 2004-320489 A 特開2005−073106号公報JP 2005-073106 A 特開平06−268671号公報Japanese Patent Laid-Open No. 06-268671

本発明が解決しようとする課題は、従来の技術、例えば、DiffServのようなネットワーク技術を使った品質確保ネットワークでは、確保レートを超えるトラヒックはエッジルータのポリシングにより廃棄されるため、TCPのようにパケットロスが発生するたびに送信レートを低下させる通信プロトコルでは、ポリシングによるスループット低下を防ぐために、従来は上述したシェーピング装置を用いる必要があったが、サービス加入者がシェーピング装置を用意するのは、コスト的に難しいという点や、また、ポリシング機構そのものを改良するアプローチでは、市中製品に広く実装されている既存のトークンバケットポリサ(トークンバケットを用いてポリシングを行うこと)を用いる環境において、ネットワーク全体のポリシング機構を全て新たな装置で置き換えて再構築する必要があり、通信事業者にとって大きなコスト負担になる点である。   The problem to be solved by the present invention is that, in a quality assurance network using a conventional technology, for example, a network technology such as DiffServ, traffic exceeding a secured rate is discarded by policing of an edge router. In a communication protocol that reduces the transmission rate each time a packet loss occurs, it has been necessary to use the above-described shaping device in order to prevent a reduction in throughput due to policing. However, a service subscriber prepares a shaping device, In an environment that uses existing token bucket policers (policing using token buckets) widely implemented in commercial products, in terms of the difficulty in cost and the approach to improve the policing mechanism itself, Policing mechanism for the entire network Te there is a need to rebuild replaced by a new device is that it become a major cost burden for operators.

そこで本発明の目的は、これら従来技術の課題を解決し、TCP通信のパラメータである再送タイムアウト値を最適に設定することによりスループット向上を可能にした通信装置および通信方法、ならびにそのためのプログラムを提供することである。   Accordingly, an object of the present invention is to provide a communication apparatus and a communication method that can improve the throughput by solving these problems of the prior art and optimally setting a retransmission timeout value that is a parameter of TCP communication, and a program therefor It is to be.

本発明は、上記目的を達成するために、次の如き構成を採用している。
a)本発明に係る通信装置は、TCP通信を行う場合、送信側環境において、同一の送信・受信アドレス情報、ポート情報を1つのフローとして管理し、フロー毎に再送タイムアウトを検知するとともに再送タイムアウトが発生するまでのスループットを測定して記録するスループット測定記録手段と、再送タイムアウト値を変更し、前記スループット測定記録手段によりスループットを測定することによってスループットが最大化される再送タイムアウト値を取得して新たな再送タイムアウト値として設定する再送タイムアウト値設定手段と、該設定された最大化される再送タイムアウト値に基づいて通信を行う通信手段とを有することを特徴としている。
In order to achieve the above object, the present invention adopts the following configuration.
a) When performing TCP communication, the communication device according to the present invention manages the same transmission / reception address information and port information as one flow in the transmission side environment, detects a retransmission timeout for each flow, and retransmits the timeout. Throughput measurement recording means for measuring and recording the throughput until the occurrence of the occurrence, changing the retransmission timeout value, and obtaining the retransmission timeout value that maximizes the throughput by measuring the throughput by the throughput measurement recording means It is characterized by having a retransmission timeout value setting means set as a new retransmission timeout value and a communication means for performing communication based on the set maximum retransmission timeout value.

b)上記a)に記載の通信装置において、前記再送タイムアウト値の変更は、往復遅延時間以上の範囲で行われることを特徴としている。 b) In the communication device described in a) above, the retransmission timeout value is changed within a range equal to or longer than the round-trip delay time.

c)また、上記a)に記載の通信装置において、トークンバケットポリサが適用されたネットワークに設定されているポリシング設定値を取得する手段と、初回の再送タイムアウト発生時から、送信端末が送出したパケット情報をもとに、回復した送信レートがポリシングレートを上回るまでの時間を測定する測定手段と、該測定手段により得られた時間をバケットサイズが0から上限値まで充足される時間から引いた値が往復遅延時間より大きい場合に、該値を新たな再送タイムアウト値として設定する手段とを有することを特徴としている。 c) In the communication device described in a) above, a means for obtaining a policing setting value set in a network to which the token bucket policer is applied, and a transmission terminal sent from the time of the first retransmission timeout occurrence Based on the packet information, the measuring means for measuring the time until the recovered transmission rate exceeds the policing rate, and the time obtained by the measuring means is subtracted from the time when the bucket size is satisfied from 0 to the upper limit value. And a means for setting the value as a new retransmission timeout value when the value is larger than the round-trip delay time.

d)また、上記a)に記載の通信装置において、前記再送タイムアウト値設定手段は、再送タイムアウトの発生を契機に、再送タイムアウト値を現在の再送タイムアウト値を初期値とした二分探索法を用いて一時的に変更し、スループットが最大化される再送タイムアウト値を探索し、該探索された最大化される再送タイムアウト値を新たな再送タイムアウト値として設定する手段であることを特徴としている。 d) In the communication device described in a) above, the retransmission timeout value setting means uses a binary search method in which the retransmission timeout value is set to the initial value of the current retransmission timeout value when the retransmission timeout occurs. It is characterized by means for temporarily changing, searching for a retransmission timeout value that maximizes throughput, and setting the searched maximum retransmission timeout value as a new retransmission timeout value.

e)また、上記d)に記載の通信装置において、前記二分探索法の探索終了条件は、スループットが向上しなくなったこと、あるいは、スループットがポリシングレートに対する設定目標とする割合の値になったこと、あるいは、再送タイムアウトの変化幅が所定の閾値より小さくなったことのいずれかであることを特徴としている。 e) In the communication apparatus described in d) above, the search termination condition of the binary search method is that the throughput is not improved or the throughput is a value set as a target for setting the policing rate. Alternatively, the change width of the retransmission timeout is either smaller than a predetermined threshold value.

f)また、上記a)に記載の通信装置において、前記再送タイムアウト値の変更は、往復遅延時間から一般的に設定されている再送タイムアウト値までの範囲において、再送タイムアウトの発生を契機に、予め決められた任意の間隔で行われることを特徴としている。 f) In the communication device described in a) above, the change of the retransmission timeout value is performed in advance in the range from the round-trip delay time to the generally set retransmission timeout value, triggered by the occurrence of the retransmission timeout. It is characterized by being performed at a predetermined arbitrary interval.

g)本発明に係るプログラムは、コンピュータを、上記a)からf)のいずれかに記載の通信装置における各手段として機能させることを特徴とするプログラムである。 g) A program according to the present invention is a program that causes a computer to function as each unit in the communication device according to any one of a) to f).

h)本発明に係る通信方法は、TCP通信を行う場合、送信側環境において、同一の送信・受信アドレス情報、ポート情報を1つのフローとして管理し、フロー毎に再送タイムアウトを検知するとともに再送タイムアウトが発生するまでのスループットを測定して記録するスループット測定記録手順と、再送タイムアウト値を変更し、前記スループット測定記録手順によりスループットを測定することによってスループットが最大化される再送タイムアウト値を取得して新たな再送タイムアウト値として設定する再送タイムアウト値設定手順と、該設定された最大化される再送タイムアウト値に基づいて通信を行う通信開始手順とを有することを特徴としている。 h) In the communication method according to the present invention, when TCP communication is performed, the same transmission / reception address information and port information are managed as one flow in the transmission side environment, and a retransmission timeout is detected for each flow. A throughput measurement recording procedure for measuring and recording the throughput until the occurrence of the error, and changing the retransmission timeout value, and obtaining a retransmission timeout value that maximizes the throughput by measuring the throughput by the throughput measurement recording procedure. It is characterized by having a retransmission timeout value setting procedure set as a new retransmission timeout value and a communication start procedure for performing communication based on the set maximum retransmission timeout value.

i)また、上記h)に記載の通信方法において、トークンバケットポリサが適用されたネットワークに設定されているポリシング設定値を取得する手順と、初回の再送タイムアウト発生時から、送信端末が送出したパケット情報をもとに、回復した送信レートがポリシングレートを上回るまでの時間を測定する測定手順と、該測定手段により得られた時間をバケットサイズが0から上限値まで充足される時間から引いた値が往復遅延時間より大きい場合に、該値を新たな再送タイムアウト値として設定する手順とを有することを特徴としている。 i) In addition, in the communication method described in h) above, the sending terminal sends out the procedure for obtaining the policing setting value set in the network to which the token bucket policer is applied and the first retransmission timeout. Based on the packet information, the measurement procedure for measuring the time until the recovered transmission rate exceeds the policing rate, and the time obtained by the measurement means are subtracted from the time when the bucket size is satisfied from 0 to the upper limit value. And a procedure for setting the value as a new retransmission timeout value when the value is larger than the round trip delay time.

j)また、上記h)に記載の通信方法において、前記再送タイムアウト値設定手順は、再送タイムアウトの発生を契機に、再送タイムアウト値を現在の再送タイムアウト値を初期値とした二分探索法を用いて一時的に変更し、スループットが最大化される再送タイムアウト値を探索し、該探索された最大化される再送タイムアウト値を新たな再送タイムアウト値として設定する手順であることを特徴としている。 j) In the communication method described in h) above, the retransmission timeout value setting procedure uses a binary search method in which a retransmission timeout value is used as an initial value when the retransmission timeout occurs. The procedure is characterized in that it is a procedure for temporarily changing, searching for a retransmission timeout value that maximizes throughput, and setting the searched maximized retransmission timeout value as a new retransmission timeout value.

本発明によれば、例えば、トークンバケットによるポリシングが適用されたネットワークでTCP通信を行う場合などにおいて、再送タイムアウト値をスループットが最大となる再送タイムアウト値を動的に設定することで、再送タイムアウトによるトークンが上限まで充足しているにもかかわらず送信を行わない無送信時間を最小化することになり、結果的に有効にトークンが利用され、平均スループットをよりポリシングレートに近づけることが可能な通信装置および通信方法ならびにそのためのプログラムを提供することができる。   According to the present invention, for example, when TCP communication is performed in a network to which policing by a token bucket is applied, the retransmission timeout value is dynamically set to a retransmission timeout value that maximizes the throughput. Communication that can minimize the non-transmission time during which transmission is not performed even though the token is full, and as a result, the token can be used effectively and the average throughput can be made closer to the policing rate. An apparatus, a communication method, and a program therefor can be provided.

再送までの時間の無駄について、時間とトークン量の関係を示す図である。It is a figure which shows the relationship between time and token amount about the waste of time until resending. 全ての実施例に共通する<初期化設定サブルーチン>を示す図である。It is a figure which shows <initialization setting subroutine> common to all the Examples. 全ての実施例に共通する<スループット算出サブルーチン>を示す図である。It is a figure which shows the <throughput calculation subroutine> common to all the Examples. 本発明に係る環境を示す構成図である。It is a block diagram which shows the environment which concerns on this invention. 本発明の実施例1に係る送信側環境における処理のフローチャートを示す図である。It is a figure which shows the flowchart of the process in the transmission side environment which concerns on Example 1 of this invention. 本発明の実施例2に係る送信側環境における処理のフローチャートを示す図である。It is a figure which shows the flowchart of the process in the transmission side environment which concerns on Example 2 of this invention. 本発明の実施例2における再送タイムアウト発生毎の各パラメータの変化を示す図である。FIG. 10 is a diagram illustrating changes in parameters for each occurrence of retransmission timeout in the second embodiment of the present invention. 本発明の実施例3に係る送信側環境における処理のフローチャートを示す図である(二分探索法によるRTO変更でスループットが向上しなくなった場合を探索終了条件とした場合)。It is a figure which shows the flowchart of the process in the transmission side environment which concerns on Example 3 of this invention. 本発明の実施例3に係る送信側環境における処理のフローチャートを示す図である(二分探索法によるRTOの変化幅が閾値より小さくなったことを探索終了条件とした場合)。It is a figure which shows the flowchart of the process in the transmission side environment which concerns on Example 3 of this invention (when the search end condition is that the change width of RTO by the binary search method became smaller than the threshold value). 本発明の実施例3における再送タイムアウト発生毎の各パラメータの変化を示す図である。It is a figure which shows the change of each parameter for every retransmission timeout generation in Example 3 of this invention. 本発明の実施例4に係る送信側環境における処理のフローチャートを示す図である。It is a figure which shows the flowchart of the process in the transmission side environment which concerns on Example 4 of this invention. 本発明の実施例4における再送タイムアウト発生毎の各パラメータの変化を示す図である。に係る送信側環境における処理のフローチャートを示す図である。It is a figure which shows the change of each parameter for every retransmission timeout generation in Example 4 of this invention. It is a figure which shows the flowchart of the process in the transmission side environment which concerns on. 本発明に係る実施例2〜4で求めた再送タイムアウトと初期再送タイムアウトにおけるスループットを比較する図である。It is a figure which compares the throughput in the retransmission timeout calculated | required in Examples 2-4 which concern on this invention, and an initial retransmission timeout.

<本発明のポイント>
本発明は、再送タイムアウト値を動的に変化させてスループットが最大となる再送タイムアウト値を求め、該スループットが最大となる再送タイムアウト値により通信を行うようにした技術であり、ポリシング機能として市中製品で広く用いられているトークンバケットポリサを使用するネットワーク環境下に適用した場合に特に好適であるので、以下では、トークンバケットポリサを使用したネットワークに用いた場合を例にして説明する。
<Points of the present invention>
The present invention is a technique in which a retransmission timeout value that maximizes throughput is obtained by dynamically changing a retransmission timeout value, and communication is performed using a retransmission timeout value that maximizes the throughput. Since the present invention is particularly suitable when applied to a network environment using a token bucket policer widely used in products, a case where the token bucket policer is used for a network using a token bucket policer will be described below as an example.

従来、例えば、トークンバケットによるポリシングが適用されたネットワークにおいて、TCP通信を行う場合、送信側環境におけるTCPパラメータである再送タイムアウト最小値が固定的に割り振られており、その影響でトークンの効率的な利用を阻害する要因となり、平均スループットがポリシングレートと比較して大きく減少していた。   Conventionally, for example, when performing TCP communication in a network to which policing by a token bucket is applied, a retransmission timeout minimum value, which is a TCP parameter in a transmission side environment, is fixedly allocated, and the effect of token efficiency This was a factor that hindered use, and the average throughput was greatly reduced compared to the polishing rate.

本発明は、送信側環境において、スループットが最大となるように再送タイムアウト値を選択・設定することにより、再送タイムアウト発生時にトークンの効率的な利用が実施できるようになり、結果的に平均スループットをよりポリシングレートに近づけることを可能としている。   In the present invention, by selecting and setting the retransmission timeout value so that the throughput is maximized in the transmission side environment, the token can be efficiently used when the retransmission timeout occurs, and as a result, the average throughput is reduced. It is possible to make it closer to the policing rate.

<本発明で使用する用語の説明と本発明の技術的意義の説明>
ポリシングとは、フロー毎の流量を監視し、一定の送信レートを超えるパケットに対して、バッファリングを行わずに廃棄する方式である。ポリシングは、シェーピングとは異なり、パケットに対してのキューイング(バッファリング)を行わないため、遅延が発生しないことを特徴としている。
<Explanation of terms used in the present invention and technical significance of the present invention>
Policing is a method of monitoring the flow rate for each flow and discarding packets exceeding a certain transmission rate without performing buffering. Unlike shaping, policing is characterized in that no delay occurs because queuing (buffering) of packets is not performed.

トークンバケットは、バケット内のトークンの存在に基づいてトラヒックの転送をいつ行うかを指示する制御機構である。バケット内のトークンはパケットを送信する際に削除される。   A token bucket is a control mechanism that directs when to forward traffic based on the presence of tokens in the bucket. The token in the bucket is deleted when sending the packet.

トークンバケットには最大値(最大バケットサイズBs)が設定されており、最大バケットサイズBs以上にトークンは補充されない。最大バケットサイズBsに対して、ポリシングレートBpに従ってトークンが補充されていく。   A maximum value (maximum bucket size Bs) is set in the token bucket, and the token is not replenished beyond the maximum bucket size Bs. The tokens are replenished according to the policing rate Bp for the maximum bucket size Bs.

トークンが0の状態から最大バケットサイズBsまで補充されるために要する時間をレート係数Brとする。パケットが到着したときにバケット内のトークン量を確認し、トークンがあるときはパケットの転送を行うことができるが、トークンが枯渇すると、パケットは転送されず廃棄される。   The time required for the token to be replenished from the zero state to the maximum bucket size Bs is defined as a rate coefficient Br. When the packet arrives, the token amount in the bucket is confirmed, and when there is a token, the packet can be transferred. However, when the token is exhausted, the packet is not transferred but discarded.

本発明では、トークンバケットを用いてポリシングを行うことを「トークンバケットポリサ」と定義する。   In the present invention, policing using a token bucket is defined as a “token bucket policer”.

トークンバケットポリサ適用下のネットワークにおいて、TCP通信では、自律的なウインドウ制御により、送信側がパケットロスを検知するまで、ACKを受信する契機で送信レートを増加させるため、バーストトラヒックを送出する。   In a network under the application of a token bucket policer, in TCP communication, burst traffic is transmitted in order to increase the transmission rate when receiving a ACK until the transmission side detects packet loss by autonomous window control.

そのため、送信レートがポリシングレートBpを超過した場合、パケット廃棄が発生する。また、パケットロスの検知もACKパケット到着を契機として検知される。   Therefore, when the transmission rate exceeds the policing rate Bp, packet discard occurs. In addition, the detection of the packet loss is also triggered by the arrival of the ACK packet.

一方、パケット廃棄とACK到着のタイミングには往復遅延時間の時間差があるため、ポリサによるパケット廃棄が発生した直後でも輻輳ウインドウは大きいままとなり、ポリサに余剰トークンがない状態でもパケットが次々に送出されるため、結果としてバースト廃棄が発生する。   On the other hand, since there is a time difference between round-trip delay time between packet discard and ACK arrival time, the congestion window remains large even immediately after the policer discards the packet, and packets are sent one after another even if there is no surplus token in the policer As a result, burst discard occurs.

このようにパケットが廃棄されると、TCPでは廃棄されたパケットの再転送を試みるが、再転送試行回数は、パケット廃棄が生じたタイミングにおける輻輳ウインドウの大きさに依存して上限値が決定されるため、再転送試行回数が少ない場合には、廃棄されたパケット数によっては、パケット再転送に失敗し、再送タイムアウトが発生する可能性が高くなる。   When a packet is discarded in this way, TCP tries to retransmit the discarded packet, but the upper limit of the number of retransmission attempts depends on the size of the congestion window at the timing when the packet is discarded. Therefore, when the number of re-transmission attempts is small, there is a high possibility that the packet re-transfer will fail and a retransmission timeout will occur depending on the number of discarded packets.

再送タイムアウト値RTOには最小値RTO_MINが固定的に存在し(一般的には200msec以上の値が設定)、再送タイムアウトが発生した場合は、必ずRTO_MIN以上の待ち時間が発生することになる。   The retransmission time-out value RTO has a fixed minimum value RTO_MIN (generally set to a value of 200 msec or more). When a retransmission time-out occurs, a waiting time of RTO_MIN or more is always generated.

トークン枯渇によるバースト廃棄が起因となる再送タイムアウトが発生すると、RTO_MINがレート係数Brより大きい場合、トークンが最大バケットサイズBsまで充足されているにもかかわらず、通信が再開されないという無駄な待ち時間(RTO_MIN−Br)が必ず発生してしまう。   When a retransmission timeout occurs due to burst discard due to token depletion, if RTO_MIN is larger than the rate coefficient Br, useless waiting time that communication is not resumed even though the token is satisfied up to the maximum bucket size Bs ( RTO_MIN-Br) always occurs.

この待ち時間が、期待するポリシングレートBpに対してスループットを大きく下げてしまう要因となっている。上述した再送までの時間の無駄について、時間とトークン量の関係を図1に示す。   This waiting time is a factor that greatly reduces the throughput with respect to the expected policing rate Bp. FIG. 1 shows the relationship between the time and the token amount with respect to the waste of time until the above-described retransmission.

本発明では、ポリシング適用下のTCP通信において、トークン枯渇によるバースト廃棄が起因となる再送タイムアウトが発生した場合、再送タイムアウト値RTOがRTO_MINより小さくなることを許容し、再送タイムアウト値RTOを一時的に変化させ、その際のスループットを記録し、比較することでスループットが最大となる再送タイムアウト値RTOを求め、従来よりポリシングレートに近いスループットを実現する。再送タイムアウト値RTOを小さくしすぎると無駄な再送が発生してしまうため、再送タイムアウト値RTOの変化の範囲は適した範囲を選択する必要がある。   In the present invention, when a retransmission timeout occurs due to burst discard due to token depletion in TCP communication under policing application, the retransmission timeout value RTO is allowed to be smaller than RTO_MIN, and the retransmission timeout value RTO is temporarily set. The retransmission timeout value RTO that maximizes the throughput is obtained by recording and comparing the throughput at that time, and a throughput closer to the policing rate than the conventional one is realized. If the retransmission time-out value RTO is too small, useless retransmissions occur. Therefore, it is necessary to select a suitable range for the change of the retransmission time-out value RTO.

<実施例の説明>
以下、本発明に係る実施例を、フローチャートを用いて詳細に説明する。なお、全ての実施例について、共通した処理を予めサブルーチンとして用意しておく。ここで共通した処理として、以下に示す<初期化設定サブルーチン>と<スループット算出サブルーチン>がある。先ず、これらのサブルーチンについて説明する。
<Description of Examples>
Hereinafter, embodiments according to the present invention will be described in detail with reference to flowcharts. Note that common processing is prepared in advance as a subroutine for all the embodiments. Common processes here include the <initialization setting subroutine> and the <throughput calculation subroutine> described below. First, these subroutines will be described.

<初期化設定サブルーチン>
各実施例では、スループットを最大化する再送タイムアウト値RTOを求めるため、その情報を蓄積する変数としてRTO_max,Throughput_maxを定義し、初期値として設定を行うフローを<初期化設定サブルーチン>として定義する。
<Initialization subroutine>
In each embodiment, in order to obtain the retransmission timeout value RTO for maximizing the throughput, RTO_max and Throughput_max are defined as variables for storing the information, and a flow for setting the initial values is defined as <initialization setting subroutine>.

図2は、<初期化設定サブルーチン>のフローチャートである。
同図に示すように、先ず、一般的に設定されている再送タイムアウト値RTO(≒RTT+RTO_MIN)をRTO_INITと定義し、再送タイムアウト値RTOの初期値として設定する(ステップS001)。ここで、RTT(Round Trip Time)は往復遅延時間である。
FIG. 2 is a flowchart of <Initialization setting subroutine>.
As shown in the figure, first, a generally set retransmission timeout value RTO (≈RTT + RTO_MIN) is defined as RTO_INIT, and is set as an initial value of the retransmission timeout value RTO (step S001). Here, RTT (Round Trip Time) is a round trip delay time.

次に、送信側端末にて、再送タイムアウトが発生したことを検知し、発生時刻t1を記録する(ステップS002)。通信を開始してからt1までに送信したパケット量を、送信パケット情報から取得し、通信を開始してからt1までの経過時間で割ることにより、スループットを変数Throughputとして定義し、算出する(ステップS003)。   Next, the transmission side terminal detects that a retransmission timeout has occurred, and records the occurrence time t1 (step S002). The amount of packets transmitted from the start of communication until t1 is obtained from the transmission packet information and divided by the elapsed time from the start of communication to t1, thereby defining and calculating the throughput as a variable Throughput (step) S003).

ステップS001で設定したRTO_INITをRTO_maxに、ステップS003で求めたThroughputをThroughput_maxに設定する(ステップS004)。   RTO_INIT set in step S001 is set to RTO_max, and Throughput obtained in step S003 is set to Throughput_max (step S004).

<スループット算出サブルーチン>
各実施例では、スループットを最大化する再送タイムアウト値RTOを求めるため、異なるアルゴリズム(実施例2〜4参照)にて再送タイムアウト値RTOの設定を行う。再送タイムアウトの発生毎に、再送タイムアウト値RTOを変更した後、スループットの算出を行うが、そのスループットの算出のフローをスループット算出サブルーチンとして定義する。
<Throughput calculation subroutine>
In each embodiment, in order to obtain the retransmission timeout value RTO that maximizes the throughput, the retransmission timeout value RTO is set with a different algorithm (see Embodiments 2 to 4). Every time a retransmission timeout occurs, the retransmission timeout value RTO is changed and then the throughput is calculated. The flow for calculating the throughput is defined as a throughput calculation subroutine.

図3は、<スループット算出サブルーチン>のフローチャートである。
同図に示すように、先ず、再送タイムアウトの発生回数をn(n≧2)として、送信側端末にてn回目の再送タイムアウトを検知し、発生時刻tnを記録する(ステップS005)。
FIG. 3 is a flowchart of <throughput calculation subroutine>.
As shown in the figure, first, assuming that the number of occurrences of retransmission timeout is n (n ≧ 2), the transmission side terminal detects the nth retransmission timeout and records the occurrence time tn (step S005).

前回(n−1回目)の再送タイムアウト発生時刻tn−1を用いて、tn−1からtnまでに送信したパケット量を送信パケット情報から取得し、取得したパケット量を、tn−1からtnまでの時間で割ることにより、スループットを変数Throughputとして算出する(ステップS006)。   Using the previous (n−1) th retransmission timeout occurrence time tn−1, the packet amount transmitted from tn−1 to tn is acquired from the transmission packet information, and the acquired packet amount is acquired from tn−1 to tn. The throughput is calculated as a variable Throughput by dividing by the time (step S006).

ステップS006で求めたThroughputとThroughput_maxを比較し(ステップS007)、Throughputの方がThroughput_maxより大きい場合は(ステップS007:Y)、RTO_maxとThroughput_maxを更新する(ステップS008)。Throughputの方がThroughput_maxより小さい場合は(ステップS007:N)、何も行わないでスループット算出処理を終了する。   Throughput and Throughput_max obtained in step S006 are compared (step S007). If Throughput is greater than Throughput_max (step S007: Y), RTO_max and Throughput_max are updated (step S008). If Throughput is smaller than Throughput_max (step S007: N), the throughput calculation process is terminated without performing anything.

<実施例1>
次に、実施例1について説明する。
実施例1において、送信端末はアクセス回線を通して、ネットワークのエッジルータに接続されている。このエッジルータにはポリシング設定値(ポリシングレートBp、最大バケットサイズBs、レート係数Br)で規定されたトークンバケットによるポリシングが実施されている。
<Example 1>
Next, Example 1 will be described.
In the first embodiment, the transmitting terminal is connected to the edge router of the network through an access line. This edge router is subjected to policing by token buckets defined by policing setting values (policing rate Bp, maximum bucket size Bs, rate coefficient Br).

図4は、上記環境を示す図であり、本発明の実施例1〜4における共通の構成である。
同図において、送信端末10は、アクセス回線20、エッジルータ31からDiffServネットワーク30、エッジルータ32、アクセス回線40を経由して受信端末50にTCP通信を行う。
FIG. 4 is a diagram showing the above environment, and is a common configuration in the first to fourth embodiments of the present invention.
In the figure, the transmission terminal 10 performs TCP communication from the access line 20 and the edge router 31 to the reception terminal 50 via the DiffServ network 30, the edge router 32, and the access line 40.

送信端末10は、通信の開始前にフローの送信速度をDiffservネットワーク30に通知し、パケットの転送品質を確保する。   The transmission terminal 10 notifies the Diffserv network 30 of the flow transmission rate before the start of communication to ensure the packet transfer quality.

エッジルータ31では、送信側(送信端末)および受信側(受信端末)のアドレス情報やポート情報が同一のものをフローとして管理し、フロー毎に送信レートを管理し、ポリシングレートBpを超えるものを破棄する。   The edge router 31 manages the same address information and port information on the transmission side (transmission terminal) and reception side (reception terminal) as a flow, manages the transmission rate for each flow, and manages the flow rate exceeding the policing rate Bp. Discard.

本実施例は、再送タイムアウトの発生を検知し、再送タイムアウト発生毎に、送信パケットの情報によりスループットを計測し、TCPプロトコルの通信中に再送タイムアウトの発生をトリガー(契機)として、RTT≦RTOを満たす範囲で、スループットが最大化される再送タイムアウト値RTOを探索し、その値を新たな再送タイムアウト値RTOとして設定し、通信を行うことを特徴とするものである。   In the present embodiment, the occurrence of a retransmission timeout is detected, the throughput is measured based on the information of the transmitted packet every time the retransmission timeout occurs, and RTT ≦ RTO is triggered by the occurrence of the retransmission timeout during TCP protocol communication. In this range, a retransmission timeout value RTO that maximizes the throughput is searched, the value is set as a new retransmission timeout value RTO, and communication is performed.

図5は、本実施例の送信側環境(送信端末10)におけるフローチャートである。
同図において、先ず、TCP通信を開始し、初期値設定サブルーチン(図2に示すフローチャートの処理)にてRTO_INITに対するスループットをThroughtput_maxの初期値として設定する(ステップS009)。
FIG. 5 is a flowchart in the transmission side environment (transmission terminal 10) of the present embodiment.
In the figure, first, TCP communication is started, and the throughput for RTO_INIT is set as the initial value of Thoughtput_max in the initial value setting subroutine (the process of the flowchart shown in FIG. 2) (step S009).

本実施例では、再送タイムアウトをトリガー(契機)として、再送タイムアウト値RTOを変更して新たなスループットの算出を行う処理を繰り返すため、再送タイムアウト発生回数n回目におけるRTOを変数RTO_nとして定義する。   In this embodiment, the retransmission timeout value RTO is changed and a new throughput calculation is repeated using the retransmission timeout as a trigger (trigger), and therefore, the RTO at the nth retransmission timeout occurrence is defined as a variable RTO_n.

再送タイムアウト発生回数nを2と設定し(ステップS010)、ある特定のアルゴリズム(後述する実施例2〜4参照)によってRTO_nの算出を行い(ステップS011)、算出して求めたRTO_nを再送タイムアウト値RTOとして設定し(ステップS012)、通信を行う。   The number of retransmission timeout occurrences n is set to 2 (step S010), RTO_n is calculated by a specific algorithm (see Examples 2 to 4 to be described later) (step S011), and the calculated RTO_n is set as a retransmission timeout value. Set as RTO (step S012) and perform communication.

次に、受信したACKパケット情報から往復遅延時間RTTの値を取得し(ステップS013)、ステップS012で設定した再送タイムアウト値RTOが往復遅延時間RTTより小さくなると無駄な再送タイムアウトが増加してしまうため、これらを比較し(ステップS014)、再送タイムアウト値RTOが往復遅延時間RTT以上場合すなわちRTT≦RTOの場合(ステップS014:Y)、ステップS012で設定した再送タイムアウト値RTOを用いて通信を継続し(ステップS015)、再送タイムアウトの発生をトリガーとして、スループット算出サブルーチン(図3に示すフローチャートの処理)にて、Throughputを求め、RTO_max,Throughtput_maxの更新処理を行い(ステップS016)、再送タイムアウト発生回数nを1増加させて(ステップS017)、ステップS011に戻る。   Next, the value of the round trip delay time RTT is acquired from the received ACK packet information (step S013). If the retransmission timeout value RTO set in step S012 is smaller than the round trip delay time RTT, useless retransmission timeout increases. These are compared (step S014), and if the retransmission timeout value RTO is greater than or equal to the round trip delay time RTT, that is, if RTT ≦ RTO (step S014: Y), communication is continued using the retransmission timeout value RTO set in step S012. (Step S015) Using the occurrence of a retransmission timeout as a trigger, Throughput is calculated in the throughput calculation subroutine (the process of the flowchart shown in FIG. 3), RTO_max and Thoughtput_max are updated (Step S016), and the number of retransmission timeout occurrences n Increase by one By (step S017), the flow returns to step S011.

ステップS011からステップS017までの処理が繰り返され、終了条件を再送タイムアウト値RTOが往復遅延時間RTTより小さくなることとし、その場合はステップS014:N)、スループットを最大化するRTO_maxを再送タイムアウト値RTOと設定して(ステップS018)、継続して通信を行う。   The processing from step S011 to step S017 is repeated, and the termination condition is that the retransmission timeout value RTO is smaller than the round trip delay time RTT. In this case, step S014: N), RTO_max that maximizes the throughput is set as the retransmission timeout value RTO. Is set (step S018), and communication is continued.

次に、ステップS011におけるスループットを最大化する再送タイムアウト値RTOの探索アルゴリズムについて、実施例2から実施例4までの3つの手法の提案を行い、各手法についてフローチャートおよび具体例について示す。   Next, regarding the retransmission timeout value RTO search algorithm that maximizes the throughput in step S011, three methods from Example 2 to Example 4 are proposed, and a flowchart and a specific example are shown for each method.

<実施例2>
実施例2は、実施例1の環境において、TCPプロトコルの通信中に送信側(送信端末10)がポリシング設定値(ポリシングレートBp、最大バケットサイズBs、レート係数Br)の情報を取得できる場合、初回の再送タイムアウト発生時から送信端末10が送出したパケット情報をもとにスループットがポリシングレートBpを超えるまでの時間Tを計測し、レート係数Brと時間Tの差を再送タイムアウト値RTOに設定し(RTO=Br − T)、この再送タイムアウト値RTOの場合のスループットを算出し、新たに算出されたスループットと前回のスループットを比較し、スループットが向上した場合、その値を新たな再送タイムアウト値RTOとして設定し、通信を行うことを特徴とするものである。
<Example 2>
In the second embodiment, in the environment of the first embodiment, when the transmission side (transmission terminal 10) can acquire information on the policing setting values (policing rate Bp, maximum bucket size Bs, rate coefficient Br) during communication of the TCP protocol, The time T from when the first retransmission timeout occurs until the throughput exceeds the policing rate Bp is measured based on the packet information transmitted from the transmission terminal 10, and the difference between the rate coefficient Br and the time T is set as the retransmission timeout value RTO. (RTO = Br−T), the throughput in the case of this retransmission timeout value RTO is calculated, the newly calculated throughput is compared with the previous throughput, and when the throughput is improved, the throughput is improved to the new retransmission timeout value RTO. And performing communication.

再送タイムアウトが発生すると、送信レートを最小化するため、送信レートがポリシングレートBpを上回るまでは、トークンの消費よりも充足量の方が上回る。そこで再送タイムアウト値RTOとしてはレート係数Brに対して、送信レートがポリシングレートBpを上回る時間Tを引いたものが最適値であると考える。   When a retransmission timeout occurs, in order to minimize the transmission rate, the sufficient amount exceeds the token consumption until the transmission rate exceeds the policing rate Bp. Accordingly, the retransmission timeout value RTO is considered to be the optimum value obtained by subtracting the time T when the transmission rate exceeds the policing rate Bp with respect to the rate coefficient Br.

変更後、RTO<RTTとなる場合は、余計な再送が発生してしまうため、その場合は往復遅延時間RTTとレート係数Brの大きい値を再送タイムアウト値RTOとして、スループットの比較を行う。   If RTO <RTT is satisfied after the change, extra retransmissions occur. In this case, throughputs are compared by setting the round trip delay time RTT and the value of the rate coefficient Br as the retransmission timeout value RTO.

次に、上記実施例2の処理を、フローチャートを用いて説明する。
図6は、本実施例の送信側環境におけるフローチャートである。
同図において、先ず、TCP通信を開始し、送信側端末(送信端末10)がポリシング設定値(ポリシングレートBp、最大バケットサイズBs、レート係数Br)を取得し(ステップS19)、次に、初期値設定サブルーチン(図2に示すフローチャートの処理)にてRTO_INITに対するスループットをThroughput_maxの初期値として設定する(ステップS020)。
Next, the process of the said Example 2 is demonstrated using a flowchart.
FIG. 6 is a flowchart in the transmission side environment of the present embodiment.
In the figure, first, TCP communication is started, and the transmission side terminal (transmission terminal 10) acquires the policing setting values (policing rate Bp, maximum bucket size Bs, rate coefficient Br) (step S19), and then the initial Through the value setting subroutine (the process of the flowchart shown in FIG. 2), the throughput for RTO_INIT is set as the initial value of Throughput_max (step S020).

次に、初回再送タイムアウトの発生時刻t1から、送信パケット情報を元に、ThroughputがポリシングレートBpを上回るまでの時間Tを計測する(ステップS021)。   Next, the time T from when the initial retransmission timeout occurs t1 until Throughput exceeds the policing rate Bp is measured based on the transmission packet information (step S021).

次に、再送タイムアウト回数nを2として設定し(ステップS022)、受信したACKパケット情報から往復遅延時間RTTの値を取得し(ステップS023)、レート係数Brと時間Tとの差(Br−T)と往復遅延時間RTTの値を比較し(ステップS024)、レート係数Brと時間Tとの差(Br−T)が往復遅延時間RTTより大きい場合は(ステップS024:Y)、RTO_nをBr−Tとして算出する(ステップS025)。   Next, the retransmission timeout count n is set to 2 (step S022), the value of the round trip delay time RTT is acquired from the received ACK packet information (step S023), and the difference between the rate coefficient Br and the time T (Br-T ) And the value of the round trip delay time RTT (step S024). If the difference (Br−T) between the rate coefficient Br and the time T is larger than the round trip delay time RTT (step S024: Y), RTO_n is set to Br−. Calculated as T (step S025).

一方、レート係数Brと時間Tとの差(Br−T)が往復遅延時間RTT以下の場合は(ステップS024:N)、無駄な再送タイムアウトが発生してしまうため、レート係数Brと往復遅延時間RTTを比較し(ステップS027)、レート係数Brが往復遅延時間RTTより大きい場合は(ステップS027:Y)、RTO_nをレート係数Brとして算出し(ステップS028)、往復遅延時間RTTがレート係数Br以上の場合は(ステップS027:N)、RTO_nを往復遅延時間RTTとして算出する(ステップS029)。   On the other hand, when the difference (Br−T) between the rate coefficient Br and the time T is equal to or shorter than the round trip delay time RTT (step S024: N), a wasteful retransmission timeout occurs, so the rate coefficient Br and the round trip delay time. RTTs are compared (step S027). If the rate coefficient Br is greater than the round trip delay time RTT (step S027: Y), RTO_n is calculated as the rate coefficient Br (step S028), and the round trip delay time RTT is greater than or equal to the rate coefficient Br. In the case of (step S027: N), RTO_n is calculated as the round trip delay time RTT (step S029).

ステップS025,S028,S029で求めたRTO_nを再送タイムアウト値RTOに設定し(ステップS026)、通信を継続する(ステップS030)。   RTO_n obtained in steps S025, S028, and S029 is set as a retransmission timeout value RTO (step S026), and communication is continued (step S030).

次に、再送タイムアウトの発生をトリガーとして、スループット算出サブルーチン(図3に示すフローチャートの処理)にてThroughputを求め、RTO_max,Throughput_maxの更新処理を行う(ステップS031)。   Next, using the occurrence of a retransmission timeout as a trigger, Throughput is obtained by a throughput calculation subroutine (the process of the flowchart shown in FIG. 3), and RTO_max and Throughput_max are updated (step S031).

次に、スループットを最大化するRTO_maxを再送タイムアウト値RTOに設定し(ステップS032)、通信を継続する。   Next, RTO_max that maximizes the throughput is set to the retransmission timeout value RTO (step S032), and communication is continued.

(実施例2の具体例)
次に、実施例2の具体例を説明する。
実施例2の具体例では、実施例1と同様に、往復遅延時間RTTを5msec、ポリシングレートBpを2Mbps、最大バケットサイズBsを25KB(レート係数Brが100msecとなる値)、一般的に設定されているRTO_MINを200msecとする。
(Specific example of Example 2)
Next, a specific example of the second embodiment will be described.
In the specific example of the second embodiment, similarly to the first embodiment, the round-trip delay time RTT is set to 5 msec, the policing rate Bp is set to 2 Mbps, and the maximum bucket size Bs is set to 25 KB (value at which the rate coefficient Br is 100 msec) RTO_MIN that is set to 200 msec.

図6のステップS019にて、ポリシング設定値として、ポリシングレートBpが2Mbps、最大バケットサイズBsが25KB、レート係数Brが100msecという値を取得し、ステップS020の初期値設定ステップにてRTO_INITが205msecと設定され、初回の再送タイムアウト発生時にスループットが算出され、Throughputが1.16Mbpsとなり、この2つの値がRTO_maxとThroughput_maxに設定される。   In step S019 of FIG. 6, the policing setting values are obtained as the policing rate Bp of 2 Mbps, the maximum bucket size Bs of 25 KB, and the rate coefficient Br of 100 msec. In the initial value setting step of step S020, RTO_INIT is 205 msec. When the first retransmission timeout occurs, the throughput is calculated, Throughput is 1.16 Mbps, and these two values are set as RTO_max and Throughput_max.

ステップS021にて初回の再送タイムアウト発生時からThroughputがポリシングレートBpよりも大きくなるまでの時間Tを計測する。時間Tは5msecと計測される。ステップS022にて再送タイムアウトの発生回数nを2に設定し、ステップS023にて往復遅延時間RTTの値(5msec)を取得し、ステップS024でレート係数Brと時間Tとの差(Br−T)と往復遅延時間RTTの比較を行う。   In step S021, a time T from when the first retransmission timeout occurs until Throughput becomes greater than the polishing rate Bp is measured. Time T is measured as 5 msec. In step S022, the number n of retransmission timeout occurrences is set to 2. In step S023, the round-trip delay time RTT value (5 msec) is obtained. In step S024, the difference between the rate coefficient Br and time T (Br-T). And the round-trip delay time RTT are compared.

レート係数Brと時間Tとの差(Br−T)は95msecであるため往復遅延時間RTT5msecより大きいことから(ステップS024:Y)、ステップS025にて再送タイムアウト値RTO_nは95msecと求められ、ステップS026にて再送タイムアウト値RTOに求めたRTO_nを設定して、ステップS030で通信を継続する。ステップS031にて、再送タイムアウトの発生をトリガーとしてスループットの算出を行い、Throughputが1.85Mbpsと算出される。   Since the difference (Br−T) between the rate coefficient Br and time T is 95 msec and is larger than the round trip delay time RTT 5 msec (step S024: Y), the retransmission timeout value RTO_n is obtained as 95 msec in step S025, and step S026. In step S030, the RTO_n obtained for the retransmission timeout value RTO is set, and communication is continued in step S030. In step S031, throughput is calculated with the occurrence of retransmission timeout as a trigger, and Throughput is calculated as 1.85 Mbps.

次に、Throughput(1.85Mbps)とThroughput_max(1.16Mbps)と比較し、Throughputの方が大きいため、RTO_maxを95msecにThroughput_maxを1.85Mbpsに更新する。ステップS032にて再送タイムアウト値RTOを95msecと設定し、通信を継続する。   Next, since Throughput is larger than Throughput (1.85 Mbps) and Throughput_max (1.16 Mbps), RTO_max is updated to 95 msec and Throughput_max is updated to 1.85 Mbps. In step S032, the retransmission timeout value RTO is set to 95 msec, and communication is continued.

図7は、ステップS19からS31までの処理における再送タイムアウト値RTO、Throughput、RTO_max、Throughtput_maxの値の具体例を示す図である。   FIG. 7 is a diagram illustrating a specific example of the retransmission timeout values RTO, Throughput, RTO_max, and Thoughtput_max in the processing from step S19 to step S31.

求められた再送タイムアウト値RTOに対してスループットは1.85Mbpsとなり、RTO_INIT(≒RTT+RTO_MIN=205msec)と比較して、スループットが0.69Mbps向上したことがわかる。また、本パラメータを計算するために必要な再送タイムアウト発生回数nは2回である。   It can be seen that the throughput is 1.85 Mbps with respect to the determined retransmission timeout value RTO, which is an improvement of 0.69 Mbps compared to RTO_INIT (≈RTT + RTO_MIN = 205 msec). Also, the number of retransmission timeout occurrences n necessary for calculating this parameter is two.

<実施例3>
実施例3は、実施例1の環境において、TCPプロトコルの通信中に再送タイムアウトの発生をトリガーとして、
RTT ≦ RTO ≦ RTO_INIT
の範囲の中で、再送タイムアウト値RTO探索範囲を変数RTO_low〜RTO_highとして定義し、それぞれ往復遅延時間RTT,初期再送タイムアウト値RTO_INITとして設定し、スループットが最大化される再送タイムアウト値RTOを二分探索法を用いて探索する。
<Example 3>
In the environment of the first embodiment, the third embodiment is triggered by the occurrence of a retransmission timeout during TCP protocol communication.
RTT ≤ RTO ≤ RTO_INIT
In this range, the retransmission timeout value RTO search range is defined as variables RTO_low to RTO_high and set as the round trip delay time RTT and the initial retransmission timeout value RTO_INIT, respectively, and the retransmission timeout value RTO that maximizes the throughput is binary search method. Search using.

探索終了条件は、二分探索によってスループットが向上しなくなった点としてもよいし、スループットを目指すポリシングレートの割合で指定してもよいし、変化させるRTO幅が往復遅延時間RTT以下となった場合としてもよい。   The search end condition may be that the throughput is not improved by the binary search, may be specified by the ratio of the policing rate aiming for the throughput, or the case where the RTO width to be changed is equal to or less than the round trip delay time RTT. Also good.

次に、上記実施例3の処理を、フローチャートを用いて説明する。
図8および9は、実施例3における送信側環境で行われる処理のフローチャートである。図8は、探索終了条件を「スループットが向上しなくなった」とした場合のフローチャートであり、図9は、探索終了条件を「変化させるRTO幅が往復遅延時間RTT以下」とした場合のフローチャートである。図8と図9は、図8ステップSS52におけるスループットに基づく探索終了条件を、図9のステップS055における再送タイムアウトの変化幅に基づく探索終了条件に置き換えた点を除けば同一のフローチャートである。
Next, the process of the said Example 3 is demonstrated using a flowchart.
8 and 9 are flowcharts of processing performed in the transmission-side environment according to the third embodiment. FIG. 8 is a flowchart when the search end condition is “the throughput is no longer improved”, and FIG. 9 is a flowchart when the search end condition is “the RTO width to be changed is equal to or less than the round trip delay time RTT”. is there. 8 and 9 are the same flowcharts except that the search end condition based on the throughput in step SS52 in FIG. 8 is replaced with the search end condition based on the retransmission timeout change width in step S055 in FIG.

図8において、先ず、TCP通信を開始し、初期値設定サブルーチン(図2に示すフローチャートの処理)にてRTO_INITに対するスループットをThroughput_maxの初期値として設定する(ステップS033)。   In FIG. 8, first, TCP communication is started, and the throughput for RTO_INIT is set as the initial value of Throughput_max in the initial value setting subroutine (the process of the flowchart shown in FIG. 2) (step S033).

次に、スループットを最大化する再送タイムアウト値RTOの探索において、再送タイムアウト値RTOの探索範囲を変数RTO_low,RTO_high、それぞれのスループットをThroughput_low,Throughput_highと定義し、初期値設定サブルーチンで求めた再送タイムアウト値RTOとThroughputをRTO_highとThroughput_highに設定する(ステップS034)。   Next, in the search for the retransmission timeout value RTO that maximizes the throughput, the retransmission timeout value RTO search range is defined as variables RTO_low and RTO_high, and the respective throughputs are defined as Throughput_low and Throughput_high, and the retransmission timeout value obtained by the initial value setting subroutine RTO and Throughput are set to RTO_high and Throughput_high (step S034).

次に、受信したACKパケット情報から往復遅延時間RTTの値を取得し(ステップS035)、再送タイムアウト値RTOを往復遅延時間RTTとして設定し(ステップS036)、再送タイムアウト回数nを2に設定し(ステップS037)、再送タイムアウトの発生をトリガーとして、スループット算出サブルーチンにてThroughputを求め、RTO_max、Throughput_maxの更新処理を行う(ステップS038)。   Next, the value of the round trip delay time RTT is acquired from the received ACK packet information (step S035), the retransmission timeout value RTO is set as the round trip delay time RTT (step S036), and the retransmission timeout count n is set to 2 ( In step S037), through the occurrence of retransmission timeout, Throughput is obtained in the throughput calculation subroutine, and RTO_max and Throughput_max are updated (step S038).

再送タイムアウト値RTOと求めたThroughputを、それぞれRTO_lowとThrougput_lowに設定し(ステップS039)、二分探索を行っていくことになる。   The retransmission timeout value RTO and the obtained Throughput are set to RTO_low and Througput_low, respectively (step S039), and a binary search is performed.

再送タイムアウト発生回数nを3に設定し(ステップS040)、Throuput_lowとThrouput_highを比較し(ステップS041)、Throuput_highよりThrouput_lowが高い場合は(ステップS041:Y)、求めたいスループットを最大化する再送タイムアウト値RTOがRTO_low近辺にあると判断し、RTO_highを(RTO_low+RTO_high)/2に更新し(ステップS042)、この値を再送タイムアウト値RTOに設定し(ステップS043)、通信を継続する(ステップS044)。   The retransmission timeout occurrence number n is set to 3 (step S040), the throughput_low and the throughput_high are compared (step S041), and if the throughput_low is higher than the throughput_high (step S041: Y), a retransmission timeout value that maximizes the desired throughput. RTO is determined to be in the vicinity of RTO_low, RTO_high is updated to (RTO_low + RTO_high) / 2 (step S042), this value is set to the retransmission timeout value RTO (step S043), and communication is continued (step S044). .

次に、再送タイムアウトの発生をトリガーとして、スループット算出サブルーチン(図3に示すフローチャートの処理)にてThroughputを求め、RTO_max,Throughput_maxの更新処理を行う(ステップS045)。   Next, using the occurrence of a retransmission timeout as a trigger, Throughput is obtained by a throughput calculation subroutine (the process of the flowchart shown in FIG. 3), and RTO_max and Throughput_max are updated (step S045).

そしてThroughput_highを、求めたThroughputで更新する(ステップS046)。   Then, Throughput_high is updated with the obtained Throughput (step S046).

一方、ステップS041でThrouput_lowとThrouput_highを比較した結果、Throuput_lowよりThrouput_highが高い場合は(ステップS041:N)、求めたいスループットを最大化する再送タイムアウト値RTOがRTO_high近辺にあると判断し、RTO_lowを(RTO_low+RTO_high)/2に更新し(ステップS047)、この値を再送タイムアウト値RTOに設定し(ステップS048)、通信を継続する(ステップS049)。   On the other hand, as a result of comparing Throughput_low and Throughput_high in Step S041, if Throughput_high is higher than Throughput_low (Step S041: N), it is determined that the retransmission timeout value RTO for maximizing the desired throughput is in the vicinity of RTO_high, and RTO_low is set to ( RTO_low + RTO_high) / 2 (step S047), this value is set as the retransmission timeout value RTO (step S048), and communication is continued (step S049).

次に、再送タイムアウトの発生をトリガーとして、スループット算出サブルーチン(図3に示すフローチャートの処理)にてThroughputを求め、RTO_max,Throughput_maxの更新処理を行う(ステップS050)。そしてThroughput_lowを、求めたThroughputで更新する(ステップS051)。   Next, with the occurrence of a retransmission timeout as a trigger, Throughput is obtained in a throughput calculation subroutine (the process of the flowchart shown in FIG. 3), and RTO_max and Throughput_max are updated (step S050). Then, Throughput_low is updated with the obtained Throughput (step S051).

ステップS042からS046およびステップS047からS051によってそれぞれRTO_highおよびRTO_lowに設定してThrouput_maxが更新されたかを判定し(ステップS052)、ThroughputとThroughput_maxが等しい場合すなわちThrouput_maxが更新された場合(ステップS052:N)、再送タイムアウト回数nを1増やし(ステップS053)、ステップS041からS053までの処理を繰り返す。   Steps S042 to S046 and steps S047 to S051 are set to RTO_high and RTO_low, respectively, to determine whether Throughput_max has been updated (Step S052). When Throughput and Throughput_max are equal, that is, Throughput_max is updated (Step S052: N) The retransmission timeout count n is increased by 1 (step S053), and the processing from steps S041 to S053 is repeated.

図8は、上述したように、繰り返し終了条件を、「二分探索による再送タイムアウト値RTO変更によってスループットの最大値Througput_maxが更新されない」(ステップS052)としたものである。Throuput_maxが更新されなかった場合すなわちThroughputとThroughput_maxが等しくない場合は(ステップS052:Y)、RTO_maxを再送タイムアウト値RTOに設定し(ステップS054)、通信を継続する。   In FIG. 8, as described above, the repetition termination condition is “the maximum throughput value Througput_max is not updated due to the retransmission timeout value RTO change by binary search” (step S052). If Throuput_max is not updated, that is, if Throughput and Throughput_max are not equal (step S052: Y), RTO_max is set to the retransmission timeout value RTO (step S054), and communication is continued.

図9は、上述したように、繰り返し終了条件を、「二分探索における再送タイムアウト値RTOの変更幅(RTO_low+RTO_high)/2が閾値σよりも小さくなった」(ステップS055)とした場合の例である。再送タイムアウト値RTOの変更幅(RTO_low+RTO_high)/2が閾値σよりも小さくなった場合は(ステップS055:Y)、RTO_maxを再送タイムアウト値RTOに設定し(ステップS054)、通信を継続する。   FIG. 9 shows an example in which, as described above, the iterative termination condition is “the change width (RTO_low + RTO_high) / 2 of the retransmission timeout value RTO in binary search is smaller than the threshold σ” (step S055). It is. When the change width (RTO_low + RTO_high) / 2 of the retransmission timeout value RTO is smaller than the threshold σ (step S055: Y), RTO_max is set to the retransmission timeout value RTO (step S054), and communication is continued.

(実施例3の具体例)
次に、実施例3の具体例を説明する。
実施例3の具体例として、往復遅延時間RTTを5msec(RTO_low=RTT=5msec)、一般的に設定されているRTO_MINを200msec、RTO_highをRTO_INIT(≒RTT+RTO_MIN=205msec)、ポリシングレートBpを2Mbps、最大バケットサイズBsを25KB(レート係数Brが100msecとなる値)、探索終了条件をスループットが向上しなくなった点とする。
(Specific example of Example 3)
Next, a specific example of Example 3 will be described.
As a specific example of the third embodiment, the round-trip delay time RTT is 5 msec (RTO_low = RTT = 5 msec), the generally set RTO_MIN is 200 msec, RTO_high is RTO_INIT (≈RTT + RTO_MIN = 205 msec), and the polishing rate Bp is 2 Mbps. The maximum bucket size Bs is 25 KB (value at which the rate coefficient Br is 100 msec), and the search end condition is that the throughput is not improved.

ステップS033でRTO_INITが205msecと設定され、初回の再送タイムアウト発生時にスループットが算出され、Throughputが1.16Mbpsとなり、この2つの値がRTO_maxとThroughtput_maxに設定される。ステップS034にて、RTO_highには205msec、Throughtput_highには1.16Mbpsが設定される。   In step S033, RTO_INIT is set to 205 msec, the throughput is calculated when the first retransmission timeout occurs, Throughput is 1.16 Mbps, and these two values are set to RTO_max and Thoughtput_max. In step S034, 205 msec is set for RTO_high and 1.16 Mbps is set for Thoughtput_high.

図8のステップS035により往復遅延時間RTTの値(5msec)を取得し、ステップS036にて新たな再送タイムアウト値RTOをRTTの値5msecに設定する。   The round-trip delay time RTT value (5 msec) is acquired in step S035 in FIG. 8, and a new retransmission timeout value RTO is set to the RTT value 5 msec in step S036.

次に、ステップS037にて再送タイムアウト回数を2と設定し、ステップS038にて再送タイムアウト発生をトリガーとして、スループットの算出を行い、Throughtputが1.69Mbpsと算出される。   Next, in step S037, the number of retransmission timeouts is set to 2, and in step S038, the throughput is calculated with the occurrence of retransmission timeout as a trigger, and the Thoughtput is calculated to be 1.69 Mbps.

次に、Throughtput(1.69Mbps)とThroughput_max(1.16Mbps)とを比較し、Throughputが大きいため、RTO_maxを5msecに、Throughtput_maxをこのときのThroughtputの値に更新する。ステップS039にて、RTO_lowには5msec、Throughput_lowには1.69Mbpsを設定する。   Next, Throughput (1.69 Mbps) and Throughput_max (1.16 Mbps) are compared. Since Throughput is large, RTO_max is updated to 5 msec, and Thoughtput_max is updated to the value of Thoughtput at this time. In step S039, RTO_low is set to 5 msec, and Throughput_low is set to 1.69 Mbps.

ステップS040にて再送タイムアウト発生回数nを3に設定し、ステップS041にて、Throughput_lowとThroughput_highを比較する。本例の場合、Throughput_low(1.69Mbps)の方がThroughput_high(1.16Mbps)より大きいため(ステップS041:Y)、ステップS042にてRTO_highを105msecとして算出し、ステップS043にてRTO_highを再送タイムアウト値RTOに設定して、ステップS044で通信を継続する。   In step S040, the retransmission timeout occurrence number n is set to 3, and in step S041, Throughput_low and Throughput_high are compared. In this example, Throughput_low (1.69 Mbps) is larger than Throughput_high (1.16 Mbps) (step S041: Y), RTO_high is calculated as 105 msec in step S042, and RTO_high is set as a retransmission timeout value in step S043. RTO is set and communication is continued in step S044.

再送タイムアウトの発生をトリガーとして、スループットの算出を行い、Throughputが1.9Mbpsとして算出される(ステップS045)。ThroughputとThroughput_maxと比較して、ThroughputがThroughput_maxより大きいため、RTO_maxを105msec,Throughput_maxを1.9Mbpsに更新する。   Throughput is calculated with the occurrence of retransmission timeout as a trigger, and Throughput is calculated as 1.9 Mbps (step S045). Compared to Throughput and Throughput_max, since Throughput is greater than Throughput_max, RTO_max is updated to 105 msec and Throughput_max is updated to 1.9 Mbps.

ステップS046にてThroughput_highを1.9Mbpsに更新し、ステップS052にてThroughputとThroughput_maxを比較し、ThroughputとThroughput_maxが等しい場合は(ステップS052:N)、Throughput_maxの更新処理が行われたことを意味するため、ステップS053で再送タイムアウト回数を4に更新し、再びステップS041からS053までの処理を繰り返す。   In Step S046, Throughput_high is updated to 1.9 Mbps. In Step S052, Throughput and Throughput_max are compared. If Throughput and Throughput_max are equal (Step S052: N), this means that the Throughput_max has been updated. Therefore, the number of retransmission timeouts is updated to 4 in step S053, and the processing from steps S041 to S053 is repeated again.

図10は、実施例3のステップS041からS053までの繰り返し処理(n=1〜5)における再送タイムアウト値RTO、Throughput、RTO_max、Throughtput_max、RTO_high、Throughput_high、RTO_low,Throughput_lowの値の例を示す図である。   FIG. 10 is a diagram illustrating examples of values of retransmission timeout values RTO, Throughput, RTO_max, Thoughtput_max, RTO_high, Throughput_high, RTO_low, and Throughput_low in the iterative processing (n = 1 to 5) from step S041 to S053 of the third embodiment. is there.

ステップS052にて、ThroughputとThroughput_maxが等しくない場合は(ステップS052:Y)、Throughput_maxの更新が行われなくなったことを意味するため、ステップS041からS053までの繰り返し処理を終了し、ステップS054にてRTO_maxである55msecを再送タイムアウト値RTOに設定し、通信を継続する。   If Throughput and Throughput_max are not equal in step S052 (step S052: Y), this means that Throughput_max is no longer updated, and thus the iterative process from steps S041 to S053 is terminated, and in step S054. The RTO_max of 55 msec is set as the retransmission timeout value RTO, and communication is continued.

求められた再送タイムアウト値RTOに対してスループットは1.93Mbpとなり、RTO_INIT(≒RTT+RTO_MIN=205msec)と比較して、スループットは0.77Mbps向上したことがわかる。   It can be seen that the throughput is 1.93 Mbps with respect to the determined retransmission timeout value RTO, which is 0.77 Mbps higher than RTO_INIT (≈RTT + RTO_MIN = 205 msec).

また、本パラメータを計算するために必要な再送タイムアウト発生回数は5回である。   Further, the number of retransmission timeout occurrences necessary for calculating this parameter is five.

<実施例4>
実施例4は、実施例1の環境において、TCPプロトコルの通信中に再送タイムアウトの発生をトリガーとして、
RTT ≦ RTO ≦ RTO_INIT
を満たす範囲で、任意の間隔dで順次変化させ、スループットが最大となるRTOを網羅的に探索し、その値を新たな再送タイムアウト値RTOとして設定し、通信を行う。
<Example 4>
In the environment of the first embodiment, the fourth embodiment is triggered by the occurrence of a retransmission timeout during TCP protocol communication.
RTT ≤ RTO ≤ RTO_INIT
The RTO is sequentially changed at an arbitrary interval d within a range satisfying the above, exhaustively searching for an RTO that maximizes the throughput, and setting the value as a new retransmission timeout value RTO for communication.

次に、上記実施例4の処理を、フローチャートを用いて説明する。
図11は、実施例4における送信側環境で行われる処理のフローチャートである。
同図に示すように、先ず、TCP通信を開始し、初期設定サブルーチン(図2のフローチャートの処理)にてRTO_INITに対するスループットをThroughput_maxの初期値として設定する(ステップS056)。
Next, the process of the said Example 4 is demonstrated using a flowchart.
FIG. 11 is a flowchart of processing performed in the transmission-side environment according to the fourth embodiment.
As shown in the figure, first, TCP communication is started, and the throughput for RTO_INIT is set as an initial value of Throughput_max in an initial setting subroutine (the process of the flowchart of FIG. 2) (step S056).

次に、再送タイムアウト回数nを2に設定し(ステップS057)、n回目の再送タイムアウトにおけるRTO_nを再送タイムアウト値RTOから一定間隔dによって減じ(ステップS058)、RTO_nを再送タイムアウト値RTOに設定する(ステップS059)。   Next, the retransmission timeout number n is set to 2 (step S057), RTO_n at the n-th retransmission timeout is subtracted from the retransmission timeout value RTO by a fixed interval d (step S058), and RTO_n is set to the retransmission timeout value RTO (step S057). Step S059).

次に、受信したACKパケット情報から往復遅延時間RTTの値を取得し(ステップS060)、往復遅延時間RTTと再送タイムアウト値RTOの比較を行う(ステップS061)。   Next, the value of the round trip delay time RTT is acquired from the received ACK packet information (step S060), and the round trip delay time RTT and the retransmission timeout value RTO are compared (step S061).

ステップS061での比較の結果、再送タイムアウト値RTOが往復遅延時間RTTより大きい場合は(ステップS061:Y)、通信を継続し(ステップS062)、再送タイムアウトの発生をトリガーとして、スループット算出サブルーチン(図3のフローチャートの処理)にてThroughputを求め、RTO_max,Throughput_maxの更新処理を行う(ステップS063)。   As a result of the comparison in step S061, if the retransmission timeout value RTO is larger than the round trip delay time RTT (step S061: Y), communication is continued (step S062), and a throughput calculation subroutine (FIG. Throughput in step 3) is performed, and RTO_max and Throughput_max are updated (step S063).

次に、再送タイムアウト回数を1増やし(ステップS064)、ステップS057からS063までの処理を繰り返す。   Next, the number of retransmission timeouts is increased by 1 (step S064), and the processing from steps S057 to S063 is repeated.

ステップS061での比較の結果、再送タイムアウト値RTOが往復遅延時間RTT以下となった場合(ステップS061:N)、無駄な再送タイムアウトが発生してしまうため、探索をやめ、RTO_maxを再送タイムアウト値RTOに設定して(ステップS065)、通信を継続する。   As a result of the comparison in step S061, if the retransmission timeout value RTO is equal to or shorter than the round trip delay time RTT (step S061: N), a useless retransmission timeout occurs, so the search is stopped and RTO_max is set to the retransmission timeout value RTO. (Step S065) and communication is continued.

(実施例4の具体例)
次に、実施例4の具体例を説明する。
実施例4に対する具体例として、往復遅延時間RTT=5msec、ポリシングレートBpを2Mbps、最大バケットサイズBsを25KB(レート係数Brが100msecとなる値)、d=10msec、一般的に設定されているRTO_MINを200msecとする。
(Specific example of Example 4)
Next, a specific example of the fourth embodiment will be described.
As a specific example for the fourth embodiment, the round-trip delay time RTT = 5 msec, the polishing rate Bp is 2 Mbps, the maximum bucket size Bs is 25 KB (value at which the rate coefficient Br is 100 msec), d = 10 msec, and generally set RTO_MIN Is set to 200 msec.

ステップS056の初期値設定サブルーチンで、RTO_INITが205msecと設定され、初回の再送タイムアウト発生時にスループットが算出され、Throughputが1.16Mbpsとなり、この2つの値がRTO_maxとThroughput_maxに設定される。   In the initial value setting subroutine of step S056, RTO_INIT is set to 205 msec, the throughput is calculated when the first retransmission timeout occurs, Throughput is 1.16 Mbps, and these two values are set to RTO_max and Throughput_max.

次のステップS057で再送タイムアウト回数nを2に設定し、ステップS058でRTO_2がRTO−d=205−10=195msecとして設定され、ステップS059でこの値を新たな再送タイムアウト値RTOとして設定し、ステップS060で往復遅延時間RTTの値(5msec)を取得し、ステップS061で往復遅延時間RTTと再送タイムアウト値RTOの比較を行う。   In step S057, the retransmission timeout number n is set to 2, and in step S058, RTO_2 is set as RTO-d = 205-10 = 195 msec. In step S059, this value is set as a new retransmission timeout value RTO. In S060, the value of the round trip delay time RTT (5 msec) is acquired, and in step S061, the round trip delay time RTT is compared with the retransmission timeout value RTO.

ステップS061での往復遅延時間RTTと再送タイムアウト値RTOの比較の結果、再送タイムアウト値RTO(195msec)の方が往復遅延時間RTT(5msec)より大きいため(ステップS061:Y)、ステップS062で通信が継続され、ステップS063にて、再送タイムアウトの発生をトリガーとしてスループットの算出を行うことにより、Throughputに1.21Mbpsが算出される。Throughput_maxと比較してThroughputが大きいため、RTO_maxを195msecに、Throughput_maxを1.21Mbpsに更新する。   As a result of comparison between the round trip delay time RTT and the retransmission timeout value RTO in step S061, the retransmission timeout value RTO (195 msec) is larger than the round trip delay time RTT (5 msec) (step S061: Y), so that communication is performed in step S062. In step S063, 1.21 Mbps is calculated for Throughput by calculating throughput with the occurrence of retransmission timeout as a trigger. Since Throughput is larger than Throughput_max, RTO_max is updated to 195 msec and Throughput_max is updated to 1.21 Mbps.

次に、ステップS064で再送タイムアウト回数nを1増やして3に設定し、ステップS058からS064の処理を繰り返す。   Next, in step S064, the number of retransmission timeouts n is increased by 1 and set to 3, and the processing from steps S058 to S064 is repeated.

ステップS058からS064までの繰り返し処理における再送タイムアウト値RTO、Throughput、RTO_max、Throughtput_maxの値を図12に示す。   FIG. 12 shows values of retransmission timeout values RTO, Throughput, RTO_max, and Thoughtput_max in the iterative processing from steps S058 to S064.

ステップS058にてRTO_nをd(=10msec)ずつ減じて、ステップS061の終了条件(往復遅延時間RTTが再送タイムアウト値RTO以上)を満たした場合(ステップS061:N)、ステップS065にてスループットを最大化するRTO_maxである75msecを再送タイムアウト値RTOと設定し、通信を継続する。   When RTO_n is decreased by d (= 10 msec) in step S058 and the termination condition in step S061 (round trip delay time RTT is greater than or equal to the retransmission timeout value RTO) (step S061: N), the throughput is maximized in step S065. The RTO_max of 75 msec is set as a retransmission timeout value RTO, and communication is continued.

求められた再送タイムアウト値RTO(75msec)に対してスループットは1.96Mbpsとなり、RTO_INIT(≒RTT+RTO_MIN=205msec)と比較して、スループットは0.8Mbps向上したことがわかる。また、図12からわかるように、本例ではパラメータを計算するために必要な再送タイムアウト発生回数nは20回である。   It can be seen that the throughput is 1.96 Mbps with respect to the determined retransmission timeout value RTO (75 msec), and the throughput is improved by 0.8 Mbps compared to RTO_INIT (≈RTT + RTO_MIN = 205 msec). Further, as can be seen from FIG. 12, in this example, the number of retransmission timeout occurrences n necessary for calculating the parameter is 20 times.

<実施例2〜4を用いた場合のスループットの比較>
次に、後述した実施例2〜4で得られた結果の比較を図面を用いて説明する。
図13は、実施例2〜4で説明したアルゴリズムを用いて求められた再送タイムアウト値RTOとRTO_INITのスループットとの比較結果を示す図である。同図(a)は、上記で説明した実施例毎の数値例を表で示したものであり、同図(b)は、各実施例で得られた再送タイムアウト値RTOの値を横軸に、RTO_INITのスループットの値を縦軸にしたグラフにプロットしたものである。
<Comparison of Throughput when Examples 2 to 4 are used>
Next, comparison of results obtained in Examples 2 to 4 described later will be described with reference to the drawings.
FIG. 13 is a diagram illustrating a comparison result between the retransmission timeout value RTO and the throughput of RTO_INIT obtained using the algorithm described in the second to fourth embodiments. FIG. 8A shows a table of numerical examples for each of the embodiments described above. FIG. 6B shows the value of the retransmission timeout value RTO obtained in each embodiment on the horizontal axis. , RTO_INIT throughput values are plotted on a vertical axis.

図13により、実施例2〜4のアルゴリズムを用いない場合(すなわち再送タイムアウト値RTO_INITを設定した場合)のスループットに比較して、実施例2〜4のアルゴリズムを用いて求められた再送タイムアウト値RTOを設定した場合のスループットの方が大幅に向上していることがわかる。   According to FIG. 13, the retransmission timeout value RTO obtained by using the algorithm of the embodiments 2 to 4 is compared with the throughput when the algorithm of the embodiments 2 to 4 is not used (that is, when the retransmission timeout value RTO_INIT is set). It can be seen that the throughput is significantly improved when is set.

なお、図2に示す初期化設定サブルーチンの処理、図3に示すスループット算出サブルーチンの処理、図5に示す実施例1のフローチャートの処理、図6に示す実施例2のフローチャートの処理、図8および図9に示す実施例3のフローチャートの処理、図11に示す実施例4のフローチャートの処理は、送信側環境(主として送信端末となる通信装置)を構成するコンピュータに内蔵されるCPUやメモリ、レジスタなどのハードウェアを用いて各処理に対応するプログラムを実行することにより実現される。また、これら各処理に対応するプログラムは、FD、CD−ROM、DVDなどの記録媒体や、インターネットなどのネットワークを介して市場に流通させることができる。なお、上記各フローチャートの処理における各ステップ(各手順)は、送信側環境である通信装置を構成するコンピュータに内蔵されるCPUやメモリ、レジスタなどのハードウェアを用いて処理されるものであり、請求項における「手段」は、これらの各処理(各ステップ)を実行するための構成部分を意味している。   The initialization setting subroutine shown in FIG. 2, the throughput calculation subroutine shown in FIG. 3, the flowchart of the first embodiment shown in FIG. 5, the flowchart of the second embodiment shown in FIG. The processing of the flowchart of the third embodiment shown in FIG. 9 and the processing of the flowchart of the fourth embodiment shown in FIG. 11 are a CPU, a memory, and a register built in the computer that constitutes the transmission-side environment (mainly a communication device serving as a transmission terminal). It implement | achieves by executing the program corresponding to each process using hardware, such as. A program corresponding to each of these processes can be distributed to the market via a recording medium such as FD, CD-ROM, or DVD, or a network such as the Internet. In addition, each step (each procedure) in the processing of each flowchart described above is processed using hardware such as a CPU, a memory, and a register built in a computer that constitutes a communication device that is a transmission side environment. “Means” in the claims means a component for executing these processes (steps).

10:送信端末(送信側の通信装置)
20:アクセス回線
30:DiffServネットワーク
31,32:エッジルータ
311:トークンバケットポリサ
33:ポリサコントローラ
40:アクセス回線
50:受信端末(受信側の通信装置)
Bp:ポリシングレート
Bs:最大バケットサイズ
Br:レート係数
10: Transmission terminal (transmission side communication device)
20: Access line 30: DiffServ network 31, 32: Edge router 311: Token bucket policer 33: Policer controller 40: Access line 50: Receiving terminal (reception side communication device)
Bp: Polishing rate Bs: Maximum bucket size Br: Rate coefficient

Claims (10)

TCP通信を行う場合、送信側環境において、同一の送信・受信アドレス情報、ポート情報を1つのフローとして管理し、フロー毎に再送タイムアウトを検知するとともに再送タイムアウトが発生するまでのスループットを測定して記録するスループット測定記録手段と、
再送タイムアウト値を変更し、前記スループット測定記録手段によりスループットを測定することによってスループットが最大化される再送タイムアウト値を取得して新たな再送タイムアウト値として設定する再送タイムアウト値設定手段と、
該設定された最大化される再送タイムアウト値に基づいて通信を行う通信手段と
を有することを特徴とする通信装置。
When TCP communication is performed, the same transmission / reception address information and port information are managed as one flow in the transmission side environment, and the retransmission timeout is detected for each flow and the throughput until the retransmission timeout occurs is measured. Throughput measurement recording means for recording;
A retransmission timeout value setting means for changing a retransmission timeout value, obtaining a retransmission timeout value that maximizes the throughput by measuring the throughput by the throughput measurement recording means, and setting it as a new retransmission timeout value;
A communication unit configured to perform communication based on the set maximized retransmission timeout value.
請求項1記載の通信装置において、
前記再送タイムアウト値の変更は、往復遅延時間以上の範囲で行われることを特徴とする通信装置。
The communication device according to claim 1.
The communication apparatus is characterized in that the retransmission timeout value is changed within a range equal to or longer than the round trip delay time.
請求項1に記載の通信装置において、
トークンバケットポリサが適用されたネットワークに設定されているポリシング設定値を取得する手段と、
初回の再送タイムアウト発生時から、送信端末が送出したパケット情報をもとに、回復した送信レートがポリシングレートを上回るまでの時間を測定する測定手段と、
該測定手段により得られた時間をバケットサイズが0から上限値まで充足される時間から引いた値が往復遅延時間より大きい場合に、該値を新たな再送タイムアウト値として設定する手段と
を有することを特徴とする通信装置。
The communication device according to claim 1,
Means for obtaining a policing setting value set in a network to which a token bucket policer is applied;
Measuring means for measuring the time from when the first retransmission timeout occurs until the recovered transmission rate exceeds the policing rate based on the packet information sent by the transmitting terminal;
Means for setting the value obtained as a new retransmission timeout value when the value obtained by subtracting the time obtained by the measuring means from the time when the bucket size is satisfied from 0 to the upper limit value is larger than the round-trip delay time. A communication device characterized by the above.
請求項1に記載の通信装置において、
前記再送タイムアウト値設定手段は、
再送タイムアウトの発生を契機に、再送タイムアウト値を現在の再送タイムアウト値を初期値とした二分探索法を用いて一時的に変更し、スループットが最大化される再送タイムアウト値を探索し、該探索された最大化される再送タイムアウト値を新たな再送タイムアウト値として設定する手段
であることを特徴とする通信装置。
The communication device according to claim 1,
The retransmission timeout value setting means includes
When a retransmission timeout occurs, the retransmission timeout value is temporarily changed using a binary search method with the current retransmission timeout value as an initial value to search for a retransmission timeout value that maximizes the throughput. A communication device, characterized in that it is means for setting a maximized retransmission timeout value as a new retransmission timeout value.
請求項4記載の通信装置において、
前記二分探索法の探索終了条件は、スループットが向上しなくなったこと、あるいは、スループットがポリシングレートに対する設定目標とする割合の値になったこと、あるいは、再送タイムアウトの変化幅が所定の閾値より小さくなったことのいずれかであることを特徴とする通信装置。
The communication device according to claim 4, wherein
The search termination condition of the binary search method is that the throughput has not improved, the throughput has reached the value set as the target for the policing rate, or the retransmission timeout change width is smaller than a predetermined threshold. A communication apparatus, characterized by
請求項1に記載の通信装置において、
前記再送タイムアウト値の変更は、往復遅延時間から一般的に設定されている再送タイムアウト値までの範囲において、再送タイムアウトの発生を契機に、予め決められた任意の間隔で行われることを特徴とする通信装置。
The communication device according to claim 1,
The change of the retransmission timeout value is performed at an arbitrary predetermined interval when a retransmission timeout occurs in a range from a round-trip delay time to a generally set retransmission timeout value. Communication device.
コンピュータを、請求項1から6のいずれか1項に記載の通信装置における各手段として機能させることを特徴とするプログラム。   A program that causes a computer to function as each unit in the communication device according to any one of claims 1 to 6. TCP通信を行う場合、送信側環境において、同一の送信・受信アドレス情報、ポート情報を1つのフローとして管理し、フロー毎に再送タイムアウトを検知するとともに再送タイムアウトが発生するまでのスループットを測定して記録するスループット測定記録手順と、
再送タイムアウト値を変更し、前記スループット測定記録手順によりスループットを測定することによってスループットが最大化される再送タイムアウト値を取得して新たな再送タイムアウト値として設定する再送タイムアウト値設定手順と、
該設定された最大化される再送タイムアウト値に基づいて通信を行う通信手順と
を有することを特徴とする通信方法。
When TCP communication is performed, the same transmission / reception address information and port information are managed as one flow in the transmission side environment, and the retransmission timeout is detected for each flow and the throughput until the retransmission timeout occurs is measured. Throughput measurement recording procedure to record,
A retransmission timeout value setting procedure for changing a retransmission timeout value, obtaining a retransmission timeout value that maximizes the throughput by measuring the throughput by the throughput measurement recording procedure, and setting it as a new retransmission timeout value;
A communication procedure for performing communication based on the set maximized retransmission timeout value.
請求項8に記載の通信方法において、
トークンバケットポリサが適用されたネットワークに設定されているポリシング設定値を取得する手順と、
初回の再送タイムアウト発生時から、送信端末が送出したパケット情報をもとに、回復した送信レートがポリシングレートを上回るまでの時間を測定する測定手順と、
該測定手段により得られた時間をバケットサイズが0から上限値まで充足される時間から引いた値が往復遅延時間より大きい場合に、該値を新たな再送タイムアウト値として設定する手順と
を有することを特徴とする通信方法。
The communication method according to claim 8, wherein
To obtain the policing settings that are set for the network to which the token bucket policer is applied,
A measurement procedure for measuring the time from when the first retransmission timeout occurs until the recovered transmission rate exceeds the policing rate based on the packet information sent by the transmitting terminal,
And a procedure of setting the value as a new retransmission timeout value when the value obtained by subtracting the time obtained by the measuring means from the time when the bucket size is satisfied from 0 to the upper limit value is larger than the round-trip delay time. A communication method characterized by the above.
請求項8に記載の通信方法において、
前記再送タイムアウト値設定手順は、
再送タイムアウトの発生を契機に、再送タイムアウト値を現在の再送タイムアウト値を初期値とした二分探索法を用いて一時的に変更し、スループットが最大化される再送タイムアウト値を探索し、該探索された最大化される再送タイムアウト値を新たな再送タイムアウト値として設定する手順
であることを特徴とする通信方法。
The communication method according to claim 8, wherein
The retransmission timeout value setting procedure includes:
When a retransmission timeout occurs, the retransmission timeout value is temporarily changed using a binary search method with the current retransmission timeout value as an initial value to search for a retransmission timeout value that maximizes the throughput. A communication method characterized by a procedure for setting a maximized retransmission timeout value as a new retransmission timeout value.
JP2010032507A 2010-02-17 2010-02-17 Communication apparatus and communication method having TCP retransmission timeout value dynamic change function, and program therefor Expired - Fee Related JP5284997B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010032507A JP5284997B2 (en) 2010-02-17 2010-02-17 Communication apparatus and communication method having TCP retransmission timeout value dynamic change function, and program therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010032507A JP5284997B2 (en) 2010-02-17 2010-02-17 Communication apparatus and communication method having TCP retransmission timeout value dynamic change function, and program therefor

Publications (2)

Publication Number Publication Date
JP2011171912A JP2011171912A (en) 2011-09-01
JP5284997B2 true JP5284997B2 (en) 2013-09-11

Family

ID=44685584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010032507A Expired - Fee Related JP5284997B2 (en) 2010-02-17 2010-02-17 Communication apparatus and communication method having TCP retransmission timeout value dynamic change function, and program therefor

Country Status (1)

Country Link
JP (1) JP5284997B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4123938A4 (en) * 2020-04-23 2023-08-30 Huawei Technologies Co., Ltd. Retransmission timeout (rto) determining method and related apparatus

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5801175B2 (en) * 2011-12-16 2015-10-28 株式会社日立製作所 Packet communication apparatus and method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2606136B2 (en) * 1994-06-20 1997-04-30 日本電気株式会社 Data communication terminal device and retransmission timer control method
JPH1168882A (en) * 1997-08-27 1999-03-09 Nec Eng Ltd Communication controller, its data transfer control method, and recording medium storing program to allow computer to execute its method
JP4550567B2 (en) * 2004-12-13 2010-09-22 富士通株式会社 Policer burst size automatic setting method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4123938A4 (en) * 2020-04-23 2023-08-30 Huawei Technologies Co., Ltd. Retransmission timeout (rto) determining method and related apparatus

Also Published As

Publication number Publication date
JP2011171912A (en) 2011-09-01

Similar Documents

Publication Publication Date Title
EP2321943B1 (en) In-band dpi media reservation modifications to rfc 3313
JP6699834B2 (en) Video data redundancy control method and apparatus
Alizadeh et al. Analysis of DCTCP: stability, convergence, and fairness
Chen et al. Survey on QoS management of VoIP
US8537694B2 (en) Processing of packets including processing instructions and forwarded in communication networks
US20130258891A1 (en) Voice optimization in a network having voice over internet protocol communication devices
WO2016045332A1 (en) Method and device for encoding parameter adjustment and feedback information processing
US11722391B2 (en) Dynamic prediction and management of application service level agreements
US8861352B2 (en) Dynamic delay budget allocation using single-point estimation of end-to-end delay
Bobarshad et al. Analytical modeling for delay-sensitive video over WLAN
EP1391128A1 (en) Congestion and delay handling in a packet data network
CN104683259A (en) TCP congestion control method and device
JP2009506598A (en) Integrated resource reservation for data flow
JP5506591B2 (en) Communication system and communication quality control method
JP5284997B2 (en) Communication apparatus and communication method having TCP retransmission timeout value dynamic change function, and program therefor
JP5249966B2 (en) Communication control method and communication system for improving throughput, and program therefor
Epiphaniou et al. Affects of queuing mechanisms on RTP traffic: comparative analysis of jitter, end-to-end delay and packet loss
WO2008119915A1 (en) Method for dynamically controlling the number of data streams travelling through a network architecture
Liu et al. CMT-SR: A selective retransmission based concurrent multipath transmission mechanism for conversational video
KR100737678B1 (en) Delay analysis method for multimedia streaming services
Isobe et al. RADIC-TCP: High-speed protocol applied for virtual private WAN
KR101677376B1 (en) APPARATUS FOR CONTROLLING SIZE OF VoIP PACKET AND METHOD THEREOF
Carlucci et al. Making Google Congestion Control robust over Wi-Fi networks using packet grouping
WO2007110096A1 (en) Method and termination node for bundling multiple messages into a packet
Özcan et al. Fast and smooth data delivery using MPTCP by avoiding redundant retransmissions

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110608

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110608

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110616

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110704

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110719

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120220

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20120608

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120629

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130515

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130530

R150 Certificate of patent or registration of utility model

Ref document number: 5284997

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees