ARP请求无应答的原因及解决

一、ARP请求无应答的原因

1.目的网络不存在。
2.arp请求传播时被路由器等一些设备隔离。
3.源主机和目的主机不在同一广播域。

二、抓包分析

原因1、2就不再解释了,下面分析原因3:源主机和目的主机不在同一广播域时arp请求无应答的抓包分析。
如下图所示的网络拓扑图
在这里插入图片描述
PC3:IP地址 192.168.26.3/24
PC4:IP地址 192.168.26.129/27
AR2:GE0/0/0接口 192.168.26.2/27
这里将PC3、PC4的网关设置为192.168.26.2(AR2的GE0/0/0接口)

经过上面的配置后发现,PC3和PC4是相互ping不通的。
各IP地址后24位二进制如下图:
在这里插入图片描述
1、当PC3 ping PC4时,PC3检查发现PC4的ip地址属于自己的一个网段,但PC3没有PC4的MAC地址所以发送目的地址为PC4的ARP广播请求,该广播到达PC4后PC4向PC3发送ARP单播应答告诉PC3我自己的MAC地址。
2、PC3得知PC4的MAC地址后发生ICMP请求报文给PC4。
3、PC4经计算发现PC3的ip地址不属于自己的一个网段,所以会将ICMP应答报文交给网关,所以会发生一个ARP广播请求来获取网关的MAC地址。经抓包发现网关并不会回应PC4发送的ARP广播请求。
在这里插入图片描述
所以互相ping不通的原因就出在PC4获取不到网关的MAC地址,导致PC3的ICMP报文无法发送。
回看PC4和网关的IP地址,掩码都是27位,但是它们互相不在对方的网段内,大致可以理解为PC3和网关处在不同的广播域,所以网关是无法接收到PC4发生的ARP请求广播的

三、解决

经过上面的抓包分析可以得知,其实是网关的掩码配置错误导致无法接收到PC4的ARP请求广播,在不改变主机IP的情况下,只需要将网关所处的广播域包含了PC4的广播域即可解决问题
查看PC4和网关的IP地址二进制表达式可知:
当网关的掩码≤24时,网关所处广播域就包含了PC4的广播域,这时PC4发送的ARP广播就会被网关接收。

网关掩码修改为24位:
在这里插入图片描述

PC3 ping PC4,路由器GE0/0/0接口抓包:
在这里插入图片描述
可以看到网关(192.168.26.2)向PC4(192.168.26.129)发送了ARP单播应答告诉PC4自己的MAC地址。

PC3 ping PC4:
在这里插入图片描述

PC4 ping PC3:
在这里插入图片描述

四、总结

当源主机和目的主机不在同一广播域时,只需将一方的广播域包含另一方的广播域即可。

  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值