1. 程式人生 > >(轉)虛擬路由器冗余協議【原理篇】VRRP詳解

(轉)虛擬路由器冗余協議【原理篇】VRRP詳解

基礎上 vrrp 終端 外網 targe 多少 res 虛擬 ini

原文:http://blog.51cto.com/zhaoyuqiang/1166840

為什麽要使用VRRP技術

我們知道,為了實現不同子網之間的設備通信,需要配置路由。目前常用的指定路由方法有兩種:

第一種是通過路由協議 :RIPOSPF動態學習

第二種是通過靜態路由: 對終端PC機配置靜態路由

這兩種路由各有各的優缺點:

第一種路由可以自動尋找最優路徑,鄰居路由也可以通過學習來獲得路由表,但是動態路由占用線路帶寬和CPU處理時間。

第二種路由是不需要CPU處理時間同樣也不占用線路帶寬,但是這個路由需要對終端的PC機進行配置網關來實現,工作量是比較大的。

對於以上的兩種路由在現在來說都是廣泛應用的。

我們現在只來分析靜態路由的缺點,因為VRRP技術就是使用在靜態路由上,而不是動態路由上。

對於靜態路由來說,對終端PC機配置默認網關。如果作為默認網關的路由器出現故障,所有使用該網關為下一跳的主機的通信是要中斷的。如下圖所示;

技術分享圖片

在上圖中,主機A—D都配置了一個默認的網關:10.1.1.1,網關路由的下一跳指向主機所在網段內的一個路由器RouterARouterA將報文發送到外網,但是如果現在RouterA壞掉了,那麽所有的主機將無法與其他網段進行通信了。

為了解決以上的問題,我們可以加一個路由器RouterB,如下圖所示:

技術分享圖片

RouterA壞掉時,所有的PC機將網關切換到RouterB

上的網關。這樣就實現了路由器的備份。這個技術就是VRRP技術---虛擬路由器冗余協議

VRRP簡介(轉發機制)

1. VRRPVirtual Router Redundancy Protocol,虛擬路由器冗余協議)將可以承擔網關功能的路由器加入到備份組中,形成一臺虛擬路由器,由VRRP的選舉機制決定哪臺路由器承擔轉發任務,局域網內的主機只需將虛擬路由器配置為缺省網關

2. VRRP是一種容錯協議,在提高可靠性的同時,簡化了主機的配置。在具有多播或廣播能力的局域網(如以太網)中,借助VRRP 能在某臺設備出現故障時仍然提供高可靠的缺省鏈路,有效避免單一鏈路發生故障後網絡中斷的問題,而無需修改動態路由協議、路由發現協議等配置信息

3. VRRP協議的實現有VRRPv2VRRPv3兩個版本VRRPv2IPv4VRRPv3基 於IPv6

路由器: 所有運行VRRP協議的路由器就叫做VRRP路由器

5. VRRP備份組: 多臺路由器被分到一個組中,在這個組中選舉出一臺主路由器,其他作為備份路由器。平常時候都是主路由器一個工作,備份路由器空閑,當主路由器故障後,從多臺備份路由器中選舉出一臺替代故障的主路由器工作。這一組中的路由器構成了一個備份組。

如下圖所示: 有兩個路由器,兩個網關,從兩個路由器中選舉出一個路由器作為主路由器,其他的都是備份路由器,主路由器負責發轉發數據報,而備份路由器處於空閑狀態,當主路由器出現故障後,備份路由器會成為主路由器,代替主路由器實現轉發功能。

技術分享圖片

6. 虛擬路由器:虛擬路由器是VRRP備份組中所有路由器的集合,它是一個邏輯概念,並不是正真存在的。從備份組外面看備份組中的路由器,感覺組中的所有路由器就像一個 一樣,你可以理解為 在一個組中: 主路由器+所有備份路由器=虛擬路由器。虛擬路由器有一個虛擬的IP地址和MAC地址。如果虛擬IP和備份組中的某臺路由器的IP相同的話,那麽這臺路由器稱為IP地址擁有者,並且作為備份組中的主路由器

如下圖所示: RARBRC都是VRRP路由器,他們構成了一個VRRP備份組,RA為主路由器,RBRC為備份路由器,這三臺路由器從外界來看就像一臺一樣,這樣構成一個虛擬路由器Router Group,虛擬路由器有一個虛擬的IP地址為10.1.1.1RA主路由器的IP)。RAIP地址擁有者,也是主路由器。

技術分享圖片

7. 虛擬IP地址和MAC地址VRRP組(備份組)中的虛擬路由器對外表現為唯一的虛擬MAC地址,地址格式為00-00-5E-00-01-VRID】,VRIDVRRP組的編號,範圍是0~255.

上圖中,三臺路由器在一個組中,這個組可以起一個0~255之間的編號

註意1.虛擬路由器具有IP地址。局域網內的主機僅需要知道這個虛擬路由器的IP地址,

並將其設置為缺省路由的下一跳地址

2. 虛擬路由器的 IP 地址可以是備份組所在網段中未被分配的IP 地址,也可以和備份組內的某個路由器的接口IP 地址相同

3.接口 IP 地址與虛擬IP 地址相同的路由器被稱為IP 地址擁有者” 在同一個 VRRP 備份組中,只允許配置一個IP 地址擁有者

VRRP狀態

VRRP路由器在運行過程中有三種狀態:

狀態: 系統啟動後就進入Initialize,此狀態下路由器不對VRRP報文做任何處

處理,可以理解為初始化

2. Master狀態: 路由器會發送VRRP通告,發送免費ARP報文。

3. Backup狀態: 接受VRRP通告。

一般主路由器處於Master狀態,備份路由器處於Backup狀態。

VRRP選舉機制

VRRP使用選舉機制來確定路由器的狀態,運行VRRP的一組路由器對外構成了一個虛擬路由器,其中一臺路由器處於Master狀態,其他處於Backup狀態。所以主路由器又叫做Master路由器,備份路由器又叫做Backup路由器。

優先級選舉:

1.VRRP組中IP擁有者。如果虛擬IP地址與VRRP組中的某臺VRRP路由器IP地址相同,則此路由器為IP地址擁有者,這臺路由器將被定位主路由器。

2.比較優先級如果沒有IP地址擁有者,則比較路由器的優先級,優先級的範圍是0~255,大的作為主路由器

3.比較IP地址。在沒有Ip地址擁有者和優先級相同的情況下,IP地址大的作為主路由器。

如下圖所示: 虛擬IP10.1.1.254,在VRRP組中沒有IP地址擁有者,則比較優先級,很明顯RBRA的優先級要大於RC,則比較RARBIP地址,RBIP地址大。所以RB為組中的主路由器。

技術分享圖片

VRRP定時器

① VRRP通告報文時間間隔定時器

1> VRRP備份組中的Master路由器會定時發送VRRP通告報文,通知備份組內的

路由器自己工作正常

2> 用戶可以通過設置VRRP定時器來調整Master路由器發送VRRP 通告報文的

時間間隔

3> 如果Backup路由器在等待了3個間隔時間後,依然沒有收到VRRP 通告報文,則認為自己是Master路由器,並對外發送VRRP通告報文,重新進行Master路由器的選舉

② VRRP搶占延遲時間定時器

1> 為了避免備份組內的成員頻繁進行主備狀態轉換,讓Backup路由器有足夠的

時間搜集必要的信息(如路由信息),Backup 路由器接收到優先級低於本地優 先級的通告報文後,不會立即搶占成為Master

2> 而是等待一定時間——搶占延遲時間後,才會對外發送VRRP通告報文取代原 來的Master路由器

VRRP報文格式

VRRP只使用VRRP通告報文。

VRRP通告報文使用Ip組播數據包進行封裝,組播地址為223.0.0.18IANA給其分配的協議號為112

VRRP通告報文的TTL值必須是255,如果VRRP路由器接受到TTL值不為255VRRP通告報文,必須丟棄。

VRRP組中的主路由器會定期發送通告報文,備份路由器接受,他們通過這種方式來交流選舉

VRRP工作過程總結:

1. 路由器使能VRRP 功能後,會根據優先級確定自己在備份組中的角色。優先級高的路由器成為Master 路由器,優先級低的成為Backup 路由器。Master 路由器定期發送VRRP

通告報文,通知備份組內的其他設備自己工作正常;Backup 路由器則啟動定時器等待通告報文的到來。

2. 在搶占方式下,當Backup 路由器收到VRRP 通告報文後,會將自己的優先級與通告報 文中的優先級進行比較。如果大於通告報文中的優先級,則成為Master 路由器;否則將保持Backup狀態

3. 在非搶占方式下,只要Master 路由器沒有出現故障,備份組中的路由器始終保持Master Backup 狀態,Backup 路由器即使隨後被配置了更高的優先級也不會成為Master 由器

4. 如果Backup 路由器的定時器超時後仍未收到Master 路由器發送來的VRRP 通告報文,則認為Master 路由器已經無法正常工作,此時Backup 路由器會認為自己是Master 由器,並對外發送VRRP 通告報文。備份組內的路由器根據優先級選舉出Master 路由 器,承擔報文的轉發功能

VRRP基本配置

配置VRRP

要啟用VRRP,最基本的配置就是要創建VRRP組,並為VRRP組配置虛擬IP地址

Vrrp group-number ip ip-address [secondary]

group-number VRRP組的編號。即VRID 範圍1~255,

ip-address 虛擬IP地址。

Secondary 輔助IP地址

需要在主路由器和備份路由器上配置

技術分享圖片

配置VRRP優先級

如果希望指定某臺路由器稱為主路由器,可以手工調整其優先級

Vrrp group-number priority number

Group-number VRRP組號 VIRD

Priority 表示優先級

Number 表示優先級 範圍,0~255,默認為100,但是0被保留為特殊用途,255表示IP地址擁有者。

優先級的配置在沒有IP地址擁有者的情況下。想讓哪臺路由器成為主路由器就在哪臺路由器上配置

配置VRRP接口跟蹤

技術分享圖片

如上圖所示:RA為主路由器,RB為備份路由器,但是當RA上的接口S0發生故障時,RA依然從接口E0發送通告報文,聲明自己為主路由器,但是RA實際上已經不能進行轉發了。也就是說路由器網路中不能判定路由器接口是否發生了故障。

VRRP接口跟蹤機制就是檢測接口故障的一種機制。配置了接口跟蹤機制的路由器,當自己的接口發生故障時會將自己的路由器優先級降低,從而使自己從主路由器變為備份路由器,然後原來的備份路由器此時將成為主路由器。

Vrrp group-nunmber track interface [priority-decrement]

priority-decrement為降低的優先級數

註意: priority-decrement是降低了多少而不是降低到多少,比如priority-decrement30,那麽此路由器的優先級在原來基礎上降低30.

技術分享圖片

配置VRRP搶占模式

搶占模式: 指當原來的路由器從故障中回復並接入到網絡層後,配置了VRRP搶占模式的路由器將奪回原來屬於自己的角色(主路由器),如果沒有配置,回復之後將保持備份路由器的狀態。

推薦使用啟用搶占模式

vrrp group-number preempt {delay [Delay-time] }

Delay 取值範圍為1255之間,如果不配置delay時間,那麽其默認值為0秒。

delay-time 為延遲搶占的時間即從該路由器發現自己的優先級大於MASTER的優先級開始 經過delay-time這樣長的一段時間之後才允許搶占。

在主路由器中配置該命令

配置VRRP定時器

VRRP定時器可以修改通告報文的發送時間

vrrp group-number timers advertise vrrp-advertise-interval

adver_interval為設置定時器adver_timer的時間間隔。MASTER每隔這樣一個時間間隔,就會發送一個advertisement報文以通知組內其他路由器自己工作正常,

vrrp-advertise-interval的取值範圍為0254

在主路由器上配置

VRRP

配置此命令的路由器會學習發送通告報文時間,進而計算出失效間隔,否則默認3s

這條命令對於上面的配置VRRP定時器,在主路由器中配置了發送時間間隔,那麽在備份路由器上就需要配置定時學習功能來計算失效間隔,因為失效間隔是發送時間的3

vrrp group-number times learn

VRRP負載均衡

在一組VRRP組中,主路由器承擔數據轉發任務的同時,備份路由器的鏈路將處於空閑狀態,這必然造成了帶寬資源的浪費。為了避免這種浪費,使用VRRP負載均衡。

VRRP負載均衡是通過實現將路由器加入到多個VRRP組實現的,使VRRP路由器在不同的組中擔任不同的角色。

如下圖所示:RA為組35的主路由器,同時又是組36的備份路由器

RB為組36的主路由器,同時又是組35的備份路由器。

在正常狀態下,PC1、PC2RAPC3PC4走RB,但是兩個路由器一旦出現故障,就將網關切換到備份路由器。RA和RB可以說是相輔相成的。

  VRRP並不具備對流量進行監控的機制,它的負載均衡只是通過使用多個VRRP組來實現的。

技術分享圖片

技術分享圖片

版權聲明:原創作品,如需轉載,請註明出處。否則將追究法律責任

(轉)虛擬路由器冗余協議【原理篇】VRRP詳解