WRED は、Priority queueing やCustom queueing、CBWFQ のような
「輻輳を制御する」技術ではなく、「輻輳を回避する」技術です。
輻輳が発生すると、機器のキューにパケットが溜まっていきます。
当然キューの量には限界がありますので、キューが一杯になると
それ以降のパケットはどんなに優先度が高いパケットであっても
破棄されてしまいます。
この動作を「TailDrop(テールドロップ)」と言います。
TailDrop が発生することで最も困るのが、TCP 通信です。
ここで、スロースタートアルゴリズムについて説明しておきましょう。
TCP 通信では、効率的に通信を行うために受信側が受信可能な
ウインドウ・サイズを広告するのですが、いきなりウインドウ・サイズで
データを送信するのではなく、最初はウインドウ・サイズ以下のデータ量を
送信します。
そして、ACK を受信する度に送信するセグメント数を倍々で
増やしていくことで、帯域の有効活用を行います。
この技術を「スロースタートアルゴリズム」といいます。
そして、もし輻輳が発生するとデータの送信料を半分に下げます。
この動作を「グローバルシンクロナイゼーション」と呼びます。
TailDrop が発生すると、データの送信料を半分に落としてしまうため、
非常に効率が悪くなってしまいます。
そこで、この問題を解決するために WRED が考えられました。
WRED の説明の前に、RED について解説しておきましょう。
RED は機器に搭載されているバッファを使って、バッファに溜まった
パケットを、バッファが一杯になる前にランダムにパケットを
破棄します。
もしバッファがある閾値を超えると、連続する複数のパケットを
一気に破棄します。
こうすることで事前に輻輳を回避できるわけです。
RED の場合は、何も考えずにパケットを破棄してしまいますが、
WRED の場合は IP ヘッダー内の TOS フィールド(IP PrecedenceやDSCP)
と組み合わせて、優先度の低いパケットから破棄してくれます。
WRED を設定する場合は、インタフェースコンフィグレーションモードにて
以下の設定を入れるだけで基本的には動作が可能です。
(config-if)# random-detect [ prec-based | dscp-based ]
オプションで IP Precedence ベースか、DSCP ベースかを
選択することも可能です。(デフォルトは IP Precedence ベース)
上記設定だけで基本的には動作しますが、以下の WRED のパラメータを
変更することも可能です。
各パラメータの設定は以下になります。
(config-if)# random-detect { precedence | dscp } [value] min-threshold max-threshold mark-prob-denominator
{ precedence | dscp } に続く、value は IP Precedence か
DSCP の値を入れます。
設定例は以下
interface FastEthernet0/0
ip address 10.1.1.1 255.255.255.0
random-detect
random-detect precedence 7 1000 2000 2
設定は「show queueing random-detect」でも確認が可能です。
router#show queueing random-detect
Current random-detect configuration:
FastEthernet0/0
Queueing strategy: random early detection (WRED)
Exp-weight-constant: 9 (1/512)
Mean queue depth: 0
classRandom dropTail dropMinimum MaximumMark
pkts/bytes pkts/bytesthreshthreshprob
00/00/0 20401/10
10/00/0 22401/10
20/00/0 24401/10
30/00/0 26401/10
40/00/0 28401/10
50/00/0 31401/10
60/00/0 33401/10
70/00/0 100020001/2
rsvp0/00/0 37401/10
ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!
これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。
もちろん無料です!!
↓メールマガジン購読はこちら↓