ARP(Address Resolution Protocol)地址解析协议
ARP协议是辅助链路层传输的,在已经知道下一站路由器的IP地址后,要将以太网包发送给目的地址,但是以太网需要的是目的mac地址不是IP地址,而通过ARP请求包就可以获得目的IP地址的mac地址。
ARP请求的过程:源主机以广播的形式,发送一个ARP请求包,所有与源主机在直连的主机都会收到一个请求包,如下图所示,请求包询问目的IP地址的mac地址,目的IP地址的主机收到这个请求后,发送一个ARP应答,告诉源主机自己的mac地址。
ARP请求/应答包的数据格式如下图所示。ARP硬件类型首部中硬件类型表示链路层的协议,以太网为1;协议类型表示网络层协议,IP协议为0x0800。
为了减少ARP的请求次数,在主机和路由中存在一个ARP的缓存表,这张表中保存了最近用到的IP地址与mac地址的对应关系。用arp -a命令可以查询主机的arp缓存表