CBQ(帯域制御・優先制御)
QoS(Quality of Service)としてCBQ(Class-Based Queueing)による帯域制御及び優先制御機能を提供します。
機能 | IPv4 | IPv6 |
---|---|---|
CBQ | 対応 | 対応 |
CBQ機能概要
CBQを使用すると、ネットワークのパフォーマンス向上のためネットワーク資源を計画的に割り当て、帯域制御/優先制御を行なうことができます。
CBQ(Class-Based Queueing)による帯域制御
CBQとは、トラフィックをデータのパターンによってクラスと呼ばれる単位に分類し、クラスごとにパケットをキューイングしながらスループットを監視して、各クラスが占める帯域を調整するための仕組みです。
1つのリンクを共有する複数のトラフィックに、帯域という観点からネットワーク資源を計画的に分配します。
WAN側とLAN側の回線速度が異なる場合など、帯域のボトルネックとなる箇所で、特定の通信に対して優先的に帯域を確保するといった処理が可能です。 この特性上、CBQはインタフェースからの送信トラフィックについてのみ制御を行います
トラフィックのクラス分けと帯域の割り当て
CBQでは、トラフィックの特性を考慮してクラスを構成(クラス分けフィルタにより振り分ける)し、クラスごとに帯域を割り当てます。また、クラスは階層構造を持たせることができます。
帯域は全体を100%として0.1%刻みで割り当てることができます。また、100%として扱う実帯域は、100Mbpsまたは10Mbpsを選択できます(インタフェースのリンク速度に依存しません)。
クラス名"default"は最上位のクラスとして予約されています。
- NAT/NAPT
- NAT/NAPT適用前のパケットの情報によってクラス分けを行います。
- IPsec, IP-IP, L2TPv3
- 暗号化やカプセル化前のパケットの情報によってクラス分けを行います。
クラス間での帯域の貸し借り
同一の親クラス配下のクラス間では、兄弟クラスの帯域に余裕がある場合に帯域を借りることができます。
これにより、ピーク時の占有帯域割り当てを確保しつつ、余剰帯域を効率的に活用することができます。
帯域を借りない設定(borrow off)とする場合には帯域は固定となり、他のクラスの帯域が空いていても、割り当て以上の帯域は使用しません。
優先制御
CBQのクラスには送信の優先度を設定することができます。割り当てられた帯域内で、優先度の高いクラスに振り分けられたパケットから送信します。
クラスに設定する優先度はインタフェースの送信キューを制御するものであり、イーサネットフレームのサービス・タイプ(ToS)フィールドと直接の関係性はありませんが、 ToSフィールドによりクラス分けすることで、EhternetフレームのToSフィールドによる優先制御が可能です。
クラス分けフィルタ
帯域を区分けしたクラスにトラフィックを割り当てるクラス分けフィルタは、次のような条件を定義できます。
- カテゴリ
- イーサネットフレーム, IPv4/IPv6パケット
- VLAN ID
- ブリッジするフレームのVLAN ID(範囲指定可能)
- VLAN Priority
- ブリッジするフレームのVLAN Priority(範囲指定可能)
- フレーム長
- FCSを含まないフレーム長(範囲指定可能)
- MACタイプ
- LLC/SNAPはLLCヘッダのMACタイプ
- パケット長
- IPヘッダを含むパケット長(範囲指定可能)
- プロトコル
- TCP, TCP-ACK, UDP, ICMP, IGMP, Protocol Number
- 送信元アドレス, 送信元ポート番号
- サブネットマスクによるネットワーク指定, ポート番号は範囲指定可能
- 送信先アドレス, 送信先ポート番号
- サブネットマスクによるネットワーク指定, ポート番号は範囲指定可能
- ToSフィールド
- 8ビットの値とマスクによる指定。 ToSフィールドの値とマスクとの論理積が指定した値と一致すれば一致する。
- コンフィグ記述上の先頭行が最も優先度が高い
CBQを適用可能なインタフェース
- 物理インタフェース
- lan0-lan2 インタフェースに適用できます。lan3-lan5 インタフェースに適用できません。
- 仮想インタフェース
-
PPPoEやL2TPv3等の仮想インタフェースのトラフィックは、パケットが送信される物理インタフェース(LANインタフェース)上のトラフィックとして制御可能です。
パケットは、PPPoE等でのカプセル化前の情報(プロトコルやポート番号)に基づきクラス分けフィルタが適用されます。