2011年11月20日日曜日

QOS 3.キューイング

QoSの機能は大きく分けて3つあります。
輻輳回避
②輻輳制御
帯域制御


■輻輳制御(キューリング)

他のパケットを処理している間、残りの待ちパケットを一時的に保管する方式

・キューイングの種類

①PQ(Priority queueing)

パケットに4つの優先度(high,medium,normal,low)を設定して、キューイングされた際、high > medium > normal > low の順に転送する方式。
基本的にhigh > medium > normal > low の関係を基に転送される為、常に優先度の高いキューから参照されます。その為、優先度の高いキューが空にならない限り低い優先度に格納されているキューは転送されない。
問題点:優先度の低いキューが枯渇状態になる可能性が高い。

②WFQ(Weighted Fair queue)

IP Precedenceを基に優先度を付加し、各トラフィックごとにキューを動的に作成する事でキューイングする仕組み。
又、全て優先度が同じ場合は帯域幅を分け合う事になります。

WFQアグレッシブドロッピング・・ホールドキューが占有状態になった際、到着パケットがドロップされる事。
WFQアーリードロッピング・・・・CDT(輻輳破棄しきい値)に達した際、到着パケットをドロップされる事。

WFQでは、設定が簡単でかつ枯渇状態を回避できる長所があるが、トラフィックフローに対する帯域幅などの保証がない事や高速リンクに対応していないなどの欠点がある。

③CBWFQ(Class-based Weighted Fair queue)

WFQに定義されたクラスというグループ(最大64個)を使用して優先制御する方式。又、CBWFQは各キューに最低保証帯域幅を指定する事が出来、それ以上の帯域幅を利用可能であれば、利用することも可能。
問題点 : WFQと同様に帯域などの保証がない。(上限に達した場合、VoIPなどの優先度が高いアプリケーションをテールドロップする可能性がある。)

④LLQ(Low Latency queue)

PQとCBWFQの2つを組み合わせたキューイング方式。
絶対優先されたいパケット(VoIPなど)をPQ(FIFO)を使用して転送し、その他は、WFQを使用して転送されます。
又、PQの欠点であった優先度の高いキュー(完全優先キュー)が空にならない限り優先度の低いパケットを転送できない部分は、ポリシングを使用する事で回避しております。(完全優先キューで帯域幅の許容値を超えた場合は、ドロップされる。)



■輻輳回避


過度な輻輳が発生すると、キューに格納できないパケットがテールドロップによりドロップされてしまいます。
又、TCP通信は破棄された事を確認すると、再送処理が実行される為転送レートを一時的に落として通信しようとします。
テールドロップを回避する為に、キューが占有状態になる為に、破棄する技術がREDやWREDです。

①RED(Random Early Detection)

キューが占有状態になる前に、ランダムにパケットを破棄する技術。
破棄モデルは3つあります。
no drop・・・・・平均キューサイズが最小しきい値より小さい場合は破棄しない。
random drop・・・平均キューサイズが採用しきい値~最大しきい値未満の場合はMP(破棄確率)によりランダムで破棄する。
tail drop・・・・平均キューサイズが最大しきい値以上に達成すると、以後届くパケットを破棄する。

②WRED(Weighted RED)

REDはパケットをランダムに破棄するのに対して、WREDではIP Precedence値やDSCP値によるパケットの優先度を考慮してパケットを破棄する方式。

③CBWRED (Class Based Weighted Random Early Detection)

CBWFQが使用されている場合、個々のキューは優先度の高いパケットもテールドロップしてしまう可能性があります。 その為、CBWFQにWREDを適用した技術でIP Precedence値やDSCP値を基に優先度に低いパケットから破棄する事が出来る。


>>オススメ記事:CCIEが語る!ネットワークエンジニアにオススメな本・参考書!
>>オススメ記事:ITエンジニア必見!失敗しない転職エージェントの選び方はこれだ!