摘 要:隨著Internet的快速發(fā)展,基于網(wǎng)絡(luò)的應(yīng)用越來越多,因此對網(wǎng)絡(luò)的可靠性要求也越來越高。購買增加網(wǎng)絡(luò)新設(shè)備是一種很好的解決方案,但從節(jié)約成本的角度考慮,采用較為廉價的冗余技術(shù),可以在可靠性和經(jīng)濟(jì)性方面找到平衡點。VRRP是一種備份冗余解決方案。它共享多路訪問介質(zhì)(如以太網(wǎng))上終端IP設(shè)備的默認(rèn)網(wǎng)關(guān)進(jìn)行冗余備份。當(dāng)其中一臺路由器設(shè)備出現(xiàn)故障時,備份路由器設(shè)備能夠及時喚醒并完成轉(zhuǎn)發(fā)任務(wù),從而保持通信的連續(xù)性和可靠性。
關(guān)鍵詞:可靠性;冗余技術(shù);VRRP;多路訪問
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A
1 引言(Introduction)
VRRP(Virtual Router Redundancy Protocol)虛擬路由冗余協(xié)議[1],是一種容錯協(xié)議。該協(xié)議把幾臺路由設(shè)備聯(lián)合組合成一臺虛擬的路由設(shè)備。該虛擬路由器在本地局域網(wǎng)有一個唯一的虛擬ID和虛擬IP地址。實際上,該虛擬路由器是由一個主設(shè)備和備份設(shè)備組成。正常情況下由主設(shè)備提供服務(wù)。當(dāng)主設(shè)備出現(xiàn)故障時,由備份設(shè)備提供服務(wù),從而保證網(wǎng)絡(luò)的可靠性和連續(xù)性。
2 VRRP應(yīng)用背景(VRRP application background)
采用VRRP可以很好地避免靜態(tài)指定網(wǎng)關(guān)的缺陷[2]。如圖1所示,用戶主機(jī)通過配置默認(rèn)網(wǎng)關(guān)來實現(xiàn)與外部網(wǎng)絡(luò)的訪問。圖1中,內(nèi)部網(wǎng)絡(luò)上的所有主機(jī)(CLIENT1、CLIENT2、CLIENT3、CLIENT4)都配置了一個默認(rèn)網(wǎng)關(guān)10.1.1.1。該路由器的下一跳指向主機(jī)所在網(wǎng)段內(nèi)的一個路由器CLIENT1,CLIENT1將報文轉(zhuǎn)發(fā)出去。這樣,主機(jī)發(fā)出的目的地址不在本網(wǎng)段的報文將被通過默認(rèn)路由發(fā)往CLIENT1,從而實現(xiàn)了主機(jī)與外部網(wǎng)絡(luò)的通信。然而,一旦CLIENT1出現(xiàn)故障,主機(jī)將無法與其他網(wǎng)段通信。
為防止這種現(xiàn)象的產(chǎn)生,一個解決方案是在網(wǎng)絡(luò)上多部署一臺路由器[3],為主機(jī)配置多個默認(rèn)網(wǎng)關(guān)。這種方式表面上實現(xiàn)了網(wǎng)關(guān)冗余,但不能真正地做到網(wǎng)關(guān)冗余。如圖2所示,HostA通過雙網(wǎng)關(guān)去訪問FTP Server,如果HostA正常工作,那么CLIENT1會把數(shù)據(jù)包發(fā)送給網(wǎng)關(guān)RouterA,然后由RouterA路由給FTP Server。如果RouterA因某種原因鏈路斷開了,HostA無法感知到這個故障,而繼續(xù)將報文發(fā)送給HostA。也就是說在這種情況下,沒有機(jī)制可以使CLIENT1切換到另一個網(wǎng)關(guān)RouterB。
VRRP就是針對路由設(shè)備問題而提出的。它解決了靜態(tài)默認(rèn)路由環(huán)境中所固有的缺陷,對主機(jī)沒有任何運行負(fù)擔(dān)。VRRP通過使用虛擬路由器技術(shù)實現(xiàn)了備份主機(jī)的默認(rèn)網(wǎng)關(guān),同時還可以通過VRRP來達(dá)到網(wǎng)關(guān)的負(fù)載平衡。
3 VRRP轉(zhuǎn)發(fā)機(jī)制(VRRP forwarding mechanism)
如圖3所示,RouterA、RouterB、RouterC都是VRRP路由器[4],三臺路由器通過運行VRRP虛擬出一臺路由器。這個虛擬路由器的IP地址被設(shè)置為RouterA的IP地址10.1.1.1。網(wǎng)絡(luò)中主機(jī)的默認(rèn)網(wǎng)關(guān)都為虛擬路由器的IP地址。
圖3中,由于虛擬路由器使用RouterA的物理以太網(wǎng)接口的IP,因此RouterA就擔(dān)當(dāng)了主路由器的角色,RouterA被稱為IP地址擁有者(owner)。作為主路由器,RouterA控制虛擬路由器的IP地址,并負(fù)責(zé)對發(fā)送到該虛擬IP地址的數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā)。RouterB和RouterC為備用路由器。如果主路由器RouterA發(fā)生故障,作為備用路由器優(yōu)先級較高的RouterB和RouterC將替代為主路由器。當(dāng)RouterA恢復(fù)正常后,將再次成為主路由器。
4 VRRP選舉機(jī)制(VRRP electoral mechanism)
VRRP主要通過選舉機(jī)制來確定主設(shè)備備份設(shè)備(Master或Backup)[5]。運行VRRP的一組路由器對外部形成一臺虛擬路由器,在這組路由器當(dāng)中只有一臺路由器處于Master狀態(tài),而其他的路由器處于Backup狀態(tài)。
運行VRRP的所有路由設(shè)備都會發(fā)送和接收VRRP通告消息,通告消息中包含該設(shè)備的VRRP優(yōu)先級信息。VRRP主要通過比較該組路由設(shè)備的優(yōu)先級來確定哪臺設(shè)備是主設(shè)備,優(yōu)先級高的路由器為主路由器,優(yōu)先級低的路由器為備份路由器。如果VRRP組中存在虛擬IP地址與某一臺VRRP路由器的地址相同時,這臺路由器將成為主路由器,并且該路由器還具有最高優(yōu)先級255[6]。
如圖4所示,RouterA和RouterB的VRRP優(yōu)先級為150,RouterC的VRRP優(yōu)先級為默認(rèn)的100,那么主路由器將在RouterA和RouterB之間產(chǎn)生。由于RouterA和RouterB的優(yōu)先級相同,所以需要通過比較接口的IP地址。最終由于RouterB具有更大的接口IP地址,所以RouterB將成為該組的主路由器(Master),RouterA和RouterC成為備份路由器(Backup)。
5 VRRP基本配置(VRRP basic configuration)
如圖5所示的拓?fù)渲?,RouterA與RouterB屬于VRRP組23,虛擬IP地址為RouterA接口的地址,所以RouterA成為該組的IP地址擁有者和主路由器。HostA將其默認(rèn)網(wǎng)關(guān)設(shè)置為虛擬IP地址[7]。
(1)RouterA的VRRP組配置
RouterA(config)#interface Fa 1/0
RouterA(config-if)#ip add 10.1.1.1 24
RouterA(config-if)#vrrp 23 10.1.1.1
RouterA(config-if)#endendprint
(2)RouterB的VRRP配置
RouterB(config)#interface Fa 1/0
RouterB(config-if)#ip add 10.1.1.1 24
RouterB(config-if)#vrrp 23 ip 10.1.1.1
RouterB(config-if)#end
配置完成后,可以使用命令show vrrp brief來查看VRRP組的狀態(tài)。
(3)查看RouterA的VRRP狀態(tài)
RouterA#show vrrp brief
Interface Grp Pri Time Own Pre state Master addr Group addr
FastEth1/0 23 255 3 O P Master 10.1.1.1 10.1.1.1
從RouterA的顯示信息中可以看出,RouterA的優(yōu)先級為255,作為VRRP組23的IP地址擁有者,并且狀態(tài)為Master(主路由器)。
(4)查看RouterB的VRRP狀態(tài)
RouteB#show vrrp brief
Interface Grp Pri Time Own Pre state Master addr Group addr
FastEth1/0 23 100 3 - P Backup 10.1.1.1 10.1.1.1
從RouterB的顯示信息中可以看出,RouterB的優(yōu)先級為默認(rèn)值100,狀態(tài)為Backup(備份路由器)。
(5)RouterA的VRRP優(yōu)先級配置
RouterA(config)#interface Fa 1/0
RouterA(config-if)#ip add 10.1.1.1 24
RouterB(config-if)#vrrp 50 ip 10.1.1.50
RouterB(config-if)#vrrp 50 priority 120
RouterA(config-if)#end
(6)RouterB的VRRP優(yōu)先級配置
RouterB(config)#interface Fa 1/0
RouterB(config-if)#ip add 10.1.1.1 24
RouterB(config-if)#vrrp 50 ip 10.1.1.50
RouterB(config-if)#end
通過使用命令show vrrp brief來查看VRRP選舉狀態(tài)。
(7)查看RouterA的VRRP狀態(tài)
RouterA#show vrrp brief
Interface Grp Pri Time Own Pre state Master addr Group addr
FastEth1/0 50 120 3 - P Master 10.1.1.1 10.1.1.50
從RouterA的顯示信息中可以看出,RouterA的優(yōu)先級為120,狀態(tài)為Master(主路由器)。
(8)查看RouterB的VRRP狀態(tài)
RouterB#show vrrp brief
Interface Grp Pri Time Own Pre state Master addr Group addr
FastEth1/0 50 120 3 - P Master 10.1.1.1 10.1.1.50
從RouterB的顯示信息中可以看出,RouterB使用默認(rèn)的優(yōu)先級100,狀態(tài)為Backup(備用路由器)。
6 結(jié)論(Conclusion)
VRRP作為一種冗余備份解決方案,在共享多路訪問介質(zhì)(如以太網(wǎng))上提供了網(wǎng)關(guān)的冗余性,使得當(dāng)活動網(wǎng)關(guān)發(fā)生故障后,備份網(wǎng)關(guān)能夠進(jìn)行故障切換并接替轉(zhuǎn)發(fā)工作[8]。
VRRP協(xié)議能夠虛擬出邏輯上的路由器。一組VRRP路由器共同工作,一起形成一臺虛擬路由器。該虛擬路由器對外可視為一個具有唯一固定IP地址和MAC地址的邏輯路由器。除此之外為了提高冗余性,避免造成網(wǎng)絡(luò)資源的浪費,還可以在VRRP中使用負(fù)載均衡。
參考文獻(xiàn)(References)
[1] 余侃民,鐘赟,孫昱,等.DTN網(wǎng)絡(luò)路由技術(shù)研究綜述[J].計算機(jī)應(yīng)用與軟件,2016(07):148-153.
[2] 葛敬國,賀鵬,楊建華,等.通用平臺虛擬路由器轉(zhuǎn)發(fā)性能測試與改進(jìn)[J].電子科技大學(xué)學(xué)報,2014(01):95-100.
[3] 李江昀,童朝南,孫一康,雙過程機(jī)熱備份集群系統(tǒng)的可信性建模與仿真[J].北京科技大學(xué)學(xué)報,2007(01):76-81.
[4] 歐仁輝,齊傳輝,主雪梅.利用VRRP協(xié)議實現(xiàn)網(wǎng)絡(luò)的負(fù)載均衡[J].河北工程技術(shù)高等??茖W(xué)校學(xué)報,2010(01):63-65.
[5] 楊華.局域網(wǎng)中虛擬路由器集群的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2013(09): 2070-2073;2080.
[6] 吳乃星,廖建新,王晶.LRV負(fù)載均衡算法的研究與實現(xiàn)[J].北京郵電大學(xué)學(xué)報,2005(06):73-78;109.
[7] 張選波.使用多生成樹協(xié)議進(jìn)行網(wǎng)絡(luò)配置[M].北京:電子工業(yè)出版社,2008:45-47.
[8] 陳偉旭.基于IPv4的VRRP協(xié)議研究與實現(xiàn)[D].北京:北京郵電大學(xué),2012:21-26.
作者簡介:
張文川(1981-),男,碩士,副教授.研究領(lǐng)域:計算機(jī)網(wǎng)絡(luò)技術(shù).endprint