QoS - WFQ(Weighted Fair Queue)その1

WFQ(Weighted Fair Queue)

WFQ はトラフィックフローごとに動的にキューを作成して、
フローごとに輻輳制御を行う方式
です。
プライオリティ・キューイングやカスタム・キューイングは、
手動でキューの振り分けを行っていましたが、WFQ は動的に
キューを作成し、「IP Precedence」を基に優先度を付けて
送信します。
「IP Precedence」については別途解説します。

 

フローとは

ここで書いているフローとはエンド - エンド間の
アプリケーション通信のことで、以下のように 4 つの
組み合わせで識別されます。

  • 送信元 IP アドレス
  • 宛先 IP アドレス
  • 送信元ポート番号
  • 宛先ポート番号

 

WFQ の動作

WFQ の動作は意外とややこしいので、じっくりと解説していきます。

WFQ は FQ(Fair Queue)に重み付け(Weighted)をしてパケットを
送信する動作
です。

そこで、まずは FQ の動作から解説していきましょう。

FQ はパケットにシーケンス番号を付与し、シーケンス番号の小さい
パケットから送信する動作
をします。
シーケンス番号はルータが内部的に計算して付与する番号で、
以下の式でシーケンス番号が決められています。

非activeフロー = ラウンド番号 + パケット長
activeフロー = そのフローの最大シーケンス番号 + パケット長

activeフロー非activeフローの意味は以下の通りです。

  • 非activeフロー
    キュー内部にパケットが溜まっていないフロー
  • activeフロー
    キュー内部にパケットが溜まっているフロー
  • ラウンド番号
    ラウンド番号とは、それぞれのキューに付与される番号で、
    キューにパケットが溜まっていて、かつパケットが
    出力されていない場合はラウンド番号は、「0」になります。
    仮に 500byte のパケットが送出されるとラウンド番号には
    「500」が付与されます。
    さらに続けて 400byte のパケットが送出されるとラウンド番号は
    「400」になります。
    つまり、ラウンド番号は直前に送出されたパケットのシリアル番号が
    付与されていることになるわけ。

以上を踏まえて図にしてみると以下のようになります。

 

関連記事

QoSとは
QoSの基本

QoS - クラス分類とマーキング
クラス分類とマーキングについて学んでいきましょう

QoS - それぞれの機能
QoSの3つの基本機能について

QoS - 輻輳制御 (Queueing)
輻輳制御 (Queueing)についての解説

QoS - プライオリティ・キューイング(PQ)
プライオリティ・キューイングについての解説

QoS - カスタムキューイング(Custom queueing)
カスタム・キューイングについての解説

QoS - カスタムキューイング(Custom queueing)その2
カスタム・キューイングについての解説

QoS - WFQ(Weighted Fair Queue)その1
WFQ(Weighted Fair Queue)についての解説

QoS - WFQ(Weighted Fair Queue)その2
WFQ(Weighted Fair Queue)についての解説

QoS - IP Precedence
IP Precedenceについての解説

QoS - DSCP
DSCPについての解説

QoS - CBWFQ
CBWFQについての解説

QoS - LLQ (Low Latencey Queuing)
LLQについての解説

QoS - WRED(Weighted Random Early Detection)
WREDについての解説

QoS - ポリシングとシェーピング
ポリシングとシェーピングについての解説

QoS - GTS(Generic Traffic Shaping)
GTSについての解説

メールマガジン

ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!

「初心者にも理解できるネットワーク技術」

これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

もちろん無料です!!

↓メールマガジン購読はこちら↓

メールアドレス: