為了提高網(wǎng)絡(luò)可靠性,交換機(jī)網(wǎng)絡(luò)中通常會(huì)使用冗余鏈路,冗余鏈路會(huì)給交換機(jī)帶來(lái)環(huán)路風(fēng)險(xiǎn),并導(dǎo)致廣播風(fēng)暴以及MAC地址表不穩(wěn)定等問(wèn)題,生成樹協(xié)議STP(Spanning Tree Protocol)可以在提高可靠性的同時(shí)又避免環(huán)路帶來(lái)的各種問(wèn)題。
根據(jù)交換機(jī)的轉(zhuǎn)發(fā)原則, 如果交換機(jī)從一個(gè)端口上接收到的是一個(gè)廣播幀, 或者是一個(gè)目的MAC地址未知的單播幀,則會(huì)將這個(gè)幀向除源端口之外的所有其他端口轉(zhuǎn)發(fā)。如果交換網(wǎng)絡(luò)中有環(huán)路,則這個(gè)幀會(huì)被無(wú)限轉(zhuǎn)發(fā),此時(shí)便會(huì)形成廣播風(fēng)暴,網(wǎng)絡(luò)中也會(huì)充斥著重復(fù)的數(shù)據(jù)幀。
STP的主要作用:利用生成樹算法、在以太網(wǎng)絡(luò)中,創(chuàng)建一個(gè)以某臺(tái)交換機(jī)的某個(gè)端口為根的生成樹,自動(dòng)地在邏輯上阻塞一個(gè)或多個(gè)冗余端口,避免環(huán)路。
消除環(huán)路:通過(guò)阻斷冗余鏈路來(lái)消除網(wǎng)絡(luò)中可能存在的環(huán)路。
鏈路備份:當(dāng)活動(dòng)路徑發(fā)生故障時(shí), 激活備份鏈路, 及時(shí)恢復(fù)網(wǎng)絡(luò)連通性。
STP的基本工作原理為:通過(guò)BPDU(Bridge Protocol Data Unit,橋接協(xié)議數(shù)據(jù)單元)的交互來(lái)傳遞STP計(jì)算所需要的條件,隨后根據(jù)特定的算法,阻塞特定端口,從而得到無(wú)環(huán)的樹形拓?fù)洹?/p>
STP協(xié)議
BPDU報(bào)文
為了計(jì)算生成樹, 交換機(jī)之間需要交換相關(guān)的信息和參數(shù), 這些信息和參數(shù)被封裝在BPDU(Bridge Protocol Data Unit) 中。
BPDU有兩種類型:配置BPDU和TCN BPDU(拓?fù)渥兏麭PDU)。


STP工作流程
- 選舉根網(wǎng)橋/根橋(Root Bridge):根橋或者根交換機(jī)位于整個(gè)邏輯樹的根部, 是STP網(wǎng)絡(luò)的邏輯中心, 非根橋是根橋的下游設(shè)備。
- 選舉根端口(Root Port):非根交換機(jī)去往根橋路徑最優(yōu)的端口(有且只有一個(gè))。
- 選舉指定端口(Designated Port):交換機(jī)向所連網(wǎng)段轉(zhuǎn)發(fā)配置BPDU的端口, 每個(gè)網(wǎng)段有且只能有一個(gè)指定端口。 一般情況下, 根橋的每個(gè)端口總是指定端口。
- 阻塞預(yù)備端口(Alternate Port):既不是指定端口也不是根端口
根橋選舉
STP中根橋的選舉依據(jù)的是橋ID, STP中的每個(gè)交換機(jī)都會(huì)有一個(gè)橋ID(Bridge ID) 。 橋ID由16位的橋優(yōu)先級(jí)(Bridge Priority) 和48位的MAC地址構(gòu)成。 在STP網(wǎng)絡(luò)中, 橋優(yōu)先級(jí)是可以配置的, 取值范圍是0~65535, 默認(rèn)值為32768。 優(yōu)先級(jí)最高的設(shè)備(數(shù)值越小越優(yōu)先) 會(huì)被選舉為根橋。 如果優(yōu)先級(jí)相同, 則會(huì)比較MAC地址, MAC地址越小則越優(yōu)先 。
根端口選舉
非根交換機(jī)在選舉根端口時(shí)分別依據(jù)該端口的根路徑開銷、 對(duì)端BID(Bridge ID) 、 對(duì)端PID(Port ID) 和本端PID。
交換機(jī)的每個(gè)端口都有一個(gè)端口開銷(Port Cost) 參數(shù), 此參數(shù)表示該端口在STP中的開銷值。 默認(rèn)情況下端口的開銷和端口的帶寬有關(guān),帶寬越高,開銷越小。從一個(gè)非根橋到達(dá)根橋的路徑可能有多條,每一條路徑都有一個(gè)總的開銷值,此開銷值是該路徑上所有接收BPDU端口的端口開銷總和(即BPDU的入方向端口),稱為路徑開銷。非根橋通過(guò)對(duì)比多條路徑的路徑開銷,選出到達(dá)根橋的最短路徑,這條最短路徑的路徑開銷被稱為RPC(Root Path Cost, 根路徑開銷),并生成無(wú)環(huán)樹狀網(wǎng)絡(luò)。 根橋的根路徑開銷是0。
如果有兩個(gè)或兩個(gè)以上的端口計(jì)算得到的累計(jì)路徑開銷相同,那么選擇收到發(fā)送者BID最小的那個(gè)端口作為根端口。
運(yùn)行STP交換機(jī)的每個(gè)端口都有一個(gè)端口ID,端口ID由端口優(yōu)先級(jí)和端口號(hào)構(gòu)成。端口優(yōu)先級(jí)取值范圍是0到240,步長(zhǎng)為16,即取值必須為16的整數(shù)倍。缺省情況下,端口優(yōu)先級(jí)是128。端口ID(Port ID)可以用來(lái)確定端口角色,值小者優(yōu)先。
指定端口選舉
在網(wǎng)段上抑制其他端口(無(wú)論是自己的還是其他設(shè)備的)發(fā)送BPDU報(bào)文的端口,就是該網(wǎng)段的指定端口。
根橋的每個(gè)端口總是指定端口。
根端口相對(duì)應(yīng)的端口(即與根端口直連的端口)皆為指定端口。
指定端口的選舉也是首先比較累計(jì)路徑開銷,累計(jì)路徑開銷最小的端口就是指定端口。如果累計(jì)路徑開銷相同,則比較端口所在交換機(jī)的橋ID,所在橋ID最小的端口被選舉為指定端口。如果通過(guò)累計(jì)路徑開銷和所在橋ID選舉不出來(lái),則比較端口ID,端口ID最小的被選舉為指定端口。(同根端口選舉)
阻塞預(yù)備端口
網(wǎng)絡(luò)收斂后,只有指定端口和根端口可以轉(zhuǎn)發(fā)數(shù)據(jù)。其他端口為預(yù)備端口,被阻塞,不能轉(zhuǎn)發(fā)數(shù)據(jù),只能夠從所連網(wǎng)段的指定交換機(jī)接收到BPDU報(bào)文,并以此來(lái)監(jiān)視鏈路的狀態(tài)。
端口狀態(tài)轉(zhuǎn)換

1、Forwarding:轉(zhuǎn)發(fā)狀態(tài)。 端口既可轉(zhuǎn)發(fā)用戶流量也可轉(zhuǎn)發(fā)BPDU報(bào)文, 只有根端口或指定端口才能進(jìn)入Forwarding狀態(tài)。
2、Learning:學(xué)習(xí)狀態(tài)。 端口可根據(jù)收到的用戶流量構(gòu)建MAC地址表,但不轉(zhuǎn)發(fā)用戶流量。 增加Learning狀態(tài)是為了防止臨時(shí)環(huán)路。
3、Listening:偵聽狀態(tài)。 端口可以轉(zhuǎn)發(fā)BPDU報(bào)文, 但不能轉(zhuǎn)發(fā)用戶流量。
4、Blocking:阻塞狀態(tài)。 端口僅僅能接收并處理BPDU, 不能轉(zhuǎn)發(fā)BPDU, 也不能轉(zhuǎn)發(fā)用戶流量。 此狀態(tài)是預(yù)備端口的最終狀態(tài)。
5、Disabled:禁用狀態(tài)。 端口既不處理和轉(zhuǎn)發(fā)BPDU報(bào)文, 也不轉(zhuǎn)發(fā)用戶流量。
拓?fù)渥兓?/h3>
根橋故障
STP根橋故障

在穩(wěn)定的STP拓?fù)淅铮?非根橋會(huì)定期收到來(lái)自根橋的BPDU報(bào)文。如果根橋發(fā)生了故障,停止發(fā)送BPDU報(bào)文,下游交換機(jī)就無(wú)法收到來(lái)自根橋的BPDU報(bào)文。如果下游交換機(jī)一直收不到BPDU報(bào)文,Max Age定時(shí)器就會(huì)超時(shí)(Max Age的默認(rèn)值為20秒),從而導(dǎo)致已經(jīng)收到的BPDU報(bào)文失效,此時(shí),非根交換機(jī)會(huì)互相發(fā)送配置BPDU報(bào)文,重新選舉新的根橋。根橋故障會(huì)導(dǎo)致50秒左右的恢復(fù)時(shí)間,恢復(fù)時(shí)間約等于Max Age加上兩倍的Forward Delay收斂時(shí)間。
直連鏈路故障

1、SWA和SWB使用了兩條鏈路互連,其中一條是主用鏈路,另外一條是備份鏈路。生成樹正常收斂之后,如果SWB檢測(cè)到根端口的鏈路發(fā)生物理故障,則其Alternate端口會(huì)遷移到Listening、Learning、Forwarding狀態(tài),經(jīng)過(guò)兩倍的Forward Delay后恢復(fù)到轉(zhuǎn)發(fā)狀態(tài)。
2、SWB經(jīng)過(guò)集線器與SWA通過(guò)兩條鏈路互連,當(dāng)主用鏈路故障時(shí),SWB尚未檢測(cè)到信號(hào)丟失,因此保持原狀態(tài)不變,但是,根端口已經(jīng)無(wú)法收到來(lái)至根橋的BPDU報(bào)文,經(jīng)過(guò)T=Max_Age-Message_Age 時(shí)間后,原BPDU報(bào)文過(guò)期,SWB的Alternate端口會(huì)遷移到Listening、Learning、Forwarding狀態(tài), 經(jīng)過(guò)兩倍的Forward Delay后恢復(fù)到轉(zhuǎn)發(fā)狀態(tài)。因此,鏈路經(jīng)過(guò)2xForward_Time + (Max_Age-Message_Age)時(shí)間后恢復(fù)。
非直連鏈路故障

SWB與SWA之間的鏈路發(fā)生了某種故障(非物理層故障),SWB因此一直收不到來(lái)自SWA的BPDU報(bào)文。 等待Max Age定時(shí)器超時(shí)后,SWB會(huì)認(rèn)為根橋SWA不再有效,并認(rèn)為自己是根橋,于是開始發(fā)送自己的BPDU報(bào)文給SWC,通知SWC自己作為新的根橋。在此期間,由于SWC的Alternate端口再也不能收到包含原根橋ID的BPDU報(bào)文。其Max Age定時(shí)器超時(shí)后,SWC會(huì)切換Alternate端口為指定端口并且轉(zhuǎn)發(fā)來(lái)自其根端口的BPDU報(bào)文給SWB。所以,Max Age定時(shí)器超時(shí)后,SWB、SWC幾乎同時(shí)會(huì)收到對(duì)方發(fā)來(lái)的BPDU。 經(jīng)過(guò)STP重新計(jì)算后,SWB放棄宣稱自己是根橋并重新確定端口角色。非直連鏈路故障后,由于需要等待Max Age加上兩倍的Forward Delay時(shí)間,端口需要大約50秒才能恢復(fù)到轉(zhuǎn)發(fā)狀態(tài)。
配置實(shí)例

實(shí)驗(yàn)拓?fù)淙缟蠄D所示,PCA的IP地址為2.2.2.1/24,PCB的IP地址配置為2.2.2.2/24。
1、啟用STP
由于網(wǎng)絡(luò)中存在環(huán)路,此時(shí)可以看到交換機(jī)的所有互聯(lián)端口以及連接主機(jī)的端口的指示燈均快速閃動(dòng),表示形成了廣播風(fēng)暴。此時(shí)PCA 無(wú)法ping通PCB。
在SW1上通過(guò)命令stp mode配置生成樹協(xié)議的模式為RSTP,通過(guò)命令stp enable在交換機(jī)上使能生成樹協(xié)議。
stp enable
stp mode stp
SW2、SW3、SW4的配置和SW1相同。啟用生成樹協(xié)議后可以看到交換機(jī)各端口指示燈停止快速閃動(dòng),網(wǎng)絡(luò)恢復(fù)正常。此時(shí)PCA可以ping通PCB。
2、查看端口角色和根橋
通過(guò)命令display stp brief可以查看交換機(jī)各端口的STP狀態(tài)以及端口角色:
[SW1]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 ALTE FORWARDING NONE
0 GigabitEthernet0/0/2 ROOT DISCARDING NONE
0 GigabitEthernet0/0/3 DESI FORWARDING NONE
[SW2]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 DESI LEARNING NONE
0 GigabitEthernet0/0/3 ROOT LEARNING NONE
0 GigabitEthernet0/0/4 DESI LEARNING NONE
0 GigabitEthernet0/0/6 ALTE DISCARDING NONE
0 GigabitEthernet0/0/9 DESI LEARNING NONE
[SW3]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/2 DESI FORWARDING NONE
0 GigabitEthernet0/0/3 DESI FORWARDING NONE
0 GigabitEthernet0/0/5 DESI FORWARDING NONE
0 GigabitEthernet0/0/6 DESI FORWARDING NONE
0 GigabitEthernet0/0/9 DESI FORWARDING NONE
[SW4]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/3 ALTE DISCARDING NONE
0 GigabitEthernet0/0/4 ALTE FORWARDING NONE
0 GigabitEthernet0/0/5 ROOT DISCARDING NONE
由上可以看出各交換機(jī)的根端口為連接SW3的端口,SW3不存在根端口,說(shuō)明SW3即為網(wǎng)絡(luò)中的根橋。
3、根橋選舉控制
2中已知SW3為現(xiàn)根橋,我們可以通過(guò)以下命令指定根橋:
[SW1]stp root primary
[SW2]stp root secondary
該配置將SW1設(shè)置為根橋,將SW2設(shè)置為備份根橋,我們也可以通過(guò)更改橋優(yōu)先級(jí)控制根橋的選舉,將SW3的優(yōu)先級(jí)修改為8192,SW2的優(yōu)先級(jí)修改為4096。
[sw2]undo stp root
[sw2]stp priority 4096
[sw3]undo stp root
[sw3]stp priority 8192
查看STP信息:
[SW2]display stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :4096 .4c1f-ccb7-59b5
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :4096 .4c1f-ccb7-59b5 / 0 //cost = 0
CIST RegRoot/IRPC :4096 .4c1f-ccb7-59b5 / 0
CIST RootPortId :0.0
BPDU-Protection :Disabled
TC or TCN received :55
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 0h:0m:47s
Number of TC :20
Last TC occurred :GigabitEthernet0/0/4
[SW2]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 DESI FORWARDING NONE
0 GigabitEthernet0/0/3 DESI FORWARDING NONE
0 GigabitEthernet0/0/4 DESI FORWARDING NONE
0 GigabitEthernet0/0/6 DESI FORWARDING NONE
0 GigabitEthernet0/0/9 DESI FORWARDING NONE
[SW3]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/2 DESI DISCARDING NONE
0 GigabitEthernet0/0/3 ROOT FORWARDING NONE
0 GigabitEthernet0/0/5 DESI DISCARDING NONE
0 GigabitEthernet0/0/6 ALTE DISCARDING NONE
0 GigabitEthernet0/0/9 DESI DISCARDING NONE
可以看到,SW2已成為新的根橋。
4、根端口選舉控制
步驟3后,SW3的GigabitEthernet0/0/3端口為根端口,與根橋SW2互聯(lián),端口優(yōu)先級(jí)默認(rèn)為128,數(shù)值越大優(yōu)先級(jí)越小。
將SW2的端口GigabitEthernet0/0/3端口優(yōu)先級(jí)設(shè)置為32,GigabitEthernet0/0/6端口優(yōu)先級(jí)設(shè)置為16:
[SW2]interface g0/0/3
[SW2-GigabitEthernet0/0/3]stp port priority 32
[SW2-GigabitEthernet0/0/3]q
[SW2]interface g0/0/6
[SW2-GigabitEthernet0/0/6]stp port priority 16
[SW2-GigabitEthernet0/0/6]q
注意:此處是修改SW2的端口優(yōu)先級(jí),而不是修改SW3的端口優(yōu)先級(jí)。
在SW3上查看端口角色:
[SW3]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/2 DESI FORWARDING NONE
0 GigabitEthernet0/0/3 ALTE DISCARDING NONE
0 GigabitEthernet0/0/5 DESI FORWARDING NONE
0 GigabitEthernet0/0/6 ROOT FORWARDING NONE
0 GigabitEthernet0/0/9 DESI FORWARDING NONE
SW3的GigabitEthernet0/0/6端口成為了根端口。
5、指定端口選舉控制
[SW1]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 ROOT FORWARDING NONE
0 GigabitEthernet0/0/2 ALTE DISCARDING NONE
0 GigabitEthernet0/0/3 DESI FORWARDING NONE
[SW4]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/3 ALTE DISCARDING NONE
0 GigabitEthernet0/0/4 ROOT FORWARDING NONE
0 GigabitEthernet0/0/5 ALTE DISCARDING NONE
SW4的GigabitEthernet0/0/3為替代端口,SW1的GigabitEthernet0/0/3為指定端口,修改SW1端口GigabitEthernet0/0/2路徑開銷為2000000。
[SW1]interface g0/0/2
[SW1-GigabitEthernet0/0/2]stp cost 2000000
[SW1-GigabitEthernet0/0/2]q
查看當(dāng)前端口角色信息。
[SW1]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 ROOT FORWARDING NONE
0 GigabitEthernet0/0/2 ALTE DISCARDING NONE
0 GigabitEthernet0/0/3 DESI FORWARDING NONE
[SW4]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/3 ALTE DISCARDING NONE
0 GigabitEthernet0/0/4 ROOT FORWARDING NONE
0 GigabitEthernet0/0/5 ALTE DISCARDING NONE
RSTP協(xié)議
STP能夠提供無(wú)環(huán)網(wǎng)絡(luò),但是收斂速度較慢。如果STP網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)頻繁變化,網(wǎng)絡(luò)也會(huì)隨之頻繁失去連通性,從而導(dǎo)致用戶通信頻繁中斷??焖偕蓸鋮f(xié)議RSTP使用了Proposal/Agreement機(jī)制保證鏈路及時(shí)協(xié)商,從而有效避免收斂計(jì)時(shí)器在生成樹收斂前超時(shí)。
BPDU報(bào)文

RSTP的端口角色共有4種:根端口、指定端口、Alternate端口和Backup端口。
Alternate端口:由于學(xué)習(xí)到其它網(wǎng)橋發(fā)送的更優(yōu)配置BPDU報(bào)文而阻塞的端口;作為根端口的備份端口。
Backup端口:由于學(xué)習(xí)到自己發(fā)送的更優(yōu)配置BPDU報(bào)文而阻塞的端口;作為指定端口的備份端口。
RSTP端口狀態(tài)

Discarding狀態(tài), 端口既不轉(zhuǎn)發(fā)用戶流量也不學(xué)習(xí)MAC地址。
Learning狀態(tài), 端口不轉(zhuǎn)發(fā)用戶流量但是學(xué)習(xí)MAC地址。
Forwarding狀態(tài), 端口既轉(zhuǎn)發(fā)用戶流量又學(xué)習(xí)MAC地址。
RSTP收斂
RSTP收斂遵循STP基本原理。網(wǎng)絡(luò)初始化時(shí),網(wǎng)絡(luò)中所有的RSTP交換機(jī)都認(rèn)為自己時(shí)“根橋”,并設(shè)置每個(gè)端口為指定端口,此時(shí),端口為Discarding狀態(tài)。
每個(gè)認(rèn)為自己是“根橋” 的交換機(jī)生成一個(gè)RST BPDU報(bào)文來(lái)協(xié)商指定網(wǎng)段的端口狀態(tài),此RST BPDU報(bào)文的Flags字段里面的Proposal位需要置位。當(dāng)一個(gè)端口收到RST BPDU報(bào)文時(shí),此端口會(huì)比較收到的RST BPDU報(bào)文和本地的RST BPDU報(bào)文。如果本地的RST BPDU報(bào)文優(yōu)于接收的RST BPDU報(bào)文,則端口會(huì)丟棄接收的RST BPDU報(bào)文,并發(fā)送Proposal置位的本地RST BPDU報(bào)文來(lái)回復(fù)對(duì)端設(shè)備。
當(dāng)確認(rèn)下游指定端口遷移到Discarding狀態(tài)后,設(shè)備發(fā)送RST BPDU報(bào)文回復(fù)上游交換機(jī)發(fā)送的Proposal消息。在此過(guò)程中,端口已經(jīng)確認(rèn)為根端口,因此RST BPDU報(bào)文Flags字段里面設(shè)置了Agreement標(biāo)記位和根端口角色。
在P/A進(jìn)程的最后階段,上游交換機(jī)收到Agreement置位的RST BPDU報(bào)文后,指定端口立即從Discarding狀態(tài)遷移為Forwarding狀態(tài),然后,下游網(wǎng)段開始使用同樣的P/A進(jìn)程協(xié)商端口角色。
RSTP拓?fù)渥兓?/h2>
首先,RSTP將網(wǎng)絡(luò)拓?fù)涞淖兓x為端口角色的變化,因?yàn)榫W(wǎng)絡(luò)拓?fù)涞淖兓梢悦枋鰹槟承┚W(wǎng)絡(luò)端口在轉(zhuǎn)發(fā)/阻塞態(tài)之間的轉(zhuǎn)換,而RSTP將端口角色和端口狀態(tài)進(jìn)行了明確的定義(這是RSTP比STP優(yōu)勝的地方)。
其次,RSTP端口角色的變化直接影響端口狀態(tài)的變化。R-Port、D-Port、Edge Port處于Forwarding狀態(tài);Alternated Port(以下簡(jiǎn)稱A-Port)和Backup Port處于Discarding狀態(tài)。
1、Forwarding > Discarding
若某條鏈路失效,即鏈路兩端的端口從轉(zhuǎn)發(fā)態(tài)變?yōu)樽枞麘B(tài)。從生成樹協(xié)議的目的來(lái)看,并不會(huì)使得網(wǎng)絡(luò)形成環(huán)路。RSTP僅需要找到處于合適的阻塞態(tài)端口,并將其轉(zhuǎn)為轉(zhuǎn)發(fā)態(tài),使拓?fù)渲匦逻B通起來(lái)。由于RSTP在計(jì)算時(shí)已經(jīng)分配好R-Port的備份端口A-Port,因此若從轉(zhuǎn)發(fā)態(tài)變?yōu)樽枞麘B(tài)的是R-Port,則把對(duì)應(yīng)的A-Port改為轉(zhuǎn)發(fā)態(tài);同理,D-Port的則色也可置相應(yīng)的Backup Port為轉(zhuǎn)發(fā)來(lái)實(shí)現(xiàn)。而Edge Port并不影響生成樹的計(jì)算,故忽略。這樣,當(dāng)某個(gè)(些)端口狀態(tài)從轉(zhuǎn)發(fā)到阻塞,對(duì)于RSTP而言,無(wú)需重新計(jì)算(是不是有點(diǎn)熟悉,好像哪兒見(jiàn)過(guò)不用計(jì)算直接使用備用路徑的算法。聰明的你一定想到了:DUAL)。
2、Discarding 〉Forwarding
由于某條鏈路的連通有可能導(dǎo)致生成樹域成環(huán)。在RSTP里,該行為定義為D-Port從阻塞態(tài)轉(zhuǎn)化為轉(zhuǎn)發(fā)態(tài),相對(duì)的檢查機(jī)制應(yīng)的就是P/A機(jī)制,即從需要進(jìn)入轉(zhuǎn)發(fā)態(tài)的D-Port,建議對(duì)端進(jìn)行同步,待收到確認(rèn)后進(jìn)入轉(zhuǎn)發(fā)態(tài)。
對(duì)端Bridge在接收到“建議”消息后,一方面阻塞自身所有D-Port,并返回“同意”消息給“建議”消息發(fā)送方;另一方面,對(duì)自身端口進(jìn)行同步。同步分兩種類型:若端口為E-Port,或者原來(lái)就是非轉(zhuǎn)發(fā)態(tài),則為“已同步”;若端口原來(lái)為轉(zhuǎn)發(fā)態(tài),為重新進(jìn)入轉(zhuǎn)發(fā)態(tài),將對(duì)對(duì)端進(jìn)行“建議”并等待確認(rèn)。
下面將結(jié)合圖例,演示P/A機(jī)制的流程:
1、B、E之間建立一條新鏈路,首先進(jìn)行端口角色選擇;

2、B、E通過(guò)該鏈路交換BPDU,由于B端口發(fā)送的BPDU較優(yōu)(superior),因此B端口角色為D-Port;與此同時(shí),E從B收到的BPDU比從C收到的較優(yōu),因此E把連接B的端口轉(zhuǎn)換為Root Port,同時(shí),連接C的端口轉(zhuǎn)換為A-Port。要注意的是,RSTP相對(duì)STP進(jìn)行了根端口轉(zhuǎn)發(fā)的改進(jìn),一旦確定了舊的R-Port非轉(zhuǎn)發(fā)態(tài),且新的R-Port已確定,則新的R-Port立即進(jìn)入轉(zhuǎn)發(fā)態(tài);

3、此刻B端口仍為Discarding狀態(tài),并期望進(jìn)入Forwarding狀態(tài),因此它將從該D-Port發(fā)送“Proposal“置位的配置BPDU給E;E接收到該BPDU后,進(jìn)入同步狀態(tài):即將所有轉(zhuǎn)發(fā)態(tài)端口轉(zhuǎn)為丟棄,并檢查端口同步情況;

4、從同步原理可知,E中只有連接D的端口為轉(zhuǎn)發(fā)態(tài),因此E繼續(xù)阻塞該端口,并向B返回”同意“置位的BPDU。自此,B-E鏈路進(jìn)入已完成同步,立即進(jìn)行流量轉(zhuǎn)發(fā);而由于D連接E的端口為A-Port,不轉(zhuǎn)發(fā)BPDU,因此E發(fā)出的”Proposal“置位BPDU將不會(huì)被”Agreement“置位的BPDU回應(yīng)。該端口將一直保持阻塞態(tài)。
配置實(shí)例

實(shí)驗(yàn)拓?fù)淙缟蠄D所示,交換機(jī)各端口均屬于VLAN1,PCA的IP地址為2.2.2.1/24,PCB的IP地址配置為2.2.2.2/24。
1、配置SW2和SW3的VLANIF 1接口地址
[SW2]interface Vlanif 1
[SW2-Vlanif1]ip address 10.0.1.1 24
[SW3]interface Vlanif 1
[SW3-Vlanif1]ip address 10.0.1.2 24
測(cè)試SW2和SW3的連通性:
[SW2]ping 10.0.1.2
PING 10.0.1.2: 56 data bytes, press CTRL_C to break
Reply from 10.0.1.2: bytes=56 Sequence=1 ttl=255 time=70 ms
Reply from 10.0.1.2: bytes=56 Sequence=2 ttl=255 time=50 ms
Reply from 10.0.1.2: bytes=56 Sequence=3 ttl=255 time=50 ms
Reply from 10.0.1.2: bytes=56 Sequence=4 ttl=255 time=50 ms
Reply from 10.0.1.2: bytes=56 Sequence=5 ttl=255 time=30 ms
--- 10.0.1.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 30/50/70 ms
查看SW2的端口角色
[SW2]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 DESI FORWARDING NONE
0 GigabitEthernet0/0/3 ROOT FORWARDING NONE
0 GigabitEthernet0/0/4 DESI FORWARDING NONE
0 GigabitEthernet0/0/6 ALTE DISCARDING NONE
0 GigabitEthernet0/0/9 DESI FORWARDING NONE
SW2的GigabitEthernet0/0/3為根端口,用ping測(cè)試S1到S2的連通性20次。
提示:SW2執(zhí)行ping操作之后立刻關(guān)閉SW3的GigabitEthernet0/0/3接口。
[SW3]ping -c 20 10.0.1.1
Aug 1 2018 22:24:20-08:00 SW3 %%01PHY/1/PHY(l)[3]: GigabitEthernet0/0/3: cha
nge status to up
PING 10.0.1.1: 56 data bytes, press CTRL_C to break
Reply from 10.0.1.1: bytes=56 Sequence=1 ttl=255 time=40 ms
Reply from 10.0.1.1: bytes=56 Sequence=2 ttl=255 time=20 ms
Reply from 10.0.1.1: bytes=56 Sequence=3 ttl=255 time=20 ms
Reply from 10.0.1.1: bytes=56 Sequence=4 ttl=255 time=50 ms
Reply from 10.0.1.1: bytes=56 Sequence=5 ttl=255 time=50 ms
Reply from 10.0.1.1: bytes=56 Sequence=6 ttl=255 time=50 ms
Reply from 10.0.1.1: bytes=56 Sequence=7 ttl=255 time=50 ms
Reply from 10.0.1.1: bytes=56 Sequence=8 ttl=255 time=30 ms
Reply from 10.0.1.1: bytes=56 Sequence=9 ttl=255 time=50 ms
Reply from 10.0.1.1: bytes=56 Sequence=10 ttl=255 time=30 ms
Request time out
Reply from 10.0.1.1: bytes=56 Sequence=12 ttl=255 time=20 ms
Reply from 10.0.1.1: bytes=56 Sequence=13 ttl=255 time=20 ms
Reply from 10.0.1.1: bytes=56 Sequence=14 ttl=255 time=20 ms
Reply from 10.0.1.1: bytes=56 Sequence=15 ttl=255 time=20 ms
Reply from 10.0.1.1: bytes=56 Sequence=16 ttl=255 time=50 ms
Reply from 10.0.1.1: bytes=56 Sequence=17 ttl=255 time=50 ms
Reply from 10.0.1.1: bytes=56 Sequence=18 ttl=255 time=50 ms
Reply from 10.0.1.1: bytes=56 Sequence=19 ttl=255 time=30 ms
Reply from 10.0.1.1: bytes=56 Sequence=20 ttl=255 time=30 ms
--- 10.0.1.1 ping statistics ---
20 packet(s) transmitted
19 packet(s) received
5.00% packet loss
round-trip min/avg/max = 20/35/50 ms
查看SW2的端口角色
[SW2]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 DESI FORWARDING NONE
0 GigabitEthernet0/0/4 DESI FORWARDING NONE
0 GigabitEthernet0/0/6 ROOT FORWARDING NONE
0 GigabitEthernet0/0/9 DESI FORWARDING NONE
SW2的GigabitEthernet0/0/6 成為根端口,端口進(jìn)入FORWARDING狀態(tài),1個(gè)包超時(shí)。
2、啟用STP
在SW1上通過(guò)命令stp mode配置生成樹協(xié)議的模式為RSTP,通過(guò)命令stp enable在交換機(jī)上使能生成樹協(xié)議。
stp enable
stp mode rstp
SW2、SW3、SW4的配置和SW1相同。
3、RSTP 與 STP 的兼容
配置SW2為STP生成樹,其他配置保持不變。
[SW2]stp mode stp
查看SW2端口角色信息
[SW2]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 DESI FORWARDING NONE
0 GigabitEthernet0/0/3 ROOT FORWARDING NONE
0 GigabitEthernet0/0/4 DESI FORWARDING NONE
0 GigabitEthernet0/0/6 ALTE DISCARDING NONE
0 GigabitEthernet0/0/9 DESI FORWARDING NONE
SW2的GigabitEthernet0/0/3為根端口,用ping測(cè)試S1到S2的連通性30次。
提示:SW2執(zhí)行ping操作之后立刻關(guān)閉SW3的GigabitEthernet0/0/3接口。
[SW2]ping -c 30 10.0.1.2
PING 10.0.1.2: 56 data bytes, press CTRL_C to break
Reply from 10.0.1.2: bytes=56 Sequence=1 ttl=255 time=30 ms
Reply from 10.0.1.2: bytes=56 Sequence=2 ttl=255 time=30 ms
Reply from 10.0.1.2: bytes=56 Sequence=3 ttl=255 time=50 ms
Reply from 10.0.1.2: bytes=56 Sequence=4 ttl=255 time=30 ms
Request time out
Request time out
Request time out
Request time out
Request time out
Request time out
Request time out
Request time out
Request time out
Request time out
Request time out
Request time out
Request time out
Request time out
Request time out
Request time out
Reply from 10.0.1.2: bytes=56 Sequence=21 ttl=255 time=80 ms
Reply from 10.0.1.2: bytes=56 Sequence=22 ttl=255 time=20 ms
Reply from 10.0.1.2: bytes=56 Sequence=23 ttl=255 time=20 ms
Reply from 10.0.1.2: bytes=56 Sequence=24 ttl=255 time=40 ms
Reply from 10.0.1.2: bytes=56 Sequence=25 ttl=255 time=10 ms
Reply from 10.0.1.2: bytes=56 Sequence=26 ttl=255 time=50 ms
Reply from 10.0.1.2: bytes=56 Sequence=27 ttl=255 time=50 ms
Reply from 10.0.1.2: bytes=56 Sequence=28 ttl=255 time=50 ms
Reply from 10.0.1.2: bytes=56 Sequence=29 ttl=255 time=30 ms
Reply from 10.0.1.2: bytes=56 Sequence=30 ttl=255 time=10 ms
--- 10.0.1.2 ping statistics ---
30 packet(s) transmitted
14 packet(s) received
53.33% packet loss
round-trip min/avg/max = 10/35/80 ms
查看SW2端口信息
[SW2]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 DESI FORWARDING NONE
0 GigabitEthernet0/0/4 DESI FORWARDING NONE
0 GigabitEthernet0/0/6 ROOT FORWARDING NONE
0 GigabitEthernet0/0/9 DESI FORWARDING NONE
SW2的GigabitEthernet0/0/6 成為根端口,端口進(jìn)入FORWARDING狀態(tài),16個(gè)包超時(shí)。
RSTP兼容STP,但收斂方式以STP模式運(yùn)行。
MSTP協(xié)議
不管是STP還是RSTP,在網(wǎng)絡(luò)中進(jìn)行生成樹計(jì)算的時(shí)候都沒(méi)有考慮到VLAN的情況。它們都是對(duì)單一生成樹實(shí)例進(jìn)行應(yīng)用的。也就是說(shuō),在STP和RSTP中所有的VLAN都共享相同的生成樹。
為了解決這一個(gè)問(wèn)題,思科提出了第二代生成樹 - PVST、PVST+。按照PVST協(xié)議規(guī)定,每一個(gè)VLAN都有一個(gè)生成樹,而且是每隔2秒就會(huì)發(fā)送一個(gè)BPDU,這對(duì)于一個(gè)有著上千萬(wàn)個(gè)VLAN網(wǎng)絡(luò)來(lái)說(shuō),一方面這么多生成樹維護(hù)起來(lái)比較困難,另一方面,為每個(gè)VLAN每隔2秒就發(fā)送一個(gè)BPDU,交換機(jī)也是難以承受的。
為了解決PVST帶來(lái)的困難,思科又提出了第三代生成樹 - MST(MSTP)多生成樹協(xié)議。MSTP可以對(duì)網(wǎng)絡(luò)中眾多的VLAN進(jìn)行分組,把VLAN分到組里。這里的組就是后面講的MST實(shí)例(Instance)。每個(gè)實(shí)例一個(gè)生成樹,BPDU只對(duì)實(shí)例進(jìn)行發(fā)送。這樣就達(dá)到了負(fù)載均衡。

MSTP的幾個(gè)概念

實(shí)例和域
多生成樹協(xié)議MSTP(Multiple Spanning Tree Protocol)是IEEE 802.1s中定義的一種新型生成樹協(xié)議。簡(jiǎn)單說(shuō)來(lái),STP/RSTP是基于端口的,PVST+是基于VLAN的,而MSTP是基于實(shí)例的。與STP/RSTP和PVST+相比,MSTP中引入了“實(shí)例”(Instance)和“域”(Region) “的概念。
所謂“實(shí)例”就是多個(gè)VLAN的一個(gè)集合,這種通過(guò)多個(gè)VLAN捆綁到一個(gè)實(shí)例中去的方法可以節(jié)省通信開銷和資源占用率。MSTP各個(gè)實(shí)例拓?fù)涞挠?jì)算是獨(dú)立的,在這些實(shí)例上就可以實(shí)現(xiàn)負(fù)載均衡。使用的時(shí)候,可以把多個(gè)相同拓?fù)浣Y(jié)構(gòu)的VLAN映射到某一個(gè)實(shí)例中,這些VLAN在端口上的轉(zhuǎn)發(fā)狀態(tài)將取決于對(duì)應(yīng)實(shí)例在MSTP里的轉(zhuǎn)發(fā)狀態(tài)。
所謂“域”,即MST域(MST Region),由域名(Configuration Name)、修訂級(jí)別(Revision Level)、格式選擇器(Configuration Identifier Format Selector)、VLAN與實(shí)例的映射關(guān)系(mapping of VIDs to spanning trees),其中域名、格式選擇器和修訂級(jí)別在BPDU報(bào)文中都有相關(guān)字段,而VLAN與實(shí)例的映射關(guān)系在BPDU報(bào)文中表現(xiàn)摘要信息(Configuration Digest),該摘要是根據(jù)映射關(guān)系計(jì)算得到的一個(gè)16字節(jié)簽名。只有上述四者都一樣且相互連接的交換機(jī)才認(rèn)為在同一個(gè)域內(nèi)。如上圖所示,每個(gè)域內(nèi)所有交換機(jī)都有相同的MST域配置(具有相同的域名;具有相同的VLAN到生成樹實(shí)例映射配置;具有相同的MSTP修訂級(jí)別配置)。缺省時(shí),域名就是交換機(jī)的橋MAC地址,修訂級(jí)別等于0,格式選擇器等于0,所有的VLAN都映射到實(shí)例0上。
MSTP的實(shí)例0具有特殊的作用,稱為CIST(Common Internal Spanning Tree),即公共與內(nèi)部生成樹,其他的實(shí)例稱為MSTI(Multiple Spanning Tree Instance),即多生成樹實(shí)例。CIST由通過(guò)STP/RSTP計(jì)算得到的單生成樹和MSTP計(jì)算得到的域組成,是為了保證在所有橋接的局域網(wǎng)是簡(jiǎn)單的和全連接的。CST(Common Spanning Tree)是STP/RSTP也是MSTP計(jì)算出的用于連接MST域的單生成樹。IST(Internal Spanning Tree)是在一個(gè)給定的MST域內(nèi)由CIST提供的連通性。如上圖所示,如果把每個(gè)MST域看作是一個(gè)“交換機(jī)”,CST就是這些“交換機(jī)”通過(guò)STP/RSTP或者M(jìn)STP協(xié)議計(jì)算生成的一棵生成樹。IST是CIST在MST域內(nèi)的片段,是一個(gè)特殊的多生成樹實(shí)例。
總根和域根
與STP和RSTP相比,MSTP中引入了總根和域根的概念。總根是一個(gè)全局概念,對(duì)于所有互連的運(yùn)行STP/RSTP/MSTP的交換機(jī)只能有一個(gè)總根,也即是CIST的根;而域根是一個(gè)局部概念,是相對(duì)于某個(gè)域的某個(gè)實(shí)例而言的。上圖所示,所有相連的設(shè)備,總根只有一個(gè),而每個(gè)域所包含的域根數(shù)目與實(shí)例個(gè)數(shù)相關(guān)。
外部路徑開銷和內(nèi)部路徑開銷
與STP和RSTP相比,MSTP中引入了外部路徑開銷和內(nèi)部路徑開銷的概念。外部路徑開銷是相對(duì)于CIST而言的,同一個(gè)域內(nèi)外部路徑開銷是相同的;內(nèi)部路徑開銷是域內(nèi)相對(duì)于某個(gè)實(shí)例而言的,同一端口對(duì)于不同實(shí)例對(duì)應(yīng)不同的內(nèi)部路徑開銷。
邊緣端口、Master端口和Alternate端口
與STP和RSTP相比,MSTP中引入了域邊緣端口和Master端口的概念。域邊緣端口是連接不同MST域、MST域和運(yùn)行STP的區(qū)域、MST域和運(yùn)行RSTP的區(qū)域的端口,位于MST域的邊緣;在某個(gè)不包含總根的域中,Master端口是所有邊界端口中,到達(dá)總根具有最小開銷的端口,也就是連接MST域到總根的端口,位于整個(gè)域到總根的最短路徑上;Alternate端口是Master端口的備份端口,如果Master端口被阻塞后,Alternate端口將成為新的Master端口。
MSTP工作原理
MSTP協(xié)議在計(jì)算生成樹時(shí)使用的算法和原理與STP/RSTP大同小異,只是因?yàn)樵贛STP中引入了域和內(nèi)部路徑開銷等參數(shù),故MSTP中的優(yōu)先級(jí)向量是7維,而STP/RSTP是5維。
STP/RSTP中的優(yōu)先級(jí)向量是:
{根橋標(biāo)識(shí)符,根路徑開銷,橋標(biāo)識(shí)符, 發(fā)送BPDU報(bào)文端口標(biāo)識(shí)符, 接收BPDU報(bào)文端口標(biāo)識(shí)符}
MSTP中的優(yōu)先級(jí)向量是:
{CIST根橋標(biāo)識(shí)符,CIST外部根路徑開銷,CIST域根標(biāo)識(shí)符,CIST內(nèi)部根路徑開銷,CIST指定橋標(biāo)識(shí)符,CIST指定端口標(biāo)識(shí)符,CIST接收端口標(biāo)識(shí)符}
其中STP/RSTP中的橋標(biāo)識(shí)符實(shí)際上是發(fā)送BPDU的設(shè)備的標(biāo)識(shí)符,與MSTP中的CIST指定橋標(biāo)識(shí)符對(duì)應(yīng)。MSTP中的CIST域根標(biāo)識(shí)符有兩種情況,一種是總根所在域內(nèi),BPDU報(bào)文中該字段是參考總根的標(biāo)識(shí)符,另一種情況是不包含總根的域中,BPDU報(bào)文該字段是參考主設(shè)備的標(biāo)識(shí)符。運(yùn)行MSTP的實(shí)體初始化時(shí)認(rèn)為自己是總根、域根,通過(guò)交互配置消息,按照上面介紹的7維向量計(jì)算CIST生成樹和MSTI。
CIST生成樹的計(jì)算
網(wǎng)絡(luò)中的設(shè)備發(fā)送接受BPDU報(bào)文,在經(jīng)過(guò)比較配置消息后,在整個(gè)網(wǎng)絡(luò)中選擇一個(gè)優(yōu)先級(jí)最高的交換機(jī)作為CIST的樹根。在每個(gè)MST域內(nèi)MSTP通過(guò)計(jì)算生成IST;同時(shí)MSTP將每個(gè)MST域作為單臺(tái)交換機(jī)對(duì)待,通過(guò)計(jì)算在MST域間生成CST。如前所述,CST和IST構(gòu)成了整個(gè)交換機(jī)網(wǎng)絡(luò)的CIST。
MSTI的計(jì)算
在MST域內(nèi),MSTP根據(jù)VLAN和生成樹實(shí)例的映射關(guān)系,針對(duì)不同的VLAN生成不同的生成樹實(shí)例。每棵生成樹獨(dú)立進(jìn)行計(jì)算,計(jì)算過(guò)程與STP/RSTP計(jì)算生成樹的過(guò)程類似。
MSTI的特點(diǎn):
每個(gè)MSTI獨(dú)立計(jì)算自己的生成樹,互不干擾。
每個(gè)MSTI的生成樹計(jì)算方法與STP基本相同。
每個(gè)MSTI的生成樹可以有不同的根,不同的拓?fù)洹?/p>
每個(gè)MSTI在自己的生成樹內(nèi)發(fā)送BPDU。
每個(gè)MSTI的拓?fù)渫ㄟ^(guò)命令配置決定。
每個(gè)端口在不同MSTI上的生成樹參數(shù)可以不同。
每個(gè)端口在不同MSTI上的角色、狀態(tài)可以不同。
在MST域內(nèi),沿著其對(duì)應(yīng)的MSTI轉(zhuǎn)發(fā)。
在MST域間,沿著CST轉(zhuǎn)發(fā)。
MSTP對(duì)拓?fù)渥兓奶幚恚?/h4>
MSTP拓?fù)渥兓幚砼cRSTP拓?fù)渥兓幚磉^(guò)程類似。
在RSTP中檢測(cè)拓?fù)涫欠癜l(fā)生變化只有一個(gè)標(biāo)準(zhǔn):一個(gè)非邊緣端口遷移到Forwarding狀態(tài)。
- 為本交換設(shè)備的所有非邊緣指定端口啟動(dòng)一個(gè)TC While Timer,該計(jì)時(shí)器值是Hello Time的兩倍。
在這個(gè)時(shí)間內(nèi),清空所有端口上學(xué)習(xí)到的MAC地址。
同時(shí),由非邊緣端口向外發(fā)送RST BPDU,其中TC置位。一旦TC While Timer超時(shí),則停止發(fā)送RST BPDU。 - 其他交換設(shè)備接收到RST BPDU后,清空所有端口學(xué)習(xí)到MAC地址,除了收到RST BPDU的端口。然后也為自己所有的非邊緣指定端口和根端口啟動(dòng)TC While Timer,重復(fù)上述過(guò)程。
如此,網(wǎng)絡(luò)中就會(huì)產(chǎn)生RST BPDU的泛洪。
配置實(shí)例

1、創(chuàng)建VLAN 1到20,并將相應(yīng)端口加入到VlAN中。
[SW1]vlan batch 1 to 20
[SW1]interface GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1]port link-type trunk
[SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan 1 to 20
[SW1]interface GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2]port link-type trunk
[SW1-GigabitEthernet0/0/2]port trunk allow-pass vlan 1 to 20
[SW1]interface GigabitEthernet 0/0/3
[SW1-GigabitEthernet0/0/3]port link-type trunk
[SW1-GigabitEthernet0/0/3]port trunk allow-pass vlan 1 to 20
[SW2]vlan batch 1 to 20
[SW2]interface GigabitEthernet 0/0/1
[SW2-GigabitEthernet0/0/1]port link-type trunk
[SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan 1 to 20
[SW2]interface GigabitEthernet 0/0/3
[SW2-GigabitEthernet0/0/3]port link-type trunk
[SW2-GigabitEthernet0/0/3]port trunk allow-pass vlan 1 to 20
[SW2]interface GigabitEthernet 0/0/4
[SW2-GigabitEthernet0/0/4]port link-type trunk
[SW2-GigabitEthernet0/0/4]port trunk allow-pass vlan 1 to 20
[SW2]interface GigabitEthernet 0/0/6
[SW2-GigabitEthernet0/0/6]port link-type trunk
[SW2-GigabitEthernet0/0/6]port trunk allow-pass vlan 1 to 20
[SW3]vlan batch 1 to 20
[SW3]interface GigabitEthernet 0/0/2
[SW3-GigabitEthernet0/0/2]port link-type trunk
[SW3-GigabitEthernet0/0/2]port trunk allow-pass vlan 1 to 20
[SW3]interface GigabitEthernet 0/0/3
[SW3-GigabitEthernet0/0/3]port link-type trunk
[SW3-GigabitEthernet0/0/3]port trunk allow-pass vlan 1 to 20
[SW3]interface GigabitEthernet 0/0/5
[SW3-GigabitEthernet0/0/5]port link-type trunk
[SW3-GigabitEthernet0/0/5]port trunk allow-pass vlan 1 to 20
[SW3]interface GigabitEthernet 0/0/6
[SW3-GigabitEthernet0/0/6]port link-type trunk
[SW3-GigabitEthernet0/0/6]port trunk allow-pass vlan 1 to 20
[SW4]vlan batch 1 to 20
[SW4]interface GigabitEthernet 0/0/3
[SW4-GigabitEthernet0/0/3]port link-type trunk
[SW4-GigabitEthernet0/0/3]port trunk allow-pass vlan 1 to 20
[SW4]interface GigabitEthernet 0/0/4
[SW4-GigabitEthernet0/0/4]port link-type trunk
[SW4-GigabitEthernet0/0/4]port trunk allow-pass vlan 1 to 20
[SW4]interface GigabitEthernet 0/0/5
[SW4-GigabitEthernet0/0/5]port link-type trunk
[SW4-GigabitEthernet0/0/5]port trunk allow-pass vlan 1 to 20
2、配置MSTP
定義VLAN1-10屬于INSTANCE 1,VLAN11-20屬于INSTANCE 2。
[SW1]stp mode mstp
[SW1]stp region-configuration
[SW1-mst-region]region-name RG1
[SW1-mst-region]instance 1 vlan 1 to 10
[SW1-mst-region]instance 2 vlan 11 to 20
[SW1-mst-region]active region-configuration
[SW1-mst-region]q
[SW2]stp mode mstp
[SW2]stp region-configuration
[SW2-mst-region]region-name RG1
[SW2-mst-region]instance 1 vlan 1 to 10
[SW2-mst-region]instance 2 vlan 11 to 20
[SW2-mst-region]active region-configuration
[SW2-mst-region]q
[SW3]stp mode mstp
[SW3]stp region-configuration
[SW3-mst-region]region-name RG1
[SW3-mst-region]instance 1 vlan 1 to 10
[SW3-mst-region]instance 2 vlan 11 to 20
[SW3-mst-region]active region-configuration
[SW3-mst-region]q
[SW4]stp mode mstp
[SW4]stp region-configuration
[SW4-mst-region]region-name RG1
[SW4-mst-region]instance 1 vlan 1 to 10
[SW4-mst-region]instance 2 vlan 11 to 20
[SW4-mst-region]active region-configuration
[SW4-mst-region]q
3、查看MSTP實(shí)例與VLAN的映射關(guān)系
[SW2]display stp region-configuration
Oper configuration
Format selector :0
Region name :RG1
Revision level :0
Instance VLANs Mapped
0 21 to 4094
1 1 to 10
2 11 to 20
配置SW2在實(shí)例1中的優(yōu)先級(jí)為4096, 在實(shí)例2中的優(yōu)先級(jí)為8192。
配置SW3在實(shí)例2中的優(yōu)先級(jí)為4096,在實(shí)例1中的優(yōu)先級(jí)為8192。
[SW2]stp instance 1 priority 4096
[SW2]stp instance 2 priority 8192
[SW3]stp instance 1 priority 8192
[SW3]stp instance 2 priority 4096
查看實(shí)例1和實(shí)例2的狀態(tài)
[SW2]display stp instance 1
-------[MSTI 1 Global Info]-------
MSTI Bridge ID :4096.4c1f-ccb7-59b5
MSTI RegRoot/IRPC :4096.4c1f-ccb7-59b5 / 0
MSTI RootPortId :0.0
Master Bridge :32768.4c1f-cc08-270e
Cost to Master :20000
TC received :25
TC count per hello :0
Time since last TC :0 days 0h:1m:59s
Number of TC :15
Last TC occurred :GigabitEthernet0/0/4
[SW3]display stp instance 2
-------[MSTI 2 Global Info]-------
MSTI Bridge ID :4096.4c1f-cc08-270e
MSTI RegRoot/IRPC :4096.4c1f-cc08-270e / 0
MSTI RootPortId :0.0
Master Bridge :32768.4c1f-cc08-270e
Cost to Master :0
TC received :19
TC count per hello :0
Time since last TC :0 days 0h:1m:42s
Number of TC :14
Last TC occurred :GigabitEthernet0/0/6
SW2為實(shí)例1的根橋,SW3為實(shí)例2的根橋。
查看MSTP實(shí)例1的端口角色
[SW1]display stp instance 1 brief
MSTID Port Role STP State Protection
1 GigabitEthernet0/0/1 ROOT FORWARDING NONE
1 GigabitEthernet0/0/2 ALTE DISCARDING NONE
1 GigabitEthernet0/0/3 DESI FORWARDING NONE
[SW2]display stp instance 1 brief
MSTID Port Role STP State Protection
1 GigabitEthernet0/0/1 DESI FORWARDING NONE
1 GigabitEthernet0/0/3 DESI FORWARDING NONE
1 GigabitEthernet0/0/4 DESI FORWARDING NONE
1 GigabitEthernet0/0/6 DESI FORWARDING NONE
1 GigabitEthernet0/0/9 DESI FORWARDING NONE
[SW3]display stp instance 1 brief
MSTID Port Role STP State Protection
1 GigabitEthernet0/0/2 DESI FORWARDING NONE
1 GigabitEthernet0/0/3 ROOT FORWARDING NONE
1 GigabitEthernet0/0/5 DESI FORWARDING NONE
1 GigabitEthernet0/0/6 DESI FORWARDING NONE
1 GigabitEthernet0/0/9 DESI FORWARDING NONE
[SW4]display stp instance 1 brief
MSTID Port Role STP State Protection
1 GigabitEthernet0/0/3 ALTE DISCARDING NONE
1 GigabitEthernet0/0/4 ROOT FORWARDING NONE
1 GigabitEthernet0/0/5 ALTE DISCARDING NONE
實(shí)例1中SW2為根網(wǎng)橋,SW1的VLAN 1到VLAN10的用戶經(jīng)過(guò)GigabitEthernet0/0/1 接口和SW2、 SW3、 SW4的VLAN 1到VLAN10的用戶通訊。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。