【摘要】 VRRP協議是FHRP首跳冗余協議的一種,該協議是由IETF于1998年提出的標準協議,并于2005年在RFC3768中更新,主要用于提供園區網中路由的冗余性,VRRP協議使用一種選擇機制,使多臺路由器形成一個虛擬路由器組,并且通過選舉機制選擇出一臺主用路由器來處理實際數據流的轉發,當主用路由器出現故障,虛擬路由器組中的備用路由器將自動接替數據轉發的工作,從而保證園區網運行的可靠性。
【關鍵詞】 VRRP協議 主用路由器 虛擬路由器 路由冗余
隨著互聯網技術的不斷發展,越來越多的應用部署從本地局域網遷移至互聯網及云平臺上,而終端用戶想要訪問這些互聯網資源則必須在自己的終端設備上設置默認網關出口,而在傳統的園區網絡環境中,一旦提供默認網關的三層設備出現故障,園區網內的終端將無法訪問外部,這對園區網絡的冗余性提出了新的要求。
為了解決這個問題,我們在設計園區網絡結構式時,普遍采用VRRP這一類的首跳冗余協議來保證網絡的高可用性。
一、VRRP協議原理
VRRP(Virtual Router Redundancy Protocol)是FHRP(First-Hop Redundancy Protocl)協議的一種,主要是為園區網終端設備提供冗余網關的一種協議,VRRP使多臺路由器組成一個虛擬備份組,對外形成一個邏輯上的虛擬路由器,并且通過選舉機制在虛擬備份組中選舉出一個主用路由器和多個備用路由器。
4臺真實的路由器R1、R2、R3、R4組成一個VRRP虛擬備份組,并形成一個虛擬路由器VR,虛擬路由器將使用一個虛擬的MAC地址對外進行ARP應答,4臺真實的路由器接口分別使用10.0.0.1、10.0.0.2、10.0.0.3、10.0.0.4的IP地址,虛擬路由器使用10.0.0.254的IP地址。
虛擬備份組內的4臺路由器,通過選舉機制來產生一個主用路由器(Master),剩余路由器則作為備用路由器。在虛擬備份組中的路由器都擁有一個VRRP優先級,在一個虛擬備份組中按優先級高低選舉出主用路由器及備用路由器,優先級取值0-255,優先級高的將被優先選擇成為主用路由器,如果兩個路由器的優先級相同,將會比較IP地址的大小,IP地址大的路由器將成為主用路由器。
被選為主用路由器的真實路由器將使用虛擬路由器的MAC地址00-00-5e-00-01-[VRID]來回應終端的ARP請求,并使用虛擬IP地址來完成數據包的轉發。
處于活躍狀態的主用路由器會以間隔1秒的默認頻率,使用協議號112向224.0.0.18的組播地址發送公告,虛擬備份組中的備份路由器接受該通告,確認主用路由器的狀態存活,并重置自己的主用失效間隔時間。
當主用路由器發生故障,備用路由器等待失效間隔時間內未收到來自主用路由器的公告,既認定主用路由器已經失效,備用路由器將會重新選舉產生一個新的主用路由器,并接替轉發工作。
二、VRRP協議在園區網中的路由冗余設計
在目前的園區網設計中,常使用扁平式的網絡層次化結構,既將整個網絡結構由下至上邏輯的分為“接入層”和“核心層”,接入層設備具備高密度的接入端口,提供園區內大量終端設備的網絡接入能力,核心層負責數據的高速轉發。
在這種設計結構中,核心層設備通常作為內部終端設備的三層網關,應具備高處理性能及高可用性的特點,并且為了提高網絡整體的可靠性,一般在核心層部署兩臺或兩臺以上的設備,以提供設備級別的冗余,并且在核心層設備之間運行冗余協議,當某臺設備出現故障時,其他設備可以快速發現故障并接替故障設備進行轉發工作。
PC1位于VLAN1中,使用VLAN1的IP地址10.0.0.101,并且設置默認網關為10.0.0.254,Switch1與Switch2為兩臺三層交換機,兩臺三層交換機之間形成一個VRRP備份組,并且Switch1的VLAN1 IP地址為10.0.0.1,Switch2的VLAN1 IP地址為10.0.0.2,其中Switch1的VLAN1優先級設置為105,Switch2的VLAN1優先級使用默認值100,由于Switch1的優先級高于Switch2的優先級,Switch1將被選舉作為VLAN1的虛擬路由器,并且將會使用虛擬路由器的IP地址10.0.0.254作為VLAN1內終端設備的網關,為VLAN1內的終端設備轉發數據流量,而Switch2則作為備用路由器。
在Switch1存活期間默認將會每個1秒向組播224.0.0.18發送公告,備用路由器接受該公告并重置其主用失效間隔時間,當Switch1發生故障,Switch2在主用失效間隔時間內沒有收到公告,Switch2將會進行重新選舉,由于VRRP組內沒有其他路由器,Switch2將會成為新的主用路由器接替Switch1,并繼續使用虛擬路由器的IP地址10.0.0.254來為VLAN1內終端設備轉發流量,由于VLAN1內終端設備上設置的默認網關為10.0.0.254,因此在故障倒置結束后,VLAN1內的終端設備將會繼續正常的訪問外部資源。
由于VRRP采用了虛擬路由器這種機制,無論虛擬備份組中的任意一臺設備成為了主用路由器,都將使用相同的虛擬IP地址及MAC來為VLAN內數據進行轉發,因此整個故障倒置過程對于終端用戶是透明的、毫無感知的,這樣就很好的保證了網絡的高可用性及連續性。
在使用VRRP協議對園區網絡實現冗余功能設計時,需要同時注意如下幾點:
1、通過優先級的設置將VRRP主用路由器與STP的根橋設置為同一臺設備,以免產生次優路徑。
2、根據網絡的實際情況及需求適當調整VRRP主用路由器的公告間隔以加快故障發現及故障倒置時間,但不應將間隔調整的過小,以免因網絡延遲抖動而造成VRRP主用路由器頻繁切換。
3、可以根據實際需要配置主用路由器搶占功能,配置搶占功能的路由器在從故障恢復后可以重新成為主用路由器轉發數據流,以免備用路由器承載過大的數據流而造成網絡質量下降。
三、VRRP協議的負載均衡機制
在VRRP協議的一個虛擬備份組中,主用路由器負責實際轉發數據,而備用路由器則作為主用路由器失效時的冗余備份不轉發實際數據流,這在一定程度上造成了設備資源的浪費。
為此,在園區網絡的設計規劃時可以為不同的VLAN分配不通的VRID,并將不同VLAN的主用路由器分配給虛擬備份組中的不同路由器,這樣一來,來自不同VLAN的數據流量將送往虛擬備份組中不同的路由器進行轉發,從而實現VRRP的靜態負載均衡機制。
PC1位于VLAN1中,使用VLAN1的IP地址10.0.0.101,并配置默認網關10.0.0.254,PC2位于VLAN2中,使用VLAN2的IP地址172.16.0.101,并配置默認網關172.16.0.254,兩臺三層交換機之間使用VRRP,其中Switch1的VLAN1 IP地址為10.0.0.1,并且設置VLAN1的優先級為105,VLAN2的IP地址為172.16.0.1,優先級使用默認的100,在Switch2上的設置則與Switch1相反,Switch2上VLAN1的IP地址為10.0.0.2,優先級使用默認100,VLAN2的IP地址為172.16.0.2,優先級設置為105,通過這樣的設計,在VRRP完成選舉后,Switch1將會成為VLAN1的三層默認網關,負責轉發VLAN1內的數據流量,同時Switch2將會成為VLAN2的三層默認網關,為VLAN2內的終端設備轉發流量,當任意一臺三層交換機發生故障時,另外一臺三層交換機將會成為他所在VLAN的主用路由器,同時轉發VLAN1和VLAN2的數據流量,這樣就使VRRP在實現冗余的同時也具備了靜態的負載均衡功能,從而提升了網絡的可靠性及轉發性能。
四、結語
在網絡需求日益增長的今天,如何保證網絡的高可用性是每一個網絡設計者及實施人員必須考慮的問題,而VRRP協議則可以很好的實現網絡冗余性這一需求,廣大網絡設計者在規劃園區網絡時,可以使用VRRP協議來保證園區網絡的可靠性。
參 考 文 獻
[1] 王東 VRRP協議實現園區網絡的路由冗余和負載均衡 重慶科技學院學報(自然科學版) 2010.10
[2] Robert Hinden ITEF RFC3768 2004.4
[3] 王柱. 使用VRRP實現局域網的網絡備份和流量分擔[J]. 網絡與信息. 2007(03)
[4] 任唯賢,胡毅,陳常嘉. VRRP協議在保證網絡高可靠性中的應用分析和改進[J]. 中國新通信. 2006(21)
[5] 葉海智,劉宗堯. VRRP協議在提高校園網絡可靠性中的應用[J]. 職業時空. 2007(03)