WRED(レッド)とは | 意味や読み方など丁寧でわかりやすい用語解説
WRED(レッド)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。
読み方
日本語表記
輻輳早期破棄 (フクソウ ソウキ ハキ)
英語表記
Weighted Random Early Detection (ウェイトッド・ランダム・アーリー・ディテクション)
用語解説
WREDはWeighted Random Early Detectionの略で、ネットワークにおける輻輳制御のメカニズムの一つである。これは、ルータやスイッチなどのネットワーク機器のキューでパケットが蓄積されることによる輻輳を未然に防ぎ、ネットワークの全体的な性能と特定のトラフィックのサービス品質(QoS)を維持することを目的としている。
ネットワークにおいて、ある時点であるリンクが処理できるデータ量以上のパケットがそのリンクに送られてくると、ルータやスイッチの出力インターフェースにあるバッファ(キュー)にパケットが一時的に蓄積される。この状態が「輻輳」である。従来のルータでは、このキューが満杯になるまでパケットを受け入れ、満杯になった時点でそれ以降のパケットをすべて破棄するという「Tail Drop(テールドロップ)」と呼ばれる方式が一般的であった。しかし、Tail Dropにはいくつかの問題点があった。キューが満杯になるまでパケットを破棄しないため、輻輳の兆候がネットワークのエンドポイント(送信元)に伝わるのが遅れ、エンドポイントは輻輳状態にあることに気づかず大量のパケットを送り続けることになる。その結果、キューが満杯になった時点で大量のパケットが一斉に破棄され、特にTCPプロトコルを利用している多数のセッションが同時にパケットロスを検知し、一斉にウィンドウサイズを縮小して再送処理を行う「TCP同期」という現象を引き起こす可能性があった。このTCP同期は、ネットワークの利用効率を一時的に低下させ、スループットの大きな変動を招く原因となる。
WREDは、このTail Dropの問題点を解決するために考案されたRED(Random Early Detection)の考え方を基に、さらに改良を加えられた技術である。REDは、キューが満杯になる前にパケットをランダムに破棄することで、輻輳を早期に検知し、エンドポイントにその兆候を伝えることを目的としている。REDでは、キューの平均サイズを監視し、あらかじめ設定された二つのしきい値(最小しきい値:min_threshold、最大しきい値:max_threshold)に基づいてパケットの破棄を開始する。キューの平均サイズがmin_thresholdを超えると、パケットが到着するたびに設定された確率でランダムに破棄を開始する。この確率は、キューの平均サイズが増加するにつれて上昇し、max_thresholdに達すると100%になる。つまり、max_thresholdを超えるとすべてのパケットが破棄される。このようにキューが満杯になる前に一部のパケットを破棄することで、TCPセッションは異なるタイミングでパケットロスを検知し、それぞれが独立してウィンドウサイズを調整する。これにより、TCP同期を回避し、ネットワークのスループットの急激な落ち込みを防ぎ、全体としてよりスムーズなデータ転送を実現できる。
WREDは、このREDの「Random Early Detection」という機能に「Weighted(重み付けされた)」という概念を加えたものである。ネットワーク上を流れるパケットには、Webブラウジング、VoIP(音声通話)、ビデオストリーミング、ファイル転送など、様々な種類のアプリケーションのデータが含まれている。これらのアプリケーションには、それぞれ異なるサービス品質が要求される。例えば、VoIPのようなリアルタイムアプリケーションは、遅延やパケットロスに非常に敏感である一方、ファイル転送のようなベストエフォート型のアプリケーションは、多少の遅延やパケットロスが許容される。WREDは、IP PrecedenceやDSCP(Differentiated Services Code Point)といったパケットのヘッダに付与されたQoSマーキング(優先度情報)に基づいて、異なる種類のトラフィックに対して異なるREDのパラメータ(例えば、min_threshold、max_threshold、およびドロップ確率のカーブ)を適用する。
具体的には、WREDでは、高優先度とマークされたトラフィックには比較的高いしきい値を設定し、低優先度とマークされたトラフィックには比較的低いしきい値を設定することができる。これにより、輻輳が発生し始めた際、まず低優先度のパケットから先にランダムに破棄を開始し、高優先度のパケットは可能な限り破棄されずに転送される確率が高まる。たとえば、VoIPトラフィックには高い優先度を与え、ファイル転送トラフィックには低い優先度を与えてWREDを設定した場合、ネットワークが輻輳状態に陥っても、VoIPのパケットはドロップされる可能性が低く、その通信品質が維持されやすくなる。一方で、ファイル転送のパケットは先にドロップされる可能性が高くなるが、これはファイル転送の特性上、許容される範囲であることが多い。
WREDを導入することで、ネットワーク管理者は輻輳時においても特定の重要なトラフィックのサービス品質を保証し、ネットワーク全体の公平性と効率性を向上させることが可能となる。これにより、ミッションクリティカルなアプリケーションの通信品質を維持しつつ、ベストエフォート型の通信も可能な限り効率的に処理できるネットワーク環境を構築できる。WREDは、単なるパケット破棄のメカニズムではなく、QoSポリシー全体の一部として機能し、ネットワークリソースの限られた環境下で、サービスプロバイダや企業ネットワークが多様なアプリケーションの要求に応えるための重要なツールとなっている。適切なWREDの設定は、ネットワークの安定性とパフォーマンスを向上させる上で不可欠である。この機能は、ルータやスイッチのOSで提供され、管理者がコマンドラインインターフェース(CLI)やGUIを通じて設定を行う。設定時には、それぞれのトラフィッククラスに応じたしきい値と重み、ドロップ確率を慎重に検討し、ネットワークの特性やビジネス要件に合わせて最適化することが求められる。WREDは、現代の複雑で多様なトラフィックを処理するネットワークにおいて、サービスの品質と効率性を両立させるための基盤となる技術の一つと言える。