Jak naprawdę działa polecenie ping? W szczególności, gdzie pojawia się ARP (Address Resolution Protocol)?
Zadano mi to pytanie w wywiadzie i nie byłem w stanie wymyślić scenariusza, w którym można by zastosować ARP.
Jak naprawdę działa polecenie ping? W szczególności, gdzie pojawia się ARP (Address Resolution Protocol)?
Zadano mi to pytanie w wywiadzie i nie byłem w stanie wymyślić scenariusza, w którym można by zastosować ARP.
Odpowiedzi:
Jeśli naprawdę chcesz zrozumieć, znajdziesz tutaj doskonałą (bardzo dobrze napisaną) białą księgę:
http://images.globalknowledge.com/wwwimages/whitepaperpdf/WP_Mays_Ping.pdf
Oto podsumowanie ->
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
Ponieważ pomiędzy nimi nie ma warstwy TCP, Ping (program)
musi monitorować wszystkie przychodzące pakiety ICMP i filtrować tylko te z miejsca docelowego.
Mam nadzieję, że to pomaga.
Zakładając, że ping wymaga wysłania pakietu przez sieć Ethernet lub WiFi, ARP służy do znalezienia adresu sprzętowego Ethernet urządzenia odbierającego pakiet wychodzący. Zazwyczaj jest to router dla sieci LAN, na której znajduje się maszyna inicjująca polecenie ping.
Typowy proces to:
Wprowadź polecenie, aby wysłać polecenie ping do miejsca docelowego.
DNS służy do określania adresu IP (w razie potrzeby).
Tabela routingu jest sprawdzana, aby znaleźć następny przeskok do tego miejsca docelowego.
ARP służy do znalezienia adresu sprzętowego następnego przeskoku.
Pakiet IP jest wysyłany do następnego przeskoku, zamknięty w ramce Ethernet lub WiFi.
Ping to tak naprawdę dwa różne pakiety ICMP (Internet Control Message Protocol).
Aby wysłać polecenie ping do hosta, najpierw wysyłasz pakiet żądania echa ICMP, host następnie odpowiada odpowiedzią echa ICMP.
Aby uzyskać więcej informacji, zobacz: https://en.wikipedia.org/wiki/Ping_(networking_utility)
Ping i ARP to różne rzeczy znajdujące się na różnych warstwach w stosie protokołu sieciowego.
Ping znajduje się w warstwie sieci (lub warstwie internetowej - spójrz na protokół ICMP , jak wskazał @ServerMonkey).
Protokół Arp znajduje się na poziomie łącza (niższy poziom). Protokół Arp umożliwia fizyczne połączenie między sprzętem sieciowym, który jest bezpośrednio podłączony.
W stosie sieciowym TCP / IP każda warstwa wykorzystuje warstwę poniżej do przesyłania swoich danych, hermetyzując je w protokole niskiego poziomu. Każda warstwa jest niezależna od siebie i być może nieświadoma szczegółów i implementacji innych poziomów (nie zawsze jest to prawdą: patrz funkcja między warstwami ).
ARP zapewnia adres MAC, ale czasami, jeśli nie ma adresu DMAC, używany jest adres rozgłoszeniowy.
Ta ramka wykorzystująca rozgłaszanie DMAC jest nazywana ramką rozgłoszeniową ARP, dzięki czemu otrzymujemy adres DMAC.