方 偉
(1.淮北職業(yè)技術(shù)學(xué)院計算機科學(xué)技術(shù)系,安徽淮北 235000;2.浙江大學(xué)控制科學(xué)與工程學(xué)院,浙江杭州 310000)
在傳統(tǒng)網(wǎng)絡(luò)設(shè)計中,為了提高網(wǎng)絡(luò)的穩(wěn)定性,通常在網(wǎng)絡(luò)核心層部署兩個交換機,并且所有的匯聚層交換機都有兩條鏈路分別與核心層交換機相連,鏈路冗余由生成樹來實現(xiàn)。為了消除環(huán)路,在核心層及匯聚層交換機上配置MSTP協(xié)議阻塞一部分鏈路。為了提供冗余網(wǎng)關(guān),在核心層交換機上進行配置VRRP協(xié)議。然而,復(fù)雜的網(wǎng)絡(luò)架構(gòu)增加了網(wǎng)絡(luò)操作與維護的復(fù)雜性,減少了投資回報率,大量的備份鏈路也轉(zhuǎn)換成虛擬邏輯設(shè)備。利用VSU技術(shù)可以將網(wǎng)絡(luò)內(nèi)核轉(zhuǎn)換成虛擬邏輯設(shè)備,用戶只要對虛擬設(shè)備進行操作就可以實現(xiàn)對所有物理設(shè)備的管理[1-3]。這種虛擬設(shè)備既具有盒式設(shè)備低成本的優(yōu)點,又具有框式分布式設(shè)備的擴展性以及高可靠性。
VSU是一種將多臺設(shè)備虛擬成一臺設(shè)備來管理和使用的技術(shù),能夠顯著降低管理及拓?fù)溥壿嫃?fù)雜度,方便用戶管理和使用,其主要實現(xiàn)過程包括物理連接、拓?fù)浒l(fā)現(xiàn)和角色選舉。物理連接即通過VSL口連接兩臺設(shè)備,作為設(shè)備構(gòu)建VSU系統(tǒng)通信的線路。百兆、千兆、萬兆接口均可配置成為VSL接口,但在實際應(yīng)用中RSR77-X系列設(shè)備通常使用萬兆接口互聯(lián),同時采用雙VSL鏈路的部署方式(匯聚及接入設(shè)備除外)。拓?fù)浒l(fā)現(xiàn)通過交互VSU Hello報文攜帶拓?fù)湫畔?,包括本機的成員編號、設(shè)備優(yōu)先級、MAC信息、VSU端口連接關(guān)系等內(nèi)容[4-5]。角色選舉是通過選舉主備設(shè)備、拓?fù)涫諗?,形成VSU系統(tǒng)。其中Master角色的選舉規(guī)則是當(dāng)前主機優(yōu)先(先啟動的設(shè)備優(yōu)先為主設(shè)備),設(shè)備優(yōu)先級大的優(yōu)先,MAC地址小的優(yōu)先。選舉完成后,Master向Slave發(fā)送Convergence報文,通知Slave一起進行拓?fù)涫諗浚缓骎SU進入管理與維護階段。Master將構(gòu)造兩臺設(shè)備的數(shù)據(jù)信息,包括設(shè)備線卡信息、接口信息、全局配置信息。VSU可實現(xiàn)基于線卡和接口編號的統(tǒng)一管理,管理通道路徑實現(xiàn)見圖1。VSU可直接在Master上統(tǒng)一管理本機和從機的線卡、接口。其中接口編號采用三維格式,如GigabitEthernet1/2/0,分別表示槽位號、子槽號和該子槽位上的接口編號。VSU虛擬化之后,接口編號增加一級,采用四維格式(如GigabitEthernet 1/1/2/0),第一維數(shù)字1表示機箱成員設(shè)備編號。Master與VSU系統(tǒng)中其它設(shè)備也具有可靠的管理通道,例如RSR77-X是分布式設(shè)備,管理板負(fù)責(zé)管理設(shè)備。要實現(xiàn)管理就需要有管理通道,內(nèi)部的管理通道為IPC通道。IPC為上層模塊屏蔽掉其中的路徑(管理板-VSL鏈路-線卡等),在管理板與線卡間建立起直連的邏輯通道。
圖1 VSU管理通道路徑
VSL虛擬交換鏈路(Virtual Switching Link)是VSU最為核心的技術(shù)之一。VSL用來在兩臺成員路由器之間傳輸控制報文的特殊聚合鏈路。除了控制報文以外,可能存在跨機箱的數(shù)據(jù)報文通過VSL傳輸。VSL端口以聚合端口組的形式存在,由VSL傳輸?shù)臄?shù)據(jù)流根據(jù)流量平衡算法在聚合端口的各個成員之間進行負(fù)載均衡。設(shè)備上可以用于VSL端口連接的物理端口稱為VSL成員端口,VSL成員端口可以是堆疊端口、以太網(wǎng)接口或者光口。優(yōu)先級是VSU成員路由器的另一個重要屬性,在角色選舉過程中用來確定成員路由器的角色。優(yōu)先級越高,被選舉為主機箱的可能性越大,取值范圍從1到255,缺省優(yōu)先級是100。成員設(shè)備的優(yōu)先級分為配置優(yōu)先級和運行優(yōu)先級,運行優(yōu)先級在VSU運行過程中不會變化。管理員修改配置優(yōu)先級,運行優(yōu)先級還是原來的值,保存配置并重啟后新配置的優(yōu)先級才會生效。
鏈路虛擬化技術(shù)AG實際上就是將兩條或者多條鏈路聚合成一條邏輯鏈路,目前僅支持以太鏈路聚合,一個聚合口最多支持8條成員鏈路。采用鏈路聚合后,邏輯鏈路的帶寬增加了n-1倍,這里n為聚合的路數(shù)。鏈路聚合后,對網(wǎng)絡(luò)層以及以上網(wǎng)絡(luò)層次均表現(xiàn)為一個端口,數(shù)據(jù)流可以實現(xiàn)快速切換,斷流時間在毫秒級別。被鏈路聚合連接在一起的兩個(或多個)設(shè)備,通過內(nèi)部控制可以對聚合連接設(shè)備科學(xué)合理地分配數(shù)據(jù),從而實現(xiàn)負(fù)載分擔(dān)。
AG功能有靜態(tài)和動態(tài)之分:靜態(tài)方式只有在本端接口關(guān)閉的情況下,接口才會退出聚合組,因此不適用于廣域網(wǎng)的場景;動態(tài)方式在參與聚合的接口所在線路異常的情況下,接口才會退出聚合組。動態(tài)檢測有LACP和BFD兩種協(xié)議可以實現(xiàn)(工作流程見圖2):LACP(Link Aggregation Control Protocol,鏈路匯聚控制協(xié)議)是一種實現(xiàn)鏈路動態(tài)匯聚與解匯聚的協(xié)議,利用LACPDU(鏈路匯聚控制協(xié)議數(shù)據(jù)單元)實現(xiàn)對端數(shù)據(jù)信息傳輸。LACP鏈路的兩端分別稱為Actor和Partner,雙方通過LACPDU報文交換,將系統(tǒng)MAC、系統(tǒng)優(yōu)先級、操作Key等信息向?qū)Χ送ǜ?。對端獲得上述信息后,與其它端口保存的信息進行比較,以選擇能夠匯聚的端口[6-8]。雙方可以對端口加入或退出某個動態(tài)匯聚組達成一致,從而確定哪些鏈路可以加入同一聚合組以及某一條鏈路何時能夠加入聚合組。RFC-7130標(biāo)準(zhǔn)的BFD協(xié)議可實現(xiàn)成員鏈路的檢查,RFC-7130規(guī)定在AG的每一個成員口上均建立獨立的BFD會話,獨立檢測而不相互影響。一旦某接口上BFD會話關(guān)閉,在數(shù)據(jù)面該接口從AG成員口中移除,不參與接收和發(fā)送數(shù)據(jù),所有數(shù)據(jù)流被快速的切換到正常的成員口上。簡單理解,BFD探測的方式就是將BFD功能和AG功能聯(lián)動。在BFD檢測到關(guān)閉時,AG將對應(yīng)的接口移出聚合組,二者是互相獨立的。BFD檢測可配置成最快速度150 ms檢測到故障,完成數(shù)據(jù)切換。
圖2 LACP、BFD協(xié)議工作原理圖
傳統(tǒng)的鏈路聚合技術(shù)包含流量均衡算法,通過哈希算法將報文(IP五元組)散列到不同的成員鏈路,達到流量均衡的目標(biāo)。該算法存在一定的缺陷:100條流被散列到成員口1,那么這條規(guī)則將永遠不會改變,即使成員口1過載。IDA(Intelligence Dynamic Adjustment)是一種動態(tài)的流量調(diào)度技術(shù),擯棄了傳統(tǒng)的靜態(tài)均衡算法,通過實時監(jiān)測AG成員鏈路的帶寬利用率,智能地進行流量調(diào)整,始終保持每條鏈路的高效利用,其數(shù)據(jù)流量控制過程見圖3。IDA功能會根據(jù)AG成員接口的負(fù)載情況自動選擇輕載鏈路,無需復(fù)雜配置,只需打開IDA功能開關(guān)即可[9-10]。
圖3 智能流量調(diào)度
在廣域網(wǎng)線路中,不同運營商鏈路的延時、丟包、抖動存在差異。如果同一條流的報文被分配到不同線路,在接收端就會出現(xiàn)報文亂序的現(xiàn)象。亂序意味著丟包重傳,會降低鏈路的有效載荷,浪費鏈路帶寬。在接收端采用緩存報文重組的方式雖然能夠降低重傳報文的幾率,但報文延遲和內(nèi)存消耗可能是無法接受的。IDA的流量均衡是基于流的,也就是說,同一條流的報文同一時刻只會在一條成員鏈路中傳輸,避開了不同質(zhì)量的鏈路對流的影響。在此基礎(chǔ)之上,IDA智能流量調(diào)度還提供了兩個子功能:用戶可根據(jù)需求,指定特定業(yè)務(wù)流到固定鏈路上傳輸,該類業(yè)務(wù)流將不被調(diào)整,除非鏈路故障;用戶可以指定特定業(yè)務(wù)流優(yōu)先在優(yōu)質(zhì)的鏈路上傳輸,當(dāng)鏈路過載時,才調(diào)整業(yè)務(wù)流到另外的鏈路。這兩個子功能是利用與HQOS聯(lián)動來實現(xiàn)的,通過設(shè)置鏈路和HQOS流動作的親和屬性操作。將業(yè)務(wù)和鏈路關(guān)聯(lián)起來。在某些特定場景下,設(shè)備的配置要隨著外部狀態(tài)的改變而作出相應(yīng)的調(diào)整。傳統(tǒng)的技術(shù)想要做到這一點需使用網(wǎng)管或CLI進行人工修改配置,而IDA策略調(diào)整可智能調(diào)整,無需人工干預(yù)[11]。
采用VSU技術(shù)將2臺RSR20-14F路由器虛擬化成1臺路由器,可簡化網(wǎng)絡(luò)管理、維護流程,無需使用VRRP+MSTP等技術(shù)架構(gòu)。通過設(shè)置虛擬化優(yōu)先級,區(qū)分2臺RSR20-14F:優(yōu)先級高為VSU-主路由器,優(yōu)先級低為VSU-備。2臺RSR20-14F通過GE0/1口互連1條網(wǎng)線作為VSU的VSL鏈路,通過FE1/46和FE1/47互連2條網(wǎng)線作為VSU的雙機心跳檢測鏈路,同時作為廣域網(wǎng)數(shù)據(jù)傳輸鏈路。將帶寬高的主鏈路接入VSU-主路由器GE0/0,帶寬低的備鏈路接入VSU-備路由器GE0/0。開啟生成樹功能,確保成為網(wǎng)點局域網(wǎng)絡(luò)的主根橋,實現(xiàn)生成樹優(yōu)化計算;開啟全局RLDP功能,實現(xiàn)基于端口維度的防環(huán)功能,下聯(lián)終端的端口配置RLDP處理動作為Shutdown;開啟HQOS功能,區(qū)分生產(chǎn)和辦公業(yè)務(wù),優(yōu)先保證生產(chǎn)業(yè)務(wù)[12-13]。
為了實現(xiàn)端口數(shù)量擴展和廣域網(wǎng)內(nèi)各終端設(shè)備互聯(lián),虛擬化路由器可以通過Trunk端口下聯(lián)網(wǎng)點接入交換機。單鏈路接入交換機可以單線接入VSU-主路由器或者VSU-備路由器交換端口,雙鏈路接入交換機可以雙線路分別接入VSU-主路由器和VSU-備路由器對應(yīng)交換端口,其中注意接入交換機必須開啟生成樹功能。低端口號端口(如1/1)連接VSU-主路由器端口,高端口號端口(1/2)連接VSU-備路由器端口。此時備鏈路如果被STP阻塞,業(yè)務(wù)終端(生產(chǎn)、辦公、WLAN)等可以接入虛擬化路由器RSR20-14F的交換物理口,也可以接入下聯(lián)的網(wǎng)點接入交換機的交換物理端口。具體網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)見圖4。
圖4 網(wǎng)點虛擬化方案拓?fù)湓O(shè)計
將GE0/1與GE0/1用網(wǎng)線互連,作為虛擬化VSL鏈路(內(nèi)部數(shù)據(jù)通信接口)。設(shè)置1號設(shè)備虛擬化優(yōu)先級為200,保證1號設(shè)備成為VSU-主設(shè)備,同時將路由器從單機模式切換成虛擬化模式;設(shè)置2號設(shè)備虛擬化優(yōu)先級為150,保證2號設(shè)備成為VSU-備,同時將路由器從單機模式切換成虛擬化模式。如果實施過程出現(xiàn)1號設(shè)備為VSU-備,則應(yīng)斷電重啟2號設(shè)備。2號設(shè)備重啟后查看1號設(shè)備角色狀態(tài)值為Active,確保1號設(shè)備為VSU-主。代碼主要實現(xiàn)如下:
# configure terminal
(config)#switch virtual domain 1
(config-vs-domain)#switch 1(or 2)
(config-vs-domain)#switch 1(or 2) priority 200(or150)
(config-vs-domain)#switch 1(or 2) description RSR20 14F-1(or 2)
(config)#vsl-aggregateport 1
(config-vsl-ap-1)#port-member interface GigabitEthernet 0/1
HQoS配置:
interface GigabitEthernet 1/0/0
port-queue pq shaping 20000///運營商提供的鏈路帶寬,例如:20M
interface GigabitEthernet 2/0/0
port-queue pq shaping 10000///運營商提供的鏈路帶寬,例如:10M
interface VLAN 140
traffic-policy HQoS inbound
interface VLAN 110
traffic-policy HQoS inbound
默認(rèn)靜態(tài)路由指向主用鏈路優(yōu)先級高,指向備用鏈路優(yōu)先級低;
ip route 0.0.0.0 0.0.0.0 38.16.X.X
ip route 0.0.0.0 0.0.0.0 38.16.X.Y 70
WLAN業(yè)務(wù)靜態(tài)路由指向備鏈路優(yōu)先級高,指向主鏈路優(yōu)先級低;
ip route 38.0.5.0 255.255.255.0 38.16.X.Y
ip route 38.0.5.0 255.255.255.0 38.16.X.X 70
正常情況下,生產(chǎn)、辦公、其它業(yè)務(wù)走主鏈路,WLAN走備鏈路。如果能精確區(qū)分目的網(wǎng)段是辦公業(yè)務(wù)訪問,也可以配置對應(yīng)的靜態(tài)路由讓辦公業(yè)務(wù)走備鏈路,實現(xiàn)鏈路負(fù)載分擔(dān)。此外,接入交換機必須開啟生成樹功能,生成樹優(yōu)先級保持默認(rèn)配置,連接VSU-主(RSR20-14F-1)路由器端口號小于連接VSU-備路由器(RSR20-14F-2)端口號,如1/44接VSU-主、1/45接VSU-備。此時,接入交換機與虛擬化路由器之間存在環(huán)路,生成樹計算會阻塞接入交換機連接VSU-備路由器(RSR20-14F-2)端口。當(dāng)主鏈路故障時,該端口連接的備份鏈路會被收斂激活,成為鏈路備份。這種設(shè)計能有效解決以下問題:保證下行流量從VSU-主路由器轉(zhuǎn)發(fā),當(dāng)2條雙機檢測鏈路或VSL鏈路不小心被拔掉后,VSU-備路由器會失效。此時下聯(lián)交換機依然可以通過VSU-主鏈路進行數(shù)據(jù)訪問,不受影響,否則需要經(jīng)過1次鏈路收斂切換的中斷影響。
虛擬化路由器邏輯上為1臺設(shè)備,在2臺設(shè)備的虛擬化線路(VSL)中斷時,就會出現(xiàn)雙主機。此時網(wǎng)絡(luò)上有兩臺配置完全一樣的設(shè)備,會導(dǎo)致地址沖突等情況,影響網(wǎng)絡(luò)正常運行。因此,需要配置雙主機探測協(xié)議來解決。RSR20-14F只有1條VSL鏈路,可以配置1條或者多條DAD-BFD雙主機檢測線路。多條線路實際聚合成1個二層聚合鏈路(AG),它既作雙主機檢測,也是雙機間二層數(shù)據(jù)的通道。網(wǎng)絡(luò)互聯(lián)全部采用2條雙主機檢測線路,1號設(shè)備1/46與2號設(shè)備1/46互連,2號設(shè)備1/47與2號設(shè)備1/47互連,如圖5所示。
圖5 雙主機檢測線路
相比MSTP、VRRP等傳統(tǒng)的冗余技術(shù)而言,VSU技術(shù)提高了鏈路的利用率,縮短了故障恢復(fù)時間,使網(wǎng)絡(luò)的穩(wěn)定性和可靠性得到有效的保障。通過網(wǎng)絡(luò)虛擬化改造,可以將多網(wǎng)絡(luò)設(shè)備虛擬成1臺設(shè)備來管理和使用,進一步優(yōu)化了網(wǎng)點的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),提高了帶寬的利用率,顯著減低了管理復(fù)雜度和拓?fù)溥壿嫃?fù)雜度。隨著網(wǎng)絡(luò)應(yīng)用范圍的不斷發(fā)展以及對網(wǎng)絡(luò)性能要求的不斷提升,網(wǎng)絡(luò)虛擬化技術(shù)將會得到廣泛的應(yīng)用和發(fā)展。