- 论坛徽章:
- 0
|
2。STP协议
STP是基于IEEE 802。1D
STP破环路要运行四个步骤
1。选择根网桥
2。在非根网桥上选择根端口RP,每个非根网桥有且只有一个根端口RP。
2.5 。选到RP到,所有其它端口定义为DP。再进行真正DP的选取。
3。每个网段上选择一个指定端口DP。这里指的每个网段,我们也可以理解成两台交换之间的网线段。
4。blocking掉,即不是根端口又不是指定端口的所有其它端口。
3。生成树协议中有2个关键的概念:At+f6\\yUg
1. BID(桥ID): 由8个字节组成,前2个字节用于优先级,后6个字节表示交换机的mac地址s(QEsUi
2. 路径开销(path cost):每种链路的开销都已经明文规定,每个端口都跟据所连接的链路有了相应的开销
在新版本的STP中,
带宽 cost
10G 1
1G 4
100M 19
10M 100
(重点)4。生成树协议用于决定端口性质的4个步骤:9I+s{T u$X3yrP R
1. Lowest Root BID 最小的根BID
2. Lowest Path Cost to Root Bridge 最小去根桥的路径开销g最小
3.Lowest Sender BID 最小的发送都BID 相对于发送者,即对方交换机
4. Lowest Port ID 最小的端口ID
5。案例STP破环(经典)
![]()
图如上,有四台交换机,交换机之间用两根网线相连,实现冗余。所有线路都是100M宽带,其中MAC地址分别A,B,C,D。不过这样会形成二层的环路。好,看了图之后,我们开始破解交换环路。
1。首先,我们选择根网桥,根网桥通过Root ID与bridge ID确定,每个有8个字节,其中优先级2字节+6字节的MAC。当交换机开启动时,交换机同时开始运行STP协议,每个交换机发送自己的BPDU给相连接的交换机。
第一次:A:RID A B:RID B C:RID C D:RID D
BID A BID B BID C BID D
BiD:根据优先级:32768 MAC地址:A最小,其次是B,C,D
第二次:A:RID A B:RID A C:RID A D:RID A
BID A BID B BID C BID D
从上面的图可以看出,根网桥为A,所以A上的所有端口为DP。
2。其次,选择根端口。RP跟据4。那四个决策还确定RP。
(1)到A的最小的根BID。由于从B,C,D到根网桥的BID都为A。(2)去根网桥的最小路径开销,我们先看C到根网桥,因为存在双链路C的端口1和4到A的COST都相等。(3)最小的发送者BID,C是相对A来说,A是发送者。而发送者的BID是A。没办法,两条链路收到的BID也相等,也是A。(4)所以这样要经过第四步选取,发送者的最小端口ID。在A交换机上最小端口ID是1,所以我们要blockingC的4端口。在这次选择完后,C的1是RP,B的2是RP,D的1是RP。经过这次选择后,交换默认其它所有端口都为DP。再进行真正DP的选取,然后把即不是RP也不是DP的端口BLOCK掉。但有一个是很重要就是在D选择根端口时,D收到的BID是分别是B和C,所以最小的BID是B。所以D的2、3端口没有参与选择的权力。
3。再次,选择指定端口,并阻塞非指定端口。选择指定端口时也要经过四个步决策去走。
(1)最小的根BID,C的BID是A,B的BID也是A,而D的最小BID是B。(2)去根网桥的最小开销,C去A的最小开销端口是4,而2、3是38。由于C直接与根网桥相连,因为我们知道根网桥交换上的所有端口都为RP,所以A与C相连的网段中,C的端口即不是DP也不是RP所以应该block掉。B的端口1block.D的端口2。3。4被block掉。
注:在进行B与D的指定端口选择时,因为要确定最小的路径开销。而B通过端口2到A的开销为19。通过端口4到A的开销为57。而D通过端口4到A为37,这时就存一个问题,我们在B上是以19为最小开销吗?如果是那么我们要block是B的端口4。这就是我们要主意的地方,交换机的每个端口到根网桥的开销,不会因为不同的端口而不同,而是本地交换机发送的永远是最小的开销。所以B发送到A的开销为19,而不是57,D到A最小的是37,因此我们要block掉D的端口4。
4。最后破环的拓朴为:红色为保存的链路
![]()
5。种BPDU类型: _A&]}p9a;^
1.配置BPDU:在正常的网络情况下,由根桥发出,用于维护当前状况,每2秒发送。
2.TCN BPDU:网络状况发生变化时候产生,链路为发生断开时,发送TCN BPDU,STP默认先送给根网桥,然后由根网桥发送给其它交换机,而protfast ,uplink port,bankbone prot.则不同。
6。网络链路发生变化的时候生成树的大概相应过程:&i-@yDV u9QE:{?
当有一个链路改变的时候,相应的端口马上发出TCN BPDU 到上级交换机,发送的交换机根据自己的Hello timer 间隔作为发送TCN BPDU的时间间隔,上级交换机收到后,马上回送一个确认TCN BPDU包(将配置BPDU中的TCA字段设置为1),并同时继续向上级交换机发送TCN BPDU,而收到确认TCN BPDU包的交换机将停止发送TCN BPDU,这个过程一直发生,直到TCN BPDU发送到根桥,根桥接到后就回送一个将配置BPDU 种的 TOPOLOGY CHANGE(TC)字段和TCA设为1,随后(从第2个包开始)根桥不断发送只修改过TC字段的配置BPDU,发送持续时间为Forward Delay + Max Age…接受到这样BPDU的交换机将把MAC地址映射无效期从300秒设置到15秒…这样重新计算后生成树再次会聚Y#wXGPR9XR`s
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/35811/showart_275099.html |
|