TOSベースQoS

$Date: 2023/07/06 20:30:27 $

TOSベースQoS制御設定を行う場合の参考情報です。

QoSの総合的な情報及びBRI/PRI回線インタフェースで優先制御/帯域制御 を行う場合の情報は、 RTシリーズのFAQ / Queue をご参照ください。

LANインタフェースの優先制御については 優先制御のページ を、帯域制御については 帯域制御のページ をご参照ください。

DiffServベースQoSについては DiffServベースQoSのページ をご参照ください。


対応機種とファームウェアリビジョン

機種 ファームウェア
vRX VMware ESXi版 すべてのリビジョン
vRX Amazon EC2版
RTX3510
RTX1300
RTX1220
RTX830
NVR700W
RTX1210
RTX5000
RTX3500
FWX120
RTX810
RTX1200
SRT100
RTX3000
RTX1100
RTX1500

動作概要

TOSベースQoSは、転送するパケットのIPヘッダのTOSフィールド中の3ビッ トのprecedence値を参照し、precedence値に応じてパケットをクラス分 けするQoSです。分けられた各クラスはスケジューラで優先制御もしくは シェーピング、Dynamic Traffic Control、CBQなどによる帯域制御により 利用できます。

QoSの動作模式図

図: QoSの動作模式図

TOSフィールド

bit0 bit1 bit2 bit3 bit4 bit5 bit6 bit7
precedence TOS 0

TOSベースQoS設定は、クラス分けのためのフィルタを設定するqueue class filter コマンドでCLASSパラメータにクラス番号(1-8)の代わりに "precedence"を設定します。

TOSベースQoSは、LANインタフェース、LANインタフェース上に設定さ れたPPPoE インタフェースとトンネルインタフェース、およびBRI/PRI 回線上のPPインタフェースでのみ機能します。


コマンド仕様

クラス分けのためのフィルタ設定

[書式]
queue class filter NUM CLASS [cos=COS] ip SRC_ADDR [DEST_ADDR [PROTOCOL [SRC_PORT [DEST_PORT]]]]

queue class filter NUM precedence [mapping=PREC:CLASS[,PREC:CLASS...]] [cos=COS] ip SRC_ADDR [DEST_ADDR [PROTOCOL [SRC_PORT [DEST_PORT]]]]

queue class filter NUM dscp [cos=COS] ip SRC_ADDR [DEST_ADDR [PROTOCOL [SRC_PORT [DEST_PORT]]]]

no queue class filter NUM [...]
[設定値]
NUM ... クラスフィルタの識別番号(1〜100)
CLASS ... クラス(RTX3510: 1〜250; vRX VMware ESXi版、vRX Amazon EC2版、RTX5000、RTX3500、RTX3000: 1〜100; 他の機種: 1〜16)
PREC ... precedence値(0〜7)
COS ... COS値
  • 0〜7の整数
  • precedence ... 転送するパケットのTOSのprecedence(0-7)を ToS-CoS変換としてCOS値に格納する
SRC_ADDR ... IPパケットの始点アドレス
  • IPアドレス
    • xxx.xxx.xxx.xxx (xxxは十進数)
      • 上記表記でxxxを*とすると、該当する8ビット分についてはすべての値に対応する
    • IPv6 アドレス
    • 間に - を挟んだ 2 つの上項目、- を前につけた上項目、- を後ろにつけた上項目、これらは範囲を指定する。
    • , を区切りとして複数設定することができる。
  • FQDN
    • 任意の文字列 (半角 255 文字以内。/ : は使用できない。, は区切り文字として使われるため、使用できない)
    • * から始まる FQDN は * より後ろの文字列を後方一致条件として判断する
      例えば *.example.co.jp は www.example.co.jp 、mail.example.co.jp などと一致する
    • 間に - を挟んだ 2 つの上項目、- を前につけた上項目、- を後ろにつけた上項目、これらは範囲を指定する。
    • , を区切りとして複数設定することができる。
  • * (ネットマスクの対応するビットが8ビットとも0と同じ。すべてのIPアドレスに対応)
DEST_ADDR ... IPパケットの終点アドレス
  • SRC_ADDRと同じ形式
  • 省略した場合は一個の*と同じ
PROTOCOL ... フィルタリングするパケットの種類
  • プロトコルを表す十進数
  • プロトコルを表すニーモニック
    ─────────
    icmp1
    tcp6
    udp17
    ─────────
  • 上項目のカンマで区切った並び(5個以内)
  • *(すべてのプロトコル)
  • established
  • 省略時は*と同じ
SRC_PORT ... UDP、TCPのソースポート番号
  • ポート番号を表す十進数
  • ポート番号を表すニーモニック(一部)
    ──────────
    ftp20,21
    ftpdata20
    telnet23
    smtp25
    domain53
    gopher70
    finger79
    www80
    pop3110
    sunrpc111
    ident113
    ntp123
    nntp119
    snmp161
    syslog514
    printer515
    talk517
    route520
    uucp540
    ──────────
  • 間に-をはさんだ2つ上項目、-を前につけた上項目、-を後 につけた上項目、これらは範囲を指定する
  • 上項目のカンマで区切った並び(10個以内)
  • * (すべてのポート)
  • 省略時は*と同じ
DEST_PORT ... UDP、TCPのデスティネーションポート番号
[説明]
クラス分けのためのフィルタを設定する。

precedence形式の場合、フィルタに合致したパケットは、そのパケッ トのIPヘッダのprecedence値に応じたクラスに分けられる。

precedence値からクラスへの変換は、mappingオプションにより指定 できる。例えば、以下の例ではprecedence値=1をクラス8に、 precedence値=4をクラス3に変換する。

queue class filter 1 precedence mapping=1:8,4:3 ip *
	

mappingオプション全体を省略した場合、あるいはmappingオプショ ンは指定しているものの、その中で記述しなかったprecedence値に ついては以下の表のような変換が行われる。

precedence値 0 1 2 3 4 5 6 7
クラス 1 2 3 4 5 6 7 8

precedence形式はvRX VMware ESXi版、vRX Amazon EC2版、RTX5000、RTX3510、RTX3500、RTX3000、RTX1500、RTX1300、RTX1220、RTX1210、RTX1200、RTX1100、RTX830、RTX810、FWX120とSRT100で指定可能である。 mappingオプションはvRX VMware ESXi版、vRX Amazon EC2版、RTX5000、RTX3510、RTX3500、RTX3000、RTX1300、RTX1220、RTX1210、RTX1200、RTX1100、RTX830、RTX810、FWX120とSRT100で指定可能である。

dscp形式の場合、フィルタに合致したパケットは、そのパケットの IPヘッダのDSCP値に応じたクラスに分けられる。

dscp形式はvRX VMware ESXi版、vRX Amazon EC2版、RTX5000、RTX3510、RTX3500、RTX3000、RTX1500、RTX1300、RTX1220、RTX1210とRTX1200で指定可能である。

COS値の指定を行なうと、フィルタに合致したパケットに付加される IEEE802.1Qタグのuser_priorityフィールドには、指定したCoS 値が 格納される。COSにprecedenceを指定した場合、そのパケットのIPヘッ ダのprecedence値に対応する値がuser_priorityフィールドに格納さ れる。

COS値はvRX VMware ESXi版、vRX Amazon EC2版、RTX5000、RTX3510、RTX3500、RTX3000、RTX1500、RTX1300、RTX1220、RTX1210、RTX1200、RTX1100、RTX830、RTX810、FWX120とSRT100で指定可能である。

パケットフィルタに該当したパケットは、指定したクラスに分類さ れる。このコマンドで設定したフィルタを使用するかどうか、ある いはどのような順番で適用するかは、各インタフェースにおける queue INTERFACE class filter listコマンドで設定する。


設定例

優先制御: LAN2側の送出速度を3Mbit/sとしUDPパケットをTOSベースQoS の対象とする

queue lan2 type priority 優先制御を使用します
speed lan2 3m 送出帯域を3Mbit/sに制限します
queue class filter 1 precedence ip * * udp * * TOSベースQoSの対象となるパケットのフィルタを定義します
queue lan2 class filter list 1 クラス分けフィルタをLAN2に適用します

優先制御: PPPoEで接続するLAN2側の送出速度を3Mbit/sとしUDPパケット をTOSベースQoSの対象とする

PPPoEでカプセル化される前のPPインタフェースでTOSベースQoSによるク ラス分けを行い、出力直前のLAN2インタフェースのキューで優先制御を 行います。

queue lan2 type priority 優先キューを使用します
speed lan2 3m 送出帯域を3Mbit/sに制限します
pp select 1 QoS設定を行なうPPインタフェースを指定します
pppoe use lan2 LAN2でPPPoEを使用します
queue class filter 1 precedence ip * * udp * * TOSベースQoSの対象となるパケットのフィルタを定義します
queue pp class filter list 1 フィルタをPPインタフェースに適用します
pp enable 1  

優先制御: IPsecトンネルで接続するLAN2側の送出速度を3Mbit/sとし UDPパケットをTOSベースQoSの対象とする

IPsecでカプセル化される前のトンネルインタフェースでTOSベースQoSに よるクラス分けを行い、出力直前のLAN2インタフェースのキューで優先 制御を行います。

queue lan2 type priority 優先キューを使用します
speed lan2 3m 送出帯域を3Mbit/sに制限します
tunnel select 1 QoS設定を行なうトンネルインタフェースを指定します
queue class filter 1 precedence ip * * udp * * TOSベースQoSの対象となるパケットのフィルタを定義します
queue tunnel class filter list 1 暗号化前のトンネルインタフェースに適用します
ipsec sa policy ..... anti-replay-check=off 受信時にシーケンス番号のチェックを行ないません
tunnel enable 1  

帯域制御: クラス1に1Mbit/s、クラス2に2Mbit/s、クラス3-8に3Mbit/s の帯域を割り当てる

queue lan2 type shaping 帯域制御キューを使用します
speed lan2 21m 送出帯域を21Mbit/sに制限します
queue lan2 class property 1 bandwidth=1m クラス1に1Mbit/sを割り当てます
queue lan2 class property 2 bandwidth=2m クラス2に2Mbit/sを割り当てます
queue lan2 class property 3 bandwidth=3m クラス3に3Mbit/sを割り当てます
queue lan2 class property 4 bandwidth=3m クラス4に3Mbit/sを割り当てます
queue lan2 class property 5 bandwidth=3m クラス5に3Mbit/sを割り当てます
queue lan2 class property 6 bandwidth=3m クラス6に3Mbit/sを割り当てます
queue lan2 class property 7 bandwidth=3m クラス7に3Mbit/sを割り当てます
queue lan2 class property 8 bandwidth=3m クラス8に3Mbit/sを割り当てます
queue class filter 1 precedence ip * * udp * * TOSベースQoSの対象となるパケットのフィルタを定義します
queue lan2 class filter list 1 クラス分けフィルタをLAN2に適用します

参考情報