下面我们来学习一下ARP协议报文格式。首先在前面我们对它的基本概念和工作流程已经有了了解了。在这个基础上我们就来讲解一下他的报文格式。ARP协议报文被封装在以太网帧头部中传输,如图所示,是ARP协议请求协议报文头部格式。
ARP协议请求协议报文头部格式
图中黄色的部分是以太网(这里是Ethernet II类型)的帧头部。其中,第一个字段是广播类型的MAC地址:0XFF-FF-FF-FF-FF-FF,其目标是网络上的所有主机。第二个字段是源MAC地址,即请求地址解析的主机MAC地址。第三个字段是协议类型,这里用0X0806代表封装的上层协议是ARP协议协议。
接下来是ARP协议协议报文部分。其中各个字段的含义如下:
硬件类型:表明ARP协议实现在何种类型的网络上。
协议类型:代表解析协议(上层协议)。这里,一般是0800,即IP。
硬件地址长度:MAC地址长度,此处为6个字节。
协议地址长度:IP地址长度,此处为4个字节。
操作类型:代表ARP协议数据包类型。0表示ARP协议请求数据包,1表示ARP协议应答数据包。
源MAC地址:发送端MAC地址。
源IP地址:代表发送端协议地址(IP地址)。
目标MAC地址:目的端MAC地址(待填充)。
目标IP地址:代表目的端协议地址(IP地址)。
ARP协议应答协议报文和ARP协议请求协议报文类似。不同的是,此时,以太网帧头部的目标MAC地址为发送ARP协议地址解析请求的主机的MAC地址,而源MAC地址为被解析的主机的MAC地址。同时,操作类型字段为1,表示ARP协议应答数据包,目标MAC地址字段被填充以目标MAC地址。