VRRP虛擬閘道器冗餘協議
1. VRRP
1.1 簡介
一旦網路閘道器或關鍵節點出現故障,將對業務造成災難性故障,鏈路失效無法檢測,業務穩定性受到威脅。
VRRP(Virtual Router Redundancy Protocol,虛擬路由器冗餘協議)將可以承擔閘道器功能的一組路由器加入到備份組中,形成一臺虛擬路由器,由VRRP的選舉機制決定哪臺路由器承擔轉發任務,區域網內的主機只需將虛擬路由器配置為預設閘道器。主路由器出現故障,備路由器可以取代Master續履行閘道器職責,從而保證網路內的主機不間斷地與外部網路進行通訊。
1.2 VRRP角色
-
Master
- VRRP組中實際轉發資料包的路由器,在一個VRRP組中,僅有Master響應對虛擬IP地址的ARP請求
-
Backup
- 在VRRP組中處於監聽狀態,一旦Master出現故障,Backup就開始接替工作
1.3 VRRP優先順序
-
優先順序取值範圍0到255(數值越大表明優先順序越高)
-
優先順序0為系統保留給特殊用途來使用,255則是系統保留給IP地址擁有者
-
當路由器為IP地址擁有者時,其優先順序始終為255。因此,當備份組記憶體在IP地址擁有者時,只要其工作正常,則為Master路由器。
1.4 VRRP工作方式
-
非搶佔方式
此模式下,Master角色一旦確定,不會因為再給Backup配置更高的優先順序而被搶佔
-
搶佔方式
一旦發現自己的優先順序比當前的Master路由器的優先順序高,就會對外發送VRRP通告報文。備份組內路由器重新選舉Master路由器,並最終取代原有的Master路由器。相應地,原來的Master路由器將會變成Backup路由器
1.5 VRRP認證
-
simple
簡單字元認證。傳送VRRP報文的路由器將認證字填入到VRRP報文中,而收到VRRP報文的路由器會將收到的VRRP報文中的認證字和本地配置的認證字進行比較。如果認證字相同,則認為接收到的報文是真實、合法的VRRP報文;否則認為接收到的報文是一個非法報文。
-
md5
MD5認證。傳送VRRP報文的路由器利用認證字和MD5演算法對VRRP報文進行摘要運算,運算結果儲存在Authentication Header(認證頭)中。收到VRRP報文的路由器會利用認證字和MD5演算法進行同樣的運算,並將運算結果與認證頭的內容進行比較。如果相同,則認為接收到的報文是真實、合法的VRRP報文;否則認為接收到的報文是一個非法報文。
在一個安全的網路中,使用者也可以不設定認證方式
1.6 VRRP定時器
VRRP定時器分為兩種:VRRP通告報文間隔時間定時器和VRRP搶佔延遲時間定時器。
-
VRRP通過報文時間間隔定時器
Master路由器會定時傳送VRRP通告報文,通知備份組內的路由器自己工作正常,預設為1s
如果Backup路由器在等待了3個間隔時間後,依然沒有收到VRRP通告報文,則認為自己是Master路由器,並對外發送VRRP通告報文,重新進行Master路由器的選舉
-
VRRP搶佔延遲時間定時器
為了避免備份組內的成員頻繁進行主備狀態轉換,讓Backup路由器有足夠的時間蒐集必要的資訊(如路由資訊),Backup路由器接收到優先順序低於本地優先順序的通告報文後,不會立即搶佔成為Master,而是等待一定時間(搶佔延遲時間)後,才會對外發送VRRP通告報文取代原來的Master路由器
1.7 VRRP工作過程
-
路由器使能VRRP功能後,會根據優先順序確定自己在備份組中的角色。優先順序高的路由器成為Master路由器,優先順序低的成為Backup路由器。
Master路由器定期傳送VRRP通告報文,通知備份組內的其他路由器自己工作正常;Backup路由器則啟動定時器等待通告報文的到來。
Master會使用虛擬MAC傳送ARP報文,使與Master連線的主機或者客戶端建立與虛擬MAC對應的ARP對映表。
-
在搶佔方式下,當Backup路由器收到VRRP通告報文後,會將自己的優先順序與通告報文中的優先順序進行比較。如果大於通告報文中的優先順序,則成為Master路由器;否則將保持Backup狀態。
-
在非搶佔方式下,只要Master路由器沒有出現故障,備份組中的路由器始終保持Master或Backup狀態,Backup路由器即使隨後被配置了更高的優先順序也不會成為Master路由器。
-
如果Backup路由器的定時器超時後仍未收到Master路由器傳送來的VRRP通告報文,則認為Master路由器已經無法正常工作,此時Backup路由器會認為自己是Master路由器,並對外發送VRRP通告報文。備份組內的路由器根據優先順序選舉出Master路由器,承擔報文的轉發功能。
1.8 VRRP三個狀態
狀態 | 描述 |
---|---|
初始狀態(Initialize) | 路由器剛剛啟動時進入此狀態,通過VRRP報文交換資料後進入其他狀態 |
活動狀態(Master) | VRRP組中路由器通過VRRP報文交換後確定的當前轉發資料包的一種狀態 |
備份狀態(Backup) | VRRP組中路由器通過VRRP報文交換後確定的當前處於監聽的一種狀態 |
-
初始狀態(Initialize)
在這個狀態下VRRP是不可用的,在這個狀態下的裝置是不會處理VRRP報文的,通常是剛配置VRRP時和檢測到故障是會是這個狀態
-
活動狀態(Master)
- 定期傳送VRRP報文。
- 以虛擬MAC地址響應對虛擬IP地址的ARP請求。
- 轉發目的MAC地址為虛擬MAC地址的IP報文。
- 如果它是這個虛擬IP地址的擁有者,則接收目的IP地址為這個虛擬IP地址的IP報文。否則,丟棄這個IP報文。
- 如果收到比自己優先順序大的報文則轉為Backup狀態。
- 如果收到優先順序和自己相同的報文,並且傳送端的IP地址比自己的IP地址大,則轉為Backup狀態。
- 當接收到介面的Shutdown事件時,轉為Initialize。
-
備份狀態(Backup)
- 接收Master傳送的VRRP報文,判斷Master的狀態是否正常。
- 對虛擬IP地址的ARP請求,不做響應。
- 丟棄目的MAC地址為虛擬MAC地址的IP報文。
- 丟棄目的IP地址為虛擬IP地址的IP報文。
- Backup狀態下如果收到比自己優先順序小的報文時,丟棄報文,立即切換為Master(僅在搶佔模式下生效)。
- 如果收到優先順序和自己相同或者比自己高的報文,則重置定時器,不進一步比較IP地址。
- 當接收到介面的Shutdown事件時,轉為Initialize。
- 如果MASTER_DOWN_INTERVAL定時器超時,則切換為Master。
1.9 VRRP兩種模式
-
主備備份模式
此模式下,正常只有Master轉發資料
-
負載分擔模式
通過建立多個擁有不同虛擬IP的備份組,為不同的VLAN指定閘道器實現負載分擔
在實際組網中單獨使用VRRP往往無法保證在網路主鏈路發生故障時及時有效的將使用者資料流切換到備份鏈路上,因此往往需要配合使用NQA、BFD等技術。
2. NQA
NQA(Network Quality Analyzer,網路質量分析),通過傳送探測報文,對鏈路狀態、網路效能、網路提供的服務及服務質量進行分析。NQA還提供了與Track和應用模組聯動的功能,實時監控網路狀態的變化。
nqa test-instance admin vrrp # 配置管理員為admin,測試例項名稱為vrrp的測試組
test-type icmp # 配置測試型別為ICMP
destination-address ipv4 X.X.X.X # 配置監測目的地址
frequency 5 # 測試頻率5s
probe-count 2 # 一次NQA測試中探測的次數為2
start now # 馬上生效
介面下配置
vrrp vrid 10 track nqa admin vrrp reduced 100 # VRRP中track關聯對應nqa