ARP地址解析协议
起源: 数据链路上的设备需要一种方法来发现邻居的数据链路标识(MAC地址),以便将数据帧传送到正确的目的地。
1.ARP的工作机制
当一台设备需要发现另一台设备的数据链路标识(MAC)时,它将建立一个ARP请求数据包。
ARP请求数据包包括
1.目标设备的IPV4地址
2.请求设备(发送者)的源IPV4地址
3.请求设备(发送者)的数据链路标识(MAC地址)
然后ARP请求数据包将被封装到数据帧中,其中带有作为源的发送者的MAC地址和作为目标的广播地址。
广播地址意味着数据链路上的所有设备将收到该帧,并且检查帧封装的数据包。只有目标才能识别此数据包,其他所有设备将丢弃该数据包;
2. ARP的数据包格式
硬件类型——指定了硬件的类型
协议类型——指定了发送者映射到数据链路标识符(MAC)的网络层协议的类型
硬件地址长度——指定了数据链路标识符的长度
协议地址长度——指定了网络层地址长度
操作——指明了一个数据包是ARP请求,还是ARP响应,反向ARP请求,反向ARP响应,反转ARP请求、反转ARP响应
3.代理ARP
类似于中间商
代理ARP也称为混杂ARP,是被路由器向主机表明自身的一种手段。
例,主机192.168.10.5/24需要向主机192.168.20.5/24发送数据包,但没有配置缺省网关信息,不知道如何到达路由器,向192.168.20.5发送ARP请求,本地路由器收到此请求,但本地路由器知道如何到到192.168.20.5,本地路由器将回复ARP请求,将自己的链路标识符(MAC)作为ARP回复包的硬件地址
4.无故ARP
主机使用自己的IPV4地址作为目标地址发送ARP请求,这种ARP请求称为无故ARP
用途:
1.可用于检查重复地址,向自己的IPV4地址发送请求,如果收到ARP响应则表明存在重复地址
2.可用于通告新的数据链路标识符(MAC),当一台设备收到一个ARP请求,若ARP高速缓存中已有发送者的IPV4地址,那么与此IPV4地址相对应的硬件地址将会被发送者新的硬件地址更新
3.某个子网内运行热备份网关冗余协议(HSRP)的路由器如果从其他路由器变成了主路由器,就会发出一个无故ARP请求来更新该子网上主机的ARP缓存
5.反向ARP(RARP)
可实现IPV4地址到已知硬件地址的映射。
某些设备,启动时不知道自己的IPV4地址,RARP程序可以允许他们发送ARP请求,RARP服务器会回复IPV4地址。