前言

  网络设备有数据要发送给另一台网络设备时,必须要知道对方的网络层地址(即IP地址)。IP地址由网络层来提供,但是仅有IP地址是不够的,IP数据报文必须封装成帧才能通过数据链路进行发送。数据帧必须要包含目的MAC地址,因此发送端还必须获取到目的MAC地址。通过目的IP地址而获取目的MAC地址的过程是由ARP(Address Resolution Protocol)协议来实现的。


一、ARP访问流程

ARP协议理解学习

  1、数据链路层在进行数据封装时,需要目的MAC地址,如果可以在ARP缓存表中查看到对应目的IP映射的MAC地址,可以直接进行访问,如果不在缓存表中的话,进行第二步。
  2、不在ARP缓存表中时,通过广播形式访问,目的MAC地址全为1。
  3、主机B接收到广播报文,比较目的IP地址,如果是一样,先将源MAC地址,IP地址记录在ARP缓存表中,并单播发给主机A,说我就是你要找的。
  4、主机A接收到主机B的应答之后,把MAC地址、IP地址保存缓存表中,并将数据与MAC地址封装发给主机B,主机B收到后,把地址和mac地址记录缓存表中。

二、ARP报文介绍

Hardware type 硬件类型,标识链路层协议
Protocol type 协议类型,标识网络层协议
Hardware size 硬件地址大小,标识MAC地址长度,这里是6个字节(48bit)
Protocol size 协议地址大小,标识IP地址长度,这里是4个字节(32bit)
Opcode 操作代码,标识ARP数据包类型,1表示请求,2表示回应
Sender MAC address 源MAC
Sender IP address 源IP
Target MAC address 目的MAC
Target IP address 目的IP

ARP协议理解学习

总结

了解ARP寻址过程
查看ARP报文格式、介绍

相关文章: