网络通信 频道

STP生成树连载2:制服网络广播风暴

  【IT168 专稿】要保证企业的网络中的关键应用可持续性,就需要对交换网络进行冗余设计,然而这将产生广播风暴、“网络环路”等问题,严重时,将导致整个网络瘫痪?于是,STP生成树解决办法出现了……
  
  网络冗余设计与广播风暴的矛盾
  广播风暴的克星:设计STP网络生成树
  技术剖析:STP生成树初始化与收敛
  案例分析:观察生成树收敛过程
  实战剖析:STP生成树如何配置?
  技术进化:RSTP快速生成树配置
  
  
  广播风暴的克星:设计STP网络生成树
  
  网络发展过程中,以太网设备由Hub发展到透明网桥到智能交换机。透明网桥比Hub智能,Hub收到数据包后,向除自己外的其他所有端口进行广播,而透明网桥则记录物理端口上连接设备的MAC,收到数据帧后按照记录的MAC地址向该端口发送数据帧,这样大大减少数据帧冲突。
  
  但是透明网桥由于他的透明性,一旦网络中存在环路,一台透明网桥收到的数据帧,又会在环路中返回,这样数据帧不停在网络中增生,最终形成广播风暴,导致整个网络瘫痪;一种阻止网络环路的协议——生成树协议(STP),IEEE 802.1D标准,生成树模拟自然界树的生长规律,从树根到树梢不会形成环路,生成树协议通过对比环路网络中的设备属性的优先级、链路的开销、端口优先级等来判断环路中链路的优先级,从而逻辑上阻断优先级低的网络链路。
  
  生成树从阻断到转发状态需要经过阻断、监听、学习、转发延迟等阶段,这个阶段大约需要30~50s的时间,对于要求高可靠性的网络来,这是不允许的。快速生成树协议(RSTP)IEEE 802.1W按结构需求产生,RSTP将阻断的端口设置备用端口,一旦检测到主链路中断,备用端口直接进入转发状态,大大加大收敛速度。
  

   生成树的关键概念
  解决循环连接的方案就是STP。通过一定算法,STP使任意两个节点间有且只有一条路径连接,而其他的冗余链路则被自动阻塞,作为备份链路,如图8-6所示。只有当活动链路失败时,备份链路才会被激活,从而恢复设备之间的连接,保证网络的畅通。
  
  与EtherChannel技术不同,Spanning-Tree只能保证在两台设备间拥有一条活动链路,因此,也就无法实现带宽加倍和负载均衡。这就好比一棵真实生长树,从树根开始长起,然后是树干、树枝,最后到树叶,从而保证任意两片树叶间只有一条路。而链路选举的标准就是优先级值(Priority)和端口费用(Cost)。
  

  提示:Spanning-Tree的优点是可以在任何端口实现,而不一定是固定的双绞线端口或光纤端口。
  
  网络环路侦测和预防(Network loop detection and prevention)的意义在于任何两个局域网之间应该只有一条路径,否则,网络中将出现环路。如果存在着多于一条的路径,那么生成树算法将会侦测到环路的发生,并自动选择开销值(Cost)最低的那条路径作为可使用的路径(主链路),而阻断其他路径,将它们作为备用路径(备用链路)。
  
  自动拓扑重构(Automatic topology re-configuration)是指当主链路出现故障时,生成树算法将自动启用备用链路,重构网络结构。生成树运算在无环路逻辑拓扑时,使用3个关键概念:网桥ID(Bridge ID)、路径开销(PC)及桥接协议数据单(BPDU)通知功能。

要保证企业的网络中的关键应用可持续性,就需要对交换网络进行冗余设计,然而这将产生广播风暴、“网络环路”等问题,严重时,将导致整个网络瘫痪?于是,STP生成树解决办法出现了……   1.网桥ID(Bridge ID)
  每台网桥都有一个ID表示,Bridge ID称为BID。它是由一个2字节加6字节,总共8字节组成的存储域组成,如图8-7所示。低6字节MAC地址由交换机分配好,高2字节BID为网桥优先级,范围从0~65 535,默认为32 768。
 
图8-6  生成树技术与端口阻塞(Block) 
  图8-7  网桥ID
  
   2.路径开销(Path Cost)
  IEEE 802.1D早期定义采用1 000Mbps来除以实际的带宽获得的数据作为路径开销值,但由于后来实际带宽超过1 000Mbps,得到了小数,不方便计算;后来IEEE 802.1D修正了新值,目前采用新值,如表8-1所示。
  
 

表8-1  生成树路径开销值
   
开销(IEEE修订后)
开销(IEEE修订前)
10Mbps
100
100
100Mbps
19
10
1Gbps
4
1
10Gbps
2
1

   3.桥接协议数据单元(BPDU)

 

生成树在运算选举中,还通过相互比较桥接协议数据单元(Bridge Protocol Data Units,BPDU)实现。BPDU有两种类型,配置BPDU和拓扑改变通知(TCN BPDU)。
BPDU配置消息是以以太网数据帧的格式进行传递的,采用多播MAC地址01-80-C2-00-00-00为目的MAC地址,网络中的网桥收到该地址后,能够判断出该数据帧是生成树协议的数据帧,源MAC地址域中的本网桥的MAC地址,数据帧的具体内容如表8-2所示。
 
表8-2  BPDU配置消息格式
DMA
SMA
L/T
LLC Header
Payload
n         DMA:目的MAC地址,固定的组播地址,0X0180C2000000。
n         SMA:源MAC地址,发送BPDU配置消息的桥MAC地址。
n         L/T:帧长。
n         LLC Header:配置消息固定的链接头。
n         PayLoad:BPDU数据区。
n          

提示:IEEE 802.1D指定17个多播地址,范围从0x00180c2000000~0x00180c2000010用于不同网桥版本,如果交换机端口开启STP,交换机CPU接收目标来地址0x0180C2000000~0x0180C2000010,如果STP被关闭,则认为这些多播地址为未知的。

表8-2中的Payload是BPDU的核心配置部分,具体组成信息如表8-3所示。
表8-3  BPDU值域
   
   
分 配 值
Protocol ID
2
总为0
Version
1
STP为 0 RSTP为2
Type
1
0 = 配置 BPDU 1=拓扑改变时发出的BPDU
Flags
1
LSB = 拓扑改变标志位,MSB = 拓扑改变确认标志
Root BID
8
当前的根桥ID,根桥的优先级加上MAC地址
续表
   
   
分 配 值
Root Path Cost
4
计算到根桥的路径开销
Sender BID
8
本地网桥ID,也叫指定网桥ID
Port ID
2
网桥的端口ID
Message Age
2
端口保存BPDU的一个生存期
Max Age
2
BPDU 老化时间
Hello Time
2
周期发送BPDU的间隔时间
Forward Delay
2
网桥从监听到学习状态的时间
拓扑改变BPDU(TCN BPDU),顾名思义就是拓扑改变时发出的BPDU,这是由拓扑改变的网桥发出的,与配置网桥区别在于,表8-3中的Type值为1。

 

0
相关文章