華為Smart Link和Monitor Link理論知識(二)
10、Smart Link鏈路故障處理原理
圖3 主鏈路故障時(shí)上行流量示意圖
如上圖3所示,當(dāng)SwitchD的主鏈路發(fā)生故障時(shí),主接口Interface1切換到待命狀態(tài),從接口Interface2切換到轉(zhuǎn)發(fā)狀態(tài)。此時(shí),網(wǎng)絡(luò)中相關(guān)設(shè)備上的MAC地址轉(zhuǎn)發(fā)表項(xiàng)和ARP表項(xiàng)可能不再適用,需要提供一種MAC及ARP更新的機(jī)制。目前更新機(jī)制有以下兩種。
1、通過Flush報(bào)文通知設(shè)備更新表項(xiàng)
這種方式適用于上游設(shè)備(如上圖3中的SwitchA、SwitchB和SwitchC)支持Smart Link功能的場景。
為了實(shí)現(xiàn)快速鏈路切換,需要在SwitchD上開啟Flush報(bào)文發(fā)送功能,在上游設(shè)備所有處于雙上行鏈路上的接口開啟接收處理Flush報(bào)文的功能。
1.1、當(dāng)SwitchD進(jìn)行鏈路切換后,會(huì)從新的主用鏈路上發(fā)送Flush報(bào)文,即通過Interface2發(fā)送。
1.2、當(dāng)上游設(shè)備收到Flush報(bào)文時(shí),判斷該Flush報(bào)文的發(fā)送控制VLAN是否在收到報(bào)文的接口配置的接收控制VLAN列表中。如果不在接收控制VLAN列表中,設(shè)備對該Flush報(bào)文不做處理,直接轉(zhuǎn)發(fā);如果在接收控制VLAN列表中,設(shè)備會(huì)處理收到Flush報(bào)文,進(jìn)而執(zhí)行MAC地址轉(zhuǎn)發(fā)表項(xiàng)和ARP表項(xiàng)的刷新操作。
此后,如果SwitchA收到目的設(shè)備為SwitchD的數(shù)據(jù)報(bào)文,會(huì)根據(jù)更新后的MAC地址轉(zhuǎn)發(fā)表項(xiàng)或ARP表項(xiàng)進(jìn)行轉(zhuǎn)發(fā)。
2、自動(dòng)通過流量更新表項(xiàng)
這種方式適用于與不支持SmartLink功能的設(shè)備(包括其他廠商設(shè)備)對接的情況,需要有上行流量觸發(fā)。
圖4 主鏈路出現(xiàn)故障時(shí)下行流量示意圖
如上圖4所示,如果沒有來自SwitchD的上行流量去觸發(fā)SwitchA的MAC及ARP表項(xiàng)更新,那么當(dāng)SwitchA收到目的設(shè)備為SwitchD的數(shù)據(jù)報(bào)文時(shí),SwitchA仍會(huì)通過接口Interface3轉(zhuǎn)發(fā)出去,但此時(shí)報(bào)文已經(jīng)不能到達(dá)SwitchD,會(huì)造成流量丟失,直到其MAC或ARP表項(xiàng)自動(dòng)老化。
圖5 主鏈路出現(xiàn)故障時(shí)下行流量示意圖
如上圖5所示,由于鏈路故障后,Interface1學(xué)習(xí)到的MAC及ARP表項(xiàng)會(huì)被刪除,如果SwitchD有上行流量要發(fā)送,需要重新廣播ARP報(bào)文后,流量才能被發(fā)送出去。
當(dāng)上行流量通過接口Interface4到達(dá)設(shè)備SwitchA后,SwitchA會(huì)更新自己的MAC及ARP表項(xiàng),那么當(dāng)SwitchA再收到目的設(shè)備為SwitchD的數(shù)據(jù)報(bào)文時(shí),SwitchA會(huì)通過接口Interface4轉(zhuǎn)發(fā)出去,報(bào)文就可以經(jīng)由SwitchC到達(dá)SwitchD。
通過Flush報(bào)文通知設(shè)備更新的機(jī)制無須等到表項(xiàng)老化后再進(jìn)行更新,可以極大程度地減少表項(xiàng)更新所需時(shí)間。通常,鏈路的切換過程可在毫秒級的時(shí)間內(nèi)完成,最大限度地減少流量的丟失。
11、Smart Link鏈路恢復(fù)處理原理
當(dāng)原主用鏈路故障恢復(fù)時(shí),Interface1將維持在阻塞狀態(tài),不進(jìn)行搶占,從而保持流量穩(wěn)定。如果希望流量切換到原主用鏈路,可以通過如下兩種機(jī)制進(jìn)行切換。
1、使用Smart Link組回切功能,需要在SwitchD上使能回切功能。當(dāng)原主用鏈路故障恢復(fù)后,經(jīng)過回切定時(shí)器設(shè)定的時(shí)間,Smart Link會(huì)自動(dòng)將流量切換到原主用鏈路上。
2、使用配置命令強(qiáng)制讓Smart Link立即將流量切換到原主用鏈路上。
如上圖1所示組網(wǎng)示例,當(dāng)SwitchD的Interface1的鏈路恢復(fù)后,如果配置了SmartLink組回切功能,在回切定時(shí)器超時(shí)后,Interface2將被阻塞并切換到待命狀態(tài),而Interface1將切換到轉(zhuǎn)發(fā)狀態(tài)。而如果使用配置命令強(qiáng)制讓Smart Link進(jìn)行鏈路切換,在執(zhí)行命令后,Interface2將被立即阻塞并切換到待命狀態(tài),而Interface1會(huì)切換到轉(zhuǎn)發(fā)狀態(tài)。在實(shí)際工作中,不建議配置強(qiáng)制切換,因?yàn)槿绻霈F(xiàn)頻繁的UP/DOWN會(huì)造成數(shù)據(jù)丟失。
12、Smart Link負(fù)載分擔(dān)
在同一個(gè)組網(wǎng)中,同一時(shí)刻雙上行鏈路中只有一條處于轉(zhuǎn)發(fā)狀態(tài),另一條鏈路不承載流量,即鏈路利用率只有50%。
Smart Link支持負(fù)載分擔(dān)實(shí)例,備份鏈路分擔(dān)指定的負(fù)載分擔(dān)實(shí)例內(nèi)VLAN的流量,即允許指定實(shí)例對應(yīng)的VLAN數(shù)據(jù)通過備份鏈路進(jìn)行轉(zhuǎn)發(fā)(主鏈路此時(shí)不會(huì)對這些VLAN數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)),從而使主鏈路和備份鏈路承載不同VLAN數(shù)據(jù)流量的轉(zhuǎn)發(fā),達(dá)到負(fù)載分擔(dān)的目的。
圖1 SmartLink負(fù)載分擔(dān)組網(wǎng)圖示例
如上圖1所示,在未配置負(fù)載分擔(dān)的情況下,所有報(bào)文都通過SwitchD的Interface1接口沿轉(zhuǎn)發(fā)(Active)鏈路進(jìn)行傳輸。
為了提高鏈路利用率,通過配置Smart Link負(fù)載分擔(dān),讓部分VLAN的數(shù)據(jù)通過SwitchD的Interface2接口進(jìn)行傳輸。
將VLAN 300~VLAN 400配置為Smart Link負(fù)載分擔(dān)實(shí)例,讓VLAN300~VLAN 400的數(shù)據(jù)通過SwitchD的Interface2接口進(jìn)行傳輸。
而未配置為負(fù)載分擔(dān)實(shí)例的VLAN100~VLAN 200的報(bào)文還是通過主用鏈路轉(zhuǎn)發(fā),從而實(shí)現(xiàn)在Smart Link組中對實(shí)例中映射的VLAN數(shù)據(jù)流量進(jìn)行負(fù)載分擔(dān)。
13、Monitor Link基本概念
Monitor Link通過監(jiān)控上行接口所在的鏈路對下行接口進(jìn)行同步設(shè)置。相互配合工作的上行接口和下行接口組合成一個(gè)Monitor Link組。
圖1 MonitorLink組網(wǎng)圖示例
14、Monitor Link組
Monitor Link組也叫監(jiān)控鏈路組,由上行接口和下行接口共同組成。組的成員可以是單接口、靜態(tài)聚合組、手工聚合組或Smart Link組,其中Smart Link組只能作為上行接口。下行接口的狀態(tài)隨上行接口的變化而變化。如上圖1所示,Interface1和Interface2組成了一個(gè)Monitor Link組;Interface3和Interface4組成了一個(gè)Monitor Link組。
15、Monitor Link上行接口
上行接口又稱為Uplink接口,是MonitorLink組中受監(jiān)控者,上行接口故障則表示該Monitor Link組故障,該組的下行接口將都會(huì)被強(qiáng)制設(shè)為Down狀態(tài)。
如上圖1所示,Interface1和Interface3為上行接口。上行鏈路也可以是Smart Link組,當(dāng)上行鏈路是Smart Link組時(shí),只有當(dāng)Smart Link組的兩個(gè)接口都處于inactive狀態(tài)(包括Down)時(shí),才能認(rèn)為該上行鏈路故障。
圖2 Smart Link和Monitor Link聯(lián)合組網(wǎng)示意圖
如上圖2所示,Smart Link組作為MonitorLink的上行接口。
下行接口又稱為Downlink接口,是MonitorLink組中監(jiān)控者,下行接口故障不影響上行接口,也不影響其他下行接口。如上圖1所示,Interface2和Interface4為下行接口。
17、Monitor Link基本原理
圖1 MonitorLink組網(wǎng)圖示例
配置MonitorLink組后,上行接口將被實(shí)時(shí)監(jiān)控,一旦上行接口出現(xiàn)故障,包括鏈路故障、OAM的單通故障、OAM的連接無法建立等,其所在組的所有Up的下行接口都會(huì)被強(qiáng)制設(shè)為Down狀態(tài)。當(dāng)上行鏈路恢復(fù)正常時(shí),恢復(fù)下行接口。
如上圖1所示,如果Interface1所在的上行鏈路發(fā)生故障,MonitorLink會(huì)將Interface2強(qiáng)制設(shè)為Down狀態(tài)。從而SwitchC可以感知經(jīng)由SwitchB到達(dá)SwitchA的這條鏈路發(fā)生故障。當(dāng)Interface1所在的上行鏈路恢復(fù)正常后,Monitor Link會(huì)取消對Interface2強(qiáng)制設(shè)定的Down狀態(tài),開啟Interface2。
當(dāng)上行接口是Smart Link組時(shí),只有當(dāng)SmartLink組的兩個(gè)接口都處于inactive狀態(tài)(包括Down)時(shí),才能認(rèn)為該上行接口故障。
當(dāng)下行接口是聚合組時(shí),上行故障將會(huì)強(qiáng)制將聚合組中的所有接口設(shè)為Down狀態(tài),同樣,恢復(fù)時(shí)也是對聚合組的所有接口進(jìn)行操作。
目前華為設(shè)備支持的SmartLink組數(shù)、Monitor Link組數(shù)最高均為16。
18、Smart Link與Monitor Link配合組網(wǎng)應(yīng)用場景舉例
一般情況下,SmartLink只能感知與其接口直連的鏈路故障。例如,SwitchD的Interface1和Interface2配置了Smart Link。
圖1 Smart Link與Monitor Link配合典型組網(wǎng)示例
如上圖1所示,Smart Link只能感知與其直連的Interface1與SwitchB、Interface2與SwitchC之間的鏈路故障。當(dāng)SwitchD的上游鏈路SwitchB與SwitchA之間的鏈路發(fā)生故障時(shí),SmartLink不能及時(shí)直接感知此故障,從而不能迅速切換鏈路,導(dǎo)致流量丟失。
將Monitor Link配置在Smart Link的上游設(shè)備上,可使SmartLink迅速感知上游鏈路故障,進(jìn)行鏈路切換。Smart Link與Monitor Link配合使用,擴(kuò)大了Smart Link的應(yīng)用場景范圍,使組網(wǎng)構(gòu)建更為靈活。
如上圖1所示,Smart Link配置在SwitchD和SwitchE上。當(dāng)SwitchB與SwitchD或SwitchC與SwitchE之間的鏈路出現(xiàn)故障時(shí),Smart Link組迅速感知并進(jìn)行鏈路的切換。為了使SwitchD或SwitchE能快速感知SwitchA與SwitchB或SwitchA與SwitchC之間的鏈路故障,可以在SwitchB和SwitchC上配置Monitor Link組。
以SwitchD和SwitchB為例。在SwichtD上配置Smart Link組,Interface1和Interface2加入此Smart Link組。在SwitchB上配置MonitorLink組,接口Interface5作為上行接口,接口Interface3和Interface4作為對應(yīng)下行接口。Monitor Link組一旦檢測到上行接口所在鏈路故障,將強(qiáng)制關(guān)閉下行接口,從而觸發(fā)SwitchD上的Smart Link組內(nèi)的鏈路切換。當(dāng)上行接口或鏈路故障恢復(fù)時(shí),下行接口將自動(dòng)開啟,從而使SwitchD能夠迅速感知上行鏈路狀態(tài)的變化。