Wie funktioniert der Ping-Befehl wirklich? Wo genau kommt das ARP (Address Resolution Protocol) ins Bild?
Diese Frage wurde mir in einem Interview gestellt und ich konnte mir kein Szenario ausdenken, in dem ARP verwendet werden könnte.
Wie funktioniert der Ping-Befehl wirklich? Wo genau kommt das ARP (Address Resolution Protocol) ins Bild?
Diese Frage wurde mir in einem Interview gestellt und ich konnte mir kein Szenario ausdenken, in dem ARP verwendet werden könnte.
Antworten:
Wenn Sie wirklich verstehen wollen, gibt es hier ein exzellentes (sehr gut geschriebenes) Whitepaper:
http://images.globalknowledge.com/wwwimages/whitepaperpdf/WP_Mays_Ping.pdf
Hier ist die Zusammenfassung ->
Ping (Program on the application layer)
------->
Opens a 'raw' socket to IP Layer
------>
IP layer (Layer 2 on OSI) packages ICMP packet and sends it
Da es keine TCP-Schicht dazwischen gibt, Ping (program)
muss der alle eingehenden ICMP-Pakete überwachen und nur die vom Ziel filtern.
Hoffentlich hilft das.
Angenommen, der Ping beinhaltet, dass ein Paket über ein Ethernet- oder WiFi-Netzwerk gesendet wird, wird ARP verwendet, um die Ethernet-Hardwareadresse des Geräts zu ermitteln, das das ausgehende Paket empfängt. In der Regel ist dies der Router für das LAN, in dem sich der Computer befindet, von dem der Ping stammt.
Der typische Prozess ist:
Sie geben einen Befehl zum Pingen eines Ziels ein.
DNS wird verwendet, um die IP-Adresse zu ermitteln (falls erforderlich).
Die Routing-Tabelle wird konsultiert, um den nächsten Sprung in Richtung dieses Ziels zu finden.
ARP wird verwendet, um die Hardwareadresse des nächsten Hops zu ermitteln.
Das IP-Paket wird in einem Ethernet- oder WiFi-Frame gekapselt an den nächsten Hop gesendet.
Ping besteht eigentlich aus zwei verschiedenen ICMP-Paketen (Internet Control Message Protocol).
Um einen Host zu pingen, senden Sie zuerst ein ICMP-Echo-Anforderungspaket. Der Host antwortet dann mit einer ICMP-Echo-Antwort.
Weitere Informationen finden Sie unter: https://en.wikipedia.org/wiki/Ping_(networking_utility)
Ping und ARP sind verschiedene Dinge, die sich auf verschiedenen Ebenen im Netzwerkprotokollstapel befinden.
Ping befindet sich auf Netzwerkebene (oder Internetebene - Sehen Sie sich das ICMP- Protokoll an, wie von @ServerMonkey beschrieben).
Das Arp-Protokoll befindet sich auf Verbindungsebene (eine niedrigere Ebene). Das Arp-Protokoll ermöglicht eine physische Verbindung zwischen Netzwerkhardware, die direkt verbunden ist.
Im TCP / IP-Netzwerkstapel verwendet jede Schicht die darunter liegende Schicht, um ihre Daten weiterzuleiten, und kapselt sie in das Protokoll auf niedriger Ebene. Jede Ebene ist unabhängig von der anderen und kennt möglicherweise die spezifischen Details und Implementierungen der anderen Ebenen nicht (dies ist nicht immer der Fall: siehe Cross-Layer-Funktion ).
ARP stellt eine MAC-Adresse bereit, aber manchmal wird die Broadcast-Adresse verwendet, wenn keine DMAC-Adresse vorhanden ist.
Dieser Frame, der Broadcast-DMAC verwendet, wird als ARP-Broadcast-Frame bezeichnet. Hiermit erhalten wir die DMAC-Adresse.