QoS(Quality of Service)が正しく動作していないと、遅延・輻輳・帯域逼迫により VoIP や業務アプリが不安定になります。本記事では、QoS が「効かない」典型原因と、現場で実際に使用される検証手順、show コマンドの例を交えて分かりやすく解説します。
目次
■ QoSが効かない代表的な原因まとめ
- 分類(Classify)が間違っている … ACL / DSCP / ポート判定のズレ
- マーキング(Marking)が適切に付与されていない … DSCP の書き換え漏れ
- ポリシー適用方向が誤り … inbound / outbound の取り違え
- キュー割り当てが誤り … 優先キューに流れていない
- インターフェースで QoS が有効化されていない
- ハードウェアキューに依存(特にスイッチ)
- トラフィック量が足りず、キュー動作が確認できていない
■ 【ステップ別】QoS が効かない時の確認手順
STEP1:QoS ポリシーがインターフェースに適用されているか確認
show policy-map interface
結果例:
GigabitEthernet0/0
Service-policy output: OUT-QOS-POLICY
Class-map: VOICE (match-any)
5000 packets, 400000 bytes
Match: dscp ef
Queueing
Output Queue: priority
Priority: 50% (500 kbps), bursts 1500 bytes
(total drops 0)
Class-map: BULK-DATA
30000 packets, 4000000 bytes
Match: access-group 101
Queueing
bandwidth 20%
確認ポイント:
- 狙った class-map が当たっているか?
- priority キューや帯域制御が適用されているか?
STEP2:トラフィック分類(class-map)が正しくマッチしているか
特に DSCP、ACL、ポート番号がズレているケースが多いです。
show class-map VOICE
Class Map: VOICE (match-any)
Match dscp ef
DSCP ef のパケットが本当に流れているか確認:
show policy-map interface | include VOICE
もしカウンタが 0 の場合:
- アプリ側が DSCP を付けていない
- 途中の FW/ルータで DSCP が消されている
- ACL が誤っている
STEP3:マーキング(DSCP)が正しく付与されているか確認
QoS は分類よりマーキングの問題が多いです。
show policy-map MARKING-POLICY
パケットキャプチャで DSCP を直接確認するのも有効:
tcpdump -vvv -i eth0
結果例:
IP tos 0xb8 (DSCP EF), TTL=63
→ EF が付いていれば OK
STEP4:キュー(queue)が正しく動作しているか確認
キューの使用状況やドロップ数を確認します。
show queuing interface g0/0
結果例:
Interface Gig0/0 queue stats:
Priority queue: 200 packets, 0 drops
Queue 1: 3000 packets, 20 drops
Queue 2: 400 packets, 0 drops
ポイント:
- priority queue が増えている → 優先制御が効いている
- ドロップがあれば輻輳が発生している
STEP5:インターフェース設定の確認(QoS が有効か)
スイッチでは QoS をグローバルで有効にする必要があります。
show running-config | include qos
例:
mls qos
mls qos trust dscp
→ trust が無い場合、DSCP が 0 に書き換えられ QoS が効かない
STEP6:意図的に負荷をかけてキューの動作を検証
トラフィック量が少ないと QoS を確認できません。 iperf3 などで意図的に帯域を使用します。
iperf3 -c 192.168.1.10 -u -b 100M -t 30
この状態で再度下記を確認:
show policy-map interface
show queuing interface g0/0
キューのカウンタが動いていれば QoS が正しく機能しています。
■ よくある原因と対策(まとめ)
| 原因 | 症状 | 対策 |
|---|---|---|
| DSCP が消されている | class-map がマッチしない | FW / Switch の trust 設定を見直す |
| ACL の誤り | 別クラスに分類される | ACL の方向と一致条件をチェック |
| ポリシー適用方向ミス | カウンタが動かない | out/in の方向を確認 |
| トラフィックが少ない | キュー動作が見えない | iperf 等で意図的に負荷をかける |
■ まとめ
QoS が効かない場合は、以下の順に確認すると最短で原因にたどり着けます。
- インターフェースにポリシーが正しく適用されているか
- class-map にマッチしているか(カウンタを確認)
- DSCP が適切に設定・維持されているか
- キューが想定通り動作しているか
- スイッチや FW の trust 設定
- 意図的な負荷をかけて再検証
これらを押さえておけば、現場で QoS トラブルに遭遇しても迅速に原因を特定し、解決へと導けます。
あわせて読みたい


QoS(Quality of Service)とは何か?帯域制御の基本を徹底解説
ネットワークが混雑したとき、音声通話が途切れたり、動画がカクついた経験はありませんか? それを防ぐ仕組みがQoS(Quality of Service)=通信品質の制御です。 この…
あわせて読みたい


QoSポリシー設計と運用トラブルの実例【原因と改善方法】
QoS(Quality of Service)は、ネットワーク上の通信に優先順位をつけ、音声・映像・業務アプリなどの重要トラフィックを安定して流すための仕組みです。 しかし、設計…
あわせて読みたい


QoS設計と実装事例【音声・映像通信を安定させる設定と検証手順】
企業ネットワークでは、Web会議、IP電話、監視カメラなどのリアルタイム通信が増加し、通信品質を安定させる QoS(Quality of Service)の重要性が高まっています。QoS …
