網絡冗餘鏈路管理的實現

由於以太網網橋採用了基於 MAC 地址實現在不同端口之間的數據轉發機制,每一個端口對應的是一個以太網的網段,通過學習每個端口的 MAC 地址表的方式,網橋只轉發不同端口間的通信。但由於網橋依賴運行網絡中存在的MAC 地址和端口的地址對應表來進行數據的轉發,若收到目的地址未知的數據包,只能利用廣播的形式來尋址,其後果就是在一個環形網絡中造成大量的流量即“廣播風暴”,從而導致網絡的癱瘓。
  爲了解決基於二層的“廣播風暴”問題,IEEE(電機和電子工程師學會)制定了 802.1D 的生成樹協議(Spanning Tree Protocol),它在防止產生環路的基礎上提供路徑冗餘。生成樹協議(STP)是通過生成樹算法(STA:Spanning Tree Algorithm)計算出一條到根網橋的無環路路徑來避免和消除網絡中的環路,它是通過判斷網絡中存在環路的地方並阻斷冗餘鏈路來實現這個目的。通過這種方式,它確保到每個目的地都只有唯一路徑,不會產生環路,從而達到管理冗餘鏈路的目的。
  爲了實現對冗餘鏈路的管理,找出存在的冗餘鏈路,STA在網絡中選舉根網橋作爲依據,跟蹤該可用路徑。若發現存在冗餘路徑,它將選擇最佳路徑來進行數據包轉發,並阻斷其它冗餘鏈路。
Spanning Tree的工作原理
  Spanning Tree 的工作方式如同生成一棵的樹,樹的根就稱爲“根網橋”,每個設備會定義一個優先級,數值越小代表它成爲根橋的可能性越大。參與STP的所有交換機都通過數據消息的交換來獲取網絡中其它交換機的信息,這些消息被稱爲橋接協議數據單元(BPDU)。BPDU主要內容包括:根信息 、路徑開銷、端口信息、記時器。
  實現管理冗餘鏈路,建立無環路生成樹的首先選舉一個根網橋。根網橋是所有交換機用來決定網絡中是否存在環路的依據。通過網橋ID決定誰將成爲根網橋,根網橋ID由兩部分組成:優先級域(兩字節)和MAC地址域(六字節)。以上兩個部分決定了根網橋的選定結果。數值越低,就越有可能成爲根網橋。如果交換機發現一個比它自己更低的根ID,就將根ID在BPDU中進行宣告。通過交換BPDU報文,交換機決定誰是根網橋。
  當根網橋選舉完後,每臺交換機與根網橋建立關聯。交換機首先判斷路徑開銷。路徑開銷是根據鏈路速率和BPDU從根網橋到達本端口所經過的鏈路數量而計算出來的。如果一個端口有最低的路徑開銷,它將被置於轉發模式。接收BPDU的所有其它端口將被置於阻斷模式。 若各端口接收到BPDU的路徑開銷相同,交換機將根據網橋ID以決定哪個端口應該進行轉發。有最低網橋ID的端口將被選爲轉發端口,所有其它端口將被阻斷。
  經過BPDU的交換,可實現根網橋交換機的選舉,並計算出每臺交換機到根交換機的最短距離,離根交換機最近的交換機被稱爲指定交換機,每臺交換機的根端口被選舉出來。這是一個提供從該交換機到根交換機最佳路徑(通常是最低開銷路徑)的端口,不進行數據幀轉發的端口被置於阻斷狀態。這些端口可繼續發送和接收BPDU信息,但禁止發送或接收用戶數據。
  爲了建立一個無環路網絡,生成樹使交換機的各個端口經歷幾種不同的狀態:阻斷、傾聽、學習、轉發、關閉
  傾聽和學習狀態都是生成樹所實施的過渡狀態,指揮交換機端口等待從其它交換機上獲得BPDU報文。端口狀態轉換如下:
  當生成樹通過了STP狀態時,採用一系列記時器來防止網絡中橋接環路的發生。
快速生成樹協議(Rapid Spanning Tree Protocol,RSTP)
  生成樹協議IEEE 802.1d雖可在50秒內恢復連接,但已不能滿足現代交換式網絡和應用的需要,在 802.1w中定義的RSTP協議可解決802.1d的自恢復問題。 快速生成樹協議(RSTP)是從生成樹算法的基礎上發展而來的,通過配置消息來傳遞生成樹信息,並通過優先級比較來進行計算。快速生成樹能夠完成生成樹的所有功能,優異之處在於快速生成樹減小了端口從阻塞到轉發的延時,快速恢復網絡的正常工作狀態。它採用橋-橋握手機制,並不採用802.1d中根橋所指定的計時器。   
  快速生成樹協議與生成樹協議的區別不少:如端口狀態遷移方式不同;配置消息的格式不同;拓樸改變消息的傳播方式不同。
  RSTP除了對根端口和802.1d中的指定端口進行了定義之外,還增加了兩種新的作用:一是備份端口。指定端口向生成樹提供的路徑備份。二是替代端口。爲當前根端口所提供的根橋提供了替代路徑。RSTP中新定義的端口作用使替代端口可以進行快速轉換,能轉發根端口的故障。
  爲了防止環路,RSTP利用網橋之間的握手來確保通過網絡分配的端口任務能夠保持一致。由於這種握手機制不依賴於定時器,因此可以迅速地傳送到網絡各處,隨着拓樸結構的改變而在很短的時間內恢復連接。802.1w僅工作在點到點的連接中,否則802.1w協議將回到802.1d模式。
  新的根端口從阻塞到轉發的實現:原有根端口已經知道自己不再是根端口了,進入阻塞狀態。新的根端口連接的網段的指定端口處於轉發狀態,這個新的根端口就可以無延時地進入轉發狀態。
  非邊緣指定端口從阻塞到轉發:此個端口連接着其他網橋。等待進入轉發狀態的指定端口向下遊網橋發送一個握手請求報文,若下游的網橋響應了,則這個指定端口就可以無延時地進入轉發狀態。
  邊緣端口從阻塞到轉發:邊緣端口直接和終端設備相連,不再連接任何網橋的端口。網橋啓動後這些端口即無延時地快速進入轉發狀態。
通過STP實現鏈路冗餘管理
  正確理解STP原理和配置,對於維持交換網絡的正常運行有重要的影響。設計好生成樹,可以使網絡保持良好的性能。
  通過人工設定的方法爲網絡指定網橋的優先級別,將其置於網絡的中心位置,保證該網橋能被選舉爲根網橋,並配備備份根網橋是實現鏈路優化管理的手段之一。爲更好地定製生成樹,可通過調整交換機的端口ID、端口成本、網絡直徑等方法來實現。
  快速生成樹改進的只是生成樹的收斂時間,沒有解決在整個橋接網絡只應用一個單生成樹實例的不足。網絡設計時最好使網絡直徑不超過7。
  在交換上Spanning-tree的設置:
QUOTE:
  Switch(config)#spanning-tree
  上面的命令全局啓用spanning-tree功能。
  Switch (config)#spanning-tree ethernet 2/1 path-cost 30 priority 9
  上面的命令設置e2/1端口的路徑消費爲30,端口優先級爲9。
  Spanning-tree也可應用於特定的VLAN或者某一個端口上面:
  Switch (config-vlan-10)#spanning-tree
  Switch (config-if-2/1)#spanning-tree
  查看Spanning-tree:
  Switch #Show span detail
  Switch (config)#Show span detail
  STP對實現網絡冗餘鏈路的優化管理,維持網絡的穩定,快速修復交換網絡故障有重要的影響。對交換網絡的生成樹設計,可通過人工設定參數的方法來優化管理。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章