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