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