王軼群
(赤峰學(xué)院網(wǎng)路與信息管理處,內(nèi)蒙古赤峰024000)
VRRP路由協(xié)議介紹及配置
王軼群
(赤峰學(xué)院網(wǎng)路與信息管理處,內(nèi)蒙古赤峰024000)
作為信息化應(yīng)用的載體——計(jì)算機(jī)網(wǎng)絡(luò)的可靠性受到越來越多的重視.VRRP(虛擬路由器冗余協(xié)議)是一種選擇協(xié)議,它的優(yōu)勢(shì)在于不需要在終端進(jìn)行動(dòng)態(tài)路由和路由發(fā)現(xiàn)協(xié)議的配置,即可獲得一個(gè)高可靠性的缺省路由通道.通過以S9300系列交換機(jī)為載體,分析和研究VRRP虛擬路由器冗余性協(xié)議的原理和配置,實(shí)現(xiàn)園區(qū)網(wǎng)絡(luò)的路由冗余.
VRRP;IPAddressOwner;VRRP跟蹤;虛擬路由器;動(dòng)態(tài)路由協(xié)議;路由發(fā)現(xiàn)協(xié)議;協(xié)議交互;VirtualRouterMaster;
VRRP(VirtualRouterRedundancyProtocol)是虛擬路由器冗余協(xié)議的簡(jiǎn)稱,是一個(gè)重要的三層可靠性協(xié)議,用于缺省網(wǎng)關(guān)的冗余備份,它可以把一個(gè)虛擬路由器的責(zé)任動(dòng)態(tài)分配到局域網(wǎng)上的VRRP路由器中的一臺(tái).控制虛擬路由器IP地址的VRRP路由器稱為主路由器,它負(fù)責(zé)轉(zhuǎn)發(fā)數(shù)據(jù)包到這些虛擬IP地址.一旦主路由器不可用,這種選擇過程就提供了動(dòng)態(tài)的故障轉(zhuǎn)移機(jī)制,這就允許虛擬路由器的IP地址可以作為終端主機(jī)的默認(rèn)第一跳路由器.使用VRRP的好處是有更高的默認(rèn)路徑的可用性而無需在每個(gè)終端主機(jī)上配置動(dòng)態(tài)路由或路由發(fā)現(xiàn)協(xié)議.
舉一個(gè)典型的內(nèi)部網(wǎng)組網(wǎng)方案的例子.交換機(jī)的一個(gè)接口與外部網(wǎng)絡(luò)相連,一個(gè)接口與內(nèi)部網(wǎng)絡(luò)相連,與內(nèi)部網(wǎng)相連的接口的IP地址是10.5.10.1,主機(jī)1,2,3都配置了IP地址,都在網(wǎng)段10.5.10.0/24內(nèi).主機(jī)1,2,3上都配置了一個(gè)默認(rèn)網(wǎng)關(guān),下一跳指向交換機(jī),下一跳的IP地址是10.5.10.1.這樣,主機(jī)發(fā)送一個(gè)目的IP地址不在本網(wǎng)段內(nèi)的報(bào)文會(huì)匹配缺省路由而發(fā)送到交換機(jī),交換機(jī)再把報(bào)文轉(zhuǎn)發(fā)出去,交換機(jī)也把外部網(wǎng)絡(luò)發(fā)來的報(bào)文轉(zhuǎn)發(fā)給相應(yīng)的主機(jī),這樣主機(jī)就實(shí)現(xiàn)了與外部網(wǎng)絡(luò)的通信.
在上面這種組網(wǎng)方案中,主機(jī)與外部網(wǎng)絡(luò)之間的通信只能通過這個(gè)唯一的交換機(jī),當(dāng)交換機(jī)出現(xiàn)故障時(shí),所有的主機(jī)都與外部中斷.為了解決這個(gè)問題,有一種解決方案就是把一臺(tái)交換機(jī)擴(kuò)展為兩臺(tái)或多臺(tái)交換機(jī),在主機(jī)和交換機(jī)之間都運(yùn)行動(dòng)態(tài)路由協(xié)議OSPF或RIP.
當(dāng)主機(jī)運(yùn)行了動(dòng)態(tài)路由協(xié)議后,主機(jī)上能夠?qū)W習(xí)到外部網(wǎng)絡(luò)所有的路由,主機(jī)在與外部網(wǎng)絡(luò)的通信時(shí),根據(jù)報(bào)文的目的IP地址查找路由得到下一跳來決定報(bào)文是發(fā)送給switch1還是switch2.當(dāng)其中的一臺(tái)交換機(jī)出現(xiàn)故障時(shí),主機(jī)中的路由在很短的時(shí)間內(nèi)能夠重新學(xué)習(xí),路由的下一跳會(huì)指向沒有故障的路由器,這樣,主機(jī)與外部網(wǎng)絡(luò)的通信不會(huì)中斷.
但是,在主機(jī)上實(shí)現(xiàn)動(dòng)態(tài)路由協(xié)議是不現(xiàn)實(shí)的.對(duì)于主機(jī)來說,運(yùn)行動(dòng)態(tài)路由協(xié)議負(fù)載太大,對(duì)于網(wǎng)絡(luò)來說,主機(jī)上運(yùn)行動(dòng)態(tài)路由協(xié)議會(huì)造成網(wǎng)絡(luò)上過多的不必要的數(shù)據(jù)流量,況且有些主機(jī)根本就不支持動(dòng)態(tài)路由協(xié)議.
為了根本解決這個(gè)單點(diǎn)故障的問題,VRRP協(xié)議是最好的選擇.VRRP協(xié)議是專門針對(duì)這個(gè)問題而提出來的.使用VRRP協(xié)議,主機(jī)只需要設(shè)置默認(rèn)網(wǎng)關(guān),而不需要在主機(jī)上運(yùn)行別的協(xié)議,主機(jī)的負(fù)載小,而網(wǎng)絡(luò)上只需要增加很少的VRRP協(xié)議流.
下面介紹幾個(gè)經(jīng)常要用到的術(shù)語:
3.1 VirtualRouter
虛擬路由器,一個(gè)抽象對(duì)象,基于子網(wǎng)接口,包括一個(gè)虛擬路由器標(biāo)識(shí)符(VRID)和一個(gè)或多個(gè)IP地址,這個(gè)(些)IP地址又稱為虛擬IP地址,虛擬IP地址作為主機(jī)的默認(rèn)網(wǎng)關(guān).
3.2 VRRPRouter
VRRP路由器,即運(yùn)行VRRP協(xié)議的路由器,一個(gè)VRRP路由器可以加入到一個(gè)或多個(gè)虛擬路由器中.
3.3 IPAddressOwner
IP地址擁有者,虛擬路由器的虛擬IP地址與接口的真實(shí)IP地址相同的VRRP路由器.
3.4 VirtualRouterMaster
虛擬主路由器,負(fù)責(zé)轉(zhuǎn)發(fā)通過虛擬路由器的三層數(shù)據(jù)包,對(duì)虛擬路由器的IP地址的ARP請(qǐng)求進(jìn)行回應(yīng).如果某個(gè)VRRP路由器是IP地址擁有者,則它總是虛擬主路由器.
3.5 VirtualRouterBackup
虛擬備份路由器,不轉(zhuǎn)發(fā)三層數(shù)據(jù)包,不應(yīng)答虛擬IP地址的ARP請(qǐng)求,當(dāng)虛擬主路由器出現(xiàn)故障時(shí)接替虛擬主路由器的工作.
在一個(gè)虛擬路由器中虛擬主路由器的選擇由以下因素來決定:
4.1 VRRP優(yōu)先級(jí)
一個(gè)虛擬路由器中的每一個(gè)VRRP路由器都需要配置一個(gè)優(yōu)先級(jí)priority.優(yōu)先級(jí)的范圍從0到255,其中0和255有特殊的用途,可配置的優(yōu)先級(jí)范圍從1到254,缺省為100.
優(yōu)先級(jí)的值越大,優(yōu)先級(jí)越高,越有可能成為虛擬主路由器[1].
在一個(gè)虛擬路由器中當(dāng)某個(gè)VRRP路由器是IP地址擁有者時(shí),它的優(yōu)先級(jí)是255.
當(dāng)虛擬主路由器需要通告給其它備份路由器它不再是主時(shí),發(fā)送優(yōu)先級(jí)為0的VRRP包給其它備份路由器,這樣可以快速觸發(fā)其它備份路由器成為虛擬主路由器.
4.2 VRRP包交互
VRRP協(xié)議只有一種類型的包,ADVERTISEMENT通告包.在一個(gè)虛擬路由器中,虛擬主路由器每隔AdvertisementInterval時(shí)間(缺省為1秒)發(fā)送一個(gè)通告包.虛擬備份路由器根據(jù)收到的VRRP通告包來決定是否需要狀態(tài)遷移.
VRRP協(xié)議本身只能檢測(cè)虛擬路由器內(nèi)部的故障,如虛擬路由器所在的接口LINKDOWN或VRRP路由器死機(jī)等,而檢測(cè)不到虛擬路由器外部的故障.當(dāng)虛擬路由器外部出現(xiàn)故障時(shí),虛擬路由器不能根據(jù)這些故障進(jìn)行虛擬主路由器的選擇,這樣會(huì)造成網(wǎng)絡(luò)數(shù)據(jù)的中斷[2].VRRP跟蹤可以解決此問題,VRRP路由器對(duì)指定的外部事件進(jìn)行跟蹤,當(dāng)出現(xiàn)外部故障時(shí)VRRP路由器改變自己的運(yùn)行優(yōu)先級(jí),重新選擇虛擬主路由器,保證網(wǎng)絡(luò)數(shù)據(jù)不中斷.
當(dāng)虛擬主路由器Switch1的外部接口LINK DOWN時(shí),如果沒有啟用VRRP跟蹤功能,Switch1不能檢測(cè)到此外部故障,Swith1繼續(xù)是虛擬主路由器,主機(jī)不能訪問外部網(wǎng)絡(luò).如果啟用了VRRP跟蹤功能,Switch1能夠發(fā)現(xiàn)外部故障,并且修改自己的運(yùn)行優(yōu)先級(jí),重新進(jìn)行虛擬主路由器的選擇,Switch1改變?yōu)樘摂M備份路由器,Switch2改變?yōu)樘摂M主路由器,這樣主機(jī)可以繼續(xù)訪問外部網(wǎng)絡(luò).
6.1 創(chuàng)建和刪除虛擬路由器
虛擬路由器是建立在子網(wǎng)接口上的,并且需要指定一個(gè)VRID.在同一個(gè)接口下,不能有兩個(gè)相同VRID的虛擬路由器存在,而不同的接口下可以存在兩個(gè)相同的VRID的虛擬路由器.理論上一個(gè)接口下最多可以創(chuàng)建255個(gè)虛擬路由器,而目前交換機(jī)只實(shí)現(xiàn)了一個(gè)接口下最多創(chuàng)建4個(gè)虛擬路由器[3].系統(tǒng)缺省情況下沒有創(chuàng)建虛擬路由器.
當(dāng)一個(gè)虛擬路由器不再需要使用時(shí),可以刪除此虛擬路由器,如果虛擬路由器已經(jīng)啟動(dòng)了,則會(huì)先關(guān)閉虛擬路由器,再把虛擬路由器刪除.
在創(chuàng)建虛擬路由器之前,必須先保證接口已經(jīng)存在并且在接口上已經(jīng)配置了IP地址.
在刪除VLAN接口、刪除VLAN接口上的IP地址或修改VLAN接口的IP地址時(shí),該接口上的所有虛擬路由器都會(huì)被刪除.
6.2 配置虛擬路由器的虛擬IP地址
虛擬路由器上必須配置虛擬IP地址,理論上一個(gè)虛擬路由器可以存在一個(gè)或多個(gè)虛擬IP地址,但交換機(jī)在實(shí)現(xiàn)時(shí)一個(gè)虛擬路由器只支持一個(gè)虛擬IP地址.在配置時(shí),一個(gè)虛擬路由器中的多個(gè)VRRP路由器必須配置相同的虛擬IP地址.缺省情況下交換機(jī)沒有配置虛擬IP地址.
配置虛擬路由器的虛擬IP地址必須在虛擬路由器已經(jīng)關(guān)閉的情況下才能成功,當(dāng)虛擬路由器啟動(dòng)時(shí)不能配置成功.
設(shè)置的虛擬IP地址必須與接口的主IP地址在同一個(gè)網(wǎng)段,否則配置不成功.
主機(jī)PING不通虛擬IP地址,當(dāng)對(duì)交換機(jī)進(jìn)行網(wǎng)管時(shí),使用交換機(jī)的真實(shí)的IP地址,不要用虛擬IP地址.
6.3 配置虛擬路由器的參數(shù)
虛擬路由器的參數(shù)包括優(yōu)先級(jí),搶占模式,通告時(shí)間間隔,認(rèn)證方法和認(rèn)證數(shù)據(jù).
在配置時(shí),對(duì)于虛擬路由器的多個(gè)VRRP路由器,通告時(shí)間間隔,認(rèn)證方法和認(rèn)證數(shù)據(jù)必須配置一樣,而優(yōu)先級(jí)和搶占模式參數(shù)可以配置一樣,也可以配置不一樣.
對(duì)于優(yōu)先級(jí),分為配置優(yōu)先級(jí)和運(yùn)行優(yōu)先級(jí),大部分情況下,運(yùn)行優(yōu)先級(jí)使用的是配置優(yōu)先級(jí),但當(dāng)VRRP路由器是IP地址擁有者時(shí),運(yùn)行優(yōu)先級(jí)為255,不使用配置優(yōu)先級(jí).對(duì)于認(rèn)證方法,交換機(jī)目前只實(shí)現(xiàn)了不做認(rèn)證和簡(jiǎn)單口令認(rèn)證兩種方式,而對(duì)于IP認(rèn)證頭方式?jīng)]有實(shí)現(xiàn).
6.4 配置VRRP跟蹤
目前交換機(jī)只實(shí)現(xiàn)了VRRP接口跟蹤功能. VRRP路由器可以同時(shí)跟蹤一個(gè)或多個(gè)接口,接口可以是三層VLAN接口,也可以是二層接口.交換機(jī)缺省沒有配置被跟蹤的接口.
如果VRRP路由器是IP地址擁有者時(shí)[4],管理員可以配置VRRP跟蹤,但實(shí)際上VRRP跟蹤不會(huì)生效,也就是說即使虛擬路由器出現(xiàn)了外部故障,也不會(huì)重新選擇虛擬主路由器.
如果要使用VRRP跟蹤功能,就不要把虛擬路由器配置成IP地址擁有者.
當(dāng)管理員配置了VRRP跟蹤,指定了要跟蹤的一個(gè)或多個(gè)接口并且啟動(dòng)了虛擬路由器時(shí),VRRP跟蹤就開始生效.當(dāng)VRRP路由器發(fā)現(xiàn)被跟蹤的一個(gè)接口LINKDOWN時(shí),認(rèn)為出現(xiàn)了外部故障,把虛擬路由器的運(yùn)行優(yōu)先級(jí)設(shè)置為1,通過VRRP協(xié)議包的交互,可重新選擇虛擬主路由器.當(dāng)被跟蹤的接口都是LINKUP時(shí),故障恢復(fù),虛擬路由器的運(yùn)行優(yōu)先級(jí)重新設(shè)置為配置優(yōu)先級(jí).
6.5 啟動(dòng)和關(guān)閉虛擬路由器
當(dāng)創(chuàng)建了虛擬路由器并且設(shè)置了虛擬IP地址和參數(shù)后,虛擬路由器并沒有真正運(yùn)行,還處于Initialize狀態(tài).啟動(dòng)虛擬路由器會(huì)啟動(dòng)協(xié)議的運(yùn)行,給協(xié)議發(fā)送一個(gè)Startup事件,狀態(tài)機(jī)遷移到Master狀態(tài)或者Backup狀態(tài).關(guān)閉虛擬路由器會(huì)關(guān)閉協(xié)議的運(yùn)行,給協(xié)議發(fā)送一個(gè)Shutdown事件,狀態(tài)遷回到Initialize狀態(tài)[5].
在啟動(dòng)虛擬路由器前必須保證已經(jīng)配置了虛擬IP地址.在虛擬路由器啟動(dòng)的情況下,如果需要修改虛擬IP地址或者參數(shù),必須先關(guān)閉虛擬路由器再進(jìn)行配置,配置完成后再啟動(dòng)虛擬路由器.
7.1 配置
在兩臺(tái)交換機(jī)上啟用VRRP功能,為局域網(wǎng)中的用戶提供三層路由冗余功能,消除網(wǎng)絡(luò)中的路由故障,設(shè)置交換機(jī)1為主用交換機(jī)Master,交換機(jī)2為備份交換機(jī)Backup.
交換機(jī)1上的配置:
Switch#configureterminal
Switch(config)#vlandatabase
Switch(config-vlan)#vlan2
Switch(config-vlan)#exit
Switch(config)#interfacege1/1
Switch(config-ge1/1)#switchportaccessvlan2
Switch(config-ge1/1)#exit
Switch(config)#interfacevlan2
Switch(config-vlan2)#ipaddress192.168.1.1/24
Switch(config-vlan2)#exit
Switch(config)#routervrrpvlan21
Switch(config-vrrp)#vrrpip-address192.168.1.1
Switch(config-vrrp)#enablevrrp
交換機(jī)2上的配置:
Switch#configureterminal
Switch(config)#vlandatabase
Switch(config-vlan)#vlan2
Switch(config-vlan)#exit
Switch(config)#interfacege1/1
Switch(config-ge1/1)#switchportaccessvlan2
Switch(config-ge1/1)#exit
Switch(config)#interfacevlan2
Switch(config-vlan2)#ipaddress192.168.1.2/24
Switch(config-vlan2)#exit
Switch(config)#routervrrpvlan21
Switch(config-vrrp)#vrrpip-address192.168.1.1
Switch(config-vrrp)#enablevrrp
7.2 驗(yàn)證
通過以下命令查看VRRP的信息:
showrunning-config
showvrrp
showvrrpvlan2
〔1〕陳顯毅.VRRP技術(shù)在局域網(wǎng)中的應(yīng)用[J].中國(guó)科技信息,2009(10).
〔2〕傅慧斌.基于VRRP的核心交換機(jī)冗余系統(tǒng)的設(shè)計(jì)與應(yīng)用[J].辦公自動(dòng)化,2009(16).
〔3〕蒲寶卿.一種提高校園網(wǎng)可靠性的VRRP協(xié)議解決方案[J].甘肅高師學(xué)報(bào),2011(02).
〔4〕嚴(yán)華.VRRP技術(shù)在校園網(wǎng)中的應(yīng)用[J].福建電腦,2007(12).
〔5〕張衛(wèi)東.虛擬路由器的設(shè)計(jì)與實(shí)現(xiàn)[J].西南科技大學(xué)學(xué)報(bào),2003(02).
TP39
A
1673-260X(2013)03-0020-03