產(chǎn)品分類+
詳解VRRP協(xié)議
1 VRRP概述
隨著Internet的發(fā)展,人們對(duì)網(wǎng)絡(luò)可靠性的要求越來(lái)越高。特別是對(duì)于終端用戶來(lái)說(shuō),能夠?qū)崟r(shí)與網(wǎng)絡(luò)其他部分保持聯(lián)系是非常重要的。一般來(lái)說(shuō),主機(jī)通過(guò)設(shè)置默認(rèn)網(wǎng)關(guān)來(lái)與外部網(wǎng)絡(luò)聯(lián)系,如圖1所示:
主機(jī)將發(fā)送給外部網(wǎng)絡(luò)的報(bào)文發(fā)送給網(wǎng)關(guān),由網(wǎng)關(guān)傳遞給外部網(wǎng)絡(luò),從而實(shí)現(xiàn)主機(jī)與外部網(wǎng)絡(luò)的通信。正常的情況下,主機(jī)可以完全信賴網(wǎng)關(guān)的工作,但是當(dāng)網(wǎng)關(guān)壞掉時(shí),主機(jī)與外部的通信就會(huì)中斷。要解決網(wǎng)絡(luò)中斷的問(wèn)題,可以依靠再添加網(wǎng)關(guān)的方式解決,不過(guò)由于大多數(shù)主機(jī)只允許配置一個(gè)默認(rèn)網(wǎng)關(guān),此時(shí)需要網(wǎng)絡(luò)管理員進(jìn)行手工干預(yù)網(wǎng)絡(luò)配置,才能使得主機(jī)使用新的網(wǎng)關(guān)進(jìn)行通信;有時(shí),人們運(yùn)用動(dòng)態(tài)路由協(xié)議的方法來(lái)解決網(wǎng)絡(luò)出現(xiàn)故障這一問(wèn)題,如運(yùn)行RIP、OSPF等,或者使用IRDP。然而,這些協(xié)議由于配置過(guò)于復(fù)雜,或者安全性能不好等原因都不能滿足用戶的需求。
1.2 技術(shù)優(yōu)點(diǎn)
VRRP具有如下優(yōu)點(diǎn):
l 適應(yīng)性強(qiáng)。VRRP報(bào)文封裝在IP報(bào)文中,支持各種上層協(xié)議。
2 VRRP協(xié)議介紹
l 虛擬路由器:由一個(gè)Master路由器和多個(gè)Backup路由器組成。主機(jī)將虛擬路由器當(dāng)作默認(rèn)網(wǎng)關(guān)。
l Master路由器:虛擬路由器中承擔(dān)報(bào)文轉(zhuǎn)發(fā)任務(wù)的路由器。
l 虛擬IP地址:虛擬路由器的IP地址。一個(gè)虛擬路由器可以擁有一個(gè)或多個(gè)IP地址。
l 虛擬MAC地址:一個(gè)虛擬路由器擁有一個(gè)虛擬MAC地址。虛擬MAC地址的格式為00-00-5E-00-01-{VRID}。通常情況下,虛擬路由器回應(yīng)ARP請(qǐng)求使用的是虛擬MAC地址,只有虛擬路由器做特殊配置的時(shí)候,才回應(yīng)接口的真實(shí)MAC地址。
l 非搶占方式:如果Backup路由器工作在非搶占方式下,則只要Master路由器沒有出現(xiàn)故障,Backup路由器即使隨后被配置了更高的優(yōu)先級(jí)也不會(huì)成為Master路由器。
2.2 虛擬路由器簡(jiǎn)介
虛擬路由器有自己的虛擬IP地址和虛擬MAC地址,它的外在表現(xiàn)形式和實(shí)際的物理路由器完全一樣。局域網(wǎng)內(nèi)的主機(jī)將虛擬路由器的IP地址設(shè)置為默認(rèn)網(wǎng)關(guān),通過(guò)虛擬路由器與外部網(wǎng)絡(luò)進(jìn)行通信。
圖2 虛擬路由器示意圖
VRRP的工作過(guò)程為:
(2) Master路由器周期性發(fā)送VRRP報(bào)文,以公布其配置信息(優(yōu)先級(jí)等)和工作狀況;
(4) 虛擬路由器狀態(tài)切換時(shí),Master路由器由一臺(tái)設(shè)備切換為另外一臺(tái)設(shè)備,新的Master路由器只是簡(jiǎn)單地發(fā)送一個(gè)攜帶虛擬路由器的MAC地址和虛擬IP地址信息的免費(fèi)ARP報(bào)文,這樣就可以更新與它連接的主機(jī)或設(shè)備中的ARP相關(guān)信息。網(wǎng)絡(luò)中的主機(jī)感知不到Master路由器已經(jīng)切換為另外一臺(tái)設(shè)備。
由此可見,為了保證Master路由器和Backup路由器能夠協(xié)調(diào)工作,VRRP需要實(shí)現(xiàn)以下功能:
l Master路由器狀態(tài)的通告;
下面將從上述三個(gè)方面詳細(xì)介紹VRRP的工作過(guò)程。
VRRP根據(jù)優(yōu)先級(jí)來(lái)確定虛擬路由器中每臺(tái)路由器的角色(Master路由器或Backup路由器)。優(yōu)先級(jí)越高,則越有可能成為Master路由器。
l 如果VRRP報(bào)文中Master路由器的優(yōu)先級(jí)高于自己的優(yōu)先級(jí),則路由器保持在Backup狀態(tài);
l 如果在一定時(shí)間內(nèi)沒有收到VRRP報(bào)文,則路由器切換為Master狀態(tài)。
2.3.2 Master路由器狀態(tài)的通告
Master路由器主動(dòng)放棄Master地位(如Master路由器退出虛擬路由器)時(shí),會(huì)發(fā)送優(yōu)先級(jí)為0的VRRP報(bào)文,致使Backup路由器快速切換變成Master路由器。這個(gè)切換的時(shí)間稱為Skew time,計(jì)算方式為:(256-Backup路由器的優(yōu)先級(jí))/256,單位為秒。
在性能不夠穩(wěn)定的網(wǎng)絡(luò)中,Backup路由器可能因?yàn)榫W(wǎng)絡(luò)堵塞而在Master_Down_Interval期間沒有收到Master路由器的報(bào)文,而主動(dòng)搶占為Master位置,如果此時(shí)原Master路由器的報(bào)文又到達(dá)了,就會(huì)出現(xiàn)虛擬路由器的成員頻繁的進(jìn)行Master搶占現(xiàn)象。為了緩解這種現(xiàn)象的發(fā)生,特制定了延遲等待定時(shí)器。它可以使得Backup路由器在等待了Master_Down_Interval后,再等待延遲等待時(shí)間。如在此期間仍然沒有收到VRRP報(bào)文,則此Backup路由器才會(huì)切換為Master路由器,對(duì)外發(fā)送VRRP報(bào)文。
VRRP提供了三種認(rèn)證方式:
l 簡(jiǎn)單字符認(rèn)證:在一個(gè)有可能受到安全威脅的網(wǎng)絡(luò)中,可以將認(rèn)證方式設(shè)置為簡(jiǎn)單字符認(rèn)證。發(fā)送VRRP報(bào)文的路由器將認(rèn)證字填入到VRRP報(bào)文中,而收到VRRP報(bào)文的路由器會(huì)將收到的VRRP報(bào)文中的認(rèn)證字和本地配置的認(rèn)證字進(jìn)行比較。如果認(rèn)證字相同,則認(rèn)為接收到的報(bào)文是合法的VRRP報(bào)文;否則認(rèn)為接收到的報(bào)文是一個(gè)非法報(bào)文。
3 Comware實(shí)現(xiàn)的技術(shù)特色
VRRP網(wǎng)絡(luò)傳輸功能有時(shí)需要額外的技術(shù)來(lái)完善其工作。例如,Master路由器到達(dá)某網(wǎng)絡(luò)的鏈路突然斷掉時(shí),主機(jī)無(wú)法通過(guò)此Master路由器遠(yuǎn)程訪問(wèn)該網(wǎng)絡(luò)。此時(shí),可以通過(guò)監(jiān)視指定接口上行鏈路功能,解決這個(gè)問(wèn)題。當(dāng)Master路由器發(fā)現(xiàn)上行鏈路出現(xiàn)故障后,主動(dòng)降低自己的優(yōu)先級(jí)(使Master路由器的優(yōu)先級(jí)低于Backup路由器),并立即發(fā)送VRRP報(bào)文。Backup路由器接收到優(yōu)先級(jí)比自己低的VRRP報(bào)文后,等待Skew_Time切換為新的Master路由器。從而,使得能夠到達(dá)此網(wǎng)絡(luò)的Backup路由器充當(dāng)VRRP新的Master路由器,協(xié)助主機(jī)完成網(wǎng)絡(luò)通訊。
VRRP可以利用NQA技術(shù)監(jiān)視上行鏈路連接的遠(yuǎn)端主機(jī)或者網(wǎng)絡(luò)狀況。例如,Master設(shè)備上啟動(dòng)NQA的ICMP-echo探測(cè)功能,探測(cè)遠(yuǎn)端主機(jī)的可達(dá)性。當(dāng)ICMP-echo探測(cè)失敗時(shí),它可以通知本設(shè)備探測(cè)結(jié)果,達(dá)到降低VRRP優(yōu)先級(jí)的目的。
3.2 Backup監(jiān)視Master工作狀態(tài)
Backup路由器監(jiān)視Master路由器采用的是具有快速檢測(cè)功能的BFD技術(shù)。在Backup設(shè)備上使用該技術(shù)監(jiān)視Master路由器的狀態(tài),一旦Master路由器發(fā)生故障,Backup就可以自動(dòng)切換成為新的Master路由器,將切換時(shí)間縮短到毫秒級(jí)。
4.1 主備備份
圖3 主備備份VRRP
4.2 負(fù)載分擔(dān)
負(fù)載分擔(dān)方式是指多臺(tái)路由器同時(shí)承擔(dān)業(yè)務(wù),因此負(fù)載分擔(dān)方式需要兩個(gè)或者兩個(gè)以上的虛擬路由器,每個(gè)虛擬路由器都包括一個(gè)Master路由器和若干個(gè)Backup路由器,各虛擬路由器的Master路由器可以各不相同,如圖4中所示。
在圖4中,有三個(gè)虛擬路由器存在:
l 虛擬路由器2:Device B作為Master路由器,Device A和Device C作為Backup路由器。
為了實(shí)現(xiàn)業(yè)務(wù)流量在Device A、Device B和Device C之間進(jìn)行負(fù)載分擔(dān),需要將局域網(wǎng)內(nèi)的主機(jī)的默認(rèn)網(wǎng)關(guān)分別設(shè)置為虛擬路由器1、2和3。在配置優(yōu)先級(jí)時(shí),需要確保三個(gè)虛擬路由器中各路由器的VRRP優(yōu)先級(jí)形成一定的交叉,使得一臺(tái)路由器盡可能不同時(shí)充當(dāng)2個(gè)Master路由器。
VRRP可以通過(guò)BFD或NQA等快速檢測(cè)協(xié)議監(jiān)視一些上行敏感鏈路,使得Master路由器快速地發(fā)現(xiàn)網(wǎng)絡(luò)故障,降低自身的優(yōu)先級(jí),從而保證上行鏈路工作正常的Backup路由器能夠接替它的工作。
如圖5所示,初始情況下,Device A作為Master路由器,承擔(dān)轉(zhuǎn)發(fā)任務(wù);Device B為Backup路由器,處于就緒監(jiān)聽狀態(tài)。Device A使用BFD監(jiān)視上行到達(dá)Internet的鏈路狀態(tài)。如果Device A的上行鏈路發(fā)生故障,Device A可以在毫秒級(jí)感知到網(wǎng)絡(luò)變化,立即發(fā)送低優(yōu)先級(jí)的VRRP報(bào)文給Device B。如果此時(shí)Device B的優(yōu)先級(jí)高于報(bào)文中的優(yōu)先級(jí),那么它將在Skew Time時(shí)間之后切換為新的Master路由器,之后由這個(gè)新的Master路由器為網(wǎng)絡(luò)內(nèi)的主機(jī)轉(zhuǎn)發(fā)數(shù)據(jù)。
為了保證網(wǎng)絡(luò)傳輸?shù)姆€(wěn)定性,可以在Backup設(shè)備上使用BFD技術(shù)監(jiān)視Master的狀態(tài),使得Master設(shè)備發(fā)生故障時(shí),Backup設(shè)備能夠立即切換為新的Master設(shè)備。
如圖6中所示,初始情況下,DeviceA作為Master路由器,承擔(dān)轉(zhuǎn)發(fā)任務(wù);DeviceB是Backup路由器,處于就緒監(jiān)聽狀態(tài)。DeviceB使用BFD監(jiān)視DeviceA上IP地址10.1.1.1的可達(dá)性。如果Device A發(fā)生故障,DeviceB可以立即通過(guò)BFD感知到對(duì)端的變化,主動(dòng)切換成為新的Master設(shè)備,之后這個(gè)新Master路由器將為網(wǎng)絡(luò)內(nèi)的主機(jī)轉(zhuǎn)發(fā)數(shù)據(jù)。
<p style="box-sizing:border-box;outline:0px;margin-top:0px;margin-bottom:16px;padding:0px;font-family:" font-size:16px;color:#4d4d4d;line-height:26px;overflow-x:auto;white-space:normal;background-color:#ffffff;"="">