Versuch, den IP-Paketfluss zu verstehen

Versuch, den IP-Paketfluss zu verstehen

Ich habe also Probleme zu verstehen, wie Pakete von einem Computer zum anderen gelangen. Unten habe ich ein Beispiel für Computer 1 eingefügt, der versucht, eine Verbindung zu Computer 2 herzustellen.

Computer 1  
IP: 192.168.1.11  
Subnet: 255.255.255.0  
Default Gateway: 192.168.1.1  
MAC: 00:00:00:00:00:aa

Router 1  
IP: 192.168.1.1  
Subnet: 255.255.255.0  
MAC: 00:00:00:00:00:bb  

Router 2  
IP: 192.168.2.1  
Subnet: 255.255.255.0  
MAC: 00:00:00:00:00:cc  

Computer 2   
IP: 192.168.2.1  
Subnet: 255.255.255.0  
Default Gateway: 192.168.2.12  
MAC: 00:00:00:00:00:dd

Wenn ich eine Verbindung von Computer 1 zu Computer 2 herstelle und den Fluss eines Pakets verfolge, wäre die Quelladresse, von der die Informationen Router 2 verlassen, meines Erachtens 192.168.1.2 und die Quell-MAC-Adresse 00:00:00:00:00:cc. Meines Wissens bleibt das Ziel gleich, aber die Quelle wird aktualisiert, während sie ihren Weg durchläuft. Ist das richtig oder übersehe ich etwas?

Antwort1

Puh. Das ist in deinem Szenario ein bisschen knifflig.

Zunächst einmal sollte Router 2 keine Schnittstelle mit Router 1 gemeinsam nutzen, die sich auch auf ihren clientseitigen Schnittstellen befindet.

In Ihrem Beispiel teilen sich alle 4 Geräte dasselbe LAN-Segment, das sich übrigens im nicht routbaren (Bearbeiten: über das „Internet“) IP-Adressbereich für die 192.168.xy-Familie befindet.

Besser wäre es, es sich wie folgt vorzustellen:

Computer 1
IP: 192.168.1.100
Subnet: 255.255.255.0
Default Gateway: 192.168.1.1
MAC: 03:00:00:00:00:11

Router 1
IP: 192.168.1.1
Subnet: 255.255.255.0
MAC: 03:00:00:00:00:22
IP: 192.168.12.1
Subnet: 255.255.255.0
MAC: 03:00:00:00:00:33

Router 2
IP: 192.168.12.2
Subnet: 255.255.255.0
MAC: 03:00:00:00:00:44
IP: 192.168.2.1
Subnet: 255.255.255.0
MAC: 03:00:00:00:00:55

Computer 2
IP: 192.168.2.200
Subnet: 255.255.255.0
Default Gateway: 192.168.2.1
MAC: 03:00:00:00:00:66

Ignorieren Sie die Tatsache, dass die MACs mit einem Hexadezimalzeichen 03 beginnen, das dient nur der Korrektheit für die Netzwerk-Snobs da draußen. [EDIT] Ich musste es auf 0x03 ändern, damit es sowohl lokal zugewiesen als auch global eindeutig ist.

Folgendes passiert hier: Ein Kabel von Computer 1 ist an Router 1 angeschlossen. Diese beiden nutzen das Netzwerk 192.168.1.x gemeinsam. Ein Kabel von Router 1 zu Router 2. Diese nutzen das Netzwerk 192.168.12.x gemeinsam. Ein Kabel von Router 2 zu Computer 2. Diese nutzen das Netzwerk 192.168.2.x gemeinsam.

In Ihrer ursprünglichen Beschreibung hätten alle 4 Geräte an denselben Switch angeschlossen sein müssen, damit es überhaupt funktioniert hätte … und in einem solchen Fall hätte Computer 1 direkt mit Computer 2 kommuniziert. Hinweis: Für alle Netzwerkexperten da draußen: Ich weiß, dass Sie statisches Routing durchführen können, um die ursprüngliche Netzwerkkonfiguration zum Funktionieren zu bringen, aber das ist nicht das, wonach dieser Benutzer fragt …

Nun zu Ihrer konkreten Frage.

Sie haben halb recht. Die MAC-Adresse, die Computer 2 sieht, ist die von Router 2. In meinem Beispiel wäre das MAC 03:00:00:00:00:55. Die IP-Adresse, die er sieht, ist jedoch die von Computer 1. So kann Computer 2 Computer 1 antworten. IP-Adressen sind theoretisch „universell eindeutig“.

Die Funktionsweise von Netzwerken besteht, Ihrem Kenntnisstand entsprechend, darin, dass sich die Adressen der Schicht 2 (Datenverbindung/MAC-Schicht – in einer reinen Ethernet/IPv4-Umgebung) PRO HOP ändern. PRO HOP wird definiert als „Durchlaufen eines beliebigen Schicht-3-Verarbeitungsgeräts“. Router und Computer verarbeiten fast immer Schicht 3. Switches können Schicht 3 verarbeiten, lassen dies aber in der Regel unverändert.

Wenn also eine Nachricht von Computer 1 zu Computer 2 geht, sieht der Ablauf folgendermaßen aus:

AT HOP 1 - Zwischen Computer 1 und Router 1

SourceIP: 192.168.1.100 (Computer 1)
SourceMAC: 03:00:00:00:00:11 (Computer 1)
DestIP: 192.168.2.200 (Computer 2)
DestMAC: 03:00:00:00:00:22 (Router 1 - Interface facing Computer 1)

AT HOP 2 - Zwischen den Routern

SourceIP: 192.168.1.100 (Computer 1)
SourceMAC: 03:00:00:00:00:33 (Router 1 - Interface facing Router 2)
DestIP: 192.168.2.200 (Computer 2)
DestMAC: 03:00:00:00:00:44 (Router 2 - Interface facing Router 1)

AT HOP 3 - Zwischen Router 2 und Computer 2

SourceIP: 192.168.1.100 (Computer 1)
SourceMAC: 03:00:00:00:00:55 (Router 2 - Interface facing Computer 2)
DestIP: 192.168.2.200 (Computer 2)
DestMAC: 03:00:00:00:00:66 (Computer 2)

Sie sehen also, dass die Adressen der IP-Adressschicht (Schicht 3) während der gesamten Kommunikation gleich bleiben, die Adressen der Datenverbindungsschicht (Schicht 2) sich jedoch jedes Mal ändern, wenn ein weiteres Gerät beteiligt ist, das eine Adresse der Schicht 3 verarbeitet.

Ich hoffe, das hilft. Wenn es immer noch verwirrend ist, schreiben Sie mir gerne zurück und ich werde versuchen, den spezifischen Teilbereich zu erklären, den Sie als schwierig empfinden.

Antwort2

Ihr Beispiel ist fehlerhaft. (Ich habe gesehen, dass Sie es bearbeitet haben, es ist immer noch fehlerhaft.)

In Ihrem Beispiel befinden sich Router 1 und 2 im selben Subnetz (d. h. sie haben dieselbe Subnetzmaske). Computer 1 sendet also NICHTS aus dem Standard-Gateway, sondern wirft das Paket einfach aus der Netzwerkkarte und erwartet, dass ein Switch oder das Medium es an Computer 2 weiterleitet.

Wenn Sie nun Router 2 und Computer 2 wie folgt ändern:

Router 2
IP: 192.168.2.2

Und

Computer 2
IP: 192.168.2.12

[Bearbeitung durch Nick in Fettschrift] dann sind Router 2 und Computer 2 eingeschaltet (ihr eigenes separates Subnetz, NICHT:)separate Subnetze, und das Beispiel wird klarer.

Da Sie jedoch kein Diagramm bereitgestellt haben, gehe ich davon aus, dass Sie den Verkehr folgendermaßen lenken möchten:

Computer 1 <-> Router 1 <-> Router 2 <-> Computer 2

Damit dies funktioniert, dürfen sich Router 1 und Router 2 nicht im selben Subnetz befinden. Tatsächlich wird es zwischen ihnen ein drittes Netzwerk geben, über das sie Datenverkehr austauschen. (Es ist auch etwas seltsam, wenn eine Standardroute auf ein privates Netzwerk verweist, normalerweise bedeutet dies „Internet“, aber es ist durchaus möglich.)

Ich vermute, Sie versuchen Folgendes zu tun. Ich entschuldige mich für die Grobheit des Bildes: Bildbeschreibung hier eingeben

MAC-Adressen verbreiten sich nicht über Router hinaus. Computer 1 möchte ein Paket an Computer 2 senden. Computer 2 befindet sich nicht im selben Subnetz, daher sendet Computer 1 es an das Standard-Gateway.

Dies ist letztendlich ein Frame, der von der MAC-Adresse von Computer 1 an die MAC-Adresse von Router 1 gesendet wird.

Router leiten Pakete weiter, und Weiterleiten bedeutet, dass Pakete aus einer anderen Schnittstelle kopiert werden. Router 1 erkennt also, dass das Ziel des Pakets, das er von Computer 1 erhalten hat, für Computer 2 bestimmt ist. (Um das in einer solchen Situation zu wissen, müsste er mit einer statischen Route programmiert sein oder ein Protokoll wie RIP/OSPF verwenden.)

Das IP-Paket hat nun also eine Quell-MAC der zweiten Netzwerkkarte von Router 1 und eine Ziel-MAC der ersten Netzwerkkarte von Router 2. Und so weiter, bis es Computer 2 erreicht.

Antwort3

Sie haben halb recht, dass sich die MAC-Adresse mit jedem Hop ändert, die IP-Adressen der Verbindung ändern sich jedoch nicht, es sei denn, es ist NAT/PAT-Technologie integriert oder ein Anwendungsproxy wird verwendet.

Beachten Sie, dass die Adresse für Computer2 meines Erachtens eher 192.168.2.12 als 1.12 lauten sollte. Das würde bedeuten, dass Ihr Paket überhaupt nicht durch Router2 geht. Ich glaube, Sie suchen nach etwas wie:

Computer 1  
IP: 192.168.1.11  
Subnet: 255.255.255.0  
Default Gateway: 192.168.1.1  
MAC: 00:00:00:00:00:aa

Router 1  
LAN IP: 192.168.1.1  
Subnet: 255.255.255.0  
MAC: 00:00:00:00:00:bb  

WAN IP: 192.168.3.1  
Subnet: 255.255.255.0  
MAC: 00:00:00:00:00:b1  

Router 2  
LAN IP: 192.168.2.2  
Subnet: 255.255.255.0  
MAC: 00:00:00:00:00:cc  

WAN IP: 192.168.3.2  
Subnet: 255.255.255.0  
MAC: 00:00:00:00:00:c1 

Computer 2   
IP: 192.168.2.12  
Subnet: 255.255.255.0  
Default Gateway: 192.168.2.2  
MAC: 00:00:00:00:00:dd

wir haben also drei Netzwerke: das LAN, in dem sich Computer1 befindet (.1.X), das Netzwerk zwischen den beiden Routern (.3.X) und das LAN, in dem sich Computer2 befindet (.2.X).

MAC-Adressen dienen der Adressierung von Frames und sind daher an die Implementierung jedes LANs gebunden. Sie können die Mac-Adresse ::aa verwenden, um Frames im Netzwerk zu senden, mit dem Computer1 und Router1 verbunden sind. Wenn Sie jedoch versuchen, einen Frame in diesem LAN an ::dd zu senden, wird er sein Ziel nicht erreichen. Eine Mac-Adresse ist daher nur in dem Netzwerk gültig, in dem sich ein Gerät mit dieser MAC befindet.

Die IP-Adresse wird jedoch zwischen Netzwerken weitergegeben und bleibt daher konstant. Das Paket wird bei jedem Durchgang über einen Router in einen neuen Frame neu gekapselt, das IP-Paket selbst bleibt jedoch unverändert. Dies ist wichtig, denn wenn Computer2 in Ihrem Szenario ein Paket von 192.168.1.1 mit MAC ::cc empfangen würde, könnte er nicht erkennen, dass es nicht vom Router stammt. Und wenn Computer2 antwortet, hätte Router2 keine Ahnung, wem er antwortet.

Das Paket, das Computer2 empfängt, hat also die Quell-IP 192.168.1.11, aber die MAC-Adresse ::cc.

NAT/PAT macht dies etwas verwirrender, da mehr Informationen erforderlich sind, um Quell-/Zielentscheidungen zu treffen. Denken Sie also daran, dass ein Szenario mit echten Heimroutern etwas vollständiger ist.

Antwort4

AUA. Ein Router hat nicht nur eine IP. Ich schlage „Networking First Step“ von Wendell Odom vor.

Sie schreiben: „Soweit ich weiß, bleibt das Ziel dasselbe, aber die Quelle wird auf ihrem Weg aktualisiert.“

Es ist nicht klar, wovon Sie sprechen. Sie haben nicht viel geschrieben und das wenige, was Sie geschrieben haben, war mehrdeutig. Wenn Sie nicht klar schreiben können, werden Sie nicht klar verstehen.

Sagen Sie nicht einfach „die Quelle“ oder „das Ziel“. Geben Sie genau an, ob Sie die Quell-IP-Adresse, die Quell-MAC-Adresse, die Ziel-IP-Adresse oder die Ziel-MAC-Adresse meinen.

Die Quell- und Ziel-IP bleiben gleich. (es sei denn, es gab NAT oder etwas sehr Ungewöhnliches und Sie haben das nicht)

Die MAC-Adressen (Quelle und Ziel) können sich ändern. Router schreiben MAC-Adressen neu. Allerdings sind Ihre Router nicht wirklich richtig eingerichtet. Sehen Sie sich Ultras Bild an, wie ein Router mehrere Netzwerkkarten hat, jede mit ihrer eigenen IP in ihrem eigenen Subnetz.

verwandte Informationen