虛擬路由器冗餘協議【原理篇】VRRP詳解

原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://zhaoyuqiang.blog.51cto.com/6328846/1166840

本文出自 “趙玉強的博客” 博客,請務必保留此出處http://zhaoyuqiang.blog.51cto.com/6328846/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

4. VRRP路由器: 所有運行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路由器在運行過程中有三種狀態:

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地址大的作爲主路由器。

如下圖所示: 虛擬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組來實現的。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章