トンネルインタフェースでのQoS

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

トンネルインタフェースでQoS制御設定を行う場合の参考情報です。

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


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

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

動作概要

QoS制御では一般に、二つの処理をパケット毎に行ないます。

  1. パケットがどのクラスに該当するかの識別
  2. 該当するクラスに基づいた送出制御

トンネルインタフェース経由で暗号化された後にLANインタフェースから出力 されるパケットの場合は、まず暗号化される前にどのクラスに該当するか識別 します。その後パケットが送出される最終の物理インタフェースで送出制御を 行ないます。そのため、以下の2つの設定が必要となります。

  1. トンネルインタフェースでクラスを識別するためのクラスフィルタ
  2. LANインタフェースでQoS種別とインタフェース速度

現在のRTの実装では、暗号パケットを作成した後にQoSでパケットの順序を並 べ変えるため、受信側セキュリティゲートウェイでIPsecのシーケンス番号を チェックしている場合には、QoS制御によって順序の入れ替わったパケットが 受信時に破棄されてしまうことがあります。その時は、 DEBUGレベルのログで 以下のようなログが記録されます。

	[IPSEC] sequence difference
	[IPSEC] sequence number is wrong

この現象が発生している時には、優先されていないパケットのロスが激しい、 帯域制御で狭帯域が確保できない、といった現象になることがあります。改善 策としては、受信時のシーケンス番号チェックを行なわないようにする方法が あります。RTシリーズでは ipsec sa policy コマンドで 'anti-replay-check=off'を指定します。


設定例

優先制御: LAN2側の送出速度を3Mbit/sとしudpパケットを優先させる

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

優先制御: PPPoEで接続するLAN2側の送出速度を3Mbit/sとしudpパケットを優先させる

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

帯域制御: UDPパケットに2Mbit/s、TCPパケットに3Mbit/s、それ以外に5Mbit/sの帯域を割り当てる

queue lan2 type shaping 帯域制御キューを使用します
queue lan2 class property 1 bandwidth=2m クラス1(UDPパケット)に2Mbit/sを割り当てます
queue lan2 class property 2 bandwidth=5m クラス2(デフォルトクラス; その他のパケット)に5Mbit/sを割り当てます
queue lan2 class property 3 bandwidth=3m クラス3(TCPパケット)に3Mbit/sを割り当てます
tunnel select 1 QoS設定を行なうトンネルインタフェースを指定します
queue class filter 1 1 ip * * udp * * UDPパケットをクラス1とするフィルタを定義します
queue class filter 2 3 ip * * tcp * * TCPパケットをクラス3とするフィルタを定義します
queue tunnel class filter list 1 2 トンネル1にクラス分けフィルタを適用します
ipsec sa policy ..... anti-replay-check=off 受信時にシーケンス番号のチェックを行ないません

性能

RTX1000のトンネルQoSの性能

RTX2000のトンネルQoSの性能

RTX1500のトンネルQoSの性能


参考情報