1. 程式人生 > >【STP】生成樹協議及STP 802.1D (上)

【STP】生成樹協議及STP 802.1D (上)

通過在交換機上部署STP可以解決二層環路問題。交換機之間需要交換生成樹的協議訊息來檢測橋接環路,以保證STP工作的正常,該訊息稱為網橋協議資料單元(BPDU,Bridge Protocol Data Unit), BPDU訊息中包含著用於STP選舉的各項引數。STP工作的結果是經過一系列的”選舉“後將某個或某些埠阻塞從而打破環路。 BPDU有兩種型別:配置BPDU(Configuration BPDU)及拓撲變更通知BPDU(TCN BPDU) 1.1 Configuration BPDU 在網路剛開始執行的階段,所有交換機都會從所有埠傳送BPDU,大家都認為自己是根橋,隨著BPDU的泛洪和收集,根據BPDU中所含資訊,大家PK出來個結果,根橋被選舉出來了。在此之後由根橋預設以2s為週期傳送BPDU,所有的非根交換機從自己的根埠收到BPDU,再從自己的指定埠將BPDU“中繼Relay”出去。這就有點像我們從根橋倒一盆水下來,水順著這棵無環的樹從上往下不斷的流。另外,被阻塞的非指定埠會源源不斷的收到鏈路上的指定埠週期性傳送的BPDU並一直偵聽,當其在一定時間內沒有再收到BPDU,則認為鏈路出現了故障,開始進入新的收斂階段。
注意802.1D的STP,在根橋選舉出來之後,只有根橋能夠傳送BPDU,非根橋都只是轉發或者說中繼BPDU,如果非根橋在根埠上一直沒有收到來自根橋的BPDU,則自己是不會往指定埠再發的,這跟RSTP是不同的。
“When a switch receives a configuration BPDU that contains superior information (lower bridge ID, lower path cost, and so forth), it stores the information for that port. If this BPDU is received on the root port of the switch, the switch also forwards it with an updated message to all attached LANs for which it is the designated switch. If a switch receives a configuration BPDU that contains inferior information to that currently stored for that port, it discards the BPDU. If the switch is a designated switch for the LAN from which the inferior BPDU was received, it sends that LAN a BPDU containing the up-to-date information stored for that port. In this way, inferior information is discarded, and superior information is propagated on the network.”  
【STP】生成樹協議及STP <wbr>802.1D <wbr>(上)

Catos交換機埠ID中優先順序預設32(優先順序6個bit) , IOS交換機預設128(優先順序欄位8個位元) 2.2 TCN BPDU 在網路拓撲變化的時候產生,TCN BPDU報文格式非常簡單:  【STP】生成樹協議及STP <wbr>802.1D <wbr>(上) 當網路拓撲發生變化的時候,最先意識到變化的交換機會從根埠傳送TCN BPDU(BPDU報文中TYPE欄位=0x80),也就是朝著根橋的方向傳送TCN BPDU,這個訊息會一跳一跳地傳遞到根交換機。上聯的交換機在收到了該交換機發送上來的TCN BPDU後,除了向它自己的上一級交換機繼續傳送TCN BPDU外,還需回送一個TCA BPDU(FLAG欄位中TCA位為1的配置BPDU)的確認資訊給該交換機。當根橋接收到TCN後意識到了拓撲變化,遂向所有網橋傳送TC BPDU(FLAG欄位中TC位為1的配置BPDU)。 交換機們收到根橋發出來的TC BPDU後,會將自己的MAC地址表的老化時間由預設的300s減少為15s(轉發延遲計時器的時間),根橋傳送的這個TC置位一直會持續35s(20+15)。