ARP详细介绍

ARP详细介绍

ARP详细介绍

地址解析协议,根据IP地址获取MAC地址,还能检测地址是否有重复

动态ARP

广播ARP报文寻找目标IP的MAC地址

主机1通过发送ARP Request报文获取主机2的MAC地址

​ 由于不知道目的MAC地址,因此ARP Request报文內目的MAC地址为0

ARP Request是广播数据帧,因此交换机收到后,会对该帧执行泛洪操作

所有主机接收到ARP Request报文后,都会检查他的目的IP与自身的IP地址是否匹配

主机2发现IP地址匹配,则会将ARP报文中的发送端MAC地址和发送端IP记录到自己的ARP缓存表中

主机2通过发送ARP Reply报文来响应主机1的请求,此时主机2已知主机1的MAC地址,因此ARP Replay是单播数据帧

交换机收到单播数据帧后进行转发

路由器在正常情况下不会执行ARP泛洪,因为ARP是工作在数据链路层(第二层)的协议,而路由器主要工作在网络层(第三层)

但是某些路由器支持ARP代理功能,或者某些网络故障或配置错误的情况下,路由器可能会意外地参与ARP泛洪,如果路由器的某个接口被错误地配置为同一子网内的两个不同IP地址的网关,或者网络中存在环路导致ARP请求被无限循环地广播

命令

用途

show ip arp

思科查看arp缓存表

show int e0/0

查看接口MAC地址

display arp brief

华为查看arp缓存表

arp -a

PC查看ARP缓存表

arp -a -N ip

PC查看某一个IP对应的MAC地址

为什么第一个包会ping不通?

因为第一个包是ARP协议在探测

动态ARP表项由ARP协议通过ARP报文自动生成和维护,可以被老化,可以被新的ARP报文更新,可以被静态ARP表项覆盖

缺省情况下,动态ARP表项的老化超时时间为1200秒(20分钟)

​ *被老化指动态ARP表项在一段特定的时间(即老化时间)内如果没有被再次使用或更新,将会被自动从ARP缓存表中删除的过程

静态ARP

静态ARP表项是由网络管理员手工建立的IP地址和MAC地址之间固定的映射关系

静态ARP表项不会被老化,不会被动态ARP表项覆盖

短静态ARP表项:手工建立映射关系时,未同时指定VLAN和出接口

长静态ARP表项:手工建立映射关系时,同时指定该ARP表项所在VLAN和出接口,可以直接用于报文转发

华为命令

用途

arp static ip mac

设置静态ARP

display arp all

查看arp表项

arp expire-time expire-time

设置动态ARP表项的老化超时时间

免费ARP

设备主动使用自己的IP地址作为目的IP地址发送ARP请求

IP地址冲突检测:当设备接口的协议状态变为Up时,设备主动对外发送免费ARP报文

正常情况下不会收到ARP应答,如果收到,则表明本网络中存在与自身IP地址重复的地址

如果检测到IP地址冲突,设备会周期性的广播发送免费ARP应答报文,直到冲突解除

通告一个新的MAC地址:发送方更换了网卡,MAC地址变化了,为了能够在动态ARP表项老化前通告网络中其他设备,发送方可以发送一个免费ARP

在VRRP备份组中用来通告主备发生变换:发生主备变换后,MASTER设备会广播发送一个免费ARP报文来通告发生了主备变换

设备收到免费ARP报文后,进行如下判断:

收到免费ARP报文,发现源IP地址和自己的IP地址相同:

周期性的广播发送免费ARP应答报文,告知此IP地址在网络中存在冲突,直到冲突解除

收到免费ARP报文,源IP地址和自己的IP地址不同:

免费ARP报文是在VLANIF接口收到的,并且设备上已经有免费ARP报文中源IP地址对应的动态ARP表项,则进行ARP学习,即根据收到的免费ARP报文更新该ARP表项

其余情况收到免费ARP报文后均不进行ARP学习

路由式ARP代理

在上述例子的组网中,主机A需要与主机B通信时,目的IP地址与本机的IP地址位于不同网络,但是由于主机A未配置网关,所以它将会以广播形式发送ARP Request报文,请求主机B的MAC地址

但是,广播报文无法被路由器转发,所以主机B无法收到主机A的ARP请求报文,当然也就无法应答

在路由器上启用代理ARP功能,就可以解决这个问题

启用代理ARP后,路由器收到这样的请求,会查找路由表,如果存在主机B的路由表项,路由器将会使用自己的G0/0/0接口的MAC地址来回应该ARP Request

主机A收到ARP Reply后,将以路由器的G0/0/0接口MAC地址作为目的MAC地址进行数据转发

接口下开启arp :arp-proxy enable (默认关闭)

总结:

ARP代理:

当PC没有设置网关,路由器收到一个ARP请求,但是该请求包的目的地址与收到该ARP包的接口IP不一致,并且路由器的路由表中有去往该目的的网关则会把自己接口的MAC地址回复给请求者,PC本地会对每个去往目的条目都产生一条“目的IP+网关MAC”的缓存

当目的比较多时则产生的缓存条目也非常多,占用内存,所以建议PC一定要设网关

ARP代理默认关闭

ARP 代理的条件

路由器拥有去往目标IP的路由

接收到arp查询的接口的IP地址和arp请求的目标IP本在一个网段

← 上一篇: 如何用 Transmission 做种
下一篇: 中国大陆保修服务 →

相关推荐