一、Smart Link産生背景
當下遊裝置連接配接到上遊裝置時,使用單上行方式容易出現單點故障,造成業務中斷。是以通常采用雙上行方式,即将一台下遊裝置同時連接配接到兩台上遊裝置,以最大限度地避免單點故障,提高網絡可靠性。雙上行組網雖然能提高網絡可靠性,但又引入了環路問題。通常可通過STP(生成樹協定),但STP在收斂速度上隻能達到秒級,不适用于對收斂時間有很高要求的使用者。
Smart Link是一種針對雙上行組網的解決方案,實作了高效可靠的鍊路備援備份和故障快速切換。
說明:1. Smart Link是H3C和華為私有協定;2. 故障切換速度可達厘秒級
Smart Link的主要特點如下:
- 專用于雙上行組網;
- 收斂速度快(達到厘秒級);
- 配置簡單,便于使用者操作(其實并不簡單
Smart Link概述 )。Smart Link概述
Monitor Link是對Smart Link技術的有力補充。Monitor Link用于監控上行鍊路,以達到讓下行鍊路同步上行鍊路狀态的目的,使Smart Link的備份作用更加完善。
注意:(1)Smart-link、STP、RRPP同時隻能運作一種;(2)配置Smart-link時,需要在相關接口上關閉STP特性。
二、Smart Link相關概念
1. 運作機制
雙上行的兩個端口組成一個Smart-link組,配置為主端口和副端口,主端口鍊路故障,立即切換為副端口轉發資料。
2. 保護VLAN
說明:可以了解為業務vlan
Smart-link組允許轉發的VLAN,以MST執行個體的形式進行映射。
3. 控制VLAN
FLUSH封包轉發的VLAN。
4. FLUSH封包
說明:不配置flush封包,Smart Link主端口故障鍊路也會立即切換到從端口,但是由于上行交換機學習的MAC位址仍然對應原接口,此時需要等到mac位址表重新整理業務才能恢複故障。通過flush封包可以立即重新整理正确的MAC位址記錄。
技術背景
鍊路發生故障切換時,上行交換機學習的MAC位址仍然對應原接口,需要通過流量來重新整理正确的MAC位址記錄。
解決方案
收到Flush封包的交換機,會在接收封包的端口重新學習MAC位址記錄。
5. Smart-link角色搶占模式
預設主端口故障恢複後,不會發生角色搶占,即主鍊路故障恢複後業務仍然走備鍊路,除非備鍊路故障再次切換到主鍊路。可通過配置使主端口自動搶占角色。
6. Monitor Link
定義
用于把上行鍊路的存活狀态同步到下行鍊路,使Smart-link可以感覺到跨裝置的鍊路故障。
原理
上行端口:連接配接上層裝置的端口
下行端口:連接配接Smart-link的端口
當所有上行端口Down,自動關閉下行端口;任意一個上行端口Up,自動開啟下行端口。
三、Smart Link配置執行個體
1. 配置拓撲
2. 配置需求
(1)網絡中有 Vlan10,Vlan20,Vlan30,Vlan40 一共 4 個業務 Vlan,資料可以在所有鍊路上轉發
(2)在 SW1 上使用 Smart-link 對上行鍊路進行備份。要求 Smart-link組1 引用 MST 執行個體 1 (映射 Vlan10 和 Vlan20)的流量經過 SW2 的鍊路通路上行裝置,而 Smart-link 組 2 引用執行個體 2(映射 Vlan30 和 Vlan40)的流量經過 SW3 的鍊路通路上行裝置,組 1 群組 2 分别在 Vlan100 和 Vlan200 内發送和接收 Flush 封包
(3)要求當 Smart-link 主鍊路故障恢複後,端口角色能夠自動恢複
(4)要求當 SW2 和 SW3 的上行鍊路故障後,也能觸發 Smart-link 角色切換
(5)按圖所示,接入層配置兩台PC,驗證明驗結果
3. 配置步驟
(1)配置保護VLAN和控制VLAN,并在相關接口下放行
在所有交換機上建立 Vlan10,Vlan20,Vlan30 和 Vlan40,另外由于後面需要配置控制 VLAN,是以還需要建立 Vlan100 和 Vlan200,配置所有互聯接口類型為 Trunk,放行所有 Vlan
[SW1]vlan 10
[SW1-vlan10]vlan 20
[SW1-vlan20]vlan 30
[SW1-vlan30]vlan 40
[SW1-vlan40]vlan 100
[SW1-vlan100]vlan 200
[SW1-vlan200]int g 1/0/1
[SW1-GigabitEthernet1/0/1]port link-type trunk
[SW1-GigabitEthernet1/0/1]port trunk permit vlan 10 20 30 40 100 200
[SW1-GigabitEthernet1/0/1]int g 1/0/2
[SW1-GigabitEthernet1/0/2]port link-type trunk
[SW1-GigabitEthernet1/0/2]port trunk permit vlan 10 20 30 40 100 200
[SW1-GigabitEthernet1/0/2]quit
[SW1]
[SW2]vlan 10
[SW2-vlan10]vlan 20
[SW2-vlan20]vlan 30
[SW2-vlan30]vlan 40
[SW2-vlan40]vlan 100
[SW2-vlan100]vlan 200
[SW2-vlan200]int g 1/0/1
[SW2-GigabitEthernet1/0/1]port link-type trunk
[SW2-GigabitEthernet1/0/1]port trunk permit vlan 10 20 30 40 100 200
[SW2-GigabitEthernet1/0/1]int g 1/0/2
[SW2-GigabitEthernet1/0/2]port link-type trunk
[SW2-GigabitEthernet1/0/2]port trunk permit vlan 10 20 30 40 100 200
[SW2-GigabitEthernet1/0/2]quit
[SW2]
[SW3]vlan 10
[SW3-vlan10]vlan 20
[SW3-vlan20]vlan 30
[SW3-vlan30]vlan 40
[SW3-vlan40]vlan 100
[SW3-vlan100]vlan 200
[SW3-vlan200]int g 1/0/1
[SW3-GigabitEthernet1/0/1]port link-type trunk
[SW3-GigabitEthernet1/0/1]port trunk permit vlan 10 20 30 40 100 200
[SW3-GigabitEthernet1/0/1]int g 1/0/2
[SW3-GigabitEthernet1/0/2]port link-type trunk
[SW3-GigabitEthernet1/0/2]port trunk permit vlan 10 20 30 40 100 200
[SW3-GigabitEthernet1/0/2]quit
[SW3]
[SW4]vlan 10
[SW4-vlan10]vlan 20
[SW4-vlan20]vlan 30
[SW4-vlan30]vlan 40
[SW4-vlan40]vlan 100
[SW4-vlan100]vlan 200
[SW4-vlan200]int g 1/0/1
[SW4-GigabitEthernet1/0/1]port link-type trunk
[SW4-GigabitEthernet1/0/1]port trunk permit vlan 10 20 30 40 100 200
[SW4-GigabitEthernet1/0/1]int g 1/0/2
[SW4-GigabitEthernet1/0/2]port link-type trunk
[SW4-GigabitEthernet1/0/2]port trunk permit vlan 10 20 30 40 100 200
[SW4-GigabitEthernet1/0/2]quit
[SW4]
2.1 在SW1上配置 MST域,建立Instance1映射Vlan10、Vlan20 ,Instance2 映射 Vlan30、Vlan40
說明:Smart Link隻是調用執行個體,而不是mstp,不需要配置域名和修訂級别
[SW1]stp region-configuration
[SW1-mst-region]instance 1 vlan 10 20
[SW1-mst-region]instance 2 vlan 30 40
[SW1-mst-region]active region-configuration
[SW1-mst-region]dis this
#
stp region-configuration
instance 1 vlan 10 20
instance 2 vlan 30 40
active region-configuration
#
2.2 在所有交換機的 G1/0/1 和 G1/0/2 端口上關閉 STP 特性
[SW1]int g 1/0/1
[SW1-GigabitEthernet1/0/1]undo stp enable
[SW1-GigabitEthernet1/0/1]int g 1/0/2
[SW1-GigabitEthernet1/0/2]undo stp enable
[SW1-GigabitEthernet1/0/2]quit
[SW1]
[SW2]int g 1/0/1
[SW2-GigabitEthernet1/0/1]undo stp enable
[SW2-GigabitEthernet1/0/1]int g 1/0/2
[SW2-GigabitEthernet1/0/2]undo stp enable
[SW2-GigabitEthernet1/0/2]quit
[SW2]
[SW3]int g 1/0/1
[SW3-GigabitEthernet1/0/1]undo stp enable
[SW3-GigabitEthernet1/0/1]int g 1/0/2
[SW3-GigabitEthernet1/0/2]undo stp enable
[SW3-GigabitEthernet1/0/2]quit
[SW3]
[SW4]int g 1/0/1
[SW4-GigabitEthernet1/0/1]undo stp enable
[SW4-GigabitEthernet1/0/1]int g 1/0/2
[SW4-GigabitEthernet1/0/2]undo stp enable
[SW4-GigabitEthernet1/0/2]quit
[SW4]
2.3 在SW1上建立 Smart-link 組1,引用執行個體1,配置控制VLAN 為 Vlan100,主端口為 G1/0/1,從端口為 G1/0/2
說明:(1)在Smart-link 組裡看不到主從端口,隻能在端口下檢視;(2)添加主從端口也可以在端口下使用[SW1-GigabitEthernet1/0/1]port smart-link group 1 primary 指令。
[SW1]smart-link group 1
[SW1-smlk-group1]protected-vlan reference-instance 1
[SW1-smlk-group1]flush enable control-vlan 100
[SW1-smlk-group1]port GigabitEthernet 1/0/1 primary
[SW1-smlk-group1]port GigabitEthernet 1/0/2 secondary
[SW1-smlk-group1]dis this
#
smart-link group 1
flush enable control-vlan 100
protected-vlan reference-instance 1
#
2.4 在SW1 上建立Smart-link組2,引用執行個體2,配置控制VLAN 為 Vlan200,主端口為 G1/0/2,從端口為 G1/0/1
[SW1]smart-link group 2
[SW1-smlk-group2]protected-vlan reference-instance 2
[SW1-smlk-group2]flush enable control-vlan 200
[SW1-smlk-group2]port GigabitEthernet 1/0/1 secondary
[SW1-smlk-group2]port GigabitEthernet 1/0/2 primary
[SW1-smlk-group2]dis this
#
smart-link group 2
flush enable control-vlan 200
protected-vlan reference-instance 2
#
2.5 在 SW2,SW3,SW4 的互聯端口上配置允許在 Vlan100 和 Vlan200 發送接收 Flush 封包
[SW2]int g 1/0/1
[SW2-GigabitEthernet1/0/1]smart-link flush enable control-vlan 100 200
[SW2-GigabitEthernet1/0/1]int g 1/0/2
[SW2-GigabitEthernet1/0/2]smart-link flush enable control-vlan 100 200
[SW2-GigabitEthernet1/0/2]quit
[SW2]
[SW3]int g 1/0/1
[SW3-GigabitEthernet1/0/1]smart-link flush enable control-vlan 100 200
[SW3-GigabitEthernet1/0/1]int g 1/0/2
[SW3-GigabitEthernet1/0/2]smart-link flush enable control-vlan 100 200
[SW3-GigabitEthernet1/0/2]quit
[SW3]
[SW4]int g 1/0/1
[SW4-GigabitEthernet1/0/1]smart-link flush enable control-vlan 100 200
[SW4-GigabitEthernet1/0/1]int g 1/0/2
[SW4-GigabitEthernet1/0/2]smart-link flush enable control-vlan 100 200
[SW4-GigabitEthernet1/0/2]quit
[SW4]
2.6 把 Vlan1 所在的執行個體 0 也引用到 Smart-link 組 1 來解決vlan1環路的問題
說明:Smart-link配置完成後,由于隻引用了執行個體1和執行個體2,并沒有引用Vlan1所在的執行個體0;而SW1的相關接口關閉了STP特性,導緻 SW2、SW3和SW4上的STP協定判斷沒有環路,進而不會阻塞任何端口;而且所有接口都配置為了 Trunk 并預設放行 Vlan1,是以目前網絡中 Vlan1 存在邏輯環路
解決vlan1環路的3個辦法:
(1)把vlan1映射到instance1或者instance2;
(2)把instance0引用到Smart-link group 1或者Smart-link group 2;
(3)在所有trunk端口上禁止放行vlan1
[SW1]smart-link group 1
[SW1-smlk-group1]protected-vlan reference-instance 0
[SW1-smlk-group1]dis this
#
smart-link group 1
flush enable control-vlan 100
protected-vlan reference-instance 0 to 1
#
使用dis smart-link group all 檢視Smart Link配置
可以看到,smart-link組1中,SW1的g1/0/1為主端口,g1/0/2為從端口;smart-link組2中,SW1的g1/0/1為從端口,g1/0/2為主端口。配置基本完成,可以shutdownSW1的g1/0/1端口檢視主從端口的角色切換情況,同時PC1pingSW4上的網關,檢視丢包情況。
[SW1]dis smart-link group all
Smart link group 1 information:
Device ID : ac2c-0fb6-0100
Preemption mode : None
Preemption delay: 1(s)
Control VLAN : 100
Protected VLAN : Reference Instance 0 to 1
Member Role State Flush-count Last-flush-time
-----------------------------------------------------------------------------
GE1/0/1 PRIMARY ACTIVE 2 23:56:04 2021/05/30
GE1/0/2 SECONDARY STANDBY 0 NA
Smart link group 2 information:
Device ID : ac2c-0fb6-0100
Preemption mode : None
Preemption delay: 1(s)
Control VLAN : 200
Protected VLAN : Reference Instance 2
Member Role State Flush-count Last-flush-time
-----------------------------------------------------------------------------
GE1/0/2 PRIMARY STANDBY 0 NA
GE1/0/1 SECONDARY ACTIVE 2 00:03:33 2021/05/31
說明:
實驗結果證明真的1個pack沒丢,強于MSTP,Smart Link牛!牛!!牛!!!
2.7 配置當 Smart-link 主鍊路故障恢複後,端口角色能夠自動恢複
[SW1-smlk-group1]preemption mode role
[SW1-smlk-group2]preemption mode role
說明:Smart-link 預設不開啟角色搶占,如主鍊路故障恢複後,仍然保持資料從備份鍊路傳輸。需要配置開啟搶占模式,才能夠使端口角色自動恢複
[SW1]smart-link group 1
[SW1-smlk-group1]preemption mode role
[SW1-smlk-group1]quit
[SW1]smart-link group 2
[SW1-smlk-group2]preemption mode role
[SW1-smlk-group2]dis this
#
smart-link group 2
preemption mode role
flush enable control-vlan 200
protected-vlan reference-instance 2
#
效果測試:關閉SW1的G1/0/1口,Smart-link組1會切換G1/0/2口為活躍鍊路,再次開啟G1/0/1口後,活躍鍊路會重新切換回G1/0/1口
2.8 配置Monitor Link,當SW2 和SW3的上行鍊路故障後,也能觸發 Smart-link 角色切換
說明:Smart-link 隻監聽本機端口狀态,當本機主端口故障,才會觸發角色切換。是以需要在 SW2 和 SW3 上配置 Monitor-link,當SW2、SW3的上行鍊路故障時,也能觸發Smart-link
2.8.1 在 SW2 上建立 Monitor-link 組,配置上行端口為 G1/0/1,下行端口為 G1/0/2
[SW2]monitor-link group 1
[SW2-mtlk-group1]port GigabitEthernet 1/0/1 uplink
[SW2-mtlk-group1]port GigabitEthernet 1/0/2 downlink
[SW2-mtlk-group1]dis this
#
monitor-link group 1
#
2.8.2 在 SW3 上建立 Monitor-link 組,配置上行端口為 G1/0/2,下行端口為 G1/0/1
[SW3]monitor-link group 1
[SW3-mtlk-group1]port GigabitEthernet 1/0/2 uplink
[SW3-mtlk-group1]port GigabitEthernet 1/0/1 downlink
[SW3-mtlk-group1]dis this
#
monitor-link group 1
#
效果測試:在 SW2 關閉 G1/0/2 口或 SW3 上關閉 G1/0/2 口,Monitor-link 會自動關閉 G1/0/1 口來觸發 SW1 的 Smart-link 的角色切換。整個配置結束。
附:
關注我,加微信,擷取此次配置工程、更多配置案例,也可以承接遠端調試各廠商交換機、路由器、防火牆等私活,歡迎各位老闆加微信私聊。