天天看點

STP

STP 一、STP 的作用

       1、網橋與交換機

              都工作在第二層,網橋是交換機的前身,網橋基于軟體來實作各種功能、端口密度低。隻支援半雙工。交換機基于硬體ASIC實作各種功能、端口密度高、支援全雙工。

       2、單點鍊路故障(引入備援)

       3、備援二層網絡中的問題(為什麼要STP)

              A、廣播風暴

              B、MAC表的不穩定

              C、重複的單點傳播幀

              D、多重循環

       4、STP的作用

              STP是一種循環避免的二層協定,網橋之間可以通過交換STP的消息,可以發現網絡中的實體環路,根據STP的算法,邏輯上阻塞某些接口,建立一個免循環(loop-free)的邏輯拓撲,最終STP能夠建立一個跨越整個二層交換網絡的免循環的支葉樹狀結構。

二、STP 術語

       1、STP的協定包BPDU 資料結構

              Protocol identifier=00總是0

              Protocol version=00(STP的版本 802.1D為0)

              BPDU type (00配置BPDU  80 TCN BPDU)

              Flag:0 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 ID(12bit)

              思科的網橋優先級帶有擴充ID,作為VLAN或MST執行個體的惟一辨別符.

              網橋優先級=4096的倍數+vlan ID 手工修改隻能影響前面4個bit。

       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 的工作過程

       1、STP算法

              确定根網橋、确定到根網橋的最小開銷、确定最小發送網橋ID、确定最小發送端口ID。

       2、工作過程

              初始化,網橋工作時,所有活動端口都發送BPDU,如果端口從其他網橋收到BPDU比自身發送的更佳,本端口停止發送BPDU,并存儲最佳的BPDU(20秒)maxage。

              正常工作下,BPDU從根網橋出發,沿着所有活動路徑(DP)到達網絡中的每個網段,周期2秒,hello不正常時,如果停止從鄰居收到最佳BPDU持續20秒,本地端口又會發送BPDU。

       3、STP的選舉

              A、選擇根網橋:最小BID為根

              B、每個非根網橋選擇一個根端口

                     根端口:到根網橋最近的端口(開銷最小)。收BPDU的接口選

              C、每個實體網段選擇一個指定端口,發送最佳BPDU的端口為指定端口。根網橋上所有接口都為指定接口,發BPDU的接口選。

              D、其他端口,阻塞,邏輯阻塞,丢資料包,接收協定包。

(示範)三交換機互連。操作和選舉,兩交換機互連,操作和選舉

(發BPDU的接口改優先級,收BPDU的接口改cost)

       接口spanning-tree vlan n port-priority 128(default)。16遞增0-255

       Spanning-tree vlan n cost n

四、STP 的端口狀态

1、port state

       Down/disable:沒接裝置或手工shutdown

       Blocking:隻能接收BPDU

       Listening:收發BPDU,已确定活動拓撲,STP選舉

Learning:MAC學習,建構橋接MAC表

       Forwarding:轉發使用者資料

2、STP timer(端口狀态切換時間)舉例情景

       1、hello time 2秒

       2、max age 20秒=10倍hello周期

       3、forwarding 15秒

              直接電信号丢失30s blocking(0)-listening(15)-learning(15)-forwarding

              間接,最佳BPDU逾時。blocking(20)-listening(15)-learning(15)-forwarding

       3、STP TCN

              TCN的作用,加速MAC位址表逾時。

              Mac逾時

              300s老化時間,直連電信号丢失,clear mac address-table dynamic,TC:300s—15s

              TCN的産生條件,端口的UP/DOWN。端口狀态變為forwarding。端口狀态變為forwarding或Learning變為blocking或down。

              由感覺拓撲變化的交換機産生TCN,沿根端口路徑上遊交換機的中繼到根網橋。上遊交換機收到TCN則指定端口才會處理TCN,上遊交換機在下一個配置BPDU的過程中設定TCA标記,從收到的TCN的指定port發送出去。發送TCN的交換機收到TCA置位的配置BPDU停止産生TCN,否則,仍以本地hello周期發送BPDU。根網橋收到TCN,則在新的配置BPDU中,TCA、TC都置為1,TC置位的目的加速網橋MAC表逾時(300s—15s)。TC置位的BPDU持續發送maxage+forwarding delay,縮短為15秒,不是清除整個表,隻是加速MAC表逾時。

五、STP進階特性

       1、STP的模式

              全局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

       2、STP做負載均衡。(PVST+)

              網絡中存在備援鍊路,網絡中存在多個vlan,網絡中存在多個STP執行個體。操縱根網橋、 端口開銷、端口優先級、發送網橋ID實作。

       3、調整STP的時間參數(不建議)

              全局

spanning-tree vlan

vlan-id

hello-time

seconds

forward-time max-age 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.

       4、portfast

              作用:優化邊界端口,接終端裝置的端口快速收斂。Portfast立刻到forwarding,端口狀态變化不會導緻TCN産生,端口STP仍在,當接收到BPDU會正常收斂,針對access。DHCP、bootp、802.1x。

              接口下spanning-tree portfast

              防止接交換機改變STP拓撲結構.接交換機自動關閉。

              Sw1(config-if)#spanning-tree bpduguard enable

              Sw1(config)#spanning-tree portfast bpduguard default

       5、uplinkfast

              作用:優化上聯端口,使主備uplink立刻切換。典型應用在接入層交換機,自動跟蹤根端口,使備份接口在2-3秒内收斂,變成forwarding。将交換機的優先級改為49152,使其不能成為根網橋,将其開銷加3000 ,使其不能成為中繼交換機,由此說明交換機隻能成為未梢接入層交換機。

              Sw1(config)#spanning-tree uplinkfast

       6、backbonefast

              作用:改進交換機之間間接鍊路失效,網絡收斂的時間(50—30)理論時間.收到次佳BPDU立刻處理。注意問題:在所有交換機上都要配置

              Sw1(config)#spanning-tree backbonefast

              引入RLQ機制(root link query)。如果網段down。B會發送次佳BPDU到C。C立刻處理,C沿根端口發送RLQ查詢到A,C在根端口收到回應,知道根的存在,C立刻停止maxage。打開原來的blocking口。B收到BPDU知道從C可以到達根。

       7、root guard

              作用:配置該特性的端口不會成為根端口,進而保護了STP的拓撲,收到superior BPDU端口進入root-inconsistent狀态,此狀态不能收發資料。拿走交換機正常,重新使用shutdown    no shutdown.

              Sw1(config-if)#spanning-tree guard root

       8、loop guard

              作用:跟蹤非指定端口(root port  alt port)的BPDU活動,協定包收不到,端口不應被使用。BPDU丢失端口變為loop-inconsistent狀态,blocking來防止循環。直到再收到BPDU,又可正常收斂。

              Sw1(config-if)#spanning-tree guard loop

       9、UDLD單向鍊路檢測

              作用:針對光纖鍊路檢測單向鍊路故障造成的環路。定期發送UDLD hello包,三個周期沒有收到UDLD的回應,則認為link出現單向故障。

              全局/接口:udld {aggressive/enable/disable}

                                          強占(errdisable) 一般(隻發syslog)

上一篇: STP
下一篇: stp

繼續閱讀