STP

一、STP的作用

       1、網橋與交換機
              都工作在第二層,網橋是交換機的前身,網橋基於軟件來實現各種功能、端口密度低。只支持半雙工。交換機基於硬件ASIC實現各種功能、端口密度高、支持全雙工。
       2、單點鏈路故障(引入冗餘)
       3、冗餘二層網絡中的問題(爲什麼要STP
              A、廣播風暴
              BMAC表的不穩定
              C、重複的單播幀
              D、多重循環
       4STP的作用
              STP是一種循環避免的二層協議,網橋之間可以通過交換STP的消息,可以發現網絡中的物理環路,根據STP的算法,邏輯上阻塞某些接口,建立一個免循環(loop-free)的邏輯拓撲,最終STP能夠建立一個跨越整個二層交換網絡的免循環的支葉樹狀結構。

 

二、STP術語

       1STP的協議包BPDU 數據結構
              Protocol identifier=00總是0
              Protocol version=00(STP的版本 802.1D0)
              BPDU type 00配置BPDU  80 TCN BPDU
              Flag0 TC:根網橋置位,表示拓撲發生變化。7 TCA:收到TCN的網橋置位表子ACK確認。1 proposal建議  23端口功能(指定備份根替代) 45當前端口狀態(learning forwarding 6同意(agreement
               Root identifier根網橋ID
               Root path cost到達根網橋的STP開銷。不同廠商、測量評定,link cost的值可能不能,可手工指定 10M=100  100M=19  1000M=4   10G=2   622M=6   155M=14在收BPDU的口加開銷
               Sending bridge id發送網橋ID
               Port發送網橋端口ID
               Message age:消息壽命,從根網橋發出BPDU之後的秒數,每經過一個網橋都遞減1,所以它本質上是到達根網橋的跳計數。
Information lifetime:最大壽命,網橋在將根網橋看作不可用之前保留根網橋ID的最大時間。
Root hello time:根網橋連續發送的BPDU之間的時間間隔
Forward delay:轉發延遲,網橋在監聽和學習狀態所停留的時間間隔
       2、根網橋
              在交換網絡中選舉無環路拓撲的參考點與核心,具有最低網橋ID的交換機。
              網橋ID:優先級+MAC  字節數8=2+6
              優先級:0-65535缺省一半32768  MAC交換機背板MAC
              優先級=網橋優先級(4bit+Extended System ID12bit
              思科的網橋優先級帶有擴展ID,作爲VLANMST實例的惟一標識符.
              網橋優先級=4096的倍數+vlan ID 手工修改只能影響前面4bit
       3、根網橋的選舉標準bridge id (演示)
              一個二層網絡中,選舉一個交換機作爲根網橋,最小優先級,優先級相同,選最小MAC。具有搶佔功能。
              Switch(config)#spanning-tree vlan 1 root primary 優先級-8K
Switch(config)#spanning-tree vlan 1 root secondary 優先級-4K
              Switch(config)#spanning-tree vlan 1 priority ?
             <0-61440>  bridge priority in increments of 4096

 

三、STP的工作過程

       1STP算法
              確定根網橋、確定到根網橋的最小開銷、確定最小發送網橋ID、確定最小發送端口ID
       2、工作過程
              初始化,網橋工作時,所有活動端口都發送BPDU,如果端口從其他網橋收到BPDU比自身發送的更佳,本端口停止發送BPDU,並存儲最佳的BPDU(20)maxage
              正常工作下,BPDU從根網橋出發,沿着所有活動路徑(DP)到達網絡中的每個網段,週期2秒,hello不正常時,如果停止從鄰居收到最佳BPDU持續20秒,本地端口又會發送BPDU
       3STP的選舉
              A、選擇根網橋:最小BID爲根
              B、每個非根網橋選擇一個根端口
                     根端口:到根網橋最近的端口(開銷最小)。收BPDU的接口選
              C、每個物理網段選擇一個指定端口,發送最佳BPDU的端口爲指定端口。根網橋上所有接口都爲指定接口,發BPDU的接口選。
              D、其他端口,阻塞,邏輯阻塞,丟數據包,接收協議包。
(演示)三交換機互連。操作和選舉,兩交換機互連,操作和選舉
(發BPDU的接口改優先級,收BPDU的接口改cost
       接口spanning-tree vlan n port-priority 128default)。16遞增0-255
       Spanning-tree vlan n cost n

 

四、STP的端口狀態

1port state
       Down/disable:沒接設備或手工shutdown
       Blocking:只能接收BPDU
       Listening:收發BPDU,已確定活動拓撲,STP選舉
LearningMAC學習,構建橋接MAC
       Forwarding:轉發用戶數據
2STP timer(端口狀態切換時間)舉例情景
       1hello time 2
       2max age 20=10hello週期
       3forwarding 15
              直接電信號丟失30s blocking(0)-listening(15)-learning(15)-forwarding
              間接,最佳BPDU超時。blocking(20)-listening(15)-learning(15)-forwarding
       3STP TCN
              TCN的作用,加速MAC地址表超時。
              Mac超時
              300s老化時間,直連電信號丟失,clear mac address-table dynamicTC300s—15s
              TCN的產生條件,端口的UP/DOWN。端口狀態變爲forwarding。端口狀態變爲forwardingLearning變爲blockingdown
              由感知拓撲變化的交換機產生TCN,沿根端口路徑上游交換機的中繼到根網橋。上游交換機收到TCN則指定端口才會處理TCN,上游交換機在下一個配置BPDU的過程中設置TCA標記,從收到的TCN的指定port發送出去。發送TCN的交換機收到TCA置位的配置BPDU停止產生TCN,否則,仍以本地hello週期發送BPDU。根網橋收到TCN,則在新的配置BPDU中,TCATC都置爲1TC置位的目的加速網橋MAC表超時(300s—15s)。TC置位的BPDU持續發送maxage+forwarding delay,縮短爲15秒,不是清除整個表,只是加速MAC表超時。

 

五、STP高級特性
       1STP的模式
              全局spanning-tree mode PVST+(default)  Rapid  PVST  MST
                     Pvst+cisco基於802.1D基礎上發展的,爲了兼容802.1Q每個vlan一個STP實例,加入cisco一些私有特性
                     Cst(common spanning-tree) 所有vlan共用一個STP的實例。優點:CPU資源佔用少,缺點:不能做負載均衡。
                     Rapid – pvst+ cisco私有,(RSTP)加快收斂2-3秒。
                     MST(國際標準)multi spanning-tree
                            多個vlan共用一個STP的實例
       禁用STP    no spanning-tree vlan x
       2STP做負載均衡。(PVST+
              網絡中存在冗餘鏈路,網絡中存在多個vlan,網絡中存在多個STP實例。操縱根網橋、 端口開銷、端口優先級、發送網橋ID實現。
       3、調整STP的時間參數(不建議)
              全局spanning-tree vlan vlan-id hello-time seconds

                            spanning-tree vlan vlan-id forward-time seconds

                            spanning-tree vlan vlan-id max-age seconds

                     spanning-tree transmit hold-count value Configure the number of BPDUs that can besent before pausing for 1 second. For value, the range is 1 to 20; the default is 6.

       4portfast
              作用:優化邊界端口,接終端設備的端口快速收斂。Portfast立刻到forwarding,端口狀態變化不會導致TCN產生,端口STP仍在,當接收到BPDU會正常收斂,針對accessDHCPbootp802.1x
              接口下spanning-tree portfast
              防止接交換機改變STP拓撲結構.接交換機自動關閉。
              Sw1(config-if)#spanning-tree bpduguard enable
              Sw1(config)#spanning-tree portfast bpduguard default
       5uplinkfast
              作用:優化上聯端口,使主備uplink立刻切換。典型應用在接入層交換機,自動跟蹤根端口,使備份接口在2-3秒內收斂,變成forwarding。將交換機的優先級改爲49152,使其不能成爲根網橋,將其開銷加3000 ,使其不能成爲中繼交換機,由此說明交換機只能成爲未梢接入層交換機。
              Sw1(config)#spanning-tree uplinkfast
       6backbonefast
              作用:改進交換機之間間接鏈路失效,網絡收斂的時間(50—30)理論時間.收到次佳BPDU立刻處理。注意問題:在所有交換機上都要配置
              Sw1(config)#spanning-tree backbonefast
              引入RLQ機制(root link query)。如果網段downB會發送次佳BPDUCC立刻處理,C沿根端口發送RLQ查詢到AC在根端口收到迴應,知道根的存在,C立刻停止maxage。打開原來的blocking口。B收到BPDU知道從C可以到達根。
       7root guard
              作用:配置該特性的端口不會成爲根端口,從而保護了STP的拓撲,收到superior BPDU端口進入root-inconsistent狀態,此狀態不能收發數據。拿走交換機正常,重新使用shutdown    no shutdown.
              Sw1(config-if)#spanning-tree guard root
       8loop guard
              作用:跟蹤非指定端口(root port  alt port)的BPDU活動,協議包收不到,端口不應被使用。BPDU丟失端口變爲loop-inconsistent狀態,blocking來防止循環。直到再收到BPDU,又可正常收斂。
              Sw1(config-if)#spanning-tree guard loop
       9UDLD單向鏈路檢測
              作用:針對光纖鏈路檢測單向鏈路故障造成的環路。定期發送UDLD hello包,三個週期沒有收到UDLD的迴應,則認爲link出現單向故障。
              全局/接口:udld {aggressive/enable/disable}
                                          強佔(errdisable 一般(只發syslog)
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章