关于交换机的block unicast机制

上一篇 / 下一篇  2007-09-05 19:56:51 / 个人分类:技术

   昨天有同事遇到了奇怪的网络故障,发现有一台DNS服务器每间隔一段时间会从公网上消失,自己解决不了,向我们部门求助.大家在分析之后发现.有故障发生前几天时间交换机有一个配置变更.全局启用了switchport block unicast ;我第一次听说有这个选项.后来听同事说是用于阻止交换机的单播泛洪特性.后来将这个选项关闭后,故障解决.
    后来我们分析了一下,在启用switchport block unicast特性后.如果ARP表的超时值大于MAC表的超时值.由于DNS服务器不会主动向外发包,只是被动的响应请求,可能机器长时间不发包.从而导致MAC表由于超时而删除MAC地址与端口的映射,但ARP表中IP地址与MAC的映射由于超时值比较大,还没有删除,当交换机接收到其它主机发给DNS服务器的数据包时.会直接使用ARP表中的MAC地址.然后会查询MAC地址表,找到相应的出接口,启用switchport block unicast后,MAC表中查不到对应的目的MAC,会将这个数据包直接丢弃而不是像常规操作一样会泛洪这个数据包.
      基于上述分析,只有等到ARP也表超时,交换机才发出ARP请求时.这时DNS服务器会因收到ARP请求而发出ARP响应,使得交换机学习了DNS服务器的MAC地址.这时从其他主机上到达DNS服务器的请求才能转发出去.而在MAC表超时后到ARP超时前这段时间.到达DNS服务器的请求都会被交换机丢弃.
      从上面的分析可以看出,启用switchport block unicast特性,在降低交换机泛洪的同时,也加大了网络的恢复时间,特别是对于不主动发包出去的服务器.建议在启用这个特性的时候,确保ARP表的超时值小于或等于MAC表超时值.防止上述故障的发生

TAG:

引用 删除 chris.lee   /   2008-06-06 17:40:11
不错。研究得很透。
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-10-13  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 7491
  • 日志数: 42
  • 建立时间: 2006-09-09
  • 更新时间: 2007-11-25

RSS订阅

Open Toolbar