APR协议
所谓ARP协议,是通过目的主机的IP地址获得目的主机的MAC地址的一个协议,它利用mac帧来进行操作的,因此ARP协议是一种介于数据链路层和网络层的协议。下面来看一下ARP协议的报头信息。
在这里以太网的首部是MAC帧的报头信息,剩下的28个字节是ARP协议的报头消息。
硬件类型:表示底层是以太网还是令牌环网。
协议类型:表示需要转换的地址类型,0x800表示IP协议。
硬件地址长度和协议地址长度都是固定的。
op为1表示ARP请求,op为0表示ARP应答。
后面四个字段不做解释。
ARP协议的具体工作过程如下,假设发送端的IP地址为ip1,MAC地址为mac1,接收端的IP地址为IP2,MAC地址为mac2.发送端首先发起ARP请求,op为1,目的以太网地址为全1,表示广播。数据通过路由到达对端所在网络之后,由于目的mac地址为广播,所以该网络所有主机接收到该报文,去掉mac层的报头信息,把有效载荷交给上层的ARP协议。ARP协议首先看op操作,发现是ARP请求,再看目的IP地址是否为本主机,如果不是,那么直接丢弃,只有是目的ip地址对应的主机会发出APR响应。设置op为0,并且填充好自己的源mac地址,并且它知道发送端的ip地址和MAC地址,做出ARP响应。发送端接受到MAC响应后,首先看op字段,发现是ARP响应,就直接去除响应报文的发送端以太网地址