ARP缓存表更新条件

经过多次的失败,得出的一点点总结,有需要的朋友可作个参考,也欢迎指正本人的错误。(每个结论都已经验证过!)

收到ARP请求后,更新ARP缓存表和应答的条件:

1,收到一个请求包,若目的mac是硬件广播地址,且目的IP是本机IP,即请求本机mac,则查看ARP缓存表是否有源主机IP与源主机mac
  地址的对应条目,若有且与收到的不一致则更新,若无,则添加,最后构造一个针对请求主机的ARP单播应答包。
2, 收到一个请求包,若目的mac是硬件广播地址,但目的IP不是本机IP,即不是请求本机mac,那么忽略该请求。
(注:实验表明:目的mac是本机网卡mac,且目的IP是本机IP,主机也会作出应答。分析:收到的这个请求包可能发生了错误,因为既然知道了目的主机mac就无需再请求了,但也不排除是其他协议在检测网络状态)。
(结论:只有目的MAC是硬件广播地址,且目的IP是本机IP,才对条目进行添加或者更新,并回复应答包。)

收到ARP应答后,更新缓存表的条件:

1,接收到一个应答包,若目的mac是自己,且目的IP也是自己,若缓存表中已经存在对应的项,则更新该项。若缓存中没有,则忽略。
2,接收到一个应答包,若目的mac是自己,但目的IP不是自己,若缓存表中已经存在对应的项,则更新该项。若缓存中没有,则忽略。
3,接收到一个应到包,若目的mac为广播地址,无论IP是不是自己,处理方式与(1,2)相同。
4,接收到一个应答包,若目的mac不是本机mac也不是硬件广播地址,则ARP协议软件忽略该包。

(结论,若收到的应答包,目的mac地址是硬件广播地址或是者本机网卡地址,无论目的IP是不是本机网卡IP,只要缓存表中已经存在对应的ARP条目,且与收到的应答条目不一致,那么就要更新该条目。若缓存表中没有存在该条目,那么则忽略该应答。
  • 9
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值