天天看點

STP學習筆記

2層環路導緻的問題:

1、廣播風暴,交換機轉發BUM封包的機制導緻,資料幀沒有防環機制。

B:Boardcost

U:未知的DMAC單點傳播幀

M:多點傳播

2、Mac位址表震蕩,生成錯誤MAC位址表項,導緻轉發出現錯誤。

3、重複資料幀接收,如果存在大量的廣播幀,導緻網絡性能下降甚至不可用,終端裝置也會消耗大量CPU資源處理廣播。

STP操作:

(1)在一個廣播域中有且隻有一個根橋

(2)每個非根交換機選舉一個根端口

(3)每個網段(沖突域)選舉一個指定端口(網段:交換機連接配接的每個鍊路都是一個網段)。

(4)阻塞非根、非指定端口。

标準STP(802.1D) -- Block Port

華為STP -- AP;AP源之于RSTP

STP協定的所有角色都是比較BPDU的參數選舉出來的

STP定義每個交換機都有一個BID來辨別自己。

BID = priority + mac

Pri預設值:32768

Pri取值有兩種标準:

(1)0-65535

(2)0-61440 華為采用0-61440,但pri取值必須是4096的倍數

stp priority xxx 修改stp優先級

ROOT橋:發送最好BPDU的交換機

RP(根端口):非根橋上接收最好BPDU的端口

DP(指定端口):鍊路上發送最好BPDU的端口

AP(備用端口):既不是根端口也不是DP的端口,被block。

DP端口要麼對着RP,要麼對着AP。

BPDU中四個選舉參數:

RID:根橋的BID

RPC:

對于根橋來說,RPC永遠等于0;

對于非根橋來說RPC是自己根端口到根橋的路徑開銷之和。

BID:交換機自身的BID

PID:由端口優先級+端口ID組成,優先級的取值為0-240,預設值128,取16的倍數。

最好BPDU的選舉機制:

1、比較RID,RID越小越優

2、如果RID相同,則比較RPC路徑和,越小越優

3、如果RPC路徑和相同,則比較BID,越小越優

4、BID相同,則比較PID,越小越優

5、如果PID相同,則比較自身PID(特殊場景下)

非根橋根據根端口的配置消息計算DP端口的配置消息。

DP對端要麼是RP要麼是AP

RP對端一定是DP

STP端口狀态:

1、forwarding:轉發狀态,學習MAC位址表,處理BPDU

2、learning:不轉發資料,學習MAC位址,處理BPDU

3、listening:不轉發資料,不學習MAC位址,處理BPDU

4、blocking:不轉發資料,不學習MAC位址,處理BPDU

5、disable:接口被禁用

穩定STP網絡隻有兩種狀态,即forwarding和blocking

一個blocking狀态的RP或者DP,至少需要30s進入到轉發狀态。

生成樹故障恢複:

1、非根橋的RP失效,并存在AP時,AP成為新的RP,并經曆30s進入轉發狀态。

2、非根橋的RP失效,但不存在AP時,此時交換機認為自己失去了到根橋的所有路徑。

于是該交換機将自身作為根橋,發送以自己為根的BPDU。下遊交換機需要等待20s将之前的BPDU老化,再處理該BPDU,此時需要50s恢複網絡。

---- 次級BPDU的處理機制

第1種情況:

RP失效,存在AP,AP會立即選舉新的RP

Blocking—>forwarding需要30s,網絡恢複

第2種情況:

當交換機B的RP失效,交換機B發現自己沒有端口接收根橋的BPDU;

交換機B以自己為根,發送次級BPDU,下遊交換機的AP端口,不會立即處理,

而是等待之前根橋BPDU失效(老化時間20s),20s過後處理這個次級BPDU,

AP端口會成為新的DP端口,blocking-->forwarding:30s,

共50s才會恢複正常。

STP協定MAC位址表重新整理機制:

當交換機收到TC BPDU後将自身所有端口(邊緣端口除外)的MAC位址表的老化時間強制設定為15s。

TC BPDU會持續由根橋發送35s的時間。

邊緣端口标準生成樹協定是不支援的,但是華為的STP協定支援邊緣端口的設定。

stp edged-port enable

STP協定最早認為任何端口進入到forwarding狀态或者進入disable狀态時認為STP拓撲發生變化。

後來STP協定對拓撲發生變化的定義做出了優化:

1、當端口進入到forwarding狀态,邊緣端口除外

2、RP失效或RP進入到forwarding狀态

3、DP端口失效不認為拓撲發生變化

STP BPDU:

(1)配置BPDU

TCA 配置BPDU

TC 配置BPDU

(2)TCN BPDU

TCA = 0, TC = 0 配置BPDU

TCA = 1, TC = 0 TCA 配置BPDU

TCA = 0, TC = 1 TC 配置BPDU

STP協定當接口up并過渡到forwarding狀态,會發生TCN BPDU,

逐跳傳給根橋,上遊向下遊發送TCA=1,TC=1的配置BPDU,用于确認TCN,并将TCN逐跳傳給根橋。

根橋在接收到TCN的端口上回送一個TCA=1,TC=1的配置BPDU,用于确認TCN,并通知網絡拓撲發生變化。

配置BPDU,在其他端口上則發送TCA=0,TC=1的配置BPDU。

BPDU重要字段:

Message age:已經存在的時間,根橋發出的為0,逐跳加1

Max age:最大年齡,預設20s

--當message age到達max age則認為該BPDU失效

Hello time:發送BPDU的周期性時間,預設2s發一次

Forward delay:

(1)确定監聽和學習狀态所需的時間

(2)收到TC BPDU後MAC位址老化時間

華為STP,根橋發送配置BPDU,非根橋也可以主動發送BPDU。

華為STP協定引入了大量RSTP的特點:

1、非根橋可以主動發送BPDU

2、收到次級BPDU立即老化

3、引入了邊緣端口

為什麼在監聽和學習狀态需要forward delay的等待時間:

監聽狀态15s是避免STP協定在收斂過程中産生臨時環路,讓BPDU有足夠的時間在整個網絡進行傳遞。

監聽狀态期間,MAC位址表受TC BPDU的影響會進行提前老化,清除錯誤的MAC位址資訊,導緻錯誤的MAC位址老化也導緻空閑MAC位址老化,

如果此時要轉發資料幀就會導緻大量未知DMAC的單點傳播幀泛洪的現象,影響網絡性能。那麼犧牲15s的時間,設計出學習狀态能讓交換機在此期間重新建構正确的MAC位址表項,減少單點傳播幀在STP收斂期間産生大量的泛洪行為。

STP的弊端:

STP協定的收斂是完全依賴計時器完成的,收斂速度慢,為了解決臨時環路和收斂期間單點傳播幀泛洪,需要等待30s;

STP(802.1d)/RSTP(802.1w)是單生成樹協定,在存在多個VLAN的網絡中,所有VLAN共享一棵樹,導緻鍊路使用率不高。

可能會産生部分vlan不通的情況。

為了解決STP的收斂慢,開發出了RSTP

為了解決RSTP單樹弊端,開發出了MSTP

RSTP針對STP的優化。

P/A機制,在點到點全雙工的鍊路上讓DP和RP端口快速進入到轉發狀态,同時也不會産生臨時環路。

P/A機制協商前提:

1、DP端口處于Discarding

2、點到點全雙工鍊路

3、DP端口對端是RP端口

繼續閱讀