Warum kann ich mit Computern im lokalen Subnetz ohne Eintrag in der Routentabelle für das lokale Subnetz sprechen?

365
KittenOverflow

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

Ich habe 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 

Es fehlt jedoch die Route für das lokale Subnetz und sieht folgendermaßen 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, ohne eine Route für das lokale Subnetz würde ich nicht einmal mit dem Gateway kommunizieren können (192.168.11.1).

1
Welchen Befehl verwenden Sie, um diese Routing-Tabelle zu erhalten? Und sind Sie sicher, dass Sie sich nicht in einem Container wie OpenVZ befinden? David Schwartz vor 6 Jahren 0
Es sieht aus wie die Ausgabe von "route -n". Was bringt "ip route"? VL-80 vor 6 Jahren 0
Ja, die Ausgabe war von "route -n". Die Ausgabe von "ip route" zeigt nur dasselbe in ihrem eigenen Format. Definitiv nicht in einem Container - dies war direkt auf meinem physischen Ubuntu-Rechner. KittenOverflow vor 6 Jahren 0

1 Antwort auf die Frage

0
Twisty Impersonator

Ein Routing ist nur erforderlich, 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 Zielnetzwerk, so dass kein Routing erforderlich ist.

Folgendes passiert, wenn ein Computer eine Konversation mit einem anderen Knoten in demselben LAN beginnen möchte:

  1. Knoten A mit IP 10.0.0.1 möchte eine Datei an Knoten B um 10.0.0.2 senden.
  2. Knoten A betrachtet seine eigene IP-Adresse und Subnetzmaske (255.255.255.0) und erkennt, dass sich die IP-Adresse 10.0.0.2 im lokalen IP-Subnetz befindet . Es muss daher die Daten direkt an dieses Gerät gegenüber dem Standard-Gateway senden.
  3. Knoten A verwendet das ARP-Protokoll, um die MAC-Adresse des Computers im LAN mit der IP-Adresse 10.0.0.2 abzurufen und sendet die Daten an diesen Knoten.

Vergleichen Sie dies mit dem Fall, wenn 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 an Knoten B bei 172.25.0.2 senden.
  2. Knoten A betrachtet seine eigene IP-Adresse und Subnetzmaske (255.255.255.0) und erkennt, dass sich die IP-Adresse 172.25.0.2 nicht im lokalen IP-Subnetz befindet. Das Paket muss daher an sein Standard-Gateway (10.0.0.254) gesendet werden.
  3. Knoten A verwendet das ARP-Protokoll, um die MAC-Adresse des Geräts im LAN mit der IP-Adresse 10.0.0.254 (dem Standardgateway) abzurufen und sendet die Daten an dieses Gerät.
  4. Das Standard-Gateway (dh 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. Zu diesem Zeitpunkt wird der oben beschriebene Prozess ausgeführt, da sich die beiden Geräte in demselben IP-Subnetz befinden.

Mehr Informationen