全部課程
發(fā)布時(shí)間: 2017-10-13 23:45:40
為了增加局域網(wǎng)的冗余性,我們常常會(huì)在網(wǎng)絡(luò)中引入冗余鏈路,然而這樣卻會(huì)引起交換
環(huán)路。交換環(huán)路會(huì)帶來三個(gè)問題:廣播風(fēng)暴、同一幀的多個(gè)拷貝、交換機(jī)CAM 表不穩(wěn)定。
STP(STP,Spanning Tree Protocol)可以解決這些問題,STP 基本思路是阻斷一些交換機(jī)接
口,構(gòu)建一棵沒有環(huán)路的轉(zhuǎn)發(fā)樹。STP 利用BPDU(Bridge Protocol Data Unit)和其他交換
機(jī)進(jìn)行通信,從而確定哪個(gè)交換機(jī)該阻斷哪個(gè)接口。在BPDU 中有幾個(gè)關(guān)鍵的字段,例如:
根橋ID、路徑代價(jià)、端口ID 等。
為了在網(wǎng)絡(luò)中形成一個(gè)沒有環(huán)路的拓?fù)洌W(wǎng)絡(luò)中的交換機(jī)要進(jìn)行以下三個(gè)步驟:(1)選
舉根橋、(2)選取根口、(3)選取指定口。這些步驟中,哪個(gè)交換機(jī)能獲勝將取決于以下因
素(按順序進(jìn)行):
(1) 最低的根橋ID;
(2) 最低的根路徑代價(jià);
(3) 最低發(fā)送者橋ID;
(4) 最低發(fā)送者端口ID。
每個(gè)交換機(jī)都具有一個(gè)唯一的橋ID,這個(gè)ID 由兩部分組成:網(wǎng)橋優(yōu)先級(jí)+MAC 地址。網(wǎng)
橋優(yōu)先級(jí)是一個(gè)2 個(gè)字節(jié)的數(shù),交換機(jī)的默認(rèn)優(yōu)先級(jí)為32768;MAC 地址就是交換機(jī)的MAC
地址。具有最低橋ID 的交換機(jī)就是根橋。根橋上的接口都是指定口,會(huì)轉(zhuǎn)發(fā)數(shù)據(jù)包。
選舉了根橋后,其他的交換機(jī)就成為非根橋了。每臺(tái)非根橋要選舉一條到根橋的根路徑。
STP 使用路徑Cost 來決定到達(dá)根橋的最佳路徑(Cost 是累加的,帶寬大的鏈路Cost 低),
最低Cost 值的路徑就是根路徑,該接口就是根口;如果Cost 職一樣,就根據(jù)選舉順序選舉
根口。根口是轉(zhuǎn)發(fā)數(shù)據(jù)包的。
交換機(jī)的其他接口還要決定是指定口還是阻斷口,交換機(jī)之間將進(jìn)一步根據(jù)上面的四個(gè)
因素來競爭。指定口是轉(zhuǎn)發(fā)數(shù)據(jù)幀的。剩下的其它的接口將被阻斷,不轉(zhuǎn)發(fā)數(shù)據(jù)包。這樣網(wǎng)
絡(luò)就構(gòu)建出一棵沒有環(huán)路的轉(zhuǎn)發(fā)樹。
當(dāng)網(wǎng)絡(luò)的拓?fù)浒l(fā)生變化時(shí),網(wǎng)絡(luò)會(huì)從一個(gè)狀態(tài)向另一個(gè)狀態(tài)過渡,重新打開或阻斷某些
接口。交換機(jī)的端口要經(jīng)過幾種狀態(tài): 禁用(Disable)、阻塞(Blocking)、監(jiān)聽狀態(tài)
(Listening)、學(xué)習(xí)狀態(tài)(Learning)、最后是轉(zhuǎn)發(fā)狀態(tài)(Forwarding)。
那么接下來講具體的選舉過程:
最開始選舉根交換機(jī)也就是根橋,根橋的選舉根據(jù)橋ID,橋ID小的優(yōu)先。
接著在每一臺(tái)非根交換機(jī)上選舉根端口:
1.對比該端口的根路徑開銷
2.對端BID
3.對端PID
4.本端PID
選舉完后就在每一條鏈路上選舉一個(gè)指定端口順序如下:
1.根路徑開銷
2.BID
3.PID
然后阻塞非根非指定端口,成為備用端口。