Meraki MS QoS設定について

前回はMeraki MRのDSCPマーキングの方法についてまとめましたが、今回はMeraki MSのQoS設定方法についてまとめたいと思います。
MSのQoSに関してはMeraki Documentを読んでみても少し分かりにくく毎回少し悩ましいのです。

Meraki MSのQoSデフォルト設定

Meraki MSはデフォルトではQoSは無効の状態になっています。
QoSが無効にの状態では全てのパケットがFIFOで転送されます。
スイッチ > 設定 > スイッチ設定」へ移動します。
「サービス品質(QoS)」にてQoS設定が定義されていないことが確認できます。

Meraki MSが持つキューについて

Meraki MSは型番を問わず全ての製品で0〜5の合計6つのキューを持っています。
このキューはL2のCoS(Class of Service)に紐づいたキューとなっており、Meraki Dashboard設定やMeraki DocumentにもCosという言葉で扱われています。
確かに内部的にL2としてCoSと紐付いているのでしょうが、この記載が少し混乱してしまうので一旦忘れて良いと個人的には思っています。

キューの重み付けについて

6つ所有するキューは重み付けがされます。
CoS#はキューの番号と考えて良いです。

CoS# 0 1 2 3 4 5

Weight

1 2 4 8 16 32

例えばCoS#3は重み付けが8でCoS#2が4、CoS#0は1といった感じです。
CoS#3、#1、#0を有効としたQoS設定を行なった場合、
CoS#3は"8 / (8 + 4 + 1)"で計算され、帯域の62%の確保ができるということになります。
Cos#2は同様に"4 / (8 + 4 + 1)"となり30%、CoS#0は1 / (8 + 4 + 1)"で8%となります。

よって、1Gbpsの回線においては、
CoS#3にキューイングされたパケットは輻輳時に620Mbpsを、CoS#2は300Mbps、CoS#0は80Mbpsの帯域が確保できるということになるのです。

QoS設定

上記のキュー毎の重み付けによる輻輳時の帯域の割り当てが理解できたら実際にQoS設定を行なっていきます。
スイッチ > 設定 > スイッチ設定」へ移動します。
このネットワークのQoSルールを追加」からQoS設定を行います。

まず最初にDSCP値とキューのマッピングを行います。
DSCPをCoSマップに編集」をクリックし編集します。

デフォルトで設定されているDSCP値とそのDSCP値を持ったパケットがキューイングされるCoS#(キューの番号)一覧が表示されます。
実際にNetworkに流れるDSCP値と上記重み付けを考慮しながらキューイングさせたいキューの番号を設定しきます。
不要なDSCP値に関しては削除を行なってください。
このリストに該当しないDSCP値のパケットはCoS#0(重み付け1)として扱われます。

DSCP値とキューイングさせたいキューの番号のリストが作成出来たら、次に実際のQoS設定を行います。

多くの場合はクライアント自体でDSCP値のマーキングがされると思いますので、Meraki MSにてDSCP値を付け替える必要は無いかと思います。
その場合には、「着信DSCPを信頼」としてMeraki MSのポートに入ってきたパケットにあるDSCP値を上で設定したキューマップと照らし合わせてキューイングされることになります。

また、アプリケーションによっては上記キューマップにマッチしないDSCP値がマーキングされてしまう場合があります。
その場合は、Meraki MSにてDSCP値を変更することが可能です。
VLAN、TCP or UDP、送信元ポート、送信先ポートで条件を設定し、再設定したいDSCP値を設定します。

まとめ

Merakiはよくシンプルであるが故にQoSのような複雑な設定は出来ないと思われることがあります。
本日の設定のようにMeraki MS LAN SwitchにおいてもQoSの設定が可能となっており、企業にとって重要なアプリケーションの通信を担保することが可能になります。
しかしながら、個人的にはLAN SwitchにおけるQoS設定はお守りのようなものだと思っており、Campus Network(LAN)内で輻輳が発生するような状況は好ましく無いと思っています。
随時トラフィックの流量を確認することは重要で輻輳が発生しQoSに頼らざろうえない状況になった場合は10Gbps化等帯域の増速を速やかに行うことをお勧めします。

documentation.meraki.com