组播风暴引起的路由系统重启(LLMNR协议)

网络拓扑

一台路由设备连接可以上网的上级,连接方式DHCP,一台中继器,2.4G和5G同时中继到路由设备(双频中继之后,优先走5G),一台chromecast播放视频,一台ipad连接,一台网络摄像头连接,一台PC连接,终端都是连接到中继器下级

组播风暴引起的路由系统重启(LLMNR协议)

问题描述

      使用过程中出现路由器自动重启

问题分析

1.路由器连接串口,top指令查看4核CPU有三个核占用率在90%以上,系统严重卡顿,sirq占用率超过60%

2.分析系统崩溃日志,发现CPU由于负载过高还有长时间被还在那用导致系统出现异常

20200924 11:16:38[169057.540000] INFO: rcu_sched self-detected stall on CPU
20200924 11:16:38[169057.540000]         2-...: (1 GPs behind) idle=311/140000000000001/0 softirq=15057951/15057953 fqs=2100 
20200924 11:16:38[169057.550000]          (t=2101 jiffies g=4642424 c=4642423 q=28772)
20200924 11:16:38[169057.560000] INFO: rcu_sched detected stalls on CPUs/tasks:
20200924 11:16:38[169057.560000]         2-...: (1 GPs behind) idle=311/140000000000001/0 softirq=15057951/15057953 fqs=2101 
20200924 11:16:38[169057.560000]         (detected by 1, t=2102 jiffies, g=4642424, c=4642423, q=28772)
20200924 11:16:38[169057.560000] Task dump for CPU 2:
20200924 11:16:38[169057.560000] ksoftirqd/2     R running      0    18      2 0x00100004
3.wireshark在PC端抓包,看到有LLMNR协议的组播包在疯狂攻击路由器,形成了组播风暴,所以由此判断路由异常是由于组播风暴导致

问题验证

1.将所有设备从中继器连接到路由器,没有任何异常,此时中继器未连接路由器

2.将中继器重新连接到路由器,问题立即出现,由此判断是由于中继器接入导致

3.分析中继器由于是双频同时连接,所以怀疑中继器接入导致环路,断开中继器2.4G连接,发现正常,所以由此判断是中继器2.4G和5G同时连接上级,中继器内部处理出现异常

总结

 遇到此类问题,可以先看下路由是否异常,先排除路由自身问题,然后再逐步缩小范围,同时配合wiresharek或者tcpdump抓包软件,看下是否有环路形成导致。

LLMNR协议介绍

https://blog.****.net/u013258415/article/details/77947610

https://blog.****.net/dayancn/article/details/44343131?utm_medium=distribute.pc_relevant.none-task-blog-baidulandingword-3&spm=1001.2101.3001.4242