(VRRP:Virtual Router Redundancy Protocol)
虛擬路由器冗餘協定(VRRP)是一種選擇協定,它可以把一個虛擬路由器的責任動態分配到區域網路上的 VRRP 路由器中的一台。控制虛擬路由器 IP 地址的 VRRP 路由器稱為主路由器,它負責轉發數據包到這些虛擬 IP 地址。一旦主路由器不可用,這種選擇過程就提供了動態的故障轉移機制,這就允許虛擬路由器的 IP 地址可以作為終端主機的默認第一跳路由器。使用 VRRP 的好處是有更高的默認路徑的可用性而無需在每個終端主機上配置動態路由或路由發現協定。 VRRP 包封裝在 IP 包中傳送。
使用 VRRP ,可以通過手動或 DHCP 設定一個虛擬 IP 地址作為默認路由器。虛擬 IP 地址在路由器間共享,其中一個指定為主路由器而其它的則為備份路由器。如果主路由器不可用,這個虛擬 IP 地址就會映射到一個備份路由器的 IP 地址(這個備份路由器就成為了主路由器)。 VRRP 也可用於負載均衡。 VRRP 是 IPv4 和 IPv6 的一部分。
VRRP(Virtual Router Redundancy Protocol,虛擬路由冗餘協定)是一種容錯協定。通常,一個網路內的所有主機都設定一條預設路由(如圖3-1所示,10.100.10.1),這樣,主機發出的目的地址不在本網段的報文將被通過預設路由發往路由器RouterA,從而實現了主機與外部網路的通信。當路由器RouterA 壞掉時,本網段內所有以RouterA 為預設路由下一跳的主機將斷掉與外部的通信。VRRP 就是為解決上述問題而提出的,它為具有多播或廣播能力的區域網路(如:乙太網)設計。我們結合下圖來看一下VRRP 的實現原理。VRRP 將區域網路的一組路由器(包括一個Master 即活動路由器和若干個Backup 即備份路由器)組織成一個虛擬路由器,稱之為一個備份組。
這個虛擬的路由器擁有自己的IP 地址10.100.10.1(這個IP 地址可以和備份組內的某個路由器的接口地址相同),備份組內的路由器也有自己的IP 地址(如Master的IP 地址為10.100.10.2,Backup 的IP 地址為10.100.10.3)。區域網路內的主機僅僅知道這個虛擬路由器的IP 地址10.100.10.1,而並不知道具體的Master 路由器的IP 地址10.100.10.2 以及Backup 路由器的IP 地址10.100.10.3,它們將自己的預設路由下一跳地址設定為該虛擬路由器的IP 地址10.100.10.1。於是,網路內的主機就通過這個虛擬的路由器來與其它網路進行通信。如果備份組內的Master 路由器壞掉,Backup 路由器將會通過選舉策略選出一個新的Master 路由器,繼續向網路內的主機提供路由服務。從而實現網路內的主機不間斷地與外部網路進行通信。關於VRRP 協定的詳細信息,可以參考RFC 2338。
一、 套用實例
最典型的VRRP套用:RTA、RTB組成一個VRRP路由器組,假設RTB的處理能力高於RTA,則將RTB配置成IP位址所有者,H1、H2、H3的默認網關設定為RTB。則RTB成為主控路由器,負責ICMP重定向、ARP應答和IP報文的轉發;一旦RTB失敗,RTA立即啟動切換,成為主控,從而保證了對客戶透明的安全切換。
在VRRP套用中,RTA線上時RTB只是作為後備,不參與轉發工作,閒置了路由器RTA和鏈路L1。通過合理的網路設計,可以到達備份和負載分擔雙重效果。讓RTA、RTB同時屬於互為備份的兩個VRRP組:在組1中RTA為IP位址所有者;組2中RTB為IP位址所有者。將H1的默認網關設定為RTA;H2、H3的默認網關設定為RTB。這樣,既分擔了設備負載和網路流量,又提高了網路可靠性。
VRRP協定的工作機理與CISCO公司的HSRP(Hot Standby Routing Protocol)有許多相似之處。但二者主要的區別是在CISCO的HSRP中,需要單獨配置一個IP位址作為虛擬路由器對外體現的地址,這個地址不能是組中任何一個成員的接口地址。
使用VRRP協定,不用改造目前的網路結構,最大限度保護了當前投資,只需最少的管理費用,卻大大提升了網路性能,具有重大的套用價值。
二、工作原理
一個VRRP路由器有唯一的標識:VRID,範圍為0—255。該路由器對外表現為唯一的虛擬MAC地址,地址的格式為00-00-5E-00-01-[VRID]。主控路由器負責對ARP請求用該MAC地址做應答。這樣,無論如何切換,保證給終端設備的是唯一一致的IP和MAC地址,減少了切換對終端設備的影響。
VRRP控制報文只有一種:VRRP通告(advertisement)。它使用IP多播數據包進行封裝,組地址為224.0.0.18,發布範圍只限於同一區域網路內。這保證了VRID在不同網路中可以重複使用。為了減少網路頻寬消耗只有主控路由器才可以周期性的傳送VRRP通告報文。備份路由器在連續三個通告間隔內收不到VRRP或收到優先權為0的通告後啟動新的一輪VRRP選舉。
在VRRP路由器組中,按優先權選舉主控路由器,VRRP協定中優先權範圍是0—255。若VRRP路由器的IP位址和虛擬路由器的接口IP位址相同,則稱該虛擬路由器作VRRP組中的IP位址所有者;IP位址所有者自動具有最高優先權:255。優先權0一般用在IP位址所有者主動放棄主控者角色時使用。可配置的優先權範圍為1—254。優先權的配置原則可以依據鏈路的速度和成本、路由器性能和可靠性以及其它管理策略設定。主控路由器的選舉中,高優先權的虛擬路由器獲勝,因此,如果在VRRP組中有IP位址所有者,則它總是作為主控路由的角色出現。對於相同優先權的候選路由器,按照IP位址大小順序選舉。VRRP還提供了優先權搶占策略,如果配置了該策略,高優先權的備份路由器便會剝奪當前低優先權的主控路由器而成為新的主控路由器。
為了保證VRRP協定的安全性,提供了兩種安全認證措施:明文認證和IP頭認證。明文認證方式要求:在加入一個VRRP路由器組時,必須同時提供相同的VRID和明文密碼。適合於避免在區域網路內的配置錯誤,但不能防止通過網路監聽方式獲得密碼。IP頭認證的方式提供了更高的安全性,能夠防止報文重放和修改等攻擊。