Помните, когда мы ищем MAC-адрес с помощью ARP, он сначала проверяет локально сохраненный ARP-кэш в нашей системе. Вы можете просмотреть этот кэш:
pete@icebox:~$ arp
Address HWtype HWaddress Flags Mask Iface
192.168.22.1 ether 00:12:24:fc:12:cc C eth0
192.168.22.254 ether 00:12:45:f2:84:64 C eth0
ARP-кэш фактически пуст при загрузке машины; он заполняется по мере отправки пакетов другим хостам. Если мы отправляем пакет адресату, которого нет в ARP-кэше, происходит следующее:
- Исходный хост создает Ethernet-кадр с ARP-запросом.
- Исходный хост широковещательно рассылает этот кадр по всей сети.
- Если один из хостов в сети знает правильный MAC-адрес, он отправит ответный пакет и кадр, содержащий MAC-адрес.
- Исходный хост добавляет сопоставление IP-адреса с MAC-адресом в ARP-кэш, а затем приступает к отправке пакета.
Вы также можете просмотреть свой ARP-кэш с помощью команды ip:
ip neighbour show