QoS-Policy Verifikation ist der Schritt, der aus einer „konfigurierten“ QoS-Strategie eine nachweisbar wirksame Servicequalität macht. In der Praxis scheitern QoS-Projekte selten daran, dass keine Klassen existieren – sie scheitern daran, dass Klassen nicht überall greifen: DSCP-Markierungen werden an einer Firewall genullt, ein Tunnel kopiert DSCP nicht in den Outer-Header, ein Metro-Switch mappt 802.1p falsch, eine LLQ ist zwar konfiguriert, aber am falschen Interface, oder Class-Maps matchen nicht, weil Ports/Protokolle anders sind als gedacht. Das Ergebnis ist typisch: Auf einem Router sieht die Policy „sauber“ aus, aber Voice knackt trotzdem, Video ruckelt in der Busy Hour, und im Monitoring erscheinen entweder keine Treffer in den Premiumklassen oder Premium-Inflation bläht EF/LLQ so stark auf, dass das Netz instabil wird. Professionelle QoS-Policy Verifikation bedeutet daher: systematisch prüfen, ob (1) Markierungen korrekt ankommen, (2) Klassifizierung wirklich matcht, (3) Queues/Scheduler tatsächlich wie geplant arbeiten, (4) Profile und Shaper/Policer keine Echtzeitpakete zerstören, und (5) das Ganze end-to-end über alle Domänen (Access, Metro, Core, Interconnect, VPN) kohärent ist. Dieser Artikel liefert ein praxisnahes Prüfverfahren, das Sie als Runbook nutzen können – inklusive typischer Fehlersignaturen und konkreter Checks, um sicherzustellen, dass QoS-Klassen wirklich greifen.
Was bedeutet „QoS greift“ überhaupt?
„QoS greift“ ist mehr als ein grüner Konfigurationsstatus. In einem belastbaren Betrieb meint es drei Dinge gleichzeitig:
- Semantik: Ein Service (Voice, Video, Signaling, Best Effort) wird korrekt identifiziert (Markierung und Klassifizierung).
- Mechanik: Der Scheduler behandelt den Service wie vorgesehen (LLQ/CBWFQ/WFQ, Limits, Gewichte, Queue-Limits, Drop-Verhalten).
- Wirkung: Unter Last bleibt die QoE stabil (Jitter/Loss/MOS für Voice, Freeze/Bitrate-Switching für Video, Setup Times für Signaling).
Verifikation muss alle drei Ebenen abdecken. Wenn Sie nur Konfiguration prüfen, übersehen Sie Effektprobleme. Wenn Sie nur QoE prüfen, fehlt die Ursache.
Die häufigsten Gründe, warum Klassen nicht greifen
Bevor Sie prüfen, lohnt eine mentale „Fehlerlandkarte“. Die meisten QoS-Verifikationsfehler fallen in wenige Muster:
- Markierungsverlust: DSCP wird auf 0 gesetzt, CoS/VLAN-Tag geht verloren, Outer-DSCP wird nicht gesetzt.
- Falsches Mapping: DSCP→CoS→MPLS-TC ist inkonsistent; eine Domäne behandelt EF wie Best Effort.
- Match-Fehler: Class-Maps matchen nicht (Ports, Protokolle, IPv6 vs. IPv4, verschlüsselte Flows).
- Policy am falschen Interface/Richtung: QoS ist an Ingress konfiguriert, wirkt aber am Engpass-Egress – oder umgekehrt.
- Premium-Inflation: Zu viel Traffic landet in Premium; LLQ-Limit wird überfahren, Drops entstehen.
- Policer/Shaper falsch: harte Policer droppen Echtzeitbursts; Shaping fehlt am Upstream, Bufferbloat dominiert.
Ein gutes Runbook sucht diese Muster gezielt ab, statt „random“ auf Geräten zu klicken.
Verifikationsprinzip: In fünf Ebenen prüfen
Ein praxistauglicher Ablauf für QoS-Policy Verifikation lässt sich in fünf Ebenen gliedern. Jede Ebene beantwortet eine klare Frage:
- Ebene 1: Kommt die Markierung korrekt an?
- Ebene 2: Matcht die Klassifizierung wirklich (Classify-Hits)?
- Ebene 3: Greift die Scheduling- und Queue-Logik (Queueing Delay, Share, Limits)?
- Ebene 4: Greifen Profile korrekt (Shaping/Policing/Remarking) ohne Echtzeit zu zerstören?
- Ebene 5: Stimmt die End-to-End-Kohärenz über Domänen und Übergänge?
Wenn Sie diese Reihenfolge einhalten, vermeiden Sie den Klassiker: QoE ist schlecht, Sie ändern Gewichte – obwohl die Klasse gar nicht matched.
Ebene 1: Markierung verifizieren (DSCP, CoS, MPLS-TC, Outer-Header)
Die Markierung ist die „Sprache“, in der QoS arbeitet. Verifikation beginnt daher mit der Frage: Trägt der Traffic die erwarteten Marker an den relevanten Punkten?
- DSCP-Distribution: Wie viele Pakete/Bytes sind EF, Video-AF, Control, BE? Unerwartete Verteilungen sind ein Alarmzeichen.
- Ingress vs. Egress Vergleich: Bleibt DSCP unverändert? Gibt es Remarking?
- 802.1p CoS: Wird PCP korrekt gesetzt (z. B. Voice hoch), insbesondere im Metro/Access?
- MPLS-TC/EXP: Wird die Traffic Class korrekt transportiert und am Egress wieder in DSCP übersetzt?
- Tunnel/Overlay: Ist Outer-DSCP/Traffic Class korrekt? Inneres DSCP ist sonst im Underlay unsichtbar.
Typische Fehlersignatur: Voice ist am Endgerät EF, am Provider-Edge aber DSCP 0. Dann ist jedes weitere QoS-Tuning sinnlos, bis die Markierungskette geschlossen ist.
Ebene 2: Klassifizierung verifizieren (Classify-Hits statt Annahmen)
Die wichtigste Verifikationsmetrik heißt: Treffer. Wenn eine Class-Map keine Hits hat, greift sie nicht – egal wie schön sie konfiguriert ist.
- Classify-Hits pro Klasse: Pakete/Bytes, die in die Klasse einsortiert wurden.
- Match-Kriterien prüfen: DSCP-basierte Matches sind oft stabiler als portbasierte, besonders bei dynamischen Ports und verschlüsselten Anwendungen.
- IPv4/IPv6 Parität: Greifen die Matches auch für IPv6 (Traffic Class) oder nur für IPv4?
- Signaling vs. Media: Sind SIP/Control und RTP/Media getrennt klassifiziert, oder läuft alles in einer Klasse?
Typische Fehlersignatur: „Voice knackt, aber EF hat 0 Hits.“ Das ist fast immer ein Match- oder Markierungsproblem, nicht ein Bandbreitenproblem.
Ebene 3: Queue- und Scheduler-Wirkung verifizieren
Wenn Markierung und Match stimmen, ist die nächste Frage: Tut der Scheduler das Richtige? Hier sind drei Messgrößen Pflicht: Queueing Delay, Drops und Service Share.
- Queueing Delay pro Klasse: Perzentile (95/99) und Peaks sind wichtiger als Mittelwerte.
- Queue Depth: zeigt Microbursts und Bufferbloat-Muster.
- Scheduler Share: bekommt Video die geplante Gewichtung? Wird Best Effort fair bedient?
- LLQ-Status: Voice in LLQ soll schnell abfließen und nicht dauerhaft stehen.
- Queue-Limits: zu groß → Bufferbloat; zu klein → Drop-Cluster bei Bursts.
Typische Fehlersignatur: Voice-Klasse hat Hits, aber Queueing Delay-Peaks steigen stark. Das deutet auf fehlendes Shaping am Upstream, falsche Interface-Richtung oder überfüllte Premiumklasse (Inflation) hin.
Ebene 4: Policer, Shaper und Remarking verifizieren
Viele QoS-Designs scheitern nicht in den Queues, sondern an Profilen. Policer schneiden Bursts hart ab, Shaper glätten, Remarking verschiebt Überschuss. Verifikation bedeutet: Sie müssen sehen, ob Profile „sauber“ arbeiten.
- Policer Conform/Exceed/Drop: Echtzeit (Voice) sollte praktisch nie droppen. Exceed/Drop in Voice ist Alarm.
- Drop vs. Remark: Für Video/BE kann Remarking besser sein als Drop; für Voice sind Drops kritisch.
- Shaping Rate: Ist Shaping aktiv? Ist die Rate knapp unter der realen Linkrate gesetzt?
- Shaper-Queueing: Ist der Shaper dauerhaft voll (Dauerstau) oder glättet er nur Peaks?
- Burst-Parameter: Zu kleine Burst-Werte erzeugen Drop-Cluster bei Keyframes oder VAD-Transitions.
Typische Fehlersignatur: Keine Queue-Drops, aber Policer-Drops auf Video oder sogar Voice. Dann ist der Policer der Engpass – nicht die Queue.
Ebene 5: End-to-End Verifikation über Domänen und Übergänge
QoS ist nur so gut wie das schwächste Segment. Deshalb müssen Sie die Übergänge prüfen, an denen QoS-„Sprachen“ wechseln:
- LAN/WLAN: WMM (AC_VO/AC_VI) ↔ 802.1p CoS ↔ DSCP.
- Metro/Carrier Ethernet: CoS-Queuing, Q-in-Q, CoS→Queue Mapping.
- IP/MPLS/SR Core: DSCP→MPLS-TC, TC→Queue, Penultimate Hop und Egress Mapping.
- VPN/Overlay: inneres DSCP → Outer-DSCP (kontrolliertes Copy/Mapping), MTU/Fragmentierung.
- NNI/Interconnect: DSCP-Neutralisierung, SLA-Grenze, Kapazitätspeaks.
Hier entstehen die typischen „QoS-Löcher“: Alles ist korrekt markiert, aber ein Segment queued nach einem anderen Feld oder verliert Markierungen.
Verifikation mit synthetischem Traffic: Klassen gezielt „auslösen“
Wenn Sie Verifikation ohne echten Diensttraffic brauchen oder wenn Sie sicherstellen wollen, dass jede Klasse messbar greift, sind synthetische Tests sinnvoll. Die Idee: Erzeugen Sie pro Klasse einen kleinen, kontrollierten Teststrom.
- Voice-ähnlicher UDP-Stream: z. B. 50 pps, kleine Pakete, DSCP EF – prüft LLQ und Jitterempfindlichkeit.
- Video-ähnlicher Stream: AF-Klasse, moderates Throughput-Fenster, ggf. burstige Muster.
- Control-Stream: kleine Pakete, hohe Priorität gewichtet.
- BE-Stream: Vergleichsbasis für Fairness und Bufferbloat.
Wichtig: Tests müssen klein sein, damit sie das Netz nicht selbst belasten. Ziel ist Verifikation der Behandlung, nicht Lasttest.
Premium-Inflation erkennen: Wenn „zu viel“ in den richtigen Klassen landet
Eine besonders gefährliche Fehlersignatur ist Premium-Inflation: Die Klassen greifen technisch, aber zu viele Flows landen in Premium. Dann wird Voice paradox schlechter, obwohl EF aktiv ist.
- EF/Voice-Volumen zu hoch: dauerhaft hoher Anteil ist unplausibel für echte Audio-Medienlast.
- LLQ dauerhaft gefüllt: Queueing Delay steigt, Drops erscheinen in EF.
- Remarking steigt: Policies normalisieren, aber die Quelle markiert weiter falsch.
Fix-Logik: Trust Boundary schärfen, DSCP-Whitelist, Profilierung pro Kunde/Standort, Video strikt aus EF entfernen, LLQ-Limit korrekt setzen.
Typische Verifikationsfehler: Warum viele Checks „falsch grün“ sind
- Nur Konfiguration geprüft: ohne Hits/Telemetrie bleibt unklar, ob es wirkt.
- Nur Interface-Auslastung geprüft: QoS-Probleme sind oft Sekundenpeaks, nicht Durchschnitt.
- Keine Richtungsprüfung: QoS wirkt am Egress; Ingress-Checks allein reichen oft nicht.
- ICMP/Ping als QoS-Test: ICMP wird anders behandelt; misst nicht, was RTP erlebt.
- IPv6 vergessen: Policies greifen nur für IPv4, IPv6 läuft Best Effort.
- Tunnel-Outer-Header ignoriert: inneres DSCP stimmt, Outer-DSCP fehlt, Underlay queued falsch.
Runbook: QoS-Policy Verifikation in 12 Checks
- Check 1: DSCP-Verteilung am Ingress (ist Voice wirklich EF?).
- Check 2: DSCP-Verteilung am Egress (bleibt Markierung erhalten?).
- Check 3: Classify-Hits pro Klasse (matcht die Policy?).
- Check 4: LLQ/Voice-Queueing Delay und Queue Depth (steht Voice an?).
- Check 5: Drops pro Klasse (insbesondere EF).
- Check 6: Scheduler Share (werden Gewichte/Anteile eingehalten?).
- Check 7: Policer Conform/Exceed/Drop und Remarking (profilieren wir korrekt?).
- Check 8: Shaping Rate und Shaper-Queueing (Bufferbloat verhindern?).
- Check 9: Mapping DSCP↔CoS↔MPLS-TC an Domänenübergängen.
- Check 10: Tunnel-Outer-DSCP und MTU/Fragmentierung (VPN/Overlay).
- Check 11: IPv4/IPv6 Parität (Traffic Class wie DSCP behandeln).
- Check 12: Dienst-KPIs (MOS/RTCP/Freeze Events) mit Queue/Policer korrelieren.
Diese Reihenfolge ist bewusst so gewählt, dass Sie erst Semantik, dann Mechanik, dann Wirkung verifizieren.
Praktische Verifikation pro Serviceprofil: Voice, Video, Signaling, Best Effort
- Voice: EF-Hits > 0, LLQ klein, nahezu keine Drops, niedrige Delay-Perzentile, Policer nicht aktiv droppend.
- Video: AF-Hits plausibel, gewichtete Queue mit stabilem Share, Drops nicht clusterig, Shaping glättet Bursts.
- Signaling: Control-Hits vorhanden, geringe Verzögerung, keine Verhungersymptome (Setup Times stabil).
- Best Effort: Fairness sichtbar, Bufferbloat kontrolliert (Delay-Perzentile), keine permanente Starvation durch Premium.
Häufige Fragen zur QoS-Policy Verifikation
Woran erkenne ich am schnellsten, dass Klassen nicht greifen?
An Classify-Hits und DSCP-Verteilungen. Wenn eine Klasse erwartet wird, aber 0 Hits hat, oder wenn DSCP am Egress nicht mehr dem Ingress entspricht, ist die Verifikationsdiagnose klar: Markierung oder Match stimmt nicht.
Warum kann Voice trotz EF/LLQ schlechter werden?
Meist wegen Premium-Inflation oder fehlendem Shaping am Engpass. Wenn zu viel Traffic in EF landet oder wenn Bufferbloat im Upstream entsteht, steigen Queueing Delay-Spitzen und Drops – Voice knackt trotz „richtiger“ Markierung.
Wie verifiziere ich QoS ohne echten Voice/Video-Traffic?
Mit kleinen, DSCP-markierten synthetischen Streams pro Klasse (Voice-ähnlicher UDP-Stream für EF, Video-ähnlicher Stream für AF, Control-Stream) plus Telemetrie (Hits, Queueing Delay, Drops, Policer/Shaper). So sehen Sie, ob das Netz die Klassen wie geplant behandelt, ohne Produktivtraffic zu benötigen.

