Kurzfassung
NAT-Traversal umfasst Techniken, mit denen zwei Endpunkte hinter Network-Address-Translation-Geräten (NAT) eine direkte Verbindung aufbauen können, obwohl keiner von beiden direkt unter einer öffentlichen IP erreichbar ist.
Was ist NAT-Traversal?
Die meisten Geräte sind heute hinter NAT angeschlossen: Heimrouter, Mobilfunknetze und Cloud-Instanzen übersetzen private Adressen auf eine gemeinsame öffentliche IP. Für ausgehenden Traffic funktioniert das problemlos, doch jedes Protokoll, bei dem zwei Hosts hinter unterschiedlichen NATs direkt miteinander sprechen wollen, läuft auf.
NAT-Traversal löst dieses Problem mit einer Kombination aus öffentlichen Discovery-Servern und Hole Punching. Ein typischer Ablauf nutzt STUN, damit jeder Peer die öffentliche IP und den Port erfährt, den sein NAT einer ausgehenden Verbindung zugewiesen hat. Diese Informationen werden über einen Koordinationskanal ausgetauscht. Anschließend senden beide Peers gleichzeitig Pakete zur jeweils ermittelten Gegenadresse und „stanzen" passenden State in beide NATs, sodass der Verkehr fließen kann.
Sind die NATs zu restriktiv (symmetrische NATs, Carrier-Grade-NAT, strenge Firewalls), schlägt Hole Punching fehl. In diesem Fall leitet ein TURN-Relay den Traffic über einen öffentlichen Server weiter, den beide Peers erreichen können. Moderne Peer-to-Peer-Overlays und Mesh-VPNs kombinieren diese Mechanismen automatisch.
Warum ist NAT-Traversal relevant?
- Direkte Verbindungen: Vermeidet das Routing aller Daten über einen zentralen Concentrator
- Mesh-VPN-Machbarkeit: Ermöglicht WireGuard-basierte und ähnliche Overlays auch für wandernde Clients
- Leistung: Direkte Pfade reduzieren Latenz gegenüber Relay-Traffic
- Echtzeit-Protokolle: Voraussetzung für WebRTC, Voice/Video und viele Gaming-Protokolle
Verwandte Begriffe
- STUN: Protokoll zur Ermittlung der öffentlichen NAT-Zuordnung eines Endpunkts
- TURN: Relay-Protokoll für Fälle, in denen direktes Traversal scheitert
- Peer-to-Peer: Netzwerkmodell, das auf NAT-Traversal angewiesen ist
- Mesh VPN: VPN-Topologie mit NAT-Traversal zwischen den Clients
- WireGuard: VPN-Protokoll, das typischerweise mit NAT-Traversal kombiniert wird