Wie wirkt sich die IP-Adresse eines Gateways in einer statischen Route auf das Routing aus?

Wie wirkt sich die IP-Adresse eines Gateways in einer statischen Route auf das Routing aus?

Ich habe einen Windows 7-Computer verwendet, um eine Verbindung zu einem Windows 10-Computer herzustellen, der sich im selben physischen Netzwerk, aber in einem anderen Subnetz befindet. Bevor ich eine statische Route zu Windows 7 hinzugefügt habe, ging der gesamte Datenverkehr zum Hauptrouter und dann zurück zu Windows 10. Dies führte zu einer langen Verzögerung beim Herstellen einer RDP-Verbindung, sodass ich eine statische Route zu Windows 7 hinzugefügt habe, um den Top-Router zu vermeiden. Ich habe einen Fehler gemacht, der am Ende funktioniert hat, und ich bin mir nicht sicher, warum.

Netzwerkdiagramm

Netzwerkdiagramm

Statische Routen für Windows 7

1. None
2. route add 10.1.1.0 mask 255.255.255.0 10.1.0.99
3. route add 10.1.1.0 mask 255.255.255.0 10.1.1.3
  • route 1 tracertShows verwenden10.1.0.98 -> 10.1.0.1 -> 10.1.0.99 -> 10.1.1.4
  • route 2 tracertShows verwenden10.1.0.98 -> 10.1.0.99 -> 10.1.1.4
  • route 3 tracertShows verwenden10.1.0.98 -> 10.1.0.99 -> 10.1.1.4

Ich verstehe, warum route 2es funktioniert, aber ich weiß nicht, warum es route 3auch funktioniert.

PS: Wenn jemand einen klareren Titel vorschlagen kann, bitte tun Sie es.

Antwort1

Route 3 funktioniert aufgrund der Art und Weise, wie ARP-Pakete vom Ubuntu-Computer verarbeitet werden. Eine ARP-Anfrage für 10.1.1.3 wird über 10.1.0.0/24 gesendet und über die Schnittstelle 10.1.0.99 empfangen. Da dieser ComputerAuchbesitzt 10.1.1.3, antwortet er mit der Hardwareadresse für seine 10.1.0.99. Wenn der Windows 7-Computer später versucht, eine RDP-Verbindung zum Windows 10-Computer herzustellen, sendet er Pakete, die für das 10.1.1.3-Gateway bestimmt sind, aber die MAC-Adresse des Computers im selben Subnetz enthalten, die der Switch direkt weiterleiten kann.

Um zu versuchen, das zu überprüfen

Unter Windows 7

.\Arping.exe -i 10.1.0.98 -T 10.1.1.3

Unter Ubuntu

22:19:51.275116 (Windows 7 MAC) > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 60: Request who-has 10.1.1.3 tell 10.1.0.98, length 46

Antwort2

Die Magie von Route 3 funktioniert zum Teil aufgrund des Address Resolution Protocol, zum Teil aufgrund der Weiterleitungstabelle und zum Teil aufgrund der Routing-Algorithmen.

Wikipediasagt:

Das Address Resolution Protocol (ARP) ist ein Kommunikationsprotokoll, das zum Ermitteln der Link-Layer-Adresse (z. B. einer MAC-Adresse) verwendet wird, die einer bestimmten Internet-Layer-Adresse (normalerweise einer IPv4-Adresse) zugeordnet ist.

Viele Betriebssysteme führen beim Start ein Gratuous ARP durch. Dadurch lassen sich Probleme lösen, die andernfalls auftreten würden, wenn beispielsweise vor Kurzem eine Netzwerkkarte ausgetauscht wurde (wobei die Zuordnung von IP-Adresse zu MAC-Adresse geändert wurde) und andere Hosts in ihren ARP-Caches noch die alte Zuordnung hätten.

Ubuntu hat daher beim Start seine Präsenz und Schnittstellen in beiden Subnetzen angekündigt, mit denen es verbunden ist, also in Ihrem gesamten Netzwerk. Eine ähnliche Ankündigung von Windows 10 erfolgte nur innerhalb seines Subnetzes und erreichte Windows 7 daher nie. Selbst wenn eine solche Ankündigung nie empfangen wurde, sendet Windows 7, um eine Übereinstimmung zu finden, ein Broadcast-Paket mit dem ARP-Protokoll an das Netzwerk, um zu fragen, „wer 10.1.1.4 hat“.

Ein wichtiger Hinweis ist hier, dass der tracertBefehl den Router nicht unter den Hops aufgelistet hat. Die Anfrage für 10.1.1.4ging direkt an den Ubuntu-Computer, obwohl Windows 7 nichts davon weiß 10.1.1.4.

Was wir hier im Einsatz sehen, ist das Windows IP-Routing-Tabelle: Routenbestimmungsprozess:

  • Führen Sie für jeden Eintrag in einer Routing-Tabelle eine bitweise logische UND-Verknüpfung zwischen der Ziel-IP-Adresse und der Netzwerkmaske durch. Vergleichen Sie das Ergebnis mit der Netzwerk-ID des Eintrags, um eine Übereinstimmung zu finden.

  • Die Liste der passenden Routen wird zusammengestellt.Die Route mit der längsten Übereinstimmung(die Route, die die meisten Bits mit der Ziel-IP-Adresse übereinstimmt) wird ausgewählt. Die Route mit der längsten Übereinstimmung ist die spezifischste Route zur Ziel-IP-Adresse. Wenn mehrere Einträge mit der längsten Übereinstimmung gefunden werden (z. B. mehrere Routen zur gleichen Netzwerk-ID), verwendet der Router die niedrigste Metrik, um die beste Route auszuwählen. Wenn mehrere Einträge mit der längsten Übereinstimmung und der niedrigsten Metrik vorhanden sind, kann der Router frei wählen, welchen Routing-Tabelleneintrag er verwenden möchte.

Das Windows 7-Routing hat ein gemeinsames Präfix zwischen 10.1.1.4und gefunden 10.1.1.3, nämlich 10.1.1. Die anderen Möglichkeiten waren der Router oder Ubuntu unter 10.1.0.99, deren gemeinsames Präfix aber nur war 10.1, sodass sie nicht ausgewählt wurden.

Wir sehen hier in Betrieb die Weiterleitungstabelle, die auf der Routingtabelle aufgebaut ist. Während die Routing-Tabelle Routen basierend auf IP-Adressen zusammenstellt, enthält die Weiterleitungstabelle die entsprechenden MAC-Adressen. Die Weiterleitungstabelle enthielt also einen Eintrag mit der Aussage: „Für 10.1.1.X, leite das Paket an die MAC-Adresse des Ubuntu-Computers weiter.“ Sobald das Paket beim Ubuntu-Computer ankam, wusste dieser genau, wie es weitergeleitet werden musste 10.1.1.4.

Auf diese Weise landen Pakete von Windows 7 auf Windows 10 und umgekehrt.

verwandte Informationen