VRRP技術白皮書

VRRP技術白皮書

關鍵詞:VRRP、虛擬路由器

    要:本文介紹了VRRP的基本原理和典型應用,以及H3C公司VRRP特性解決方案的特點和組網情況。

縮略語:

縮略語

英文全名

中文解釋

VRRP

Virtual Router Redundancy Protocol

虛擬路由器冗餘協議

NQA

Network Quality Analyzer

網絡質量分析

BFD

Bidirectional Forwarding Detection

雙向轉發檢測

IRDP

ICMP Router Discovery Protocol

ICMP路由發現協議

VRID

Virtual Router ID

虛擬路由器號

 



概述

1.1  產生背景

隨著Internet的發展,人們對網絡可靠性的要求越來越高。特別是對於終端用戶來說,能夠實時與網絡其他部分保持聯係是非常重要的。一般來說,主機通過設置默認網關來與外部網絡聯係,如1所示:

圖1 常用局域網組網方案

主機將發送給外部網絡的報文發送給網關,由網關傳遞給外部網絡,從而實現主機與外部網絡的通信。正常的情況下,主機可以完全信賴網關的工作,但是當網關壞掉時,主機與外部的通信就會中斷。要解決網絡中斷的問題,可以依靠再添加網關的方式解決,不過由於大多數主機隻允許配置一個默認網關,此時需要網絡管理員進行手工幹預網絡配置,才能使得主機使用新的網關進行通信;有時,人們運用動態路由協議的方法來解決網絡出現故障這一問題,如運行RIPOSPF,或者使用IRDP。然而,這些協議由於配置過於複雜,或者安全性能不好等原因都不能滿足用戶的需求。

為了更好地解決網絡中斷的問題,網絡開發者提出了VRRP,它既不需要改變組網情況,也不需要在主機上做任何配置,隻需要在相關路由器上配置極少的幾條命令,就能實現下一跳網關的備份,並且不會給主機帶來任何負擔。和其他方法比較起來,VRRP更加能夠滿足用戶的需求。

1.2  技術優點

VRRP是一種容錯協議,它保證當主機的下一跳路由器出現故障時,由另一台路由器來代替出現故障的路由器進行工作,從而保持網絡通信的連續性和可靠性。

VRRP具有如下優點:

l              簡化網絡管理。在具有多播或廣播能力的局域網(如以太網)中,借助VRRP能在某台設備出現故障時仍然提供高可靠的缺省鏈路,有效避免單一鏈路發生故障後網絡中斷的問題,而無需修改動態路由協議、路由發現協議等配置信息,也無需修改主機的默認網關配置。

l              適應性強。VRRP報文封裝在IP報文中,支持各種上層協議。

l              網絡開銷小。VRRP隻定義了一種報文——VRRP通告報文,並且隻有處於Master狀態的路由器可以發送VRRP報文。

VRRP協議介紹

2.1  相關術語

l              虛擬路由器:由一個Master路由器和多個Backup路由器組成。主機將虛擬路由器當作默認網關。

l              VRID:虛擬路由器的標識。有相同VRID的一組路由器構成一個虛擬路由器。

l              Master路由器:虛擬路由器中承擔報文轉發任務的路由器。

l              Backup路由器:Master路由器出現故障時,能夠代替Master路由器工作的路由器。

l              虛擬IP地址:虛擬路由器的IP地址。一個虛擬路由器可以擁有一個或多個IP地址。

l              IP地址擁有者:接口IP地址與虛擬IP地址相同的路由器被稱為IP地址擁有者。

l              虛擬MAC地址:一個虛擬路由器擁有一個虛擬MAC地址。虛擬MAC地址的格式為00-00-5E-00-01-{VRID}。通常情況下,虛擬路由器回應ARP請求使用的是虛擬MAC地址,隻有虛擬路由器做特殊配置的時候,才回應接口的真實MAC地址。

l              優先級:VRRP根據優先級來確定虛擬路由器中每台路由器的地位。

l              非搶占方式:如果Backup路由器工作在非搶占方式下,則隻要Master路由器沒有出現故障,Backup路由器即使隨後被配置了更高的優先級也不會成為Master路由器。

l              搶占方式:如果Backup路由器工作在搶占方式下,當它收到VRRP報文後,會將自己的優先級與通告報文中的優先級進行比較。如果自己的優先級比當前的Master路由器的優先級高,就會主動搶占成為Master路由器;否則,將保持Backup狀態。

2.2  虛擬路由器簡介

VRRP將局域網內的一組路由器劃分在一起,形成一個VRRP備份組,它在功能上相當於一台虛擬路由器,使用虛擬路由器號進行標識。以下使用虛擬路由器代替VRRP備份組進行描述。

虛擬路由器有自己的虛擬IP地址和虛擬MAC地址,它的外在表現形式和實際的物理路由器完全一樣。局域網內的主機將虛擬路由器的IP地址設置為默認網關,通過虛擬路由器與外部網絡進行通信。

虛擬路由器是工作在實際的物理路由器之上的。它由多個實際的路由器組成,包括一個Master路由器和多個Backup路由器。Master路由器正常工作時,局域網內的主機通過Master與外界通信。當Master路由器出現故障時,Backup路由器中的一台設備將成為新的Master路由器,接替轉發報文的工作,如2所示。

圖2 虛擬路由器示意圖

2.3  VRRP工作過程

VRRP的工作過程為:

(1)        虛擬路由器中的路由器根據優先級選舉出MasterMaster路由器通過發送免費ARP報文,將自己的虛擬MAC地址通知給與它連接的設備或者主機,從而承擔報文轉發任務;

(2)        Master路由器周期性發送VRRP報文,以公布其配置信息(優先級等)和工作狀況;

(3)        如果Master路由器出現故障,虛擬路由器中的Backup路由器將根據優先級重新選舉新的Master

(4)        虛擬路由器狀態切換時,Master路由器由一台設備切換為另外一台設備,新的Master路由器隻是簡單地發送一個攜帶虛擬路由器的MAC地址和虛擬IP地址信息的免費ARP報文,這樣就可以更新與它連接的主機或設備中的ARP相關信息。網絡中的主機感知不到Master路由器已經切換為另外一台設備。

(5)        Backup路由器的優先級高於Master路由器時,由Backup路由器的工作方式(搶占方式和非搶占方式)決定是否重新選舉Master

由此可見,為了保證Master路由器和Backup路由器能夠協調工作,VRRP需要實現以下功能:

l              Master路由器的選舉;

l              Master路由器狀態的通告;

l              同時,為了提高安全性,VRRP還提供了認證功能;

下麵將從上述三個方麵詳細介紹VRRP的工作過程。

2.3.1  Master路由器的選舉

VRRP根據優先級來確定虛擬路由器中每台路由器的角色(Master路由器或Backup路由器)。優先級越高,則越有可能成為Master路由器。

初始創建的路由器工作在Backup狀態,通過VRRP報文的交互獲知虛擬路由器中其他成員的優先級:

l              如果VRRP報文中Master路由器的優先級高於自己的優先級,則路由器保持在Backup狀態;

l              如果VRRP報文中Master路由器的優先級低於自己的優先級,采用搶占工作方式的路由器將搶占成為Master狀態,周期性地發送VRRP報文,采用非搶占工作方式的路由器仍保持Backup狀態;

l              如果在一定時間內沒有收到VRRP報文,則路由器切換為Master狀態。

VRRP優先級的取值範圍為0255(數值越大表明優先級越高),可配置的範圍是1254,優先級0為係統保留給路由器放棄Master位置時候使用,255則是係統保留給IP地址擁有者使用。當路由器為IP地址擁有者時,其優先級始終為255。因此,當虛擬路由器內存在IP地址擁有者時,隻要其工作正常,則為Master路由器。

2.3.2  Master路由器狀態的通告

Master路由器周期性地發送VRRP報文,在虛擬路由器中公布其配置信息(優先級等)和工作狀況。Backup路由器通過接收到VRRP報文的情況來判斷Master路由器是否工作正常。

Master路由器主動放棄Master地位(如Master路由器退出虛擬路由器)時,會發送優先級為0VRRP報文,致使Backup路由器快速切換變成Master路由器。這個切換的時間稱為Skew time,計算方式為:(256Backup路由器的優先級)/256,單位為秒。

Master路由器發生網絡故障而不能發送VRRP報文的時候,Backup路由器並不能立即知道其工作狀況。Backup路由器等待一段時間之後,如果還沒有接收到VRRP報文,那麼會認為Master路由器無法正常工作,而把自己升級為Master路由器,周期性發送VRRP報文。如果此時多個Backup路由器競爭Master路由器的位置,將通過優先級來選舉Master路由器。Backup路由器默認等待的時間稱為Master_Down_Interval,取值為:(3×VRRP報文的發送時間間隔)+Skew time,單位為秒。

在性能不夠穩定的網絡中,Backup路由器可能因為網絡堵塞而在Master_Down_Interval期間沒有收到Master路由器的報文,而主動搶占為Master位置,如果此時原Master路由器的報文又到達了,就會出現虛擬路由器的成員頻繁的進行Master搶占現象。為了緩解這種現象的發生,特製定了延遲等待定時器。它可以使得Backup路由器在等待了Master_Down_Interval後,再等待延遲等待時間。如在此期間仍然沒有收到VRRP報文,則此Backup路由器才會切換為Master路由器,對外發送VRRP報文。

2.3.3  認證方式

VRRP提供了三種認證方式:

l              無認證:不進行任何VRRP報文的合法性認證,不提供安全性保障。

l              簡單字符認證:在一個有可能受到安全威脅的網絡中,可以將認證方式設置為簡單字符認證。發送VRRP報文的路由器將認證字填入到VRRP報文中,而收到VRRP報文的路由器會將收到的VRRP報文中的認證字和本地配置的認證字進行比較。如果認證字相同,則認為接收到的報文是合法的VRRP報文;否則認為接收到的報文是一個非法報文。

l              MD5認證:在一個非常不安全的網絡中,可以將認證方式設置為MD5認證。發送VRRP報文的路由器利用認證字和MD5算法對VRRP報文進行加密,加密後的報文保存在Authentication Header(認證頭)中。收到VRRP報文的路由器會利用認證字解密報文,檢查該報文的合法性。

Comware實現的技術特色

3.1  監視上行鏈路

VRRP網絡傳輸功能有時需要額外的技術來完善其工作。例如,Master路由器到達某網絡的鏈路突然斷掉時,主機無法通過此Master路由器遠程訪問該網絡。此時,可以通過監視指定接口上行鏈路功能,解決這個問題。當Master路由器發現上行鏈路出現故障後,主動降低自己的優先級(使Master路由器的優先級低於Backup路由器),並立即發送VRRP報文。Backup路由器接收到優先級比自己低的VRRP報文後,等待Skew_Time切換為新的Master路由器。從而,使得能夠到達此網絡的Backup路由器充當VRRP新的Master路由器,協助主機完成網絡通訊。

VRRP可以直接監視連接上行鏈路的接口狀態。當連接上行鏈路的接口down時,將Master路由器降低指定的優先級。VRRP優先級最低可以降低到1

VRRP可以利用NQA技術監視上行鏈路連接的遠端主機或者網絡狀況。例如,Master設備上啟動NQAICMP-echo探測功能,探測遠端主機的可達性。當ICMP-echo探測失敗時,它可以通知本設備探測結果,達到降低VRRP優先級的目的。

VRRP也可以利用BFD技術監視上行鏈路連接的遠端主機或者網絡狀況。由於BFD的精度可以到達10ms,通過BFD能夠快速檢測到鏈路狀態的變化,達到快速搶占的目的。例如,可以在Master路由器上使用BFD技術監視上行設備的物理狀態,在上行設備壞掉之後,快速檢測到該變化,並降低Master路由器的優先級,致使Backup路由器等待Skew time後,搶占成為新的Master路由器。

3.2  Backup監視Master工作狀態

Backup路由器在Master路由器壞掉之後,正常情況下需要等待Master_Down_Interval才能切換為新的Master的位置,這段時間內主機將無法正常通信,因為此時沒有Master設備替它轉發報文。為了解決這個網絡故障,Backup設備提供了一個監聽Master工作狀態的功能,使得Master路由器壞掉之後Backup能夠立即切換成為新的Master路由器,維持網絡通訊。

Backup路由器監視Master路由器采用的是具有快速檢測功能的BFD技術。在Backup設備上使用該技術監視Master路由器的狀態,一旦Master路由器發生故障,Backup就可以自動切換成為新的Master路由器,將切換時間縮短到毫秒級。

典型組網案例

4.1  主備備份

主備備份方式表示業務僅由Master路由器承擔。當Master路由器出現故障時,才會由選舉出來的Backup路由器接替它工作。如3中所示。

圖3 主備備份VRRP

初始情況下,Device AMaster路由器並承擔轉發任務,Device BDevice CBackup路由器且都處於就緒監聽狀態。如果Device A發生故障,則虛擬路由器內處於Backup狀態的Device BDevice C路由器將根據優先級選出一個新的Master路由器,這個新Master路由器繼續為網絡內的主機轉發數據。

4.2  負載分擔

在路由器的一個接口上可以創建多個虛擬路由器,使得該路由器可以在一個虛擬路由器中作為Master路由器,同時在其他的虛擬路由器中作為Backup路由器。

負載分擔方式是指多台路由器同時承擔業務,因此負載分擔方式需要兩個或者兩個以上的虛擬路由器,每個虛擬路由器都包括一個Master路由器和若幹個Backup路由器,各虛擬路由器的Master路由器可以各不相同,如4中所示。

圖4 負載分擔VRRP

4中,有三個虛擬路由器存在:

l              虛擬路由器1Device A作為Master路由器,Device BDevice C作為Backup路由器。

l              虛擬路由器2Device B作為Master路由器,Device ADevice C作為Backup路由器。

l              虛擬路由器3Device C作為Master路由器,Device ADevice B作為Backup路由器。

為了實現業務流量在Device ADevice BDevice C之間進行負載分擔,需要將局域網內的主機的默認網關分別設置為虛擬路由器123。在配置優先級時,需要確保三個虛擬路由器中各路由器的VRRP優先級形成一定的交叉,使得一台路由器盡可能不同時充當2Master路由器。

4.3  Master使用BFD/NQA監視上行鏈路

VRRP可以通過BFDNQA等快速檢測協議監視一些上行敏感鏈路,使得Master路由器快速地發現網絡故障,降低自身的優先級,從而保證上行鏈路工作正常的Backup路由器能夠接替它的工作。

 

圖5 Master監視上行鏈路

5所示,初始情況下,Device A作為Master路由器,承擔轉發任務;Device BBackup路由器,處於就緒監聽狀態。Device A使用BFD監視上行到達Internet的鏈路狀態。如果Device A的上行鏈路發生故障,Device A可以在毫秒級感知到網絡變化,立即發送低優先級的VRRP報文給Device B。如果此時Device B的優先級高於報文中的優先級,那麼它將在Skew Time時間之後切換為新的Master路由器,之後由這個新的Master路由器為網絡內的主機轉發數據。

4.4  Backup使用BFD監視Master狀態

為了保證網絡傳輸的穩定性,可以在Backup設備上使用BFD技術監視Master的狀態,使得Master設備發生故障時,Backup設備能夠立即切換為新的Master設備。

 

圖6 Backup監視Master狀態

6中所示,初始情況下,Device A作為Master路由器,承擔轉發任務;Device BBackup路由器,處於就緒監聽狀態。Device B使用BFD監視Device AIP地址10.1.1.1的可達性。如果Device A發生故障,Device B可以立即通過BFD感知到對端的變化,主動切換成為新的Master設備,之後這個新Master路由器將為網絡內的主機轉發數據。

附錄

5.1  參考文獻

l              RFC 3768Virtual Router Redundancy Protocol (VRRP)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright ©2008 杭州華三通信技術有限公司 版權所有,保留一切權利。

非經本公司書麵許可,任何單位和個人不得擅自摘抄、複製本文檔內容的部分或全部,並不得以任何形式傳播。

本文檔中的信息可能變動,恕不另行通知。

附件下載

聯係我們