1. 程式人生 > 其它 >VRRP虛擬路由冗餘協議

VRRP虛擬路由冗餘協議

定義

虛擬路由冗餘協議VRRP(Virtual Router Redundancy Protocol)通過把幾臺路由裝置聯合組成一臺虛擬的路由裝置,

將虛擬路由裝置的IP地址作為使用者的預設閘道器實現與外部網路通訊。當閘道器裝置發生故障時,VRRP機制能夠選舉新的閘道器裝置承擔資料流量,從而保障網路的可靠通訊。

作用

當一個網段中,同時存在多個閘道器的時候,我們想提高閘道器裝置之間的冗餘性以及裝置的利用率,所以我們在多個閘道器之間執行VRRP協議。

從而形成一個虛擬閘道器

閘道器角色

*真實閘道器

&主閘道器,專門用來轉發終端傳送的資料的

&備份閘道器 ,專門用來監控主閘道器的狀態,一旦主閘道器掛掉,就直接升級為主閘道器

*虛擬閘道器

&是通過 VRRP 協議, 在多個真實閘道器之間,虛擬出來的;

但是這個閘道器IP地址,是專門配置在“終端電腦”上的;

原理

1. 每個wanggaun裝置執行VRRP 之後,會發送第一個 VRRP 報文,宣城自己是主閘道器;

2.每個閘道器裝置互相收到對方的VRRP報文之後,就會進行VRRP 報文引數的比較,從而選舉出1個主閘道器

*首先比較 VRRP 的優先順序,越大越好:預設是100

*其次比較 真實閘道器的IP地址,越大越好。

結果:

每個網段中,主閘道器只有一個,備份閘道器可以有很多

3。一旦確認了主閘道器之後,主閘道器會週期性的傳送 VRRP 報文,用於維護自己的“主閘道器”的身份:

週期時間是 1S

4.如果備份閘道器在連續的3S之後,沒有收到主閘道器的報文,則認為主閘道器故障,從而自己升級為“主閘道器”

5.經過緊急的搶修,故障的主閘道器再次正常工作,那麼“備份閘道器”會再次退位

注意:

# VRRP報文是直接封裝在IP頭部後面的,協議號是112

#VRRP報文的傳送方式是:組播,組播地址是:224.0.0.18

VRRP的配置

-在閘道器裝置的介面上配置,主閘道器和備份閘道器,只有1個引數不相同:優先順序。其他都相同。

示例:

驗證:display vrrp brief --->檢視VRRP路由器的vrrp介面和狀態

在R1上檢視到R1為master主閘道器,虛擬IP地址是:192.168.1.254

在R2上檢視到R2為backuo備份閘道器,虛擬IP地址是:192.168.1.254

注意:

配置VRRP的時候,常見錯誤:出現多個master。

常見原因:

1.兩邊的閘道器IP地址無法ping通

2.兩邊的 vrid 不一樣

3.兩邊的Virtual-IP 不相同

4.兩邊的VRRP 認證不成功

VRRP認證配置

R1:

interface g/0/0

vrrp vrid 9 authentication-mode md5 ABC.123 ---->配置vrrp 需要認證,認證密碼:ABC.123

R2如果想要加入vrrp組中就必須也配置這個認證才可以。

VRRP鏈路跟蹤

VRRP可以解決內網訪問網際網路時閘道器的可靠性。

但是,當閘道器連線運營商之間的線路其中一條線路出現故障時,主閘道器依然承載著流量的轉發,不會交給備份閘道器處理。

那麼,內部主機就無法上網了。

這個時候,我們使用 VRRP 鏈路跟蹤:

配置命令:

R1:

int g0/0/0

vrrp vrid 9 track interface g0/0/1 reduced 110 ----->在0/0/0介面上跟蹤0/0/1介面,如果0/0/1介面故障,則優先順序在原來的基礎上降低110,而不是降低到110.

但是,在VRRP中主備切換的時候,主閘道器最少1秒傳送vrrp包,而主網關出現故障時,備份閘道器就最少3s之後沒有收到主閘道器傳送的VRRP包才開始切換。

這個時間還是很長的,那麼如何讓切換時間更短?

解決辦法:使用BFD功能

vrrp與BFD聯動實現快速切換

配置命令:

R1:

bfd

bfd AAA bind peer-ip 192.168.1.252

discriminator local 1

discriminator remote 2

R2:

bfd

bfd ABC bind peer-ip 192.168.1.251

discriminator local 2

discriminator remote 1

commit

做完之後可以使用命令檢視bfd狀態:

命令: display bfd session all

而這些預設配置完成後主閘道器變成了2s傳送一個VRRP包,我們可以調整一下引數:

R1:

bfd AAA

min-tx-interval 10 ---->修改最小發送VRRP包時間間隔為10毫秒,還有一個引數min-rx-interval為最小接收時間。

commit