王培英,肖志輝,李本源
(1.西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院 成都 610031;2.邁普通信技術(shù)股份有限公司 成都 610041)
隨著互聯(lián)網(wǎng)業(yè)務(wù)類型的不斷增多和用戶數(shù)的不斷增長,網(wǎng)絡(luò)承載的數(shù)據(jù)業(yè)務(wù)流量越來越大。實時通信對服務(wù)質(zhì)量的要求也不斷提高,導(dǎo)致網(wǎng)絡(luò)的高可用性日益成為網(wǎng)絡(luò)使用者關(guān)注的焦點,因此如何提高網(wǎng)絡(luò)可用性是目前最熱門的話題之一。網(wǎng)絡(luò)的可用性可通過以下3種方法提高:
·增加網(wǎng)絡(luò)拓?fù)渲械娜哂喙?jié)點和備份設(shè)計;
·增加網(wǎng)絡(luò)設(shè)備自身冗余部件和熱備份機(jī)制設(shè)計;
·增加網(wǎng)絡(luò)中傳輸線路備份設(shè)計。
目前,傳輸線路備份設(shè)計是提高網(wǎng)絡(luò)可用性的必備方法,其中應(yīng)用最廣泛的技術(shù)為生成樹協(xié)議(STP)和鏈路聚合(link aggregation)。生成樹協(xié)議通過阻塞某些鏈路達(dá)到傳輸線路備份的目的,屬于鏈路間冗余設(shè)計;鏈路聚合通過聚合技術(shù)提供邏輯鏈路內(nèi)的冗余方案,不但沒有阻塞某些鏈路,而且擴(kuò)展了邏輯鏈路帶寬,已成為網(wǎng)絡(luò)部署者必采用的組網(wǎng)方案。
鏈路聚合技術(shù)的實質(zhì)是將兩臺設(shè)備間的多條物理鏈路組合成一條邏輯鏈路,稱為鏈路聚合組(link aggregation group,LAG),鏈路聚合組中的端口稱為成員端口。
鏈路聚合組分為靜態(tài)聚合組和動態(tài)聚合組。靜態(tài)聚合組內(nèi)的成員端口禁止啟動LACP(link aggregation control protocol,鏈路聚合控制協(xié)議),因此不與對端交互LACPDU(link aggregationcontrol dataunit,鏈路聚合控制協(xié)議數(shù)據(jù)單元);動態(tài)聚合組內(nèi)的成員端口啟動LACP,與對方交互LACPDU。
目前,層次化的網(wǎng)絡(luò)結(jié)構(gòu)一般分為核心層、匯聚層和接入層。網(wǎng)絡(luò)中主要存在兩種形態(tài)的交換機(jī)通信設(shè)備:盒式設(shè)備和框式分布式設(shè)備。由于框式分布式設(shè)備具有高性能、高端口密度的組件及高可用性,因此經(jīng)常被應(yīng)用于重要場合,如核心層、匯聚層。匯聚層與接入層之間的常見組網(wǎng)方式如圖1所示。
圖1 匯聚層與接入層之間的簡化組網(wǎng)示意
因為增加網(wǎng)絡(luò)拓?fù)渲械娜哂喙?jié)點和備份設(shè)計可以提高網(wǎng)絡(luò)的可用性,所以在部署網(wǎng)絡(luò)環(huán)境時,通常在匯聚層部署兩臺交換機(jī),兩臺交換機(jī)之間使用兩條物理鏈路相連,然后所有接入層交換機(jī)都通過兩條鏈路分別與匯聚層交換機(jī)相連。
當(dāng)采用這種網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行2層技術(shù)組網(wǎng)時,設(shè)計了一些冗余鏈路,雖然增強(qiáng)了網(wǎng)絡(luò)的可靠性,但導(dǎo)致網(wǎng)絡(luò)出現(xiàn)了環(huán)路,因此必須配置MSTP阻塞一些鏈路,達(dá)到消除環(huán)路的目的,這樣就導(dǎo)致這些阻塞鏈路的帶寬沒有被利用,從而造成帶寬資源的浪費。在實際應(yīng)用中,MSTP往往由于設(shè)備故障或者鏈路中斷等原因發(fā)生拓?fù)湔鹗?,且MSTP的收斂時間較長,可能在收斂時間內(nèi)導(dǎo)致網(wǎng)絡(luò)不能傳輸業(yè)務(wù)流量,從而影響網(wǎng)絡(luò)的服務(wù)質(zhì)量。
當(dāng)采用這種網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行3層技術(shù)組網(wǎng)時,通常采用VRRP實現(xiàn)冗余備份。當(dāng)處于主控(master)狀態(tài)的交換機(jī)發(fā)生故障時,處于備份(slave)狀態(tài)的交換機(jī)將切換成主控狀態(tài),切換時間一般為幾秒鐘,在故障恢復(fù)時間內(nèi)仍會導(dǎo)致網(wǎng)絡(luò)不能傳輸業(yè)務(wù)流量。同時VRRP會導(dǎo)致網(wǎng)絡(luò)拓?fù)鋸?fù)雜,給網(wǎng)絡(luò)維護(hù)者帶來管理困難等問題。
為了克服上述問題,近年來業(yè)界一些設(shè)備廠商提出了針對框式分布式設(shè)備應(yīng)用的虛擬交換技術(shù)(virtual switching technology,VST)。
虛擬交換技術(shù)是一種基于內(nèi)部分布式交換網(wǎng)絡(luò),把多臺物理設(shè)備虛擬為一臺虛擬設(shè)備的技術(shù)。如圖2所示,匯聚層的兩臺設(shè)備通過虛擬交換鏈路 (virtual switching link,VSL)連接,形成一個虛擬交換域(virtual switching domain,VSD),接入層的設(shè)備通過跨設(shè)備鏈路聚合,上聯(lián)到虛擬設(shè)備。
虛擬設(shè)備內(nèi)的成員設(shè)備有兩種角色:主控設(shè)備負(fù)責(zé)整個虛擬設(shè)備的管理和控制,備份設(shè)備負(fù)責(zé)本地設(shè)備的基本硬件管理,并接受主控設(shè)備的管理和控制。虛擬設(shè)備內(nèi)每一個成員設(shè)備都需要一個成員編號 (member ID)進(jìn)行唯一標(biāo)識。虛擬設(shè)備內(nèi)每個成員設(shè)備都有一個成員優(yōu)先級,優(yōu)先級越高(數(shù)值越大),當(dāng)選為主控設(shè)備的可能性越大。
圖2 虛擬化視圖
VSL是兩臺成員交換機(jī)之間,由一條或者多條物理鏈路聚合而成的邏輯鏈路。當(dāng)多臺設(shè)備通過VST形成一臺虛擬設(shè)備時,該虛擬設(shè)備根據(jù)選舉規(guī)則,先選舉出主控設(shè)備。主控設(shè)備使用自己的啟動配置文件啟動,啟動完成后,將配置批量同步給所有備份設(shè)備,使主控設(shè)備完成初始化,至此,虛擬設(shè)備形成。
虛擬設(shè)備運行過程中有新的成員設(shè)備加入時,虛擬設(shè)備也會將配置批量同步給新設(shè)備,新設(shè)備以同步過來的配置完成初始化,而不再讀取本地的啟動配置文件[4]。
所有設(shè)備初始化完成后,虛擬設(shè)備作為一臺邏輯設(shè)備在網(wǎng)絡(luò)中運行。主控設(shè)備作為虛擬設(shè)備系統(tǒng)的管理中樞,負(fù)責(zé)響應(yīng)用戶的登錄需求,即用戶無論使用何種方式登錄虛擬設(shè)備中的成員設(shè)備,其實質(zhì)都是登錄到主控設(shè)備;對成員設(shè)備的配置,其實質(zhì)都是對主控設(shè)備進(jìn)行配置。主控設(shè)備負(fù)責(zé)將用戶的配置實時同步給虛擬設(shè)備內(nèi)的各個備份設(shè)備,使虛擬設(shè)備內(nèi)各成員設(shè)備的配置隨時保持高度一致性[4]。
VST因具有以下優(yōu)勢而逐漸被廣泛使用。
(1)高可靠性
虛擬設(shè)備的成員設(shè)備間采用VSL聚合相連,接入層設(shè)備通過跨設(shè)備鏈路聚合與虛擬設(shè)備相連,既提供了冗余鏈路,又實現(xiàn)了動態(tài)負(fù)載均衡,充分利用所有帶寬。
(2)簡化網(wǎng)絡(luò)拓?fù)?/p>
通過VST形成的虛擬設(shè)備在網(wǎng)絡(luò)中相當(dāng)于一臺設(shè)備,該虛擬設(shè)備通過跨設(shè)備鏈路聚合與下聯(lián)設(shè)備相連,由于不存在環(huán)路,所以無需配置MSTP和VRRP。各種控制層協(xié)議運行在一臺虛擬設(shè)備上,減少了設(shè)備間大量協(xié)議報文的交互,縮短了路由收斂時間。
(3)簡化管理
兩臺或者多臺設(shè)備形成一臺虛擬設(shè)備后,管理員可以對多臺設(shè)備進(jìn)行統(tǒng)一管理,即管理員登錄虛擬設(shè)備內(nèi)的任意一臺成員設(shè)備,即可對虛擬設(shè)備中的多臺設(shè)備進(jìn)行配置和管理。
當(dāng)虛擬設(shè)備內(nèi)的VSL鏈路出現(xiàn)故障,導(dǎo)致兩個相鄰成員設(shè)備在物理上不連通時,一個虛擬設(shè)備變?yōu)閮蓚€虛擬設(shè)備,這個過程稱為VST分裂。
由于虛擬設(shè)備中各成員設(shè)備的配置信息實時高度一致,因此網(wǎng)絡(luò)中將會出現(xiàn)配置完全相同的兩臺設(shè)備,這將導(dǎo)致業(yè)務(wù)流量無法正確轉(zhuǎn)發(fā)和選路,如圖3所示,兩臺設(shè)備配置了完全相同的IP地址,出現(xiàn)IP地址沖突,導(dǎo)致3層網(wǎng)絡(luò)不可使用,這種現(xiàn)象稱為多激活(multi-active)。
圖3 虛擬設(shè)備分裂和多激活產(chǎn)生示意
因此,當(dāng)虛擬設(shè)備發(fā)生分裂時,保證網(wǎng)絡(luò)正常運行對VST技術(shù)的快速發(fā)展是非常重要的。
如何快速檢測多激活的產(chǎn)生以及檢測到多激活后應(yīng)如何解決其給網(wǎng)絡(luò)帶來的影響問題是本文研究的重點。本文介紹了一種可較快速檢測多激活的快速多激活檢測(multi-acitve detection,MAD)方法和可有效保證網(wǎng)絡(luò)業(yè)務(wù)正常運行的高效多激活處理方法。
多激活檢測方法就是通過某些手段檢測到多激活。業(yè)界一些廠商提出的比較常見的多激活檢測方法有以下兩種。
(1)基于BFD的多激活檢測(BFD MAD)方法
該方法實現(xiàn)的前提條件是,在一個VLAN虛擬接口配置BFD和主從MADIP地址。虛擬設(shè)備正常運行時,只有主控設(shè)備上配置的MADIP地址生效,BFD會話處于down狀態(tài);當(dāng)VST分裂后會形成兩個虛擬設(shè)備,不同虛擬設(shè)備中主控設(shè)備上配置的MAD IP地址均會生效,BFD會話被激活,此時檢測到多激活?;贐FD的多激活檢測方法需要占用端口資源,使用專用的檢測端口和3層VLAN接口,從而使這些端口和接口不能再用于傳輸普通業(yè)務(wù)流量。
(2)基于 LACP 的多激活檢測(LACPMAD)方法
該方法通過擴(kuò)展LACP報文內(nèi)容實現(xiàn)。實現(xiàn)的前提條件是,虛擬設(shè)備與周邊設(shè)備采用動態(tài)匯聚方式相連,借助業(yè)務(wù)動態(tài)匯聚組成員端口發(fā)送LACPDU報文實現(xiàn)多激活檢測,不占用額外的設(shè)備端口資源。
網(wǎng)絡(luò)管理者需要根據(jù)實際網(wǎng)絡(luò)環(huán)境部署多激活檢測方法。在設(shè)備端口資源緊張的情況下,LACPMAD檢測方法彰顯出優(yōu)勢。
第2節(jié)提及,虛擬設(shè)備采用跨設(shè)備鏈路聚合與接入層設(shè)備相連。如果采用動態(tài)聚合方式,那么接入層設(shè)備會與虛擬設(shè)備交互LACPDU報文。
LACPMAD通過擴(kuò)展LACPDU報文實現(xiàn),即在LACPDU的擴(kuò)展字段內(nèi)定義一個新的TLV(typelength value)數(shù)據(jù)域,用于交互虛擬設(shè)備的MAD ActiveID(以下簡稱ActiveID,表示虛擬設(shè)備中主控設(shè)備的成員編號)。
(1)LACPMAD 報文格式
LACPMAD報文格式如圖4所示。
圖4 LACP MAD報文格式
其中,MAD DomainID為虛擬交換域,MAD ActiveID為當(dāng)前虛擬設(shè)備內(nèi)主控設(shè)備的成員編號,MAD Bridge MAC為虛擬設(shè)備的橋MAC地址。
(2)LACPMAD 檢測機(jī)制原理
虛擬設(shè)備中各成員設(shè)備開啟LACPMAD功能后,在發(fā)送LACPDU時會攜帶MADTLV擴(kuò)展域,其中最重要的字段是ActiveID,此值在一個虛擬設(shè)備內(nèi)具有唯一性,非虛擬設(shè)備內(nèi)的設(shè)備在收到帶有MAD TLV的LACPDU后,會將此報文向聚合組中的其他成員端口進(jìn)行透傳。虛擬設(shè)備正常工作時,通過這種方式,虛擬交換系統(tǒng)中的所有成員設(shè)備都能收到其他成員設(shè)備發(fā)送的帶有MADTLV的LACPDU,其中備份設(shè)備將收到的帶有MAD TLV的LACPDU通過VSL發(fā)送到主控設(shè)備,由主控設(shè)備統(tǒng)一處理。主控設(shè)備在對接收到的LACPDU進(jìn)行處理的過程中,發(fā)現(xiàn)各成員設(shè)備發(fā)送的LACPDU具有統(tǒng)一的ActiveID,則認(rèn)為虛擬設(shè)備正常。虛擬設(shè)備正常運行時ActiveID的交互如圖5所示。
圖5 虛擬設(shè)備正常運行時ActiveID的交互
當(dāng)虛擬設(shè)備發(fā)生分裂時,一個虛擬設(shè)備變?yōu)閮蓚€虛擬設(shè)備,不同虛擬設(shè)備內(nèi)的成員設(shè)備發(fā)送的LACPDU攜帶的ActiveID不同。當(dāng)這些LACPDU到達(dá)其他虛擬設(shè)備的主控設(shè)備時,主控設(shè)備通過比較發(fā)現(xiàn)AciveID與自身的ActiveID不同,即檢測到多激活,具體如圖6所示。同時動態(tài)匯聚組的各成員端口會迅速發(fā)送LACPDU報文,便于其他虛擬設(shè)備在最短的時間內(nèi)快速檢測到多激活。
檢測到多激活后,主控設(shè)備將從接收的MAD TLV中解析出ActiveID,并按照下述算法步驟判斷本虛擬設(shè)備是否進(jìn)入禁用狀態(tài)。
(1)比較虛擬設(shè)備運行時間:主控狀態(tài)運行時間小的虛擬設(shè)備進(jìn)入禁用狀態(tài),執(zhí)行步驟(4)。如果各虛擬設(shè)備的主控運行時間相等,則執(zhí)行步驟(2)。
圖6 虛擬設(shè)備分裂后ActiveID的交互
(2)比較成員優(yōu)先級:主控成員優(yōu)先級低的虛擬設(shè)備進(jìn)入禁用狀態(tài),執(zhí)行步驟(4)。如果各虛擬設(shè)備的主控成員優(yōu)先級相同,則執(zhí)行步驟(3)。
(3)比較主控的成員編號:主控成員編號大的虛擬設(shè)備進(jìn)入禁用狀態(tài),執(zhí)行步驟(4)。
(4)進(jìn)入禁用狀態(tài)的虛擬設(shè)備需要完全從網(wǎng)絡(luò)中移除,相關(guān)動作如下:
·關(guān)閉該虛擬設(shè)備上所有業(yè)務(wù)的以太端口(包括檢測端口);
·關(guān)閉該虛擬設(shè)備上的所有VLAN接口。
經(jīng)過步驟(4)的處理之后,網(wǎng)絡(luò)環(huán)境中不會出現(xiàn)兩臺配置相同的虛擬設(shè)備同時運行的情況,確保了網(wǎng)絡(luò)業(yè)務(wù)的正常運行。
檢驗上述LACPMAD方法及處理機(jī)制的實驗環(huán)境,驗證過程具體介紹如下。
實驗環(huán)境:兩臺支持VST的交換機(jī)A和交換機(jī)B,一臺支持MAD LACP報文透傳的交換機(jī)C。物理連接如圖7所示。交換機(jī)A和交換機(jī)B之間通過支持VSL的端口相連;交換機(jī)C通過普通業(yè)務(wù)端口分別與交換機(jī)A和交換機(jī)B相連。
圖7 實驗環(huán)境
配置及操作步驟具體介紹如下。
(1)在交換機(jī)A和交換機(jī)B上,完成VST的基本配置,使兩臺設(shè)備形成一臺虛擬設(shè)備。
(2)在主控設(shè)備上配置動態(tài)聚合組,并將與交換機(jī)B和交換機(jī)C相連的端口加入聚合組;在交換機(jī)C上配置動態(tài)匯聚組,并將與交換機(jī)A和交換機(jī)B相連的端口加入聚合組。
(3)在主控設(shè)備上開啟該聚合組的LACPMAD功能。
(4)將VSL斷開,模擬VST分裂。
觀察交換機(jī)C上與交換機(jī)B相連接的端口的物理鏈路狀態(tài)是否為down,即端口的up指示燈是否由亮變滅。若為down,表示多激活檢測成功,處于禁用狀態(tài)的交換機(jī)B將業(yè)務(wù)端口關(guān)閉。
按照上述實驗過程,經(jīng)過測試發(fā)現(xiàn),本文提出的多激活檢測方法可以檢測到多激活發(fā)生;在檢測到多激活后,通過多激活處理方法計算選擇處于禁用狀態(tài)的虛擬設(shè)備,并將該虛擬設(shè)備的所有業(yè)務(wù)端口關(guān)閉,可解決網(wǎng)絡(luò)中出現(xiàn)兩臺配置相同的虛擬設(shè)備后,引起的網(wǎng)絡(luò)癱瘓問題。由此保證了網(wǎng)絡(luò)的正常運行,對于推進(jìn)VST的快速發(fā)展和應(yīng)用具有重要意義。
另外,通過實際應(yīng)用環(huán)境發(fā)現(xiàn),在VST分裂到多激活被檢測到的時間段內(nèi),網(wǎng)絡(luò)仍處于癱瘓狀態(tài),仍會導(dǎo)致網(wǎng)絡(luò)短時間內(nèi)業(yè)務(wù)中斷,這是網(wǎng)絡(luò)使用者不能接受的。因此縮短業(yè)務(wù)中斷時間、提高LACPMAD多激活檢測的速度仍是后續(xù)工作和學(xué)習(xí)中需要繼續(xù)探討和研究的內(nèi)容。
1 陸敏飛.鏈路聚合技術(shù)在分布式以太網(wǎng)交換機(jī)上的研究與實現(xiàn).浙江工業(yè)大學(xué)碩士學(xué)位論文,2009
2 Mark A D,McDonald R,Antoon W R.Nework Fundamentals CCNA Exploration Companion Guide.Cisco Press,2009
3 Wayne Lewis,Ph D.LAN Switching and Wireless CCNA Exploration Companion Guide.Cisco Press,2009
4 杭州華三通信技術(shù)有限公司.IRF2.0技術(shù)白皮書,2009
5 杭州華三通信技術(shù)有限公司.H3CS12500IRF2技術(shù)白皮書,2012
6 邁普通信技術(shù)股份有限公司.VST技術(shù)白皮書(V0.2),2011
7 Cisco.Cisco Catalyst 6500 Series Virtual Switching System(VSS)1440 White Paper,2010
8 銳捷網(wǎng)絡(luò).銳捷VSU技術(shù)白皮書,2011
9 IEEE 802.1AX.IEEE Standard for Local and Metropolitan Area Networks-Link Aggregation,2008