Address Resolution Protocols (ARP) befassen sich mit der Art und Weise, wie lokale IP-Adressen zwischen Computern in einem Netzwerk aufgelöst werden.
Stellen Sie sich einfach vor, Sie haben einen Computer wie einen Laptop und möchten mit Ihrem Raspberry PI kommunizieren, der beide als Teil Ihrer lokalen Breitbandverbindung angeschlossen ist.
Sie können im Allgemeinen sehen, ob der Raspberry PI im Netzwerk verfügbar ist, indem Sie einen Ping-Befehl ausführen. Sobald Sie einen Ping an den Himbeer-PI senden oder eine andere Verbindung mit dem Himbeer-PI herstellen, werden Sie die Notwendigkeit der Adressauflösung loslegen. Betrachten Sie es als eine Form des Handshakes.
Der ARP vergleicht die Adress- und Subnetzmasken des Hosts und des Zielcomputers. Wenn diese übereinstimmen, wurde die Adresse effektiv in das lokale Netzwerk aufgelöst.
Wie funktioniert dieser Prozess eigentlich?
Ihr Computer verfügt über einen ARP-Cache, auf den zuerst zugegriffen wird, um die Adresse aufzulösen.
Wenn der Cache nicht die zum Auflösen der Adresse erforderlichen Informationen enthält, wird eine Anforderung an jeden Rechner im Netzwerk gesendet.
Wenn bei einem Computer im Netzwerk nicht nach der IP-Adresse gesucht wird, wird die Anforderung einfach ignoriert. Wenn der Computer jedoch übereinstimmt, fügt er die Informationen für den aufrufenden Computer seinem eigenen ARP-Cache hinzu. Es sendet dann eine Antwort an den ursprünglich anrufenden Computer.
Nach Erhalt der Bestätigung der Adresse des Zielcomputers wird die Verbindung hergestellt, sodass ein Ping oder eine andere Netzwerkanforderung verarbeitet werden kann.
Die tatsächliche Information, die der Quellcomputer vom Zielcomputer sucht, ist seine MAC-Adresse oder wird manchmal als HW-Adresse bezeichnet.
Ein Arbeitsbeispiel mit dem ARP-Befehl
Um dies verständlicher zu machen, müssen Sie zwei Computer an Ihr Netzwerk anschließen.
Stellen Sie sicher, dass beide Computer eingeschaltet sind und eine Verbindung zum Internet herstellen können.
Öffnen Sie nun ein Terminalfenster mit Linux und geben Sie den folgenden Befehl ein:
Arp
Die angezeigten Informationen sind die Informationen, die aktuell im ARP-Cache Ihres Computers gespeichert sind.
Die Ergebnisse zeigen möglicherweise nur Ihren Computer an, möglicherweise wird überhaupt nichts angezeigt, oder die Ergebnisse enthalten möglicherweise den Namen des anderen Computers, wenn Sie zuvor eine Verbindung mit dem Computer hergestellt haben.
Die vom arp-Befehl bereitgestellten Informationen lauten wie folgt:
- Adresse
- HW-Typ
- HW-Adresse
- Flaggen
- Maske
- IFace
Wenn Sie nichts angezeigt haben, machen Sie sich keine Sorgen, da sich dies in Kürze ändern wird. Wenn Sie den anderen Computer sehen, werden Sie wahrscheinlich feststellen, dass die HW-Adresse auf "(unvollständig)" gesetzt ist.
Sie müssen den Namen des Computers kennen, zu dem Sie eine Verbindung herstellen. In meinem Fall verbinde ich mich mit meinem Raspberry PI Zero.
Führen Sie im Terminal den folgenden Befehl aus, um die Wörter raspberrypizero durch den Namen des Computers zu ersetzen, zu dem Sie eine Verbindung herstellen.
ping raspberrypizero
Was passiert ist, ist, dass der Computer, den Sie verwenden, in seinem ARP-Cache gesucht hat und festgestellt hat, dass er keine oder nur unzureichende Informationen über den Computer hat, den Sie anpingen möchten. Es hat daher eine Anfrage über das Netzwerk gesendet, in der alle anderen Computer im Netzwerk gefragt werden, ob sie tatsächlich der Computer sind, nach dem Sie suchen.
Jeder Computer im Netzwerk prüft die angeforderte IP-Adresse und Maske, und alle außer demjenigen, der über diese IP-Adresse verfügt, verwerfen die Anforderung.
Der Computer, der die angeforderte IP-Adresse und Maske hat, ruft "Hey, das bin ich!" und sendet seine HW-Adresse an den anfragenden Computer zurück. Dies wird dann zum ARP-Cache des aufrufenden Computers hinzugefügt.
Glaub mir nicht Führen Sie den arp-Befehl erneut aus.
Arp
Diesmal sollten Sie den Namen des Computers sehen, den Sie anpingen, und Sie sehen auch die HW-Adresse.
Zeigen Sie die IP-Adressen anstelle des Hostnamens des Computers an
Standardmäßig zeigt der Befehl arp den Hostnamen der Elemente im ARP-Cache an. Sie können jedoch die Anzeige von IP-Adressen mit dem folgenden Schalter erzwingen:
arp -n
Alternativ möchten Sie möglicherweise den folgenden Schalter verwenden, der die Ausgabe auf andere Weise anzeigt:
arp -a
Die Ausgabe des obigen Befehls wird wie folgt aussehen:
Raspberrypi (172.16.15.254) bei d4: ca: 6d: 0e: d6: 19 Ether auf wlp2s0
Diesmal erhalten Sie den Namen des Computers, die IP-Adresse, die HW-Adresse, den HW-Typ und das Netzwerk.
So löschen Sie Einträge aus dem ARP-Cache
Der ARP-Cache hält sich nicht sehr lange an seinen Daten. Wenn Sie jedoch Probleme haben, eine Verbindung zu einem bestimmten Computer herzustellen, und Sie vermuten, dass die Adressdaten falsch sind, können Sie einen Eintrag auf folgende Weise aus dem Cache löschen.
Führen Sie zuerst den Befehl arp aus, um die HW-Adresse des Eintrags abzurufen, den Sie entfernen möchten.
Führen Sie nun den folgenden Befehl aus:
arp -d HWADDR
Ersetzen Sie HWADDR durch die HW-Adresse für den Eintrag, den Sie entfernen möchten.
Zusammenfassung
Der Befehl arp wird normalerweise nicht von Ihrem durchschnittlichen Computerbenutzer verwendet und ist nur für die meisten Personen relevant, wenn Sie Netzwerkprobleme beheben.