Warum kann ich mit Computern im lokalen Subnetz kommunizieren, ohne einen Eintrag in der Routentabelle für das lokale Subnetz zu haben?

1

Ausführen von Ubuntu Linux 16.04, verbunden über Ethernet als 192.168.11.22 mit Subnetzmaske / 24. Der Router befindet sich am 192.168.11.1.

Ich hatte erwartet, dass die Routentabelle so aussieht:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.11.1    0.0.0.0         UG    100    0        0 enx50
192.168.11.0    0.0.0.0         255.255.255.0   U     1000   0        0 enx50

Aber es fehlt die Route für das lokale Subnetz und sieht so aus:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.11.1    0.0.0.0         UG    100    0        0 enx50

Ich kann jedoch weiterhin mit Hosts im Subnetz kommunizieren. Wie ist das möglich?

Ich dachte, dass ich ohne eine Route für das lokale Subnetz nicht einmal mit dem Gateway (192.168.11.1) kommunizieren könnte.

KittenOverflow
quelle
Welchen Befehl verwenden Sie, um diese Routingtabelle abzurufen? Und sind Sie sicher, dass Sie sich nicht in einem Container wie OpenVZ befinden?
David Schwartz
Es sieht aus wie Ausgabe von route -n. Was macht ip route Ausbeute?
VL-80
Ja, die Ausgabe erfolgte von route -n. ip route Ausgabe zeigt nur das gleiche in seinem eigenen Format. Auf keinen Fall in einem Container - das war direkt auf meinem physischen Ubuntu-Rechner.
KittenOverflow

Antworten:

0

Routing ist nur Wird benötigt, wenn ein IP-Paket von einem IP-Subnetz in ein anderes verschoben werden muss.

Pakete, die das lokale Subnetz nicht verlassen, befinden sich bereits im Zielnetz, sodass kein Routing erforderlich ist.

Folgendes passiert, wenn ein Computer eine Konversation mit einem anderen Knoten im selben LAN starten möchte:

  1. Knoten A mit IP 10.0.0.1 möchte um 10.0.0.2 eine Datei an Knoten B senden.
  2. Knoten A überprüft seine eigene IP-Adresse und Subnetzmaske (255.255.255.0) und stellt fest, dass die IP-Adresse 10.0.0.2 befindet sich im lokalen IP-Subnetz . Es muss daher die Daten direkt an dieses Gerät im Vergleich zum Standardgateway senden.
  3. Knoten A verwendet die ARP-Protokoll um die MAC-Adresse des Computers im LAN mit der IP-Adresse 10.0.0.2 abzurufen und die Daten an diesen Knoten zu senden.

Vergleichen Sie dies mit dem Zeitpunkt, zu dem der Computer mit einem Knoten in einem anderen IP-Subnetz kommunizieren muss:

  1. Knoten A mit IP 10.0.0.1 möchte eine Datei unter 172.25.0.2 an Knoten B senden.
  2. Knoten A überprüft seine eigene IP-Adresse und Subnetzmaske (255.255.255.0) und stellt fest, dass die IP-Adresse 172.25.0.2 lautet nicht im lokalen IP-Subnetz. Es muss daher das Paket an sein Standard-Gateway (10.0.0.254) senden.
  3. Knoten A verwendet das ARP-Protokoll, um die MAC-Adresse des Geräts im LAN mit der IP-Adresse 10.0.0.254 (Standardgateway) abzurufen und sendet die Daten an dieses Gerät.
  4. Das Standard-Gateway (d. H. Der Router) verwendet seine Routing-Tabelle, um zu entscheiden, wohin die Daten als Nächstes gesendet werden sollen. Dieser Vorgang wird wiederholt, bis die Daten das Zielnetzwerk erreichen. Beim Das In diesem Fall wird der oben beschriebene Vorgang ausgeführt, da sich die beiden Geräte im selben IP-Subnetz befinden.

Mehr Informationen

Twisty Impersonator
quelle