企業網路拓撲MSTP功能例項(二)

南空城發表於2020-11-17

組網圖形

MSTP簡介

  • 乙太網交換網路中為了進行鏈路備份,提高網路可靠性,通常會使用冗餘鏈路。但是使用冗餘鏈路會在交換網路上產生環路,引發廣播風暴以及MAC地址表不穩定等故障現象,從而導致使用者通訊質量較差,甚至通訊中斷。為解決交換網路中的環路問題,提出了生成樹協議STP(Spanning Tree Protocol)。STP(Spanning Tree Protocol)是用來解決網路中環路問題的協議。執行該協議的裝置通過彼此互動資訊而發現網路中的環路,並對某些埠進行阻塞以消除環路。
  • 與眾多協議的發展過程一樣,生成樹協議也是隨著網路的發展而不斷更新的,從最初的IEEE 802.1D中定義的STP到IEEE 802.1W中定義的快速生成樹協議RSTP(Rapid Spanning Tree Protocol),再到最新的IEEE 802.1S中定義的多生成樹協議MSTP(Multiple Spanning Tree Protocol)。
  • 生成樹協議中,MSTP相容RSTP、STP,RSTP相容STP。三種生成樹協議的比較如表1所示。
表1 三種生成樹協議的比較

生成樹協議

特點

應用場景

STP

  • 形成一棵無環路的樹,解決廣播風暴並實現冗餘備份。

  • 收斂速度較慢。

無需區分使用者或業務流量,所有VLAN共享一棵生成樹。

RSTP(詳情見例項)

  • 形成一棵無環路的樹,解決廣播風暴並實現冗餘備份。
  • 收斂速度快。

MSTP

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

需要區分使用者或業務流量,並實現負載分擔。不同的VLAN通過不同的生成樹轉發流量,每棵生成樹之間相互獨立。

組網需求

  • 在一個複雜的網路中,由於冗餘備份的需要,網路規劃者一般都傾向於在裝置之間部署多條物理鏈路,其中一條作為主用鏈路,其他作為備份鏈路。這樣就難免會形成環路,若網路中存在環路,可能會引起廣播風暴和MAC表項被破壞。為此,可以在網路中部署MSTP協議預防環路。MSTP可阻塞二層網路中的冗餘鏈路,將網路修剪成樹狀,達到消除環路的目的。
  • 如圖1所示,SwitchA、SwitchB、SwitchC和SwitchD都執行MSTP。為實現VLAN2~VLAN10和VLAN11~VLAN20的流量負載分擔,MSTP引入了多例項。MSTP可設定VLAN對映表,把VLAN和生成樹例項相關聯。

配置思路

  • 在處於環形網路中的交換裝置上配置MSTP基本功能。
  • 配置保護功能,實現對裝置或鏈路的保護。例如:在各例項的根橋裝置指定埠配置根保護功能。
  • 配置裝置的二層轉發功能。
說明: 
裝置配置根保護功能後,如果根橋和備份根橋之間的鏈路down了,則配置根保護的埠狀態會因為根保護功能生效直接變成discarding狀態。 為了提高可靠性,建議根橋和備份根橋之間的鏈路繫結Eth
-Trunk。

操作步驟

  • 配置MSTP基本功能

  a.配置SwitchA、SwitchB、SwitchC和SwitchD到域名為RG1的域內,建立例項MSTI1和例項MSTI2

  # 配置例項1的根橋SwitchA的MST域。

1 <HUAWEI> system-view
2 [HUAWEI] sysname SwitchA
3 [SwitchA] stp region-configuration
4 [SwitchA-mst-region] region-name RG1 //配置域名為RG1。
5 [SwitchA-mst-region] instance 1 vlan 2 to 10 //將VLAN 2至VLAN 10對映到例項1上。
6 [SwitchA-mst-region] instance 2 vlan 11 to 20 //將VLAN 11至VLAN 20對映到例項2上。
7 [SwitchA-mst-region] active region-configuration //啟用MST域的配置。
8 [SwitchA-mst-region] quit

  # 配置例項2的根橋SwitchB的MST域。

1 <HUAWEI> system-view
2 [HUAWEI] sysname SwitchB
3 [SwitchB] stp region-configuration
4 [SwitchB-mst-region] region-name RG1 //配置域名為RG1。
5 [SwitchB-mst-region] instance 1 vlan 2 to 10 //將VLAN 2至VLAN 10對映到例項1上。
6 [SwitchB-mst-region] instance 2 vlan 11 to 20 //將VLAN 11至VLAN 20對映到例項2上。
7 [SwitchB-mst-region] active region-configuration //啟用MST域的配置。
8 [SwitchB-mst-region] quit

  # 配置接入交換機SwitchC的MST域。

1 <HUAWEI> system-view
2 [HUAWEI] sysname SwitchC
3 [SwitchC] stp region-configuration
4 [SwitchC-mst-region] region-name RG1 //配置域名為RG1。
5 [SwitchC-mst-region] instance 1 vlan 2 to 10 //將VLAN 2至VLAN 10對映到例項1上。
6 [SwitchC-mst-region] instance 2 vlan 11 to 20 //將VLAN 11至VLAN 20對映到例項2上。
7 [SwitchC-mst-region] active region-configuration //啟用MST域的配置。
8 [SwitchC-mst-region] quit

  # 配置接入交換機SwitchD的MST域。

1 <HUAWEI> system-view
2 [HUAWEI] sysname SwitchD
3 [SwitchD] stp region-configuration
4 [SwitchD-mst-region] region-name RG1 //配置域名為RG1。
5 [SwitchD-mst-region] instance 1 vlan 2 to 10 //將VLAN 2至VLAN 10對映到例項1上。
6 [SwitchD-mst-region] instance 2 vlan 11 to 20 //將VLAN 11至VLAN 20對映到例項2上。
7 [SwitchD-mst-region] active region-configuration //啟用MST域的配置。
8 [SwitchD-mst-region] quit

  b.在域RG1內,配置MSTI1與MSTI2的根橋與備份根橋

  配置MSTI1的根橋與備份根橋

  # 配置SwitchA為MSTI1的根橋。

1 [SwitchA] stp instance 1 root primary

  # 配置SwitchB為MSTI1的備份根橋。

1 [SwitchB] stp instance 1 root secondary

  配置MSTI2的根橋與備份根橋

  # 配置SwitchB為MSTI2的根橋。

1 [SwitchB] stp instance 2 root primary

  # 配置SwitchA為MSTI2的備份根橋。

1 [SwitchA] stp instance 2 root secondary

  c.配置例項MSTI1和MSTI2中將要被阻塞埠的路徑開銷值大於預設值

說明: 

•埠路徑開銷值取值範圍由路徑開銷計算方法決定,這裡選擇使用華為計算方法為例,配置例項MSTI1和MSTI2中將被阻塞埠的路徑開銷值為20000。

•同一網路內所有交換裝置的埠路徑開銷應使用相同的計算方法。

  # 配置例項1的根橋SwitchA的埠路徑開銷。

1 [SwitchA] stp pathcost-standard legacy

  # 配置例項2的根橋SwitchB的埠路徑開銷。

1 [SwitchB] stp pathcost-standard legacy

  # 配置接入交換機SwitchC的埠路徑開銷,將埠GE0/0/2在例項MSTI2中的路徑開銷值配置為20000。

1 [SwitchC] stp pathcost-standard legacy
2 [SwitchC] interface gigabitethernet 0/0/2
3 [SwitchC-GigabitEthernet0/0/2] stp instance 2 cost 20000
4 [SwitchC-GigabitEthernet0/0/2] quit

  # 配置接入交換機SwitchD的埠路徑開銷,將埠GE0/0/2在例項MSTI1中的路徑開銷值配置為20000。

1 [SwitchD] stp pathcost-standard legacy
2 [SwitchD] interface gigabitethernet 0/0/2
3 [SwitchD-GigabitEthernet0/0/2] stp instance 1 cost 20000
4 [SwitchD-GigabitEthernet0/0/2] quit

  d.使能MSTP,實現破除環路

  裝置全域性使能MSTP

  # 在SwitchA/B/C/D上啟動MSTP。

1 [SwitchA] stp enable
2 
3 [SwitchB] stp enable
4 
5 [SwitchC] stp enable
6 
7 [SwitchD] stp enable

  將與終端相連的埠設定為邊緣埠並使能埠的BPDU報文過濾功能

  # 配置SwitchC埠GE0/0/1設定為邊緣埠並使能埠的BPDU報文過濾功能。

1 [SwitchC] interface gigabitethernet 0/0/1
2 [SwitchC-GigabitEthernet0/0/1] stp edged-port enable
3 [SwitchC-GigabitEthernet0/0/1] stp bpdu-filter enable
4 [SwitchC-GigabitEthernet0/0/1] quit

  # 配置SwitchD埠GE0/0/1設定為邊緣埠並使能埠的BPDU報文過濾功能。

1 [SwitchD] interface gigabitethernet 0/0/1
2 [SwitchD-GigabitEthernet0/0/1] stp edged-port enable
3 [SwitchD-GigabitEthernet0/0/1] stp bpdu-filter enable
4 [SwitchD-GigabitEthernet0/0/1] quit
  • 配置保護功能,如在各例項的根橋裝置的指定埠配置根保護功能

  # 在例項1根橋SwitchA埠GE0/0/1上啟動根保護。

1 [SwitchA] interface gigabitethernet 0/0/1
2 [SwitchA-GigabitEthernet0/0/1] stp root-protection
3 [SwitchA-GigabitEthernet0/0/1] quit

  # 在例項2根橋SwitchB埠GE0/0/1上啟動根保護。

1 [SwitchB] interface gigabitethernet 0/0/1
2 [SwitchB-GigabitEthernet0/0/1] stp root-protection
3 [SwitchB-GigabitEthernet0/0/1] quit
  • 配置處於環網中的裝置的二層轉發功能

  在交換裝置SwitchA、SwitchB、SwitchC和SwitchD上建立VLAN2~20

1 [SwitchA] vlan batch 2 to 20
2 
3 [SwitchB] vlan batch 2 to 20
4 
5 [SwitchC] vlan batch 2 to 20
6 
7 [SwitchD] vlan batch 2 to 20

  將交換裝置上接入環路中的埠加入VLAN

  # 將例項1的根橋SwitchA埠GE0/0/1加入VLAN。

1 [SwitchA] interface gigabitethernet 0/0/1
2 [SwitchA-GigabitEthernet0/0/1] port link-type trunk
3 [SwitchA-GigabitEthernet0/0/1] port trunk allow-pass vlan 2 to 20
4 [SwitchA-GigabitEthernet0/0/1] quit

  # 將例項1的根橋SwitchA埠Eth-Trunk1加入VLAN。

1 [SwitchA] interface Eth-Trunk 1
2 [SwitchA-Eth-Trunk1] trunkport gigabitethernet 0/0/2
3 [SwitchA-Eth-Trunk1] trunkport gigabitethernet 0/0/3
4 [SwitchA-Eth-Trunk1] port link-type trunk
5 [SwitchA-Eth-Trunk1] port trunk allow-pass vlan 2 to 20
6 [SwitchA-Eth-Trunk1] quit

  # 將例項2的根橋SwitchB埠GE0/0/1加入VLAN。

1 [SwitchB] interface gigabitethernet 0/0/1
2 [SwitchB-GigabitEthernet0/0/1] port link-type trunk
3 [SwitchB-GigabitEthernet0/0/1] port trunk allow-pass vlan 2 to 20
4 [SwitchB-GigabitEthernet0/0/1] quit

  # 將例項2的根橋SwitchB埠Eth-Trunk1加入VLAN。

1 [SwitchB] interface Eth-Trunk 1
2 [SwitchB-Eth-Trunk1] trunkport gigabitethernet 0/0/2
3 [SwitchB-Eth-Trunk1] trunkport gigabitethernet 0/0/3
4 [SwitchB-Eth-Trunk1] port link-type trunk
5 [SwitchB-Eth-Trunk1] port trunk allow-pass vlan 2 to 20
6 [SwitchB-Eth-Trunk1] quit

  # 將接入交換機SwitchC埠GE0/0/1加入VLAN。

1 [SwitchC] interface gigabitethernet 0/0/1
2 [SwitchC-GigabitEthernet0/0/1] port link-type access
3 [SwitchC-GigabitEthernet0/0/1] port default vlan 2
4 [SwitchC-GigabitEthernet0/0/1] quit

  # 將接入交換機SwitchC埠GE0/0/2加入VLAN。

1 [SwitchC] interface gigabitethernet 0/0/2
2 [SwitchC-GigabitEthernet0/0/2] port link-type trunk
3 [SwitchC-GigabitEthernet0/0/2] port trunk allow-pass vlan 2 to 20
4 [SwitchC-GigabitEthernet0/0/2] quit

  # 將接入交換機SwitchC埠GE0/0/3加入VLAN。

1 [SwitchC] interface gigabitethernet 0/0/3
2 [SwitchC-GigabitEthernet0/0/3] port link-type trunk
3 [SwitchC-GigabitEthernet0/0/3] port trunk allow-pass vlan 2 to 20
4 [SwitchC-GigabitEthernet0/0/3] quit

  # 將接入交換機SwitchD埠GE0/0/1加入VLAN。

1 [SwitchD] interface gigabitethernet 0/0/1
2 [SwitchD-GigabitEthernet0/0/1] port link-type access
3 [SwitchD-GigabitEthernet0/0/1] port default vlan 11
4 [SwitchD-GigabitEthernet0/0/1] quit

  # 將接入交換機SwitchD埠GE0/0/2加入VLAN。

1 [SwitchD] interface gigabitethernet 0/0/2
2 [SwitchD-GigabitEthernet0/0/2] port link-type trunk
3 [SwitchD-GigabitEthernet0/0/2] port trunk allow-pass vlan 2 to 20
4 [SwitchD-GigabitEthernet0/0/2] quit

  # 將接入交換機SwitchD埠GE0/0/3加入VLAN。

1 [SwitchD] interface gigabitethernet 0/0/3
2 [SwitchD-GigabitEthernet0/0/3] port link-type trunk
3 [SwitchD-GigabitEthernet0/0/3] port trunk allow-pass vlan 2 to 20
4 [SwitchD-GigabitEthernet0/0/3] quit
  • 驗證配置結果
說明: 

本配置舉例以例項1和例項2為例,因此不用關注例項0中埠的狀態。

  # 在例項1的根橋SwitchA上執行display stp brief命令,檢視埠狀態和埠的保護型別,結果如下:

1 [SwitchA] display stp brief
2  MSTID  Port                        Role  STP State       Protection
3    0    GigabitEthernet0/0/1        DESI  FORWARDING      ROOT
4    0    Eth-Trunk1                  DESI  FORWARDING      NONE
5    1    GigabitEthernet0/0/1        DESI  FORWARDING      ROOT
6    1    Eth-Trunk1                  DESI  FORWARDING      NONE
7    2    GigabitEthernet0/0/1        DESI  FORWARDING      ROOT
8    2    Eth-Trunk1                  ROOT  FORWARDING      NONE

  在MSTI1中,由於SwitchA是根橋,SwitchA的埠Eth-Trunk1和GE0/0/1成為指定埠。在MSTI2中,SwitchA的埠GE0/0/1成為指定埠,埠Eth-Trunk1成為根埠。

  # 在例項2的根橋SwitchB上執行display stp brief命令,結果如下:

1 [SwitchB] display stp brief
2  MSTID  Port                        Role  STP State       Protection
3    0    GigabitEthernet0/0/1        DESI  FORWARDING      ROOT
4    0    Eth-Trunk1                  ROOT  FORWARDING      NONE
5    1    GigabitEthernet0/0/1        DESI  FORWARDING      ROOT
6    1    Eth-Trunk1                  ROOT  FORWARDING      NONE
7    2    GigabitEthernet0/0/1        DESI  FORWARDING      ROOT
8    2    Eth-Trunk1                  DESI  FORWARDING      NONE

  在MSTI2中,由於SwitchB是根橋,埠GE0/0/1和Eth-Trunk1在MSTI2中成為指定埠。在MSTI1中,SwitchB的埠GE0/0/1成為指定埠,埠Eth-Trunk1成為根埠。

  # 在接入交換機SwitchC上執行display stp interface brief命令,結果如下:

1 [SwitchC] display stp interface gigabitethernet 0/0/3 brief
2  MSTID  Port                        Role  STP State       Protection
3    0    GigabitEthernet0/0/3        ROOT  FORWARDING      NONE
4    1    GigabitEthernet0/0/3        ROOT  FORWARDING      NONE
5    2    GigabitEthernet0/0/3        ROOT  FORWARDING      NONE
1 [SwitchC] display stp interface gigabitethernet 0/0/2 brief
2  MSTID  Port                        Role  STP State       Protection
3    0    GigabitEthernet0/0/2        DESI  FORWARDING      NONE
4    1    GigabitEthernet0/0/2        DESI  FORWARDING      NONE
5    2    GigabitEthernet0/0/2        ALTE  DISCARDING      NONE

  SwitchC的埠GE0/0/3在MSTI1和MSTI2中為根埠。SwitchC的另一個埠GE0/0/2,在MSTI2中被阻塞,在MSTI1中被計算為指定埠。

  # 在接入交換機SwitchD上執行display stp interface brief命令,結果如下:

1 [SwitchD] display stp interface gigabitethernet 0/0/3 brief
2  MSTID  Port                        Role  STP State       Protection
3    0    GigabitEthernet0/0/3        ROOT  FORWARDING      NONE
4    1    GigabitEthernet0/0/3        ROOT  FORWARDING      NONE
5    2    GigabitEthernet0/0/3        ROOT  FORWARDING      NONE
1 [SwitchD] display stp interface gigabitethernet 0/0/2 brief
2  MSTID  Port                        Role  STP State       Protection
3    0    GigabitEthernet0/0/2        ALTE  DISCARDING      NONE
4    1    GigabitEthernet0/0/2        ALTE  DISCARDING      NONE
5    2    GigabitEthernet0/0/2        DESI  FORWARDING      NONE

  SwitchD的埠GE0/0/3在MSTI1和MSTI2中為根埠。SwitchD的另一個埠GE0/0/2,在MSTI1中被阻塞,在MSTI2中被計算為指定埠。

 

相關文章