JP2009206734A - Tcpフローレート制御エッジノードにおけるフローレート制御方法及びエッジノード - Google Patents

Tcpフローレート制御エッジノードにおけるフローレート制御方法及びエッジノード Download PDF

Info

Publication number
JP2009206734A
JP2009206734A JP2008046105A JP2008046105A JP2009206734A JP 2009206734 A JP2009206734 A JP 2009206734A JP 2008046105 A JP2008046105 A JP 2008046105A JP 2008046105 A JP2008046105 A JP 2008046105A JP 2009206734 A JP2009206734 A JP 2009206734A
Authority
JP
Japan
Prior art keywords
ack
packet
window size
ack number
edge node
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.)
Granted
Application number
JP2008046105A
Other languages
English (en)
Other versions
JP4797033B2 (ja
Inventor
Kyota Hattori
恭太 服部
Kentaro Ogawa
賢太郎 小川
Shinichiro Chagi
愼一郎 茶木
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 JP2008046105A priority Critical patent/JP4797033B2/ja
Publication of JP2009206734A publication Critical patent/JP2009206734A/ja
Application granted granted Critical
Publication of JP4797033B2 publication Critical patent/JP4797033B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】TCPによる帯域保証ネットワークにおいてデータ転送を行う場合に、遅延ACKアルゴリズムに起因して複数のデータパケットがバースト的に転送されることを防止し、かつ、高いスループットを保って保証帯域を効率よく利用できるようにする。
【解決手段】データ送信端末とデータ受信端末との間に配置されるエッジノードにおいて、サービス対象フローのACKパケットとそれ以外のパケットとの振り分けを実行するフロー識別・振り分け部と、サービス対象フローのACKパケットのACKナンバーを制御するACKナンバー制御部と、ACKパケットの広告ウィンドウサイズに、サービス対象フローのデータが保証帯域以内の帯域となるように算出されたウィンドウサイズを書き込む広告ウィンドウサイズ書き込み部と、を設ける。
【選択図】図1

Description

本発明は、ネットワークを介して端末間でデータを送受信するシステムでのフローレート制御技術に関し、特に、帯域が保証されるとともに遅延ACK(acknowledgement;確認応答)アルゴリズムが適用されるネットワークにおけるフローレート制御方法とそのようなフローレート制御を実行するために用いられるエッジノードとに関する。
パーソナルコンピュータなどの端末間では、インターネットなどのコンピュータネットワークを介して通信が行われ、この通信によって、ファイル等のデータが端末間で転送される。この種のデータ転送システムでは、トランスポート層のプロトコルとして、標準的なトランスポートプロトコルであるTCP(Transmission Control Protocol)が用いられることが多い。
データ転送においては、大容量のデータを高速に転送することが要求されることがある。このような要求に対しては、ウィンドウサイズを一定に制御することでスループットを向上させる検討がなされている(非特許文献1)。
服部恭太ほか、"エッジルータにおけるTCPフローレート制御方式の検討",電子情報通信学会総合大会講演論文集,B-6-54,2007年3月
TCPでは、パケット廃棄にしたがってウィンドウサイズを自律的に変化させる帯域制御が行われている。しかしながら、保証された帯域以上のトラヒックがネットワークに流入するのを防ぐためにネットワークの入り口で流入制限を行っている帯域保証ネットワークでのデータ転送においては、このような帯域制御を実行するTCPを適用した場合に、スループットが鋸歯状に変化することとなって、保証された帯域を十分に活用できなくなる、という課題が生じる。
上述の非特許文献1に記載された技術などでは、TCPのプロトコルに変更を加え、例えば、保証された帯域を上回らないように一定のスループットでデータを送信したり、広告ウィンドウサイズを一定に制御したりすることによって、スループットが鋸歯状に変化することを防止している。しかしながら、TCPにはデータ受信時において複数のデータに対してまとめて1つのACKパケットを返すという遅延ACKアルゴリズムが搭載されており、そのため、広告ウィンドウサイズを一定に制御した場合には、データ送信端末に到着した1つのACKパケットに対して複数のデータパケットがバースト的に送信されるようになり、バースト的なデータ転送が発生することになる。ここでネットワークにおいて例えばDiffServなどの技術を用いて複数フローを1つのクラスとして制御している場合には、このバースト的なデータ転送によって他のフローを逼迫させてしまうという問題が生じる。
本発明の目的は、帯域保証ネットワークにおいてデータ転送を行う場合のフローレート制御方法であって、遅延ACKアルゴリズムに起因して複数のデータパケットがバースト的に転送されることを防止し、かつ、保証された帯域を効率よく利用できてスループットを高く保つことができるフローレート制御方法を提供することにある。
本発明の別の目的は、データ転送が行われる帯域保証ネットワークにおいて用いられるエッジノードであって、遅延ACKアルゴリズムに起因して複数のデータパケットがバースト的に転送されることを防止し、かつ、保証された帯域を効率よく利用できてスループットを高く保つことができるエッジノードを提供することにある。
本発明のフローレート制御方法は、データ送信端末からデータ受信端末へ送信できる帯域が保証帯域として保証されている帯域保証ネットワークにおけるフローレート制御方法であって、データ送信端末とデータ受信端末との間に配置されるエッジノードにおいて、サービス対象フローに関するデータ送信端末とデータ受信端末との間の伝播遅延時間を計測する段階と、保証帯域と伝播遅延時間とに基づいて、サービス対象フローのデータが保証帯域以内の帯域となるウィンドウサイズを算出する段階と、エッジノードにおいて、サービス対象フローのACKパケットのACKナンバーを書き換える段階と、エッジノードにおいて、ACKパケットの広告ウィンドウサイズに算出されたウィンドウサイズを書き込む段階と、ACKナンバーが書き換えられウィンドウサイズが書き込まれたACKパケットを宛先に向けてエッジノードから送出する段階と、を有する。
本発明のフローレート制御方法では、書き換える段階において、既にACKナンバーが書き換えられたACKパケットのACKナンバーを転送済みACKナンバーとして、転送済みACKナンバーと最大セグメントサイズとに基づいて、書き換え対象のACKパケットのACKナンバーを書き換えるようにしてもよい。あるいは、書き換える段階において、転送済みACKナンバーと最大セグメントサイズとに基づいて、それぞれ異なるACKナンバーを有する1または複数のACKパケットを作成するようにしてもよい。この場合、書き換え対象のACKパケットのACKナンバーと転送済みACKナンバーとの差を最大セグメントサイズで割った数のACKパケットを作成し、書き換え対象のACKパケットの代わりに、作成されたACKパケットがエッジノードから送出されるようにしてもよい。
本発明のエッジノードは、データ送信端末からデータ受信端末へ送信できる帯域が保証帯域として保証されている帯域保証ネットワークにおいてデータ送信端末とデータ受信端末との間に配置されるエッジノードであって、サービス対象フローを識別し、サービス対象フローのACKパケットとそれ以外のパケットとの振り分けを実行するフロー識別・振り分け部と、サービス対象フローについての伝播遅延時間を計測する伝送遅延時間算出部と、保証帯域と伝送遅延時間算出部で計測された伝播遅延時間とから、サービス対象フローのデータが保証帯域以内の帯域となるウィンドウサイズを算出するウィンドウサイズ算出部と、サービス対象フローのACKパケットのACKナンバーを制御するACKナンバー制御部と、ACKパケットの広告ウィンドウサイズに算出されたウィンドウサイズを書き込む広告ウィンドウサイズ書き込み部と、を有し、ACKナンバーが書き換えられウィンドウサイズが書き込まれたACKパケットを宛先に向けて送出する。
本発明のエッジノードにおいて、ACKナンバー制御部は、既にACKナンバーが書き換えられたACKパケットのACKナンバーを転送済みACKナンバーとして、転送済みACKナンバーと最大セグメントサイズとに基づいて、フロー識別・振り分け部から振り分けられたサービス対象フローのACKパケットのACKナンバーを書き換えてもよい。あるいは、ACKナンバー制御部は、転送済みACKナンバーと、フロー識別・振り分け部から振り分けられたサービス対象フローのACKパケットのACKナンバーとを記憶するACKナンバー記憶部と、サービス対象フローのACKパケットのACKナンバーと転送済みACKナンバーとの差を最大セグメントサイズで割った個数のACKパケットであって、それぞれが異なるACKナンバーを有するACKパケットを作成するACKパケット作成部と、を備え、ACKパケット作成部が作成しウィンドウサイズが書き込まれたACKパケットが宛先に送信されるようにしてもよい。
本発明によれば、サービス対象フローのACKパケットのACKナンバーを制御し書き換えることによって、TCPを用いた帯域保証サービス運用時にデータ送信端末のTCPプロトコルスタックの変更を必要とすることなく、遅延ACKプロトコルにより複数のデータパケットがバースト的に転送されることを防止でき、保証帯域内で安定的にスループットを制御できるようになり、保証帯域を効率よく利用することが可能となる。
次に、本発明の好ましい実施形態について、図面を参照して説明する。
一般にTCPでは、広告ウィンドウと輻輳ウィンドウという2つのウィンドウが定義される。このうち広告ウィンドウのサイズは、受信側で、その受信バッファの状態に依存して決定される。一方、輻輳ウィンドウのサイズは、データ送信側で、パケット廃棄の状況に応じて決定される。そして実際のフロー制御に用いるウィンドウサイズとしては、広告ウィンドウサイズと輻輳ウィンドウサイズのうちのいずれか小さい方が選択される。これらのウィンドウサイズは、ACKパケットが到着したときに更新される。
本実施形態では、データの送信側となるデータ送信端末とデータの受信側となるデータ受信端末との間のデータ転送は帯域保証ネットワークを介するものであり、データ転送のための帯域が保証されているものとする。データ送信端末とデータ受信端末は、それぞれ対応するエッジノードを介して帯域保証ネットワークに接続するものとする。このような構成では、保証帯域以下のデータ転送速度でデータ送信端末がデータを送出している限り、ネットワーク内ではパケットの廃棄が生じないことが想定されており、データが保証帯域以下で送出されるように広告ウィンドウサイズを調節すれば、パケットの廃棄を防ぐことができる。パケットの廃棄が生じなければ輻輳ウィンドウサイズが小さくならないので、保証帯域以下でデータを送出している限り、広告ウィンドウサイズが常にTCPウィンドウサイズに採用されることになる。その結果、スループットが鋸歯状に変動しなくなり保証帯域の効率的な利用が可能となる。
そこで本実施形態では、エッジノードにおいて、データ送信側とデータ受信側との間の伝播遅延時間と帯域保証ネットワークの保証帯域とから、データが保証帯域以内で送出されるようなウィンドウサイズを算出し、データ受信端末からデータ送信端末に送られるACKパケットに記載される広告ウィンドウサイズを、算出したウィンドウサイズの値に書き換える。伝播遅延時間としては、往復伝播遅延時間(RTT;round trip time)が好ましく用いられる。その結果、本実施形態によれば、データ送信端末からデータ受信端末へ送信するデータの転送速度を保証帯域内で安定的に制御できるようになり、保証帯域を効率よく利用することができるようになる。
さらに本実施形態では、エッジノードが、TCPヘッダ内のACKナンバーの書き換えを行うことで、遅延ACKアルゴリズムにより複数のデータパケットがバースト的に転送されてしまうという問題を改善し、保証帯域を効率よく利用して高いスループットを保つことが可能となる。
以下、本実施形態について図面を参照して詳細に説明する。図1は、本実施形態が適用されるデータ送信システムの構成の一例を示すブロック図である。このデータ転送システムは、データ送信端末14が接続されるエッジノード11と、データ受信端末15が接続されるエッジノード12と、エッジノード11とエッジノード12が接続される帯域保証ネットワーク16と、帯域管理サーバ(RACS(Resource and Admission Control Subsystem)サーバ)13と、を備えている。エッジノード11とエッジノード12とは帯域保証ネットワーク16上でデータを送受信することができ、これにより、データ送信端末14からのデータが、エッジノード11、帯域保証ネットワーク16及びエッジノード12を介して、データ受信端末15へ転送されるようになっている。
帯域管理サーバ13は、帯域保証ネットワーク16の全リンクの帯域情報を集中的に管理する装置である。帯域情報には、各リンクに割り当てられた保証帯域の情報が含まれている。帯域管理サーバ13は、管理している各リンクの帯域情報をエッジノード11,12に通知する。このような帯域管理サーバ13による帯域管理によって、データ送信端末14からデータ受信端末15へのリンクは帯域保証ネットワーク16での保証帯域が確保される。その結果、データ送信端末14が保証帯域以下でデータを送出する限り、保証帯域ネットワーク16内でのパケット廃棄は発生しない。また後述するように、エッジノード11は、データ送信端末14とデータ受信端末15との間のデータ伝搬の遅延量を表す往復伝播遅延時間17を計測する。
図2は、本実施形態におけるエッジノードの構成を示している。エッジノード11は、データ受信部21、フロー識別・振り分け部22、伝送遅延時間算出部23、データ送信部24、帯域情報保持部25、フロー情報保持部26、ウィンドウサイズ算出部27、広告ウィンドウサイズ書き込み部28、及びACKナンバー制御部29を備えている。
ここでデータ受信部21は、エッジノード11の外部(例えばデータ送信端末14)から到来するデータパケットやACKパケットなどのパケットを受信する機能を有し、受信したパケットをフロー識別・振り分け部22に送る。
フロー識別・振り分け部22は、帯域情報保持部25に帯域情報とともに保持されているユーザ情報に基づいて、データ受信部21が受信したパケットのフローがサービス対象フローなのかサービス非対象フローなのかを識別する機能を有する。ここでサービス対象フローとは、帯域を保証したデータ転送のサービスの対象となるフローのことであり、サービス非対象フローとは、帯域を保証したデータ転送のサービスの対象とならないフローのことである。さらにフロー識別・振り分け部22は、識別結果に基づき、サービス対象フローのACKパケットを経路22aを通して広告ウィンドウサイズ書き込み部28へ振り分け、サービス非対象フローのパケットとサービス対象フローのデータパケットとを経路22bからデータ送信部24へ振り分ける。
伝送遅延時間算出部23は、フロー識別・振り分け部22からの要求に基づいて、データ送信端末14とこのエッジノード11までのデータの往復伝播遅延時間と、データ受信端末15とこのエッジノード11までの往復伝播遅延時間を計測し、両方の往復伝播遅延時間の和をデータ送信端末14とデータ受信端末15との間の往復伝播遅延時間17としてフロー情報保持部26に報告する機能を有する。往復伝播遅延時間は、周知の技術に基づき、このエッジノード11からデータ送信端末14及びデータ受信端末15にデータパケットを送信してそのパケットが返信されてこのエッジノード11で受信されるまでの時間を計測することによって決めることができる。
データ送信部24は、フロー識別・振り分け部22から経路22bを介して受け取ったパケット(サービス非対象フローのパケットとサービス対象フローのデータパケット)と広告ウィンドウサイズ書き込み部28から受け取ったサービス対象フローのACKとを外部(例えば、帯域保証ネットワーク16を介して相手側のエッジノード12)へ送信する機能を有する。
帯域情報保持部25は、帯域管理サーバ13から通知されたサービス対象ユーザの帯域情報とユーザ情報(宛先・送信元IPアドレス、宛先・送信元ポート番号)とを対応付けて保持するものである。ユーザ情報は、ユーザのコネクションに関する情報であるので、コネクション情報とも呼ばれ、したがってリンクは、ユーザ情報により識別することができる。帯域情報には、帯域保証ネットワーク16内の各リンクに割り当てられた保証帯域の情報が含まれる。
フロー情報保持部26は、フロー識別・振り分け部22で識別されるサービス対象フローのユーザ情報と、伝送遅延時間算出部23で算出された往復伝播遅延時間17とを対応付けて保持するものである。
ウィンドウサイズ算出部27は、フロー情報保持部26に保持されているデータ送信端末とデータ受信端末間の往復伝播遅延時間17と、帯域情報保持部25に保持されている帯域情報の保証帯域とを用いて、データの送出帯域が保証帯域以内となるようなウィンドウサイズを算出する機能を有する。算出されたウィンドウサイズは、広告ウィンドウサイズ書き込み部28に通知される。
ACKナンバー制御部29は、フロー識別・振り分け部22から転送されたサービス対象フローのACKパケットを受け取り、受け取ったパケットのACKナンバーを記憶するとともに、ACKナンバーが書き換えられたACKパケットの作成を行う機能を有するものである。作成されたACKパケットは、広告ウィンドウサイズ書き込み部28に転送される。
広告ウィンドウサイズ書き込み部28は、ACKナンバー制御部29から受け取ったACKパケットのウィンドウフィールドに、ウィンドウサイズ算出部27で算出されたウィンドウサイズの値を書き込み、そのACKパケットをデータ送信部24に転送する機能を有する。ACKナンバー制御部29は、フロー識別・振り分け部29によって振り分けられたサービス対象フローのACKパケットのACKナンバーを書き換える機能を有するものであるから、結局、広告ウィンドウサイズ書き込み部28は、データ受信端末15からデータ送信端末14へ転送されるサービス対象フローのACKパケットのウィンドウフィールドに、ウィンドウサイズ算出部27で算出されたウィンドウサイズの値を書き込むことになる。
次に、このデータ送信システムにおけるフローレート制御について、特に、データ送信端末14を帯域保証ネットワーク16に収容するエッジノード11における処理を中心にして説明する。
まず、フロー識別・振り分け部22によるパケット振り分けについて、図3を用いて説明する。
データ送信端末14とデータ受信端末15との間で帯域保証ネットワーク16を介したコネクションが確立されると、データ送信端末14からデータ受信端末15へのデータの転送が開始される。データ転送が開始されたことによりデータ受信端末15からACKパケットがデータ送信端末14に送られることとなるが、エッジノード11のフロー識別・振り分け部22は、データ受信端末15からのパケットを受信すると、そのパケットを検査して、サービス対象フローのACKパケットか否か判定をする。サービス対象フローのACKパケットであれば、フロー識別・振り分け部22は、そのACKパケットを、経路22aを通してACKナンバー制御部29に送る。サービス非加入フローのユーザパケットやサービス加入フローのパケットであってもデータパケットに関しては、フロー識別・振り分け部22は、これらのパケットを、経路22bを通してデータ送信部24に送る。
次に、伝送遅延時間算出部23における、データ送信端末とデータ受信端末間の往復伝播遅延時間17の計測の処理について、図4を用いて説明する。
データ送信端末14側のエッジノード11において、データ受信部21にSYN(同期)パケットが入力すると、フロー識別・振り分け部22は、このSYNパケットを観測して、サービス対象フローのユーザ情報とともに、往復伝播遅延時間計測開始要求を伝送遅延時間算出部23に送る(ステップ102)。ユーザ情報はSYNパケットのヘッダから抽出される。これにより伝送遅延時間算出部23は、往復伝播遅延時間17の計測を開始する。このSYNパケットは、フロー識別・振り分け部22からデータ送信部21を経て、宛先の端末に送信される。
その後、前述のSYNパケットに対するSYN/ACKパケットがエッジノード11をに送信されてフロー識別・振り分け部22がこのSYN/ACKを観測し(ステップ103)、このSYN/ACKパケットは先のACKパケットと同様にデータ送信部21から送信される。その後、SYN/ACKパケットに対するACKパケットがエッジノードに送られてきてフロー識別・振り分け部22は、このACKパケットを観測し、ユーザ情報とともに、往復伝播遅延時間計測終了要求を伝送遅延時間算出部23に送る(ステップ105)。これにより伝送遅延時間算出部23は、往復伝播遅延時間17の計測を終了する。ここで、最初のACKパケットをエッジノード11を通過し、2つ目のACKパケットがエッジノード11を通過するまでに、パケットが、エッジノード11とデータ送信端末14及びデータ受信端末15の一方との間を一往復し、さらに、エッジノード11とデータ送信端末14及びデータ受信端末15の他方との間を一往復しているので、結局、いわゆる3ウェイ・ハンドシェークの技法により、データ送信端末14とデータ受信端末15の間の往復伝播遅延時間17が測定されたことになる。
その後、往復伝播遅延時間17の計測を終えた伝送遅延時間算出部23は、往復伝播遅延時間17を往復伝播遅延時間報告として、ユーザ情報とともにフロー情報保持部26に通知する(ステップ106)。
次に、データが保証帯域以内で送出されるようなウィンドウサイズをウィンドウサイズ算出部27が算出する処理について、図5を用いて説明する。
フロー情報保持部26は、伝送遅延時間算出部23から往復伝播遅延時間報告を受信すると(ステップ201)、ウィンドウサイズ算出部27に対して、ユーザ情報とともにこの往復伝播遅延時間を帯域保証ウィンドウ計算要求として通知する(ステップ202)。帯域保証ウィンドウ計算要求を受け取ったウィンドウサイズ算出部27は、そのユーザ情報を基にして、帯域情報保持部25に対して、ユーザ情報に対応する保証帯域を要求する(ステップ203)。帯域情報保持部25には、帯域管理サーバ13から通知されたサービス対象ユーザの帯域情報とユーザ情報とが対応付けて保持されており、帯域情報保持部25は、保持している情報に基づいて、ウィンドウサイズ算出部27からの要求に応じて保証帯域を返送する(ステップ204)。その結果、ウィンドウサイズ算出部27は、往復伝播遅延時間17と保証帯域とを受け取ったことになるので、それらの値に基づいて、データ送信端末14が保証帯域以内でデータを送出するようなウィンドウサイズを算出する(ステップ205)。このとき、保証帯域と一致する転送速度(レート)でデータが送出されるようなウィンドウサイズが好適である。そのようなウィンドウサイズは、例えば式(1)により求めることができる。
ウィンドウサイズ[KB]=保証帯域[Kbps]×往復伝播遅延時間[sec]÷8[bits/Byte] (1)
次に、広告ウィンドウサイズ書き込み部28がACKパケットに広告ウィンドウサイズを書き込む時の処理について、図6を用いて説明する。
まず、上述のようにウィンドウサイズ算出部27がサービス対象フローのウィンドウサイズを算出する(ステップ301)。続いて、ウィンドウサイズ算出部27は、算出したウィンドウサイズとそのサービス対象フローのユーザ情報とを広告ウィンドウサイズ書き込み部28に通知する(ステップ302)。広告ウィンドウサイズ書き込み部28は、ウィンドウサイズ算出部27から通知されたウィンドウサイズの値を、フロー識別・振り分け部22からACKナンバー制御部29を介して送られてきたサービス対象フローのACKパケットのウィンドウフィールドに書き込む(ステップ303)。広告ウィンドウサイズ書き込み部28で広告ウィンドウサイズが書き込まれたACKパケットはデータ送信部24に送られる。
データ送信部24は、フロー識別・振り分け部27から経路22bを介して送られてきたパケットをこのエッジノード11の外部に送信するとともに、広告ウィンドウサイズ書き込み部28で広告ウィンドウサイズが書き込まれたサービス対象フローのACKパケットを外部に送信する。
次に、ACKナンバー制御部29におけるACKナンバー書き換えの処理について、図7を用いて説明する。図7に示すように、ACKナンバー制御部29は、このACKナンバー転送部29に転送されてきたACKパケットのACKナンバーを記憶するACKナンバー記憶部30と、ACKナンバーが書き換えられたACKパケットを生成して広告ウィンドウサイズ書き込み部28に転送するACKパケット作成部31とを備えている。
ACKナンバー制御部29において、フロー識別・振り分け部22から転送されてきたACKパケットのACKナンバーがACKナンバー記憶部30において記憶される。ACKナンバー記憶部30は、すでに広告ウィンドウサイズ書き込み部28に転送済みのACKナンバー(以下、転送済みACKナンバー)も記憶している。そして、ACKナンバー記憶部30は、今回転送されてきて記憶したACKナンバーと転送済みACKナンバーとの差を最大セグメントサイズ(以下、MSS)で割った数(以下、ACK作成数)のACKパケットを作成するように、ACKパケット作成部31に対してACKパケット作成要求を送る(ステップ401)。ACKパケット作成部31が作成するACKパケットは、フロー識別・振り分け部22から転送されてきたACKパケットとはACKナンバーのみが異なるものであって、パケットヘッダにおけるその他のフィールド、たとえば宛先フィールドの値などは同一のものである。具体的には、ACKパケット作成部31が作成する「ACK作成数」個のACKパケットのそれぞれのACKナンバーは、
{転送済みACKナンバー+MSS,転送済みACKナンバー+2×MSS,…,転送済みACKナンバー+ACK作成数×MSS}
である。
このようなACKナンバー制御部29を設けることにより、エッジノード11に対してサービス対象フローのACKパケットが1個入力すると、上述した「ACK作成数」個のACKパケットが生成してその宛先の端末に順次転送されることになり、宛先の端末ではそれらのACKパケットが到着するたびにデータパケットを送出するので、遅延ACKアルゴリズムにより1個のACKパケットの到着によって複数個のデータパケットをまとめて送出する場合に比べ、複数個のデータパケットがバースト状にネットワークに送出されることを防ぐことができる。
データ通信システムの構成の一例を示すブロック図である。 本発明の実施の一形態のエッジノードの構成を示すブロック図である。 フロー識別・振り分け部によるパケット振り分けを説明する図である。 往復伝播遅延時間を計測する時のエッジノード内のブロック間の信号のやりとりを示すシーケンス図である。 ウィンドウサイズを算出するときのエッジノード内のブロック間の信号のやりとりを示すシーケンス図である。 ACKパケットに広告ウィンドウサイズを書き込むときのエッジノード内のブロック間の信号のやりとりを示すシーケンス図である。 ACKナンバー制御部におけるACKナンバー書き換えの処理を説明する図である。
符号の説明
11,12 エッジノード
13 帯域管理サーバ
14 データ送信端末
15 データ受信端末
16 帯域保証ネットワーク
17 往復伝播遅延時間
21 データ受信部
22 フロー識別・振り分け部
23 伝送遅延時間算出部
24 データ送信部
25 帯域情報保持部
26 フロー情報保持部
27 ウィンドウサイズ算出部
28 広告ウィンドウサイズ書き込み部
29 ACKナンバー制御部
30 ACKナンバー記憶部
31 ACKパケット作成部
101〜106,201〜205,301〜303,401 ステップ

Claims (7)

  1. データ送信端末からデータ受信端末へ送信できる帯域が保証帯域として保証されている帯域保証ネットワークにおけるフローレート制御方法であって、
    前記データ送信端末と前記データ受信端末との間に配置されるエッジノードにおいて、サービス対象フローに関する前記データ送信端末と前記データ受信端末との間の伝播遅延時間を計測する段階と、
    前記保証帯域と前記伝播遅延時間とに基づいて、前記サービス対象フローのデータが前記保証帯域以内の帯域となるウィンドウサイズを算出する段階と、
    前記エッジノードにおいて、前記サービス対象フローのACKパケットのACKナンバーを書き換える段階と、
    前記エッジノードにおいて、前記ACKパケットの広告ウィンドウサイズに前記算出されたウィンドウサイズを書き込む段階と、
    前記ACKナンバーが書き換えられ前記ウィンドウサイズが書き込まれたACKパケットを宛先に向けて前記エッジノードから送出する段階と、
    を有する、フローレート制御方法。
  2. 前記書き換える段階において、既にACKナンバーが書き換えられたACKパケットのACKナンバーを転送済みACKナンバーとして、前記転送済みACKナンバーと最大セグメントサイズとに基づいて、書き換え対象のACKパケットのACKナンバーを書き換える、請求項1に記載のフローレート制御方法。
  3. 前記書き換える段階において、既にACKナンバーが書き換えられたACKパケットのACKナンバーを転送済みACKナンバーとして、前記転送済みACKナンバーと最大セグメントサイズとに基づいて、それぞれ異なるACKナンバーを有する1または複数のACKパケットを作成する、請求項1に記載のフローレート制御方法。
  4. 前記書き換える段階において、書き換え対象のACKパケットのACKナンバーと前記転送済みACKナンバーとの差を前記最大セグメントサイズで割った数のACKパケットが作成され、前記書き換え対象のACKパケットの代わりに前記作成されたACKパケットが前記エッジノードから送出される、請求項3に記載のフローレート制御方法。
  5. データ送信端末からデータ受信端末へ送信できる帯域が保証帯域として保証されている帯域保証ネットワークにおいて前記データ送信端末と前記データ受信端末との間に配置されるエッジノードであって、
    サービス対象フローを識別し、前記サービス対象フローのACKパケットとそれ以外のパケットとの振り分けを実行するフロー識別・振り分け部と、
    前記サービス対象フローについての伝播遅延時間を計測する伝送遅延時間算出部と、
    前記保証帯域と、前記伝送遅延時間算出部で計測された伝播遅延時間とから、前記サービス対象フローのデータが前記保証帯域以内の帯域となるウィンドウサイズを算出するウィンドウサイズ算出部と、
    前記サービス対象フローのACKパケットのACKナンバーを制御するACKナンバー制御部と、
    前記ACKパケットの広告ウィンドウサイズに前記算出されたウィンドウサイズを書き込む広告ウィンドウサイズ書き込み部と、
    を有し、
    前記ACKナンバーが書き換えられ前記ウィンドウサイズが書き込まれたACKパケットを宛先に向けて送出する、エッジノード。
  6. 前記ACKナンバー制御部は、既にACKナンバーが書き換えられたACKパケットのACKナンバーを転送済みACKナンバーとして、前記転送済みACKナンバーと最大セグメントサイズとに基づいて、前記フロー識別・振り分け部から振り分けられた前記サービス対象フローのACKパケットのACKナンバーを書き換える、請求項5に記載のエッジノード。
  7. 前記ACKナンバー制御部は、
    既にACKナンバーが書き換えられたACKパケットのACKナンバーを転送済みACKナンバーとして、前記転送済みACKナンバーと、前記フロー識別・振り分け部から振り分けられた前記サービス対象フローのACKパケットのACKナンバーとを記憶するACKナンバー記憶部と、
    前記サービス対象フローのACKパケットのACKナンバーと前記転送済みACKナンバーとの差を最大セグメントサイズで割った個数のACKパケットであって、それぞれが異なるACKナンバーを有するACKパケットを作成するACKパケット作成部と、
    を備え、
    前記ACKパケット作成部が作成し前記ウィンドウサイズが書き込まれたACKパケットを前記宛先に送信する、請求項5に記載のエッジノード。
JP2008046105A 2008-02-27 2008-02-27 Tcpフローレート制御エッジノードにおけるフローレート制御方法及びエッジノード Expired - Fee Related JP4797033B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008046105A JP4797033B2 (ja) 2008-02-27 2008-02-27 Tcpフローレート制御エッジノードにおけるフローレート制御方法及びエッジノード

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008046105A JP4797033B2 (ja) 2008-02-27 2008-02-27 Tcpフローレート制御エッジノードにおけるフローレート制御方法及びエッジノード

Publications (2)

Publication Number Publication Date
JP2009206734A true JP2009206734A (ja) 2009-09-10
JP4797033B2 JP4797033B2 (ja) 2011-10-19

Family

ID=41148584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008046105A Expired - Fee Related JP4797033B2 (ja) 2008-02-27 2008-02-27 Tcpフローレート制御エッジノードにおけるフローレート制御方法及びエッジノード

Country Status (1)

Country Link
JP (1) JP4797033B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007282009A (ja) * 2006-04-10 2007-10-25 Matsushita Electric Ind Co Ltd Ack番号書き換えによる帯域制御方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007282009A (ja) * 2006-04-10 2007-10-25 Matsushita Electric Ind Co Ltd Ack番号書き換えによる帯域制御方式

Also Published As

Publication number Publication date
JP4797033B2 (ja) 2011-10-19

Similar Documents

Publication Publication Date Title
US11134014B2 (en) Load balancing method, apparatus, and device
KR102187810B1 (ko) 통신 시스템에서 데이터 흐름 제어 장치 및 방법
US8171123B2 (en) Network bandwidth detection and distribution
US7835285B2 (en) Quality of service, policy enhanced hierarchical disruption tolerant networking system and method
CN107852371B (zh) 数据分组网络
WO2018036173A1 (zh) 一种网络负载均衡方法、设备及系统
CN111555982B (zh) 一种基于IPv6扩展头的报文智能选路的方法和系统
EP3547690B1 (en) Real-time video transmission method of multipath network
CN106302213A (zh) 一种数据传输的方法及装置
JP4698645B2 (ja) フロー制御装置およびフロー制御方法
JP5039677B2 (ja) エッジノードおよび帯域制御方法
KR101039550B1 (ko) 데이터 전송률 계산 방법 및 이를 이용한 대역폭 설정 방법
JP2008205932A (ja) ノード装置および帯域制御方法
US20120155268A1 (en) Packet relay device
CN107852372B (zh) 数据分组网络
JP2008118281A (ja) 通信装置
JP2007013449A (ja) シェーパー制御方法、データ通信システム、ネットワークインタフェース装置及びネットワーク中継装置
JP5087595B2 (ja) エッジノード、ウィンドウサイズ制御方法およびプログラム
Zinner et al. Using concurrent multipath transmission for transport virtualization: analyzing path selection
JP4797033B2 (ja) Tcpフローレート制御エッジノードにおけるフローレート制御方法及びエッジノード
JP4828555B2 (ja) ノード装置および帯域制御方法
JP2006246087A (ja) データフレーム転送装置およびデータフレーム転送方法
JP4774411B2 (ja) エッジノードおよび帯域制御方法
JP4977677B2 (ja) エッジノードおよび帯域制御方法
JP4766703B2 (ja) エッジノードおよび帯域制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110704

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140805

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