NAT-Traversal (deutsch etwa „NAT-Umgehung“) ist der Oberbegriff für Techniken, die direkte Verbindungen zwischen Geräten hinter Netzwerkadressübersetzung (NAT) ermöglichen – ohne dass auf einem Router manuell Portweiterleitungen eingerichtet werden müssen. NAT-Geräte besitzen normalerweise keine dauerhaft sichtbaren öffentlichen Ports, über die eingehende Verbindungen von außen erreichbar wären. Der Stand der Technik ist in RFC 5128 dokumentiert.
Die Bausteine: STUN, TURN und ICE
- STUN (Session Traversal Utilities for NAT) fragt bei einem öffentlichen Server die eigene öffentliche IP-Adresse und den zugewiesenen Port ab (Server Reflection).
- TURN (Traversal Using Relays around NAT) leitet den Datenverkehr über einen Relay-Server weiter, wenn kein direkter Pfad möglich ist.
- ICE (Interactive Connectivity Establishment) kombiniert STUN und TURN: Es sammelt Kandidaten-Adressen, testet die Verbindungen und wählt den besten Pfad.
Typische Techniken
- Hole Punching: Das NAT wird dazu gebracht, Pakete von einem bestimmten entfernten Peer zuzulassen – meist über UDP, seltener über TCP.
- Port Prediction: Die nächste Port-Zuordnung des NAT wird vorhergesagt, um Löcher zu öffnen – bei symmetrischem NAT oft unzuverlässig.
- Hairpin NAT: Verbindungen zur eigenen öffentlichen IP-Adresse werden intern wieder zugestellt.
Anwendung findet NAT-Traversal vor allem in WebRTC-Anwendungen (Video- und Sprachanrufe im Browser), bei VoIP, Peer-to-Peer-Dateiübertragung und Online-Spielen.
Grenzen
Bei symmetrischen NATs oder strikten Unternehmens-Firewalls scheitert der direkte Pfad: Die Geräte vergeben unvorhersehbare Ports oder blockieren den Versuch. Dann bleibt nur der Umweg über einen Relay-Server (TURN) oder eine manuelle Portweiterleitung.
Verwandte Grundlagen: NAT, Double NAT, Port Forwarding, Hole Punching, STUN, TURN, ICE, WebRTC.