虛擬路由器冗餘協議

虛擬路由器冗餘協議

虛擬路由冗餘協議(Virtual Router Redundancy Protocol,簡稱VRRP)是由IETF提出的解決區域網中配置靜態網關出現單點失效現象的路由協議,1998年已推出正式的RFC2338協議標準。VRRP廣泛應用在邊緣網路中,它的設計目標是支持特定情況下IP數據流量失敗轉移不會引起混亂,允許主機使用單路由器,以及及時在實際第一跳路由器使用失敗的情形下仍能夠維護路由器間的連通性。

簡介


虛擬路由器冗餘協議
虛擬路由器冗餘協議
VRRP是一種選擇協議,它可以把一個虛擬路由器的責任動態分配到區域網上的VRRP路由器中的一台。控制虛擬路由器IP地址的VRRP路由器稱為主路由器,它負責轉發數據包到這些虛擬IP地址。一旦主路由器不可用,這種選擇過程就提供了動態的故障轉移機制,這就允許虛擬路由器的IP地址可以作為終端主機的默認第一跳路由器。是一種LAN接入設備備份協議。一個區域網路內的所有主機都設置預設網關,這樣主機發出的目的地址不在本網段的報文將被通過預設網關發往三層交換機,從而實現了主機和外部網路的通信。
VRRP是一種路由容錯協議,也可以叫做備份路由協議。一個區域網路內的所有主機都設置預設路由,當網內主機發出的目的地址不在本網段時,報文將被通過預設路由發往外部路由器,從而實現了主機與外部網路的通信。當預設路由器down掉(即埠關閉)之後,內部主機將無法與外部通信,如果路由器設置了VRRP時,那麼這時,虛擬路由將啟用備份路由器,從而實現全網通信。
在VRRP協議中,有兩組重要的概念:VRRP路由器和虛擬路由器,主控路由器和備份路由器。VRRP路由器是指運行VRRP的路由器,是物理實體;虛擬路由器是指VRRP協議創建的,是邏輯概念。一組VRRP路由器協同工作,共同構成一台虛擬路由器。該虛擬路由器對外表現為一個具有唯一固定的IP地址和MAC地址的邏輯路由器。處於同一個VRRP組中的路由器具有兩種互斥的角色:主控路由器和備份路由器,一個VRRP組中有且只有一台處於主控角色的路由器,可以有一個或者多個處於備份角色的路由器VRRP協議從路由器組中選出一台作為主控路由器,負責ARP解析和轉發IP數據包,組中的其他路由器作為備份的角色並處於待命狀態,當由於某種原因主控路由器發生故障時,其中的一台備份路由器能在瞬間的時延後升級為主控路由器,由於此切換非常迅速而且不用改變IP地址和MAC地址,故對終端使用者系統是透明的。

工作原理


虛擬路由器冗餘協議
虛擬路由器冗餘協議
VRRP的工作過程如下:
路由器開啟VRRP功能后,會根據優先順序確定自己在備份組中的角色。優先順序高的路由器成為主用路由器,優先順序低的成為備用路由器。主用路由器定期發送VRRP通告報文,通知備份組內的其他路由器自己工作正常;備用路由器則啟動定時器等待通告報文的到來。
VRRP在不同的主用搶佔方式下,主用角色的替換方式不同:
l在搶佔方式下,當主用路由器收到VRRP通告報文後,會將自己的優先順序與通告報文中的優先順序進行比較。如果大於通告報文中的優先順序,則成為主用路由器;否則將保持備用狀態。
l在非搶佔方式下,只要主用路由器沒有出現故障,備份組中的路由器始終保持主用或備用狀態,備份組中的路由器即使隨後被配置了更高的優先順序也不會成為主用路由器。
如果備用路由器的定時器超時后仍未收到主用路由器發送來的VRRP通告報文,則認為主用路由器已經無法正常工作,此時備用路由器會認為自己是主用路由器,並對外發送VRRP通告報文。備份組內的路由器根據優先順序選舉出主用路由器,承擔報文的轉發功能。
在實際組網中一般會進行VRRP負載分擔方式的設置。負載分擔方式是指多台路由器同時承擔業務,避免設備閑置,因此需要建立兩個或更多的備份組實現負載分擔。VRRP負載分擔方式具有以下特點:
每個備份組都包括一個主用路由器和若干個備用路由器。
各備份組的主用路由器可以不相同。
同一台路由器可以加入多個備份組,在不同備份組中有不同的優先順序,使得該路由器可以在一個備份組中作為主用路由器,在其他的備份組中作為備用路由器。
VRRP在提高可靠性的同時,簡化了主機的配置。在具有多播或廣播能力的區域網中,藉助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頭認證的方式提供了更高的安全性,能夠防止報文重放和修改等攻擊。

應用實例


VRRP協議的工作機理與CISCO公司的HSRP(Hot Standby Routing Protocol)有許多相似之處。但二者主要的區別是在CISCO的HSRP中,需要單獨配置一個IP地址作為虛擬路由器對外體現的地址,這個地址不能是組中任何一個成員的介面地址。
使用VRRP協議,不用改造網路結構,最大限度保護了投資,只需最少的管理費用,卻大大提升了網路性能,具有重大的應用價值。
最典型的VRRP應用:RTA、RTB組成一個VRRP路由器組,假設RTB的處理能力高於RTA,則將RTB配置成IP地址所有者,H1、H2、H3的默認網關設定為RTB。則RTB成為主控路由器,負責ICMP重定向、ARP應答和IP報文的轉發;一旦RTB失敗,RTA立即啟動切換,成為主控,從而保證了對客戶透明的安全切換。
在VRRP應用中,RTB在線時RTA只是作為後備,不參與轉發工作,閑置了路由器RTA和鏈路L1。通過合理的網路設計,可以達到備份和負載分擔雙重效果。讓RTA、RTB同時屬於互為備份的兩個VRRP組:在組1中RTA為IP地址所有者;組2中RTB為IP地址所有者。將H1的默認網關設定為RTA;H2、H3的默認網關設定為RTB。這樣,既分擔了設備負載和網路流量,又提高了網路可靠性。

配置方式


spanning-tree 開啟生成樹(默認為mstp)
spanning-tree mst configuration 進入mst配置模式
revision 1 指定MST revision number 為1
name region1 指定mst配置名稱
instance 0 vlan 1-9, 11-19, 21-4094 預設情況下vlan都屬於實例0
instance 1 vlan 10 手工指定vlan10屬於實例1
instance 2 vlan 20 手工指定vlan20屬於實例2
spanning-tree mst 1 priority 0 指定實例1的優先順序為0(為根橋)
spanning-tree mst 2 priority 4096 指定實例2的優先順序為4096
interface GigabitEthernet 0/1
switchport access vlan 10 配置g0/1屬於vlan10
interface GigabitEthernet 0/2
switchport access vlan 20 配置g0/2屬於vlan 20!interface GigabitEthernet 0/3!
interface GigabitEthernet 0/24 設置g0/24為trunk介面且允許vlan10/20通過
switchport mode trunk!interface VLAN 10 創建vlan 10 svi介面
ip address 192.168.10.1 255.255.255.0 配置ip地址
vrrp 1 priority 120 配置vrrp組1 優先順序為120
vrrp 1 ip 192.168.10.254 配置vrrp組 1虛擬ip地址為 192.168.10.254!
interface VLAN 20 創建vlan 20 svi介面
ip address 192.168.20.1 255.255.255.0 配置ip地址
vrrp 2 ip 192.168.20.254 配置vrrp組 2虛擬ip地址為 192.168.20.254
默認vrrp組的優先順序為100默認不顯示!
line con 0
line vty 0 4
login

驗證配置

s1#show vlan
VLAN Name Status Ports1 VLAN0001 STATIC Gi0/3, Gi0/4, Gi0/5, Gi0/6
Gi0/7, Gi0/8, Gi0/9, Gi0/10
Gi0/11, Gi0/12, Gi0/13, Gi0/14
Gi0/15, Gi0/16, Gi0/17, Gi0/18
Gi0/19, Gi0/20, Gi0/21, Gi0/22
Gi0/23, Gi0/24
10 VLAN0010 STATIC Gi0/1, Gi0/24
20 VLAN0020 STATIC Gi0/2, Gi0/24
接下來的同級設備照上面大體框架配置既可。

VRRP術語


1、Virtual Router
虛擬路由器,一個抽象對象,基於子網介面,包括一個虛擬路由器標識符(VRID)和一個或多個IP地址,這個(些)IP地址又稱為虛擬IP地址,虛擬IP地址作為主機的默認網關。
2、VRRP Router
VRRP路由器,即運行VRRP協議的路由器,一個VRRP路由器可以加入到一個或多個虛擬路由器中。
3、IP Address Owner
IP地址擁有者,虛擬路由器的虛擬IP地址與介面的真實IP地址相同的VRRP路由器。
4、Virtual Router Master
虛擬主路由器,負責轉發通過虛擬路由器的三層數據包,對虛擬路由器的IP地址的ARP請求進行回應。如果某個VRRP路由器是IP地址擁有者,則它總是虛擬主路由器。
5、Virtual Router Backup
虛擬備份路由器,不轉發三層數據包,不應答虛擬IP地址的ARP請求,當虛擬主路由器出現故障時接替虛擬主路由器的工作。

特點


1、IP地址備份,VRRP的主要功能。可以在網路中提供多個VirtuaI Router選舉的負載均衡以及在單一的網路中支持多重邏輯IP子網路。
2、最優路徑指示。從VRRP組內多個路由器的路由中,保證Master收斂到現成可用最優先的路由器。
3、最小化不必要的服務中斷。在主路由正常工作期間,不觸發其他低優先順序別路由器選擇主路由的服務。
4、廣泛的安全性。它可在多種不同的交互環境中採用不同的安全策略,它只需極少的配置和開銷就可以進行嚴格的驗證。
5、在可擴展網路有效的工作。

VRRP狀態機


協議對VRRP規定了3種狀態:INITIALIZE,MASTER和BACKUP。簡單地說,INITIALIZE即初始態,MASTER即主用狀態,也就是在VRRP備份組中真正起作用的路由器,BACKUP即備用狀態,是MASTER的備份。對於不同狀態的實現,有如下要求:
(1)INITIALIZE:
路由器啟動時,如果路由器的優先順序是255(最高優先順序,當且僅當配置的VRRP虛擬IP地址和介面IP相同,即所謂IP地址擁有者),要發送VRRP通告信息,併發送廣播ARP信息通告路由器IP地址對應的MAC地址為路由虛擬MAC,設置通告信息定時器準備定時發送VRRP通告信息,轉為MASTER狀態:否則進入BACKUP狀態,設置定時器檢查定時檢查是否收到MASTER的通告信息。
(2)MASTER
主機狀態下的路由器要完成如下功能:
設置定時通告定時器;
用VRRP虛擬MAC地址響應路由器IP地址的ARP請求;
轉發目的MAC是VRRP虛擬MAC的數據包;
如果是虛擬路由器IP的擁有者,將接受目的地址是虛擬路由器IP的數據包,否則丟棄;
當收到shutdown的事件時刪除定時通告定時器,發送優先值級為0的通告包,轉初始化狀態;
如果定時通告定時器超時時,發送VRRP通告信息;
收到VRRP通告信息時,如果優先值為0,發送VRRP通告信息:否則,判斷數據的優先順序是否高於本機,或相等而且實際IP地址大於本地實際IP,設置定時通告定時器,複位主機超時定時器,轉BACKUP狀態;否則的話,丟棄該通告包。
(3)BACKUP
備機狀態下的路由器要實現以下功能:
設置主機超時定時器;
不能響應針對虛擬路由器IP的ARP請求信息;
丟棄所有目的MAC地址是虛擬路由器MAC地址的數據包;
不接受目的是虛擬路由器IP的所有數據包;
當收到shutdown的事件時刪除主機超時定時器,轉初始化狀態;
主機超時定時器超時的時候,發送VRRP通告信息,廣播ARP地址信息,轉MASTER狀態;
收到VRRP通告信息時。如果優先值為0,表示進入與MASTER選舉,否則判斷數據的優先順序是否高於本機,如果高的話承認MASTER有效,複位主機超時定時器;否則的話,丟棄該通告包。

選舉機制


VRRP使用選舉機制來確定路由器的狀態(Master或Backup)。運行VRRP的一組路由器對外組成了一個虛擬路由器,其中一台路由器處於Master狀態,其他的處於Backup狀態。
運行VRRP的路由器都會發送和接收VRRP通告消息,在通告消息中包含了自身的VRRP優先順序信息。VRRP通過比較路由器的優先順序進行選舉,優先順序高的路由器將成為主路由器,其他路由器都為備份路由器。
虛擬路由器和VRRP路由器都有自己的lP地址(虛擬路由器的lP地址可以和VRRP備份組內的某個路由器的介面地址相同)。如果VRRP組中存在lP地址擁有者,即虛擬地址與某台VRRP路由器的地址相同時,IP地址擁有者將成為主路由器,並且擁有最高優先順序255。如果VRRP組中不存在IP地址擁有者。VRRP路由器將通過比較優先順序來確定主路由器。路由器可配置的優先順序範圍為1~254,默認情況下VRRP路由器的優先順序為100。當優先順序相同時,VRRP將通過比較IP地址來進行選舉,lP地址大的路由器將成為主路由器。

跟蹤配置


一般對網關的上聯介面監控,如果上聯介面故障,則自動讓出轉發權,配置vrrp需要監控的對象。對應的no命令取消對介面的監控。
vrrp group-number track {interface-name | track-id} [decrement]
no vrrp group-number track {interface-name | track-id}
描述 group-number 指定group-number號,取值範圍是1-255。
interface-name 指定監控的介面。
track-id 指定監控的track對象ID。
Decrement 指定優先順序降低幅度。預設10。
這裡還要在全局模式下配置track組
track track-ip intface intface-id line-protocol
注意:在啟動了vrrp后,才可以配置該命令。