生成樹原理和配置

STP生成樹原理和配置
      STP生成樹原理和配置
      STP(Spanning Tree
      Protocol)是生成樹協議的英文縮寫。該協議可應用於環路網絡,通過一定的算法實現路徑冗餘,同時將環路網絡修剪成無環路的樹型網絡,從而避免報文在環路網絡中的增生和無限循環。  STP的基本原理是,通過在交換機之間傳遞一種特殊的協議報文(在IEEE
      802.1D中這種協議報文被稱爲“配置消息”)來確定網絡的拓撲結構。配置消息中包含了足夠的信息來保證交換機完成生成樹計算。
        生成樹協議STP/RSTP
        1. 技術原理:
        STP的基本思想就是生成“一棵樹”,樹的根是一個稱爲根橋的交換機,根據設置不同,不同的交換機會被選爲根橋,但任意時刻只能有一個根橋。由根橋開始,逐級形成一棵樹,根橋定時發送配置報文,非根橋接收配置報文並轉發,如果某臺交換機能夠從兩個以上的端口接收到配置報文,則說明從該交換機到根有不止一條路徑,便構成了循環迴路,此時交換機根據端口的配置選出一個端口並把其他的端口阻塞,消除循環。當某個端口長時間不能接收到配置報文的時候,交換機認爲端口的配置超時,網絡拓撲可能已經改變,此時重新計算網絡拓撲,重新生成一棵樹。
      2. 功能介紹:
        生成樹協議最主要的應用是爲了避免局域網中的網絡環回,解決成環以太網網絡的“廣播風暴”問題,從某種意義上說是一種網絡保護技術,可以消除由於失誤或者意外帶來的循環連接。STP也提供了爲網絡提供備份連接的可能,可與SDH保護配合構成以太環網的雙重保護。新型以太單板支持符合ITU-T
      802.1d標準的生成樹協議STP及802.1w規定的快速生成樹協議RSTP,收斂速度可達到1s。
        但是,由於協議機制本身的侷限,STP保護速度慢(即使是1s的收斂速度也無法滿足電信級的要求),如果在城域網內部運用STP技術,用戶網絡的動盪會引起運營商網絡的動盪。目前在MSTP
      組成環網中,由於SDH保護倒換時間比STP協議收斂時間快的多,系統採用依然是SDH
      MS-SPRING或SNCP,一般倒換時間在50ms以內。但測試時部分以太網業務的倒換時間爲0或小於幾個毫秒,原因是內部具有較大緩存。SDH保護倒換動作對MAC層是不可見的。這兩個層次的保護可以協調工作,設置一定的“拖延時間”(hold-off),一般不會出現多次倒換問題。
        生成樹算法
        生成樹協議運行生成樹算法(STA)。生成樹算法很複雜,但是其過程可以歸納爲一下三個部分。
        (1)選擇根網橋
        (2)選項根端口
        (3)選擇指定端口
        選擇根網橋的依據是交換機的網橋優先級,網橋優先級是用來衡量網橋在生成樹算法中優先級的十進制數,取值範圍是0~65535.默認值是32768,網橋ID是由網橋優先級和網橋MAC地址組成的。共有8個字節。
        選擇根端口的依據是
        (1)到跟網橋的最低路徑成本。
        根路徑成本是兩個網橋間的路徑上所有鏈路的成本之和,也就是某個網橋到達根網橋的中間所有鏈路的路徑成本之和,一條鏈路的帶寬越大,他的傳輸成本就越低。
        (2)直連的網橋ID最小
        (3)端口ID最小
        選擇指定端口的依據是:
        (1)根路徑成本較低
        (2)所在的交換機網橋ID值最小
        (3)端口ID值最小
        STP生成樹協議
        一、STP概述
        STP(生成樹協議)是一個二層管理協議。在一個擴展的局域網中參與STP的所有交換機之間通過交換橋協議數據單元BPDU(Bridge
      Protocol Data
      Unit)來實現;爲穩定的生成樹拓撲結構選擇一個根橋;爲每個交換網段選擇一臺指定交換機;將冗餘路徑上的交換機置爲Blocking,來消除網絡中的環路。
        IEEE 802.1d是最早關於STP的標準,它提供了網絡的動態冗餘切換機制。STP使您能在網絡設計中部署備份線路,並且保證:
        在主線路正常工作時,備份線路是關閉的。
        當主線路出現故障時自動使能備份線路,切換數據流。
        RSTP(Rapid Spanning Tree
      Protocol)是STP的擴展,其主要特點是增加了端口狀態快速切換的機制,能夠實現網絡拓撲的快速轉換。
        1.1 設置STP模式
        使用命令config spanning-tree mode可以設置STP模式爲802.1d STP或者802.1w RSTP。
        1.2 配置STP
        交換機中默認存在一個default
      STP域。多域STP是擴展的802.1d,它允許在同一臺交換設備上同時存在多個STP域,各個STP域都按照802.1d運行,各域之間互不影響。它提供了一種能夠更爲靈活和穩定網絡環境,基本實現在VLAN中計算生成樹。
        1.2.1 創建或刪除STP
        利用命令create stpd和delete stpd可以創建或刪除STP。
        缺省的default STP域不能手工創建和刪除。
        1.2.2 使能或關閉STP
        交換機中STP缺省狀態是關閉的。利用命令config stpd可以使能或關閉STP。
        1.2.3 使能或關閉指定STP的端口
        交換機中所有端口默認都是參與STP計算的。使用命令config stpd port可以使能或關閉指定的STP端口。
        1.2.4 配置STP的參數
        運行某個指定STP的STP協議後,可以根據具體的網絡結構調整該STP的一些參數。交換機中可以調整以下的STP協議參數:
        Bridge Priority
        Hello Time
        Forward Delay
        Max Age
        另外每個端口上可以調整以下參數:
        Path Cost
        Port Priority
        表1-1 配置STP參數的常用命令
            config stpd forwarddelay
            配置根橋交換機端口狀態切換的時間間隔
            config stpd hellotime
            配置根橋交換機發送BPDU的時間間隔
            config stpd maxage
            配置BPDU報文老化的最長時間間隔
            config stpd priority
            配置運行STP協議時本交換機的優先級
            config stpd port cost
            配置參與STP計算端口的路徑開銷
            config stpd port priority
            配置參與STP計算的端口的優先級
 
        1.2.5 顯示STP狀態
        利用命令show stpd可以查看STP的狀態,包括:
        BridgeID
        Root BridgeID
        STP的各種配置的參數
        利用命令show stpd port可以顯示端口的STP狀態,包括:
        端口狀態
        Designated port
        端口的各種配置參數
        一 VLAN與生成樹
        在缺省的CISCO STP模式中,每個VLAN定義一個STP.
        IEEE802.1Q標準是在整個交換VLAN網絡中使用一個STP,但並不排除在每個VLAN中實現STP.
        1 VLAN與生成樹的關係
        >IEEE通用生成樹(CST)
        >CISCO PER VLAN生成樹(PVST)
        >帶CST的CISCO PER VLAN生成樹(PVST+)
        CST是IEEE解決運行虛擬局域網VLAN生成樹的方法.CST定義,整個第2層交換網絡所有實現了的VLAN,僅使用一個生成樹實例.這個生成樹實例運行在整個交換局域網上.
        PVST是解決在虛擬局域網上處理生成樹的CISCO特有解決方案.PVST爲每個虛擬局域網運行單獨的生成樹實例.一般情況下PVST要求在交換機之間的中繼鏈路上運行CISCO的ISL.
        PVST+是CISCO解決在虛擬局域網上處理生成樹問題的另一個方案.PVST+允許CST信息傳給PVST,以便與其他廠商在VLAN上運行生成樹的實現方法進行操作.
        2 按VLAN生成樹(PVST)
        爲每個VLAN建立一個獨立的生成樹實例(PVST).
        生成樹算法計算整個交換型網絡的最佳無環路徑.
        PVST的優點:
        >生成樹拓撲結構的總體規模減少.
        >改進了生成樹的擴展性,並減少了收斂時間.
        >提供更快的收斂恢復能力和更高的可靠性.
        PVST的缺點:
        >爲了維護針對每個VLAN而生成的生樹,交換機的利用率會更高
        >爲了支持各個VLAN的BPDU,需要佔用更多的TRUNK鏈路帶寬
        生成樹僅可運行在64個VLAN上.
        3 公共生成樹(CST)
        CST是IEEE在虛擬局域網上處理生成樹的特有方法,這是一種VLAN解決方案,稱爲單一或者公共生成樹.生成樹協議運行在VLAN1即缺省的VLAN上.所有的交換機都舉出同一個根網橋,並建立與該根網橋的關係.
        公共生成樹不能針對每個VLAN來優化根網橋的位置.
        公共生成樹優點:
        >最小數量的BPDU通信,帶寬佔用少.
        >交換機負載保持最小.
        公共生成樹的缺點如下:
        >只用一個根網橋,這不能爲所有的VLAN做到網橋的優化放置,導致對某些設備來說可能存在次優化路徑.
        >爲包括交換架構中的所有端口,生成樹的拓撲結構較大,這就會導致較長的收斂時間和更頻繁的重新配置.
        4 增強型的按VLAN生成樹(PVST+)
        PVST+有以下特徵:
        >它是CISCO發展的,可以與802.1Q公共生成樹(CST)互操作.
        >通過ISL中繼,PVST+與現存的CISCO交換機PVST協議向後兼容,同時,PVST+也通過802.1Q中繼與CST連接互操作.
        >如果PVST區域和CST區域之間要互操作,一定要通過PVST+區域.
        --------------------------------------------------------------------------------
        二 生成樹配置
        生成樹配置涉及下面一些任務:
        >選舉和維護一個根網橋.
        >通過配置一些生成樹的參數來優化生成樹.(如端口優先級 端口成本)
        >通過配置上行鏈路來減少生成樹的收斂時間.
        2950交換機上生成樹的缺省配置:
        >STP啓用:缺省情況下VLAN1啓用
        >STP模式:PVST+
        >交換機優先級:32768
        >STP端口優先級:128
        >STP路徑成本:1000M:4 100M:19 10M:100
        >STP VLAN端口成本: (同上)
        >STP計時器:HELLO時間:2秒 轉發延遲:15秒 最大老化時間:20秒
        1 啓用生成樹:
        switch(config)#spanning-tree vlan vlan-list
        步驟:
        switch#c onfig t
        switch(config)# spanning-tree vlan 10
        switch(config)#end
        switch#show spanning-tree summary/detail
        summary摘要  detail詳細
        Bridge Identifier has priority 8912,address 0006.eb06.1741 (本地交換機網橋ID)
        desigated root has priority 8912,address 0006.eb06.1741    (根網橋ID)
        designated port is 7,path cost 0 (路徑成本)
        times: hold1, topology change 35, notification 2
        hello 2, max age 20, forward delay 15 (根計時器)
        2 人爲建立根網橋
        在生成樹網絡中,最重要的事情就是決定根網橋的位置.
        可以讓交換機自己根據一定的原則來選擇根網橋以及備份或從(secondary)根網橋,也可使用命令人爲指定根網橋.
        PS:不要將接入層的交換機配置爲根網橋.STP根網橋通常是匯聚層或者核心層的交換機.
        通過命令直接建立根網橋:
        spanning-tree vlan vlan-id root primary (網橋優先級被置爲24576)
        步驟:
        switch#c onfig terminal
        switch(config)#spanning-tree vlan vlan-id root primary dianmeter
      net-diameter hello-time sec
        爲VLAN配置根網橋、網絡半徑以及HELLO間隔
        ROOT關鍵字:指定這臺交換機爲根網橋
        diameter
      netdianmeter:該關鍵字指定在末端口主機任意兩點之間的網段的最大數量.net-diameter的值是2-7.這個直徑應該從根網橋開始計算,根網橋是1
        switch(config)#end
        switch#show spanning-tree vlan vlan-id detail
        讓交換機返回缺省的配置,可以使用如下命令:
        no spanstree vlan vlan-id root
        2>修改網橋的優先級別:
        多數情況下做如下配置:
        spanning -tree vlan vlan-id root primary (主ROOT網橋優先級被置爲24576)
        spanning-tree vlan vlan-id root secondary(備份ROOT網橋優先級被置爲28672)
        修改網橋優先級:
        spanning-tree vlan vlan-id priority bridge-priority
        3 確定到根網橋的路徑
        生成樹協議依次用BPDU中這些不同域來確定根網橋的最佳路徑:
        >根路徑成本(ROOT PATH COST)
        >發送網橋ID(BRIDGE ID)
        >發送端口ID(PORT ID)
        從端口發出BPDU時,它會被施加一個端口成本,所有端口成本的總和就是根路徑成本.生成樹首先查看根路徑成本,以確定哪些端口應該轉發,哪些端口應該阻塞.報告最低路徑成本的端口被選爲轉發端口.
        如果對多個端口來說,其中根路徑成本相同,那麼,生成樹將查看網橋ID.報告有最低網橋ID的BPDU端口被允許進行轉發,而其他所有端口被阻斷.
        如果路徑成本和發送網橋ID都相同(如在平行鏈路中),生成樹將查看發送端口ID.端口ID值小的優先級高,將作爲轉發端口.
        4 修改端口成本
        如果想要改變某臺交換機和根網橋之間的數據通路,就要仔細計算當前的路徑成本,然後,改變所希望路徑的端口成本.
        我們可以更改交換機端口的成本,端口成本更低的端口更容易被選爲轉發幀的端口.
        spanning-tree vlan vlan-id cost cost
        no spanning-tree vlan vlan-id cost(恢復默認成本)
        配置步驟:
        >1 config terminal   進入配置狀態
        >2 interface interface-id  進入端口配置界面
        >3 spanning-tree vlan vlan-id cost cost值 爲某個VLAN配置端口成本
        >4 end
        >5 show spanning-tree interface interface-id detail 查看配置
        >6 write
        5 修改端口優先級
        在根路徑成本和發送網橋ID都相同的情況下,有最低優先級的端口將爲vlan轉發數據幀.
        對應基於CLI的命令的交換機,可能的端口優先級別範圍爲0~63,缺省爲32.基於IOS的交換機端口的優先級別範圍是0~255,缺省爲128.
        spanning-tree vlan vlan-id port-priority priority值
        no spanning-tree vlan vlan-id port-priority
        1> config terminal  (進入配置模式)
        2> interface interface-id (進入端口配置模式)
        3> spanning-tree vlan vlan-id port-priority 值
        4> end
        5>show spanning-tree interface interface-id detail
        6>write
        --------------------------------------------------------------------------------
        6 修改生成樹計時器
        使用缺省的STP計時器配置,從一條鏈路失效到另一條接替,需要花費50秒.這可能使網絡存取被耽誤,從而引起超時,不能阻止橋接回路的產生,還會對某些協議的應用產生不良影響,會引起連接、會話或數據的丟失。
        還有一種情況就是使用熱備份路由選擇協議(HSRP),將兩臺路由器連接到一臺交換機上。某些情況下,缺省的STP的計時器值對於HSRP而言過長,會引起“活動”路由器的選擇的錯誤。
        1 修改HELLO時間
        spanning-tree vlan vlan-id hello-time seconds
        可以修改每一個VLAN的Hello間隔(HELLO TIME),它的取值範圍是 1~10秒
        2 修改轉發延遲計時器
        轉發延遲計時器(forward delay
      timer)確定一個端口在轉換到學習狀態之前處於偵聽狀態的時間,以及在學習狀態轉換到轉發狀態之前處於學習狀態的時間。
        spanning-tree vlan vlan-id forward-time seconds
        PS:轉發時間過長,會導致生成樹的收斂過慢
        轉發時間過短,可能會在拓撲改變的時候,引入暫時的路徑迴環。
        3 修改最大老化時間
        最大老化時間(MAX—AGE TIMER)規定了從一個具有指定端口的鄰接交換機上所收到的BPDU報文的生存時間。
        如果非指定端口在最大老化時間內沒有收到BPDU報文,該端口將進入listening狀態,並接收交換機產生配置BPDU報文。
        修改命令:
        spanning-tree vlan vlan-id max-age seconds
        no spanning-tree vlan vlan-id max-age (恢復默認值)
        7 速端口的配置
        通過速端口,可以大大減少處於偵聽和學習狀態的時間,速端口幾乎立刻進入轉發狀態。速端口將工作站或者服務器連接到網絡的時間減至最短。
        PS:確定一個端口下面接的是終端的時候,方可啓用速端口設置
        switch(config-if)#spanning-tree portfast
        switch(config-if)#no spanning-tree portfast(關閉速端口)
        查看端口的速端口狀態:
        show spanning-tree interface interface-id detail
     
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章