Smart Link & Monitor Link技術白皮書
關鍵詞:Smart Link,Monitor Link,控製VLAN,FLUSH報文,快速切換,雙上行,鏈路備份
摘 要:Smart Link是一種為雙上行組網提供高效可靠的鏈路備份、負載分擔和快速收斂性能的解決方案。Monitor Link用於監控上行鏈路,以達到讓下行鏈路同步上行鏈路狀態的目的,從而觸發Smart Link的主備鏈路切換,使Smart Link的備份作用更加完善。本文主要介紹了Smart Link和Monitor Link技術的基本概念、運行機製和典型組網應用。
縮略語:
縮略語 | 英文全名 | 中文解釋 |
- | Smart Link | 靈活鏈路 |
- | Monitor Link | 監控鏈路 |
RRPP | Rapid Ring Protection Protocol | 快速環網保護協議 |
STP | Spanning Tree Protocol | 生成樹協議 |
目 錄
2.3 通過Smart Link實現流量的負載分擔... 11
5.1 Smart Link與Monitor Link配合組網... 15
雙上行組網是目前常見的一種組網形式。如圖1所示,Switch A通過Switch B和Switch C雙上行到Switch D。
雖然雙上行組網可以提供鏈路備份,但網絡中的環路(Switch A --> Switch B --> Switch D --> Switch C --> Switch A)會引起廣播風暴,因此,需要采取措施避免環路。一般情況下,可以通過STP來消除環路,但STP的收斂時間較長,會丟失較多流量,不適用於對收斂時間有很高要求的組網環境。另一種高效的環網解決方案RRPP雖然可以提高收斂性能,但是RRPP主要適用於較複雜的環形組網,且配置複雜度較高。基於上述原因,H3C提出了Smart Link技術解決方案。
Smart Link是一種為雙上行組網量身定做的解決方案,具有如下優點:
l 能夠實現在雙上行組網的兩條鏈路正常情況下,隻有一條處於連通狀態,而另一條處於阻塞狀態,從而防止了環路引起的廣播風暴。
l 當主用鏈路發生故障後,流量會在毫秒級的時間內迅速切換到備用鏈路上,保證了數據的正常轉發。
l 配置簡單,便於用戶操作。
Smart Link組也稱為靈活鏈路組,一個Smart Link組包含兩個成員端口,其中一個被指定為主端口(Master Port),另一個被指定為副端口(Slave Port),不同的Smart Link組可以包含同一個端口。正常情況下,隻有一個端口(主端口或副端口)處於轉發(ACTIVE)狀態,另一個端口被阻塞(BLOCK),處於待命(STANDBY)狀態。當處於轉發狀態的端口發生鏈路故障(鏈路故障目前主要是指端口狀態轉為DOWN、以太網OAM鏈路故障等)時,Smart Link組會自動將該端口阻塞,並將原阻塞的處於待命狀態的端口切換到轉發狀態。
圖2 Smart Link技術應用場景圖
如圖2所示組網環境,Switch D的端口GigabitEthernet1/0/1和GigabitEthernet1/0/2組成了一個Smart Link組(用藍色線條標識),端口GigabitEthernet1/0/1處於轉發狀態(用實線標識),端口GigabitEthernet1/0/2處於阻塞狀態(用虛線標識)。Switch E的端口GigabitEthernet1/0/1和GigabitEthernet1/0/2組成了另外一個Smart Link組(用紅色線條標識),端口GigabitEthernet1/0/1處於阻塞狀態(用虛線標識),端口GigabitEthernet1/0/2處於轉發狀態(用實線標識)。
主端口(Master Port)是通過命令行指定的Smart Link組的一種端口角色。Smart Link組的主端口可以是以太網端口(電口或光口),也可以是聚合接口。
如圖2所示組網環境,Switch D的Smart Link組中處於轉發狀態的端口GigabitEthernet1/0/1是主端口,而Switch E的Smart Link組中的端口GigabitEthernet1/0/1雖然被阻塞,但它仍是主端口。
副端口(Slave Port)是通過命令行指定的Smart Link組的另外一種端口角色。Smart Link組的副端口可以是以太網端口(電口或光口),也可以是聚合接口。副端口所在的鏈路也被稱為“備用鏈路”。
如圖2所示組網環境,Switch D的Smart Link組中被阻塞的端口GigabitEthernet1/0/2是副端口,而Switch E的Smart Link組中的端口GigabitEthernet1/0/2雖然處於轉發狀態,但它仍是副端口。
保護VLAN是Smart Link組內承載數據流量的用戶數據VLAN。端口可以加入多個Smart Link組,這些Smart Link組保護不同的VLAN。各Smart Link組分別獨立計算組內端口的轉發狀態。
如圖2所示組網環境,Switch D上可以創建Smart Link組1和Smart Link組2,兩個Smart Link組分別保護不同的VALN,Smart Link組1保護VLAN 1~10,Smart Link組2保護VLAN 11~20,這樣就可以控製兩組VLAN的流量分別通過不同的端口上行。
發送控製VLAN(Control VLAN)是Smart Link組用於廣播發送FLUSH報文(關於FLUSH報文的介紹請參見2.1.6 )的VLAN。
如圖2所示組網環境,如果在Switch D和Switch E上開啟了FLUSH報文發送功能,當發生鏈路切換時,設備會從新的主用鏈路上在發送控製VLAN內廣播發送FLUSH報文。
接收控製VLAN是上遊設備用於接收並處理FLUSH報文的VLAN。
如圖2所示組網環境,如果Switch D和Switch E的上遊設備(Switch A、Switch B和Switch C)能夠識別FLUSH報文,並開啟了FLUSH報文接收處理功能,當發生鏈路切換時,上遊設備會處理收到的屬於接收控製VLAN的FLUSH報文,進而執行MAC地址轉發表項和ARP表項的刷新操作。
當Smart Link組發生鏈路切換時,原有的轉發表項已經不再適用於新的拓撲網絡,需要對整網進行MAC地址轉發表項和ARP表項的更新。Smart Link通過FLUSH報文來通知其他設備進行表項的刷新操作。
FLUSH報文采用IEEE802.3封裝,包括Destination MAC、Source MAC、Control VLAN ID和VLAN Bitmap等信息字段。FLUSH報文格式如圖3所示。
圖3 FLUSH報文格式
l Destination MAC為未知組播地址。可以通過判斷該地址是否為0x010F-E200-0004來區分該報文是否為FLUSH報文。
l Source MAC表示發送FLUSH報文的設備的接口MAC地址,如果該接口沒有MAC地址,則使用二層協議的缺省MAC地址。
l Control Type表示控製類型。目前隻有刪除MAC地址轉發表項和ARP表項一種(0x01)。
l Control Version表示版本號。當前版本號為0x00,用於後續版本的擴展。
l Device ID表示發送FLUSH報文的設備的橋MAC地址。
l Control VLAN ID表示發送控製VLAN的ID號。
l Auth-mode表示認證模式,和Password一起使用,便於以後進行安全性擴展。
l VLAN Bitmap表示VLAN位圖,用於攜帶需要刷新地址表的VLAN列表。
l FCS表示幀校驗和,用於檢查報文的合法性。
下麵以圖4所示的組網為例,按照鏈路正常-->鏈路故障-->鏈路恢複的過程,來介紹Smart Link的工作機製。
圖4 Smart Link運行機製示意圖
Switch A的端口GigabitEthernet1/0/1為主端口,端口GigabitEthernet1/0/2為副端口。雙上行鏈路都正常的情況下,主端口處於轉發狀態,所在的鏈路是主用鏈路,副端口處於待命狀態,所在鏈路是備用鏈路。數據沿著藍色線條所表示的鏈路進行傳輸,網絡中不存在環路,避免產生廣播風暴。
當Switch A的主用鏈路發生故障時,主端口GigabitEthernet1/0/1切換到待命狀態,副端口GigabitEthernet1/0/2切換到轉發狀態。此時,網絡中各設備上的MAC地址轉發表項和ARP表項可能已經錯誤,需要提供一種MAC及ARP更新的機製,完成流量的快速切換,以免造成流量丟失。目前更新機製有以下兩種。
這種方式適用於上遊設備(如圖4中的Switch B、Switch C和Switch D)支持Smart Link功能,能夠識別FLUSH報文的情況。
為了實現快速鏈路切換,需要在Switch A上開啟FLUSH報文發送功能,在上遊設備所有處於雙上行網絡上的端口開啟接收處理FLUSH報文功能。
(1) Switch A發生鏈路切換後,會從新的主用鏈路上發送FLUSH報文,即從GigabitEthernet1/0/2端口發送FLUSH報文。FLUSH報文的VLAN Bitmap字段填充鏈路切換前組內處於轉發狀態的GigabitEthernet1/0/1端口所在Smart Link組的保護VLAN ID,Control VLAN ID字段填充Smart Link組配置的發送控製VLAN ID。
(2) 當上遊設備收到FLUSH報文時,判斷該FLUSH報文的發送控製VLAN是否在收到報文的端口配置的接收控製VLAN列表中。如果不在接收控製VLAN列表中,設備對該FLUSH報文不做處理,直接轉發;如果在接收控製VLAN列表中,設備將提取FLUSH報文中的VLAN Bitmap數據,將設備在這些VLAN內學習到的MAC及ARP表項刪除。
此後,如果Switch D收到目的設備為Switch A的數據報文,對於需要進行二層轉發的報文,Switch D會通過二層廣播方式進行轉發;對於需要進行三層轉發的報文,設備會通過ARP探測方式先更新ARP表項,然後將報文轉發出去。這樣,數據流量就可以正確地進行發送。
& 說明:
l 為了保證FLUSH報文在發送控製VLAN內正確傳送,請確保雙上行網絡上的所有端口都屬於發送控製VLAN。否則,FLUSH報文將發送或轉發失敗。
l 建議用戶以保留Tag的方式發送FLUSH報文,若想以去掉Tag的方式發送FLUSH報文,需確保對端端口缺省VLAN和發送控製VLAN一致,否則將導致FLUSH報文不在發送控製VLAN內傳送。
這種方式適用於與不支持Smart Link功能的設備(包括其他廠商設備)對接的情況,需要有上行流量觸發。
l 如果沒有來自Switch A的上行流量去觸發Switch D的MAC及ARP表項更新,那麼當Switch D收到目的設備為Switch A的數據報文時,Switch D仍會通過端口GigabitEthernet1/0/1轉發出去,但報文已經不能到達Switch A,流量中斷,直到其MAC或ARP表項自動老化。
l 如果Switch A有上行流量要發送,但由於Switch A的MAC及ARP表項也是錯誤的,所以直到其表項自動老化、重新學習後,流量才能被發送出去。當上行流量通過端口GigabitEthernet1/0/2到達設備Switch D後,Switch D會更新自己的MAC及ARP表項,那麼當Switch D再收到目的設備為Switch A的數據報文時,Switch D會通過端口GigabitEthernet1/0/2轉發出去,報文就可以經由Switch C到達Switch A。
通過FLUSH報文通知設備更新的機製無須等到表項老化後再進行更新,可以大大減少表項更新所需時間。一般情況下,鏈路的整個切換過程可在毫秒級的時間內完成的,基本無流量丟失。
Smart Link組支持兩種模式:角色搶占模式和非角色搶占模式。不同模式下的鏈路恢複機製不同:
l 如果Smart Link組配置為角色搶占模式,當主用鏈路故障恢複後,主端口將搶占為轉發狀態,副端口則進入待命狀態。隻有當主用鏈路故障時,副端口才會從待命狀態切換到轉發狀態。
l 如果Smart Link組配置為非角色搶占模式,當主用鏈路故障恢複後,副端口將繼續處於轉發狀態,主端口繼續處於待命狀態,這樣可以保持流量的穩定。
如圖4所示組網環境,當Switch A的端口GigabitEthernet1/0/1的鏈路恢複後,如果該Smart Link組配置為角色搶占模式,則端口GigabitEthernet1/0/2將阻塞並切換到待命狀態,而端口GigabitEthernet1/0/1將搶占到轉發狀態。而如果配置為非角色搶占模式,端口GigabitEthernet1/0/1仍將繼續處於待命狀態,不進行流量切換,從而保持流量穩定。
在同一個雙上行鏈路組網中,可能同時存在多個VLAN的數據流量,Smart Link可以實現流量的負載分擔,即不同VLAN的流量沿不同的路徑進行轉發。通過把上行鏈路的端口分別配置為兩個Smart Link組的成員(每個Smart Link組的保護VLAN不同),且端口在不同組中的轉發狀態不同,這樣就能實現不同Smart Link組保護VLAN的流量轉發路徑不同,從而達到負載分擔的目的。
在實現負載分擔時,建議將Smart Link組配置為角色搶占模式,否則無法保證流量按照用戶的想法一直在兩條鏈路上進行分擔。因為,如果配置為非角色搶占模式,剛開始可以實現流量分流,但鏈路故障後所有流量將集中在同一條鏈路上傳輸,鏈路恢複後流量繼續在同一條鏈路上傳輸,這樣就無法達到負載分擔的目的。
如圖4所示組網環境,在Switch A上創建兩個Smart Link組,每個Smart Link組保護的VLAN不同,但均配置為角色搶占模式。Smart Link組1的主端口為GigabitEthernet1/0/1,副端口為GigabitEthernet1/0/2,保護VLAN為VLAN 1~10;Smart Link組2的主端口為GigabitEthernet1/0/2,副端口為GigabitEthernet1/0/1,保護VLAN為VLAN 11~20。兩個Smart Link組中的主端口均處於轉發狀態。這樣,VLAN 1~10的流量將沿著藍色線條所表示的鏈路進行傳輸,VLAN 11~20的流量將沿著紅色線條所表示的鏈路進行傳輸,從而實現VLAN流量的負載分擔。
l 開啟了STP、RRPP的端口不能作為Smart Link組的成員端口。
l 聚合組成員端口、業務環回組成員端口不能作為Smart Link組的成員端口。
圖5 Monitor Link技術產生背景組網圖
如圖5所示組網環境,Switch A上配置了Smart Link功能用於鏈路冗餘備份,GigabitEthernet1/0/1為主端口,GigabitEthernet1/0/2為副端口。
當端口GigabitEthernet1/0/1所在主用鏈路出現故障時,流量在毫秒級的時間內切換到端口GigabitEthernet1/0/2所在的備用鏈路上,從而實現了高效可靠的鏈路備份和快速收斂性能。
但是,當Switch B的上行端口GigabitEthernet1/0/1所在鏈路出現故障時,配置Smart Link組的設備Switch A由於其主端口GigabitEthernet1/0/1所在鏈路並未發生故障,所以此時不會出現Smart Link組內的鏈路切換。但實際上Switch A上的流量已經無法通過端口GigabitEthernet1/0/1的鏈路上行到Switch D,流量就此中斷。為了解決這類問題,Monitor Link技術應運而生。
Monitor Link是對Smart Link技術的有力補充。Monitor Link用於監控上行鏈路,以達到讓下行鏈路同步上行鏈路狀態的目的,使Smart Link的備份作用更加完善。
Monitor Link組也稱為監控鏈路組,由一個或多個上行和下行端口組成。下行端口的狀態隨上行端口狀態的變化而變化。
圖6 Monitor Link概念介紹示意圖
如圖6所示,Switch A的端口GigabitEthernet1/0/1、GigabitEthernet1/0/2和GigabitEthernet1/0/3組成了一個Monitor Link組。
上行端口(Uplink Port)是Monitor Link組中的監控對象,是通過命令行指定的Monitor Link組的一種端口角色。Monitor Link組的上行端口可以是以太網端口(電口或光口)或聚合接口。
如圖6所示,Switch A的端口GigabitEthernet1/0/1為該設備上配置的Monitor Link組的上行端口。
如果多個端口被配置為Monitor Link組的上行端口,隻要這些端口中有一個端口處於轉發狀態,那麼Monitor Link組的狀態就為UP;隻有當所有上行端口都發生故障時,Monitor Link組的狀態才為DOWN,這時所有下行端口將都將被關閉。當Monitor Link組的上行端口未指定時,則認為上行端口故障,所有下行端口都將被關閉。
下行端口(Downlink Port)是Monitor Link組中的監控者,是通過命令行指定的Monitor Link組的另外一種端口角色。Monitor Link組的下行端口可以是以太網端口(電口或光口)或聚合接口。
如圖6所示,Switch A的端口GigabitEthernet1/0/2和GigabitEthernet1/0/3為該設備上配置的Monitor Link組的兩個下行端口。
& 說明:
當Monitor Link組的上行端口恢複正常時,Monitor Link隻會開啟因上行端口故障而阻塞的下行端口,不能開啟手工關閉的下行端口。並且某個下行端口故障對上行端口和其他下行端口沒有影響。
如圖7所示組網環境,為了實現主機到Internet的可靠訪問在Switch A上配置了Smart Link組。其中,GigabitEthernet1/0/1為主端口處於轉發狀態,GigabitEthernet1/0/2為副端口。
圖7 Monitor Link運行機製示意圖
為了防止出現因Switch B的端口GigabitEthernet1/0/1所在鏈路故障所引起Switch A的流量無法上行的現象,在Switch B上配置了Monitor Link組,並指定端口GigabitEthernet1/0/1為上行端口,GigabitEthernet1/0/2為下行端口。
當Switch B的上行端口GigabitEthernet1/0/1所在鏈路出現故障時,Monitor Link組強製關閉該組的下行端口GigabitEthernet1/0/2,從而觸發Switch A上Smart Link組的鏈路切換。
當Switch B的上行端口GigabitEthernet1/0/1所在鏈路故障恢複時,下行端口GigabitEthernet1/0/2也將被開啟,如果Switch A上Smart Link組配置為角色搶占模式,則同樣會觸發Switch A上Smart Link組的鏈路切換,否則等待下一次鏈路切換。
這樣,Monitor Link技術配合Smart Link技術實現了高效可靠的鏈路備份和快速收斂性能。
聚合組成員端口、業務環回組成員端口不能作為Monitor Link組的成員端口。
圖8描述的是一個典型的雙上行組網,是Smart Link及Monitor Link技術的主要應用場景。
圖8 Smart Link與Monitor Link配合組網圖
在該組網環境中,Smart Link配置在Switch D和Switch E上。通過配置多個Smart Link組並保護不同的VLAN,這些VLAN的流量分別沿雙上行鏈路的不同路徑轉發,實現負載分擔的目的。當Switch B與Switch D或Switch C與Switch E之間的鏈路出現故障時,Smart Link組迅速感知並進行鏈路的切換。
為了使Switch D(或Switch E)能直接感知Switch A與Switch B(或Switch C)之間的鏈路故障,還需要在Switch B(或Switch C)上配置了Monitor Link組,端口GigabitEthernet1/0/1作為上行端口,端口GigabitEthernet1/0/2和GigabitEthernet1/0/3分別作為對應的下行端口。
Monitor Link組一旦檢測到上行端口所在鏈路故障,將強製關閉下行端口,從而觸發Switch D和Switch E上的Smart Link組內的鏈路切換。當上行端口或鏈路故障恢複時,下行端口將自動開啟,從而使Switch D(或Switch E)能夠迅速感知Switch A與Switch B(或Switch C)之間鏈路狀態的變化。
圖9描述的是Smart Link及Monitor Link技術級聯的實現組網應用,達到更加可靠的鏈路備份的目的。
Monitor Link組支持Smart Link組成員端口作為其上行成員端口,Smart Link和Monitor Link技術結合起來可以實現備份鏈路的級聯。
具體的實現方法為:將一個Smart Link組所有成員端口作為一個Monitor Link組的上行端口,而該Monitor Link組下行端口的對端端口為另外一個Smart Link組的主端口或者副端口(如圖9所示)。
圖9 Smart Link級聯組網圖
圖9中,各設備Smart Link與Monitor Link配置情況如表1所示。
表1 圖9Smart Link與Monitor Link配置一覽表
Switch | Smart Link Group 1 | Monitor Link Group 1 | ||
Master Port | Slave Port | Uplink Port | Downlink Port | |
Switch C | GE1/0/1 | GE1/0/2 | GE1/0/1、GE1/0/2 | GE1/0/3 |
Switch J | GE1/0/1 | GE1/0/2 | GE1/0/1、GE1/0/2 | GE1/0/3 |
Switch F | GE1/0/1 | GE1/0/2 | 未創建Monitor Link組 |
由表1可知,圖9中紅色線條表示的鏈路部分為第一級的Smart Link備份鏈路,藍色線條表示的鏈路部分為第二級的Smart Link備份鏈路。
圖10描述的是Smart Link和RRPP混合組網應用。
在該組網環境中,Switch A、Switch B、Switch C和Switch D上開啟了RRPP協議提供鏈路冗餘備份。
如果通過配置STP來實現鏈路備份的話,要求Switch C、Switch D和Switch E相連的所有端口都開啟STP功能。因為Switch C和Switch D相連的兩個端口已經開啟了RRPP功能,不能再開啟STP 功能,所以Switch E上的鏈路備份可以通過配置Smart Link組來實現,這樣比在Switch C、Switch D和Switch E上配置RRPP子環更簡單方便,同時還適用於Swtich E不支持RRPP的場合。
圖10 Smart Link與RRPP混合組網圖
Copyright © 2008 杭州華三通信技術有限公司 版權所有,保留一切權利。
非經本公司書麵許可,任何單位和個人不得擅自摘抄、複製本文檔內容的部分或全部,並不得以任何形式傳播。
本文檔中的信息可能變動,恕不另行通知。