Ich hab mich gefragt wie NAT im Detail funktioniert.
NAT arbeitet bekanntlich auf Layer 3 und ändert die IP Adressen pro Paket.
Folgendes Szenario:
2 Rechner im privaten Adressbereich - 1 Router - 1 Server im Internet
Ich sende von einem Rechner mit der IP 192.168.2.100 ein HTTP Request z.B.: google.de.
Der Router ersetzt die IP Adressen und liefert die Antwort zurück.
Da ein Router bzw. NAT nur auf Layer 3 arbeitet stellt sich mir folgende Frage:
Woher weiß der Router, dass das Paket für den Rechner mit IP 192.168.2.100 bestimmt ist und nicht für den zweiten Rechner mit IP 192.168.2.102?
(Wenn ich über 192.168.2.102 auch eine HTTP anfrage stellt, kann ich den Verkehr von dem Rechner 192.168.2.100 nicht mitlesen!)
Hierzu noch ein Screenshot von Wireshark:
Imageshack - wiresharkhttp.jpg
Meine Vermutung:
Die Zuordnung auf einen der beiden Rechner funktioniert über Ports. Mir ist aufgefallen, dass pro HTTP Paket, welches einer der beiden Rechner rausschickt, ein scheinbar zufälliger Port ausgewählt wird. (s. Screenshot - TCP Source Port)
________________________________________________
Der gleiche Test mit Ping. (ICMP)
Ich pinge von beiden Rechnern google.de an.
Ich überwache den Verkehr wieder mit Wireshark von einem der Rechner.
Hier fällt folgendes auf:
Imageshack - wiresharkicmp.png
Die Meldung "Destination Unreachable" erscheint und die IP Adresse vom 2ten Rechner wird gezeigt. Was ist da denn los?
Kann mir jemand erklären wie es genau funktioniert und ob meine Vermutung stimmt? Danke für eure Antwort im Vorraus.
This thread was automatically locked due to age.