ARP_MAXAGE 相关,默认为 240 x 5000ms = 20 分钟。ARP_AGE_REREQUEST_USED 控制)存活时间时,lwIP 重发 ARP 请求。ARP_TMR_INTERVAL 秒,默认为 5 x 2 = 10 秒。ETHARP_FLAG_TRY_HARD 控制。s8_t 类型决定的)。IPADDR_ANY (0.0.0.0)、IPADDR_BROADCAST (255.255.255.255)、多播 IP 均不会写入 ARP 表。IP 广播设备出现 ARP 风暴。
局域网中有几十台 IP 广播系统,此外还有若干人员定位系统、安全监控系统。现场反馈,只要 IP 广播系统的主机断网(拔网线或者禁用网卡),局域网中的设备有很大概率全部会断网,疑似交换机瘫痪。
交换机厂家去了现场捕获到了数据,发现 IP 广播大量发送 ARP 请求数据包,造成了交换机瘫痪。
在查找 IP 广播为什么会大量发送 ARP 请求数据包的过程中,发现了一个异常点:
IP 广播在连着上位机时,应该每隔 19 分钟向上位机发送一次 ARP 请求,但是抓包数据表明,这个时间缩短到了十几秒。
这是很反常的。
同时进行的测试发现,当局域网中的 ARP 数据包越多, 这个时间越小,可以小到毫秒级。局域网中几十台 IP 广播相互影响,组成了一个正反馈,形成 ARP 风暴。
正是因为发现了 ARP 请求时间异常这个现象,才最终找到了 BUG 所在。
读后有收获,资助博主养娃 - 千金难买知识,但可以买好多奶粉 (〃‘▽’〃)
