導(dǎo)購(gòu)網(wǎng)站開發(fā)免費(fèi)推客推廣平臺(tái)
三、基本概念
1、橋ID/網(wǎng)橋ID (Bridege ID,BID)
每一臺(tái)運(yùn)行STP的交換機(jī)都擁有一個(gè)唯一的橋ID(BID),BID(Bridge ID/橋ID)。在STP里我們使用不同的橋ID標(biāo)識(shí)不同的交換機(jī)。
??? ??????????????
(2)BID(橋ID)組成
BID(橋ID)組成(8個(gè)字節(jié)):由16位(2字節(jié))的橋優(yōu)先級(jí)和48位(2字節(jié))的MAC地址構(gòu)成。(上右圖)
1)橋優(yōu)先級(jí)(Bridge Priority,BP)的值可以修改,但是修改值必須為4096的倍數(shù)。優(yōu)先級(jí)部分中低12位用來(lái)標(biāo)識(shí)VLAN信息,高4位才是真正優(yōu)先級(jí)。(上右邊圖)
優(yōu)先級(jí)范圍:取值范圍是0~65535,為4096倍數(shù),越小越優(yōu)先。優(yōu)先級(jí)默認(rèn)32768(0x8000)。
2)橋的MAC地址:通常是交換機(jī)默認(rèn)VLAN1的MAC地址。一個(gè)橋有多個(gè)轉(zhuǎn)發(fā)端口,每個(gè)端口都有一個(gè)MAC地址,端口編號(hào)最小的那個(gè)端口的MAC地址作為整個(gè)橋的MAC地址,越小越優(yōu)先。
MAC地址的長(zhǎng)度是48比特(6字節(jié)),48位二進(jìn)制數(shù),12位16進(jìn)制數(shù)組成,即0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f。從左至右,逐位比較。
比如:00:01:10:00:11:11 和00:10:00:00:00:00前者比后者要小。如果比較位相同,則往后推一位再比較,最小的即為MAC地址最小。
2、根橋(Root Bridge,RB)
根橋是一個(gè)生成樹(STP)交換網(wǎng)絡(luò)中的"樹根"。具有最小橋ID的交換機(jī)是根橋。樹形的網(wǎng)絡(luò)結(jié)構(gòu)必須有樹根,于是STP引入了根橋(Root Bridge)概念。(下左圖)
根橋(Root Bridge) 在STP中,根橋是整個(gè)網(wǎng)絡(luò)的起點(diǎn),其他所有交換機(jī)都會(huì)嘗試通過(guò)最直接的路徑連接到根橋,所有數(shù)據(jù)包的旅行都是從這里開始的。
根橋設(shè)備上沒(méi)有根端口。根橋上的接口,都是指定端口(DP:Designated Ports)。
(2)樹根主要作用
是在一個(gè)交換網(wǎng)絡(luò)中計(jì)算出一棵無(wú)環(huán)的STP樹。
在一個(gè)交換網(wǎng)絡(luò)中,有且只能有一個(gè)根橋(根交換機(jī)),它是整個(gè)網(wǎng)絡(luò)的邏輯中心,但不一定是物理中心。根橋會(huì)根據(jù)網(wǎng)絡(luò)拓?fù)涞淖兓鴦?dòng)態(tài)變化。
(3)優(yōu)先級(jí)
交換機(jī)的橋優(yōu)先級(jí)越高,才有可能成為根橋。如果優(yōu)先級(jí)相同,則會(huì)比較MAC地址,MAC地址越小則越優(yōu)先。在STP網(wǎng)絡(luò)中,BID(橋ID)最小的設(shè)備會(huì)被選舉為根橋。
(上圖)在該網(wǎng)絡(luò)中選舉根橋,首先比較三臺(tái)交換機(jī)的橋優(yōu)先級(jí),橋優(yōu)先級(jí)都為4096,再比較三臺(tái)交換機(jī)的MAC地址,誰(shuí)小誰(shuí)優(yōu)先,最終選擇SW1為根橋。
3、非根橋
非根橋:除了根橋,其他的交換都是非根橋。這些非根橋之間可以互相通信,但是它們都要遵循從根橋出發(fā)的規(guī)則。
4、端口/接口ID(Port ID,PID)
運(yùn)行STP交換機(jī)的每個(gè)端口都有一個(gè)端口ID(Port ID),端口ID可以用來(lái)確定端口角色,標(biāo)識(shí)每個(gè)端口。端口ID(PID)就是端口編號(hào) 例如e0/0/5,ID就是5。
主要作用:在特定場(chǎng)景下選舉指定接口。
(1) PID(端口ID)組成
端口ID(PID)(2個(gè)字節(jié))=優(yōu)先級(jí)(1個(gè)字節(jié)).端口索引號(hào)(1個(gè)字節(jié))
為了避免端口索引號(hào)不夠用,把優(yōu)先級(jí)中的低4位保留用于端口索引號(hào),一般取值為0000。高4位優(yōu)先級(jí)默認(rèn)二進(jìn)制取值為1000。端口索引號(hào)是端口在交換機(jī)上的唯一編號(hào)。
(2) PID優(yōu)先級(jí)(Port Priority)
數(shù)值范圍從0到240,缺省情況下(默認(rèn)值),端口的優(yōu)先級(jí)為128,步長(zhǎng)為16,即取值必須為16的整數(shù)倍。
在進(jìn)行比較時(shí),先比較端口優(yōu)先級(jí),值越小端口的優(yōu)先級(jí)就越高。在優(yōu)先級(jí)相同時(shí),再比較端口編號(hào),編號(hào)小的端口優(yōu)先。
通常情況下,端口編號(hào)無(wú)法改變,用戶可以根據(jù)實(shí)際需要,通過(guò)命令修改該優(yōu)先級(jí)。通過(guò)設(shè)置端口優(yōu)先級(jí)來(lái)影響生成樹的選路。
注意:最終如果收到的BPDU報(bào)文所有參數(shù)都一樣,此時(shí)交換機(jī)會(huì)比較本端接口ID(PID)。
5、開銷(Cost)
每一個(gè)激活了STP的接口都維護(hù)著一個(gè)開銷(Cost)值。接口帶寬越大,則開銷(Cost)值越小??梢酝ㄟ^(guò)命令調(diào)整接口的開銷(Cost)。
(2)開銷(Cost)計(jì)算方法
接口開銷(Cost)是已經(jīng)激活了STP的接口所維護(hù)的一個(gè)開銷值,該值存在默認(rèn)值,與接口的速率有關(guān)聯(lián)、工作模式,并且交換機(jī)設(shè)備使用不同的算法時(shí),相同的接口速率對(duì)應(yīng)不同的開銷值。
(4)本地路徑開銷/端口開銷(Port Cost)
本地路徑開銷/端口開銷:指從當(dāng)前交換機(jī)到連接的設(shè)備(比如終端設(shè)備)之間的路徑開銷。
特點(diǎn):
(1)本地路徑開銷就是端口開銷,交換機(jī)的每個(gè)端口都有一個(gè)端口開銷(Port Cost)參數(shù),此參數(shù)表示該端口在STP中的開銷值。默認(rèn)情況下,端口的開銷和端口的帶寬有關(guān),帶寬越高,開銷越小。
(2)本地路徑開銷是路徑開銷中的一個(gè)組成部分,它代表了到達(dá)某個(gè)設(shè)備的成本。
接口開銷主要作用:計(jì)算根路徑開銷,就是到達(dá)根的開銷。
(3)路徑開銷(Path Cost)
路徑開銷(Path Cost):從一個(gè)非根橋到達(dá)根橋的路徑可能有多條,每一條路徑都有一個(gè)總的開銷值,此開銷值是該路徑上所有接收BPDU端口的端口開銷總和(即BPDU的入方向端口)。
特點(diǎn):
(1) 路徑開銷決定了整個(gè)網(wǎng)絡(luò)中每條可能路徑的成本。從一個(gè)非根橋到達(dá)根橋的路徑可能有多條,每一條路徑都有一個(gè)總的開銷值,這就是路徑開銷。通常,直接連接的路徑(比如根端口)開銷較低,而需要經(jīng)過(guò)多個(gè)中間節(jié)點(diǎn)的路徑開銷較高。
(2)交換機(jī)的每個(gè)端口都有一個(gè)端口開銷(Port Cost)參數(shù),此參數(shù)表示該端口在STP中的開銷值。默認(rèn)的開銷值取決于鏈路的帶寬,帶寬越大,開銷越小。開銷值越小,越可能被選為指定端口的路徑。
例如:IEEE標(biāo)準(zhǔn)的開銷,鏈路速度為10Gbps開銷為2,速度為100Mbps時(shí)開銷為19,速度為10Mbps時(shí)候開銷為100。
(5)根路徑開銷(Root Path Cost,RPC)
STP交換機(jī)每一個(gè)端口都對(duì)應(yīng)一個(gè)開銷值,這個(gè)值表示數(shù)據(jù)通過(guò)端口發(fā)送時(shí)的開銷,這個(gè)值與端口帶寬有關(guān),帶寬越高,開銷值越小。
對(duì)于端口開銷值的定義有不同的標(biāo)準(zhǔn),通常設(shè)備默認(rèn)使用IEEE 802.1t中定義的開銷值,同時(shí)還支持其它標(biāo)準(zhǔn),以便兼容不同廠家的設(shè)備。
根路徑開銷(Root Path Cost,RPC):非根橋到達(dá)根橋可能有多條路徑,每條路徑都有一個(gè)總開銷值,被稱為RPC(根路徑開銷)。
STP不會(huì)計(jì)算入端口的開銷,只在數(shù)據(jù)通過(guò)端口發(fā)出時(shí),才計(jì)算這個(gè)端口的開銷。對(duì)于根橋來(lái)說(shuō),根路徑開銷是0。
即累計(jì)根路徑開銷最小的端口就是根端口。端口收到一個(gè)BPDU報(bào)文后,抽取該BPDU報(bào)文中累計(jì)根路徑開銷字段的值,加上該端口本身的路徑開銷即為累計(jì)根路徑開銷。
??
(上左圖)SW3從GE0/0/1接口到達(dá)根橋的RPC,等于接口1的Cost加上接口2的Cost。
(上右圖)s2中eth0/0/1端口的根路徑開銷,就是20+18=38,eth0/0/2端口的根路徑開銷就是39.所以0/0/1是根端口。
特點(diǎn):
??? (1) 根路徑開銷這個(gè)值越小,說(shuō)明到達(dá)根橋的路徑越優(yōu)。
??? (2) 根路徑開銷最終的目標(biāo),是從任何端口到根橋的最短路徑的總成本。
根路徑開銷是根據(jù)交換機(jī)之間的網(wǎng)段來(lái)說(shuō)的,本地路徑的開銷也叫端口開銷是針對(duì)本地的物理鏈路來(lái)說(shuō)的相關(guān)的IETF的規(guī)定為
6、端口角色分類
在STP中,端口角色共有三種分別為:根端口RP(Root Port)、指定端口DP(Designated Port)、阻塞端口AP(Alternate Port)。
注:以上三種角色都是在非根橋設(shè)備上的概念,它們是用來(lái)確保網(wǎng)絡(luò)中的數(shù)據(jù)包能夠通過(guò)最優(yōu)路徑傳輸,同時(shí)避免環(huán)路的產(chǎn)生。
(1)根端口(Root Port,RP)
根端口(Root Port): 每個(gè)非根橋都有且只有一個(gè)根端口,但它并不一定是用來(lái)與根橋直接連接的端口,而是用來(lái)確定到達(dá)根橋的最短路徑的端口。
在一個(gè)非根橋設(shè)備上,根端口是所有到達(dá)根橋路徑中,路徑成本最低的那個(gè)端口。如果這個(gè)端口的路徑,不是直接連接到根橋,而是通過(guò)其他交換機(jī)連接到根橋,那么它仍然是該非根橋設(shè)備上的根端口。
1)根端口選舉
如果有多條鏈路到根橋,就通過(guò)檢查每條鏈路的帶寬來(lái)決定端口的開銷,開銷最低的端口就成為根端口。
如果多條鏈路的開銷相同,就使用橋ID小的那個(gè)橋。
如果多條鏈路來(lái)自同一設(shè)備,就使用端口號(hào)最低的那條鏈路。
2)根端口的作用
在非根橋上,根端口是選擇用來(lái)接收來(lái)自距離根橋最近的路徑上的數(shù)據(jù)包的端口。
每個(gè)非根橋都會(huì)有一個(gè)根端口,它通過(guò)比較到達(dá)根橋的路徑成本來(lái)確定,根路徑開銷最小者,就是根端口。
3)根端口與其他端口的關(guān)系
根橋的所有端口都是指定端口,指定端口被標(biāo)記為轉(zhuǎn)發(fā)端口。
非根交換機(jī)的根端口RP,每個(gè)非根交換機(jī)有且只有一個(gè)RP。
既非根端口又非指定端口的為阻塞端口AP。
(2)指定端口(Designated Port,DP)
指定端口(Designated Port):在每個(gè)連接點(diǎn)(比如兩個(gè)交換機(jī)之間的連接),會(huì)有一條被指定的道路作為主要通道,這條道路就是指定端口。它負(fù)責(zé)在這個(gè)連接點(diǎn)上轉(zhuǎn)發(fā)數(shù)據(jù)包。
(下左圖)Device B和Device C與LAN直接相連。如果Device A通過(guò)Port A1向Device B轉(zhuǎn)發(fā)BPDU,則Device B的指定橋就是Device A,指定端口就是Device A上的Port A1;如果Device B負(fù)責(zé)向LAN轉(zhuǎn)發(fā)BPDU,則LAN的指定橋就是Device B,指定端口就是Device B上的Port B2。
1)指定端口的特性?
(1)根橋上每個(gè)端口都是指定端口,非根橋上需要轉(zhuǎn)發(fā)數(shù)據(jù)的端口,也是指定端口。
(2)只有非根橋設(shè)備上的端口會(huì)被選為指定端口。橋ID較小的交換機(jī)的端口當(dāng)選為指定端口。
(3)并不是每個(gè)非根橋設(shè)備上都有一個(gè)指定端口,而是每個(gè)局域網(wǎng)段中只有一個(gè)指定端口,由STP協(xié)議根據(jù)一定的規(guī)則選舉出來(lái)。
2)指定端口的作用
是在網(wǎng)絡(luò)中實(shí)現(xiàn)無(wú)環(huán)路的傳輸,避免廣播風(fēng)暴和網(wǎng)絡(luò)癱瘓。
3)指定端口的選舉過(guò)程?
在STP中,指定端口的選舉過(guò)程是通過(guò)比較各個(gè)端口的路徑開銷(Path Cost)和發(fā)送方的橋ID(Bridge ID)來(lái)進(jìn)行的。
具體來(lái)說(shuō),首先會(huì)在每個(gè)物理網(wǎng)段上選舉出一個(gè)根端口(Root Port),然后在每個(gè)網(wǎng)段上選舉出一個(gè)指定端口。
根端口是連接到根橋的鏈路所在的端口,或者到根橋的路徑最短的端口。指定端口則是從根端口開始,沿著兩個(gè)不同方向的端口到達(dá)根橋,累計(jì)途經(jīng)的帶寬開銷,開銷最小的那個(gè)端口。
(3)候補(bǔ)/預(yù)備端口(Alernate Port,AP)
預(yù)備端口(Alternate):是指定端口的“替補(bǔ)”當(dāng)指定端口出現(xiàn)問(wèn)題時(shí)預(yù)備端口就會(huì)“上場(chǎng)”。
如果一個(gè)端口既不是指定端口也不是根端口,則此端口為預(yù)備端口,預(yù)備端口將被阻塞。
每個(gè)非根橋設(shè)備上可以有一個(gè)或多個(gè)預(yù)備端口,它們是備用的端口,用于在指定端口或根端口出現(xiàn)問(wèn)題時(shí)接管其職責(zé)。并不是每個(gè)非根橋設(shè)備上只有一個(gè)預(yù)備端口,而是根據(jù)需要可以有多個(gè)預(yù)備端口,它們都處于待命狀態(tài),直到被激活。
1)預(yù)備端口的主要作用
在網(wǎng)絡(luò)拓?fù)浒l(fā)生變化時(shí),參與選舉新的根端口和指定端口的過(guò)程。這樣做可以確保網(wǎng)絡(luò)中的冗余鏈路不會(huì)形成環(huán)路,從而避免了廣播風(fēng)暴和MAC地址表震蕩等問(wèn)題。
2)預(yù)備端口的選舉?
當(dāng)網(wǎng)絡(luò)拓?fù)浒l(fā)生變化時(shí),預(yù)備端口會(huì)參與選舉新的根端口和指定端口的過(guò)程。
選舉的原則是,根端口是到達(dá)根橋路徑最優(yōu)的端口,而指定端口是發(fā)送/轉(zhuǎn)發(fā)BPDU報(bào)文的端口。預(yù)備端口會(huì)根據(jù)根路徑開銷、對(duì)端BridgeID、對(duì)端PortID和本端PortID等因素進(jìn)行比較,選出最佳的根端口和指定端口。
```
? 根橋 (Root Bridge)
??? |
??? | (路徑開銷)
??? |
? 非根橋 (Non-Root Bridge) -- 根端口 (Root Port)
??? |
??? | (本地路徑開銷)
??? |
? 指定端口 (Designated Port) -- 預(yù)備端口 (Alternate Port)
??? |
??? | (路徑開銷)
??? |
? 非根橋 (Non-Root Bridge) -- 指定端口 (Designated Port)
```
(4)端口不同
三種端口的異同如下:
整個(gè)華為數(shù)通學(xué)習(xí)筆記系列中,本人是以網(wǎng)絡(luò)視頻與網(wǎng)絡(luò)文章的方式自學(xué)的,并按自己理解的方式總結(jié)了學(xué)習(xí)筆記,某些筆記段落中可能有部分文字或圖片與網(wǎng)絡(luò)中有雷同,并非抄襲。完處于學(xué)習(xí)態(tài)度,覺(jué)得這段文字更通俗易懂,融入了自己的學(xué)習(xí)筆記中。如有相關(guān)文字涉及到某個(gè)人的版權(quán)利益,可以直接聯(lián)系我,我會(huì)把相關(guān)文字刪除。【VX:czlingyun ? ?暗號(hào):CSDN】