NAT: Wenn zwei Hosts eine Verbindung zu derselben IP: PORT mit demselben Quell-PORT herstellen, wie geht der Router damit um?


7

Ich dachte nur nach und diese Idee kam mir in den Sinn.

Angenommen, ich habe Hosts A und B in meinem lokalen Netzwerk. Ich habe einen Router und einen Host C im Internet. Ich weiß, dass beim Initiieren der Verbindung der Quellport zufällig ausgewählt wird. Was passiert jedoch, wenn zwei Hosts beim Initiieren auf denselben Host denselben Port gewählt haben: Port?

A:10123 -> C:80
B:10123 -> C:80

Wie würde der Router wissen, welche Pakete zu jedem gehören?

Prost.


Verwendung der IP-Adresse von A und B.
Laurentiu Roescu

Wenn die Antwortpakete jedoch beim Router ankommen, haben sie keine Informationen darüber, wie sie an den lokalen Host zurückgeleitet werden sollen.
NullOrEmpty

1
Die Antwortpakete hätten unterschiedliche Zielports, da die NAT-Originalpakete unterschiedliche Quellports hätten.
David Schwartz

Antworten:


8

Nur weil Host A und B Port 10123 gewählt haben, bedeutet dies nicht, dass dies der Port ist, den der Router verwendet. Der Router stellt über einen Quellport seiner Wahl eine Verbindung zu Host C her. Die Verbindung sieht also eher so aus:

                                  router
                          +--------------------+
A:(src:10123, dest:80) -> | A:10123 -> C:43775 | -> C:80
B:(src:10123, dest:80) -> | B:10123 -> C:43776 | -> C:80
                          +--------------------+

1

Ich bin mit Laurentiu zusammen. Der Router sendet das Paket basierend auf der IP-Adresse von A oder B. Das Antwortpaket würde folgendermaßen aussehen:

Source IP: C
Source Port: 80
Destination IP: A (or B)
Destination Port 10123

Der Router leitet das Paket an den richtigen Host weiter.

Wenn der Router mit PAT konfiguriert ist, weist der Router den ausgehenden Paketen die NAT / PAT-IP und neue zufällige Quellports zu.


0

Der Router verfügt über eine Routing-Tabelle mit IP-Adresse. Es merkt sich die bestimmte IP-Adresse, um herauszufinden, welcher Host eine Anfrage gestellt hat, und leitet dieses Antwortpaket an diesen bestimmten Host weiter.


Was Sie beschreiben, ist die ARP-Tabelle. Auf diese Weise kommunizieren Hosts in Schicht 2. Die Routing-Tabelle enthält Hosts und Netzwerke sowie deren Adresse für den nächsten Hop, um diesen Host / dieses Netzwerk zu erreichen. Und in der ARP- oder Routing-Tabelle sind keine Informationen über den Host enthalten, der ein Paket anfordert. Dies wird in einer NAT-Tabelle gespeichert
user1008764

Sie haben Recht, jetzt Antwort bearbeitet.
KK Patel
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.