Titelaufnahme

Titel
NAT traversal techniques in VoIP protocols / by Günther Starnberger
VerfasserStarnberger, Günther
Begutachter / BegutachterinGrechenig, Thomas
Erschienen2007
UmfangII, 133 Bl. : graph. Darst.
HochschulschriftWien, Techn. Univ., Dipl.-Arb., 2007
SpracheEnglisch
DokumenttypDiplomarbeit
Schlagwörter (DE)VoIP / NAT / NAT-Traversal / SIP / XMPP / Jingle / ICE
Schlagwörter (EN)VoIP / NAT / NAT-Traversal / SIP / XMPP / Jingle / ICE
URNurn:nbn:at:at-ubtuw:1-20578 Persistent Identifier (URN)
Zugriffsbeschränkung
 Das Werk ist frei verfügbar
Dateien
NAT traversal techniques in VoIP protocols [0.7 mb]
Links
Nachweis
Klassifikation
Zusammenfassung (Deutsch)

Network Address Translation (NAT) stellt ein wesentliches Problem für viele Peer-to-Peer Protokolle dar. Rechnern, die sich außerhalb eines NAT-Gateways befinden, ist es nicht möglich, IP Pakete an Rechner innerhalb des NAT-Gateways zu adressieren. Techniken, welche es erlauben, direkte Verbindungen trotz NAT-Gateways zu etablieren, werden als NAT-Traversal-Techniken bezeichnet.

Diese Arbeit untersucht die NAT-Traversal-Fähigkeiten von aktuellen VoIP-Protokollen. Zuerst werden Netzwerktechnologien, die von VoIP Protokollen verwendet werden, erklärt. Danach wird der Aufbau von NAT Gateways beschrieben. Anschließend werden aktuelle VoIP Protokolle, sowie die in diesen Protokollen verwendeten NAT-Traversal-Techniken untersucht.

Die Eigenschaften der Protokolle werden für unterschiedliche Typen von NAT-Gateways verglichen. Es wird gezeigt, dass die evaluierten Protokolle nicht immer eine optimale Traversal-Technik verwenden. Einige Protokolle schaffen es in allen untersuchten Fällen eine Verbindung aufzubauen, allerdings wird in einigen dieser Fälle eine ineffiziente indirekte Verbindung anstatt einer direkten Peer-to-Peer Verbindung verwendet. Dies führt zu einer höheren Latenzzeit bei Gesprächen und zu höherem Datenaufkommen bei dem VoIP-Provider.

Abschließend werden Erweiterungen zu dem aktuellen Stand der Technik vorgestellt, welche das Herstellen von Verbindungen auch dann erlauben, wenn dieses mit den etablierten Verfahren nicht möglich ist. Das erste Verfahren basiert auf dem NAT-PMP Protokoll und erlaubt es, explizit eine Weiterleitung auf einem NAT-Gateway anzufordern. Das zweite Verfahren versucht vorauszusagen, welche Portnummer der NAT-Gateway an ein bestimmte Weiterleitung zuweist. Beide Techniken können als Erweiterungen zu dem Interactive Connectivity Establishment (ICE) Protokoll implementiert werden.

Zusammenfassung (Englisch)

Network Address Translation (NAT) poses an inherent problem to many peer-to-peer protocols. If one or more of the hosts which want to communicate are located behind a NAT gateway, the hosts outside of this network are not able to address IP packets to the hosts inside the network. Methods which are used to work around this problem are denoted under the umbrella term NAT traversal techniques.

This thesis examines the NAT traversal capabilities of common VoIP protocols. At the beginning, network technologies, which are used by VoIP protocols, are examined. Afterwards, the design of NAT devices is described. The work continues by inspecting VoIP protocols, as well as the NAT traversal techniques used within these protocols.

A comparative survey examines each VoIP protocol for a set of predefined NAT environments. It is shown, that state of the art protocols are not able to provide optimal traversal capabilities for all types of NAT devices. Some protocols are able to establish a connection in all examined cases. However, in some setups, they revert to an inefficient relayed connection, instead of using a direct peer-to-peer connection.

This causes a higher latency and additional bandwidth requirements at the location of the VoIP provider.

The work concludes by proposing enhancements to existing NAT traversal techniques, which allow the traversal of NAT gateways in cases where current techniques would fail to establish a direct connection. The first technique uses the NAT-PMP protocol in order to explicitly request a binding on the NAT device, while the second technique tries to predict the port-number, which the NAT device assigns to a particular binding.

Both techniques can be implemented as extensions to the Interactive Connectivity Establishment (ICE) protocol.