QoS - Quality of Service (VoIP)

Quality of Service, kurz QoS, sind Maßnahmen und Verfahren zur Einflussnahme auf den Datenverkehr in einem Netzwerk, um die Qualität und Erreichbarkeit von Netzwerkdiensten zu verbessern oder zu gewährleisten.
Quality of Service beschreibt in der TCP/IP-Welt die Güte eines Kommunikationsdienstes aus Sicht des Anwenders. Dabei wird häufig die Netzwerk-Service-Qualität anhand verschiedener Parameter definiert.

  • Bandbreite (Übertragungskapazität)
  • Delay (Laufzeitverzögerungen)
  • Jitter (Laufzeitschwankungen)
  • Packet Loss (Paketverluste)

Standardmäßig werden in einem Netzwerk alle Datenpakete nach dem Best-Effort-Prinzip behandelt. Das bedeutet, alle Datenpakete werden gleich behandelt. Das bedeutet aber auch, dass in einem Paket-orientierten Netzwerk, je nach Auslastung, die einzelnen Datenpakete unterschiedlich schnell unterwegs sein können. So lange hauptsächlich Nachrichten und Dateien übertragen werden, kommt es hierbei selten zu Verzögerungen. Werden jedoch Datenpakete von Echtzeit-Anwendungen, wie Voice over IP oder Video-Streaming, übertragen, dann wirken sich Verzögerungen oder sogar Paketverluste negativ auf die Übertragungseigenschaften der Verbindung aus.
In der Konsequenz kommt es zu Störungen bei der Sprach- und Videoübertragung. Beispielsweise durch abgehackte Sprache, kratzen und knacken. Das verschlechtert die gefühlte Sprachqualität und damit die Sprachverständlichkeit.
Fehlende Bild-Fragmente führen in einem Video zu einer pixeligen oder ruckelnden Wiedergabe. Im Vergleich dazu fällt es kaum auf, wenn eine E-Mail ein paar Sekunden später beim Empfänger eintrifft.

Dadurch, dass TCP/IP die Anwendungsebene von der Übertragungsebene trennt und unabhängig macht, findet zwischen diesen Ebenen keine Kommunikation mehr statt. Das OSI-Schichtenmodell sorgt dafür, dass die Protokolle auf den unterschiedlichen Schichten unabhängig voneinander arbeiten. Was im Prinzip sinnvoll ist, verursacht bei der Audio- und Video-Übertragung Probleme. Die Übertragungssysteme sind nicht in der Lage zwischen einem Sprachpaket und einem normalen Datenpaket zu unterscheiden.

Mit Quality of Service (QoS) kann man versuchen diesen Mangel auszumerzen und beispielsweise Datenpakete mit Dienst-Klassen zu kennzeichnen, die bestimmten Anwendungen zugeordnet sind. Auf diese Weise wird versucht, auf Anwendungsebene Dienstmerkmale festzulegen und über die Protokolle hinweg nach unten durchzureichen.
Damit Quality of Service funktionieren kann, müssen auf der ganzen Übertragungsstrecke die notwendigen QoS-Mechanismen implementiert werden. Das geht natürlich nur, wenn das Netz einer einzigen Organisationseinheit gehört, was im Internet nicht der Fall ist.

Hinweis: QoS-Maßnahmen stellen keine zusätzliche Bandbreite zur Verfügung. Aus 10 MBit/s werden nicht mehr. Man kann mit QoS-Maßnahmen nur dafür sorgen, dass über die 10 MBit/s bestimmte Daten zum Beispiel bevorzugt oder priorisiert übertragen werden.

Qualität der Übertragung messen

Quality of Service ist Tuning im Netzwerk. Vergleichbar mit PC- und Auto-Tuning. Qualitätsverbesserungen im Netzwerk sollten immer vorher und nachher gemessen werden.
Wenn etwas verbessert werden soll, muss vor dem Tun festgestellt werden, was und wie es verbessert werden kann. Dazu muss die Qualität mit geeigneten Mess- und Monitoring-Werkzeugen überprüft werden. Zum Beispiel muss die verfügbare Bandbreite für bestimmte Anwendungen kontinuierlich überwacht werden.

Kriterien für die Qualität der Übertragung sind zum Beispiel Paket-Verzögerungen, Rate der Paketverluste und Jitter. Je nach Anwendung sind weitere Qualitätsmerkmale zu untersuchen und zu messen.

Einflüsse auf die Sprachqualität

Bei der Übertragung über unterschiedlichen Netzen kommt es in diesen Netzen zu Schwankungen im Verkehrsaufkommen, was einen erheblichen Einfluss auf die Übertragungsqualität eines Sprachsignals und damit auch auf die Sprachqualität hat.

  • Bandbreite (Übertragungskapazität)
  • Delay (Laufzeitverzögerungen)
  • Jitter (Laufzeitschwankungen)
  • Packet Loss (Paketverluste)

QoS-Parameter: Bandbreite (Übertragungskapazität)

In der digitalen Welt spricht man von Bandbreite, Übertragungskapazität oder auch von Übertragungsgeschwindigkeit. Die Bandbreite wird in Bit pro Sekunde (Bit/s) angegeben. Je höher die Bandbreite, desto weniger Probleme hat man mit Verzögerungen und Paketverlusten.

QoS-Parameter: Delay (Laufzeitverzögerungen)

Die Laufzeit der Sprachpakete ist ein wichtiges Kriterium für die Sprachqualität. Dabei interessiert man sich für die Gesamtverzögerung zwischen dem Sprechen des Senders und dem Hören des Empfängers (Ende-zu-Ende-Verzögerung).

Ursache Laufzeit
AD-Wandlung 20 ms
Paketerstellung 30 ms
sonstige Servicezeiten 10 ms
Routing über 800 Kilometer 50 ms
Jitter Buffering 30 ms
D-A-Wandlung 20 ms
Laufzeit gesamt 160 ms

Laufzeitverzögerungen, auch Delay genannt, entstehen bei der Umwandlung der Datenformate und durch das Routing. Gerade beim Transport entstehen die größten Verzögerungen. Besonders in den Zwischenstationen (Switch, Router, Gateway, Firewall und Proxy) treten Verzögerungen auf. Dort werden die Pakete verarbeitet, was Zeit in Anspruch nimmt und zu Verzögerungen führt. Besonders das Routing ist kritisch. Insbesondere dann, wenn ein Medienwechsel stattfindet.
Eine Verzögerung entsteht auch bei der Digitalisierung und Komprimierung des Sprachsignals. Die Verzögerung ist dabei abhängig vom Codec und der zur Verfügung stehenden Rechenleistung. Der Codec hat aber nur einen geringen Anteil an der Gesamtverzögerung. Deshalb bringt es meistens sehr wenig am Codec selber zu optimieren.

Sprachqualität

Sprachübertragung bedeutet, dass man eine wechselseitige Kommunikation über zwei Verbindungen (Duplex-Betrieb) oder wenigstens über eine Verbindung (Halbduplex-Betrieb) betreibt. Für Duplex-Betrieb ist daher ein maximaler Delay von 200 ms, für Halbduplex-Betrieb zwischen 200 und 500 ms noch akzeptabel.
Die Gesamtverzögerung von Teilnehmer zu Teilnehmer sollte 150 ms nicht überschreiten. Eine Verzögerung unter 150 ms ergibt eine sehr gute Sprachqualität. Ab einem Delay von 250 ms wird ein Gespräch bereits negativ beeinflusst. Mit bis zu 400 ms gilt ein Gespräch noch als akzeptabel. Ab einer Verzögerung von 400 ms entstehen deutlich hörbare und unangenehme Sprachpausen. Dabei hört den anderen Teilnehmer noch sprechen, obwohl er schon zu Ende gesprochen hat. Das führt dazu, dass man dem Gesprächspartner zu oft ins Wort fällt. Dieses Problem kennt man bei Mobilfunkgesprächen, wenn der Empfang einseitig schlecht ist.

Hinweis: Nach Möglichkeit möchte man eine Verzögerung, die annähernd konstant ist.

Laufzeit mit Ping messen

Um Verzögerungen auf einer Übertragungsstrecke zu messen, bietet sich der Ping als grobe Abschätzung an. Dabei muss man beachten, dass der Ping die Gesamtverzögerung von Hinweg und Rückweg (Round-Trip-Time, RTT) misst. Sprachdaten dagegen werden nur in eine Richtung übertragen und enden beim Empfänger. Der Empfang der Pakete wird auf Transportebene nicht bestätigt. Deshalb muss der Wert, den Ping liefert, halbiert werden. Dabei muss man berücksichtigen, dass die Zeiten von Hinweg und Rückweg unterschiedlich sein können. Doch Ping weist diese Zeiten nicht getrennt voneinander aus. Deshalb kann man Pingzeiten auch nur zur groben Schätzung nehmen. Eine Messung mit aussagekräftigen und korrekten Werten muss in der Praxis anders erfolgen.
Um die Messung mit Ping trotzdem einigermaßen realistisch zu gestalten muss die Paketgröße von Ping eingestellt werden. Geht man von der Kodierung mit G.711 und 20 ms Sprachdaten pro Paket aus, dann entspricht das 160 Byte (64 kBit/s x 0,02 s). Hinzurechnen muss man noch 40 Byte für den IPv4/UDP/RTP-Header-Anteil. Der Ping sollte also 200 Byte pro Paket verschicken.

Kommando für die Windows-Kommandozeile:

ping -l 200 -t {Hostname}

Kommando für die Linux-Kommandozeile:

ping -s 200 {Hostname}}

Das Kommando wird so lange wiederholt, bis die Tastenkombination Strg + C gedrückt wird.

QoS-Parameter: Jitter (Laufzeitschwankungen)

Bei der Übertragung von Datenpaketen gibt es gewisse Verzögerungen bei der Laufzeit. Diese Verzögerungen können unterschiedlich ausfallen. Diese zeitlichen Unterschiede werden als Laufzeitschwankungen, Laufzeitunterschiede oder Jitter bezeichnet. Insbesondere Sprach- und Videoübertragungen (Echtzeitanwendungen) leiden an Laufzeitunterschieden der Datenpakete.
Jitter ist die Bezeichnung für die Abweichung des Abstandes, wie die Pakete beim Empfänger ankommen. Hierbei geht es nicht um 10 ms mehr oder weniger Laufzeit, sondern darum, dass diese 10 ms Laufzeit stets konstant erreicht werden kann und es nicht mal 5, 10, 15 ms oder mehr sind.
Laufzeitschwankungen führen zu einer schlechten Sprachqualität. Um Laufzeitunterschiede zu vermeiden, werden Jitter-Buffer eingesetzt. Der Jitter-Buffer kann die Unregelmäßigkeiten zwischen den eingehenden Datenpaketen bis zu einem gewissen Grad ausgleichen. Dazu speichert er eingehenden Datenverkahr zwischen und gibt sie in einem gleichmäßigen Fluss wieder ab. So wird ungleichmäßiger, wiederholter oder fehlerhafter Datenfluss ausgeglichen.
Man kann aber nur den Jitter in den eigenen Routern minimieren. Sobald die Datenpakete das Netzwerk verlassen, hat man keinen Einfluss mehr auf den Jitter.

QoS-Parameter: Packet Loss (Paketverluste)

Für die Übertragung von VoIP-Sprachdaten wird UDP verwendet, das die Zustellung der Pakete nicht sicherstellen kann. Bei Sprachdaten macht das auch wenig Sinn. Ein Sprachpaket enthält nur etwa 20 bis 30 ms an Sprache, was in etwa einer Silbe entspricht. Eine Silbe nachzuliefern macht wenig Sinn und ist auch nicht notwendig. Sofern das nicht zu häufig auftritt, kann man den Verlust verschmerzen. Unregelmäßige Paketverluste kann man durchaus tolerieren. Unser Gehirn ist in der Lage, fehlende oder fehlerhafte, aber in einem logischen Satzzusammenhang stehende Worte bzw. Wortsilben selbständig richtig zu ergänzen. Doch wenn Datenpakete zu oft fehlen, dann macht sich das durch Aussetzer und Ausfälle bemerkbar. Das reduziert die Sprachqualität. Sobald also aufeinanderfolgende Pakete verloren gehen, führt das dazu, dass ganze Wörter oder Satzbestandteile fehlen.

Die Angabe "Packet Loss" gibt Auskunft über die prozentuale Menge verloren gegangener Datenpakete. Dieser Wert liegt in der Regel bei einem Prozent. Bis zu 5% Datenverlust muss ein Codec ausgleichen können, was beim Telefonieren ungehört bleibt.
Die häufigste Ursache für Paketverluste ist die Überlastung des Netzwerks. Datenpuffer sind ein beliebtes Mittel um Paketverluste zu vermeiden und kurzzeitige Bandbreitenschwankungen durch das Zwischenspeichern von Datenpaketen auszugleichen. Prinzipiell sollte man es aber vermeiden Sprachdaten bei der Übertragung zu puffern. Dadurch werden sie nur unnötig verzögert.

QoS-Maßnahmen

Jegliche Verfahren oder Maßnahme zu Quality of Service (QoS) dienen dazu bestimmte Datenpaketen Vorrang zu gewähren, um den Betrieb zeitkritischer Anwendungen zu gewährleisten. Ein gutes Quality of Service ist dabei eine Vielzahl von aufeinander abgestimmten Maßnahmen.

  • Überdimensionierung der Netze (viel mehr Bandbreite als erforderlich)
  • Reservierung von Bandbreite für bestimmte Anwendungen
  • Exklusive Nutzung für VoIP: mit MPLS, VLAN oder durch eigene Leitungen
  • Priorisierte Übertragung bestimmter Datenpakete
  • Verbindungsorientiertes Protokoll unterhalb der IP-Schicht

Wenn man das eigene Netzwerk oder eine Mietleitung kontrolliert und leistungsfähige QoS-Mechanismen durchsetzt, dann ist die Dienstgüte meist kein Problem. Beim Übergang in ein fremdes Netzwerk gehen die Eigenschaften verloren.
Falls man QoS nicht hinkriegt, "erschlägt" man das Problem durch mehr Bandbreite oder weniger anderen Traffic.

QoS-Maßnahme: Überdimensionierung der Netze

Es ist durchaus üblich auf Quality of Service zu verzichten und einfach viel mehr Bandbreite zur Verfügung zu stellen, als praktisch notwendig ist. Doch mehr Bandbreite bringt nur dort etwas, wo zu wenige Bandbreite vorhanden ist. Dabei muss man die Engpässe auf der ganzen Übertragungsstrecke berücksichtigen.
Wenn der Bandbreiten-Bedarf mit der Zeit ansteigt, muss dem Rechnung getragen und noch mehr Bandbreite zur Verfügung gestellt werden.

QoS-Maßnahme: Reservierung von Bandbreite

Um einen hohen Quality of Service zu erreichen, ist es üblich die verfügbare Bandbreite für bestimmte Anwendungen zu reservieren. Zum Beispiel mit dem Resource Reservation Protocol (RSVP). Andere Anwendungen werden dabei zurückgestellt und müssen mit weniger Bandbreite auskommen.

QoS-Maßnahme: Priorisierung von Datenpaketen

Die Netzbelastung beeinflusst die Qualität der Übertragung. Zum Beispiel, wie lange es dauert, bis ein Datenpaket beim Empfänger ankommt. Einfluss nimmt man darauf, in dem man bestimmte Datenpakete priorisiert überträgt.
Das Priorisieren von Datenpaketen setzt die Definition von Dienst-Klassen und Verkehrsklassen voraus. Die Verkehrsklasse ist nach einer Dienstgüte definiert und einer Anwendung zugeordnet. Datenpakete einer höheren Verkehrsklasse werden in Routern oder Switche bevorzugt weitergeleitet.
Allerdings funktioniert die Priorisierung nur dort, wo die Verkehrsklassen gelten. Verlassen priorisierte Datenpakete ein Netz, dann gelten hier unter Umständen andere Verkehrsklassen.
Priorisierung macht also nur Sinn, wenn alle Netzkomponenten und Teilnetze die gleichen Verkehrsklassen und Priorisierungsregeln unterstützen.

Im einfachsten Fall erfolgt die Unterscheidung der Verkehrstypen anhand der TCP- und UDP-Ports. So läuft VoIP mit SIP über 5060/UDP und 5061/UDP. Während zum Beispiel Surfen über 80/TCP oder 443/TCP läuft. Sprach-Pakete kann man an RTP- und SRTP-Headern erkennen. Genauso gut kann man sie anhand der Quellports filtern. Sprachübertragungen kann man auch an der Paketlänge und der Paketsendefrequenz erkennen. Außerdem NAT-Traversal-Verkehr (STUN, ICE, TURN) und den zugehörigen Metadaten (IP-Adressen von Register-Servern).

Verbindungsorientierte Protokolle

Mit VLAN, ATM und MPLS werden den Verkehrsquellen bestimmte Verkehrseigenschaften zugeordnet. Die Einhaltung dieser Eigenschaften werden ständig überwacht.

CoS - Classes of Service

Klasse Anwendung
1 Sprache
2 Video
3 VPN
4 WWW
5 Mail
6 Sonstiges

Classes of Service definiert Klassen von Datenübertragungen, denen Datenpakete zugeordnet werden. Jede Klasse entspricht einer Priorität, anhand der entschieden wird, welche Datenpakete bevorzugt übertragen werden. Dabei muss man beachten, dass die Datenmenge in den hohen Verkehrsklassen begrenzt werden muss, sonst ist auf überlasteten Verbindungen für gering priorisierte Datenpakete keine Übertragung möglich.
Die Umsetzung von CoS scheitert in der Regel an den unterschiedlich vergebenen CoS-Regeln in den verschiedenen Netzen der Netzbetreiber. Jeder Netzbetreiber kocht hier sein eigenes Süppchen.

DiffServ - Differentiated Services

DiffServ ist ein Verfahren zur Priorisierung von Datenverkehr für Echtzeitanwendungen über IP. Jedes Datenpaket wird einer Verkehrsklasse zugewiesen. Datenpakete einer höheren Verkehrsklasse werden gegenüber einer niedrigeren Verkehrsklasse bevorzugt behandelt.

Traffic-Shaping

Bei aktiviertem Traffic-Shaping werden Quittierungspakete im Uplink bevorzugt übertragen, damit parallel laufende Downloads nicht beeinflusst werden, deren Geschwindigkeit von der Schnelligkeit der Quittierungen abhängig ist.

MPLS - Multiprotocol Label Switching

MPLS wird häufig im Zuge von Quality of Service genannt. Allerdings ist das nur bedingt richtig. Zwar kommt MPLS einem Quality of Service gleich, aber nur dann, wenn man Quality of Service bei der Einrichtung berücksichtigt.
In MPLS-Routern werden Labels definiert anhand denen Datenpakete an vordefinierten Ausgänge weitergereicht werden. Auf diese Weise wird der Weg entsprechend markierter Datenpakete durch ein Netz vorgegeben.
Wenn man MPLS als QoS nutzen will, dann bietet sich die Möglichkeit an, die Labels nach Merkmalen, wie Availability, Packet Loss, Latency, etc. auszuwählen.

Fazit

Solange sich die Kommunikationspartner im gleichen Netz befinden, können über ein entsprechendes Agreement Leitungsqualität und -verfügbarkeit zugesichert werden. Wie der Provider das dann in seinem Netz in die Praxis umsetzt, kann dem Kunden egal sein. Doch sobald die Pakete über fremde Netze laufen, wird es schwer die Vereinbarung einzuhalten, weil es keine einheitlichen Standards und Abkommen für zugesicherte Leitungsqualitäten gibt.
Und trotzdem funktioniert VoIP auch ohne MPLS, RSVP oder DiffServ recht gut. Das liegt daran, dass Datenverkehr und Bandbreite sehr billig sind. Bei den meisten Netzbetreibern wird QoS ganz einfach durch eine überdimensionierte Bandbreite umgesetzt.

Weitere verwandte Themen:

Teilen:

Produktempfehlungen

Alles was Sie über Netzwerke wissen müssen.

Netzwerktechnik-Fibel

Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.

Das will ich haben!

Alles was Sie über Netzwerke wissen müssen.

Netzwerktechnik-Fibel

Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.

Das will ich haben!