JP5087595B2 - Edge node, window size control method and program - Google Patents

Edge node, window size control method and program Download PDF

Info

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
Application number
JP2009179101A
Other languages
Japanese (ja)
Other versions
JP2011035608A (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 JP2009179101A priority Critical patent/JP5087595B2/en
Publication of JP2011035608A publication Critical patent/JP2011035608A/en
Application granted granted Critical
Publication of JP5087595B2 publication Critical patent/JP5087595B2/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)

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フローレート制御方式の検討”、電子情報通信学会総合大会,2007年3月“Examination of TCP flow rate control method in edge router”, IEICE General Conference, March 2007

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.

本発明のエッジノードが設けられた通信システムの実施の一形態を示す図である。It is a figure which shows one Embodiment of the communication system provided with the edge node of this invention. 図1に示したエッジノードの内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the edge node shown in FIG. 図2に示したフロー識別・振り分け部によるパケット振り分けを説明するための図である。It is a figure for demonstrating packet distribution by the flow identification and distribution part shown in FIG. 本形態におけるウィンドウサイズ制御方法のうち、ウィンドウサイズを算出するまでの処理を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the process until a window size is calculated among the window size control methods in this form. 本形態におけるウィンドウサイズ制御方法のうち、ウィンドウサイズを算出してから当該ウィンドウサイズを書き込むまでの処理を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the process after calculating a window size until writing the said window size among the window size control methods in this form. 図2に示したACKトークン管理部における各制御対象TCPフロー毎に準備されたACKトークンバケットの更新の様子を示すイメージ図である。It is an image figure which shows the mode of the update of the ACK token bucket prepared for every control object TCP flow in the ACK token management part shown in FIG.

以下に、本発明の実施の形態について図面を参照して説明する。   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 bandwidth management server 13, a data transmission terminal 14, and a data reception terminal 15.

データ送信端末14は、エッジノード11と接続され、エッジノード11を介して帯域保証ネットワーク16へパケットデータを送信する通信端末である。   The data transmission terminal 14 is a communication terminal that is connected to the edge node 11 and transmits packet data to the bandwidth guarantee network 16 via the edge node 11.

データ受信端末15は、エッジノード12と接続され、エッジノード12を介して帯域保証ネットワーク16から送信されてきたパケットデータを受信する通信端末である。   The data receiving terminal 15 is a communication terminal that is connected to the edge node 12 and receives packet data transmitted from the bandwidth guarantee network 16 via the edge node 12.

帯域管理サーバ13は、帯域保証ネットワーク16の全リンクの帯域情報を集中的に管理する装置である。帯域情報にはリンクに割り当てられた保証帯域の情報が含まれている。帯域管理サーバ13は、管理している各リンクの帯域情報をエッジノード11,12へ通知する。帯域管理サーバ13による帯域管理によって、データ送信端末14からデータ受信端末15へのリンクは帯域保証ネットワーク16での保証帯域が確保される。その結果、データ送信端末14が保証帯域以下でデータを送出する限り帯域保証ネットワーク16内でのパケット廃棄は発生しない。   The bandwidth management server 13 is a device that centrally manages bandwidth information of all links of the bandwidth guarantee network 16. The bandwidth information includes information on the guaranteed bandwidth allocated to the link. The bandwidth management server 13 notifies the edge nodes 11 and 12 of bandwidth information of each link being managed. As a result of bandwidth management by the bandwidth management server 13, a guaranteed bandwidth in the bandwidth guaranteed network 16 is secured for the link from the data transmitting terminal 14 to the data receiving terminal 15. As a result, as long as the data transmission terminal 14 transmits data below the guaranteed bandwidth, packet discard does not occur in the bandwidth guaranteed network 16.

エッジノード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 data transmission terminal 14 and the data reception terminal 15 via the bandwidth guarantee network 16. ing. In addition, when communication using TCP is performed between the data transmission terminal 14 and the data reception terminal 15, the edge nodes 11 and 12 perform policing control using a token bucket method and control the window size.

ここで、ウィンドウサイズについて説明する。   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 data reception unit 21, a flow identification / distribution unit 22, an advertisement window size writing unit 23, a data transmission unit 24, and a band information holding unit 25. And a window size calculation unit 26 and an ACK token management unit 27.

データ受信部21は、データパケットやACKパケットなどのパケットを受信し、受信したパケットをフロー識別・振り分け部22へ出力する。   The data reception unit 21 receives a packet such as a data packet or an ACK packet, and outputs the received packet to the flow identification / distribution unit 22.

帯域情報保持部25は、帯域管理サーバ13から通知されたサービス対象ユーザの帯域情報とユーザ情報(宛先・送信元IP(Internet Protocol)アドレス、宛先・送信元ポート番号)とを対応付けて保持する。帯域情報には、リンクに割り当てられた保証帯域の情報が含まれている。   The bandwidth information holding unit 25 holds the bandwidth information of the service target user notified from the bandwidth management server 13 and user information (destination / source IP (Internet Protocol) address, destination / source port number) in association with each other. . The bandwidth information includes information on the guaranteed bandwidth allocated to the link.

フロー識別・振り分け部22は、帯域情報保持部25に帯域情報とともに保持されているユーザ情報に基づいて、帯域を保証したデータ転送のサービスの対象となるフロー(サービス対象フロー)と、帯域を保証したデータ転送のサービスの対象とならないフロー(サービス非対象フロー)とを識別する。さらにフロー識別・振り分け部22は、サービス対象フローのACKパケットを通して広告ウィンドウ書き込み部23へ出力する。また、フロー識別・振り分け部22は、サービス非対称フローのパケット及び、サービス対象フローのデータパケットをデータ送信部24へ出力する。また、フロー識別・振り分け部22は、サービス対象フローのACKパケットからACK番号を読み取り、読み取ったACK番号をACKトークン管理部27へ通知し、サービス対象フローの帯域制御に用いる。   The flow identification / distribution unit 22 guarantees a flow (service target flow) that is a target of a data transfer service that guarantees a band, based on user information that is held in the band information holding unit 25 together with the band information. The flow that is not the target of the data transfer service (service non-target flow) is identified. Furthermore, the flow identification / distribution unit 22 outputs the ACK packet of the service target flow to the advertisement window writing unit 23. Further, the flow identification / distribution unit 22 outputs the packet of the service asymmetric flow and the data packet of the service target flow to the data transmission unit 24. The flow identification / distribution unit 22 reads the ACK number from the ACK packet of the service target flow, notifies the ACK token management unit 27 of the read ACK number, and uses it for bandwidth control of the service target flow.

広告ウィンドウ書き込み部23は、データ受信端末15からデータ送信端末14へ送信されたACKパケットのウィンドウサイズを示すウィンドウフィールドに、ウィンドウサイズ算出部26で算出されたウィンドウサイズの値を書き込む。また、広告ウィンドウ書き込み部23は、ウィンドウサイズの値を書き込んだACKパケットをデータ送信部24へ出力する。   The advertisement window writing unit 23 writes the value of the window size calculated by the window size calculation unit 26 in the window field indicating the window size of the ACK packet transmitted from the data receiving terminal 15 to the data transmitting terminal 14. The advertisement window writing unit 23 outputs the ACK packet in which the window size value is written to the data transmission unit 24.

データ送信部24は、フロー識別・振り分け部22から出力されてきたパケットを、帯域保証ネットワーク16を介してエッジノード12へ送信する。また、データ送信部24は、広告ウィンドウ書き込み部23から出力されてきたACKパケットを、帯域保証ネットワーク16を介してエッジノード12へ送信する。   The data transmission unit 24 transmits the packet output from the flow identification / distribution unit 22 to the edge node 12 via the bandwidth guarantee network 16. In addition, the data transmission unit 24 transmits the ACK packet output from the advertisement window writing unit 23 to the edge node 12 via the bandwidth guarantee network 16.

ウィンドウサイズ算出部26は、ACKトークン管理部27において計測したデータ送信端末14とデータ受信端末15との間のデータスループットと、帯域情報保持部25に保持されている帯域情報の保証帯域とを用いて、データの送出帯域が保証帯域以内となるようなウィンドウサイズを算出する。   The window size calculation unit 26 uses the data throughput between the data transmission terminal 14 and the data reception terminal 15 measured by the ACK token management unit 27 and the guaranteed bandwidth of the band information held in the band information holding unit 25. Thus, the window size is calculated so that the data transmission bandwidth is within the guaranteed bandwidth.

ACKトークン管理部27は、サービス対象フローが保証帯域以上のレートでのデータを送出しないように、任意のタイミングでトークンを追加する。また、ACKトークン管理部27は、サービス対象フローのACKパケットがフロー識別・振り分け部22を通過した際にフロー識別・振り分け部22から通知されるACK番号と、既にデータ送信端末14へ転送済みの最新のACKパケットのACK番号との差分に基づいて、データ送信端末14とデータ受信端末15との間のスループットを測定する。また、ACKトークン管理部27は、測定したスループットをウィンドウサイズ算出部26へ通知する。   The ACK token management unit 27 adds a token at an arbitrary timing so that the service target flow does not transmit data at a rate equal to or higher than the guaranteed bandwidth. The ACK token management unit 27 also transmits the ACK number of the service target flow when the ACK packet of the service target flow passes through the flow identification / distribution unit 22 and the ACK number notified from the flow identification / distribution unit 22 to the data transmission terminal 14. Based on the difference from the ACK number of the latest ACK packet, the throughput between the data transmission terminal 14 and the data reception terminal 15 is measured. In addition, the ACK token management unit 27 notifies the measured throughput to the window size calculation unit 26.

図3は、図2に示したフロー識別・振り分け部22によるパケット振り分けを説明するための図である。以下に、図3を参照して、フロー識別・振り分け部22によるパケット振り分けを詳細に説明する。   FIG. 3 is a diagram for explaining packet distribution by the flow identification / distribution unit 22 shown in FIG. Hereinafter, packet distribution by the flow identification / distribution unit 22 will be described in detail with reference to FIG.

データ送信端末14とデータ受信端末15との間でコネクションが確立されると、データの転送が開始される。エッジノード11のフロー識別・振り分け部22は、データ受信端末15からのACKパケットを受信すると、当該ACKパケットがサービス対象フローのACKパケットであるか否か判定をする。サービス対象フローのACKパケットであると判定した場合、フロー識別・振り分け部22は当該ACKパケットを広告ウィンドウ書き込み部23へ出力する。また、サービス非加入ユーザパケットやデータパケットであると判定した場合は、フロー識別・振り分け部22は当該サービス非加入ユーザパケットやデータパケットをデータ送信部24へ出力する。   When a connection is established between the data transmission terminal 14 and the data reception terminal 15, data transfer is started. When the flow identification / distribution unit 22 of the edge node 11 receives the ACK packet from the data receiving terminal 15, the flow identification / distribution unit 22 determines whether the ACK packet is an ACK packet of the service target flow. When it is determined that the packet is an ACK packet of the service target flow, the flow identification / distribution unit 22 outputs the ACK packet to the advertisement window writing unit 23. When it is determined that the packet is a service non-subscription user packet or a data packet, the flow identification / distribution unit 22 outputs the service non-subscription user packet or data packet to the data transmission unit 24.

以下に、本形態におけるウィンドウサイズ制御方法について説明する。   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 data receiving terminal 15 to be serviced arrives at the flow identification / distribution unit 22 of the edge node 11 (step 201), the flow identification / distribution unit 22 uses the ACK token management unit 27 as an ACK number notification. Is notified of the user information of the service target flow and the ACK number of the ACK packet (step 202).

すると、当該ACKパケットはフロー識別・振り分け部22から広告ウィンドウ書き込み部23へ出力(転送)される(ステップ203)。   Then, the ACK packet is output (transferred) from the flow identification / distribution unit 22 to the advertisement window writing unit 23 (step 203).

ACK番号通知を受けたACKトークン管理部27は、ステップ202にて通知を受けたACK番号と既に記憶済みのデータ送信端末14へ転送済みの最新のACKパケットのACK番号との差分(以下、DiffACKと称する)を算出する(ステップ204)。そして、算出したDiffACK分に相当するデータサイズを算出する。   Upon receiving the ACK number notification, the ACK token management unit 27 determines the difference between the ACK number notified in step 202 and the ACK number of the latest ACK packet that has already been transferred to the data transmission terminal 14 (hereinafter referred to as DiffACK). (Refer to step 204). Then, a data size corresponding to the calculated DiffACK is calculated.

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 data transmission terminal 14 when the data transmission terminal 14 receives the ACK packet of the notified ACK number) [Byte] + (Layer2 Header + Layer3 header + TCP header) [Byte] (Expression 1)
The ACK token management unit 27 that has calculated the data size for DiffACK subtracts the time T1 at which the latest ACK packet transferred to the data transmission terminal (recently transmitted ACK packet) is transmitted from the time T2 at which step 204 is completed. Based on the value and the data size for DiffACK, the token in the token bucket (ACK packet token bucket) corresponding to the flow is updated (step 205).

更新後のトークン量は、例えば(式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 data transmission terminal 14 and the data reception terminal 15 is obtained. That is, the updated token amount is calculated from the pre-update token amount and the throughput.

このとき、更新後のトークン量がトークンバケットの大きさ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 token management unit 27 that has performed the token update compares the token amount M [kB] in the RTT measurement token bucket with a preset threshold value X [kB] (step 206).

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 token management unit 27 notifies the window size calculation unit 26 of the user information of the service target flow, ΔT (= T2−T1), and the RTT measurement token bucket. A window size calculation request is output together with the token amount M (step 207). Further, the ACK token management unit 27 sets the tokens accumulated in the RTT measurement token bucket to 0 (step 208).

ウィンドウサイズ算出要求を受けたウィンドウサイズ算出部26は、そのユーザ情報に基づいて、帯域情報保持部25に対してユーザ情報に対応する保証帯域を要求する(ステップ209)。すると、帯域情報保持部25は、ウィンドウサイズ算出部26からの要求に応じて保証帯域を返送する(ステップ210)。   Upon receiving the window size calculation request, the window size calculation unit 26 requests a guaranteed band corresponding to the user information from the band information holding unit 25 based on the user information (step 209). Then, the bandwidth information holding unit 25 returns the guaranteed bandwidth in response to the request from the window size calculation unit 26 (Step 210).

帯域情報保持部25から保証帯域が返送されると、ウィンドウサイズ算出部26は、データ送信端末14が保証帯域以内でデータを送出するようなウィンドウサイズを算出する(ステップ211)。このとき、保証帯域と一致するレートでデータが送出されるようなウィンドウサイズが好適である。   When the guaranteed bandwidth is returned from the bandwidth information holding unit 25, the window size calculating unit 26 calculates a window size such that the data transmitting terminal 14 transmits data within the guaranteed bandwidth (step 211). At this time, a window size such that data is transmitted at a rate that matches the guaranteed bandwidth is preferable.

ウィンドウサイズは、例えば(式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 Layer 2, the window size to be rewritten specifies the size in Layer 4, so (Equation 3) and (Equation 4) are the headers of Layer 2 as follows: (Equation 5) and (Equation 6) may be calculated in consideration of the size of Layer 3, the size of the header of Layer 3, and the size of the TCP header.

ウィンドウサイズ[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 + Layer 2 header size + Layer 3 header size + TCP) Header size)) ÷ 8 [bits / Byte] (Formula 5)
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 size calculation unit 26 calculates the window size of the service target flow (step 301).

続いて、ウィンドウサイズ算出部26は算出したウィンドウサイズと、そのサービス対象フローのユーザ情報とを、広告ウィンドウサイズ書き込み部23へ通知する(ステップ302)。   Subsequently, the window size calculation unit 26 notifies the calculated window size and the user information of the service target flow to the advertisement window size writing unit 23 (step 302).

広告ウィンドウサイズ書き込み部23は、ウィンドウサイズ算出部26から通知されたウィンドウサイズの値を、フロー識別・振り分け部22から出力されてきたACKパケットのウィンドウフィールドへ書き込む(ステップ303)。   The advertisement window size writing unit 23 writes the window size value notified from the window size calculation unit 26 into the window field of the ACK packet output from the flow identification / distribution unit 22 (step 303).

そして、広告ウィンドウサイズ書き込み部23は、ウィンドウサイズ算出部26から通知されたウィンドウサイズの値を書き込んだACKパケットをデータ送信部24へ出力する。   Then, the advertising window size writing unit 23 outputs the ACK packet in which the window size value notified from the window size calculating unit 26 is written to the data transmitting unit 24.

図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 token management unit 27 shown in FIG. 2 is updated.

図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 step 202 described above, the ACK number notified by the ACK number notification from the flow identification / distribution unit 22 to the token update instruction unit 45 of the ACK token management unit 27 flows to the flow information table 44 in the ACK number management unit 43. The received ACK number is stored together with the information (step 401). The flow information is specified by, for example, 5-tuple (destination address, transmission source address, destination port, transmission source port, protocol).

また、トークン更新しジブ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 number management unit 43 that has received the DiffACK calculation request from the token update instructing unit 45 determines the arrival ACK number and the ACK number of the latest ACK packet that has been transferred to the data transmission terminal already stored in the flow information table 44. DiffACK is calculated from the difference, and DiffACK notification is sent to the token update instruction unit 45 (step 403). Upon receiving the DiffACK notification, the token update instruction unit 45 updates the token amount in the corresponding token bucket based on the flow information of the ACK packet (step 404).

上述したように本実施形態では、データの送信側となるデータ送信端末14と、データの受信側となるデータ受信端末15との間は、帯域保証ネットワーク16によって帯域が保証される構成である。従って、保証帯域以下でデータを送出している限りパケットの廃棄が生じないことが想定される。それゆえ、データが保証帯域以下で送出されるように広告ウィンドウサイズを調節すればパケットの廃棄を防ぐことができる。パケットの廃棄が生じなければ輻輳ウィンドウサイズが小さくならないため、常に広告ウィンドウサイズがTCPウィンドウサイズに採用されることになる。その結果、スループットが鋸歯状に変動しなくなり保証帯域の効率的な利用が可能となる。   As described above, in the present embodiment, the bandwidth is guaranteed by the bandwidth guarantee network 16 between the data transmission terminal 14 serving as the data transmission side and the data reception terminal 15 serving as the data reception side. Therefore, it is assumed that no packet is discarded as long as data is transmitted within the guaranteed bandwidth. Therefore, discarding packets can be prevented by adjusting the advertisement window size so that data is transmitted below the guaranteed bandwidth. If the packet discard does not occur, the congestion window size is not reduced. Therefore, the advertisement window size is always adopted as the TCP window size. As a result, the throughput does not fluctuate in a sawtooth shape, and the guaranteed bandwidth can be used efficiently.

そこで、本実施形態では、データ送信端末14とデータ受信端末15との間でエッジノード11,12がデータ送信側とデータ受信側との間のスループットと、帯域保証ネットワークによる保証帯域とから、データが保証帯域以内で送出されるようなウィンドウサイズを算出し、データ受信端末15からデータ送信端末14へ送信されるACKパケットに記載される広告ウィンドウサイズを、算出したウィンドウサイズの値に書き換える。   Therefore, in the present embodiment, the edge nodes 11 and 12 between the data transmission terminal 14 and the data reception terminal 15 are determined based on the throughput between the data transmission side and the data reception side and the guaranteed bandwidth by the bandwidth guarantee network. Is transmitted within the guaranteed bandwidth, and the advertisement window size described in the ACK packet transmitted from the data receiving terminal 15 to the data transmitting terminal 14 is rewritten to the calculated window size value.

これにより、データ送信端末14からデータ受信端末15へ送信するデータのレートを保証帯域内で安定的に制御できるため、保証帯域を効率よく利用することができる。   As a result, the rate of data transmitted from the data transmission terminal 14 to the data reception terminal 15 can be stably controlled within the guaranteed bandwidth, so that the guaranteed bandwidth can be efficiently used.

また、エッジノード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 Edge node 13 Band management server 14 Data transmission terminal 15 Data reception terminal 16 Band guarantee network 21 Data reception unit 22 Flow identification / distribution unit 23 Advertising window writing unit 24 Data transmission unit 25 Band information holding unit 26 Window size calculation unit 27 ACK token management unit 40-1 to 40-n ACK token bucket 41-1 to 41-n burst size 42-1 to 42-n RTT measurement token bucket 43 ACK number management unit 44 flow information table 45 token update instruction unit

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.
請求項1に記載のエッジノードにおいて、
前記データ受信端末から送信されてきたデータパケットが、前記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.
請求項1に記載のエッジノードにおいて、
前記ウィンドウサイズ算出部は、前記伝搬遅延時間を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.
請求項4に記載のウィンドウサイズ制御方法において、
前記データ受信端末から送信されてきたデータパケットが、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.
請求項4に記載のウィンドウサイズ制御方法において、
前記伝搬遅延時間を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.
請求項7に記載のプログラムにおいて、
前記データ受信端末から送信されてきたデータパケットが、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.
請求項7に記載のプログラムにおいて、
前記伝搬遅延時間を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.
JP2009179101A 2009-07-31 2009-07-31 Edge node, window size control method and program Expired - Fee Related JP5087595B2 (en)

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)

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

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

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