利用CISCO交换机抑制IP城域网中的广播风暴

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

利用CISCO交换机抑制IP城域网中的广播风暴
浙江桐乡张莲邹永进
县级市浙江省桐乡市广电IP城域网主要构架设备采用美国CISCO公司的产品。

网络核心层为双核,采用的是2台高性能路由交换机CISCO 7609,通过双链路千兆光纤环形连接各汇聚层交换机CISCO 3750或CISCO 3560,通过千兆光纤星形连接各接入层交换机,全部实现光纤到楼道,百兆入户。

桐乡市广电网络自去年分别与联通公司和移动公司进行优势互补,合作开展宽带业务以来,其数据业务量得到迅猛发展。

到目前为止,桐乡广电IP城域网拥有互动电视用户6000多户,互联网宽带用户12000多户,其中联通宽带用户7000多户、移动宽带用户5000多户。

由于宽带数据流是通过VLAN二层数据交换直接透传给联通和移动公司BRAS上,所以会产生一定数量的广播数据包,广播数据包过大是最常见的网络问题。

广播数据包是进行正常网络连接所必须的一种数据包,如用户拨号,自动获得IP地址方案中需要利用广播数据报来寻找可用的DHCP服务器。

但它又很容易被病毒或者黑客所利用,如通过DOS、ARP攻击等手段导致网络拥塞。

严重情况下,不仅影响客户上网、互动电视收看,甚至导致整个城域网瘫痪。

为此在网络管理设计时,必须考虑到对广播数据包进行合理的控制。

一、广播数据包的特点及危害
广播数据包有一个很重要的特征,就是广播域中每台网络设备,包括PC或者交换机都需要处理广播数据包。

可见,如果某个广播域中存在比较大的广播流量,那么所有的相关设备都会受到影响,因为它们必须抽出一定的资源来处理这些广播数据包。

同时,还会占用一定的带宽资源,如果网络中存在过多的广播数据包,则可能会导致网络拥塞,大大降低网络的性能与安全等级。

所以,在网络设计中应当防止过量的广播流量所导致的非正常功能故障,同时需要注意由此可能带来的安全隐患。

总之,在网络中如果发生意外情况,那么异常的设备就会发送大量的广播数据包流量。

如果在每秒之内发生的广播数据报流量过多,那么就会直接导致交换机等网络设备的CPU利用率高,乃至达到100%而导致网络瘫痪。

为此一个安全的网络设计,都应采用一定的措施来抑制广播数据包的流量。

常见的控制广播数据包的措施也不少,如将网络设计成多个VLAN网段,以减少广播域内设备的数量,从而实现减少广播包的目的等。

不过这些方案需要增加一些额外的设备,而且实施起来也不是很方便、精准。

在CISCO系列的交换机中,提供了一套有效的广播包抑制方案。

二、CISCO交换机广播数据包抑制方案分析
为了缓解过量的广播数据包对网络带来的不利影响,CISCO系列交换机特别设计了广播包抑制方案。

简单的说,交换机操作系统会自动监测经过其设备的网络流量。

如果发现广播数据包比较多的话,交换机可采取两个措施:一是丢弃过量的广播数据包;二是禁用接收过量流量的端口。

如上图所示,假设现在主机A受到了攻击,中了某种病毒。

此时其就会不断的向外面发送广播数据包,直到主机A瘫痪为止。

其发送的广播数据包都需要经过交换机来转发,此时交换机会监测到来自主机A的大量的广播数据包流量。

监测到这种情况之后,交换机会采取哪种措施呢?交换机可能会将主机A发送过来的广播数据包流量丢弃掉,其他主机的数据流量正常转发,从而杜绝A主机发出的广播数据包对广播域内其他设备的影响。

交换机也有可能自动关闭连接主机A 的交换机端口,将其网络连接断开了,从而防止主机A继续危害网络。

交换机在监测广播数据流量的时候,检测的频率是通常为1秒周期内进入端口的数据流量。

如果广播数据包超过了所设置的最大值,那么交换机就会采用网络管理员预先配置的抑制措施。

三、预防广播风暴(以CISCO Catalyst Switch为例)
首先分析网络的Baseline,明确网络中正常情况下的广播包比例是多少。

目前绝大多数交换机都支持广播风暴抑制特性,配置这个特性后就可以控制每个端口的广播包维持在设定的比例之内。

具体配置:
Switch(config)# int xxx
storm-control broadcast level 20.00
switch# sh storm
Interface Filter State Level Current
--------- ------------- ------- -------
Fa1/0/1 Forwarding 20.00% 0.00%
针对缺省STP配置无法排除的网络环路问题,利用STP的BPDUguard特性来预防广播风暴。

Switch启用了STP,而用户hub等设备出现环路。

Switch的端口
不会收到其他交换机或本交换机其他端口的BPDU,不会引起该端口的STP决策过程,也就不可能blocking该端口,这样就会引起广播风暴。

可以利用CISCO STP 的BPDUguard特性来预防这一点。

具体配置:
Switch(config)#int xxx
spanning-tree bpduguard enable
值得注意的是bpduguard可以在全局模式下配置,也可以在端口配置模式下配置。

如果在全局模式下配置,则只对配置了portfast的端口起作用,如果在端口模式下配置,则不用配置portfast。

四、广播风暴排障方法(以CISCO catalyst switch为例)
(一)利用交换机本身查找风暴来源
如果网络中已经产生了广播风暴(现象通常为网络丢包、响应迟缓、网络中断等),则可以按照如下步骤来解决:
1、确认是否是网络风暴或其他异常流量引起的网络异常,在核心层交换机上操作为:
Switch# sh proc cpu | e 0.00
CPU utilization for five seconds: 19%/0%; one minute: 19%; five minutes: 19% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process
15 20170516 76615501 263 0.31% 0.13% 0.12% 0 ARP Input
26 738326680 1839439482 401 5.03% 4.70% 5.08% 0 Cat4k Mgmt HiPri
27 887078192 1122570949 790 5.67% 7.50% 6.81% 0 Cat4k Mgmt LoPri
43 730060152 341404109 2138 6.15% 5.29% 5.28% 0 Spanning Tree
50 59141788 401057972 147 0.47% 0.37% 0.39% 0 IP Input
56 2832760 3795155 746 0.07% 0.03% 0.01% 0 Adj Manager
58 4525900 28130423 160 0.31% 0.25% 0.18% 0 CEF process
96 20789148 344043382 60 0.23% 0.09% 0.08% 0 Standby (HSRP) 如果交换机的CPU利用率较高,且大部分的资源都被“IP Input”进程占用,则基本可以确定网络中存在大流量的数据包。

2、查找异常流量来自于交换机的哪一个端口:
Switch # sh int | i protocol|rate|broadcasts
FastEthernet1/0/1 is up, line protocol is up (connected)
Queueing strategy: fifo
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 2000 bits/sec, 3 packets/sec
Received 241676 broadcasts (0 multicast)
如果找到一个端口的input rate非常高,且接收到的广播包也非常多,则基本可以找到来源,如果该端口下联的也是可管理的交换机,则在下联交换机上再次执行上述操作,直到找到大流量广播包来源端口。

3、关闭该端口:
Switch(config)#int xxx
Switch(config-if)#shutdown
4、查找产生异常流量的根源。

如HUB环路、病毒攻击、PC网卡异常等。

5、确认交换机的CEF功能是否启用,如果没有,则需要启用,可以加速流量的转发:
Switch# sh ip cef
Switch(config)# ip cef
(二)利用抓包工具Wireshark查找广播风暴来源
软件Wireshark是一个常见的抓包工具。

如果发现ARP协议占用80%以上的时候,就可以确定网络中存在ARP的广播风暴。

通过的ARP协议包的分析,可以看到同一个MAC地址在极短的时间发送很多同一个ARP包,这就造成网络拥塞。

在核心层交换机上使用show mac address-table | in XXXX.XXXX.XXXX,就可以看到这个MAC地址是来自于哪一个汇聚层交换机,再一级一级的查找下去,直至查找到它是来自于哪个用户接入层交换机的哪个端口。

用MAL功能来解决广播风暴。

如果接入层交换机的该端口不止一个用户,不能关闭该端口的话,就可以用MAL来屏蔽该MAC地址。

具体操作如下:Switch(config)#mac access-list extended deny-mac(建立MAL表)
Switch(config)#deny host XXXX.XXXX.XXXX any(阻止主机MAC地址为XXXX.XXXX.XXXX的mac地址任意访问)
Switch(config)#deny any host XXXX.XXXX.XXXX(阻止任意主机访问地址XXXX.XXXX.XXXX)
Switch(config)#permit any any(允许其他访问通过)
然后在具体的端口上指明用MCL:
Switch(config-if)#mac access-group deny-mac in
如果网络中可能同时存在多个广播风暴源时,可重复上述操作逐个解决,直至抓包的ARP比例少于50%为止。

相关文档
最新文档