重み付け制御設定(WRR)¶
動作確認バージョン: | vSRX Version22.4R1 |
---|
ここでは、出力インターフェイスの帯域設定を超過した場合に、トラフィックを任意の比率で送信する重みづけラウンドロビン(WRR:Weighted Round Robin)の設定を紹介します。
特定の送信元IPアドレスの通信を出力インターフェイスにて2:1にする設定¶
サンプル設定のシナリオ
- インターフェイス(ge-0/0/1)の制限帯域は10Mbpsにしたい
- サーバーインスタンス(192.168.1.11)からの通信を、サーバーインスタンス(192.168.3.13)からの通信に対して2倍の量を出力させたい
- インターフェイス(ge-0/0/1)で10Mbpsを超過した場合に適用したい
シナリオにおける設定のながれ
トラフィックの入力インターフェイスでパケットを分類ができるようにしておき、出力インターフェイスで割合による出力を設定するながれです。
1.サーバーインスタンス(192.168.1.11)からの通信に対するフィルタ名 QOS_STRICT を作成
2.サーバーインスタンス(192.168.3.13)からの通信に対するフィルタ名 QOS_AF を作成
3.送信元IPアドレス192.168.1.0/24に該当する通信(パケット)は、Forwarding classを expedited-forwarding にして QOS_STRICT に設定
4.送信元IPアドレス192.168.3.0/24に該当する通信(パケット)は、Forwarding classを assured-forwarding にして QOS_AF に設定
5.インターフェイス(ge-0/0/0)および(ge-0/0/2)で上記フィルタを適用
6.Forwarding class の expedited-forwarding を PRIORITY_HIGH とし割合40%を設定
7.Forwarding class の assured-forwarding を PRIORITY_LOW として割合20%を設定
8.上記で作成したスケジューラをスケジュールマップ名 SCHE に設定
9.スケジューラマップ SCHE は帯域上限値を10Mbpsに設定
10.インターフェイス(ge-0/0/1)はスケジューラ動作させる設定
CLIにて入力するコマンド
user01@vSRX-02# set firewall filter QOS_STRICT term 1 from source-address 192.168.1.0/24
user01@vSRX-02# set firewall filter QOS_STRICT term 1 then loss-priority low
user01@vSRX-02# set firewall filter QOS_STRICT term 1 then forwarding-class expedited-forwarding
user01@vSRX-02# set firewall filter QOS_STRICT term 1 then accept
user01@vSRX-02# set firewall filter QOS_STRICT term 2 then accept
user01@vSRX-02# set firewall filter QOS_AF term 1 from source-address 192.168.3.0/24
user01@vSRX-02# set firewall filter QOS_AF term 1 then loss-priority high
user01@vSRX-02# set firewall filter QOS_AF term 1 then forwarding-class assured-forwarding
user01@vSRX-02# set firewall filter QOS_AF term 1 then accept
user01@vSRX-02# set firewall filter QOS_AF term 2 then accept
user01@vSRX-02# set interfaces ge-0/0/0 unit 0 family inet filter input QOS_STRICT
user01@vSRX-02# set interfaces ge-0/0/2 unit 0 family inet filter input QOS_AF
user01@vSRX-02# set class-of-service schedulers PRIORITY_HIGH transmit-rate percent 40
user01@vSRX-02# set class-of-service schedulers PRIORITY_HIGH priority low
user01@vSRX-02# set class-of-service schedulers PRIORITY_LOW transmit-rate percent 20
user01@vSRX-02# set class-of-service schedulers PRIORITY_LOW priority low
user01@vSRX-02# set class-of-service scheduler-maps SCHE forwarding-class expedited-forwarding scheduler PRIORITY_HIGH
user01@vSRX-02# set class-of-service scheduler-maps SCHE forwarding-class assured-forwarding scheduler PRIORITY_LOW
user01@vSRX-02# set class-of-service interfaces ge-0/0/1 unit 0 scheduler-map SCHE shaping-rate 10m
user01@vSRX-02# set class-of-service interfaces ge-0/0/1 unit 0 rewrite-rules dscp default
user01@vSRX-02# set interfaces ge-0/0/1 per-unit-scheduler
正しく設定が完了したときのコンフィグレーションは次のとおりです。
interfaces {
ge-0/0/0 {
unit 0 {
family inet {
filter {
input QOS_STRICT;
}
address 192.168.1.102/24;
}
}
}
ge-0/0/1 {
per-unit-scheduler;
unit 0 {
family inet {
address 192.168.2.102/24;
}
}
}
ge-0/0/2 {
unit 0 {
family inet {
filter {
input QOS_AF;
}
address 192.168.3.102/24;
}
}
}
}
class-of-service {
interfaces {
ge-0/0/1 {
unit 0 {
scheduler-map SCHE;
shaping-rate 10m;
rewrite-rules {
dscp default;
}
}
}
}
scheduler-maps {
SCHE {
forwarding-class expedited-forwarding scheduler PRIORITY_HIGH;
forwarding-class assured-forwarding scheduler PRIORITY_LOW;
}
}
schedulers {
PRIORITY_HIGH {
transmit-rate percent 40;
priority low;
}
PRIORITY_LOW {
transmit-rate percent 20;
priority low;
}
}
}
firewall {
filter QOS_STRICT {
term 1 {
from {
source-address {
192.168.1.0/24;
}
}
then {
loss-priority low;
forwarding-class expedited-forwarding;
accept;
}
}
term 2 {
then accept;
}
}
filter QOS_AF {
term 1 {
from {
source-address {
192.168.3.0/24;
}
}
then {
loss-priority high;
forwarding-class assured-forwarding;
accept;
}
}
term 2 {
then accept;
}
}
}
動作確認結果
以下の検証結果ログから、制限帯域 (10Mbps)を超過するように2台のサーバーインスタンス(192.168.1.11,192.168.3.13)からトラフィックを同時に印加し、出力の割合が2:1になっているためWRRのルールに従ってパケットが転送されていることが確認できました。
vSRXのインターフェイス(ge-0/0/1)での出力状況
user01@vSRX-02> show interfaces queue ge-0/0/1
Physical interface: ge-0/0/1, Enabled, Physical link is Up
Interface index: 136, SNMP ifIndex: 520
Forwarding classes: 8 supported, 4 in use
Egress queues: 8 supported, 4 in use
Queue: 0, Forwarding classes: best-effort
(中略)
Queue: 1, Forwarding classes: expedited-forwarding
Queued:
Packets : 51026 0 pps
Bytes : 77151312 0 bps
Transmitted:
Packets : 33575 0 pps
Bytes : 50765400 0 bps
Tail-dropped packets : 17451 0 pps
RL-dropped packets : 0 0 pps
RL-dropped bytes : 0 0 bps
RED-dropped packets : 0 0 pps
Low : 0 0 pps
Medium-low : 0 0 pps
Medium-high : 0 0 pps
High : 0 0 pps
RED-dropped bytes : 0 0 bps
Low : 0 0 bps
Medium-low : 0 0 bps
Medium-high : 0 0 bps
High : 0 0 bps
Queue Buffer Usage:
Reserved buffer : 625000 bytes
Queue-depth bytes :
Current : 0
Queue: 2, Forwarding classes: assured-forwarding
Queued:
Packets : 51025 0 pps
Bytes : 77149800 0 bps
Transmitted:
Packets : 16909 0 pps
Bytes : 25566408 0 bps
Tail-dropped packets : 34116 0 pps
RL-dropped packets : 0 0 pps
RL-dropped bytes : 0 0 bps
RED-dropped packets : 0 0 pps
Low : 0 0 pps
Medium-low : 0 0 pps
Medium-high : 0 0 pps
High : 0 0 pps
RED-dropped bytes : 0 0 bps
Low : 0 0 bps
Medium-low : 0 0 bps
Medium-high : 0 0 bps
High : 0 0 bps
Queue Buffer Usage:
Reserved buffer : 625000 bytes
Queue-depth bytes :
Current : 0
Queue: 3, Forwarding classes: network-control
(省略)
サーバーインスタンス(192.168.1.11)からサーバーインスタンス(192.168.2.12)あてに10MbpsのTrafficを印加した時のログ
サーバーインスタンス(192.168.3.13)からサーバーインスタンス(192.168.2.14)あてに10MbpsのTrafficを印加した時のログ