優先度設定(DSCP値のマーキング)

動作確認バージョン: vSRX Version15.1X49-D105.1, vSRX Version19.2R1.8

ここでは、帯域制御の機能でトラフィック制御するために利用されるDSCP値のマーキング設定を紹介します。

特定の送信元IPアドレスのパケットにDSCP値をマーキングする設定

サンプル設定のシナリオ

  • インターフェイス(ge-0/0/2)から送出されるトラフィックに対して設定したい
  • 仮想サーバ(192.168.2.12)からのトラフィックをDSCP値EFでマーキングしたい
  • 仮想サーバ(192.168.2.202)からのトラフィックをDSCP値AF12でマーキングしたい
vsrx_marking_fig1

シナリオにおける設定のながれ

1.ファイアウォールに FC-change というフィルタを作成
2. FC-change で送信元IPアドレスが仮想サーバ(192.168.2.12/32)の場合Forwarding classを expedited-forwarding に設定
3. FC-change で送信元IPアドレスが仮想サーバ(192.168.2.12/32)の場合Loss priorityを low に設定し転送する設定
4. FC-change で送信元IPアドレスが仮想サーバ(192.168.2.202/32)の場合Forwarding classを assured-forwarding に設定
5. FC-change で送信元IPアドレスが仮想サーバ(192.168.2.202/32)の場合Loss priorityを high に設定し転送する設定
6.インターフェイス(ge-0/0/1)に FC-change を適用
7.インターフェイス(ge-0/0/2)にDSCP値をマーキングする設定

注釈

特定のForwarding classを設定している場合に、マーキングするDSCP値があらかじめ設定されたデフォルトのルール dscp-default があります。こちらのチュートリアルでは dscp-default ルールをDSCP値のマーキング設定に利用しています。

Forwarding classとDSCP値の割り当てのデフォルト dscp-default ルールは以下のとおりです。

user01@vSRX-02> show class-of-service rewrite-rule
Rewrite rule: dscp-default, Code point type: dscp, Index: 31
  Forwarding class                    Loss priority       Code point
  best-effort                         low                 000000
  best-effort                         high                000000
  expedited-forwarding                low                 101110
  expedited-forwarding                high                101110       <-----EFに該当します
  assured-forwarding                  low                 001010
  assured-forwarding                  high                001100       <-----AF12に該当します
  network-control                     low                 110000
  network-control                     high                111000

  (Omitted)

CLIにて入力するコマンド

user01@vSRX-02# set firewall filter FC-change term 1 from source-address 192.168.2.12/32
user01@vSRX-02# set firewall filter FC-change term 1 then forwarding-class expedited-forwarding
user01@vSRX-02# set firewall filter FC-change term 1 then loss-priority low
user01@vSRX-02# set firewall filter FC-change term 1 then accept
user01@vSRX-02# set firewall filter FC-change term 2 from source-address 192.168.2.202/32
user01@vSRX-02# set firewall filter FC-change term 2 then forwarding-class assured-forwarding
user01@vSRX-02# set firewall filter FC-change term 2 then loss-priority high
user01@vSRX-02# set firewall filter FC-change term 2 then accept
user01@vSRX-02# set interfaces ge-0/0/1 unit 0 family inet filter input FC-change
user01@vSRX-02# set class-of-service interfaces ge-0/0/2 unit 0 rewrite-rules dscp default

正しく設定が完了したときのコンフィグレーションは次のとおりです。

interfaces {
    ge-0/0/1 {
        unit 0 {
            family inet {
                filter {
                    input FC-change;
                }
                address 192.168.2.102/24;
            }
        }
    }
    ge-0/0/2 {
        unit 0 {
            family inet {
                address 192.168.3.102/24;
            }
        }
    }
}
class-of-service {
    interfaces {
        ge-0/0/2 {
            unit 0 {
                rewrite-rules {
                    dscp default;
                }
            }
        }
    }
}
firewall {
    filter FC-change {
        term 1 {
            from {
                source-address {
                    192.168.2.12/32;
                }
            }
            then {
                loss-priority low;
                forwarding-class expedited-forwarding;
                accept;
            }
        }
        term 2 {
            from {
                source-address {
                    192.168.2.202/32;
                }
            }
            then {
                loss-priority high;
                forwarding-class assured-forwarding;
                accept;
            }
        }
    }
}

動作確認結果

以下の検証結果ログから、仮想サーバ(192.168.2.12)からのパケットはEF(46)マーキングされており、仮想サーバ(192.168.2.202)からのパケットはAF12(12)マーキングされている為、DSCPマーキングが機能していることを確認できました。

送信元仮想サーバ(192.168.2.12)からのパケットのマーキング結果確認

vsrx_marking_fig2

送信元仮想サーバ(192.168.2.202)からのパケットのマーキング結果確認

vsrx_marking_fig3