[轉]VRRP協議詳解

原文地址: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.1、產生背景

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

圖1 常用局域網組網方案

圖1 常用局域網組網方案

主機將發送給外部網絡的報文發送給網關,由網關傳遞給外部網絡,從而實現主機與外部網絡的通信。正常的情況下,主機可以完全信賴網關的工作,但是當網關壞掉時,主機與外部的通信就會中斷。

要解決網絡中斷的問題,可以依靠再添加網關的方式解決,不過由於大多數主機只允許配置一個默認網關,此時需要網絡管理員進行手工干預網絡配置,才能使得主機使用新的網關進行通信;
有時,人們運用動態路由協議的方法來解決網絡出現故障這一問題,如運行RIP、OSPF等,或者使用IRDP。然而,這些協議由於配置過於複雜,或者安全性能不好等原因都不能滿足用戶的需求。

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

1.2、技術優點

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

VRRP具有如下優點:

  • 簡化網絡管理。在具有多播或廣播能力的局域網(如以太網)中,藉助VRRP能在某臺設備出現故障時仍然提供高可靠的缺省鏈路,有效避免單一鏈路發生故障後網絡中斷的問題,而無需修改動態路由協議、路由發現協議等配置信息,也無需修改主機的默認網關配置。
  • 適應性強。VRRP報文封裝在IP報文中,支持各種上層協議。
  • 網絡開銷小。VRRP只定義了一種報文——VRRP通告報文,並且只有處於Master狀態的路由器可以發送VRRP報文。

2、VRRP協議介紹

2.1、相關術語

  • 虛擬路由器:由一個Master路由器和多個Backup路由器組成。主機將虛擬路由器當作默認網關。
  • VRID:虛擬路由器的標識。有相同VRID的一組路由器構成一個虛擬路由器。
  • Master路由器:虛擬路由器中承擔報文轉發任務的路由器。
  • Backup路由器:Master路由器出現故障時,能夠代替Master路由器工作的路由器。
  • 虛擬IP地址:虛擬路由器的IP地址。一個虛擬路由器可以擁有一個或多個IP地址。
  • IP地址擁有者:接口IP地址與虛擬IP地址相同的路由器被稱爲IP地址擁有者。
  • 虛擬MAC地址:一個虛擬路由器擁有一個虛擬MAC地址。虛擬MAC地址的格式爲00-00-5E-00-01-{VRID}。通常情況下,虛擬路由器迴應ARP請求使用的是虛擬MAC地址,只有虛擬路由器做特殊配置的時候,纔回應接口的真實MAC地址。
  • 優先級:VRRP根據優先級來確定虛擬路由器中每臺路由器的地位。
  • 非搶佔方式:如果Backup路由器工作在非搶佔方式下,則只要Master路由器沒有出現故障,Backup路由器即使隨後被配置了更高的優先級也不會成爲Master路由器。
  • 搶佔方式:如果Backup路由器工作在搶佔方式下,當它收到VRRP報文後,會將自己的優先級與通告報文中的優先級進行比較。如果自己的優先級比當前的Master路由器的優先級高,就會主動搶佔成爲Master路由器;否則,將保持Backup狀態。

2.2、虛擬路由器簡介

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

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

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

圖2 虛擬路由器示意圖

圖2 虛擬路由器示意圖

2.3、VRRP工作過程

VRRP的工作過程爲:

  • (1) 虛擬路由器中的路由器根據優先級選舉出Master。Master路由器通過發送免費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需要實現以下功能:

  • Master路由器的選舉;
  • Master路由器狀態的通告;
  • 同時,爲了提高安全性,VRRP還提供了認證功能;

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

2.3.1、Master路由器的選舉

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

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

  • 如果VRRP報文中Master路由器的優先級高於自己的優先級,則路由器保持在Backup狀態;
  • 如果VRRP報文中Master路由器的優先級低於自己的優先級,採用搶佔工作方式的路由器將搶佔成爲Master狀態,週期性地發送VRRP報文,採用非搶佔工作方式的路由器仍保持Backup狀態;
  • 如果在一定時間內沒有收到VRRP報文,則路由器切換爲Master狀態。

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

2.3.2、Master路由器狀態的通告

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

Master路由器主動放棄Master地位(如Master路由器退出虛擬路由器)時,會發送優先級爲0的VRRP報文,致使Backup路由器快速切換變成Master路由器。這個切換的時間稱爲Skew time,計算方式爲:(256-Backup路由器的優先級)/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提供了三種認證方式:

  • 無認證:不進行任何VRRP報文的合法性認證,不提供安全性保障。
  • 簡單字符認證:在一個有可能受到安全威脅的網絡中,可以將認證方式設置爲簡單字符認證。發送VRRP報文的路由器將認證字填入到VRRP報文中,而收到VRRP報文的路由器會將收到的VRRP報文中的認證字和本地配置的認證字進行比較。如果認證字相同,則認爲接收到的報文是合法的VRRP報文;否則認爲接收到的報文是一個非法報文。
  • MD5認證:在一個非常不安全的網絡中,可以將認證方式設置爲MD5認證。發送VRRP報文的路由器利用認證字和MD5算法對VRRP報文進行加密,加密後的報文保存在AuthenticationHeader(認證頭)中。收到VRRP報文的路由器會利用認證字解密報文,檢查該報文的合法性。

3、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設備上啓動NQA的ICMP-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、典型組網案例

4.1、主備備份

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

圖3 主備備份VRRP

圖3 主備備份VRRP

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

4.2、負載分擔

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

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

圖4 負載分擔VRRP

圖4 負載分擔VRRP

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

  • 虛擬路由器1:Device A作爲Master路由器,Device B和Device C作爲Backup路由器。
  • 虛擬路由器2:Device B作爲Master路由器,Device A和Device C作爲Backup路由器。
    _ 虛擬路由器3:Device C作爲Master路由器,Device A和Device B作爲Backup路由器。

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

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

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

圖5 Master監視上行鏈路

圖5 Master監視上行鏈路

如圖5所示,初始情況下,Device A作爲Master路由器,承擔轉發任務;Device B爲Backup路由器,處於就緒監聽狀態。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 Backup監視Master狀態

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章