首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >端点MAC地址变化检测

端点MAC地址变化检测
EN

Network Engineering用户
提问于 2018-04-03 10:57:14
回答 2查看 972关注 0票数 1

一个关于网关mac地址改变时主机行为的问题(虽然它处理Windows,但我认为它是最好的论坛)。

假设windows主机将trafic发送到目标IP,则windows使用ARP表将trafic发送到网关MAC地址。假设此网关MAC地址更改(未启用永久MAC地址的堆栈故障转移,或其他情况),windows如何检测MAC地址更改?这个检测需要多长时间?

EN

回答 2

Network Engineering用户

回答已采纳

发布于 2018-04-03 11:38:55

主机(Windows或任何其他)试图通过尽可能多的方法保持其ARP表的准确性。通常,缓存条目有一个超时,并且在确认了这个地址(通常在60到1500秒范围内)之后,它就被丢弃了--但这只是为了处理最坏的情况。它还将在许多其他条件下更迅速地更新它,特别是来自该另一个主机的任何传入数据包。

在您描述的情况下,如果路由器突然改变中间通信量中的以太网地址,通常会有许多TCP连接进行通信。其中之一很可能是一个数据包,从路由器,带有新的以太网地址,到PC。此时,PC会执行缓存,并启动计时器。如果下一个数据包是传出的,则PC在执行TCP重试时可以使其缓存项失效,并执行正常的ARP请求。(给定的操作系统是否会这样做,这是其他地方的话题。)如果传出的流量是仅发送的(也许是syslog over UDP),并且确实没有来自路由器的任何消息,那么PC将不知道任何有关更改的信息,并且在我们上次收到路由器的消息后,这个缓存条目将过期--这将是最后一个ARP回复。

通常情况是,当任何主机更改以太网(或IP)地址时,它都会发送ARP公告数据包,将新的详细信息告知所有其他主机。

最坏的情况是,PC一直将一些东西发送到旧的以太网地址,直到缓存超时,然后发出新的ARP请求并恢复数据包传递。

ARP RFC 826确实是推荐的读物。地址冲突RFC 5227也涵盖了许多好的案例。

仅仅对于一个postscript,路由器改变MAC地址是非常罕见的,除非( a)它实际上是一个不同的路由器,或者( b)有某种类型的重新配置。为了解决没有良好路由协议的主机的单点故障问题,热备路由器协议和类似的协议提供了由多个路由器共享以太网地址的方法。(HSRP RFC 2281,VRRP RFC 5798)。

票数 5
EN

Network Engineering用户

发布于 2018-04-03 11:20:46

ARP表中的条目具有有限的生存期。

当它们过时时,ARP进程将它们从表中删除,下次需要与相关IP地址通信时,它将执行一个ARP请求,以查找此IP地址的MAC地址-being相同或一个新地址。

此外,该条目在使用时不会刷新,因此它将在生存期值之后始终被丢弃,而不管流量如何。

因此,如果任何MAC地址更改,与相应主机的通信将失败,直到ARP条目过期和APR表被更新。

在发生变化的情况下,可以发送无偿的arp通知主机更改,但这是设备依赖的。

票数 4
EN
页面原文内容由Network Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://networkengineering.stackexchange.com/questions/49611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档