Meraki MX トラフィックシェーピングとQoS設定について

今回はMeraki MXにおけるQoS設定とその動作についてまとめておきます。

それぞれについてMeraki MXがどう動くのでしょうか?

トラフィックシェーピング

WAN1、WAN2ともに有効の場合、それぞれの「アップリンクの設定」にて設定されている帯域の比率に基づいてそれぞれに配分されます。
例えば、WAN1を400Mbps、WAN2を100Mbpsとした場合、4:1の比率でそれぞれのWAN Portに分配されることになります。

この配分はPacket単位ではなくフロー単位で行われます。
WAN1に分配されたフロー(パケット)に関してはそのフローが完了するまでWAN1に転送され続けます。

優先制御

Meraki MXには4つのキューを持っています。
Low-Latency(低遅延)、高、ノーマル、低の4つとなります。
Low-Latencyキュー(LLQ)は特殊なキューとなっており、DSCP値がEF(Expendited Forwarding)の場合に自動で適用されます。
LLQ以外の高、ノーマル、低の3つのキューはそれぞれに重み付けがされています。

  • 高:4
  • ノーマル:2
  • 低:1

となっており、例えば「高」キューは4/7の帯域の確保が可能になります。
上記トラフィックシェーピングの例ではWAN1には400Mbpsで設定されていますので、「高」キューにおいては、400Mbps x 4/7 = 約228Mbpsの帯域の設定となります。

トラフィックをキューへ割り当て

上記の通りDSCPがEFの場合は自動で適用されるので設定は不要なのですが、それ以外のトラフィックは設定を行う必要があります。

セキュリティ&SD-WAN > 設定 > SD-WAN&トラフィックシェーピング」へ移動します。
Meraki MXではデフォルトでトラフィックシェーピングルールが適用されていますが、(無意味なので)設定を無効にします。

このデフォルト設定ではNBARで分類されるアプリケーション特性によってDSCP値のリマークが行われてしまいます。
個人的にはDSCP値はクライアントがしている値を信頼することが重要だと思っていますのでこの設定は外しておいた方が良いと思います。

無効にした後にルールを作成していきます。

定義」ではトラフィックをキューにマップするためのACLを設定します。
この設定は、Dest IP、Port#、もしくはNBARによるApplication毎の設定が可能です。
Source IP、Port#、DSCP値による設定ができないので注意が必要です。
本当であれば、クライアントからマーキングされてくるDSCP値によってどのキューを使うのか定義するのが一番楽なのですができないの仕方ありません。

ACLの設定が終われば「優先順位」の設定を行います。
優先順位は上記で解説した「高、ノーマル、低」の3つのキューとなります。

ACLに引っかからないトラフィックは全てノーマルキューに入りますので、

上記のような設定を行うと良いと思います。

基本的にはDSCP値のリマークは不要だと思いますが、アプリケーションによってはDSCP値のマークがされないこともありますので強制的にマーキングしても良いと思います。

まとめ

今回はMeraki MXのQoS設定を簡単にまとめました。
MXの動作を図にまとめると、

このようになります。
それぞれのキューで厳密な帯域設定が出来るわけではないのですが、そもそもMXの先はInternetである場合がほとんどだと思いますので、少なくともMXからは優先制御されてパケットは送信されるといったレベル感で設定して試してみると良いと思います。

documentation.meraki.com