一、ARP协议的作用。

ARP只在局域网内生效,啥意思呢?就是ARP报文是局域网广播报文。通过ARP报文,我们就可以得知目的IP的MAC地址,从而发起通信。

二、ARP报文格式

如下图所示:
image.png
ARP 报文总长度为 28 字节,MAC 地址长度为 6 字节,IP 地址长度为 4 字节。

其中,每个字段的含义如下。

字段 含义
硬件类型 指明了发送方想知道的硬件接口类型,以太网的值为 1。
协议类型 表示要映射的协议地址类型。它的值为 0x0800,表示 IP 地址。
硬件地址长度和协议长度 分别指出硬件地址和协议的长度,以字节为单位。对于以太网上 IP 地址的ARP请求或应答来说,它们的值分别为 6 和 4。
操作类型 用来表示这个报文的类型,ARP 请求为 1,ARP 响应为 2,RARP 请求为 3,RARP 响应为 4
发送方 MAC 地址 发送方设备的硬件地址。
发送方 IP 地址 发送方设备的 IP 地址。
目标 MAC 地址 接收方设备的硬件地址。
目标 IP 地址 接收方设备的IP地址。

三、ARP报文实例

3.1 ARP request

如果是发起ARP报文,那么硬件类型为1,协议类型为0x0800,硬件地址长度和协议长度分别为6和4,操作类型为1,发送方MAC就为发起的MAC地址,发送方IP就为本机的IP地址,目标MAC为全0的广播地址,目标IP地址就为请求的MAC地址。

3.2 ARP response

如果是返回ARP请求报文,前面几项都是固定不变的,操作类型是2,发送方MAC即目标机器的MAC,IP同理,目标MAC为ARP request中的发送方MAC,目标IP地址同理。