Chinaunix首页 | 论坛 | 博客
  • 博客访问: 113849
  • 博文数量: 24
  • 博客积分: 1226
  • 博客等级: 中尉
  • 技术积分: 320
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-11 20:47
文章分类

全部博文(24)

文章存档

2011年(2)

2010年(4)

2009年(5)

2008年(13)

我的朋友

分类:

2011-11-22 09:15:26

转自http://yyab.blog.163.com/blog/static/11834622200742492311115/

BPDU协议分析  

最近遇到一个比较古老的问题,不可管理交换机环路引发的广播风暴。于是翻出以前的一些知识温习一下: 

BPDU协议概述
  
   现代交换网络环境中,为了防止发生交换环路引起广播风暴等问题,常采用STP(Spanning Tree Prtocol,生成树协议)技术。STP利用BPDU(Bridge Protocol Data Unit,网桥协议数据单元)中三个字段:路径开销、网桥ID、端口优先级/端口ID来确定到根桥的最佳路径顺序,从而决定一个生成树实例。

BPDU包结构
  
  BPDU协议的包结构如下图所示:
  

 BPDU协议分析 - 荒凉的微笑 - 荒凉的微笑 图1  BPDU包结构  
  首先是以太网帧头,包括DLC头部、LLC头部,接下来是BPDU字段,最后是为了补齐60字节边界用的DLC填充(Padding)8字节(注意,BPDU帧也经常被封装在802.1Q头部后)。
  
  其中的BPDU协议包结构如图2所示。
  
 BPDU协议分析 - 荒凉的微笑 - 荒凉的微笑
   图2  BPDU包格式
BPDU协议sniffer分析
  
  图3是sniffer捕获到到的Catalyst WS-C2924-XL输出BPDU包头部。
    BPDU协议分析 - 荒凉的微笑 - 荒凉的微笑
   图3  BPDU帧格式
  
  在图中,应该注意到以下一些重要信息:
  
  ●BPDU采用的是多播目标MAC地址:01-80-c2-00-00-00(Bridge_group_addr:网桥组多播地址
  
  ●DLC后面所跟的802.3帧的总长度为38字节,是指除了DLC头、尾之外的所有内容的长度
  
  接下来是BPDU头部,如图4所示:
    BPDU协议分析 - 荒凉的微笑 - 荒凉的微笑
   图4  BPDU头部
  
  其中:应该注意到以下一些重要信息:
  
  ●协议标识符和协议版本都是固定的0。
  
  ●BPDU类型表明是一个配置BPDU
  
  ●BPDU标志字段表明这既不是一个拓扑变更帧也不是一个拓扑变更确认帧
  
  随后是根网桥标识,其中:
  
  ●优先级是0x8000,即10进制的32768(默认值)
  
  ●MAC基地址:00:04:28:d2:09:00
  
  随后是根网桥代价:0(表示本交换机就是根网桥)
  
  随后是发送网桥ID,其中:
  
  ●优先级是0x8000,即10进制的32768(默认值)
  
  ●MAC基地址:00:04:28:d2:09:00
  
  ●端口:发送此BPDU的交换机端口
  
  最后是一些定时器的值:
  
  ●消息年龄:当前为0
  
  ●消息寿命:20秒(默认值)
  
  ●根hello时间:2秒(发送BPDU的时间间隔)
  
  ●转发延迟:15秒(交换机端口处于侦听、学习状态的时间)
  正常情况下在一个中、小型交换网络中,一般会几秒钟产生1个广播包。但是,当环路产生时,几秒内产生数万个包(峰值可达到8万多次广播/秒),我们将其称为广播风暴。
关于预防这个故障,Phanx曾经专门写过一篇文章,以下转自Phanx的Blog(任何人没得到许可,不得擅自转载,谢谢合作): 
自环问题

BPDU 防护(Guard),二层洪泛(Layer 2 flood)和风暴抑制(storm-control)

在图Z所示的一个环境中。由于用户的错误接线将用于扩展的非管理交换机的两个接口用一根网线连通了,造成了网络环路。

目前非管理交换机大多数均支持MDI/MDI-X自适应,直通线就可以连通。

在这种情况下,当PC A发出一个广播数据包(例如ARP请求),非管理交换机开始对它的接受这个包的源端口以外的端口进行洪泛。这时候,被回环的端口Port 2Port 3就会收到来自对方的广播包,就会产生二次洪泛,三次洪泛。这样上联的交换机就会收到来自这台非管理交换机大量的数据包,造成严重的拥塞以及资源消耗。对于非网管交换机未建立CAM表的时候,单播包也会产生同样的结果。

BPDU协议分析 - 荒凉的微笑 - 荒凉的微笑 

Z

首先,可以通过在连接非管理交换机的端口上配置BPDU防护,当接口收到自己发出的BPDU后,就会转为ERROR-DISABLED状态。在当二层洪泛开始后,由于CPU资源耗尽可能无法处理BPDU。这时候可以采用风暴抑制,将广播和单播控制在一个合理的等级,以减轻交换机的拥塞和资源消耗。

最终解决办法仍然是建议更换非管理交换机为可管理交换机并配置trunk

 

通过在连接非管理交换机的端口上配置风暴抑制,将广播和单播控制在一个合理的等级,以减轻交换机的拥塞和资源消耗。

 

在端口启用BPDU防护。

    请参考第2.2.2 节。

在端口启用风暴抑制。

 

具体步骤如下:

 

命令

用途

第一步

configure terminal

进入全局配置模式。

第二步

interface interface-id

进入需要配置风暴抑制的端口。

第三步

storm-control broadcast | unicast  level level-low pps pps pps-low

设置广播、单播风暴抑制的比例。

第四步

Storm-control action shutdown

可选)侦测到风暴后将端口设为error-disable状态。

第五步

End

返回特权命令模式

第六步

show storm-control [interface-id] [broadcast | multicast | unicast]

检查风暴抑制的配置。

第七步

Copy running-config startup-config

保存配置。

 

该特性对应硬件平台需要的最低IOS版本为:

Catalyst 3550 - 12.1(8)EA1  (如果需要使用pps 参数则为 12.1(22)EA1pps-low为可选则为12.2(25)SECatalyst 2950 - 12.1(6)EA2   (如果需要使用pps 参数则为 12.1(14)EA1pps-low为可选则为12.1(22)EA2

 

关于BPDU防护,请参考2.2.3节。

 

在图Z的环境中,在汇聚层交换机上做以下配置:

Switch(config)# interface FastEthernet5/20

Switch(config-if)# storm-control broadcast [p1]  b

!--- 在下联非管理交换机的端口上设置广播风暴抑制等级(percent) ---

Switch(config-if)# storm-control unicast pps x y

!--- 在下联非管理交换机的端口上设置单播风暴抑制等级(PPS) ---

或者

Switch(config-if)# storm-control unicast bps [p2]  y

!--- 在下联非管理交换机的端口上设置单播风暴抑制等级(BPS) ---

Switch(config-if)# end

 

以上设置值需要视用户网络情况而定,避免影响正常通信。

 [p1]对于一个100M全双工端口,broadcast抑制阀值建议为30

 [p2]对于一个100M全双工端口,bps建议值为40M

 

=======================================================================================

4月2日
BPDU GUARD 与 局域网环路防止
========phanx.cn=========
Author:   phanx
Updated: 2006-4-2
=========================
 
 
    +-------------+
     |  L3 Switch  |
     +-------------+
        |
        |
     +-------------+
    |  L2 Switch  |-------------------+
    +-------------+                   |
           |                           |
     |                           |
     +-------------+             +-------------+
  | L2 Switch 1 | . . . . . . | L2 Switch N |
  +-------------+  ( Many )   +-------------+
                                     |
                                   +--------+
                                   | Switch |
            Filter State   Upper        Lower        Current
---------  -------------  -----------  -----------  ----------
Fa1/0/1    Blocking        20.00%       20.00%       50.06%  
Switch#sh storm-control
Interface  Filter State   Upper        Lower        Current
---------  -------------  -----------  -----------  ----------
Fa1/0/1    Blocking        20.00%       20.00%       49.99%  
Switch#sh storm-control
Interface  Filter State   Upper        Lower        Current
---------  -------------  -----------  -----------  ----------
Fa1/0/1    Blocking        20.00%       20.00%       36.97%  
Switch#sh storm-control
Interface  Filter State   Upper        Lower        Current
---------  -------------  -----------  -----------  ----------
Fa1/0/1    Forwarding      20.00%       20.00%        0.00%  PID Runtime(ms)   Invoked      uSecs   5Sec   1Min   5Min TTY Process
   1           0         5          0  0.00%  0.00%  0.00%   0 Chunk Manager   
   2           0      2351          0  0.00%  0.00%  0.00%   0 Load Meter      
   3           0     11662          0  0.00%  0.00%  0.00%   0 MDFS LC Download
   4        9042      1248       7245  0.00%  0.04%  0.05%   0 Check heaps     
   5           9         2       4500  0.00%  0.00%  0.00%   0 Pool Manager    
   6           0         2          0  0.00%  0.00%  0.00%   0 Timers          
   7       67689     23267       2909  0.00%  0.00%  0.10%   0 ARP Input       
   8           0         1          0  0.00%  0.00%  0.00%   0 AAA_SERVER_DEADT
   9           0         2          0  0.00%  0.00%  0.00%   0 AAA high-capacit
  10           0         1          0  0.00%  0.00%  0.00%   0 Policy Manager  
  11          17         4       4250  0.00%  0.00%  0.00%   0 Entity MIB API  
  12           0         1          0  0.00%  0.00%  0.00%   0 IFS Agent Manage
  13           0       198          0  0.00%  0.00%  0.00%   0 IPC Dynamic Cach
  14           0         1          0  0.00%  0.00%  0.00%   0 IPC Zone Manager
  15           8     11751          0  0.00%  0.00%  0.00%   0 IPC Periodic Tim
  16           0     11751          0  0.00%  0.00%  0.00%   0 IPC Deferred Por
  17           0         1          0  0.00%  0.00%  0.00%   0 IPC Seat Manager
  18           0      2943          0  0.00%  0.00%  0.00%   0 HC Counter Timer
  19           0         1          0  0.00%  0.00%  0.00%   0 HRPC asic-stats 
  20           8     11752          0  0.00%  0.00%  0.00%   0 Dynamic ARP Insp
  21           0         2          0  0.00%  0.00%  0.00%   0 XML Proxy Client
 --More--

 这说明Huawei的这个功能确实存在问题,呵呵, 国货当自强啊.
阅读(13043) | 评论(1) | 转发(0) |
0

上一篇:sources.list

下一篇:2011-11-23

给主人留下些什么吧!~~

2011-11-24 10:23:29

www.pcku.net 希望与您多多交流