VoIP - Voice over IP

Voice over IP, kurz VoIP, ist die Übertragung und Vermittlung von Sprach-Kommunikation in einem IP-Netzwerk. Dieses Netzwerk kann sowohl lokal (LAN), ein Weitverkehrsnetzwerk (WAN) oder das ganze Internet sein.
Voice over IP liegt dem paketorientierten Internet-Protokoll (IP) zu Grunde. Wenn Sprache und Daten auf einer einheitlichen Infrastruktur laufen, müssen nicht zwei getrennte Kabelnetze (Daten- und Telefonnetz) vorhanden sein.

Der Einsatz von Voice over IP ist darin begründet, dass es wesentlich Ressourcen-schonender mit dem zur Verfügung stehenden Übertragungsmedium umgeht. Insbesondere dann, wenn es sich um eine Breitbandverbindung handelt. So lassen sich über eine IP-gesteuerte Breitband-Verbindung mehr Sprachverbindungen realisieren als bei der klassischen Nutzung einer Telefonleitung.

Bestandteile von Voice over IP

Weltweit sind die Telefonnetze auf Zuverlässigkeit und höchste Verfügbarkeit optimiert. Die Technik ist ausgereift und stabil. Während die Festnetz-Telefonie aus möglichst wenigen Komponenten besteht, sind bei VoIP über das Internet sehr viele Komponenten im Spiel. Viele Faktoren spielen beim Verbindungsaufbau und auch danach eine große Rolle.

VoIP-Anwendungen Call-Manager, Softphone, ...
VoIP-Protokolle SIP, H.323, RTP, UDP, ...
VoIP unterstützende Dienste DNS, NAT, QoS, AAA, ...
Betriebssysteme Linux, Unix, Windows, ...
Hardware Breitbandmodem, Router, Server, IP-Telefon, Smartphone, ...
Netze LAN, WAN, DSL, TV-Kabel, ...

Protokolle und Standards

Call Control Audio Video
SIP
H.323
G.711
G.723
G.729
H.261
H.263
RTP
RTCP
TCP UDP
IP
LAN

Bei Voice over IP muss man zwischen den Datenpaketen zum Verbindungsauf- und -abbau (Signalisierung, Call Control) und den eigentlichen Sprachpaketen (Datenstrom) unterscheiden. Die Signalisierungsdaten müssen dabei möglichst sicher übertragen werden. Sie steuern die Verbindung. Sie dürfen länger unterwegs sein und einen größeren Protokoll-Overhead haben. Hauptsache die Verbindung kommt zu Stande. Dagegen müssen die Sprachpakete schneller und verzögerungsfrei unterwegs sein. Dabei kann man sich eine unsichere Übertragung leisten. Wenn mal ein Datenpaket verloren geht, dann ist das nicht so schlimm.

Basisdienste und -protokolle:

  • DNS (Domain Name System)
  • DHCP (Dynamic Host Configuration Protocol)
  • AAA-Mechanismen (Authentifizierung, Autorisierung und Accounting)
  • TCP (Transmission Control Protocol)
  • UDP (User Datagram Protocol)

VoIP-spezifische Protokolle:

  • H.323
  • SIP (Session Initiation Protocol)
  • RTP (Real-Time Transport Protocol)

Bei einer VoIP-Verbindung sind immer mehrere Protokolle beteiligt:

  • SIP und H.323 sind für die Signalisierung zuständig.
  • SDP, H.225 und H.245 (H.323) sind für die Aushandlung der Fähigkeiten der Endsysteme zuständig.
  • Sprachcodecs wandeln die analogen Sprachsignale in digitale Datenpakete um und auch wieder zurück.
  • Spezielle Quality-of-Service-Erweiterungen (QoS) verbessern die Verbindungsqualität.

Voice over IP im OSI-Schichtenmodell

Schicht Protokoll
7. Anwendung VoIP-Anwendung
Softphone / Call-Manager
6. Präsentation Sprachcodecs
G.729 / G.723 / G.711
5. Session Signalisierung
H.323 / SIP
4. Transport Transport-Protokolle
RTP / UDP / RSVP
3. Netzwerk Netzwerk-Protokoll
IP
2. Verbindung ATM / Ethernet
1. Physikalische Ebene DSL / Ethernet

Sprachqualität bei Voice over IP

Bei der Festnetz-Telefonie wird vom Vermittlungssystem eine leitungsvermittelte Verbindungsqualität garantiert. Im Internet werden die Sprachdaten als Datenpakete über unterschiedliche Netze übertragen. Die Sprachqualität ist dabei von der Stabilität der Verbindung ohne Laufzeitschwankungen (Jitter) und Paketverluste und vom Codec abhängig.

Wie schnell die Datenpakete übertragen werden liegt in der Hand der Netzbetreiber. In der Regel profitiert man im deutschen Internet von der großzügig vorhandenen Übertragungskapazität der Provider. Die Sprachqualität ist mit dem alten Telefonnetz vergleichbar.

Schwerer wiegt das Echo, das beide Teilnehmer zu hören bekommen können. Es entsteht meist auf der Gegenseite.
Bei herkömmlichen Telefonverbindungen konnte das Echo auch auftreten. Nur bei VoIP wird es mit erheblicher Verzögerung als störend empfunden. Schuld ist die unzureichende Echounterdrückung. In der Regel haben das die VoIP-Anbieter im Griff.

Sprach-Codec / Audio-Codec

Bevor die Sprache übertragen werden kann, muss sie zuerst digitalisiert werden. In der Regel werden die Sprachdaten auch gleich komprimiert. Bei zunehmender Komprimierung steigt die erforderliche Rechenleistung und es kann zu zusätzlichen Verzögerungen kommen.

Abhängigkeit der Sprachqualität von Laufzeit, Jitter und Paketverlusten

Voice over IP ist nur dann in einem Netzwerk nutzbar, wenn die wichtigen Kennwerte, wie Bandbreite, Laufzeit und Jitter bei einem voll ausgelasteten Netzwerk einschließlich der Netzübergänge ausreichend sind. Dadurch wird im wesentlichen die Sprachqualität beeinflusst.
Die Hauptprobleme entstehen durch eine zu geringe Bandbreite und zu lange Distanzen. Paketverluste, hoher Jitter und große Verzögerungen reduzieren die Sprachqualität.

Delay - Verzögerung - Laufzeit

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).
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 nur einen geringen Anteil an der Gesamtverzögerung. Deshalb bringt es meistens sehr wenig am Codec selber zu optimieren.

UrsacheLaufzeit
AD-Wandlung20 ms
Paketerstellung30 ms
sonstige Servicezeiten10 ms
Routing über 800 Kilometer50 ms
Jitter Buffering30 ms
D-A-Wandlung20 ms
Laufzeit gesamt160 ms

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. Eine Verzögerung ab 400 ms ist als deutliche Gesprächspause hörbar. Man hört den anderen Teilnehmer noch, 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. Dann kommt es zu unangenehmen Verzögerungen und Unterbrechungen.

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.
Unter Windows würde das Ping-Kommando demnach ping -l 200 -t {Hostname} lauten. Durch das Attribut -t wird der Ping so lange wiederholt, bis die Tastenkombination Strg + C gedrückt wird. Unter Linux würde das Ping-Kommando ping -s 200 {Hostname}} lauten.

Jitter

Bei der Übertragung von Datenpaketen gibt es gewisse Verzögerungen bei der Laufzeit. Diese Verzögerungen können unterschiedlich ausfallen. Diese Unterschiede werden als Laufzeitschwankungen oder Jitter bezeichnet. Sie führen zu einer schlechten Sprachqualität. Um das zu vermeiden, bedient man sich eines Jitter-Buffers. Der Jitter-Buffer speichert eingehenden Datenverkahr zwischen, um so ungleichmäßigen, wiederholten oder fehlerhaften Datenfluss auszugleichen. Es geht nicht um 10 ms mehr oder weniger, sondern darum, dass diese 10 ms stets konstant erreicht werden und es keinen Jitter gibt.
Je toleranter das System gegenüber Jitter ist, desto mehr erhöht sich das Delay (Verzögerung) durch den Codec. Man kann nur versuchen den Jitter in den eigenen Routern zu minimieren. Doch sobald die Datenpakete das Netzwerk verlassen hat man keinen Einfluss mehr auf den Jitter.

Paketverluste - Packet Loss

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 allzu 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 verlorengegangener 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 vermeiden Sprachdaten bei der Übertragung zu puffern. Dadurch werden sie nur unnötig verzögert.

Quality of Service (QoS)

Für ein Telefongespräch mit Voice over IP in guter Qualität muss eine bestimmte Bandbreite für die Dauer des Gesprächs gewährleistet sein. Man spricht vom sogenannten Fernsprechkanal. In diesem Fernsprechkanal wird die Sprache isochron (gleich lang andauernd) übertragen. Die engen Grenzen bei der Verzögerung und den Laufzeitschwankungen lassen sich mit dem reinen Internet-Protokoll (IP) nicht realisieren.
Da Sprachübertragung von der Übertragungstechnik, in diesem Fall die paketorientierten Protokolle, besondere Eigenschaften fordern, lassen sich Übertragungsfehler, Verzögerungen und Laufzeitunterschiede nur durch eine ausreichende Bandbreite oder Protokollzusätze vermeiden. Man fasst diese Maßnahmen unter Quality-of-Service (QoS) zusammen.

Bandbreitenbedarf

Die Frage ist, welche Bandbreite hat ein VoIP-Kanal im Vergleich zu einem ISDN-B-Kanal mit 64 kByte/s?

In der Praxis sieht das so aus, dass die Sprache zuerst mit einem Codec in Datenpakete umgewandelt wird, und anschließend in RTP-Pakete und dann in UDP-Pakete verpackt und zur Adressierung mit einem IP-Header versehen werden.
Die Übertragungstechnik auf dem physikalischen Medium fügt dann noch einen Paketrahmen hinzu, der vom jeweiligen Medium und Übertragungssystem abhängig ist.

Bandbreitenberechnung für VoIP-Verbindungen:

  • 64 kBit/s pro Kanal bei G.711
  • G.711 (20 ms): 160 Byte
  • RTP-Header: 12 Byte
  • UDP-Header: 8 Byte
  • IP-Header: 20 Byte
  • Ethernet-VLAN: 30 Byte
  • Summe: 230 Byte pro 20 ms

Umrechnung in Sekunden:

230 Byte x 8 Bit / 0,02 s = 92 kBit/s

Hinweise:

  • Multiplikation mit 8 Bit, weil das Ergebnis in Bit bzw. kBit angegeben werden muss, um es mit den üblichen Bandbreiten-Angaben vergleichen zu können.
  • Division durch 0,02 s bzw. 20 ms, weil wir das Ergebnis pro Sekunde brauchen, um es mit den üblichen Bandbreiten-Angaben vergleichen zu können.

Das Ergebnis variiert je nach eingesetzten Codec. Die nötige Bandbreite pro Verbindung kann demnach zwischen 13 kBit/s (GSM) und 100 kBit/s (HD-Qualität) liegen.

Pro VoIP-Telefonverbindung rechnet man mit einer Datenrate bzw. Bandbreite von 100 kBit/s pro Übertragungsrichtung. Die erforderliche Bandbreite ist im Vergleich zur verfügbaren Kapazität von LAN- und WAN-Verbindungen gering, weshalb man VoIP- bzw. IP-Telefonie in der Regel ohne zusätzliche Maßnahmen störungsfrei in der vorhandenen Infrastruktur nutzen kann.

SPIT - Spam-over-Internet-Telephony

SPIT bedeutet Spam-over-Internet-Telephony. Über bestimmte Schwachstellen in SIP-Implementierungen kann VoIP-Spam in laufende Gespräche eingespielt werden. Für SPIT muss noch nicht mal eine Verbindung zum SIP-Server bestehen. Eine durchlässige Firewall und ein installierter SIP-Client können schon anfällig für SPIT sein. SPIT eignet sich also auch für Massenspam.

Sicherheit

Sicherheits-Features für VoIP sind äußerst unpopulär. Als Grund wird der vergleichsweise hohe Aufwand für das Abhören oder Stören, im Vergleich zu ISDN oder analog, angeführt. Einen analogen Anschluss kann man abhören, in dem man ein Telefon oder Kopfhörer parallel zur Leitung schaltet. Bei VoIP ist das wesentlich komplizierter, weil die Daten auf mehreren Protokollschichten verteilt sind. Einen Datenverkehr mitzuschneiden ist sehr aufwendig und nur mit hochwertiger Hardware und Software möglich. Vorausgesetzt natürlich, man hat einen Punkt im Netz, an dem man Abhören kann.
Das Grundproblem bei VoIP ist die bidirektionale Datenverbindung. Die Datenpakete werden in beide Richtungen über die Firewall geschickt. Dafür werden Ports geöffnet, die wiederum als Angriffspunkt für Hacker dienen können. Solange die IP-Telefonie im lokalen Netzwerk und hinter einer Firewall arbeitet, ist das Risiko eines Angriffs von außen gering. Ist der Telefonie-Server über das öffentliche Netz zu erreichen, dann kann dessen Funktion beispielsweise durch Denial-of-Service-Attacken (DoS) gestört werden.

In H.323 ist H.235 definiert. Es umfasst Verfahren zur Authentifizierung und Verschlüsselung der Datenströme. Die Verschlüsselung ist optional. Die Verschlüsselung erfolgt mit SRTP.
Bei SIP könnte die Authentifizierung mit PGP erfolgen. Der Datenstrom könnte auch mit SRTP verschlüsselt werden.
Damit die Sicherheitsmaßnahmen auch greifen, müssen alle an der Übertragung beteiligten Komponenten über genügend Sicherheitsvorkehrungen verfügen. Es bringt nicht sehr viel, wenn die Signalisierung, aber nicht der Datenstrom verschlüsselt ist.

Technik für Voice over IP

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!