目录
一、生成树STP技术背景
1.前言
2.二层交换机的冗余性与环路
二、生成树协议
1.生成树协议
2.生成树能动态感知网络拓扑的变化,调整阻塞或放行端口
生成树: 通过交互报文感知网络拓扑的变化
ospf:通过hello报文感知网络的变化
三、生成树基本概念(术语)
1.桥ID(BID)
BID=桥优先级+Mac地址
2.根桥(根交换机)
1)通过比较桥ID大小,选出根桥。先比较优先级,在比较mac地址。
2)根桥具备抢占性;
3.cost
4.RPC(根路径开销)
PRC=根桥到非根桥经过所有的入方向接口的cost累加
5.接口id(Port ID)
PID接口ID:由优先级和接口编号构成
四、BPDU(网桥协议数据单元)
1.BPDU基本概念
1)BPDU:是stp交换机之间的交互的报文,通过BPDU 感知网络的拓扑
2)BPDU分为两种类型:
2.配置BPDU的报文格式
3.BPDU报文核心字段
4.配置BPDU的比较原则
1)STP协议选举机制
5)端口选举例子
1.
2.
3.
5.stp接口状态
6. 拓扑变化-恢复故障的过程
1)根桥故障 -需要30s的恢复
2)直连链路故障 -需要30s的恢复
3)非直连链路故障 -需要50s的恢复
7.拓扑变更后,发送TCN BPDU
五、STP基础配置
思考题
1. 根据BID比较出,sw3的g0/0/2为阻塞端口
2.带宽变小了开销会变大,所以 sw3的g0/0/1为阻塞端口
3.
4.
交换机有多个接口,若两台交换机之间有多条链路相连,当交换机1发送数据帧是,另一个交换机2,收到未知单播帧,会泛洪;接着就会重复此操作,形成环路了。
二层交换机在实际应用中,是需要这样的冗余的,因为避免单点故障,并且可以提高链路的可靠性,保证上层的服务正常运行。
很多时候,因为网络施工时将网线多插了,或者插错位置了,就会导致环路
三层里有TTL防止环路,255条,必死;
但是二层环路一旦形成,将是无休止的,直到消耗完设备资源,重启关机。
桥ID(BID):有桥优先级和桥Mac地址构成
BID=桥优先级+Mac地址
每一个台运行STP 的交换机都拥有一台唯一的根桥
根桥的桥ID:RID
1)通过比较桥ID大小,选出根桥。先比较优先级,在比较mac地址。
桥优先级值越小,越优,成为根桥;优先级相同,比较mac地址
(优先级可以手动修改)
mac地址越小,越小,成为根桥;
2)根桥具备抢占性;
1)每一个stp的接口都有一个cost值
2)根桥会根据每一个非根桥的cost,计算到根的开销
3)接口带宽越大,cost越小
4)cost计算方法不同,cost也不相同。默认使用的是IEEE 802.11标准。
PRC=根桥到非根桥经过所有的入方向接口的cost累加
PID接口ID:由优先级和接口编号构成
例如:接在g0/0/1接口上的Port ID:128.1
端口id的优先级可以修改,修改范围在<0-240>,默认优先级为128
1)BPDU:是stp交换机之间的交互的报文,通过BPDU 感知网络的拓扑
2)BPDU分为两种类型:
1.配置BPDU
(交互桥ID、cost、PRC等信息;判断网络发生故障;拓扑计算,选举出阻塞的端口;计算哪些端口收、哪些端口发)
2.TCN BPDU (topology change notification)
当拓扑发生变更时,才会出现
黑色的是TCN BPDU,灰色的是BPDU
不是只有根桥才发送BPDU,当非根桥收到根桥的BPDU 的时候,也会准发给其他的非根桥。
FLAG: TC TCA
1、RID
当前交换网络中根桥的桥ID。
2、RPC
根路径开销,到达根桥的开销值开销值如何计算:从根桥计算,到达该接口所经过的,所有入方向的开销值累加,开销值三种计算方式。
3、BID
自身发送该BPDu的桥IDBID=桥优先级(0-61440,优先级必须取4096的倍数)+MAc地址。
4、Port ID
发送该BPDU的接口的ID,由接口优先级+接口号组成。----------------- 根据以上四个核心字段,选出指定端口、根端口。 ---------------------------
message age
消息时间/生存时间,从根桥发出为0,每经过一台交换机+1s
max age
最大生存时间――默认情况下20s,如果message age = max age,则该BPDU失效。(max-age最大40s
当max-age小于24s时,每经过一台设备message age +1当max age在24-39s之间时,每经过一台设备+2当max age等于40s时,每经过一台设备+3 )
hello time
发送bpdu的间隔,默认2s
forward delay
转发延迟,默认15s
BPDU转发时,唯一不变的是根桥的ID
交换机只有在发送BPDU时,才会算上自己的cost‘;接受BPDU时,不会算上自己的cost
指定端口(DP):发送最优的BPDU
根端口(RP):收最优的BPDU
阻塞端口(AP):既不是指定端口,又不是跟端口,则为阻塞端口
1.
LSW 5 收到来自LSW 2的 BPDU 【RID 0 RPC 20000 B0-ID 4096 PID g0/0/2】
收到来自LSW 3的 BPDU 【RID 0 RPC 20000 BID 8192 PID g0/0/2】
故: LSW 5 收到来自LSW 2的 BPDU最优,则 LSW 5的g0/0/1为RP,G0/0/2为AP
2.
LSW 8 收到来自LSW 7的 左边 BPDU 【RID 0 RPC 20000 BID 8192 PID g0/0/2】
右边 BPDU 【RID 0 RPC 20000 BID 8192 PID g0/0/6】
故: LSW 5 收到来自LSW 7的 左边BPDU 最优,则 LSW 5的g0/0/2为RP,G0/0/12为AP
3.
LSW 11收到来自LSW 10 的 左边 BPDU 【RID 0 RPC 20000 BID 8192 PID g0/0/2】
右边 BPDU 【RID 0 RPC 20000 BID 8192 PID g0/0/2】
因为无法用BPDU的核心字段来比较,所以比较自身设备的接口号
故: LSW 5 收到来自LSW 7的 左边BPDU最优,则 LSW 5的g0/0/1为RP,G0/0/2为AP
1.禁用(disable):不能收发BPDU,不能收发业务数据帧。(在接口处于down状态或者禁用时,为disable)
2.阻塞(blocking):只会侦听BPDU,但不能收发业务数据帧,不会学习mac地址。(收BPDU是因为,即使是阻塞了,也需要动态感知整个网络的拓扑,以便未来放行该端口。并且假如,收发 业务数据帧就意味着它能学习mac地址了,这样一来,就不是阻塞端口了)
3.侦听(listening):可以收发BPDU,不能收发业务数据帧,不会学习mac地址。(此时只是初步认定为根端口或者指定端口,还处于STP计算)
4.学习(learning):可以收业务数据帧,但不能转发,进行mac地址学习。
5.转发(forwording):可以收业务数据帧,也能发送业务数据帧。
*端口从阻塞状态到转发状态,需要两个BPDU转发延迟,经历侦听状态BPDU转发1延迟5s,学习状态BPDU转发延迟15s,一共20s
1)根桥故障 -需要30s的恢复
当根桥SW1故障,SW2变成根桥,
此时根桥SW2给SW3发送的BPDU里【RID 102b RPC 0 BID 102b PID 3端口 】
而在根桥故障前SW3的接受的BPDU【RID 102a RPC 20000 BID 102a PID 3端口 】
在两边BPDU不一致的情况下,SW3等待原来根桥SW1的max-age最大生存时间20s,20s内没有收到来自原根桥的BPDU,则认为SW2为根桥;接着,在将自己AP端口由阻塞状态经过两个BPDU转发延迟30s,转变为转发状态。
所以,根桥故障一共需要50s的恢复;
2)直连链路故障 -需要30s的恢复
直连链路故障,非根交换机能直接感知到,所以不需要等待BPDU老化的20s,直接由AP端口由阻塞状态经过两个BPDU转发延迟30s,转变为转发状态。
所以,直连链路故障需要30s的恢复;
3)非直连链路故障 -需要50s的恢复
当网络拓扑发生变化后,主机A欲想经过SW2与主机B通信,需要查mac地址表,而根桥变更后,mac地址发生了变化,原本走g0/0/3到主机B,现在需要走g0/0/2到主机B,但是mac地址表刷新需要300s,这一时间太长了,影响网络;
故TCN BPDU的作用,就是在网络发生变更的时候,新的根桥立刻发送 TCN BPDU,强制将非根桥的Mac地址刷新时间边为15s,然后非根桥向新根桥回复TCA确认后,向原来的根桥转发这个新根桥发送的TCN BPDU,原根桥回复TC ,再由这个给根桥转发给新根桥,完成mac地址的刷新。
例如:
【SW1】
stp mode stp
stp priority 0
【SW2】
stp mode stp
dis stp b
所以我的推断是正确的,sw2的e0/0/2是AP,阻塞了
【SW1】
stp mode stp
stp priority 4096
dis stp b
a
1. 根据BID比较出,sw3的g0/0/2为阻塞端口
2.带宽变小了开销会变大,所以 sw3的g0/0/1为阻塞端口
3.
sw1:g0/0/0 DP ;g0/0/1 DP
sw2:g0/0/1 RP ; g0/0/2 DP
sw3:g0/0/1 DP ; g0/0/2 RP
sw4:g0/0/1 RP ; g0/0/2 AP
4.
sw1:g0/0/0 DP ;g0/0/1 DP
sw2:g0/0/1 RP ; g0/0/2 AP