ARP表
ARP表中保存着IP地址和MAC地址的映射关系,用于数据转发封装二层提供其对应IP地址的MAC
ARP表项的类型
初始状态下我们使用display arp all可以看到路由器有自己的两个出接口对应ARP表项
- 静态ARP(S - Static)
[AR1]arp static 10.1.1.1 5489-9842-2479 绑定静态ARP
- 动态ARP(D - Dynamic)
当PC1(10.1.2.1)去Ping PC2(10.1.1.1)时我们查看路由表的ARP表项
- 临时ARP(Incomplete)
当PC1(10.1.2.1)去Ping10.1.1.2时我们查看路由表的ARP表项
当PC2(10.1.1.1)去Ping10.1.2.2时我们查看路由表的ARP表项
细心的你一定发现了点不对劲这个Incomplete为何会出现在这里?是什么?有什么用处?
Incomplete为何会出现?
由于PC请求目的IP同网段但并不存在的IP地址时,会在ARP表中生成一个临时的ARP表项
Incomplete是什么?
系统产生的临时ARP表项,老化时间3s
如上图查看ARP表项时,如果MAC ADDRESS字段显示为“Incomplete”,表示当前表项为临时ARP表项,临时ARP表项无法指导报文转发。当IP报文触发ARP Miss消息时,设备会根据ARP Miss消息生成临时ARP表项,并且向目的网段发送ARP请求报文。
- 在临时ARP表项老化时间范围内:
设备收到ARP应答报文前,匹配临时ARP表项的IP报文将被丢弃并且不会触发ARP Miss消息。设备收到ARP应答报文后,则生成正确的ARP表项来替换临时ARP表项。
- 在临时ARP表项老化超时后,设备会清除临时ARP表项,老化时间为3s。
临时表项有什么用处?
防止大量的同网段不存在的ARP请求导致cup负载。
临时ARP表项的原理过程
- 当网络中有用户向设备发送大量目标IP地址不能解析的IP报文,IP报文会触发ARP Miss消息
- 设备会根据ARP Miss消息生成临时ARP表项,并且向目的网段发送ARP请求报文
- 在临时ARP表项老化时间内收到匹配临时ARP表项的IP报文将被丢弃并且不会触发ARP Miss消息
- 设备收到ARP应答报文后,则生成正确的ARP表项来替换临时ARP表项
- 老化时间3s过后,设备会清空临时ARP表项
- 以此往返轮询
什么是ARP Miss?
同网段但是无下一跳,这时将导致设备触发ARP Miss消息。
此时,这种触发ARP Miss消息的IP报文(即ARP Miss报文)会被上送到CPU进行处理,设备会根据ARP Miss消息生成和下发临时ARP表项并向目的网络发送ARP请求报文。
如果网络中有用户向设备发送大量目标IP地址不能解析的IP报文(即路由表中存在该IP报文的目的IP对应的路由表项,但设备上没有该路由表项中下一跳对应的ARP表项),将导致设备触发大量的ARP Miss消息并向目的网络发送大量ARP请求报文,这样就增加了设备CPU的负担,同时严重消耗目的网络的带宽资源。