Was sind die Gründe für ein unvollständiges ARP?

Wie in diesem -Post erwähnt:

Der Grund Wenn ein unvollständiger ARP angezeigt wird, lautet „Für diese Adresse wurde eine ARP-Anforderung gesendet, aber der Host mit dieser Adresse ist im LAN nicht aktiv, sodass keine Antwort erfolgt.“

Wenn also ein mehrschichtiger Switch eine ARP-Anfrage an einen Server sendet und keine Antwort erhält, wird ARP in der Switch-ARP-Tabelle als unvollständig markiert.

Was ist, wenn der Server eine ARP-Anfrage an den Server sendet? wechseln, aber keine Antwort erhalten? Zeigt der Server unvollständiges ARP in seiner ARP-Tabelle an und der Switch zeigt keinen Eintrag an?

Wenn das oben Gesagte korrekt ist, können wir sagen, dass das Problem vorliegt, wenn Sie den unvollständigen ARP-Eintrag auf einem lokalen Gerät sehen Befindet sich das Gerät am anderen Ende der Verbindung (oder Verkabelung)? Oder gibt es einige Ausnahmen?

Kommentare

  • Wie @RonTrunk hervorhebt, ist ein Switch ein transparentes Layer-2-Gerät, das es nicht kennt oder nicht interessiert Informationen zur Layer-3 (IP) -Adressierung, sodass ‚ ARP nicht verwendet oder darauf reagiert. Der Switch kann verwaltet werden, sodass die Verwaltung des Switches wie ein Host im Netzwerk ist und über eine Layer-3-Schnittstelle verfügt, die ARP verwendet und darauf reagiert, aber nichts mit der Switching-Funktion zu tun hat, die noch nichts weiß über Schicht-3. Verwechseln Sie ‚ ARP auf Layer-3-Geräten nicht mit der MAC-Adresstabelle der Switches. Viele Leute verwirren sie.
  • Dient der Switch als L3-Gateway oder nur als L2-Switch?
  • @cpt_fink, ja, durch “ switch “ Ich meinte einen mehrschichtigen Switch (L3-Gateway)

Antwort

Bei einem Layer-3-Switch ist das Layer-3-Modul im Switch ein Router und funktioniert genau wie ein Router, der wie jeder andere Host für ARP funktioniert. Ein Layer-3-Switch ist immer noch in erster Linie ein Layer-2-Switch, und der Layer-2-Switch verhält sich immer noch wie ein Layer-2-Switch. Die Layer-3- und Layer-2-Teile eines Layer-3-Schalters sind wirklich getrennt. Die Layer-3-Schnittstellen (sowohl virtuelle Schnittstellen als auch alle als Layer-3-Schnittstellen konfigurierten physischen Schnittstellen) verwenden eine ARP-Tabelle, die Layer-2-Schnittstellen verwenden jedoch eine MAC-Adresstabelle.

Wenn ein Host, Wenn Sie einen Router oder das Routing-Modul in einen Layer-3-Switch aufnehmen, eine ARP-Anforderung senden und keine Antwort erhalten, wird der ARP-Tabelleneintrag als incomplete markiert.

Aber was ist, wenn der Server eine ARP-Anfrage an den Switch sendet, aber keine Antwort erhält? Zeigt der Server unvollständiges ARP in seiner ARP-Tabelle an und der Switch zeigt keinen Eintrag an?

Das hängt davon ab. Wenn ein Host eine ARP-Anforderung an einen anderen Host, einschließlich eines Routers, sendet, aber noch keine Antwort erhalten hat, wird der Eintrag in der ARP-Tabelle des Hosts für die IPv4-Adresse des Routers mit incomplete markiert.

Was der Router in seiner ARP-Tabelle hat, hängt davon ab, ob der Router die ARP-Anforderung erhalten hat oder nicht und ob der Router bereits einen ARP-Tabelleneintrag für den Host hat.

  • Ein Router mit einem vorhandenen ARP-Tabelleneintrag für den Host verfügt weiterhin über diesen Eintrag, bis der Router ihn aufgrund eines Timeouts löscht. Das Zeitlimit wird vom RFC nicht vorgeschrieben, aber der RFC verfügt über einen Abschnitt, der sich mit der Möglichkeit der Verwendung eines Zeitlimits für ARP-Tabelleneinträge befasst. Die meisten Hosts tun dies:

    Es kann wünschenswert sein, Tabellenalterung und / oder Zeitüberschreitungen zu haben. Die Implementierung dieser Protokolle liegt außerhalb des Geltungsbereichs dieses Protokolls.

  • Wenn der Router die ARP-Anforderung nie empfangen hat und keinen Eintrag für hatte Wenn der Router die ARP-Anforderung vom Host erhalten hat, die Antwort an den Host jedoch verloren gegangen ist, hat der Router einen vollständigen ARP Tabelleneintrag für den Host.

Um zu verstehen, wie ARP funktioniert, sollten Sie RFC 826, An Protokoll zur Auflösung von Ethernet-Adressen – oder – Konvertieren von Netzwerkprotokolladressen in eine 48-Bit-Ethernet-Adresse für die Übertragung auf Ethernet-Hardware . Denken Sie daran, dass ARP für IPv4 funktioniert, jedoch nicht für IPv6 mit ND (Neighbor Discovery) anstelle von ARP.

Antwort

Eine erfolgreiche ARP-Auflösung ist erforderlich, damit zwei IPv4-Knoten auf einem gemeinsamen Layer-2-Segment (normalerweise Ethernet) kommunizieren können.

Unvollständige ARP-Anforderungen haben zwei grundlegende Gründe.

  1. Die ARP-Anfrage wurde nicht beantwortet. Entweder hat der Zielknoten die ARP-Anforderung nicht empfangen, oder seine Antwort wurde nicht empfangen. Der Zielknoten ist möglicherweise ausgefallen.

  2. Die Netzwerkmaske des Quellknotens ist nicht richtig konfiguriert.Der Quellknoten berücksichtigt alle Ziele innerhalb seines eigenen Subnetzes lokal oder über eine Verbindung: Er erwartet, dass er ohne Hilfe eines Gateway-Routers direkt über seine Ethernet-Schnittstelle mit ihnen kommunizieren kann.

    Wenn z. Ein Knoten im Subnetz 192.168.0.0/24 ist mit 192.168.0.10/ 16 falsch eingerichtet und betrachtet ein Ziel wie 192.168.16.1 lokal. Es wird nicht versucht, ein Gateway zu verwenden, sondern ein direktes ARP, das unvollständig bleibt.

Ob die Quelle oder der Ziel- / Next-Hop-Knoten ein Router ist, mehrschichtiger Switch oder Endknoten spielt keine Rolle.

Antwort

Die ARP-Tabelle des Switch wird nur von der Switch-Verwaltungsschnittstelle für IP-Verkehr verwendet Wird vom Switch selbst generiert.

Andernfalls sehen sich Switches nur Informationen der Ebene 2 an. Sie verstehen ARP nicht.

Kommentare

  • Ja, ich meinte einen mehrschichtigen Schalter.

Antwort

Ein weiterer möglicher Grund – dhcpcd falsche Einstellungen

Ich füge diese Antwort hinzu, obwohl sie (wahrscheinlich) nicht direkt mit der obigen spezifischen Frage zusammenhängt, ist sie in einigen Fällen relevant.

Wenn die statischen IP / DHCP-Einstellungen eines Systems falsch sind, ist dies falsch kann als indirekter Nebeneffekt auftreten.

In meinem speziellen Fall hatte ich einen Linux-Computer, auf dem ich Standorte verschoben und die Netzwerkeinstellungen geändert habe ngs für.

Ich habe vergessen, sie in /etc/dhcpcd.conf zu aktualisieren, als ich den Computer wieder zurückbewegt habe.

Dies ist meine dhcpcd.conf

interface eth0 static ip_address=192.168.1.8/24 static routers=192.168.1.254 #static routers=192.168.1.1 static domain_name_servers=127.0.0.1 

Als “ defekt war „, ich hatte die Zeile static routers=192.168.1.254 auskommentiert und die Zeile unter #static routers=192.168.1.1 war nicht kommentiert.

Dies führte dann dazu, dass arp einen ungültigen Eintrag anzeigt (“ unvollständig „) für die Adresse 192.168.1.1.

Obwohl ich dieses System erst vor einer Woche verschoben und vor einigen Tagen wieder verschoben habe, hatte ich absolut keine Ahnung, was los war damit. Soweit ich das beurteilen konnte, konnte ich es mit meinem lokalen Netzwerk verbinden, ssh in Ordnung, und es gab keine Probleme mit ip addr. traceroute zeigte ebenfalls keine nützlichen Informationen an. Es wurde lediglich vorgeschlagen, dass alle Abfragen über einen einzigen Hop an “ Hostname des Computers „. Offensichtlich machte das keinen Sinn und war falsch, aber es gab mir keinen Hinweis darauf, was das Problem war – es implizierte, dass alle Anfragen (irgendwie) auf dem gelöst wurden gleiche Maschine. Dieser Computer führt übrigens DNS aus.

Nicht direkt mit der OP-Frage verbunden, kann aber für andere, die dieses Problem in Zukunft haben, sehr nützlich sein, und dies ist der einzige Weg, den Sie bisher gefunden haben diagnostizieren Sie es, da sonst nicht viel falsch zu sein scheint!

Nur einige Hinweise, wie ich dies diagnostiziert habe

  • Wenn Sie diesen Computer als DNS-Server für andere Computer auf dem Computer verwenden Netzwerk konnten diese Computer externe DNS-Anforderungen nicht auflösen.
  • Ich konnte ssh in den DNS-Server (dies wäre zu erwarten, da seine IP statisch eingestellt ist, und der Switch / Router erwartet auch einen Computer mit diesem statische IP-Adresse, die über den Switch mit dem lokalen Ethernet verbunden ist.
  • Das erste, was auf ein Problem hinwies, war, dass sudo apt update fehlgeschlagen ist. (Da es sich um einen DNS-Server handelt, verfügt er über keine grafische Oberfläche. Obwohl das Ausführen eines Webbrowsers dieses Problem viel früher oder über das Symbol in der Netzwerk-Desktop-Taskleiste angezeigt hätte, gibt es keine dieser Funktionen.)
  • ping 8.8.8.8 schlug ebenfalls fehl, jedoch waren ssh und das Pingen lokaler Computer in Ordnung.
  • Ich habe /etc/network/interfaces[.d] jedoch waren alle Dateien in diesen Verzeichnissen leer / auf Standardwerte gesetzt, da die DNS-Software diese verwaltet.
  • Es gab keine Fehler / Warnungen in der DNS-Software, wenn eine Verbindung zum DNS-Server über die mitgelieferte Weboberfläche hergestellt wurde / li>
  • Ich habe angefangen, Dinge wie ip addr (keine Probleme) und arp zu überprüfen. Ich habe bereits gab nicht an, was das Problem sein könnte, sondern zeigte an, dass etwas Seltsames vor sich ging.
  • Nach Gründen suchen, warum arp möglicherweise einen unvollständigen Eintrag hat, der mich in die richtige Richtung geführt hat
  • Ich habe diese Frage gefunden ( https://serverfault.com/questions/765380/when-do-stale-arp-entries-become-failed-when-never-used ) und begann zu untersuchen, wie Arp-Einträge entfernt werden
  • Ich entferne den Eintrag mit arp -d 192.168.1.1
  • Es kam jedoch immer wieder zurück
  • Ich habe versucht, von einem anderen Netzwerk aus eine Verbindung zu 192.168.1.1 in meinem lokalen Netzwerk herzustellen Ich war jedoch nicht überrascht, dass ich dies nicht tun oder pingen konnte, da sich in meinem Netzwerk keine Computer mit dieser Adresse befinden.
  • Normalerweise ist diese Adresse die Adresse Ihres Gateways / eines ISP-Routers in Heimanwendungen
  • Dies erinnerte mich daran, dass ich am anderen Speicherort einen Netzwerkadapter mit der Adresse 192.168.1.1 eingerichtet hatte und dass der Computer mit dieser Adresse verbunden war wurde als Router verwendet, um die Netzwerke 192.168.0.X und 192.168.1.X
  • Der ursprüngliche Speicherort befindet sich im Netzwerk 192.168.1.X. Der Speicherort, an den ich verschoben habe, befand sich im 192.168.0.X

  • Da die meisten 192.168.1.X/24 Netzwerke verwenden 192.168.1.1 als Standard-Gateway, da diese IP anfangs keinen Verdacht aufkommen ließ und nicht “ seltsam “ aus irgendeinem Grund
  • Ich habe jedoch das Standard-Gateway in dhcpcd.conf geändert Geben Sie dem Router-Adapter / der Netzwerkkarte eine seltsame statische IP-Adresse wie – das kann helfen, sich selbst zu erinnern oder auf etwas Außergewöhnliches hinzuweisen, das irgendwo in einer Einstellungsdatei festgelegt ist.

Kommentare

  • Leider sind Host / Server-Konfigurationen hier nicht zum Thema gehörend, können jedoch unter Serverfehler für ein Unternehmen behandelt werden s Netzwerk.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.