初级会员
- 积分
- 71
- 金钱
- 71
- 注册时间
- 2023-3-29
- 在线时间
- 12 小时
|
1金钱
1. 实验目的:探寻嵌入式linux上如何对arp广播风暴进行规避
2. 实验要求:
(1)必须在自有设备上规避arp广播风暴,不能是交换机或路由器
(2)在出现arp广播风暴时不对本设备的主功能程序产生一丁点的影响
3. 实验设备:阿尔法开发板,普通交换机,
4. 实验环境:
(1)阿尔法开发板上运行网络通信程序,主要功能是将开发板采集到的陀螺仪数据通过tcp协议传输到上位机上
(2)将普通交换机的两个网口短接,制造出arp广播风暴的测试环境
5. 实验现象:
只要出现arp广播风暴后,linux的软中断的CPU占用率就会很高,主要表现就是其他主要任务不能及时运行,甚至不运行,同时也无法和上位机联通。
软中断
6. 尝试解决方案
(1)禁用网卡的ARP协议——测试无效
使用 ifconfig eth0 -arp (2)关闭内核的ARP功能——测试无效
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
(3)使用iptables防火墙屏蔽所有广播包(iptables是移植的)——测试无效
iptables -A INPUT -d 255.255.255.255 -j DROP
(4)使用arptables,但是没有找到arptables移植方法,遂无果
(5)自己写了个监测软中断的CPU占用率,在占用率高时关闭网卡的shell脚本,然后在linuxC程序中再开一个线程,每隔1秒运行一下这个脚本——有效,但是反应速度很慢,大概在10s左右,不满足要求
希望可以得到各位大佬的指点!小弟在此谢过。
)
|
|