【STP生成树】(桥ID、根桥、cost、RPC、接口ID、BPDU报文格式、端口选举举例)-20211216.20211217

admin2025-07-22 22:40:314204

目录

一、生成树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.

一、生成树STP技术背景

1.前言

交换机有多个接口,若两台交换机之间有多条链路相连,当交换机1发送数据帧是,另一个交换机2,收到未知单播帧,会泛洪;接着就会重复此操作,形成环路了。

2.二层交换机的冗余性与环路

二层交换机在实际应用中,是需要这样的冗余的,因为避免单点故障,并且可以提高链路的可靠性,保证上层的服务正常运行。

很多时候,因为网络施工时将网线多插了,或者插错位置了,就会导致环路

三层里有TTL防止环路,255条,必死;

但是二层环路一旦形成,将是无休止的,直到消耗完设备资源,重启关机。

二、生成树协议

1.生成树协议

逻辑上将一个端口阻塞,使断开端口所在的链路,破除环路。当然能阻塞端口,同样在需要的时候,也可以放开端口,连通链路。

2.生成树能动态感知网络拓扑的变化,调整阻塞或放行端口

生成树: 通过交互报文感知网络拓扑的变化

ospf:通过hello报文感知网络的变化

三、生成树基本概念(术语)

1.桥ID(BID)

桥ID(BID):有桥优先级和桥Mac地址构成

BID=桥优先级+Mac地址

每一个台运行STP 的交换机都拥有一台唯一的根桥

根桥的桥ID:RID

2.根桥(根交换机)

1)通过比较桥ID大小,选出根桥。先比较优先级,在比较mac地址。

桥优先级值越小,越优,成为根桥;优先级相同,比较mac地址

(优先级可以手动修改)

mac地址越小,越小,成为根桥;

2)根桥具备抢占性;

3.cost

1)每一个stp的接口都有一个cost值

2)根桥会根据每一个非根桥的cost,计算到根的开销

3)接口带宽越大,cost越小

4)cost计算方法不同,cost也不相同。默认使用的是IEEE 802.11标准。

4.RPC(根路径开销)

PRC=根桥到非根桥经过所有的入方向接口的cost累加

5.接口id(Port ID)

PID接口ID:由优先级和接口编号构成

例如:接在g0/0/1接口上的Port ID:128.1

端口id的优先级可以修改,修改范围在<0-240>,默认优先级为128

四、BPDU(网桥协议数据单元)

1.BPDU基本概念

1)BPDU:是stp交换机之间的交互的报文,通过BPDU 感知网络的拓扑

2)BPDU分为两种类型:

1.配置BPDU

(交互桥ID、cost、PRC等信息;判断网络发生故障;拓扑计算,选举出阻塞的端口;计算哪些端口收、哪些端口发)

2.TCN BPDU (topology change notification)

当拓扑发生变更时,才会出现

黑色的是TCN BPDU,灰色的是BPDU

2.配置BPDU的报文格式

3.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,每经过一台交换机+1smax 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的间隔,默认2sforward delay 转发延迟,默认15s

4.配置BPDU的比较原则

1)STP协议选举机制

BPDU转发时,唯一不变的是根桥的ID

交换机只有在发送BPDU时,才会算上自己的cost‘;接受BPDU时,不会算上自己的cost

指定端口(DP):发送最优的BPDU

根端口(RP):收最优的BPDU

阻塞端口(AP):既不是指定端口,又不是跟端口,则为阻塞端口

5)端口选举例子

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

5.stp接口状态

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

6. 拓扑变化-恢复故障的过程

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的恢复

7.拓扑变更后,发送TCN BPDU

当网络拓扑发生变化后,主机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地址的刷新。

五、STP基础配置

例如:

【SW1】

stp mode stp

stp priority 0

dis stp b

【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