バッファ管理
(Random Early Detection から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2015/03/14 05:12 UTC 版)
バッファ管理もしくはバッファ管理法とは、ネットワーク機器において、パケットの待ち合わせのためのキューがあふれたときにパケットを選択して破棄する方法をいう。
種類
代表的なバッファ管理法として、末尾廃棄、先頭廃棄、ランダム廃棄、Random Early Detection がある。
末尾廃棄 (Drop-Tail) とは、いわゆる FIFO バッファであり、あふれているキューの末尾、すなわち最後に到着したパケットを破棄する方法である。
先頭廃棄 (Drop-Head) とは、逆に先頭のパケットを破棄する方法で、TCP の再送メカニズムによってパケットあふれが早期に検出できるという利点がある。
ランダム廃棄 (Drop-Random) はキューにあるパケットをランダムに破棄する方法である。
Random Early Detection (RED) はキューの長さの平均値に応じた確率でパケットの破棄を行う方法である。すなわち、ウィンドウ制御によって流量を制御している TCP では、いくつものフローにおいて同時にパケットの破棄が起きた場合に、それぞれのフローが同時に送出の停止と再開を行って効率的な送信ができなくなってしまうという同期現象が起こり得る。RED はこれを回避して、バッファがあふれる前に流量をコントロールし、キューの長さをできるだけ短く保つ。平均キューサイズの上限値と下限値を決めておき、図のような確率でパケットを破棄する。これにより、バッファの占有率に応じて公平に廃棄することができ、瞬間的な短いバーストを許容することができる。ただし、UDP など、パケットの破棄が起きても流量を絞らないフローには対応できない。
RIO という、RED を改良して契約帯域内のパケットとそうでないパケットの廃棄率に差をつけた方法もある。
ランダム初期検知
(Random Early Detection から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/05/14 08:34 UTC 版)
ナビゲーションに移動 検索に移動ランダム初期検知(ランダムしょきけんち、英: random early detection, RED)あるいはランダム初期廃棄(ランダムしょきはいき、英: random early discard, RED)は、アクティブキュー管理アルゴリズムの一種。輻輳防止アルゴリズムの一種でもある[1]。
従来からあるテールドロップ方式では、ルーターなどのネットワーク機器は可能な限り多くのパケットを溜め込み、バッファに入りきらなくなったパケットを単に捨ててしまう。バッファが常に満杯なら、ネットワークは輻輳状態である。テールドロップは不公平であると言われている。テールドロップはTCPグローバル同期の原因にもなり、全てのTCPコネクションが同時に待ち状態になり、同時に再開しようとする状態が発生しやすい。ネットワークは利用率が低下していくことになる。REDはこの問題への対処である。
REDでは、平均キュー長を監視し、確率に基づいてパケットを捨てる(あるいはECNと組み合わせて使う場合は印を付ける)。キューが長くなると、入ってきたパケットを捨てる確率が高くなる。バッファが満杯になると、確率が1に達し、入ってきたパケットは全て捨てることになる。
RED はテールドロップよりも公平と言われている。あるホストがより多数のパケットを送出すると、パケットが捨てられる確率が高くなる。初期検知はTCPグローバル同期の発生を防ぐ助けとなる。
RED では、Quality of Service (QoS) による差別化が不可能となる。重み付きRED (WRED) と RED In/Out (RIO) は、QoS をある程度考慮した初期検知アルゴリズムである。
派生
重み付きREDでは、各種属性(IPパケットのToSフィールドの値やDSCP)やキューによって確率を変化させることができる。
適応/動的RED (ARED) アルゴリズム[2]は、平均キュー長の観測に基づいて攻撃的なREDにするかどうかを推定する。平均キュー長が低いほうのしきい値付近にある場合、初期検知を行うのは攻撃的すぎると判断する。一方、平均キュー長が高い方のしきい値付近にある場合、単なる初期検知では保守的すぎると判断する。このような判断に基づいて、トラフィックを廃棄する確率を変化させる。
Srikant[3] に技法の詳しい解説と分析がある。
脚注・出典
- ^ Floyd, Sally; Jacobson, Van (1993年8月). “Random Early Detection (RED) gateways for Congestion Avoidance”. IEEE/ACM Transactions on Networking 1 (4): 397–413. doi:10.1109/90.251892 2008年3月16日閲覧。.
- ^ Floyd, Sally; Gummadi, Ramakrishna; Shenker, Scott (2001年8月1日). Adaptive RED: An Algorithm for Increasing the Robustness of RED's Active Queue Management 2008年3月16日閲覧。.
- ^ Srikant, Rayadurgam (2004年). The Mathematics of Internet Congestion Control. Boston, MA, USA: Birkhäuser. ISBN 978-0-8176-3227-4 .
外部リンク
- Random Early Detectionのページへのリンク