摘要:目前虛擬路由冗余協(xié)議(VRRP)的標(biāo)準(zhǔn)實(shí)現(xiàn)中,如果把虛擬地址作為主機(jī)路由加入到路由表中,會(huì)導(dǎo)致上行的數(shù)據(jù)流向與下行數(shù)據(jù)流向的不一致,可能造成報(bào)文丟失。虛擬路由通告的方法則把主設(shè)備中的虛擬地址通告給上行接入設(shè)備,從而下行流量可以通過(guò)上行設(shè)備的選路,使上下行數(shù)據(jù)流向保持了一致。通過(guò)在中興通訊路由器上的實(shí)驗(yàn),驗(yàn)證了該方法能夠使虛擬路由冗余協(xié)議流量路徑一致。對(duì)于路由冗余備份功能的優(yōu)化具有一定的實(shí)用價(jià)值。
關(guān)鍵詞:虛擬路由器;虛擬路由冗余協(xié)議(VRRP);路由通告
Abstract: Presently, during the implementation of standard Virtual Router Redundancy Protocol (VRRP), virtual address is added to routing table as a host route, which may lead to upstream data flow having a different direction from that of downstream data flow, thus causing packet loss. According to virtual router advertise, virtual address of master device is used to upstream access device, which enables downstream traffics to have the same flow direction with that of upstream traffics via routing. With experiment on ZTE router, it is verified that this method can make traffic flow over the same path. It benefits the optimization of route redundancy backup function.
Key words: virtual router; Virtual Router Redundancy Protocol (VRRP); route advertise
基于虛擬路由冗余協(xié)議(VRRP)的虛擬路由通告方法,把主設(shè)備中的虛擬地址通告給上層接入設(shè)備,通過(guò)上層設(shè)備的路選,使上下流的數(shù)據(jù)流的流向保持一致,克服了路徑不一致導(dǎo)致的缺陷與問(wèn)題。中興路由器的仿真結(jié)果也驗(yàn)證了該方法能夠得到流量路徑一致,具有一定的實(shí)用價(jià)值[1-6]。
1 VRRP協(xié)議問(wèn)題
在基于TCP/IP協(xié)議的網(wǎng)絡(luò)中,為了保證非直接物理連接設(shè)備之間的通信,必須指定路由。目前常用的指定路由的方法有兩種:一種是通過(guò)路由協(xié)議如內(nèi)部路由協(xié)議路由信息協(xié)議(RIP)和開(kāi)發(fā)最短路徑優(yōu)先(OSPF)協(xié)議進(jìn)行動(dòng)態(tài)學(xué)習(xí);另一種是靜態(tài)配置。采用VRRP可以很好的避免靜態(tài)配置指定網(wǎng)關(guān)的缺陷。
但是由于目前VRRP虛擬地址生效的時(shí)候,只是簡(jiǎn)單加入了路由表中,并沒(méi)有通告給上層路由,僅僅作為一個(gè)32位掩碼的主機(jī)路由掛在路由鏈上。而主控VRRP設(shè)備的子網(wǎng)路由都是通告給路由協(xié)議的,會(huì)出現(xiàn)從接入設(shè)備上行的數(shù)據(jù)流向是經(jīng)過(guò)VRRP主控設(shè)備,而下行數(shù)據(jù)流向則是經(jīng)過(guò)VRRP備份設(shè)備回到接入設(shè)備。由于備份設(shè)備為競(jìng)選失敗的設(shè)備,其可能的狀態(tài)是不可預(yù)制的,如果該設(shè)備運(yùn)行不正常,則可能產(chǎn)生上層設(shè)備下行數(shù)據(jù)包的丟失,導(dǎo)致網(wǎng)絡(luò)傳輸?shù)牟环€(wěn)定,如圖1所示。
2 虛擬路由路徑一致方法
目前VRRP只給路由模塊設(shè)置一條32 bits的主機(jī)路由,所以其路由信息無(wú)法通過(guò)其他路由協(xié)議分發(fā),導(dǎo)致與主控虛擬路由相連的上層外部路由器設(shè)備無(wú)法確定數(shù)據(jù)的下一跳路由器。為解決這一問(wèn)題而提出的虛擬路由通告策略,在VRRP虛擬路由器狀態(tài)變化時(shí),虛擬路由協(xié)議模塊向路由模塊傳送一個(gè)虛擬路由地址,并通過(guò)各種有效的路由協(xié)議如BGP、OSPF傳遞給上層路由器[7-9]。具體模塊間的關(guān)系如圖2所示。
當(dāng)虛擬路由器狀態(tài)變化的時(shí)候,把其路由信息交給了路由模塊,那么路由模塊需要得到的信息進(jìn)行不同的操作。圖3為路由模塊狀態(tài)變化通告后的流程圖。
上層路由模塊根據(jù)收到的虛擬路由模塊的路由消息來(lái)更新虛擬路由,確定是否添加/更新路由,還是刪除該路由。添加/更新后,需要向外分發(fā)該路由,使得這條路由能夠生效。流程如圖4所示。
通過(guò)虛擬路由器的虛擬路由協(xié)議模塊和路由模塊、上層路由器中的路由模塊的相關(guān)修改,數(shù)據(jù)流能夠正確的返回主控路由器,使得上下行路徑真正達(dá)成一致[10]。
3 虛擬路由路徑一致性測(cè)試
根據(jù)上述的虛擬路由通告的方法,使用3臺(tái)路由器、1臺(tái)交換機(jī)和若干PC機(jī)在一個(gè)局域網(wǎng)下實(shí)驗(yàn),網(wǎng)絡(luò)拓?fù)淙鐖D5所示。
本文主要觀(guān)察數(shù)據(jù)流的上送和返回路由是否正確,具體測(cè)試步驟如下面3條:
(1)任選一臺(tái)PC1,通過(guò)IE訪(fǎng)問(wèn)外部的網(wǎng)絡(luò)。
(2)在R2中查看PC1所發(fā)出的數(shù)據(jù)包是否從R1的下行流入、從R1的上行接口流出到達(dá)R3。
(3)在R3中觀(guān)察外部傳送給PC1的數(shù)據(jù)流是否從其連接R1的下行接口流出、由R1傳送給PC1。
實(shí)驗(yàn)結(jié)果表明:在無(wú)虛擬路由通告的情況下,R3返回的數(shù)據(jù)流流向表現(xiàn)為隨機(jī),可能產(chǎn)生流量傳送給備份狀態(tài)的虛擬路由器R2,然后再由R2傳給PC1的現(xiàn)象。在使用虛擬路由通告方法以后,路由器R3可以正確地選擇下一跳的接口,使其返回?cái)?shù)據(jù)包能夠正確地從虛擬路由器的主設(shè)備中傳遞。
經(jīng)過(guò)在實(shí)驗(yàn)環(huán)境中的測(cè)試,虛擬路由通告完全能夠解決標(biāo)準(zhǔn)協(xié)議具有的路徑不一致問(wèn)題。
4 結(jié)束語(yǔ)
本文基于標(biāo)準(zhǔn)的VRRP,介紹了一種路由通告的方法,克服了VRRP的路徑不對(duì)稱(chēng)問(wèn)題。經(jīng)過(guò)在模擬環(huán)境下的試驗(yàn),驗(yàn)證了該方法能夠使上、下行流量的路由保持一致,保證了VRRP的絕對(duì)冗余性質(zhì),并且該方法對(duì)標(biāo)準(zhǔn)協(xié)議兼容,可以作為標(biāo)準(zhǔn)協(xié)議的一個(gè)附加功能,提高標(biāo)準(zhǔn)協(xié)議的穩(wěn)定性和可用性,具有一定的實(shí)用性與有效性。
VRRP是在1998年3月初制定的,隨著網(wǎng)絡(luò)的發(fā)展,其應(yīng)用環(huán)境與使用性能也產(chǎn)生了變化,越來(lái)越不能滿(mǎn)足現(xiàn)代網(wǎng)絡(luò)對(duì)于系統(tǒng)冗余功能的需要。本文僅針對(duì)該協(xié)議上下行路由不一致的問(wèn)題提出方案,而協(xié)議的更多方面問(wèn)題還有待解決,以使該協(xié)議真正做到可靠與安全,增強(qiáng)互聯(lián)網(wǎng)的穩(wěn)定性與可靠性。
5 參考文獻(xiàn)
[1] KNIGHT S, WEAVER D, WHIPPLE D, et al. Virtual Router Redundancy Protocol [S]. RFC2338. 1998.
[2] HINDEN R. Virtual Router Redundancy Protocol [S]. RFC 3768. 2004.
[3] TATA K. Definitions of managed objects for the VRRP over IPv4 and IPv6 [EB/OL]. 2006-12-13. http://www.ietf.org/internet-drafts/draft-ietf-vrrp-unified-mib-06.txt.
[4] HINDEN R. Virtual router redundancy protocol for IPv6 [EB/OL]. 2004-09-28. http://www.ietf.org/proceedings/04nov/IDs/
draft-ietf-vrrp-ipv6-spec-07.txt.
[5] KUO JEN HAO, TE SIONG UI, LIAO PANG TING, et al. An evaluation of the virtual router redundancy protocol extension with load balancing [C]//Proceedings of 11th International Symposium on Pacific Rim Dependable Computing, Dec 12-14, 2005, Changsha, China. 2005: 133-139.
[6] WU WWIMING, WANG KUOCHEN, JAN RONGHONG, et al. A fast failure detection and failover scheme for SIP high availability networks [C]//Proceedings of 13th International Symposium on Pacific Rim International Symposium on Dependable Computing, Dec 17-19, 2007, Melbourne, Australia. 2007:187-190.
[7] 鄒潤(rùn)生. VRRP技術(shù)實(shí)現(xiàn)網(wǎng)絡(luò)的路由冗余和負(fù)載均衡[EB/OL]. 2006-08-15. cisco.chinaitlab.com/application/521865.html.
[8] 賈娟, 汪斌強(qiáng), 楊帥. 一種基于VRRP的核心路由器高可用性方法研究與實(shí)現(xiàn)[J]. 電子技術(shù)應(yīng)用, 2007, 33(4): 95-97.
[9] 鄭艷濤. VRRP協(xié)議應(yīng)用和改進(jìn)研究[D]. 杭州:浙江大學(xué), 2007.
[10] 左延智, 牛曉華. VRRP及其在專(zhuān)網(wǎng)中的應(yīng)用[J]. 無(wú)線(xiàn)電工程, 2008, 38(2): 13-15.
收稿日期:2007-12-29
作者簡(jiǎn)介
唐益慰,中興通訊股份有限公司工程師,碩士研究生畢業(yè)于南京郵電大學(xué)。主要從事IP協(xié)議棧的開(kāi)發(fā)與研究,專(zhuān)業(yè)特長(zhǎng)為計(jì)算機(jī)通訊與網(wǎng)絡(luò), 主要研究領(lǐng)域?yàn)閿?shù)據(jù)通訊鏈路層協(xié)議。已發(fā)表論文3篇,專(zhuān)利2篇。
馮健,中興通訊股份有限公司工程師。主要從事ROS項(xiàng)目的研發(fā),研究方向?yàn)閿?shù)據(jù)通訊IP協(xié)議棧。已提交IETF草案1篇,提交國(guó)際專(zhuān)利3篇,提交中國(guó)專(zhuān)利11篇。