虛擬路由器冗余協議VRRP原理詳解!
一、為什么要使用VRRP技術?
我們知道,為了實現不同子網之間的設備通信,需要配置路由。目前常用的指定路由方法有兩種:
- ***種是通過路由協議 :RIP、OSPF動態學習
- 第二種是通過靜態路由: 對終端PC機配置靜態路由。
這兩種路由各有各的優缺點:
***種路由可以自動尋找***路徑,鄰居路由也可以通過學習來獲得路由表,但是動態路由占用線路帶寬和CPU處理時間。
第二種路由是不需要CPU處理時間同樣也不占用線路帶寬,但是這個路由需要對終端的PC機進行配置網關來實現,工作量是比較大的。
對于以上的兩種路由在現在來說都是廣泛應用的。
我們現在只來分析靜態路由的缺點,因為VRRP技術就是使用在靜態路由上,而不是動態路由上。
對于靜態路由來說,對終端PC機配置默認網關。如果作為默認網關的路由器出現故障,所有使用該網關為下一跳的主機的通信是要中斷的。如下圖所示;

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

當RouterA壞掉時,所有的PC機將網關切換到RouterB上的網關。這樣就實現了路由器的備份。這個技術就是VRRP技術---虛擬路由器冗余協議
二、VRRP簡介(轉發機制)
1. VRRP(Virtual Router Redundancy Protocol,虛擬路由器冗余協議)將可以承擔網關功能的路由器加入到備份組中,形成一臺虛擬路由器,由VRRP的選舉機制決定哪臺路由器承擔轉發任務,局域網內的主機只需將虛擬路由器配置為缺省網關
2. VRRP是一種容錯協議,在提高可靠性的同時,簡化了主機的配置。在具有多播或廣播能力的局域網(如以太網)中,借助VRRP 能在某臺設備出現故障時仍然提供高可靠的缺省鏈路,有效避免單一鏈路發生故障后網絡中斷的問題,而無需修改動態路由協議、路由發現協議等配置信息。
3. VRRP協議的實現有VRRPv2和VRRPv3兩個版本,VRRPv2于IPv4,VRRPv3基于IPv6。
4. VRRP路由器: 所有運行VRRP協議的路由器就叫做VRRP路由器。
5. VRRP備份組:多臺路由器被分到一個組中,在這個組中選舉出一臺主路由器,其他作為備份路由器。平常時候都是主路由器一個工作,備份路由器空閑,當主路由器故障后,從多臺備份路由器中選舉出一臺替代故障的主路由器工作。這一組中的路由器構成了一個備份組。
如下圖所示: 有兩個路由器,兩個網關,從兩個路由器中選舉出一個路由器作為主路由器,其他的都是備份路由器,主路由器負責發轉發數據報,而備份路由器處于空閑狀態,當主路由器出現故障后,備份路由器會成為主路由器,代替主路由器實現轉發功能。

6. 虛擬路由器:虛擬路由器是VRRP備份組中所有路由器的集合,它是一個邏輯概念,并不是正真存在的。
從備份組外面看備份組中的路由器,感覺組中的所有路由器就像一個 一樣,你可以理解為 在一個組中:主路由器+所有備份路由器=虛擬路由器。
虛擬路由器有一個虛擬的IP地址和MAC地址。如果虛擬IP和備份組中的某臺路由器的IP相同的話,那么這臺路由器稱為IP地址擁有者,并且作為備份組中的主路由器。
如下圖所示:RA、RB和RC都是VRRP路由器,他們構成了一個VRRP備份組,RA為主路由器,RB和RC為備份路由器,這三臺路由器從外界來看就像一臺一樣,這樣構成一個虛擬路由器Router Group,虛擬路由器有一個虛擬的IP地址為10.1.1.1(RA主路由器的IP)。RA是IP地址擁有者,也是主路由器。

7. 虛擬IP地址和MAC地址:VRRP組(備份組)中的虛擬路由器對外表現為唯一的虛擬MAC地址,地址格式為00-00-5E-00-01-【VRID】,VRID為VRRP組的編號,范圍是0~255.
上圖中,三臺路由器在一個組中,這個組可以起一個0~255之間的編號。
注意:
1).虛擬路由器具有IP地址。局域網內的主機僅需要知道這個虛擬路由器的IP地址, 并將其設置為缺省路由的下一跳地址
2). 虛擬路由器的 IP 地址可以是備份組所在網段中未被分配的IP 地址,也可以和備份組內的某個路由器的接口IP 地址相同 3.接口 IP 地址與虛擬IP 地址相同的路由器被稱為“IP 地址擁有者” 在同一個 VRRP 備份組中,只允許配置一個IP 地址擁有者
三、VRRP狀態
VRRP路由器在運行過程中有三種狀態:
1. Initialize狀態:系統啟動后就進入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地址大的作為主路由器。
如下圖所示: 虛擬IP為10.1.1.254,在VRRP組中沒有IP地址擁有者,則比較優先級,很明顯RB和RA的優先級要大于RC,則比較RA和RB的IP地址,RB的IP地址大。所以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.18,IANA給其分配的協議號為112。
VRRP通告報文的TTL值必須是255,如果VRRP路由器接受到TTL值不為255的VRRP通告報文,必須丟棄。
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 路由 器,承擔報文的轉發功能。