一、協議概述
在基於TCP/IP協議的網絡中,為了保證不直接物理連接的設備之間的通信,必須指定路由。目前常用的指定路由的方法有兩種:一種是通過路由協議(比如:內部路由協議RIP和OSPF)動態學習;另一種是靜態配置。在每一個終端都運行動態路由協議是不現實的,大多客戶端操作系統平台都不支持動態路由協議,即使支持也受到管理開銷、收斂度、安全性等許多問題的限制。因此普遍采用對終端IP設備靜態路由配置,一般是給終端設備指定一個或者多個默認網關(Default Gateway)。靜態路由的方法簡化了網絡管理的復雜度和減輕了終端設備的通信開銷,但是它仍然有一個缺點:如果作為默認網關的路由器損壞,所有使用該網關為下一跳主機的通信必然要中斷。即便配置了多個默認網關,如不重新啟動終端設備,也不能切換到新的網關。采用虛擬路由冗余協議 (Virtual Router Redundancy Protocol,簡稱VRRP)可以很好的避免靜態指定網關的缺陷。
在VRRP協議中,有兩組重要的概念:VRRP路由器和虛擬路由器,主控路由器和備份路由器。VRRP路由器是指運行VRRP的路由器,是物理實體,虛擬路由器是指VRRP協議創建的,是邏輯概念。一組VRRP路由器協同工作,共同構成一台虛擬路由器。該虛擬路由器對外表現為一個具有唯一固定IP地址和MAC地址的邏輯路由器。處於同一個VRRP組中的路由器具有兩種互斥的角色:主控路由器和備份路由器,一個VRRP組中有且只有一台處於主控角色的路由器,可以有一個或者多個處於備份角色的路由器。VRRP協議使用選擇策略從路由器組中選出一台作為主控,負責ARP相應和轉發IP數據包,組中的其它路由器作為備份的角色處於待命狀態。當由於某種原因主控路由器發生故障時,備份路由器能在幾秒鐘的時延後升級為主路由器。由於此切換非常迅速而且不用改變IP地址和MAC地址,故對終端使用者系統是透明的。
二、工作原理
一個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頭認證的方式提供了更高的安全性,能夠防止報文重放和修改等攻擊。
三、 應用實例
最典型的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協議,不用改造目前的網絡結構,最大限度保護了當前投資,只需最少的管理費用,卻大大提升了網絡性能,具有重大的應用價值。