標籤: 暫無標籤

生成樹演算法的網橋協議STP(Spanning Tree Protocol) 它通過生成生成樹保證一個已知的網橋在網路拓撲中沿一個環動態工作。網橋與其他網橋交換BPDU消息來監測環路,然後關閉選擇的網橋介面取消環路,統指IEEE802·1生成樹協議標準和早期的數字設備合作生成樹協議,該協議是基於後者產生的。IEEE版本的生成樹協議支持網橋區域,它允許網橋在一個擴展本地網中建設自由環形拓撲結構。IEEE版本的生成樹協議通常為在數字版本之上的首選版本。

1功能

生成樹協議的主要功能有兩個:一是在利用生成樹演算法、在乙太網絡中,創建一個以某台交換機的某個埠為根的生成樹,避免環路。二是在乙太網絡拓撲發生變化時,通過生成樹協議達到收斂保護的目的。

2發明者

生成樹協議是由Sun微系統公司著名工程師拉迪亞·珀爾曼博士(Radia Perlman)發明的。
1988 年, 珀爾曼在MIT完成了她的計算機博士科學學位。
珀爾曼在1993年離開了DEC去了Novell工作, 1997她又加入Sun Microsystems 公司。
珀爾曼博士擁有80多個技術發明專利, 其中40多個是在Sun Microsystems 公司發明的。
珀爾曼博士被哈佛大學和華盛頓大學聘請為客座教授。
珀爾曼博士在數據通信領域的經典著作有:
《Interconnections: Bridges, Routers, Switches,and Internetworking Protocols》
《Network Security: Private Communication in a Public World》
珀爾曼博士被授予了許多傑出工程師獎,
她被評為20個數據通信領域最有影響力的人之一。

3特點

網橋使用珀爾曼博士發明的這種方法能夠達到2層路由的理想境界:冗餘和無環路運行。你可以把生成樹協議設想為一個各網橋設備記在心裡的用於進行優化和容錯發送數據的過程的樹型結構. 生成樹協議(Spanning Tree)定義在 IEEE 802.1D 中,是一種鏈路管理協議,它為網路提供路徑冗餘同時防止產生環路。為使乙太網更好地工作,兩個工作站之間只能有一條活動路徑。網路環路的發生有多種原因,最常見的一種是有意生成的冗餘- 萬一一個鏈路或交換機失敗,會有另一個鏈路或交換機替代。

4結構思路

生成樹協議拓撲結構的思路是: 不論網橋(交換機)之間採用怎樣物理聯接,網橋(交換機)能夠自動發現一個沒有環路的拓撲結構的網路,這個邏輯拓撲結構的網路必須是樹型的。生成樹協議還能夠確定有足夠的連接通向整個網路的每一個部分。所有網路節點要麼進入轉髮狀態,要麼進入阻塞狀態,這樣就建立了整個區域網的生成樹。當首次連接網橋或者網路結構發生變化時,網橋都將進行生成樹拓撲的重新計算。為穩定的生成樹拓撲結構選擇一個根橋, 從一點傳輸數據到另一點, 出現兩條以上條路徑時只能選擇一條距離根橋最短的活動路徑。生成樹協議這樣的控制機制可以協調多個網橋(交換機)共同工作, 使計算機網路可以避免因為一個接點的失敗導致整個網路聯接功能的丟失, 而且冗餘設計的網路環路不會出現廣播風暴。

5實現

在園區網中實現生成樹協議
1,實現優化的生成樹拓撲
(1)每VLAN生成樹協議(PVST):每一個VLAN有一個生成樹的計算進程
(2)根網橋的選擇:樓內分佈層交換機應該成為根網橋,即避免訪問層交換機成為根網橋
(3)生成樹的負載平衡:配置不同的分佈層交換機成為不同VLAN的根網橋
2,配置根網橋:兩種方式
(1)定義優先順序:
(config)#spanning-tree vlan <vlan-id> priority <priority>
(2)定義交換機為根網橋:
(config)#spanning-tree vlan <vlan-id> root [primary|secondary]
增強生成樹協議的操作性能
1,多進程生成樹協議(MSTP):
(1)定義:映射多個vlan生成樹計算進程到一個MST的進程;減少PVST的計算負擔;實現與CST域的互操作
(2)配置命令:
①進入MST配置模式:
(config)#spanning-tree mst configuration
②定義MST域名:
(config-mst)#name <name>
③定義MST的配置版本號:
(config-mst)#revision <num>
④映射多個VLAN到一個MST進程:
(config-mst)#instance <inst-num> vlan <vlan-range>
⑤定義根網橋:
(config-mst)#spanning-tree mst <inst-num> root [primary|secondary]
(3)校驗命令:
#show spanning-tree mst configuration
#show spanning-tree mst <inst-num>
2,以太通道(etherchannel):
(1)定義:
①綁定多條相同的乙太網鏈路作為一個邏輯的通道。
②生成樹協議將其看作為一個埠的鏈路
③實現多鏈路上的負載平衡和冗餘
(2)配置二層的以太通道:
①指定要綁定的埠範圍:
(config)#interface range <type slot/port - port>
②定義通道管理協議:
(config-if-range)#channel-protocol [pagp|lacp]
③定義埠到通道:
(config-if-range)#channel-group <group-num> mode on
④定義負載平衡模式:
(config)#port-channel load-banlance <mode>
(3)校驗命令:
#show interfaces <num> etherchannel
#show etherchannel <group-num> port-channel
#show etherchannel <group-num> summary

保護優化的生成樹拓撲結構

1,防止「埠快速」的錯誤:
錯誤:把交換機連接到了配置了「埠快速」的埠上,可能引起環路問題
(1)BPDU守衛(GUARD):
①定義:當配置了「埠快速」的埠接收到BPDU時,關閉該埠。
②配置命令:
(config)#spanning-treeportfastbpduguard
③校驗命令:
#show spanning-tree summary totals
(2)BPDU過濾(filtering):
①定義:當配置了「埠快速」的埠接收到BPDU時,該埠失去「埠快速」特性。
②配置命令:
(config)#spanning-treeportfastbpdufilter default
③校驗命令:
#show spanning-tree summary totals
2,保護現有優化的根網橋:「根守衛」(root guard)
(1)定義:當埠收到一個具有更好的參數的網橋協議數據單元(superiorbpdu)時,
將該埠放置在一個「根不一致(root-inconsistent)」狀態,不轉發這一BPDU。
(2)配置命令:
(config-if)#spanning-tree guard root
(3)校驗命令:
#show spanning-tree inconsistentports
3,阻止可能的生成樹的環路:
(1)單向鏈路檢測(UDLD):
①定義: 通過發送檢測消息發現物理鏈路出現單向中斷時,關閉該鏈路埠。
②配置命令:
(config)#udld enable →在所有的光纖埠上啟用
或(config-fi)#udld enable →在某一個光纖或非光線埠上啟用
③校驗命令:
#show udld interface <num>
(2)環路守衛(loop guard):
①定義: 當某一方向埠在MAX-AGE時間后沒有收到BPDU時,
將該埠放置在一個「環路非一致(loop-inconsistent)」狀態,
阻止該埠發送用戶數據。
②配置命令:
(config-if)#spanning-tree guard loop
③校驗命令:
#show spantree guard <int-num>

6分析

網路專業人士對生成樹協議的幾點分析見解:
(1)生成樹協議提供一種控制環路的方法。採用這種方法,在連接發生問題的時候,你控制的乙太網能夠繞過出現故障的連接。
(2)生成樹中的根橋是一個邏輯的中心,並且監視整個網路的通信。最好不要依靠設備的自動選擇去挑選哪一個網橋會成為根橋。
(3)生成樹協議重新計算是繁冗的。恰當地設置主機連接埠(這樣就不會引起重新計算),推薦使用快速生成樹協議。
(4)生成樹協議可以有效的抑制廣播風暴。開啟生成樹協議后抑制廣播風暴,網路將會更加穩定,可靠性、安全性會大大增強。

相關評論

同義詞:暫無同義詞