VRRP
VRRP 簡介
- 虛擬路由冗余協議 VRRP(Virtual Router Redundancy Protocol)通過把幾臺路由設備聯合組成一臺虛擬的路由設備,將虛擬路由設備的 IP 地址作為用戶的默認網關實現與外部網絡通信。當網關設備發生故障時,VRRP 機制能夠選舉新的網關設備承擔數據流量,從而保障網絡的可靠通信。
- 隨著網絡的快速普及和相關應用的日益深入,各種增值業務(如 IPTV、視頻會議等)已經開始廣泛部署,基礎網絡的可靠性日益成為用戶關注的焦點,能夠保證網絡傳輸不中斷對于終端用戶非常重要。
- 通常,同一網段內的所有主機上都設置一條相同的、以網關為下一跳的缺省路由。主機發往其他網段的報文將通過缺省路由發往網關,再由網關進行轉發,從而實現主機與外部網絡的通信。
- 當網關發生故障時,本網段內所有以網關為缺省路由的主機將無法與外部網絡通信。增加出口網關是提高系統可靠性的常見方法,此時如何在多個出口之間進行選路就成為需要解決的問題。
- VRRP 的出現很好的解決了這個問題。VRRP 能夠在不改變組網的情況下,采用將多臺路由設備組成一個虛擬路由器,通過配置虛擬路由器的 IP 地址為默認網關,實現默認網關的備份。當網關設備發生故障時,VRRP 機制能夠選舉新的網關設備承擔數據流量,從而保障網絡的可靠通信。
- 在具有多播或廣播能力的局域網(如以太網)中,借助 VRRP 能在網關設備出現故障時仍然提供高可靠的缺省鏈路,無需修改主機及網關設備的配置信息便可有效避免單一鏈路發生故障后的網絡中斷問題。
原理
alt
- 如上圖 1 所示,HostA 通過 Switch 雙歸屬到 SwitchA 和 SwitchB。在 SwitchA 和 SwitchB 上配置 VRRP 備份組,對外體現為一臺虛擬路由器,實現鏈路冗余備份。
- 我們可以在如上圖 1 所示的網絡中部署 VRRP 協議,下面結合該圖介紹 VRRP 協議的基本概念:
- VRRP 路由器(VRRP Router):
運行 VRRP 協議的設備,它可能屬于一個或多個虛擬路由器,如 SwitchA 和 SwitchB。 - 虛擬路由器(Virtual Router):
又稱 VRRP 備份組,由一個 Master 設備和多個 Backup 設備組成,被當作一個共享局域網內主機的缺省網關。如 SwitchA 和 SwitchB 共同組成了一個虛擬路由器。 - Master 路由器(Virtual Router Master):
承擔轉發報文任務的 VRRP 設備,如 SwitchA。 - Backup 路由器(Virtual Router Backup):
一組沒有承擔轉發任務的 VRRP 設備,當 Master 設備出現故障時,它們將通過競選成為新的 Master 設備,如 SwitchB。 - VRID:
虛擬路由器的標識。如 SwitchA 和 SwitchB 組成的虛擬路由器的 VRID 為 1。 - 虛擬 IP 地址 (Virtual IP Address):
虛擬路由器的 IP 地址,一個虛擬路由器可以有一個或多個 IP 地址,由用戶配置。如 SwitchA 和 SwitchB 組成的虛擬路由器的虛擬 IP 地址為 10.1.1.10/24。 - IP 地址擁有者(IP Address Owner):
如果一個 VRRP 設備將虛擬路由器 IP 地址作為真實的接口地址,則該設備被稱為 IP 地址擁有者。如果 IP 地址擁有者是可用的,通常它將成為 Master。
如 SwitchA,其接口的 IP 地址與虛擬路由器的 IP 地址相同,均為 10.1.1.10/24,因此它是這個 VRRP 備份組的 IP 地址擁有者。 - 虛擬 MAC 地址(Virtual MAC Address):
虛擬路由器根據虛擬路由器 ID 生成的 MAC 地址。一個虛擬路由器擁有一個虛擬 MAC 地址,格式為:00-00-5E-00-01-{VRID}(VRRP for IPv4);00-00-5E-00-02-{VRID}(VRRP for IPv6)。
當虛擬路由器回應 ARP 請求時,使用虛擬 MAC 地址,而不是接口的真實 MAC 地址。如 SwitchA 和 SwitchB 組成的虛擬路由器的 VRID 為 1,因此這個 VRRP 備份組的 MAC 地址為 00-00-5E-00-01-01。
- VRRP 路由器(VRRP Router):
- VRRP 狀態機
- VRRP 協議中定義了三種狀態機:初始狀態(Initialize)、活動狀態(Master)、備份狀態(Backup)。其中,只有處于 Master 狀態的設備才可以轉發那些發送到虛擬 IP 地址的報文。
- Initialize:
- 該狀態為 VRRP 不可用狀態,在此狀態時設備不會對 VRRP 報文做任何處理。
- 通常剛配置 VRRP 時或設備檢測到故障時會進入 Initialize 狀態。
- 收到接口 Up 的消息后,如果設備的優先級為 255,則直接成為 Master 設備;如果設備的優先級小于 255,則會先切換至 Backup 狀態。
- Master:
- 定時(Advertisement Interval)發送 VRRP 通告報文。
- 以虛擬 MAC 地址響應對虛擬 IP 地址的 ARP 請求。
- 轉發目的 MAC 地址為虛擬 MAC 地址的 IP 報文。
- 如果它是這個虛擬 IP 地址的擁有者,則接收目的 IP 地址為這個虛擬 IP 地址的 IP 報文。否則,丟棄這個 IP 報文。
- 如果收到比自己優先級大的報文,立即成為 Backup。
- 如果收到與自己優先級相等的 VRRP 報文且本地接口 IP 地址小于對端接口 IP,立即成為 Backup。
- Backup:
- 接收 Master 設備發送的 VRRP 通告報文,判斷 Master 設備的狀態是否正常。
- 對虛擬 IP 地址的 ARP 請求,不做響應。
- 丟棄目的 IP 地址為虛擬 IP 地址的 IP 報文。
- 如果收到優先級和自己相同或者比自己大的報文,則重置 Master_Down_Interval 定時器,不進一步比較 IP 地址。
- VRRP 工作過程
- VRRP 的工作過程如下:
- VRRP 備份組中的設備根據優先級選舉出 Master。Master 設備通過發送免費 ARP 報文,將虛擬 MAC 地址通知給與它連接的設備或者主機,從而承擔報文轉發任務。
- Master 設備周期性向備份組內所有 Backup 設備發送 VRRP 通告報文,以公布其配置信息(優先級等)和工作狀況。
- 如果 Master 設備出現故障,VRRP 備份組中的 Backup 設備將根據優先級重新選舉新的 Master。
- VRRP 備份組狀態切換時,Master 設備由一臺設備切換為另外一臺設備,新的 Master 設備會立即發送攜帶虛擬路由器的虛擬 MAC 地址和虛擬 IP 地址信息的免費 ARP 報文,刷新與它連接的主機或設備中的 MAC 表項,從而把用戶流量引到新的 Master 設備上來,整個過程對用戶完全透明。
- 原 Master 設備故障恢復時,若該設備為 IP 地址擁有者(優先級為 255),將直接切換至 Master 狀態。若該設備優先級小于 255,將首先切換至 Backup 狀態,且其優先級恢復為故障前配置的優先級。
- Backup 設備的優先級高于 Master 設備時,由 Backup 設備的工作方式(搶占方式和非搶占方式)決定是否重新選舉 Master。
- 搶占模式:
- 在搶占模式下,如果 Backup 設備的優先級比當前 Master 設備的優先級高,則主動將自己切換成 Master。
- 非搶占模式:
- 在非搶占模式下,只要 Master 設備沒有出現故障,Backup 設備即使隨后被配置了更高的優先級也不會成為 Master 設備。
- 由此可見,為了保證 Master 設備和 Backup 設備能夠協調工作,VRRP 需要實現以下功能:
- Master 設備的選舉;
- Master 設備狀態的通告。
- 下面將從上述兩個方面詳細介紹 VRRP 的工作過程。
- http://www.023wg.com/kkxpz/79.html
功能
主備備份
alt
- 主備備份是 VRRP 提供備份功能的基本方式。
- 如上圖所示。該方式需要建立一個虛擬路由器,該虛擬路由器包括一個 Master 設備和若干 Backup 設備。
- 正常情況下,SwitchA 為 Master 設備并承擔業務轉發任務,SwitchB 和 SwitchC 為 Backup 設備且不承擔業務轉發。
- SwitchA 定期發送 VRRP 通告報文通知 SwitchB 和 SwitchC 自己工作正常。如果 SwitchA 發生故障,SwitchB 和 SwitchC 會根據優先級選舉新的 Master 設備,繼續為主機轉發數據,實現網關備份的功能。
- SwitchA 故障恢復后,在搶占方式下,將重新選舉成為 Master;在非搶占方式下,將保持在 Backup 狀態。
- 下面以上圖為例簡要說明 VRRP 主備備份的基本原理。
- SwitchA 為 Master 設備,優先級設置為 120,搶占方式為延遲搶占。
- SwitchB 為 Backup 設備,優先級為默認值 100,搶占方式為立即搶占。
- SwitchC 為 Backup 設備,優先級設置為 110,搶占方式為立即搶占。
- 正常情況下,用戶側的上行流量路徑為:Switch->SwitchA->Router。此時,SwitchA 定期發送 VRRP 報文通知 SwitchB 和 SwitchC 自己工作正常。
- 當 SwitchA 發生故障時,SwitchA 上的 VRRP 會處于不可用狀態。由于 SwitchC 優先級高于 SwitchB,因此 SwitchC 變為 Master 設備,并開始發送 VRRP 報文和免費 ARP 報文,SwitchB 繼續保持為 Backup 設備。用戶側的上行流量路徑為:Switch->SwitchC->Router。
- 當 SwitchA 故障恢復時,VRRP 的優先級為 120,狀態變為 Backup。此時 SwitchC 繼續定期發送 VRRP 報文,當 SwitchA 收到 VRRP 報文后,會比較優先級,發現自己的優先級更高,等待搶占延遲后搶占為 Master 設備,并開始發送 VRRP 報文和免費 ARP 報文。用戶側的上行流量路徑恢復為:Switch->SwitchA->Router。
VRRP 負載分擔
- 負載分擔方式是指多臺設備同時承擔業務,因此負載分擔方式需要兩個或者兩個以上的虛擬路由器,每個虛擬路由器都包括一個 Master 路由器和若干個 Backup 路由器,各虛擬路由器的 Master 路由器可以各不相同。
- VRRP 負載分擔與 VRRP 主備備份的基本原理和報文協商過程都是相同的。VRRP 負載分擔與 VRRP 主備備份方式不同點在于:
- 負載分擔方式需要建立多個 VRRP 備份組,各備份組的 Master 設備可以不同;
- 同一臺 VRRP 設備可以加入多個備份組,在不同的備份組中具有不同的優先級。
- 在網關設備上配置 VRRP 主備備份功能,可以很方便的實現網關的冗余備份。為減輕主用設備上數據流量的承載壓力,用戶可以通過配置 VRRP 負載分擔實現上行流量的負載均衡。
- 通過創建多個帶虛擬 IP 地址的 VRRP 備份組,為不同的用戶指定不同的 VRRP 備份組作為網關,實現負載分擔。
alt
- 如上圖所示,配置兩個 VRRP 備份組。
- VRRP 備份組 1:SwitchA 為 Master 設備,SwitchB 為 Backup 設備。
- VRRP 備份組 2:SwitchB 為 Master 設備,SwitchA 為 Backup 設備。
- 一部分用戶將 VRRP 備份組 1 作為網關,另一部分用戶將 VRRP 備份組 2 作為網關。這樣即可實現對業務流量的負載分擔,同時,也起到了相互備份的作用。
配置實例
- 在交換機上部署 VRRP 功能時需注意:
- 不同備份組之間的虛擬 IP 地址不能重復,并且必須和接口的 IP 地址在同一網段。
- 保證同一備份組的設備上配置相同的 virtual-router-id。
- 不同 VLANIF 接口上可以綁定相同 virtual-router-id 的 VRRP 備份組,但不同以太網接口上不可以綁定相同 virtual-router-id 的 VRRP 備份組。
- 在設備上同時配置 VRRP 和靜態 ARP 時,需要注意:當在 VLANIF 接口、以太網接口下配置 VRRP 時,不能將與這些接口相關的靜態 ARP 表項對應的映射 IP 地址作為 VRRP 的虛擬地址。否則會生成錯誤的主機路由,影響設備之間的正常轉發。
- 不能將 VRRP 的虛擬 MAC 地址配置為靜態 MAC 地址或者黑洞 MAC 地址。
- 如果 VRRP 備份組內各交換機上配置的 VRRP 協議版本不同,可能導致 VRRP 報文不能互通。
- 創建 VRRP 備份組:
-
在 vrrp 接口視圖(即 vrrp 設備的下行接口,可以是物理接口、邏輯接口或子接口)下設置
[Huawei-GigabitEthernet0/0/1]vrrp vrid 1 virtual-ip 10.1.1.1
vrid:為 vrrp 備份組號
virtual-ip:指所創建的 vrrp 備份組的虛擬 IP 地址,該虛擬 IP 地址必須和對應接口的真實 IP 地址在同一段;還可以為同一個備份組設置多個虛擬 IP(也必須與接口在同一網段,最多 16 個),不同的虛擬 IP 地址為不同的用戶服務。
實現多網關負載分擔,需要重復執行上述 “主備備份” 的操作步驟,在接口上配置兩個或多個 VRRP 備份組,各備份組之間以備份組號(virtual-router-id)區分。
-
- 設置設備在備份組中的優先級
優先級越高,越會成為 master 設備。默認優先級是 100.
優先級 0 為系統保留,優先級 255 保留給系統 IP 地址擁有者,即配置了路由器某個接口 IP 地址為虛擬路由器 IP 地址的設備,IP 地址擁有者的優先級不需要配置,也不可配置,直接為 255.
如果優先級相同的情況下,vrrp 接口 IP 地址較大的接口所在設備為 master 設備。
-
具體配置:
[Huawei-GigabitEthernet0/0/1]vrrp vrid 2 priority 120
缺省情況下,優先級值為100。