摘要:目前虛擬路由冗余協(xié)議(VRRP)的標(biāo)準(zhǔn)實現(xiàn)中,如果把虛擬地址作為主機路由加入到路由表中,會導(dǎo)致上行的數(shù)據(jù)流向與下行數(shù)據(jù)流向的不一致,可能造成報文丟失。虛擬路由通告的方法則把主設(shè)備中的虛擬地址通告給上行接入設(shè)備,從而下行流量可以通過上行設(shè)備的選路,使上下行數(shù)據(jù)流向保持了一致。通過在中興通訊路由器上的實驗,驗證了該方法能夠使虛擬路由冗余協(xié)議流量路徑一致。對于路由冗余備份功能的優(yōu)化具有一定的實用價值。
關(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è)備,通過上層設(shè)備的路選,使上下流的數(shù)據(jù)流的流向保持一致,克服了路徑不一致導(dǎo)致的缺陷與問題。中興路由器的仿真結(jié)果也驗證了該方法能夠得到流量路徑一致,具有一定的實用價值[1-6]。
1 VRRP協(xié)議問題
在基于TCP/IP協(xié)議的網(wǎng)絡(luò)中,為了保證非直接物理連接設(shè)備之間的通信,必須指定路由。目前常用的指定路由的方法有兩種:一種是通過路由協(xié)議如內(nèi)部路由協(xié)議路由信息協(xié)議(RIP)和開發(fā)最短路徑優(yōu)先(OSPF)協(xié)議進行動態(tài)學(xué)習(xí);另一種是靜態(tài)配置。采用VRRP可以很好的避免靜態(tài)配置指定網(wǎng)關(guān)的缺陷。
但是由于目前VRRP虛擬地址生效的時候,只是簡單加入了路由表中,并沒有通告給上層路由,僅僅作為一個32位掩碼的主機路由掛在路由鏈上。而主控VRRP設(shè)備的子網(wǎng)路由都是通告給路由協(xié)議的,會出現(xiàn)從接入設(shè)備上行的數(shù)據(jù)流向是經(jīng)過VRRP主控設(shè)備,而下行數(shù)據(jù)流向則是經(jīng)過VRRP備份設(shè)備回到接入設(shè)備。由于備份設(shè)備為競選失敗的設(shè)備,其可能的狀態(tài)是不可預(yù)制的,如果該設(shè)備運行不正常,則可能產(chǎn)生上層設(shè)備下行數(shù)據(jù)包的丟失,導(dǎo)致網(wǎng)絡(luò)傳輸?shù)牟环€(wěn)定,如圖1所示。
2 虛擬路由路徑一致方法
目前VRRP只給路由模塊設(shè)置一條32 bits的主機路由,所以其路由信息無法通過其他路由協(xié)議分發(fā),導(dǎo)致與主控虛擬路由相連的上層外部路由器設(shè)備無法確定數(shù)據(jù)的下一跳路由器。為解決這一問題而提出的虛擬路由通告策略,在VRRP虛擬路由器狀態(tài)變化時,虛擬路由協(xié)議模塊向路由模塊傳送一個虛擬路由地址,并通過各種有效的路由協(xié)議如BGP、OSPF傳遞給上層路由器[7-9]。具體模塊間的關(guān)系如圖2所示。
當(dāng)虛擬路由器狀態(tài)變化的時候,把其路由信息交給了路由模塊,那么路由模塊需要得到的信息進行不同的操作。圖3為路由模塊狀態(tài)變化通告后的流程圖。
上層路由模塊根據(jù)收到的虛擬路由模塊的路由消息來更新虛擬路由,確定是否添加/更新路由,還是刪除該路由。添加/更新后,需要向外分發(fā)該路由,使得這條路由能夠生效。流程如圖4所示。





通過虛擬路由器的虛擬路由協(xié)議模塊和路由模塊、上層路由器中的路由模塊的相關(guān)修改,數(shù)據(jù)流能夠正確的返回主控路由器,使得上下行路徑真正達(dá)成一致[10]。
3 虛擬路由路徑一致性測試
根據(jù)上述的虛擬路由通告的方法,使用3臺路由器、1臺交換機和若干PC機在一個局域網(wǎng)下實驗,網(wǎng)絡(luò)拓?fù)淙鐖D5所示。
本文主要觀察數(shù)據(jù)流的上送和返回路由是否正確,具體測試步驟如下面3條:
(1)任選一臺PC1,通過IE訪問外部的網(wǎng)絡(luò)。
(2)在R2中查看PC1所發(fā)出的數(shù)據(jù)包是否從R1的下行流入、從R1的上行接口流出到達(dá)R3。
(3)在R3中觀察外部傳送給PC1的數(shù)據(jù)流是否從其連接R1的下行接口流出、由R1傳送給PC1。
實驗結(jié)果表明:在無虛擬路由通告的情況下,R3返回的數(shù)據(jù)流流向表現(xiàn)為隨機,可能產(chǎn)生流量傳送給備份狀態(tài)的虛擬路由器R2,然后再由R2傳給PC1的現(xiàn)象。在使用虛擬路由通告方法以后,路由器R3可以正確地選擇下一跳的接口,使其返回數(shù)據(jù)包能夠正確地從虛擬路由器的主設(shè)備中傳遞。
經(jīng)過在實驗環(huán)境中的測試,虛擬路由通告完全能夠解決標(biāo)準(zhǔn)協(xié)議具有的路徑不一致問題。
4 結(jié)束語
本文基于標(biāo)準(zhǔn)的VRRP,介紹了一種路由通告的方法,克服了VRRP的路徑不對稱問題。經(jīng)過在模擬環(huán)境下的試驗,驗證了該方法能夠使上、下行流量的路由保持一致,保證了VRRP的絕對冗余性質(zhì),并且該方法對標(biāo)準(zhǔn)協(xié)議兼容,可以作為標(biāo)準(zhǔn)協(xié)議的一個附加功能,提高標(biāo)準(zhǔn)協(xié)議的穩(wěn)定性和可用性,具有一定的實用性與有效性。
VRRP是在1998年3月初制定的,隨著網(wǎng)絡(luò)的發(fā)展,其應(yīng)用環(huán)境與使用性能也產(chǎn)生了變化,越來越不能滿足現(xiàn)代網(wǎng)絡(luò)對于系統(tǒng)冗余功能的需要。本文僅針對該協(xié)議上下行路由不一致的問題提出方案,而協(xié)議的更多方面問題還有待解決,以使該協(xié)議真正做到可靠與安全,增強互聯(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] 鄒潤生. VRRP技術(shù)實現(xiàn)網(wǎng)絡(luò)的路由冗余和負(fù)載均衡[EB/OL]. 2006-08-15. cisco.chinaitlab.com/application/521865.html.
[8] 賈娟, 汪斌強, 楊帥. 一種基于VRRP的核心路由器高可用性方法研究與實現(xiàn)[J]. 電子技術(shù)應(yīng)用, 2007, 33(4): 95-97.
[9] 鄭艷濤. VRRP協(xié)議應(yīng)用和改進研究[D]. 杭州:浙江大學(xué), 2007.
[10] 左延智, 牛曉華. VRRP及其在專網(wǎng)中的應(yīng)用[J]. 無線電工程, 2008, 38(2): 13-15.
收稿日期:2007-12-29
作者簡介
唐益慰,中興通訊股份有限公司工程師,碩士研究生畢業(yè)于南京郵電大學(xué)。主要從事IP協(xié)議棧的開發(fā)與研究,專業(yè)特長為計算機通訊與網(wǎng)絡(luò), 主要研究領(lǐng)域為數(shù)據(jù)通訊鏈路層協(xié)議。已發(fā)表論文3篇,專利2篇。
馮健,中興通訊股份有限公司工程師。主要從事ROS項目的研發(fā),研究方向為數(shù)據(jù)通訊IP協(xié)議棧。已提交IETF草案1篇,提交國際專利3篇,提交中國專利11篇。