JP5087595B2 - Edge node, window size control method and program - Google Patents
Edge node, window size control method and program Download PDFInfo
- Publication number
- JP5087595B2 JP5087595B2 JP2009179101A JP2009179101A JP5087595B2 JP 5087595 B2 JP5087595 B2 JP 5087595B2 JP 2009179101 A JP2009179101 A JP 2009179101A JP 2009179101 A JP2009179101 A JP 2009179101A JP 5087595 B2 JP5087595 B2 JP 5087595B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- window size
- ack
- token
- packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
本発明は、パケットデータの送受信に用いるウィンドウサイズを制御するエッジノード、ウィンドウサイズ制御方法およびプログラムに関する。 The present invention relates to an edge node for controlling a window size used for transmission / reception of packet data, a window size control method, and a program.
パソコンなどの端末の間では、インターネットなどのコンピュータネットワークを介した通信が行われる。この通信によってファイル等のデータが転送される。この種のデータ転送システムでは、トランスポート層のプロトコルとして、標準的なトランスポートプロトコルであるTCP(Transmission Control Protocol)が用いられることが多い。 Communication between terminals such as personal computers is performed via a computer network such as the Internet. Data such as a file is transferred by this communication. In this type of data transfer system, TCP (Transmission Control Protocol), which is a standard transport protocol, is often used as a transport layer protocol.
また、データ転送においては大容量のデータを高速に転送することが要求されることがある。これに対してTCPのウィンドウサイズを一定に制御することでスループットを向上させる検討がなされている(例えば、非特許文献1参照。)。 In data transfer, it may be required to transfer a large amount of data at high speed. In contrast, studies have been made to improve throughput by controlling the TCP window size to be constant (see, for example, Non-Patent Document 1).
TCPでは、ウィンドウサイズをパケット廃棄に従って自律的に変化させる帯域制御が行われる。すなわち、パケット廃棄が発生しなければウィンドウサイズを増加させ続ける特徴がある。そのため、保証された帯域以上のトラヒックがネットワークに流入するのを防ぐためにネットワークの入り口で流入制限を行っている帯域保証ネットワークにおけるTCP通信では、保証した帯域以上のレートでデータ送信を行うためにネットワークの入り口で流入制限によるパケット廃棄が発生し、TCPの輻輳制御が働くことでスループットが鋸歯状になり、保証された帯域を十分に活用できないという課題があった。 In TCP, bandwidth control that autonomously changes the window size according to packet discard is performed. That is, there is a feature that the window size is continuously increased unless packet discard occurs. Therefore, in TCP communication in a bandwidth guarantee network that restricts inflow at the entrance of the network in order to prevent traffic exceeding the guaranteed bandwidth from flowing into the network, the network is used to transmit data at a rate that exceeds the guaranteed bandwidth. Packet discard due to inflow restriction occurs at the entrance of the network, and the congestion control of TCP works, so that the throughput becomes sawtooth and the guaranteed bandwidth cannot be fully utilized.
この課題への対策として、上述したTCPプロトコルに変更を加えることで保証された帯域に合わせて一定のスループットでデータを送信する技術や広告ウィンドウサイズを一定に制御する技術が考えられている。 As a countermeasure against this problem, a technique for transmitting data at a constant throughput in accordance with a band guaranteed by changing the TCP protocol described above and a technique for controlling the advertisement window size to be constant are considered.
一方、この広告ウィンドウサイズを一定に制御する技術では、経由するネットワーク装置でのキューイング遅延や受信端末における遅延ACKアルゴリズムによる遅延時間の揺らぎを考慮に入れていない。そのため、通信開始時に計測した伝搬遅延時間をもとに算出したウィンドウサイズで制御し続けた場合、伝搬遅延時間が揺らいでしまうと、算出したウィンドウサイズでは帯域遅延積を小さく見積もりすぎて保証した帯域を十分に活用できないという問題点がある。 On the other hand, the technique for controlling the advertisement window size to a constant does not take into account the queuing delay in the network device through which it passes and the fluctuation of the delay time due to the delay ACK algorithm in the receiving terminal. Therefore, if you continue to control with the window size calculated based on the propagation delay time measured at the start of communication, if the propagation delay time fluctuates, the band delay product is too small for the calculated window size and the guaranteed bandwidth There is a problem that cannot be fully utilized.
本発明の目的は、帯域保証ネットワークでのデータ転送において、キューイング遅延や遅延ACKアルゴリズムによる遅延時間の変動が発生した場合においても保証した帯域を効率よく利用して高いスループットを保つことができるエッジノード、ウィンドウサイズ制御方法およびプログラムを提供することである。 An object of the present invention is an edge capable of efficiently using a guaranteed bandwidth and maintaining a high throughput even in the case where a variation in delay time due to a queuing delay or a delayed ACK algorithm occurs in data transfer in a bandwidth guaranteed network To provide a node, a window size control method, and a program.
本発明のエッジノードは、
データ送信端末とデータ受信端末との間の通信帯域が保証された帯域保証ネットワークと接続され、前記データ送信端末と前記データ受信端末との間に設けられたエッジノードであって、
前記保証された通信帯域である保証帯域をサービス対象フローごとに保持する帯域情報保持部と、
前記サービス対象フローごとにACK(Acknowledgement)パケット用トークンバケットとRTT(Round Trip Time)計測用トークンバケットとを具備し、前記データ送信端末から前記データ受信端末へ送信されたデータのスループットを測定し、前記スループットに基づいて前記ACKパケット用トークンバケット内のトークン量を更新し、該更新したトークン量が前記ACKパケット用トークンバケットの大きさを超えた場合、前記ACKパケット用トークンバケットの大きさを超えた分のトークン量を前記RTT計測用トークンバケットに追加し、前記RTT計測用トークンバケット内のトークン量があらかじめ設定された閾値以上である場合、ウィンドウサイズを算出する要求であるウィンドウサイズ算出要求を出力した後、前記RTT計測用トークンバケット内のトークン量をゼロに設定するACKトークン管理部と、
前記ACKトークン管理部が前記ウィンドウサイズ算出要求を出力した場合、前記保証帯域と、前記RTT計測用トークンバケット内の前記ゼロに設定される前のトークン量と、前記データ送信端末と前記データ受信端末との間における伝搬遅延時間と、に基づいてウィンドウサイズを算出するウィンドウサイズ算出部と、
当該サービス対象フローにて前記データ受信端末から前記データ送信端末へ送信されてきたACKパケットに示されたウィンドウサイズを前記ウィンドウサイズ算出部が算出したウィンドウサイズへ書き換える広告ウィンドウサイズ書き込み部とを有する。
The edge node of the present invention is:
An edge node connected between the data transmission terminal and the data reception terminal, connected to a bandwidth guarantee network in which a communication band between the data transmission terminal and the data reception terminal is guaranteed,
A bandwidth information holding unit for holding a guaranteed bandwidth, which is the guaranteed communication bandwidth, for each service target flow;
An ACK (Acknowledgement) packet token bucket and an RTT (Round Trip Time) measurement token bucket for each service target flow, and measure the throughput of data transmitted from the data transmission terminal to the data reception terminal; The token amount in the token bucket for the ACK packet is updated based on the throughput, and when the updated token amount exceeds the size of the token bucket for the ACK packet, the token amount exceeds the size of the token bucket for the ACK packet If the token amount for the RTT measurement token bucket is added to the RTT measurement token bucket and the token amount in the RTT measurement token bucket is equal to or greater than a preset threshold, the window size is a request for calculating the window size. After outputting the output request, and ACK token management unit for setting the amount of tokens in the RTT measurement token bucket to zero,
When the ACK token management unit outputs the window size calculation request , the guaranteed bandwidth, the token amount before being set to zero in the RTT measurement token bucket, the data transmitting terminal, and the data receiving terminal A window size calculation unit that calculates a window size based on the propagation delay time between
An advertising window size writing unit that rewrites the window size indicated in the ACK packet transmitted from the data receiving terminal to the data transmitting terminal in the service target flow with the window size calculated by the window size calculating unit.
また、前記データ受信端末から送信されてきたデータパケットが、前記ACKパケットであるかどうかを識別し、該データパケットがACKパケットであると識別した場合、該ACKパケットに示されたACK番号を通知するフロー識別・振り分け部を有し、
前記ACKトークン管理部は、前記フロー識別・振り分け部から通知されたACK番号と、前記データ送信端末へ最近転送したACKパケットが示すACK番号と、前記データ送信端末へ最近転送したACKパケットを送信したときから該通知までの時間と、前記保証帯域とに基づいて、前記スループットを算出することを特徴とする。
In addition, when the data packet transmitted from the data receiving terminal is identified as the ACK packet, and the data packet is identified as the ACK packet, the ACK number indicated in the ACK packet is notified. Has a flow identification / distribution unit
The ACK token management unit transmits the ACK number notified from the flow identification / distribution unit, the ACK number indicated by the ACK packet recently transferred to the data transmission terminal, and the ACK packet recently transferred to the data transmission terminal. The throughput is calculated based on the time from the time until the notification and the guaranteed bandwidth.
また、前記ウィンドウサイズ算出部は、前記伝搬遅延時間を3way−handshakeパケットを用いて算出することを特徴とする。 The window size calculation unit may calculate the propagation delay time using a 3 way-handshake packet.
また、本発明のウィンドウサイズ制御方法は、
データ送信端末とデータ受信端末との間の通信帯域が保証された帯域保証ネットワークと接続され、前記データ送信端末と前記データ受信端末との間に設けられたエッジノードにおけるウィンドウサイズ制御方法であって、
前記保証された通信帯域である保証帯域をサービス対象フローごとに保持する処理と、
前記データ送信端末から前記データ受信端末へ送信されたデータのスループットを測定する処理と、
前記スループットに基づいて前記サービス対象フローごとに設けられたACK(Acknowledgement)パケット用トークンバケット内のトークン量を更新する処理と、
前記更新したトークン量が前記ACKパケット用トークンバケットの大きさを超えた場合、前記ACKパケット用トークンバケットの大きさを超えた分のトークン量を前記サービス対象フローごとに設けられたRTT(Round Trip Time)計測用トークンバケットに追加する処理と、
前記RTT計測用トークンバケット内のトークン量があらかじめ設定された閾値以上である場合、前記保証帯域と、前記RTT計測用トークンバケット内のトークン量と、前記データ送信端末と前記データ受信端末との間における伝搬遅延時間と、に基づいてウィンドウサイズを算出する処理と、
前記ウィンドウサイズを算出した後に、前記RTT計測用トークンバケット内のトークン量をゼロに設定する処理と、
当該サービス対象フローにて前記データ受信端末から前記データ送信端末へ送信されてきたACKパケットに示されたウィンドウサイズを前記算出したウィンドウサイズへ書き換える処理とを有する。
Further, the window size control method of the present invention includes:
A window size control method in an edge node that is connected to a bandwidth guarantee network in which a communication band between a data transmission terminal and a data reception terminal is guaranteed, and is provided between the data transmission terminal and the data reception terminal. ,
A process of holding a guaranteed bandwidth, which is the guaranteed communication bandwidth, for each service target flow;
A process for measuring the throughput of data transmitted from the data transmitting terminal to the data receiving terminal;
A process of updating the token amount in the token bucket for ACK (Acknowledgement) packets provided for each of the service target flows based on the throughput;
When the updated token amount exceeds the size of the token bucket for the ACK packet, the amount of tokens exceeding the size of the token bucket for the ACK packet is set to RTT (Round Trip) provided for each service target flow. (Time) processing to add to the token bucket for measurement,
When the token amount in the RTT measurement token bucket is equal to or greater than a preset threshold value , the guaranteed bandwidth, the token amount in the RTT measurement token bucket, and between the data transmitting terminal and the data receiving terminal Processing for calculating the window size based on the propagation delay time in
After calculating the window size, a process of setting the token amount in the RTT measurement token bucket to zero;
And rewriting the window size indicated in the ACK packet transmitted from the data receiving terminal to the data transmitting terminal in the service target flow to the calculated window size.
また、前記データ受信端末から送信されてきたデータパケットが、ACKパケットであるかどうかを識別する処理と、
該データパケットがACKパケットであると識別した場合、該ACKパケットが示すACK番号と、前記データ送信端末へ最近転送したACKパケットが示すACK番号と、前記データ送信端末へ最近転送したACKパケットを送信したときから該識別までの時間と、前記保証帯域とに基づいて、前記スループットを算出する処理とを有することを特徴とする。
A process of identifying whether the data packet transmitted from the data receiving terminal is an ACK packet;
When the data packet is identified as an ACK packet, the ACK number indicated by the ACK packet, the ACK number indicated by the ACK packet recently transferred to the data transmission terminal, and the ACK packet recently transferred to the data transmission terminal are transmitted. And a process of calculating the throughput based on the time from the determination to the identification and the guaranteed bandwidth.
また、前記伝搬遅延時間を3way−handshakeパケットを用いて算出する処理を有することを特徴とする。 Further, the method has a process of calculating the propagation delay time using a 3-way-handshake packet.
また、本発明のプログラムは、
データ送信端末とデータ受信端末との間の通信帯域が保証された帯域保証ネットワークと接続され、前記データ送信端末と前記データ受信端末との間に設けられたエッジノードに、
前記保証された通信帯域である保証帯域をサービス対象フローごとに保持する手順と、
前記データ送信端末から前記データ受信端末へ送信されたデータのスループットを測定する手順と、
前記スループットに基づいて前記サービス対象フローごとに設けられたACK(Acknowledgement)パケット用トークンバケット内のトークン量を更新する手順と、
前記更新したトークン量が前記ACKパケット用トークンバケットの大きさを超えた場合、前記ACKパケット用トークンバケットの大きさを超えた分のトークン量を前記サービス対象フローごとに設けられたRTT(Round Trip Time)計測用トークンバケットに追加する手順と、
前記RTT計測用トークンバケット内のトークン量があらかじめ設定された閾値以上である場合、前記保証帯域と、前記RTT計測用トークンバケット内のトークン量と、前記データ送信端末と前記データ受信端末との間における伝搬遅延時間と、に基づいてウィンドウサイズを算出する手順と、
前記ウィンドウサイズを算出した後に、前記RTT計測用トークンバケット内のトークン量をゼロに設定する手順と、
当該サービス対象フローにて前記データ受信端末から前記データ送信端末へ送信されてきたACKパケットに示されたウィンドウサイズを前記算出したウィンドウサイズへ書き換える手順とを実行させる。
The program of the present invention is
An edge node provided between the data transmitting terminal and the data receiving terminal is connected to a bandwidth guaranteed network in which a communication band between the data transmitting terminal and the data receiving terminal is guaranteed,
A procedure for maintaining a guaranteed bandwidth, which is the guaranteed communication bandwidth, for each service target flow;
A procedure for measuring the throughput of data transmitted from the data transmitting terminal to the data receiving terminal;
Updating the token amount in the token bucket for an ACK (Acknowledgement) packet provided for each service target flow based on the throughput;
When the updated token amount exceeds the size of the token bucket for the ACK packet, the amount of tokens exceeding the size of the token bucket for the ACK packet is set to RTT (Round Trip) provided for each service target flow. Time) to add to the token bucket for measurement,
When the token amount in the RTT measurement token bucket is equal to or greater than a preset threshold value , the guaranteed bandwidth, the token amount in the RTT measurement token bucket, and between the data transmitting terminal and the data receiving terminal A procedure for calculating the window size based on the propagation delay time in FIG.
After calculating the window size, a procedure for setting the token amount in the token bucket for RTT measurement to zero,
And a step of rewriting the window size indicated in the ACK packet transmitted from the data receiving terminal to the data transmitting terminal in the service target flow to the calculated window size.
また、前記データ受信端末から送信されてきたデータパケットが、ACKパケットであるかどうかを識別する手順と、
該データパケットがACKパケットであると識別した場合、該ACKパケットが示すACK番号と、前記データ送信端末へ最近転送したACKパケットが示すACK番号と、前記データ送信端末へ最近転送したACKパケットを送信したときから該識別までの時間と、前記保証帯域とに基づいて、前記スループットを算出する手順とを実行させる。
A procedure for identifying whether the data packet transmitted from the data receiving terminal is an ACK packet;
When the data packet is identified as an ACK packet, the ACK number indicated by the ACK packet, the ACK number indicated by the ACK packet recently transferred to the data transmission terminal, and the ACK packet recently transferred to the data transmission terminal are transmitted. Then, the procedure for calculating the throughput is executed based on the time until the identification and the guaranteed bandwidth.
また、前記伝搬遅延時間を3way−handshakeパケットを用いて算出する手順を実行させる。 Further, a procedure for calculating the propagation delay time using a 3-way-handshake packet is executed.
以上説明したように、本発明においては、データ送信端末とデータ受信端末との間で測定されたスループットに基づいてACKパケット用トークンバケット内のトークン量を更新し、更新したトークン量がACKパケット用トークンバケットの大きさを超えた分をRTT計測用トークンバケットに追加し、RTT計測用トークンバケット内のトークン量が閾値以上である場合、ネットワークにて保証された通信帯域である保証帯域と、RTT計測用トークンバケット内のトークン量と、データ送信端末とデータ受信端末との間における伝搬遅延時間とに基づいてウィンドウサイズを算出し、データ受信端末からデータ送信端末へ送信されてきたACKパケットのウィンドウサイズを算出したウィンドウサイズへ書き換える構成としたため、キューイング遅延やデータ受信端末における遅延ACKアルゴリズムによる遅延時間の揺らぎに対応し、レート制御フロー高多重時においても保証帯域内で安定的にスループットを制御できるので、保証帯域を効率よく利用することが可能となる。 As described above, in the present invention, the token amount in the token bucket for the ACK packet is updated based on the throughput measured between the data transmitting terminal and the data receiving terminal, and the updated token amount is used for the ACK packet. When the token bucket size is exceeded and added to the RTT measurement token bucket, and the token amount in the RTT measurement token bucket is equal to or greater than the threshold, the guaranteed bandwidth, which is the communication bandwidth guaranteed by the network, and the RTT The window size of the ACK packet transmitted from the data receiving terminal to the data transmitting terminal is calculated based on the token amount in the measurement token bucket and the propagation delay time between the data transmitting terminal and the data receiving terminal. Since the size is rewritten to the calculated window size, the key In response to fluctuations in delay time due to delay delay and delay ACK algorithm at the data receiving terminal, the throughput can be controlled stably within the guaranteed bandwidth even when the rate control flow is highly multiplexed, so the guaranteed bandwidth can be used efficiently It becomes.
以下に、本発明の実施の形態について図面を参照して説明する。 Embodiments of the present invention will be described below with reference to the drawings.
図1は、本発明のエッジノードが設けられた通信システムの実施の一形態を示す図である。 FIG. 1 is a diagram showing an embodiment of a communication system provided with an edge node according to the present invention.
本形態は図1に示すように、エッジノード11,12と、帯域管理サーバ13と、データ送信端末14と、データ受信端末15とから構成されている。
As shown in FIG. 1, this embodiment includes edge nodes 11 and 12, a
データ送信端末14は、エッジノード11と接続され、エッジノード11を介して帯域保証ネットワーク16へパケットデータを送信する通信端末である。
The
データ受信端末15は、エッジノード12と接続され、エッジノード12を介して帯域保証ネットワーク16から送信されてきたパケットデータを受信する通信端末である。
The
帯域管理サーバ13は、帯域保証ネットワーク16の全リンクの帯域情報を集中的に管理する装置である。帯域情報にはリンクに割り当てられた保証帯域の情報が含まれている。帯域管理サーバ13は、管理している各リンクの帯域情報をエッジノード11,12へ通知する。帯域管理サーバ13による帯域管理によって、データ送信端末14からデータ受信端末15へのリンクは帯域保証ネットワーク16での保証帯域が確保される。その結果、データ送信端末14が保証帯域以下でデータを送出する限り帯域保証ネットワーク16内でのパケット廃棄は発生しない。
The
エッジノード11,12は、通信帯域が保証された通信ネットワークである帯域保証ネットワーク16と接続され、データ送信端末14とデータ受信端末15との間の帯域保証ネットワーク16を介しての通信を実現している。また、エッジノード11,12は、データ送信端末14とデータ受信端末15との間でTCPを用いた通信が行われる場合、トークンバケット方式のポリシング制御を行い、ウィンドウサイズを制御する。
The edge nodes 11 and 12 are connected to a bandwidth guarantee network 16 that is a communication network in which a communication bandwidth is guaranteed, and realizes communication between the
ここで、ウィンドウサイズについて説明する。 Here, the window size will be described.
一般的なTCP(Transmission Control Protocol)では、到達確認を待たずに送信できるデータの大きさを示すウィンドウとして、広告ウィンドウと輻輳ウィンドウとの2つのウィンドウが定義される。広告ウィンドウのサイズはデータ受信側で受信バッファの状態に依存して決定される。一方、輻輳ウィンドウのサイズはデータ送信側でパケット廃棄の状況に応じて決定される。フロー制御に用いるウィンドウサイズには、広告ウィンドウサイズと輻輳ウィンドウサイズとのうちいずれか小さな方が選択される。このウィンドウサイズは、データパケットに対する応答パケットであるACK(Acknowledgement)パケット(以下、ACKと称する)が到着したときに更新される。 In general TCP (Transmission Control Protocol), two windows, an advertisement window and a congestion window, are defined as windows indicating the size of data that can be transmitted without waiting for arrival confirmation. The size of the advertisement window is determined on the data receiving side depending on the state of the reception buffer. On the other hand, the size of the congestion window is determined on the data transmission side according to the state of packet discard. As the window size used for flow control, the smaller one of the advertisement window size and the congestion window size is selected. This window size is updated when an ACK (Acknowledgement) packet (hereinafter referred to as ACK) that is a response packet to the data packet arrives.
図2は、図1に示したエッジノード11の内部構成を示すブロック図である。なお、図1に示したエッジノード12についても同じ構成を有する。 FIG. 2 is a block diagram showing an internal configuration of the edge node 11 shown in FIG. The edge node 12 shown in FIG. 1 has the same configuration.
図1に示したエッジノード11には図2に示すように、データ受信部21と、フロー識別・振り分け部22と、広告ウィンドウサイズ書き込み部23と、データ送信部24と、帯域情報保持部25と、ウィンドウサイズ算出部26と、ACKトークン管理部27とが設けられている。
As shown in FIG. 2, the edge node 11 shown in FIG. 1 includes a
データ受信部21は、データパケットやACKパケットなどのパケットを受信し、受信したパケットをフロー識別・振り分け部22へ出力する。
The
帯域情報保持部25は、帯域管理サーバ13から通知されたサービス対象ユーザの帯域情報とユーザ情報(宛先・送信元IP(Internet Protocol)アドレス、宛先・送信元ポート番号)とを対応付けて保持する。帯域情報には、リンクに割り当てられた保証帯域の情報が含まれている。
The bandwidth
フロー識別・振り分け部22は、帯域情報保持部25に帯域情報とともに保持されているユーザ情報に基づいて、帯域を保証したデータ転送のサービスの対象となるフロー(サービス対象フロー)と、帯域を保証したデータ転送のサービスの対象とならないフロー(サービス非対象フロー)とを識別する。さらにフロー識別・振り分け部22は、サービス対象フローのACKパケットを通して広告ウィンドウ書き込み部23へ出力する。また、フロー識別・振り分け部22は、サービス非対称フローのパケット及び、サービス対象フローのデータパケットをデータ送信部24へ出力する。また、フロー識別・振り分け部22は、サービス対象フローのACKパケットからACK番号を読み取り、読み取ったACK番号をACKトークン管理部27へ通知し、サービス対象フローの帯域制御に用いる。
The flow identification /
広告ウィンドウ書き込み部23は、データ受信端末15からデータ送信端末14へ送信されたACKパケットのウィンドウサイズを示すウィンドウフィールドに、ウィンドウサイズ算出部26で算出されたウィンドウサイズの値を書き込む。また、広告ウィンドウ書き込み部23は、ウィンドウサイズの値を書き込んだACKパケットをデータ送信部24へ出力する。
The advertisement
データ送信部24は、フロー識別・振り分け部22から出力されてきたパケットを、帯域保証ネットワーク16を介してエッジノード12へ送信する。また、データ送信部24は、広告ウィンドウ書き込み部23から出力されてきたACKパケットを、帯域保証ネットワーク16を介してエッジノード12へ送信する。
The
ウィンドウサイズ算出部26は、ACKトークン管理部27において計測したデータ送信端末14とデータ受信端末15との間のデータスループットと、帯域情報保持部25に保持されている帯域情報の保証帯域とを用いて、データの送出帯域が保証帯域以内となるようなウィンドウサイズを算出する。
The window
ACKトークン管理部27は、サービス対象フローが保証帯域以上のレートでのデータを送出しないように、任意のタイミングでトークンを追加する。また、ACKトークン管理部27は、サービス対象フローのACKパケットがフロー識別・振り分け部22を通過した際にフロー識別・振り分け部22から通知されるACK番号と、既にデータ送信端末14へ転送済みの最新のACKパケットのACK番号との差分に基づいて、データ送信端末14とデータ受信端末15との間のスループットを測定する。また、ACKトークン管理部27は、測定したスループットをウィンドウサイズ算出部26へ通知する。
The ACK
図3は、図2に示したフロー識別・振り分け部22によるパケット振り分けを説明するための図である。以下に、図3を参照して、フロー識別・振り分け部22によるパケット振り分けを詳細に説明する。
FIG. 3 is a diagram for explaining packet distribution by the flow identification /
データ送信端末14とデータ受信端末15との間でコネクションが確立されると、データの転送が開始される。エッジノード11のフロー識別・振り分け部22は、データ受信端末15からのACKパケットを受信すると、当該ACKパケットがサービス対象フローのACKパケットであるか否か判定をする。サービス対象フローのACKパケットであると判定した場合、フロー識別・振り分け部22は当該ACKパケットを広告ウィンドウ書き込み部23へ出力する。また、サービス非加入ユーザパケットやデータパケットであると判定した場合は、フロー識別・振り分け部22は当該サービス非加入ユーザパケットやデータパケットをデータ送信部24へ出力する。
When a connection is established between the
以下に、本形態におけるウィンドウサイズ制御方法について説明する。 The window size control method in this embodiment will be described below.
図4は、本形態におけるウィンドウサイズ制御方法のうち、ウィンドウサイズを算出するまでの処理を説明するためのシーケンス図である。 FIG. 4 is a sequence diagram for explaining processing until the window size is calculated in the window size control method according to this embodiment.
サービス対象であるデータ受信端末15から送信されたACKパケットがエッジノード11のフロー識別・振り分け部22に到着すると(ステップ201)、フロー識別・振り分け部22はACK番号通知として、ACKトークン管理部27へ、サービス対象フローのユーザ情報と当該ACKパケットのACK番号とを通知する(ステップ202)。
When the ACK packet transmitted from the
すると、当該ACKパケットはフロー識別・振り分け部22から広告ウィンドウ書き込み部23へ出力(転送)される(ステップ203)。
Then, the ACK packet is output (transferred) from the flow identification /
ACK番号通知を受けたACKトークン管理部27は、ステップ202にて通知を受けたACK番号と既に記憶済みのデータ送信端末14へ転送済みの最新のACKパケットのACK番号との差分(以下、DiffACKと称する)を算出する(ステップ204)。そして、算出したDiffACK分に相当するデータサイズを算出する。
Upon receiving the ACK number notification, the ACK
DiffACK分のデータサイズは、例えば(式1)により求めることができる。 The data size for DiffACK can be obtained by, for example, (Equation 1).
DiffACK分のデータサイズ[Byte]=(通知を受けたACK番号のACKパケットをデータ送信端末14が受信した際に、次にデータ送信端末14が送信するデータサイズのペイロード)[Byte]+(Layer2ヘッダ+Layer3ヘッダ+TCPヘッダ)[Byte]…(式1)
DiffACK分のデータサイズを算出したACKトークン管理部27は、ステップ204が完了した時刻T2からデータ送信端末に転送済みの最新のACKパケットを送信した(最近ACKパケットを送信した)時刻T1を減算した値と、DiffACK分のデータサイズとに基づいて、当該フローに該当するトークンバケット(ACKパケット用トークンバケット)内のトークン更新を行う(ステップ205)。
Data size [Byte] for DiffACK = (payload of data size transmitted next by the
The ACK
更新後のトークン量は、例えば(式2)により求めることができる。 The updated token amount can be obtained by, for example, (Equation 2).
更新後のトークン量[kB]=更新前のトークン量[kB]+保証帯域[kbps]×(T2−T1)÷8[bits/Byte]−DiffACK分のデータサイズ[Byte]…(式2)
ここで、(保証帯域[kbps]×(T2−T1)÷8[bits/Byte])が時刻T1から時刻T2までに当該保証帯域にて通過可能なデータサイズであり、DiffACK分のデータサイズをその通過可能なデータサイズから差し引くことにより、データ送信端末14とデータ受信端末15との間のスループットに相当する値を得ることとなる。つまり、更新後のトークン量は、更新前のトークン量とスループットとから算出される。
Token amount after update [kB] = Token amount before update [kB] + guaranteed bandwidth [kbps] × (T2-T1) ÷ 8 [bits / Byte] −DiffACK data size [Byte] (Expression 2)
Here, (guaranteed bandwidth [kbps] × (T2−T1) ÷ 8 [bits / Byte]) is a data size that can pass through the guaranteed bandwidth from time T1 to time T2, and the data size for DiffACK is By subtracting from the passable data size, a value corresponding to the throughput between the
このとき、更新後のトークン量がトークンバケットの大きさL[kB]よりも大きな場合、更新後のトークン量[kB]がL[kB]を超えた分はRTT計測用トークンバケットに追加される。 At this time, if the updated token amount is larger than the token bucket size L [kB], the amount of the updated token amount [kB] exceeding L [kB] is added to the RTT measurement token bucket. .
トークン更新を行ったACKトークン管理部27は、RTT計測用トークンバケット内のトークン量M[kB]と事前に設定した閾値X[kB]とを比較する(ステップ206)。
The ACK
M[kB]がX[kB]以上である場合、ACKトークン管理部27はウィンドウサイズ算出部26に対して、サービス対象フローのユーザ情報とΔT(=T2−T1)とRTT計測用トークンバケット内のトークン量Mと共にウィンドウサイズ算出要求を出力する(ステップ207)。また、ACKトークン管理部27は、RTT計測用トークンバケットに溜まっているトークンを0に設定する(ステップ208)。
When M [kB] is equal to or greater than X [kB], the ACK
ウィンドウサイズ算出要求を受けたウィンドウサイズ算出部26は、そのユーザ情報に基づいて、帯域情報保持部25に対してユーザ情報に対応する保証帯域を要求する(ステップ209)。すると、帯域情報保持部25は、ウィンドウサイズ算出部26からの要求に応じて保証帯域を返送する(ステップ210)。
Upon receiving the window size calculation request, the window
帯域情報保持部25から保証帯域が返送されると、ウィンドウサイズ算出部26は、データ送信端末14が保証帯域以内でデータを送出するようなウィンドウサイズを算出する(ステップ211)。このとき、保証帯域と一致するレートでデータが送出されるようなウィンドウサイズが好適である。
When the guaranteed bandwidth is returned from the bandwidth
ウィンドウサイズは、例えば(式3)により求めることができる。 The window size can be obtained by, for example, (Equation 3).
ウィンドウサイズ[kB]=保証帯域[kbps]×初期書き換えウィンドウサイズ÷(保証帯域[kbps]×ΔT−M[kB])…(式3)
なお、初期書き換えウィンドウサイズは3way−handshakeパケット内のオプションとして記載されている最大セグメントサイズ(MSS)の倍数、もしくは3way−handshakeパケットを用いて計測したRTT値を基に算出した、例えば(式4)により求めることができる。
Window size [kB] = guaranteed bandwidth [kbps] × initial rewrite window size ÷ (guaranteed bandwidth [kbps] × ΔT−M [kB]) (Equation 3)
The initial rewrite window size is calculated based on a multiple of the maximum segment size (MSS) described as an option in the 3-way-handshake packet, or an RTT value measured using the 3-way-handshake packet. ).
初期書き換えウィンドウサイズ[kB]=保証帯域[kbps]×RTT÷8[bits/Byte]…(式4)
ここで、RTTは、TCPで一般的に用いられるRound Trip Time(データを送信してから、ACKが返信されてくるまでの時間)である。
Initial rewrite window size [kB] = guaranteed bandwidth [kbps] × RTT ÷ 8 [bits / Byte] (Expression 4)
Here, RTT is Round Trip Time (time from when data is transmitted until ACK is returned) generally used in TCP.
なお、保証帯域がLayer2での計測値に設定されている場合、書き換えるウィンドウサイズはLayer4での大きさを指定するため、(式3)と(式4)とはそれぞれ以下のようにLayer2のヘッダのサイズとLayer3のヘッダのサイズとTCPヘッダのサイズとを考慮した(式5)と(式6)とでそれぞれ算出してもよい。
Note that when the guaranteed bandwidth is set to the measurement value in
ウィンドウサイズ[kB]=保証帯域[kbps]×初期書き換えウィンドウサイズ÷(保証帯域[kbps]×ΔT−M[kB])×(最大セグメントサイズ÷(最大セグメントサイズ+Layer2のヘッダサイズ+Layer3のヘッダサイズ+TCPヘッダサイズ))÷8[bits/Byte]…(式5)
初期書き換えウィンドウサイズ[kB]=保証帯域[kbps]×RTT÷8[bits/Byte]×(最大セグメントサイズ÷(最大セグメントサイズ+Layer2のヘッダサイズ+Layer3のヘッダサイズ+TCPヘッダサイズ))÷8[bits/Byte]…(式6)
なお、上記ウィンドウサイズはTCPスループットが帯域遅延積(保証帯域×RTT)から算出可能なことを利用したものである。
Window size [kB] = guaranteed bandwidth [kbps] × initial rewrite window size ÷ (guaranteed bandwidth [kbps] × ΔT−M [kB]) × (maximum segment size ÷ (maximum segment size +
Initial rewrite window size [kB] = guaranteed bandwidth [kbps] × RTT ÷ 8 [bits / Byte] × (maximum segment size ÷ (maximum segment size + Layer2 header size + Layer3 header size + TCP header size)) ÷ 8 [bits / Byte] ... (Formula 6)
The window size utilizes the fact that the TCP throughput can be calculated from the band delay product (guaranteed band × RTT).
図5は、本形態におけるウィンドウサイズ制御方法のうち、ウィンドウサイズを算出してから当該ウィンドウサイズを書き込むまでの処理を説明するためのシーケンス図である。 FIG. 5 is a sequence diagram for explaining the processing from the calculation of the window size to the writing of the window size in the window size control method according to the present embodiment.
まず、ウィンドウサイズ算出部26がサービス対象フローのウィンドウサイズを算出する(ステップ301)。
First, the window
続いて、ウィンドウサイズ算出部26は算出したウィンドウサイズと、そのサービス対象フローのユーザ情報とを、広告ウィンドウサイズ書き込み部23へ通知する(ステップ302)。
Subsequently, the window
広告ウィンドウサイズ書き込み部23は、ウィンドウサイズ算出部26から通知されたウィンドウサイズの値を、フロー識別・振り分け部22から出力されてきたACKパケットのウィンドウフィールドへ書き込む(ステップ303)。
The advertisement window
そして、広告ウィンドウサイズ書き込み部23は、ウィンドウサイズ算出部26から通知されたウィンドウサイズの値を書き込んだACKパケットをデータ送信部24へ出力する。
Then, the advertising window
図6は、図2に示したACKトークン管理部27における各制御対象TCPフロー毎に準備されたACKトークンバケットの更新の様子を示すイメージ図である。
FIG. 6 is an image diagram showing how the ACK token bucket prepared for each control target TCP flow in the ACK
図6に示したACKトークンバケット40−1〜40−n、バーストサイズ41−1〜41−n、RTT計測用トークンバケット42−1〜42−nの各番号はフロー毎に割り当てられた番号である。 The numbers of ACK token buckets 40-1 to 40-n, burst sizes 41-1 to 41-n, and RTT measurement token buckets 42-1 to 42-n shown in FIG. 6 are numbers assigned for each flow. is there.
上述したステップ202にてフロー識別・振り分け部22からACKトークン管理部27のトークン更新指示部45宛てにACK番号通知によって通知されたACK番号を、ACK番号管理部43内のフロー情報テーブル44にフロー情報とともに到着済みACK番号として記憶する(ステップ401)。フロー情報は例えば、5−tuple(宛先アドレス、送信元アドレス、宛先ポート、送信元ポート、プロトコル)で指定される。
In
また、トークン更新しジブ45は、ACK番号管理部43へDiffACK計算を要求する(ステップ402)。 Also, the token update jib 45 requests DiffACK calculation from the ACK number management unit 43 (step 402).
トークン更新指示部45からのDiffACK計算要求を受けたACK番号管理部43は、到着済みACK番号とフロー情報テーブル44に既に記憶済みのデータ送信端末に転送済みの最新のACKパケットのACK番号との差分からDiffACKを算出し、トークン更新指示部45へDiffACK通知を行う(ステップ403)。DiffACK通知を受けたトークン更新指示部45は当該ACKパケットのフロー情報を基に該当するトークンバケット内のトークン量を更新する(ステップ404)。
The ACK
上述したように本実施形態では、データの送信側となるデータ送信端末14と、データの受信側となるデータ受信端末15との間は、帯域保証ネットワーク16によって帯域が保証される構成である。従って、保証帯域以下でデータを送出している限りパケットの廃棄が生じないことが想定される。それゆえ、データが保証帯域以下で送出されるように広告ウィンドウサイズを調節すればパケットの廃棄を防ぐことができる。パケットの廃棄が生じなければ輻輳ウィンドウサイズが小さくならないため、常に広告ウィンドウサイズがTCPウィンドウサイズに採用されることになる。その結果、スループットが鋸歯状に変動しなくなり保証帯域の効率的な利用が可能となる。
As described above, in the present embodiment, the bandwidth is guaranteed by the bandwidth guarantee network 16 between the
そこで、本実施形態では、データ送信端末14とデータ受信端末15との間でエッジノード11,12がデータ送信側とデータ受信側との間のスループットと、帯域保証ネットワークによる保証帯域とから、データが保証帯域以内で送出されるようなウィンドウサイズを算出し、データ受信端末15からデータ送信端末14へ送信されるACKパケットに記載される広告ウィンドウサイズを、算出したウィンドウサイズの値に書き換える。
Therefore, in the present embodiment, the edge nodes 11 and 12 between the
これにより、データ送信端末14からデータ受信端末15へ送信するデータのレートを保証帯域内で安定的に制御できるため、保証帯域を効率よく利用することができる。
As a result, the rate of data transmitted from the
また、エッジノード11,12が、ACK番号に基づいて現在のデータスループットを計測し、計測したスループットをもとに現在の伝搬遅延時間を算出することで、キューイング遅延や遅延ACKアルゴリズムによる遅延揺らぎの影響を回避し、保証帯域を効率よく利用して高いスループットを保つことが可能となる。 In addition, the edge nodes 11 and 12 measure the current data throughput based on the ACK number, and calculate the current propagation delay time based on the measured throughput, so that the queuing delay and the delay fluctuation due to the delayed ACK algorithm are calculated. Thus, it is possible to maintain the high throughput by efficiently using the guaranteed bandwidth.
なお、上述したエッジノード11,12に設けられた各構成要素が行う処理は、目的に応じて作製された論理回路で行うようにしても良い。また、処理内容を記述したプログラムをエッジノード11,12にて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムをエッジノード11,12に読み込ませ、実行するものであっても良い。エッジノード11,12にて読取可能な記録媒体とは、フロッピー(登録商標)ディスク、光磁気ディスク、DVD、CDなどの移設可能な記録媒体の他、エッジノード11,12内に内蔵されたROM、RAM等のメモリやHDD等を指す。この記録媒体に記録されたプログラムは、エッジノード11,12内のCPU(不図示)にて読み込まれ、CPUの制御によって、上述したものと同様の処理が行われる。ここで、CPUは、プログラムが記録された記録媒体から読み込まれたプログラムを実行するコンピュータとして動作するものである。 Note that the processing performed by each component provided in the edge nodes 11 and 12 described above may be performed by a logic circuit manufactured according to the purpose. Further, a program describing processing contents may be recorded on a recording medium readable by the edge nodes 11 and 12, and the program recorded on the recording medium may be read by the edge nodes 11 and 12 and executed. good. The recording media readable by the edge nodes 11 and 12 include transferable recording media such as a floppy (registered trademark) disk, a magneto-optical disk, a DVD, and a CD, and a ROM built in the edge nodes 11 and 12. , Memory such as RAM, HDD, and the like. The program recorded on the recording medium is read by a CPU (not shown) in the edge nodes 11 and 12, and the same processing as described above is performed under the control of the CPU. Here, the CPU operates as a computer that executes a program read from a recording medium on which the program is recorded.
11,12 エッジノード
13 帯域管理サーバ
14 データ送信端末
15 データ受信端末
16 帯域保証ネットワーク
21 データ受信部
22 フロー識別・振り分け部
23 広告ウィンドウ書き込み部
24 データ送信部
25 帯域情報保持部
26 ウィンドウサイズ算出部
27 ACKトークン管理部
40−1〜40−n ACKトークンバケット
41−1〜41−n バーストサイズ
42−1〜42−n RTT計測用トークンバケット
43 ACK番号管理部
44 フロー情報テーブル
45 トークン更新指示部
11, 12
Claims (9)
前記保証された通信帯域である保証帯域をサービス対象フローごとに保持する帯域情報保持部と、
前記サービス対象フローごとにACK(Acknowledgement)パケット用トークンバケットとRTT(Round Trip Time)計測用トークンバケットとを具備し、前記データ送信端末から前記データ受信端末へ送信されたデータのスループットを測定し、前記スループットに基づいて前記ACKパケット用トークンバケット内のトークン量を更新し、該更新したトークン量が前記ACKパケット用トークンバケットの大きさを超えた場合、前記ACKパケット用トークンバケットの大きさを超えた分のトークン量を前記RTT計測用トークンバケットに追加し、前記RTT計測用トークンバケット内のトークン量があらかじめ設定された閾値以上である場合、ウィンドウサイズを算出する要求であるウィンドウサイズ算出要求を出力した後、前記RTT計測用トークンバケット内のトークン量をゼロに設定するACKトークン管理部と、
前記ACKトークン管理部が前記ウィンドウサイズ算出要求を出力した場合、前記保証帯域と、前記RTT計測用トークンバケット内の前記ゼロに設定される前のトークン量と、前記データ送信端末と前記データ受信端末との間における伝搬遅延時間と、に基づいてウィンドウサイズを算出するウィンドウサイズ算出部と、
当該サービス対象フローにて前記データ受信端末から前記データ送信端末へ送信されてきたACKパケットに示されたウィンドウサイズを前記ウィンドウサイズ算出部が算出したウィンドウサイズへ書き換える広告ウィンドウサイズ書き込み部とを有するエッジノード。 An edge node connected between the data transmission terminal and the data reception terminal, connected to a bandwidth guarantee network in which a communication band between the data transmission terminal and the data reception terminal is guaranteed,
A bandwidth information holding unit for holding a guaranteed bandwidth, which is the guaranteed communication bandwidth, for each service target flow;
An ACK (Acknowledgement) packet token bucket and an RTT (Round Trip Time) measurement token bucket for each service target flow, and measure the throughput of data transmitted from the data transmission terminal to the data reception terminal; The token amount in the token bucket for the ACK packet is updated based on the throughput, and when the updated token amount exceeds the size of the token bucket for the ACK packet, the token amount exceeds the size of the token bucket for the ACK packet If the token amount for the RTT measurement token bucket is added to the RTT measurement token bucket and the token amount in the RTT measurement token bucket is equal to or greater than a preset threshold, the window size is a request for calculating the window size. After outputting the output request, and ACK token management unit for setting the amount of tokens in the RTT measurement token bucket to zero,
When the ACK token management unit outputs the window size calculation request , the guaranteed bandwidth, the token amount before being set to zero in the RTT measurement token bucket, the data transmitting terminal, and the data receiving terminal A window size calculation unit that calculates a window size based on the propagation delay time between
An edge having an advertising window size writing unit that rewrites the window size indicated in the ACK packet transmitted from the data receiving terminal to the data transmitting terminal in the service target flow with the window size calculated by the window size calculating unit node.
前記データ受信端末から送信されてきたデータパケットが、前記ACKパケットであるかどうかを識別し、該データパケットがACKパケットであると識別した場合、該ACKパケットに示されたACK番号を通知するフロー識別・振り分け部を有し、
前記ACKトークン管理部は、前記フロー識別・振り分け部から通知されたACK番号と、前記データ送信端末へ最近転送したACKパケットが示すACK番号と、前記データ送信端末へ最近転送したACKパケットを送信したときから該通知までの時間と、前記保証帯域とに基づいて、前記スループットを算出することを特徴とするエッジノード。 The edge node according to claim 1,
A flow for identifying whether or not the data packet transmitted from the data receiving terminal is the ACK packet, and when identifying that the data packet is an ACK packet, a flow for notifying the ACK number indicated in the ACK packet It has an identification / sorting section,
The ACK token management unit transmits the ACK number notified from the flow identification / distribution unit, the ACK number indicated by the ACK packet recently transferred to the data transmission terminal, and the ACK packet recently transferred to the data transmission terminal. An edge node characterized in that the throughput is calculated based on a time from time to time of the notification and the guaranteed bandwidth.
前記ウィンドウサイズ算出部は、前記伝搬遅延時間を3way−handshakeパケットを用いて算出することを特徴とするエッジノード。 The edge node according to claim 1,
The window size calculation unit calculates the propagation delay time by using a 3-way-handshake packet.
前記保証された通信帯域である保証帯域をサービス対象フローごとに保持する処理と、
前記データ送信端末から前記データ受信端末へ送信されたデータのスループットを測定する処理と、
前記スループットに基づいて前記サービス対象フローごとに設けられたACK(Acknowledgement)パケット用トークンバケット内のトークン量を更新する処理と、
前記更新したトークン量が前記ACKパケット用トークンバケットの大きさを超えた場合、前記ACKパケット用トークンバケットの大きさを超えた分のトークン量を前記サービス対象フローごとに設けられたRTT(Round Trip Time)計測用トークンバケットに追加する処理と、
前記RTT計測用トークンバケット内のトークン量があらかじめ設定された閾値以上である場合、前記保証帯域と、前記RTT計測用トークンバケット内のトークン量と、前記データ送信端末と前記データ受信端末との間における伝搬遅延時間と、に基づいてウィンドウサイズを算出する処理と、
前記ウィンドウサイズを算出した後に、前記RTT計測用トークンバケット内のトークン量をゼロに設定する処理と、
当該サービス対象フローにて前記データ受信端末から前記データ送信端末へ送信されてきたACKパケットに示されたウィンドウサイズを前記算出したウィンドウサイズへ書き換える処理とを有するウィンドウサイズ制御方法。 A window size control method in an edge node that is connected to a bandwidth guarantee network in which a communication band between a data transmission terminal and a data reception terminal is guaranteed, and is provided between the data transmission terminal and the data reception terminal. ,
A process of holding a guaranteed bandwidth that is the guaranteed communication bandwidth for each service target flow;
A process for measuring the throughput of data transmitted from the data transmitting terminal to the data receiving terminal;
A process of updating the token amount in the token bucket for ACK (Acknowledgement) packets provided for each of the service target flows based on the throughput;
When the updated token amount exceeds the size of the token bucket for the ACK packet, the amount of tokens exceeding the size of the token bucket for the ACK packet is set to RTT (Round Trip) provided for each service target flow. (Time) processing to add to the token bucket for measurement,
When the token amount in the RTT measurement token bucket is equal to or greater than a preset threshold value , the guaranteed bandwidth, the token amount in the RTT measurement token bucket, and between the data transmitting terminal and the data receiving terminal Processing for calculating the window size based on the propagation delay time in
After calculating the window size, a process of setting the token amount in the RTT measurement token bucket to zero;
A window size control method comprising: rewriting a window size indicated in an ACK packet transmitted from the data receiving terminal to the data transmitting terminal in the service target flow to the calculated window size.
前記データ受信端末から送信されてきたデータパケットが、ACKパケットであるかどうかを識別する処理と、
該データパケットがACKパケットであると識別した場合、該ACKパケットが示すACK番号と、前記データ送信端末へ最近転送したACKパケットが示すACK番号と、前記データ送信端末へ最近転送したACKパケットを送信したときから該識別までの時間と、前記保証帯域とに基づいて、前記スループットを算出する処理とを有することを特徴とするウィンドウサイズ制御方法。 The window size control method according to claim 4,
A process of identifying whether the data packet transmitted from the data receiving terminal is an ACK packet;
When the data packet is identified as an ACK packet, the ACK number indicated by the ACK packet, the ACK number indicated by the ACK packet recently transferred to the data transmission terminal, and the ACK packet recently transferred to the data transmission terminal are transmitted. A window size control method comprising: processing for calculating the throughput based on a time from when the identification is performed to the identification and the guaranteed bandwidth.
前記伝搬遅延時間を3way−handshakeパケットを用いて算出する処理を有することを特徴とするウィンドウサイズ制御方法。 The window size control method according to claim 4,
The window size control method characterized by having the process which calculates the said propagation delay time using a 3 way-handshake packet.
前記保証された通信帯域である保証帯域をサービス対象フローごとに保持する手順と、
前記データ送信端末から前記データ受信端末へ送信されたデータのスループットを測定する手順と、
前記スループットに基づいて前記サービス対象フローごとに設けられたACK(Acknowledgement)パケット用トークンバケット内のトークン量を更新する手順と、
前記更新したトークン量が前記ACKパケット用トークンバケットの大きさを超えた場合、前記ACKパケット用トークンバケットの大きさを超えた分のトークン量を前記サービス対象フローごとに設けられたRTT(Round Trip Time)計測用トークンバケットに追加する手順と、
前記RTT計測用トークンバケット内のトークン量があらかじめ設定された閾値以上である場合、前記保証帯域と、前記RTT計測用トークンバケット内のトークン量と、前記データ送信端末と前記データ受信端末との間における伝搬遅延時間と、に基づいてウィンドウサイズを算出する手順と、
前記ウィンドウサイズを算出した後に、前記RTT計測用トークンバケット内のトークン量をゼロに設定する手順と、
当該サービス対象フローにて前記データ受信端末から前記データ送信端末へ送信されてきたACKパケットに示されたウィンドウサイズを前記算出したウィンドウサイズへ書き換える手順とを実行させるためのプログラム。 An edge node provided between the data transmitting terminal and the data receiving terminal is connected to a bandwidth guaranteed network in which a communication band between the data transmitting terminal and the data receiving terminal is guaranteed,
A procedure for maintaining a guaranteed bandwidth, which is the guaranteed communication bandwidth, for each service target flow;
A procedure for measuring the throughput of data transmitted from the data transmitting terminal to the data receiving terminal;
Updating the token amount in the token bucket for an ACK (Acknowledgement) packet provided for each service target flow based on the throughput;
When the updated token amount exceeds the size of the token bucket for the ACK packet, the amount of tokens exceeding the size of the token bucket for the ACK packet is set to RTT (Round Trip) provided for each service target flow. Time) to add to the token bucket for measurement,
When the token amount in the RTT measurement token bucket is equal to or greater than a preset threshold value , the guaranteed bandwidth, the token amount in the RTT measurement token bucket, and between the data transmitting terminal and the data receiving terminal A procedure for calculating the window size based on the propagation delay time in FIG.
After calculating the window size, a procedure for setting the token amount in the token bucket for RTT measurement to zero,
A program for executing a procedure for rewriting a window size indicated in an ACK packet transmitted from the data receiving terminal to the data transmitting terminal in the service target flow with the calculated window size.
前記データ受信端末から送信されてきたデータパケットが、ACKパケットであるかどうかを識別する手順と、
該データパケットがACKパケットであると識別した場合、該ACKパケットが示すACK番号と、前記データ送信端末へ最近転送したACKパケットが示すACK番号と、前記データ送信端末へ最近転送したACKパケットを送信したときから該識別までの時間と、前記保証帯域とに基づいて、前記スループットを算出する手順とを実行させるためのプログラム。 The program according to claim 7,
A procedure for identifying whether a data packet transmitted from the data receiving terminal is an ACK packet;
When the data packet is identified as an ACK packet, the ACK number indicated by the ACK packet, the ACK number indicated by the ACK packet recently transferred to the data transmission terminal, and the ACK packet recently transferred to the data transmission terminal are transmitted. A program for executing a procedure for calculating the throughput on the basis of a time from when the identification is made to the identification and the guaranteed bandwidth.
前記伝搬遅延時間を3way−handshakeパケットを用いて算出する手順を実行させるためのプログラム。 The program according to claim 7,
A program for executing a procedure for calculating the propagation delay time using a 3-way-handshake packet.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009179101A JP5087595B2 (en) | 2009-07-31 | 2009-07-31 | Edge node, window size control method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009179101A JP5087595B2 (en) | 2009-07-31 | 2009-07-31 | Edge node, window size control method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011035608A JP2011035608A (en) | 2011-02-17 |
JP5087595B2 true JP5087595B2 (en) | 2012-12-05 |
Family
ID=43764253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009179101A Expired - Fee Related JP5087595B2 (en) | 2009-07-31 | 2009-07-31 | Edge node, window size control method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5087595B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5258938B2 (en) * | 2011-07-26 | 2013-08-07 | 株式会社日立製作所 | Communication device |
JP2015002397A (en) * | 2013-06-14 | 2015-01-05 | 株式会社日立製作所 | Communication device, communication system, and communication method |
JP5938015B2 (en) * | 2013-07-17 | 2016-06-22 | 日本電信電話株式会社 | Chunk download completion determination device, chunk download completion determination method, and program |
JP6464911B2 (en) * | 2015-05-01 | 2019-02-06 | 富士通株式会社 | Information processing system, information processing system control method, and receiving apparatus |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3413788B2 (en) * | 1997-09-25 | 2003-06-09 | 日本電信電話株式会社 | Communication method having communication protocol for performing flow control between layers and data communication terminal |
JP2003078560A (en) * | 2001-09-05 | 2003-03-14 | Oki Electric Ind Co Ltd | Flow control system in transport layer protocol |
JP2008205932A (en) * | 2007-02-21 | 2008-09-04 | Nippon Telegr & Teleph Corp <Ntt> | Node device and band control method |
JP4698645B2 (en) * | 2007-08-08 | 2011-06-08 | 日本電信電話株式会社 | Flow control apparatus and flow control method |
JP5039677B2 (en) * | 2008-10-03 | 2012-10-03 | 日本電信電話株式会社 | Edge node and bandwidth control method |
-
2009
- 2009-07-31 JP JP2009179101A patent/JP5087595B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011035608A (en) | 2011-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10200300B2 (en) | Maintaining named data networking (NDN) flow balance with highly variable data object sizes | |
JP4032231B2 (en) | Data transmission method | |
EP3120253B1 (en) | Flow aware buffer management for data center switches | |
JP4738148B2 (en) | Method and apparatus for estimating available bandwidth on a packet network | |
CN107852371B (en) | Data packet network | |
US10069744B2 (en) | Method and apparatus for managing network congestion | |
WO2018036173A1 (en) | Network load balancing method, device and system | |
Sharma et al. | P-RED: Probability based random early detection algorithm for queue management in MANET | |
JP5087595B2 (en) | Edge node, window size control method and program | |
JP4698645B2 (en) | Flow control apparatus and flow control method | |
CN107852372B (en) | Data packet network | |
JP2008205932A (en) | Node device and band control method | |
JP5039677B2 (en) | Edge node and bandwidth control method | |
Patel et al. | Comparative analysis of congestion control algorithms using ns-2 | |
JP5087594B2 (en) | Edge node, window size control method and program | |
Torres-Jr et al. | Packet reordering metrics to enable performance comparison in IP‐networks | |
JP4365798B2 (en) | Data frame transfer apparatus and data frame transfer method | |
Ho et al. | Performance improvement of delay-based TCPs in asymmetric networks | |
JP4828555B2 (en) | Node device and bandwidth control method | |
JP4766703B2 (en) | Edge node and bandwidth control method | |
JP4797033B2 (en) | Flow rate control method and edge node in TCP flow rate control edge node | |
JP4977677B2 (en) | Edge node and bandwidth control method | |
Kudo et al. | Proposal of cross‐layer bandwidth assignment with buffer size indication for TCP flow control | |
JP4840086B2 (en) | COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL SYSTEM, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL PROGRAM | |
JP4774411B2 (en) | Edge node and bandwidth control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20110616 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110708 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120525 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120605 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120806 |
|
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: 20120904 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120910 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5087595 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150914 Year of fee payment: 3 |
|
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 |