JP4838739B2 - ルータのバッファ管理方法並びにその管理方法を用いたルータ - Google Patents

ルータのバッファ管理方法並びにその管理方法を用いたルータ Download PDF

Info

Publication number
JP4838739B2
JP4838739B2 JP2007024254A JP2007024254A JP4838739B2 JP 4838739 B2 JP4838739 B2 JP 4838739B2 JP 2007024254 A JP2007024254 A JP 2007024254A JP 2007024254 A JP2007024254 A JP 2007024254A JP 4838739 B2 JP4838739 B2 JP 4838739B2
Authority
JP
Japan
Prior art keywords
packet data
discard
router
preferential
buffer
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
JP2007024254A
Other languages
English (en)
Other versions
JP2008193310A (ja
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.)
Central Research Institute of Electric Power Industry
Original Assignee
Central Research Institute of Electric Power Industry
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 Central Research Institute of Electric Power Industry filed Critical Central Research Institute of Electric Power Industry
Priority to JP2007024254A priority Critical patent/JP4838739B2/ja
Publication of JP2008193310A publication Critical patent/JP2008193310A/ja
Application granted granted Critical
Publication of JP4838739B2 publication Critical patent/JP4838739B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ルータのバッファ管理方法並びにその管理方法を用いたルータに関する。さらに詳述すると、本発明は、通信ネットワークの輻輳によるルータのバッファからのパケットデータの廃棄を制御する技術に関する。
本明細書において、パケットデータとは、通信ネットワークにおいて転送されるデータであってパケットに分割されたデータを意味するものとして用いている。また、フローとは、送信側と受信側との一対一の通信のことを意味するものとして用いている。また、ウィンドウとは、通信ネットワークへ一度に送信するパケット数を決める量のことを意味するものとして用いている。
通信ネットワークを構成する通信機器であるルータはバッファを持っており、処理能力を上回る大量のパケットデータが一度に送信されてきた場合には一時的にそのパケットデータをバッファに蓄積することでトラヒックの変動を吸収する。しかし、トラヒック量やユーザ数が想定以上に増加して入力されるパケットデータ量がルータの持つバッファ容量を超えてしまう場合には、パケットデータはバッファから溢れて廃棄される。
通信ネットワークの輻輳制御は、大部分のアプリケーションがデータ転送用プロトコルとして用いるTransmission Control Protocol(以下、TCPと表記する)の機能により行われる。TCPは、ルータのバッファでのパケットデータの廃棄を送信端で検出し、一度に送信できるパケット量を決めるウィンドウサイズを減少させることによって通信ネットワークへのパケットデータ送出量を減らす制御を行って過度な輻輳を抑制する。また、TCPは廃棄されたパケットデータの再送も行う。
TCPは、具体的には、単一フローの同一ウィンドウ内で二以上のパケットデータが廃棄された場合、パケットデータの送出を一定時間待った後にウィンドウサイズを1に戻して再送を開始するRetransmission Time Out(以下、RTOと表記する)と呼ばれる動作を行う。また、複数のフローに亘ってパケットデータが廃棄された場合にはTCPが同期してこれらのフローに係る複数のウィンドウサイズを揃って減少させ、これによって通信ネットワークの伝送能力を大きく下回ってパケットデータ送出量が絞られることになり、通信ネットワークのスループット即ち通信データの伝送量が低下する。
上記のRTOの発生即ち待ち時間発生に伴うデータ伝送遅延の問題並びにTCPが同期して動作して複数のウィンドウサイズを揃って減少させる問題を解決するために従来からアクティブキュー管理方式が提案されている。その代表的なものにRandom Early Detection(以下、REDと表記する)がある。REDは、バッファが溢れてルータに入力されるパケットデータが連続して廃棄されることを防止するため、バッファが一杯になる前に、ルータに入力されるパケットデータを確率的に廃棄する。これによって、TCPのパケットデータ送出量が制御されると共に、通信ネットワークの過度な輻輳状態が回避される。
RED機能を活用した従来のパケットデータ伝送の制御方法としては、例えば、パケットデータを伝送するネットワークシステムがある(特許文献1)。このネットワークシステムは、図6に示すように、ネットワークの入り口に設けられて当該ネットワーク内に入ってきたパケットデータのネットワークにおける生存期間を示す変数であって経由してきたノード数が多いほど小さくなる変数であるTime to Live(以下、TTLと表記する)フィールド値を予め定められた値に設定する少なくとも一つのエッジノードと、転送すべきパケットデータ108が入力されるとTTLフィールド値の小さなパケットデータをキュー104,105,106のうち優先度の高いキューへ割り当てると共にTTLフィールド値の大きなパケットデータをキュー104,105,106のうち優先度の低いキューへ割り当てるTTL識別器102を有するフロー識別器103及び優先度の高いキューに割り当てられたパケットデータから順にTTLフィールド値を1減じた後に次のノードに出力する処理を行うスケジューラ107を備えた少なくとも一つのノード101とから構成される。そして、RED機能によるパケットデータの廃棄においてTTLフィールド値を考慮することによってより多くのノードを経由してきたパケットデータの廃棄率を小さくするものである。
特開2003−348140号
しかしながら、特許文献1のネットワークシステムは、同一ウィンドウ内の複数パケットデータの廃棄率や再送されたパケットデータの廃棄率を小さくする仕組みを有するものではない。このため、同一ウィンドウ内の複数パケットデータの廃棄や再送されたパケットデータの廃棄によるRTOの発生を効果的に抑制することはできず、通信ネットワークのスループット性能を十分に向上させることができるとは言い難い。
そこで、本発明は、同一ウィンドウ内の複数パケットデータの廃棄や再送されたパケットデータの廃棄を積極的に抑制することによってRTOの発生を効果的に抑制して通信ネットワークのスループット性能を向上させることができるルータのバッファ管理方法並びにその管理方法を用いたルータを提供することを目的とする。
かかる目的を達成するため、請求項1記載のルータのバッファ管理方法は、ルータのRED機能によって廃棄候補とされたパケットデータのうちパケットデータが属するフロー毎に管理されてルータのバッファに取り込まれると値が低減する優遇カウントが廃棄条件を満たしていないものと再送されたものとは廃棄せず、ルータに続いて入力されるパケットデータの中から優遇カウントが廃棄条件を満たし且つ再送されたものではないものを廃棄するようにしている。
また、請求項2記載のルータは、RED機能によってパケットデータを廃棄するか否かを判定するRED実行手段と、RED実行手段の判定結果に基づいて値が変化する廃棄フラグを管理する廃棄フラグ管理手段と、廃棄フラグの値に基づいてパケットデータが廃棄候補か否かを判定する廃棄フラグ判定手段と、パケットデータがバッファに取り込まれると値が低減する優遇カウントをフロー毎に管理する優遇カウント管理手段と、優遇カウントが廃棄条件を満たしているか否かを判定する優遇カウント判定手段と、パケットデータのシーケンス番号をフロー毎に管理する再生パケットデータ管理手段と、フロー毎に管理されるシーケンス番号に基づいてパケットデータが再送されたものか否かを判定する再送パケットデータ判定手段とを有し、廃棄フラグ判定手段によって廃棄候補と判定されたパケットデータのうち優遇カウント判定手段によって優遇カウントが廃棄条件を満たしていないと判定されたものと再送パケットデータ判定手段によって再送されたものであると判定されたものとは廃棄せず、続いて入力されるパケットデータの中から優遇カウント判定手段によって優遇カウントが廃棄条件を満たしていると判定され且つ再送パケットデータ判定手段によって再送されたものではないと判定されたものを廃棄するようにしている。
したがって、このルータのバッファ管理方法並びにその管理方法を用いたルータによると、パケットデータが属するフローの優遇カウントに基づいて同一フローのパケットデータを一定数だけ廃棄しないように優遇することにより、同一フローの複数パケットデータの廃棄が抑制される。さらに、再送されたパケットデータの廃棄が抑制される。
さらに、本発明のルータのバッファ管理方法は、従来用いられてきたREDと同様にルータに機能を持たせることによって従来のTCPと協調して動作するものであるので、通信ネットワークの端末側に対応する機能を持たせる必要がない。
本発明のルータのバッファ管理方法並びにその管理方法を用いたルータによれば、同一フローの複数パケットデータの廃棄が抑制されることにより同一ウィンドウの複数パケットデータの廃棄が抑制されると共に再送されたパケットデータの廃棄が抑制されるので、RTOの発生を効果的に抑制することが可能であり、通信ネットワークのスループット性能の向上を図ることができる。
さらに、本発明のルータのバッファ管理方法によれば、通信ネットワークの端末側に対応する機能を持たせる必要がないので、容易に実施可能であるという利点を有する。
以下、本発明の構成を図面に示す最良の形態に基づいて詳細に説明する。
図1から図3に、本発明のルータのバッファ管理方法の実施形態の一例を示す。このルータのバッファ管理方法は、ルータのRED機能によって廃棄候補とされたパケットデータのうちパケットデータが属するフロー毎に管理されてルータのバッファに取り込まれると値が低減する優遇カウントが廃棄条件を満たしていないものと再送されたものとは廃棄せず、ルータに続いて入力されるパケットデータの中から優遇カウントが廃棄条件を満たし且つ再送されたものではないものを廃棄するようにしている。
上記ルータのバッファ管理方法は、本発明のバッファ管理方法を用いたルータとして実現される。本実施形態のルータは、RED機能によってパケットデータを廃棄するか否かを判定するRED実行手段と、RED実行手段の判定結果に基づいて値が変化する廃棄フラグを管理する廃棄フラグ管理手段と、廃棄フラグの値に基づいてパケットデータが廃棄候補か否かを判定する廃棄フラグ判定手段と、パケットデータがバッファに取り込まれると値が低減する優遇カウントをフロー毎に管理する優遇カウント管理手段と、優遇カウントが廃棄条件を満たしているか否かを判定する優遇カウント判定手段と、パケットデータのシーケンス番号をフロー毎に管理する再生パケットデータ管理手段と、フロー毎に管理されるシーケンス番号に基づいてパケットデータが再送されたものか否かを判定する再送パケットデータ判定手段とを有するものである。
本発明のルータのバッファ管理方法の実行にあたっては、まず、通信ネットワーク上に設置されたルータにパケットデータが入力される(S1)。
本発明が対象とする通信ネットワークは、具体的にはTCP/IP通信ネットワークである。なお、TCP/IP通信ネットワークのことを以降では単にネットワークと表記する。
また、本実施形態では、TCPとして、TCPの様々なバージョンの中でほとんどのOperating Systemで実装されているTCP Renoバージョンを用いた場合について説明する。
TCPはそれ自体がネットワークの過度な輻輳を抑制する機能を有する。具体的には、TCP Renoバージョンは、輻輳ウィンドウ(Congestion Windowのこと)によってネットワークへ一度に送信できるパケットデータ量を変化させてパケットデータ送出量を制御する(例えば、W.R Stevens;TCP/IP Illustrated,Volume1:The Protocols,Addison Wesley Longman,1994年を参照)。
送信側のTCPは、データが正常に送られたことを確認する確認応答パケットを受信側から受け取るたびにウィンドウサイズを増加させる。その増加幅は1パケットから始まり、2、4・・と指数関数的に大きくなるが、パケットデータ廃棄時にウィンドウサイズが直前の半分に自動設定される閾値を越えた場合には増加幅が1パケットずつになる。前者はスロースタート(Slow Start)フェーズ、後者は輻輳回避(Congestion Avoidance)フェーズと呼ばれる。そして、このようなウィンドウサイズの増加は、ネットワークの輻輳によってパケットデータの廃棄が発生するまで続けられる。
パケットデータの廃棄の検出方式とその後の再送動作には、RTOとFast Retransmissionとの二種類がある。RTOは、同一ウィンドウ内の複数パケットデータの廃棄等によって確認応答パケットが届くまでの時間がタイマ設定時間を超過することでパケットデータの廃棄を検出する方式である。この場合、TCPは、パケットデータの送出を一定時間を待った後に輻輳ウィンドウサイズを1パケットに戻してスロースタートから再送を開始する。
一方、Fast Retransmissionは、同一ウィンドウ内の単一パケットデータを廃棄することにより、次に送信するべきパケットを示す番号が同一になっている確認応答パケットが三回届くことでパケットデータの廃棄を検出する方式である。この場合、TCPは、軽微な輻輳状態と判断し、輻輳ウィンドウサイズを直前の半分にして直ちに再送を開始する。
また、本実施形態では、バッファとRED機能とレイヤ4の処理能力とを少なくとも有し、ネットワークを接続するための中継装置として利用されるルータが用いられる。
続いて、ルータのRED実行手段は、ルータに入力されたパケットデータを廃棄するか否かをRED機能によって判定する(S2)。なお、本発明のルータのバッファ管理方法に係る演算や各種の処理を実際に行うのはルータの演算部や制御部であって例えばCPU(Central Processing Unit;中央処理装置のこと)であるが、本明細書においては単にルータと表記したり、演算部や制御部に構成される手段として表記する。
RED機能自体は周知の技術であるのでここでは詳細については省略する(例えば、S.Floyd and V.Jacobson;Random early detection gateways for congestion avoidance,IEEE/ACM Trans.Netw.,vol.1,no.4,pp.397−413,1993年8月を参照)。なお、RED機能はルータに実装される。
本発明で用いられるRED機能の具体的なアルゴリズムは以下のとおりである。REDは、現在のバッファ長の短期的な変動の影響を受けないように一定期間のバッファ長を平均化した平均バッファ長の増加に従ってパケットデータ廃棄率を0より大きい値にし更に増加させる。平均バッファ長Qaは、パケットデータ到着毎に指数平均(EWMA:Exponential Weighted Moving Average)を用いて現在のバッファ長Qから数式1により計算される。
(数1)Qa←(1−Wq)Qa+WqQ
ここに、Qa:平均バッファ長,Wq:現在のバッファ長の重みを決定するパラメータ(ただし、0<Wq<1),Q:現在のバッファ長。
そして、平均バッファ長Qaに対して最小閾値MINth及び最大閾値MAXthの二つの閾値を設けてパケットデータの廃棄処理が行なわれる。具体的には、図2に示すように、パケットデータ廃棄率は、平均バッファ長QaがMINthから増加を始め、平均バッファ長QaがMAXthのときにMAXpとなる。そして、平均バッファ長QaがMAXthを超えると全てのパケットが廃棄される。
これらMINth,MAXth,MAXpの閾値はREDのパラメータであり、これらパラメータによってパケットデータ廃棄の程度が決まる。廃棄の程度が過剰の場合には不必要なRTOが多くなり、不足の場合にはバッファ溢れによってやはりRTOが多くなる。そのため、RED機能を適切に作動させるためには、パケットデータの廃棄の過不足が生じないように閾値を最適に設定することによってRTOの抑制効果を最大とする必要がある。
S2の処理において、ルータに入力されたパケットデータをRED機能によって廃棄すると判定した場合には(S2;Yes)、ルータの廃棄フラグ管理手段は廃棄フラグDfの値を1増やす(S3)。
廃棄フラグDfは、RED機能によるパケットデータの廃棄指令を後に続く処理に引き継ぐための変数であり、ルータあるいはバッファを単位として設定される。
廃棄フラグDfは、0,1,2のいずれかの値をとり、パケットデータの廃棄処理の当初の段階で0に設定され、RED機能によって廃棄指令が出された場合に1となる。そして、ルータは廃棄フラグDfの値が1の状態で本発明の制御方法の要件を満たす即ち廃棄すべきパケットデータを探し、要件を満たすパケットデータが出現する前にRED機能によって廃棄指令が更に出された場合に廃棄フラグDfの値が2となる。なお、廃棄フラグDfの最大値は2とする。
一方、パケットデータをRED機能によって廃棄しないと判定した場合には(S2;No)、ルータの廃棄フラグ判定手段は廃棄フラグDfの値を確認する(S4)。
そして、廃棄フラグDfの値が0である場合には(S4;No)、ルータの優遇カウント管理手段は処理対象のパケットデータが属するフローの優遇カウントFcの値を1減らす(S7)。そして、ルータは当該パケットデータをバッファに取り込んで(S13)当該パケットデータに関する処理を終える(END)。
優遇カウントFcは、同一ウィンドウ内の複数パケットデータの廃棄を回避するための変数であり、フロー毎に管理される。なお、ルータに入力されるパケットデータのフローはIPヘッダのアドレス番号によって識別される。
優遇カウントFcは、処理開始時(START)に初期優遇値Nに設定される。初期優遇値Nは、1〜60程度の範囲、好ましくは30〜60程度の範囲、最も好ましくは50程度に設定されることが考えられるが、60を超える値であっても構わない。なお、優遇カウントFcはゼロやマイナスの値になる場合がある。
S3の処理に引き続いて、若しくはS4の処理において廃棄フラグDfの値が0より大きい場合には(S4;Yes)、ルータの廃棄フラグ判定手段は廃棄フラグDfの値を確認する(S5)。
そして、廃棄フラグDfの値が2でない場合には(S5;No)、ルータの優遇カウント判定手段は処理対象のパケットデータが属するフローの優遇カウントFcの値を確認する(S6)。
そして、優遇カウントFcの値が0より大きい場合には(S6;Yes)、ルータの優遇カウント管理手段は処理対象のパケットデータが属するフローの優遇カウントFcの値を1減らす(S8)。そして、ルータは当該パケットデータをバッファに取り込んで(S14)当該パケットデータに関する処理を終える(END)。
このように、本発明では、フローの優遇カウントFcの値が0より大きい場合には、そのフローに属するパケットデータを廃棄しない。これによって、同一フローの同一ウィンドウ内の複数パケットデータの廃棄が抑制されてRTOの発生が抑制される。
ここで、図3(A)に示すように、RED機能では、廃棄するパケットデータP1が単に確率的に選択され、次に廃棄するパケットデータP5も単に確率的に選択される。すなわち、既に廃棄したパケットデータP1と次に廃棄するパケットデータP5とが同一ウィンドウのものであるか否かを考慮することなくパケットデータを廃棄するので、同一ウィンドウ内の複数パケットデータの廃棄が抑制されずに行われることになり、RTOが発生してネットワークのスループット性能が低下してしまう。
これに対して本発明の場合には、既に廃棄したパケットデータP1が属するフローに係る新たに入力されたパケットデータを一定数だけ廃棄しないように優遇する処理を行うことで同一ウィンドウの複数パケットデータの廃棄を確率的に回避する。
具体的には、図3(B)に示すように、フローの優遇カウントFcを用いてフローの優遇性を考慮することにより、廃棄したパケットデータP1が属するフローの優遇カウントFcが0より大きく優遇性が高い場合にはRED機能によって廃棄として選択されたパケットデータP5の廃棄を回避し、続けて入力されるパケットデータを順に調べて廃棄条件を満たすパケットデータP7を見つけ出して廃棄する。これによって、パケットデータP1が既に廃棄されたウィンドウと同一ウィンドウのパケットデータP5の廃棄が回避され、RTOの発生が回避されてネットワークのスループット性能の低下が防止される。
なお、優遇処理はパケットデータが廃棄されたフローを対象とするため、短いフローのみが有利になることはない。また、優遇カウントFcはルータを通過するパケットデータが多いフローほど早く消費されるため、大きな帯域を占めるフローのみが有利になることはない。すなわち、本発明では、特定の特質を有するフローのみが極端に優遇されたり抑制されたりすることがないので、偏りのないパケットデータ伝送の制御が行われる。
続いて、S5の処理において廃棄フラグDfの値が2である場合(S5;Yes)、並びに、S6の処理において優遇カウントFcの値が0以下の場合には(S6;No)、ルータの再送パケットデータ判定手段はパケットデータの属性として処理対象のパケットデータが再送されたパケットデータか否かを判定する(S9)。
処理対象のパケットデータが再送されたパケットデータか否かは、ルータに入力されたパケットデータのTCPヘッダのシーケンス番号をフロー毎に管理することによって識別される。再送パケットデータ管理手段はパケットデータのシーケンス番号をフロー毎に管理する。
そして、処理対象のパケットデータが再送されたパケットデータである場合には(S9;Yes)、ルータはS8の処理に移行して優遇カウント管理手段は処理対象のパケットデータが属するフローの優遇カウントFcの値を1減らす(S8)。そして、ルータは当該パケットデータをバッファに取り込んで(S14)当該パケットデータに関する処理を終える(END)。
これによって、パケットデータが既に廃棄されたフローから再送されたパケットデータの廃棄が回避され、RTOの発生が回避されてネットワークのスループット性能の低下が防止される。
一方、再送されたパケットデータでない場合には(S9;No)、ルータは当該パケットデータをバッファに取り込むことなく廃棄する(S10)。
続いて、ルータの廃棄フラグ管理手段は廃棄フラグDfの値を1減らし(S11)、優遇カウント管理手段は処理対象のパケットデータが属するフローの優遇カウントFcを初期優遇値Nにする(S12)。そして、ルータは当該パケットデータに関する処理を終える(END)。
そして、ルータは、S1の処理に戻り、ルータに新たに入力されたパケットデータについてS1からS14までの処理を繰り返す。
なお、ルータ若しくはバッファ単位の廃棄フラグDfの値、及びフロー毎の優遇カウントFcの値は次に入力されたパケットデータの処理をする際にそのまま用いられる。このため、ルータの廃棄フラグ管理手段及び優遇カウント管理手段はこれらの値を記憶したままS1の処理に戻る。さらに、再送パケットデータ管理手段はフロー毎に管理されてS9の処理で利用される入力されたパケットデータのTCPヘッダのシーケンス番号を記憶したままS1の処理に戻る。
したがって、先に入力されたパケットデータに対してRED機能による最初の廃棄指令が出されると(S2;Yes)廃棄フラグDf=1となる(S3)。そして、当該パケットデータが属するフローの優遇性(S6)と当該パケットデータの属性(S9)とから当該パケットデータを廃棄しないと判定した場合には、廃棄フラグDf=1のまま次に入力されたパケットデータの処理に移る。そして、次に入力されたパケットデータについてはRED機能による廃棄指令が出されない場合であっても(S2;No)、廃棄フラグDf=1であってRED機能による廃棄指令継続状態即ちパケットデータの廃棄待ち状態であると判断され(S4;Yes)、RED機能による廃棄指令が出されていないパケットデータについても当該パケットデータが属するフローの優遇性(S6)と当該パケットデータの属性(S9)とから当該パケットデータの廃棄の可否について判断する。また、廃棄フラグDf=1の状態で次に入力されたパケットデータについてもRED機能による廃棄指令が出された場合には(S2;Yes)、廃棄フラグDf=2となって(S3)、フローの優遇性を考慮しない処理に変わる(S5;Yes)。そして、これにより、再送されたパケットデータを除く全てのパケットデータが廃棄されるので、パケットデータの廃棄が滞らなくなり、パケットデータの廃棄の過度な抑制が防がれてバッファ溢れが防止される。
なお、上述の形態は本発明の好適な形態の一例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変形実施可能である。例えば、本実施形態では、RED機能による廃棄制御と優遇カウントFcに基づく廃棄制御と再送であるか否かに基づく廃棄制御とをルータに入力されたパケットデータ毎に逐次行うようにしているが、これに限られず、廃棄フラグDfが1から2となる間にルータに入力されるパケットデータを全てバッファへ取り込み、バッファの中からこの期間で最小の優遇カウントFcを持つパケットデータを選択して廃棄するようにしても良い。なお、この場合もバッファでの滞留時間は変わらないので遅延を起こすことなくデータ伝送を行うことができる。そして、これにより、優遇カウントFcの初期値である初期優遇値Nは例えば99999など単に十分に大きな値にしておけば良いのでネットワークのトラヒック状況に応じて設定する手間を省くことができ、且つ、REDによる廃棄制御によって廃棄が指令された場合に優遇カウントFcの残存状況にかかわらず常にいずれかのパケットデータが選択され廃棄されるので本発明の性能を十分に発揮させることができる。
また、本実施形態では、パケットデータが属するフローの優遇性(S6)とパケットデータの属性(S9)との両方を考慮してパケットデータを廃棄するか否かを判定するようにしているが、これに限られず、パケットデータが属するフローの優遇性のみを考慮するようにしても良い。この場合もRED機能によって廃棄するパケットデータを単に確率的に選択する場合と比べて同一ウィンドウ内の複数パケットデータの廃棄が抑制されるので本発明の性能を発揮させることができる。そして、この場合には、レイヤ3の処理能力を有するルータを用いれば良いので、レイヤ4の処理能力を有するルータを用いる場合と比べてコストダウンを図ることができる。
また、本実施形態では、廃棄フラグDf=2の場合に(S5;Yes)、フローの優遇性(S6)を考慮しない一方でパケットデータの属性(S9)は考慮するようにしているが、これに限られず、フローの優遇性(S6)及びパケットデータの属性(S9)のどちらも考慮しないようにしても良い。具体的には、本実施形態のS5の処理においてYesの場合には次にS10の処理を行ってそのままパケットデータの廃棄を行うようにしても良い。
さらに、本実施形態では、TCPとしてRenoバージョンを用いた場合を前提とした例について主に説明したが、本発明が適用可能なTCPのバージョンはこれに限られるものではなく、TCPの他のバージョンに対しても適用が可能である。なお、同一ウィンドウ内の複数パケットデータが廃棄された場合や再送されたパケットデータが廃棄された場合にデータ送出量を抑制する機能を有するTCPに適用した場合に本発明の効果が特に発揮される。
本発明のルータのバッファ管理方法並びにその管理方法を用いたルータの性能評価の実施例を図4及び図5を用いて説明する。
本実施例における性能評価は計算機シミュレーションによって行った。シミュレーション用ソフトはOPNET社のOPNET Modelerバージョン11.5を用いた。そして、図4に示すクライアントであるユーザU1,U2,…,U16(以下、ユーザUxと表記する),サーバS1,S2,…,S16(以下、サーバSxと表記する),ユーザ側ルータR0,サーバ側ルータR1,ユーザUxとユーザ側ルータR0との間及びサーバSxとサーバ側ルータR1との間のリンクL1,ユーザ側ルータR0とサーバ側ルータR1との間のボトルネック回線L2からなるネットワークモデルでシミュレーションを行なった。
ユーザUxとサーバSxとの間はそれぞれ一対一でFTP(File Transfer Protocolのこと)によるファイル転送を行うものとした。そして、サーバ側ルータR1に本発明のルータのバッファ管理方法を実装させた。なお、ユーザ側ルータR0は、パケットデータの宛先IPアドレスを参照して当該データを宛先のユーザUxに単に振り分ける機能のみを有するものであって、RED機能によるパケットデータの廃棄制御等は行わない。すなわち、本実施例のネットワークモデルでは、サーバSxからユーザUxへ向かうトラヒックがサーバ側ルータR1のバッファを溢れさせる一方で、ユーザUxからサーバSxへ向かうトラヒックは微小であってユーザ側ルータR0のバッファを溢れさせることはない。
また、リンクL1のリンク帯域を100Mbps、伝送遅延を1msとした。また、ボトルネック回線L2のリンク帯域を8Mbps、伝送遅延を200msとした。なお、ボトルネック回線L2のリンク帯域は、輻輳が発生する程度に小さくすることを考慮して設定した。また、ボトルネック回線L2の伝送遅延は、ルータR0及びR1のMAC(Media Access Controlのこと)層バッファによる変動吸収の影響を無視できるようにパケットデータがMAC層バッファに入らない設定としているため、これに伴うMAC層バッファでの遅延の減少分をボトルネック回線L2の伝送遅延によって補うことを考慮して設定した。
ユーザUxとサーバSxとはTCP Renoを実装し、最大ウィンドウサイズは65,535byte、パケットサイズは1,500byteとした。
サーバ側ルータR1のRED機能は、事前の検討も踏まえてRTO発生の抑制効果が最大となるようにバッファの最小閾値MINth=9パケット,バッファの最大閾値MAXth=46パケット,最大廃棄率MAXp=1/6とした。なお、サーバ側ルータR1のRED機能がこれらの条件を有する場合を最適廃棄ケースと呼ぶ。
ユーザUxとサーバSxとの間(以下、ユーザUx〜サーバSxと表記する)の各フローのうち、ユーザU3〜サーバS3,ユーザU4〜サーバS4,…,ユーザU16〜サーバS16の14フローは、先に帯域を占める先行トラヒックを模擬するものとして無限長のファイルが常時送信される設定にした。すなわち、ボトルネック回線L2の帯域が、ファイル長が限定されない14フローに先行して占められていることになる。なお、事前の検討によって先行フロー数を7以上にすると輻輳が発生することを確認した上で、輻輳を発生させるに十分なフロー数とすることを考慮して14フローとした。
一方、ユーザU1〜サーバS1並びにユーザU2〜サーバS2の2フローは、後から二つ同時に入ってくる追加トラヒックを模擬するものとして300Kbyteの固定長ファイルが20秒周期で送信される設定にした。これにより、サーバ側ルータR1のバッファからパケットデータが溢れて周期的に輻輳状態が発生する状態が模擬される。なお、追加トラヒックのファイル長は特に限定されるものではないが、事前の検討に基づいて最も大きな輻輳を発生させる長さとした。また、追加フロー数は1以上であれば輻輳が発生するところ、先行フローと同様に輻輳を発生させるに十分なフロー数とすることを考慮して2フローとした。
なお、このモデルでは、ボトルネック回線L2の帯域、フロー数、バッファサイズを同一の倍率で拡大・縮小しても同じ結果が得られる。したがって、このネットワークモデルによって、本実施例のネットワーク規模に限られることなく、現実的な大規模ネットワークについての本発明の効果を検証することができる。
シミュレーション時間は600秒とした。すなわち、この間に30回の追加トラヒックが発生し、その度にネットワークが輻輳状態になる。
ここで、従来のREDに対しては、トラヒック状況によって最適なパラメータ設定が異なるので効果が安定しないという問題点が指摘されている(S.Flod, R.Gummadi and S.Shenker;Adaptive RED:An Algorithm for Increasing the Robustness of RED's Active Queue Management,Technical Report,2001年8月を参照)。
そこで、本実施例では、最適廃棄ケースの最適設定からのずれによるRTO発生頻度の増加に対する本発明の抑制効果を評価した。具体的には、最適廃棄ケースを基準として、追加トラヒックを3フローに増加させて輻輳を大きくすることでREDの廃棄率が不足するようにした不足廃棄ケース、及び、先行トラヒックを10フローに減少させて輻輳を小さくすることでREDの廃棄率が過剰となるようにした過剰廃棄ケースについてもシミュレーションを行った。
さらに、本発明のルータのバッファ管理方法の設定として、優遇カウントFcの初期優遇値Nを0から60まで5ずつ変化させた場合それぞれについてシミュレーションを行った。なお、初期優遇値N=0の場合は、本発明の処理のうち再送されたパケットデータの廃棄の回避処理のみが実行されている場合となる。
また、本発明のルータのバッファ管理方法の効果の検証を行うためにサーバ側ルータR1にRED機能のみを実装させた場合を比較例として設定した。
そして、本実施例では、1回の輻輳につき全フロー数のうちRTOが発生するフロー数の割合をRTO発生率とし、比較例を基準としたRTO発生率の減少効果で本発明の性能評価を行った。なお、RTO発生率は30回の平均で求めた。ここで、RTOが発生した場合の待ち時間のTCPのデフォルト設定は3秒であり、しかも輻輳の程度が大きい場合には更に増加する仕組みとなっており、RTOが1回発生すると3秒以上の待ち時間が生じ、その分データ伝送が遅延してユーザUxの利便性を害することになる。
以上の条件を用い、廃棄条件ケース(すなわち、最適廃棄ケース,不足廃棄ケース,過剰廃棄ケース)別に、本発明のルータのバッファ管理方法に係る初期優遇値Nの値別のシミュレーションと比較例のシミュレーションとを行った。そして、本発明を適用した場合の廃棄条件ケース別のRTO発生率について初期優遇値Nの変化に対する推移として図5に示す結果が得られた。
いずれの廃棄条件ケースにおいても、RTO発生率は初期優遇値Nの増加に伴って急激に減少し、初期優遇値N=20付近から変化が緩やかになった。そして、初期優遇値N=50で最も小さい値(不足廃棄ケースでは二番目に小さい値)となった。なお、RTO発生の減少効果は、特定のフローだけでなく、全フローで生じていた。
一方、比較例のRTO発生率は、最適廃棄ケースで9.5%,不足廃棄ケースで15.6%,過剰廃棄ケースで15.2%となった。
これらから、比較例のRTO発生率に対する本発明を適用した場合のRTO発生率の減少効果を[(比較例のRTO発生率)−(本発明のRTO発生率)]/(比較例のRTO発生率)×100(%)によって算出した。なお、本発明のRTO発生率は初期優遇値N=50の場合の値を用いた。その結果、本発明によるRTO発生率の減少効果は、最適廃棄ケースで88%,不足廃棄ケースで82%,過剰廃棄ケースで78%となった。
以上の結果から、本発明の制御方法を用いることによって従来の制御方法である比較例と比べてRTOの発生が大きく抑制されることが確認された。
また、いずれの廃棄条件ケースにおいても初期優遇値N=50で最小値(不足廃棄ケースでは二番目に小さい値)となったことから、本発明を用いる場合、初期優遇値Nの設定は好ましくは30〜60程度、最も好ましくは50程度とすれば良いことが確認された。
また、本発明の制御方法はいずれの廃棄条件ケースにおいても安定した性能を発揮するものであってネットワークのトラヒック状況の変化による大きな性能低下は見られず、本発明を用いた場合にはネットワークの状況変化のスループット性能への影響は小さいことが確認された。さらに、このことから、トラヒック状況によって最適なパラメータ設定が異なるので効果が安定しないという従来のRED機能の問題点も改善できることが確認された。
本発明のルータのバッファ管理方法の実施形態の一例を説明するフローチャートである。 パケットデータの廃棄率と閾値との間の関係を示す図である。 本発明による同一ウィンドウ内の複数パケットデータ廃棄並びに再送されたパケットデータ廃棄の回避を説明する概念図である。 実施例のシミュレーションモデルの構成を説明する図である。 実施例における本発明を適用した場合のRTO発生率の結果を示す図である。 従来のパケットデータ伝送の制御方法におけるネットワークノードの構成を示すブロック図である。
符号の説明
U1,U2,…,U16 ユーザ
S1,S2,…,S16 サーバ
L1 リンク
L2 ボトルネック回線
R0,R1 ルータ

Claims (2)

  1. ルータのRED機能によって廃棄候補とされたパケットデータのうち前記パケットデータが属するフロー毎に管理されて前記ルータのバッファに取り込まれると値が低減する優遇カウントが廃棄条件を満たしていないものと再送されたものとは廃棄せず、前記ルータに続いて入力されるパケットデータの中から前記優遇カウントが廃棄条件を満たし且つ再送されたものではないものを廃棄することを特徴とするルータのバッファ管理方法。
  2. RED機能によってパケットデータを廃棄するか否かを判定するRED実行手段と、前記RED実行手段の判定結果に基づいて値が変化する廃棄フラグを管理する廃棄フラグ管理手段と、前記廃棄フラグの値に基づいて前記パケットデータが廃棄候補か否かを判定する廃棄フラグ判定手段と、前記パケットデータがバッファに取り込まれると値が低減する優遇カウントをフロー毎に管理する優遇カウント管理手段と、前記優遇カウントが廃棄条件を満たしているか否かを判定する優遇カウント判定手段と、前記パケットデータのシーケンス番号をフロー毎に管理する再生パケットデータ管理手段と、前記フロー毎に管理されるシーケンス番号に基づいて前記パケットデータが再送されたものか否かを判定する再送パケットデータ判定手段とを有し、前記廃棄フラグ判定手段によって廃棄候補と判定されたパケットデータのうち前記優遇カウント判定手段によって前記優遇カウントが前記廃棄条件を満たしていないと判定されたものと前記再送パケットデータ判定手段によって再送されたものであると判定されたものとは廃棄せず、続いて入力されるパケットデータの中から前記優遇カウント判定手段によって前記優遇カウントが前記廃棄条件を満たしていると判定され且つ前記再送パケットデータ判定手段によって再送されたものではないと判定されたものを廃棄することを特徴とするルータ。
JP2007024254A 2007-02-02 2007-02-02 ルータのバッファ管理方法並びにその管理方法を用いたルータ Expired - Fee Related JP4838739B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007024254A JP4838739B2 (ja) 2007-02-02 2007-02-02 ルータのバッファ管理方法並びにその管理方法を用いたルータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007024254A JP4838739B2 (ja) 2007-02-02 2007-02-02 ルータのバッファ管理方法並びにその管理方法を用いたルータ

Publications (2)

Publication Number Publication Date
JP2008193310A JP2008193310A (ja) 2008-08-21
JP4838739B2 true JP4838739B2 (ja) 2011-12-14

Family

ID=39752983

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007024254A Expired - Fee Related JP4838739B2 (ja) 2007-02-02 2007-02-02 ルータのバッファ管理方法並びにその管理方法を用いたルータ

Country Status (1)

Country Link
JP (1) JP4838739B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102868577A (zh) * 2012-10-09 2013-01-09 盛科网络(苏州)有限公司 Wred自动化测试的方法及装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5518534B2 (ja) * 2010-03-15 2014-06-11 中国電力株式会社 輻輳制御装置及び輻輳制御方法
JP5518549B2 (ja) * 2010-04-07 2014-06-11 中国電力株式会社 輻輳制御装置及び輻輳制御方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3845392B2 (ja) * 2003-06-12 2006-11-15 Necアクセステクニカ株式会社 帯域制御装置および帯域制御システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102868577A (zh) * 2012-10-09 2013-01-09 盛科网络(苏州)有限公司 Wred自动化测试的方法及装置

Also Published As

Publication number Publication date
JP2008193310A (ja) 2008-08-21

Similar Documents

Publication Publication Date Title
CN109120544B (zh) 一种数据中心网络中基于主机端流量调度的传输控制方法
JP4082669B2 (ja) キューバッファ制御方法
JP4080911B2 (ja) 帯域監視装置
Carofiglio et al. Joint hop-by-hop and receiver-driven interest control protocol for content-centric networks
CN110166367B (zh) 一种分组网络中控制流量的方法、装置及存储介质
US7369498B1 (en) Congestion control method for a packet-switched network
US6826147B1 (en) Method and apparatus for aggregate flow control in a differentiated services network
US6958998B2 (en) Traffic management in packet-based networks
JP5538257B2 (ja) 帯域監視装置、及びパケット中継装置
JP3970138B2 (ja) イーサネットスイッチにおける輻輳制御装置
CN109714267B (zh) 管理反向队列的传输控制方法及系统
US20060203730A1 (en) Method and system for reducing end station latency in response to network congestion
JP2005295581A (ja) Tcp接続の性能改善方法
CN107852371B (zh) 数据分组网络
Liu et al. Improving explicit congestion notification with the mark-front strategy
CN113242183A (zh) 一种数据流发送控制方法、装置、智能终端及存储介质
CN107852372B (zh) 数据分组网络
CN113055301A (zh) 拥塞控制方法及相关设备
JP4838739B2 (ja) ルータのバッファ管理方法並びにその管理方法を用いたルータ
Abu et al. Inferring and controlling congestion in CCN via the pending interest table occupancy
Abu et al. Leveraging the pending interest table occupancy for congestion control in CCN
Yasuda et al. A probabilistic interest packet aggregation for content-centric networking
KR100674329B1 (ko) 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의폭주 제어방법
Shi et al. PABO: Congestion mitigation via packet bounce
Barry Congestion Control in Flow-Aware Networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110531

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110725

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

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

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

Free format text: PAYMENT UNTIL: 20141007

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees