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