[FRAGE] Unterschied symmetrisches und asymmetrische NAT

magifix

Neuer User
Mitglied seit
12 Jan 2005
Beiträge
174
Punkte für Reaktionen
0
Punkte
0
worin unterscheiden sich symmetrische und asymmetrische nat
 
@magifix

Wichtig zu wissen ist, daß mit symmetrischen NAT es möglich
ist UDP Pakete zu internen IP's zu schicken.

Gruß
britzelfix
 
@britzelfix: Die Aussage ist in der Allgemeinheit verwirrend. Sowohl symmetrisches alsauch nicht symmetrisches NAT erlauben es, UDP-Pakete an interne IPs zu senden.

Hintergund zum Thema NAT:
Jedes UDP/TCP-Paket hat ein Absender-Port und einen Zielport. Die Absenderporst werden bei vielen Anwendungen zufällig gewählt (z.B. www), während die Zielports meistens an Standards gebunden sind (www: TCP-Port 80). Beim NAT muss der NAT-Router sich irgendwie merken, welche Pakete, die von außen kommen an welche interne IP weitergeleitet werden müssen. Dazu ändert der NAT-Router den Absender-Port. Pakete, die dann von außen auf diesen Absender-Port geschickt werden, werden dann auf die interne IP und den internen Absender-Port weitergeleitet, von dem ursprünglich eine Nachricht ins Internet ging.
Manche NAT-Router schicken dann alle Pakete, die von außen auf diesen geänderten Port eingehen an den ursprüngliche IP & Port. Das sind nichtsymmetrische NAT-Router. Sie haben den Nachteil, dass sobald ein interner Rechner einmal eine Verbindung zu einem externen Rechner aufgebaut hat, alle externen Rechner auf den internen Pakte schicken können.
Um das zu verhindern gibt es 2 Strategiene:
1. Der Router leitet nur Pakete an dem geänderten Absender-Port an den internen Rechner weiter, die von der IP stammen, zu der der interne Rechner selbst zuerst ein Paket geschickt hat. Das nennt sich Portbeschränktes "Port-restricted", nicht symmetrisches NAT.
2. Der Router verwendet für jede Verbindung einen anderen externen, geänderten Port. Wird von dem internen Rechner zu zwei externen Rechnern von dem gleichen Absender-Port eine Verbindung aufgebaut, so ändert der symmetrisch NATende Router die Absender-Ports in zwei verschiedene. Dadurch ist es für den internen Rechner nicht möglich vorauszusagen, welchen Absender-Port im öffentlichen IP-Netz die eigenen Pakete haben. Diese Information muss aber im SIP-Protokoll übermittelt werden, um den Transport von Audio-Daten über einen anderen Port als den, der für SIP verwendet wird, zu ermöglichen. Bei symmetrischem NAT sind für dieses Problem folgende Lösungen möglich:

1. im NAT-Router wird für die relevanten rtp-Ports (die bei VoIP bei jeder Anwendung andere sind, weil sie im SIP-Protokoll ausgehandelt werden und nicht standardisiert sind) eine Weiterleitung eingerichtet.

2. Wenn der Gesprächspartner nicht auch hinter einem symmetrischem NAT sitzt, so kann der Audio-Verbindungsaufbau in umgekehrter Richrtung als üblich erfolgen. Der Anrufer, der hinter dem symmetrischen NAT sitzt, baut dann die Audioverbindung zu dem Port auf, den der Gesprächspartner in seiner SIP-Nachricht angegeben hat. Der Gesprächspartner akzeptiert auf diesem Port die Audio-Daten von jedem Absender-Port, so dass er nicht vorher in der SIP-Nachricht übertragen werden muss. (Das leistet die Option "rport" in SIP-Protokoll)

3. Der NAT-Router erkennt das SIP-Protokoll und setzt automatisch entsprechende Portweiterleitungen. Soweit mir bekannt, versucht das zum Beispiel der Draytek 2500. Allerdings hat der wohl einen Bug, so dass dieser NAT-Router das VoIPen vollkommen zum Glücksspiel macht, wenn man diese eigentlich gute Funktion nicht abstellt.

4. Falls beide Gesprächspartner hinter einem symmetrischen NAT sitzen, keine Portweiterleitungen eingerichtet werden können und der Router nicht SIP-aware ist, ist eine VoIP-verbindung nur möglich über einen dritten Rechner, einen rtp-Proxy, über den alle Audiodaten laufen. Sipgate setzt einen solchen rtp-Proxy automatisch ein, wenn es feststellt, dass eine interne IP-Adresse in der SIP-Nachricht verwendet wurde. Dadurch funktioniert sipgate immer, wenn KEIN STUN-Server verwendet wird und nicht firewalls oder kaputte Router doch noch einen Strich durch die Rechnung machen.

Gruß,
Pfeffer.
 
@pfeffer
Die Aussage ist in der Allgemeinheit verwirrend. Sowohl symmetrisches alsauch nicht symmetrisches NAT erlauben es, UDP-Pakete an interne IPs zu senden.

Aber auch nicht ohne weiteres, wie Du weiter im Text aufführst.
Der Punkt ist doch der, daß nicht alle Route diese Features
implementiert haben und manche User, die eine interne IP bekommen
auf das was ihnen der ISP einrichtet angewiesen sind.

Die Absenderporst werden bei vielen Anwendungen zufällig gewählt (z.B. www)
Das ist falsch. Src-Ports werden nach 2 Kriterien ausgewählt.
1) Der Port muß oberhalb des reservierten Bereichs > 1024 liegen (s. RFC).
2) Der Port muß frei sein. D.h. es darf kein Serverdienst auf diesem Port laufen.

während die Zielports meistens an Standards gebunden sind (www: TCP-Port 80).
Zielports sind immer frei von der jeweiligen Anwendung wählbar
und zwar 1-65535. 0 wird z.B. von nmap verwedet um das OS zu
erraten.

Dazu ändert der NAT-Router den Absender-Port

Da wird im Grunde nicht geändert, sondern gemappt nebst
übersetzung der vielen internen IP's auf die eine externe.

Ansonsten kann das wohl stimmen, obwohl ich nicht mehr folgen kann. ;)

Gruß
britzelfix
 

Zurzeit aktive Besucher

Neueste Beiträge

Statistik des Forums

Themen
244,879
Beiträge
2,220,028
Mitglieder
371,604
Neuestes Mitglied
broekar
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.

IPPF im Überblick

Neueste Beiträge