Angenommen, wir haben einen STUN-Server an der Adresse stun_addr
und einen Server an der Adresse srv_addr
. Die Verwendung von STUN sieht normalerweise folgendermaßen aus:
- Der Client stellt über das
stun_addr
NAT-Gerät eine Verbindung zum STUN-Server her . Das NAT-Gerät übersetzt die Quelladresse innatted_addr_1
- Der STUN-Server teilt dem Client die Adresse mit, von der er die Verbindung erhalten hat
natted_addr_1
- Der Client kontaktiert den Server
srv_addr
über das NAT-Gerät und weist das externe System an, natted_addr_1
es zu verwenden, wenn es den Client erreichen möchte
- Externes System sendet etwas an den Client mit
natted_addr_1
Dies funktioniert nur, wenn das NAT-Gerät natted_addr_1
sowohl für die Kommunikation mit dem STUN-Server als auch mit dem anderen externen System verwendet. Insbesondere funktioniert es nur, wenn das NAT-Gerät die in Schritt 4 eintreffenden Pakete an den Client übermittelt.
Ein symmetrisches NAT-Gerät verwendet in den Schritten 1 und 3 eine andere Übersetzung, da die Zieladresse des Datenverkehrs unterschiedlich ist. In Schritt 3 wird die Quelladresse in den Paketen zum Server in eine andere Adresse übersetzt natted_addr_2
.
Das NAT-Gerät kennt nur diese Kombinationen von Quell- und Zieladressen und lässt diese nur wieder zu:
- Von
stun_addr
bisnatted_addr_1
- Von
srv_addr
bisnatted_addr_2
Leider wurde der Server zur Verwendung aufgefordert, natted_addr_1
aber Pakete von srv_addr
bestimmt bis natted_addr_1
werden vom NAT-Gerät aufgrund der vorhandenen Einschränkung NAT-Adresse: Port abgelehnt.
Um genauer zu sein, sollte 'Adresse' in dieser Antwort durch 'Adresse / Port' ersetzt werden, da NAT-Geräte mit der Kombination aus IP-Adresse und Portnummern arbeiten.