- 论坛徽章:
- 0
|
最近发现当用FREEBSD来做NAT的时候,有一个关于网卡工作模式和ARP广播的问题!
分2点来说:
有点网络基础知识的人都知道,ARP广播是通过IP地址来解析MAC地址的。
而在FREEBSD的内核中有这么一项pseudo-device bpfilter 4,当用BSD来做DHCP的时候会用到;同时,此项也决定了网卡是否工作在混杂模式下,如果工作在混杂模式下,那么计算机便捕获经过网卡的数据;反之,如果数据与本机无关,计算机将不予理会。
分2点来说,当开启pseudo-device bpfilter此项时,如果网内的机器有发出ARP广播的请求时,数据会经过服务器的网卡,它会经过处理,然后根据情况返回信息或者丢弃,尽管这样会增加服务器的负担和少许处理时间,但毕竟来说一个网内的ARP广播的数量并不是很多,处理完后就可以正常工作了!
而当注释掉了pseudo-device bpfilter此项时,如果网内的机器有发出ARP广播时,由于此时网卡处于非混杂模式下,它是不会处理这些ARP广播的,但广播依然会不断的流向服务器的内网网卡,甚至有些广播就是发向服务器的,因为服务器同时也是网关!
情况发生了!如果是一般的网卡,诸如8139的时候,一般的服务器就会假死掉,类似WINDOWS中的假死机了,虽然服务器仍然可以工作,但用PUTTY等软件就登陆不到服务器了,即使在本机也机会登陆不了,更主要的是它会影响到网络的性能,比如使网速降低!
如果正常情况下FREEBSD可以连续开机几个月的话,那么此时,它只能连续开机20天,甚至到更少的几天了!好点的网卡承受能力还要强一些,类如3C的.
以前做服务器的时候我都是保留pseudo-device bpfilter此项的,所以一般即使有少量的ARP广播也很快就会过处理掉了,但最近我都是把pseudo-device bpfilter注释掉的,所以服务器会时不时的遭受ARP广播的冲击和烧伤.
也是无意中发现了这个问题,提醒大家注意这种情况!因为作为服务器来说,我们是不能允许它有任何半点闪失的,同时也要保证它发挥出最大,最优秀的网络性能的! |
|