STP原理與配置


STP原理與配置

 

1.廣播風暴
  環路會引起廣播風暴,同時網絡中的主機會收到重復數據幀。
2.STP的作用
  STP通過阻塞端口消除環路,並能夠實現鏈路備份的目的。
3.STP操作
   1)選擇根網橋:所有交換機中,Router-id最小的就是根網橋。
   2)選擇根端口:根端口在非根網橋上,是非根網橋上到達根網橋路徑最短的那個端口。與根網橋直連的端口為根端口
   3)選擇指定端口:根網橋上的所有端口都是指定端口
   4)阻塞端口,非指定端口:未被選舉為根端口或指定端口的為阻塞端口
4.BPDU
   BPDU包含橋ID,路徑開銷,端口ID等參數。STP選舉的過程,都是通過BPDU來選舉的
   Message Age:配置BPDU在網絡中傳播的生存期
   Max Age:配置BPDU在設備中能夠保存的最大生存期
   Hello Time:配置BPDU發送的周期
   Forward Delay:端口狀態遷移的延時
5.BPDU的兩種類型
   配置BPDU和TCN BPDU
   配置BPDU包含了橋ID,路徑開銷,和端口ID等參數。在網絡拓撲穩定以后,只有根橋主動配置BPDU,其他交換機在收到上游傳來的配置BPDU后,才會發送自己的配置BPDU。

   TCN BPDU是指下游交換機感知到拓撲發生變化是向上游發生的拓撲變化通知。

6.根橋故障:非根橋會在BPDU老化后開始重新選舉根網橋,時間是Max Age+2倍Forward Delay=50s左右
7.直連鏈路故障:當其中一台交換機檢測到直連鏈路出現物理故障后,會將預備端口轉化為根端口
                    這台交換機的預備端口會在30s后恢復到轉發狀態(2倍的轉發延遲時間)
8.非直連鏈路故障:交換機的預備端口會在50s后恢復到轉發狀態
9.拓撲變化中TCN過程:拓撲變化過程中,根橋通過TCN BPDU報文獲知生成樹拓撲里發生了故障,根橋生成TC用來通知其他交換機加速老化現有MAC地址表

10.根橋產生故障后,其他交換機會被選為根橋,當原來的根橋恢復后,網絡會發生什么變化?
  網絡會重新選舉根橋。
11.STP中根路徑開銷和本地路徑開銷的區別?
  路徑開銷:一台交換機和另一台交換的路徑 根路徑開銷:一台交換機到根交換機的路徑
  根路徑開銷是根據交換機之間的網段來說的,本地路徑的開銷也叫端口開銷是針對本地的物理鏈路來說的。
  相關的IETF的規定為物理鏈路10G/s 開銷為2 ,物理鏈路1G/s 開銷為4 ,物理鏈路100M/s 開銷為19 ,物理鏈路10M/s 開銷為100

 

==========

 

生成樹協議和其他協議一樣,是隨着網絡的不斷發展而不斷更新換代的。最初被廣泛應用的是IEEE802.1D-1998 STP(Spanning Tree Protocol,生成樹協議),隨后以它為基礎產生了IEEE 802.1w RSTP(Rapid Spanning Tree Protocol,快速生成樹協議)和IEEE 802.1s MSTP(Multiple Spanning Tree Protocol,多生成樹協議)

 

三種生成樹協議特點比較:

STP:

  1. 形成一棵無環路的樹,解決廣播風暴並實現冗余備份。
  2. 收斂速度較慢。
  3. 無需區分用戶或業務流量, 所有VLAN共享一棵生成樹 。

RSTP:

  1. 形成一棵無環路的樹,解決廣播風暴並實現冗余備份。
  2. 收斂速度快。
  3. 無需區分用戶或業務流量, 所有VLAN共享一棵生成樹 。

MSTP:

  1. 形成多棵無環路的樹,解決廣播風暴並實現冗余備份。
  2. 收斂速度快。
  3. 多棵生成樹在VLAN間實現負載均衡,不同VLAN的流量按照不同的路徑轉發。

 

STP原理

STP(Spanning Tree Protocol)生成樹協議解決了鏈路冗余中的環路問題。

STP通過阻塞端口來消除環路,並能夠實現鏈路備份的目的。這種阻塞是邏輯上的阻塞,業務報文不能轉發,但是協議報文能夠轉發。

STP通過發送BPDU(Bridge Protocol Date Unit)橋協議數據單元來決定要阻塞的端口。

 

協商原則

STP協議是根據4個維度進行選舉協商的,設備之間通過發送BPDU報文,經過4個維度的比較,最終會阻塞綜合能力最差的端口。

選舉維度(橋ID,累計根路徑開銷,發送設備BID,發送端口PID)

 

工作過程

 

 

選舉分四步

1.選舉一個根橋(Root Bridge)

Bridge ID:比較優先級(0~65536,默認32768,值越小,優先級越高)+比較MAC

2.每個非根交換機選舉一個根端口(R:Root port)

Root port:根據cost(鏈路開銷),開銷越小,優先級越高,選舉為根端口。開銷相同,比較交換機優先級、mac地址等。

3.每個網段都選舉一個指定端口(D:Designated port)

每條鏈路選一個指定端口,根交換機每個接口都是D接口。

4.阻塞非根、非指定端口(A:Alternative Port)

選舉完指定端口,交換機中非根、非指定端口,便是阻塞端口。

 

臨時環路問題
為了避免臨時環路問題,A端口進入D端口之前需要等待一段時間。A->Listening->Learning->D,默認每個狀態都是15秒,總共三十秒。

 

端口狀態轉換

 

Disabled:端口被關閉
Blocking:A端口
Forwarding:R、D端口
Listening:可以轉發BPDU報文。但不能轉發用戶流量。
Learning:可以根據收到的用戶流量構建MAC地址表,但不轉發用戶流量。 

 

角色和狀態

經過4個維度的比較,最終會協商出端口的角色和狀態,確定報文流量的轉發路徑。STP角色的定義,如下圖所示。

根橋:就是橋ID最小的設備。 橋ID是由16位的橋優先級與橋MAC地址構成。BID橋優先級占據高16位,其余的低48位是MAC地址。華為交換機默認橋優先級都是32768。所以在不修改橋優先級時,MAC地址最小的設備就是根橋。

指定端口:就是負責轉發BPDU報文的端口。 根橋上的端口都是指定端口。該端口可以正常轉發流量。

根端口:就是 去往根橋路徑開銷最小的端口。該端口可以正常轉發流量。

阻塞端口:就是禁止轉發流量的端口。

從上面的官方定義,可以看出:STP協商完成后,端口要么被阻塞,要么正常轉發報文。其實在STP進行協商的過程中,是有一些中間狀態的。

 

報文格式

STP協議報文是通過BPDU報文封裝的,目的MAC是 組播MAC:01-80-C2-00-00-00,封裝格式是IEEE 802.3。

目標MAC是組播MAC地址,組播地址只有交換機才會接收Type值是0x03。

BPDU報文處理流程

BPDU報文的分類

配置BPDU報文:根據Flags標記位,分為3類

  • 第一類配置BPDU報文: Flags的TCA和TC位都置為0的配置BPDU報文
  • 第二類配置BPDU報文: Flags的TCA和TC位都置為1的配置BPDU報文
  • 第三類配置BPDU報文:Flags的TCA位置為0,TC位置為1的配置BPDU報文

TCN BPDU報文:BPDU Type為0x80的BPDU報文,叫做TCN BPDU報文

BPDU報文的處理流程

BPDU報文格式

第一類配置BPDU報文: Flags的TCA和TC位都置為0的配置BPDU報文

該報文用於STP狀態的 協商和維持。具體報文格式如下:

第二類配置BPDU報文: Flags的TCA和TC位都置為1的配置BPDU報文

該報文用於通知 下游設備停止發送TCN BPDU報文。具體報文格式如下:

第二類配置BPDU報文: Flags的TCA位置為0,TC位置為1的配置BPDU報文

該報文用於通知下游設備刪除MAC地址表項。具體報文格式如下:

TCN BPDU報文: BPDU Type為0x80的BPDU報文,叫做TCN BPDU報文,用於通知上游設備網絡拓撲變更。具體報文格式如下:

配置舉例

配置思路

采用如下的思路配置STP:

  1. 配置模式是STP模式。
  2. 配置SwitchA為根橋,SwitchB為備份根橋。
  3. SwitchC和SwitchD的GE0/0/3端口去使能STP協議。
  4. SwitchA、SwitchB、SwitchC和SwitchD使能STP協議。

操作步驟

配置模式為STP模式。

<HUAWEI> system-view

[HUAWEI] sysname SwitchA

[SwitchA] stp mode stp

<HUAWEI> system-view

[HUAWEI] sysname SwitchB

[SwitchB] stp mode stp

<HUAWEI> system-view

[HUAWEI] sysname SwitchC

[SwitchC] stp mode stp

<HUAWEI> system-view

[HUAWEI] sysname SwitchD

[SwitchD] stp mode stp

配置SwitchA為根橋,SwitchB為備份根橋。

[SwitchA] stp root primary //也可以使用命令stp priority 0 配置優先級為0,和stp root primary的作用是一樣的。

[SwitchB] stp root secondary //也可以使用命令stp priority 4096 配置優先級為4096,和stp root secondary的作用是一樣的。

去使能SwitchB和SwitchC設備GE0/0/3端口的STP功能。

[SwitchC] interface gigabitethernet0/0/3

[SwitchC-GigabitEthernet0/0/3] stp disable

[SwitchC-GigabitEthernet0/0/3] quit

[SwitchD] interface gigabitethernet 0/0/3

[SwitchD-GigabitEthernet0/0/3] stp disable

[SwitchD-GigabitEthernet0/0/3] quit

全局使能STP功能。

[SwitchA] stp enable

[SwitchB] stp enable

[SwitchC] stp enable

[SwitchD] stp enable

驗證配置結果

查看STP簡要信息,通過STP簡要信息可以快速的看出端口的角色和狀態。

 

========= End

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM