RFC 3489 – STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs)
Überholt: ersetzt durch RFC 5389.
| Status | Proposed Standard |
|---|---|
| Veröffentlicht | März 2003 |
| Volltext | rfc-editor.org/rfc/rfc3489 |
RFC 3489 spezifiziert das STUN-Protokoll (Simple Traversal of UDP Through NATs), ein leichtgewichtiges Verfahren zur Erkennung von Network Address Translators (NATs) und Firewalls. Es ermöglicht Anwendungen, die ihnen von einem NAT zugewiesene öffentliche IP-Adresse und den zugehörigen Port zu ermitteln. STUN arbeitet mit vielen existierenden NATs zusammen, ohne dass diese speziell angepasst werden müssen, und erlaubt so einer Vielzahl von Anwendungen die Kommunikation durch NAT-Infrastrukturen hindurch.
Der Kern des Protokolls basiert auf einem Client-Server-Modell. Der Client sendet eine Binding-Request-Nachricht an einen STUN-Server im öffentlichen Internet. Der Server antwortet mit einer Binding-Response, die die öffentliche Quelladresse und den Port des Clients enthält, wie sie vom Server gesehen werden (die sogenannte "gemappte Adresse"). Zusätzlich kann der Client durch Variationen der Anfragen den NAT-Typ bestimmen, etwa ob es sich um einen Cone NAT oder einen symmetrischen NAT handelt, bei dem STUN nicht funktioniert.
Historisch war STUN ein früher und wichtiger Ansatz zur Lösung von NAT-Traversal-Problemen für UDP-basierte Echtzeitanwendungen wie VoIP. Es wurde später durch RFC 5389 (STUN2) abgelöst, das als Basis für Protokolle wie TURN und ICE dient. Seine Bedeutung liegt darin, dass es ein einfaches, servergestütztes Verfahren etablierte, um die Einschränkungen von NATs zu umgehen, auch wenn es nicht alle NAT-Typen unterstützt (insbesondere keine symmetrischen NATs und kein TCP).