轉(zhuǎn)載:http://blog.51cto.com/zhaoyuqiang/1166840
為什么要使用VRRP技術(shù)
我們知道,為了實(shí)現(xiàn)不同子網(wǎng)之間的設(shè)備通信,需要配置路由。目前常用的指定路由方法有兩種:
??????第一種是通過(guò)路由協(xié)議?:RIP、OSPF動(dòng)態(tài)學(xué)習(xí)
第二種是通過(guò)靜態(tài)路由:?對(duì)終端PC機(jī)配置靜態(tài)路由。
這兩種路由各有各的優(yōu)缺點(diǎn):
第一種路由可以自動(dòng)尋找最優(yōu)路徑,鄰居路由也可以通過(guò)學(xué)習(xí)來(lái)獲得路由表,但是動(dòng)態(tài)路由占用線路帶寬和CPU處理時(shí)間。
第二種路由是不需要CPU處理時(shí)間同樣也不占用線路帶寬,但是這個(gè)路由需要對(duì)終端的PC機(jī)進(jìn)行配置網(wǎng)關(guān)來(lái)實(shí)現(xiàn),工作量是比較大的。
對(duì)于以上的兩種路由在現(xiàn)在來(lái)說(shuō)都是廣泛應(yīng)用的。
我們現(xiàn)在只來(lái)分析靜態(tài)路由的缺點(diǎn),因?yàn)椋郑遥遥屑夹g(shù)就是使用在靜態(tài)路由上,而不是動(dòng)態(tài)路由上。
對(duì)于靜態(tài)路由來(lái)說(shuō),對(duì)終端PC機(jī)配置默認(rèn)網(wǎng)關(guān)。如果作為默認(rèn)網(wǎng)關(guān)的路由器出現(xiàn)故障,所有使用該網(wǎng)關(guān)為下一跳的主機(jī)的通信是要中斷的。如下圖所示;
在上圖中,主機(jī)A—D都配置了一個(gè)默認(rèn)的網(wǎng)關(guān):10.1.1.1,網(wǎng)關(guān)路由的下一跳指向主機(jī)所在網(wǎng)段內(nèi)的一個(gè)路由器RouterA,RouterA將報(bào)文發(fā)送到外網(wǎng),但是如果現(xiàn)在RouterA壞掉了,那么所有的主機(jī)將無(wú)法與其他網(wǎng)段進(jìn)行通信了。
為了解決以上的問(wèn)題,我們可以加一個(gè)路由器RouterB,如下圖所示:
當(dāng)RouterA壞掉時(shí),所有的PC機(jī)將網(wǎng)關(guān)切換到RouterB上的網(wǎng)關(guān)。這樣就實(shí)現(xiàn)了路由器的備份。這個(gè)技術(shù)就是VRRP技術(shù)---虛擬路由器冗余協(xié)議
VRRP簡(jiǎn)介(轉(zhuǎn)發(fā)機(jī)制)
1.?VRRP(Virtual?Router?Redundancy?Protocol,虛擬路由器冗余協(xié)議)將可以承擔(dān)網(wǎng)關(guān)功能的路由器加入到備份組中,形成一臺(tái)虛擬路由器,由VRRP的選舉機(jī)制決定哪臺(tái)路由器承擔(dān)轉(zhuǎn)發(fā)任務(wù),局域網(wǎng)內(nèi)的主機(jī)只需將虛擬路由器配置為缺省網(wǎng)關(guān)
2.?VRRP是一種容錯(cuò)協(xié)議,在提高可靠性的同時(shí),簡(jiǎn)化了主機(jī)的配置。在具有多播或廣播能力的局域網(wǎng)(如以太網(wǎng))中,借助VRRP?能在某臺(tái)設(shè)備出現(xiàn)故障時(shí)仍然提供高可靠的缺省鏈路,有效避免單一鏈路發(fā)生故障后網(wǎng)絡(luò)中斷的問(wèn)題,而無(wú)需修改動(dòng)態(tài)路由協(xié)議、路由發(fā)現(xiàn)協(xié)議等配置信息
3.?VRRP協(xié)議的實(shí)現(xiàn)有VRRPv2和VRRPv3兩個(gè)版本,VRRPv2于IPv4,VRRPv3基 ? ? 于IPv6
4.?VRRP路由器:?所有運(yùn)行VRRP協(xié)議的路由器就叫做VRRP路由器
5.?VRRP備份組:?多臺(tái)路由器被分到一個(gè)組中,在這個(gè)組中選舉出一臺(tái)主路由器,其他作為備份路由器。平常時(shí)候都是主路由器一個(gè)工作,備份路由器空閑,當(dāng)主路由器故障后,從多臺(tái)備份路由器中選舉出一臺(tái)替代故障的主路由器工作。這一組中的路由器構(gòu)成了一個(gè)備份組。
??如下圖所示:?有兩個(gè)路由器,兩個(gè)網(wǎng)關(guān),從兩個(gè)路由器中選舉出一個(gè)路由器作為主路由器,其他的都是備份路由器,主路由器負(fù)責(zé)發(fā)轉(zhuǎn)發(fā)數(shù)據(jù)報(bào),而備份路由器處于空閑狀態(tài),當(dāng)主路由器出現(xiàn)故障后,備份路由器會(huì)成為主路由器,代替主路由器實(shí)現(xiàn)轉(zhuǎn)發(fā)功能。
6.??虛擬路由器:虛擬路由器是VRRP備份組中所有路由器的集合,它是一個(gè)邏輯概念,并不是正真存在的。從備份組外面看備份組中的路由器,感覺(jué)組中的所有路由器就像一個(gè)一樣,你可以理解為??在一個(gè)組中:主路由器+所有備份路由器=虛擬路由器。虛擬路由器有一個(gè)虛擬的IP地址和MAC地址。如果虛擬IP和備份組中的某臺(tái)路由器的IP相同的話,那么這臺(tái)路由器稱(chēng)為IP地址擁有者,并且作為備份組中的主路由器。
如下圖所示:??RA、RB和RC都是VRRP路由器,他們構(gòu)成了一個(gè)VRRP備份組,RA為主路由器,RB和RC為備份路由器,這三臺(tái)路由器從外界來(lái)看就像一臺(tái)一樣,這樣構(gòu)成一個(gè)虛擬路由器Router?Group,虛擬路由器有一個(gè)虛擬的IP地址為10.1.1.1(RA主路由器的IP)。RA是IP地址擁有者,也是主路由器。
7.?虛擬IP地址和MAC地址:VRRP組(備份組)中的虛擬路由器對(duì)外表現(xiàn)為唯一的虛擬MAC地址,地址格式為00-00-5E-00-01-【VRID】,VRID為VRRP組的編號(hào),范圍是0~255.
上圖中,三臺(tái)路由器在一個(gè)組中,這個(gè)組可以起一個(gè)0~255之間的編號(hào)。
注意:1.虛擬路由器具有IP地址。局域網(wǎng)內(nèi)的主機(jī)僅需要知道這個(gè)虛擬路由器的IP地址,
????并將其設(shè)置為缺省路由的下一跳地址
2.虛擬路由器的?IP?地址可以是備份組所在網(wǎng)段中未被分配的IP?地址,也可以和備份組內(nèi)的某個(gè)路由器的接口IP?地址相同
3.接口?IP?地址與虛擬IP?地址相同的路由器被稱(chēng)為“IP?地址擁有者”在同一個(gè)VRRP?備份組中,只允許配置一個(gè)IP?地址擁有者
VRRP狀態(tài)
VRRP路由器在運(yùn)行過(guò)程中有三種狀態(tài):
1.?Initialize狀態(tài):?系統(tǒng)啟動(dòng)后就進(jìn)入Initialize,此狀態(tài)下路由器不對(duì)VRRP報(bào)文做任何處
??????????????????處理,可以理解為初始化
2.?Master狀態(tài):?路由器會(huì)發(fā)送VRRP通告,發(fā)送免費(fèi)ARP報(bào)文。
3.?Backup狀態(tài):?接受VRRP通告。
一般主路由器處于Master狀態(tài),備份路由器處于Backup狀態(tài)。???????????
VRRP選舉機(jī)制
VRRP使用選舉機(jī)制來(lái)確定路由器的狀態(tài),運(yùn)行VRRP的一組路由器對(duì)外構(gòu)成了一個(gè)虛擬路由器,其中一臺(tái)路由器處于Master狀態(tài),其他處于Backup狀態(tài)。所以主路由器又叫做Master路由器,備份路由器又叫做Backup路由器。
優(yōu)先級(jí)選舉:
1.VRRP組中IP擁有者。如果虛擬IP地址與VRRP組中的某臺(tái)VRRP路由器IP地址相同,則此路由器為IP地址擁有者,這臺(tái)路由器將被定位主路由器。
2.比較優(yōu)先級(jí)。如果沒(méi)有IP地址擁有者,則比較路由器的優(yōu)先級(jí),優(yōu)先級(jí)的范圍是0~255,大的作為主路由器
3.比較IP地址。在沒(méi)有Ip地址擁有者和優(yōu)先級(jí)相同的情況下,IP地址大的作為主路由器。
如下圖所示:虛擬IP為10.1.1.254,在VRRP組中沒(méi)有IP地址擁有者,則比較優(yōu)先級(jí),很明顯RB和RA的優(yōu)先級(jí)要大于RC,則比較RA和RB的IP地址,RB的IP地址大。所以RB為組中的主路由器。
VRRP定時(shí)器
① VRRP通告報(bào)文時(shí)間間隔定時(shí)器
1>?VRRP備份組中的Master路由器會(huì)定時(shí)發(fā)送VRRP通告報(bào)文,通知備份組內(nèi)的
???????????路由器自己工作正常
2>用戶(hù)可以通過(guò)設(shè)置VRRP定時(shí)器來(lái)調(diào)整Master路由器發(fā)送VRRP?通告報(bào)文的
???????????時(shí)間間隔
3>如果Backup路由器在等待了3個(gè)間隔時(shí)間后,依然沒(méi)有收到VRRP?通告報(bào)文,則認(rèn)為自己是Master路由器,并對(duì)外發(fā)送VRRP通告報(bào)文,重新進(jìn)行Master路由器的選舉
② VRRP搶占延遲時(shí)間定時(shí)器
1>為了避免備份組內(nèi)的成員頻繁進(jìn)行主備狀態(tài)轉(zhuǎn)換,讓Backup路由器有足夠的
時(shí)間搜集必要的信息(如路由信息),Backup?路由器接收到優(yōu)先級(jí)低于本地優(yōu)先級(jí)的通告報(bào)文后,不會(huì)立即搶占成為Master
2>而是等待一定時(shí)間——搶占延遲時(shí)間后,才會(huì)對(duì)外發(fā)送VRRP通告報(bào)文取代原來(lái)的Master路由器
VRRP報(bào)文格式
VRRP只使用VRRP通告報(bào)文。
VRRP通告報(bào)文使用Ip組播數(shù)據(jù)包進(jìn)行封裝,組播地址為223.0.0.18,IANA給其分配的協(xié)議號(hào)為112。
VRRP通告報(bào)文的TTL值必須是255,如果VRRP路由器接受到TTL值不為255的VRRP通告報(bào)文,必須丟棄。
VRRP組中的主路由器會(huì)定期發(fā)送通告報(bào)文,備份路由器接受,他們通過(guò)這種方式來(lái)交流選舉
VRRP工作過(guò)程總結(jié):
1.?路由器使能VRRP?功能后,會(huì)根據(jù)優(yōu)先級(jí)確定自己在備份組中的角色。優(yōu)先級(jí)高的路由器成為Master?路由器,優(yōu)先級(jí)低的成為Backup?路由器。Master?路由器定期發(fā)送VRRP?
通告報(bào)文,通知備份組內(nèi)的其他設(shè)備自己工作正常;Backup?路由器則啟動(dòng)定時(shí)器等待通告報(bào)文的到來(lái)。
2.?在搶占方式下,當(dāng)Backup?路由器收到VRRP?通告報(bào)文后,會(huì)將自己的優(yōu)先級(jí)與通告報(bào)文中的優(yōu)先級(jí)進(jìn)行比較。如果大于通告報(bào)文中的優(yōu)先級(jí),則成為Master?路由器;否則將保持Backup狀態(tài)
3.?在非搶占方式下,只要Master?路由器沒(méi)有出現(xiàn)故障,備份組中的路由器始終保持Master?或Backup?狀態(tài),Backup?路由器即使隨后被配置了更高的優(yōu)先級(jí)也不會(huì)成為Master?路由器
4.?如果Backup?路由器的定時(shí)器超時(shí)后仍未收到Master?路由器發(fā)送來(lái)的VRRP?通告報(bào)文,則認(rèn)為Master?路由器已經(jīng)無(wú)法正常工作,此時(shí)Backup?路由器會(huì)認(rèn)為自己是Master?路由器,并對(duì)外發(fā)送VRRP?通告報(bào)文。備份組內(nèi)的路由器根據(jù)優(yōu)先級(jí)選舉出Master?路由?器,承擔(dān)報(bào)文的轉(zhuǎn)發(fā)功能
VRRP基本配置
配置VRRP組
要啟用VRRP,最基本的配置就是要?jiǎng)?chuàng)建VRRP組,并為VRRP組配置虛擬IP地址
?Vrrp?group-number?ip?ip-address?[secondary]
???group-number為VRRP組的編號(hào)。即VRID?范圍1~255,
ip-address虛擬IP地址。
Secondary輔助IP地址
需要在主路由器和備份路由器上配置
配置VRRP優(yōu)先級(jí)
如果希望指定某臺(tái)路由器稱(chēng)為主路由器,可以手工調(diào)整其優(yōu)先級(jí)
?Vrrp?group-number?priority?number
?????Group-number??VRRP組號(hào)?VIRD
Priority表示優(yōu)先級(jí)
Number表示優(yōu)先級(jí)?范圍,0~255,默認(rèn)為100,但是0被保留為特殊用途,255表示IP地址擁有者。
優(yōu)先級(jí)的配置在沒(méi)有IP地址擁有者的情況下。想讓哪臺(tái)路由器成為主路由器就在哪臺(tái)路由器上配置
配置VRRP接口跟蹤
如上圖所示:RA為主路由器,RB為備份路由器,但是當(dāng)RA上的接口S0發(fā)生故障時(shí),RA依然從接口E0發(fā)送通告報(bào)文,聲明自己為主路由器,但是RA實(shí)際上已經(jīng)不能進(jìn)行轉(zhuǎn)發(fā)了。也就是說(shuō)路由器網(wǎng)路中不能判定路由器接口是否發(fā)生了故障。
VRRP接口跟蹤機(jī)制就是檢測(cè)接口故障的一種機(jī)制。配置了接口跟蹤機(jī)制的路由器,當(dāng)自己的接口發(fā)生故障時(shí)會(huì)將自己的路由器優(yōu)先級(jí)降低,從而使自己從主路由器變?yōu)閭浞萋酚善鳎缓笤瓉?lái)的備份路由器此時(shí)將成為主路由器。
??Vrrp?group-nunmber?track?interface?[priority-decrement]
?priority-decrement為降低的優(yōu)先級(jí)數(shù)
注意:priority-decrement是降低了多少而不是降低到多少,比如priority-decrement為30,那么此路由器的優(yōu)先級(jí)在原來(lái)基礎(chǔ)上降低30.
配置VRRP搶占模式
搶占模式:指當(dāng)原來(lái)的路由器從故障中回復(fù)并接入到網(wǎng)絡(luò)層后,配置了VRRP搶占模式的路由器將奪回原來(lái)屬于自己的角色(主路由器),如果沒(méi)有配置,回復(fù)之后將保持備份路由器的狀態(tài)。
???推薦使用啟用搶占模式
vrrp?group-number?preempt??{delay?[Delay-time]?}
Delay取值范圍為1~255之間,如果不配置delay時(shí)間,那么其默認(rèn)值為0秒。
delay-time為延遲搶占的時(shí)間即從該路由器發(fā)現(xiàn)自己的優(yōu)先級(jí)大于MASTER的優(yōu)先級(jí)開(kāi)始?經(jīng)過(guò)delay-time這樣長(zhǎng)的一段時(shí)間之后才允許搶占。
在主路由器中配置該命令
配置VRRP定時(shí)器
VRRP定時(shí)器可以修改通告報(bào)文的發(fā)送時(shí)間
vrrp?group-number?timers?advertise?vrrp-advertise-interval
?????adver_interval為設(shè)置定時(shí)器adver_timer的時(shí)間間隔。MASTER每隔這樣一個(gè)時(shí)間間隔,就會(huì)發(fā)送一個(gè)advertisement報(bào)文以通知組內(nèi)其他路由器自己工作正常,
vrrp-advertise-interval的取值范圍為0~254。
在主路由器上配置
配置VRRP定時(shí)學(xué)習(xí)功能
??配置此命令的路由器會(huì)學(xué)習(xí)發(fā)送通告報(bào)文時(shí)間,進(jìn)而計(jì)算出失效間隔,否則默認(rèn)3s,
這條命令對(duì)于上面的配置VRRP定時(shí)器,在主路由器中配置了發(fā)送時(shí)間間隔,那么在備份路由器上就需要配置定時(shí)學(xué)習(xí)功能來(lái)計(jì)算失效間隔,因?yàn)槭чg隔是發(fā)送時(shí)間的3倍
vrrp?group-number?times?learn
VRRP負(fù)載均衡
在一組VRRP組中,主路由器承擔(dān)數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù)的同時(shí),備份路由器的鏈路將處于空閑狀態(tài),這必然造成了帶寬資源的浪費(fèi)。為了避免這種浪費(fèi),使用VRRP負(fù)載均衡。
VRRP負(fù)載均衡是通過(guò)實(shí)現(xiàn)將路由器加入到多個(gè)VRRP組實(shí)現(xiàn)的,使VRRP路由器在不同的組中擔(dān)任不同的角色。
如下圖所示:RA為組35的主路由器,同時(shí)又是組36的備份路由器
RB為組36的主路由器,同時(shí)又是組35的備份路由器。
在正常狀態(tài)下,PC1、PC2走RA,PC3和PC4走RB,但是兩個(gè)路由器一旦出現(xiàn)故障,就將網(wǎng)關(guān)切換到備份路由器。RA和RB可以說(shuō)是相輔相成的。
?。郑遥遥胁⒉痪邆鋵?duì)流量進(jìn)行監(jiān)控的機(jī)制,它的負(fù)載均衡只是通過(guò)使用多個(gè)VRRP組來(lái)實(shí)現(xiàn)的。