ランダム初期検知

ランダム初期検知（ランダムしょきけんち、）あるいはランダム初期廃棄（ランダムしょきはいき、）は、アクティブキュー管理アルゴリズムの一種。輻輳防止アルゴリズムの一種でもある。

従来からあるテールドロップ方式では、ルーターなどのネットワーク機器は可能な限り多くのパケットを溜め込み、バッファに入りきらなくなったパケットを単に捨ててしまう。バッファが常に満杯なら、ネットワークは輻輳状態である。テールドロップは不公平であると言われている。テールドロップは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) アルゴリズムは、平均キュー長の観測に基づいて攻撃的なREDにするかどうかを推定する。平均キュー長が低いほうのしきい値付近にある場合、初期検知を行うのは攻撃的すぎると判断する。一方、平均キュー長が高い方のしきい値付近にある場合、単なる初期検知では保守的すぎると判断する。このような判断に基づいて、トラフィックを廃棄する確率を変化させる。

Srikant に技法の詳しい解説と分析がある。

脚注・出典

外部リンク 
 The RED web page

コンピュータネットワーク

da:Undgåelse af datanet-trafikforstoppelse#RED og WRED