生成樹選舉規則:

生成樹選舉規則:
先明確一點:網橋=交換機 這是以前人們對交換機的一個稱呼,流傳現在
明確第二點:Bridge ID=網橋ID
上邊是兩個術語,希望讀者能夠記住
在上圖是一個二層的交換網絡,可以看到這是一個全互聯的拓撲,他們三臺交換機目前處在一個廣播域內的
生成樹:
第一:在一個交換網絡中選舉出一個根交換機(Root)
第二:在每一個非根交換機上選舉出一個根端口(RP)
第三:在每一個段中選舉出一個指定端口(DP)

一、 我們要在三臺交換機上選舉出一臺交換機做爲根交換機(Root)
因爲生成樹,顧名思義就是一棵樹,樹就要有樹根
選舉根交換機規則:最低Bridge ID決定
根據Bridge ID來選舉
Bridge ID=2字節優先級+MAC地址
大家都知道MAC地址是燒錄在交換機背板,無法人爲進行調整,所以我們在這個交換網絡中可以調整它的優先級來控制三臺交換機誰成爲根交換機。
上圖很明顯,SW1會成爲根交換機(Root),原因就是第一步會比較2字節優先級,因爲默認32768,比較不出來,所以就去比較MAC地址,SW1的MAC地址是這個交換網絡中最小的,所以 SW1成爲了根交換機

二、在非根交換機上選舉出一個根端口(RP)
根端口可以這麼理解,根交換機每隔2秒鐘會發BPDU報文,那非根交換機上肯定要有端口能夠去接收BPDU的報文,所以會選舉根端口。根端口一般都是朝向根交換機的,上圖SW2和SW3兩臺交換機就是非根橋交換機。
我們以SW2爲例子,SW2上有2和4兩個端口對吧?這2個端口哪個能夠成爲我的根端口,來去接收BPDU報文?下邊是根端口的選舉規則
根端口選舉規則:

  1. 最低Bridge ID 2字節優先級+MAC地址 調整優先級命令:spanning-tree vlan-id priority xxxx 每次調整4096倍數,默認32768
  2. 到根橋的最低路徑成本 COST 接口調整命令:Switch(config-if)#spanning-tree cost
  3. 最低的發送者Bridge ID 2字節優先級+MAC地址
  4. 最低的發送者端口ID 2字節優先級+端口號 端口優先級調整命令:Switch(config-if)#spanning-tree port-priority xxxx 每次調整64倍數,默認128

第1個規則我們先不看,因爲第一個規則更多的是用於在一個交換網絡中選舉根交換機使用的,所以我們從第2個規則開始介紹:
第2個規則意思是:SW2的2端口和4端口它倆誰到SW1的COST(成本)最低
COST計算方法是,路由的入接口或者是數據的出接口沿途的累加,關於路由的入接口和數據的出接口,讀者不要亂想,它們兩個都是一個意思。
什麼是路由的入接口?
假設SW2的4端口爲例,SW1的3端口的COST值加上SW3的3端口的COST值再加上SW2的4端口的COST值就是路由的入接口
什麼是數據的出接口?
假設SW2的4端口爲例,SW2的4端口加上SW3的3端口的COST值再加上SW1的3端口的COST值就是數據的出接口
因爲路由和數據是兩個不同的方向來說的,但是它們表達的都是一個意思,有了上邊講解,大家應該明白COST是怎麼計算的吧?
那我們就分別計算下SW2的2和4端口到達根交換機的距離
SW2的2端口=SW1的2端口+SW2的2端口=10(COST)
爲什麼這裏是等於10,而不是等於20呢?這是因爲SW1它發出BPDU時候,累加自己的接口COST值爲0,其實就是:0+10=10(COST),就這麼來的
SW2的4端口=SW1的3端口+SW3的3端口+SW2的4端口=20(COST)
很明顯就是SW2的2端口10的COST要小於4端口的20的COST,所以在SW2交換機上根端口已經選舉出來了,SW2的2端口勝出。
假設SW2的2端口和4端口的COST值都是一樣的(因爲COST值可以修改),這個時候我們比較第3個規則

第3個規則意思:最低發送者的Bridge ID,請看清楚是發送者的Bridge ID
對於SW2的2端口來說,它的發送者就是SW1對吧?
對於SW2的4端口來說,它的發送者就是SW3對吧?
Bridge ID=網橋ID 我們再回復下Bridge ID=2字節的優先級+MAC地址
首先比較SW1和SW3的優先級,默認都一樣,然後我們去比較它們倆的MAC地址,很明顯SW1作爲根交換機MAC地址最小,所以第3個規則也就比較出來了,SW2的2端口勝出**

第4個規則是再前邊3個規則都一樣的情況下才去比較,有的小夥伴就會問?每個交換機MAC地址不都 是獨一無二的嗎?第3步驟怎麼會比較不出來呢?
請大家仔細想下這種情況:假設SW2的2和4端口都連接到SW1交換機,明白了吧?是不是MAC地址都一樣,哈哈。所以就會比較第4步驟
生成樹選舉規則:
第4個步驟意思:最低發送者的端口ID
端口ID=端口優先級+端口號組成
端口優先級範圍:0 ~ 192 默認:128 每次調整都是64的倍數

上圖就是第4個步驟的情況,假設SW4是根交換機。現在SW5的e0/0和e0/1兩個接口是不是前邊3個規則都一樣? 第2個規則到達根交換機的COST值,以及第3個規則發送者的Bridge ID,因爲都是SW4所以優 &先級和MAC地址都一樣,所以就有了第4步驟

爲什麼要有端口優先級的概念?你想,我們在網絡都施工完畢,網線已經插入到相應的接口,那假如我們遇到上邊的拓撲情況,我們總不能去把網線拔下來,換個接口吧?所以有了端口優先級的概念。
請看清楚第4步規則:最低發送者的端口ID,因爲SW4兩個e0/0和e0/1端口優先級都是128,所以就比較端口ID,端口ID就是端口號,比如e0/0就是端口ID,e0/1也是端口ID
上圖對於SW5來講很明顯e0/0端口會勝出,e0/1端口會被BLK(阻塞)掉
因爲SW4給e0/0發送過來的端口ID要小於SW4的e0/1端口ID

其實有了上邊對4個規則的詳細介紹,大家能夠看出來,最後肯定能夠選出一個根端口,經過激烈的 選舉SW2的2端口和SW3的3端口成爲根端口(RP),用來接收BPDU報文

三、 在每一個段上選擇一個指定接口(DP)
什麼是每一個段?比如SW2到SW1這就是一個段,SW2到SW3這就是一個段,SW3到SW1又是一個段。
經過上邊選舉SW2的2端口和SW3的3端口已經成爲了根端口(RP)
我們一個一個段分析:
第一個段:SW2到SW1段,這個段選舉指定接口怎麼選?因爲SW1是根交換機,所以它每一個端口都不能被BLK(阻塞)掉,所以SW1的2端口是指定端口(DP),剛好SW2的2端口也有一個角色是根 端口 (RP)。
第二個段:SW3到SW1段,這個段選舉指定接口怎麼選?因爲SW1是根交換機,所以它每一個端口都不能被BLK(阻塞)掉,所以SW1的3端口是指定端口(DP),剛好SW3的3端口也有一個角色是 根端口 (RP)。
第三個段:SW2到SW3這個段要選舉一個指定端口(DP)出來,怎麼選?
選舉規則:

  1. 最低Bridge ID 2字節優先級+MAC地址
  2. 到根橋的最低路徑成本
  3. 最低的發送者Bridge ID 2字節優先級+MAC地址
  4. 最低的發送者端口ID 2字節優先級+端口號
    對於SW2和SW3來講第1個規則和第2個規則都是相等的所以就比較第3個規則
    第2個步驟:最低發送者Bridge ID
    對於SW2的4端口來講,我的Bridge ID=優先級+MAC地址
    SW2呢把自己的信息發送給SW3,SW3收到SW2的BPDU信息,會比較第一個規則
    首先它查看Bridge ID中優先級字段,發現和我的一樣(默認32768),查看MAC字段,發現SW2的MAC地址比我的 小,也就是比我的更優,所以SW3就把自己的4端口給BLK(阻塞)掉。
    SW3呢把自己的信息發送給SW2,SW2收到SW3的BPDU信息,會比較第一個規則
    首先它查看Bridge ID中優先級字段,發現和我的一樣(默認32768),查看MAC字段,發現SW3的MAC地址比我的 大,然後丟棄掉這個信息

因爲交換機只有在收到比我更優的BPDU報文才會去接收,經過比較發現接收到的BPDU當中的信息還沒有自己本身的優,就會丟棄掉
經過這個選舉SW2的4端口成爲DP,最終SW3因爲MAC地址原因4端口被BLK(阻塞)掉。

第一次寫文章,寫的有可能囉嗦了,然後如果哪裏錯了或者我本身理解錯了,請大家指出,感謝支持!
仝越~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章