未知单播泛洪原因

未知单播:交换机是收到数据包后,读取数据包的目的MAC,并查找自已的MAC表,查找目的MAC对应的端口,从而判断从哪个口端口转发出此数据包,若MAC表里没有此目的MAC,那对于此交换机来说就是未知单播,那就把数据包泛洪到同一VLAN下除接收端口外的其它全部端口。

未知单播包过多带来的问题:正常情况下交换机有未知单播包是正常现象,但若未知单播包过多过大时,会严重影响网络带宽及设备性能,导致网络慢及通讯中断。

交换机的MAC表是如何产生的:交换机收到数据包时,会读取数据包的源MAC,并把源MAC与接收端口记录到交换机MAC表里。

下图为交换机的MAC表

而如下几种情况会产生未知单播包泛洪:

1、电脑的ARP老化时间与交换机的MAC表老化时间不一致
案例:电脑A向电脑B不停发送UDP包,由于电脑A上的ARP表未老化仍有电脑B的IP对应的MAC,故仍可发送封装了目的MAC B的单播包,但此时电脑B已离线且交换机上的MAC表又老化掉了,交换机就只有把此单播包泛洪出去,但此时目标主机已离线,将不会回应此报文,故交换机的MAC表也就一直学习不到MACB,且由于是UDP包,故电脑A仍会不停发送,交换机收到后就会不停泛洪到除连接电脑的A以外的所有端口从而导致端口数据过大引起网络丢包不稳定。此泛洪需要等到电脑A的ARP表老化掉才能结束,ARP表老化后,电脑A访问电脑B时,需要先发送ARP广播包,问询电脑B的MAC地址。

解决方法:可以在交换机上设置静态MAC表,绑定电脑B的MAC与端口;或者确保交换机的MAC老化时间比windows的ARP老化时间短,windows的ARP老化时间默认为120s。

2、核心三层交换机的ARP表比MAC表的老化时间长
电脑A与电脑B不同网段,现电脑A向电脑B发送数据包(源IP:IPA,目的IP:IPB,源MAC:MACA,目的MAC:三层交换机的MAC),三层核心交换机收到后,先查询ARP表,找寻IPB对应的MACB,假设此时三层核心交换机的ARP表未老化,那交换机就封闭新的数据包(源IP:IPA,目的IP:IPB,源MAC:MACA,目的MAC:MACB)准备发出,发出前查询自己的MAC表,但若此时MAC表老化了,那就只能把此单播包泛洪出去,若此时电脑B离线不能响应此数据包,那核心交换机MAC表就一直学习不到MACB,泛洪就一直存在。

解决方法:把三层核心交换机的MAC表老化时间老化时间设置比ARP表老化时间小。

 

3、非对称路由

如下图网络有两个出口AR1与AR2,而PC的网关指向AR1,PC访问外网时从AR1外出时,LSW1可以学习到PC的MAC信息,但互联网回包从AR2回来时(AR里都做了关于PC的静态ARP,故可直接封装目标MAC,而不需要ARP),由于LSW2的MAC表没有PC的MAC,故LSW2泛洪此未知单播。

4、 生成树的TC

5、MAC表溢出

防止未知单播泛洪的方法:

1、strom-control

config_g4/20#storm-control unicast threshold 10000

2、阻止未知单播

config_g4/20#switchport block unicast

3、VLAN修剪

trunk口不要放行所有VLAN,只放行需要的VLAN

4、修改ARP与MAC老化时间

修改ARP的老化时间小于MAC的老化时间

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值