一、什么是ARP
ARP英语全称为 Address Resolution Protocol, 即地址解析协议。它是一种将IP地址解析为以太网MAC地址的协议。
二、ARP的作用
在局域网中,不同的网络设备或主机进行通信,是需要在以太网报文中封装物理地址(MAC地址),这样才知道报文是从哪个接口发送出去。 而ARP协议的作用就是把三层的IP和二层的MAC地址映射起来。 通过IP地址找到对应出接口的MAC地址。
三、ARP的报文格式
硬件类型: 表示硬件地址类型,一般为1. 以太网类型.
协议类型:表示要映射的的协议地址类型.值为0x0800,即IP地址.
硬件地址长度:MAC地址长度 以字节为单位 长度为 6.
协议地址长度: IP 地址长度,长度为4.
操作类型: 1表示ARP 请求, 2 表示ARP应答.
发送端MAC地址:发送设备的硬件地址
发送端IP地址: 发送设备的IP地址
目标MAC地址: 接收方设备的硬件地址
目的IP地址:接收设备的IP地址.
四 : ARP报文的交互过程
当主机或网络设备有数据要发送时,在封装报文时需要知道知道对端的MAC地址,这时会查找ARP缓存表项,如果找到就把目的MAC地址填入到报文中,如果找不到就把要发送的报文缓存起来,发送ARP请求,原地址为出接口的IP地址,原MAC为出接口的MAC,目的IP地址为请求的IP地址,目的MAC为全0的MAC。该报文是广播报文,该局域网段内的所有主机或网络设备都会收到该报文。收到ARP请求的设备,会查看请求的目的地址是否为自己的IP地址,如果不是则丢弃该报文。如果是在把自己的MAC地址以单播的发送给请求的设备(ARP reply)。主机收到ARP应答后,会更新自己的ARP缓存表。取出要发送的报文,填充MAC地址发送出去。