虛擬路由器冗餘協議VRRP(交換機沒有這個功能)
與HSRP相同,VRRP也是一種默認網關冗餘方法,它讓一組路由器構成一臺虛擬路由器。HSRP是cisco私有的,只適用於cisco設備。VRRP是符合internet標準(RFC2338)。
在VRRP協議中,有兩組重要的概念:VRRP路由器和虛擬路由器,主控路由器和備份路由器。VRRP路由器是指運行VRRP的路由器,是物理實體,虛擬路由器是指VRRP協議創建的,是邏輯概念。一組VRRP路由器協同工作,共同構成一臺虛擬路由器。該虛擬路由器對外表現爲一個具有唯一固定IP地址和MAC地址的邏輯路由器。處於同一個VRRP組中的路由器具有兩種互斥的角色:主控路由器和備份路由器,一個VRRP組中有且只有一臺處於主控角色的路由器,可以有一個或者多個處於備份角色的路由器。VRRP協議使用選擇策略從路由器組中選出一臺作爲主控,負責ARP響應和轉發IP數據包,組中的其它路由器作爲備份的角色處於待命狀態。當由於某種原因主控路由器發生故障時,備份路由器能在幾秒鐘的時延後升級爲主路由器。由於此切換非常迅速而且不用改變IP地址和MAC地址,故對終端使用者系統是透明的。
如上圖,路由器A,路由器B,路由器C都是VRRP路由器組成了一臺虛擬路由器,這個虛擬路由器的IP地址爲路由器A的IP地址爲10.0.0.1,網絡中其它的主機的默認網關都爲虛擬路由器的IP地址。
由於虛擬路由器使用路由器A的物理以太網接口的IP地址,因此路由器A擔當了主虛擬路由器的角色,被稱爲IP地址擁有者(owner)。作爲主虛擬路由器,路由器A控制虛擬路由器的IP地址,並負責對發送到該IP地址的數據包進行轉發。路由器B和路由器C爲備用虛擬路由器。如果主虛擬路由器A發生故障,路由器B和路由器C作爲備用虛擬路由器優先級高的將替代爲主虛擬路由器。當路由器A恢復正常後,將再次成爲主虛擬路由器。
一個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選舉。
組成虛擬路由器的路由器會有三種狀態 分別是Initialize Master和Backup
1)Initialize
系統啓動後進入此狀態,當收到接口startup的消息,將轉入Backup (優先級不爲255時)或Master狀態(優先級爲255時)。在此狀態時,路由器不會對VRRP報文做任何處理。
2)Master
當路由器處於Master狀態時 它將會做下列工作
*定期發送VRRP組播報文
*發送免費(gratuitous)ARP報文,以使網絡內各主機知道虛擬IP地址所對應的虛擬MAC地址
*響應對虛擬IP地址的ARP請求,並且響應的是虛擬MAC地址,而不是接口的真實MAC地址
*轉發目的MAC地址爲虛擬MAC地址的IP報文
*如果它是這個虛擬IP地址的擁有者,則接收目的IP地址爲這個虛擬IP地址的IP報文,否則,丟棄這個IP報文。需要注意的是,由於有這一點要求,所以除非主路由器是IP地址擁有者,否則主機ping虛擬IP地址不能ping通。
在Master狀態中只有接收到比自己的優先級大的VRRP報文時,纔會轉爲Backup。只有當接收到接口的Shutdown事件時纔會轉爲Initialize
3)Backup
當路由器處於Backup狀態時 它將會做下列工作:
*接收Master發送的VRRP組播報文 從中瞭解Master的狀態
l*對虛擬IP地址的ARP請求 不做響應
*丟棄目的MAC地址爲虛擬MAC地址的IP報文
*丟棄目的IP地址爲虛擬IP地址的IP報文
只有當Backup接收到MASTER_DOWN這個定時器到時的事件時,纔會轉爲Master 而當接收到比自己的優先級小的VRRP報文時,它只是做丟棄這個報文的處理,從而就不對定時器做重置處理。 這樣定時器就會在若干次這樣的處理之後到時,於是就轉爲Master。只有當接收到接口的Shutdown事件時纔會轉爲Initialize
HSRP VRRP
通告類型: Hello、Coup、Resign3種 VRRP廣播報文通告
狀態: Init,listen,learn,speak,standby,active6種 Init,master,backup3種
虛擬IP地址: 不能爲接口的實際IP地址 可以使用路由器的接口地址
虛擬MAC地址: 0000.0007.acxx 0000.5e00.01xx
認證: 明文(12.3IOS支持md5) 明文,無認證,md5
報文承載: UDP 1985 224.0.0.1 TCP
路由器特徵: 一組中只能有一個活動路由器 一組中必須有一個主路由器
如下圖,有兩臺虛擬路由器。對於虛擬路由器1而言,路由器A爲其ip地址的擁有者,它是主虛擬路由器,而路由器b是備用虛擬路由器。在主機1和2上,默認網關爲10.0.0.1。虛擬路由器2的IP地址是路由器B的IP地址,路由器B是主虛擬路由器,主機3和主機4上,默認網關IP地址被配置爲10.0.0.2。
1) 進入全局模式 configure terminal
2) 進入接口模式 interface 接口
3) 配置vrrp組和虛擬路由器的IP地址(可選)
vrrp 組號 ip ip地址
4) 配置優先級
vrrp 組號 priority 優先級別
5) 配置搶佔
vrrp 組號 preempt
6) 配置vrrp通告時間
vrrp 組號 timer advertise [msec] 秒數
默認爲1秒
7) 配置認證
(1)MD5認證:
0:表示不以加密方式顯示密碼
7:表示以加密的方式顯示密碼(service password-encryption命令配置)
(2)MD5鑰匙串認證:
必須事先定義了key串
(3) 明文認證:
8) 跟蹤端口
(1) 定義跟蹤,全局模式: track 編號 interface 接口 [line-protocol | ip-routing]
(2) vrrp 組號 track 編號 decrement 優先級
decrement 優先級:減少的優先級
9) 驗證結果
show vrrp [brief]
show vrrp interface 接口
show track
routerA#config termi
routerA(config)#track 1 interface s0/0
routerA(config)#interface e0
routerA(config-if)#ip addr 10.10.10.1 255.255.255.0
routerA(config-if)#vrrp 1 priority 120
routerA(config-if)#vrrp 1 ip 10.10.10.1
routerA(config-if)#vrrp 1 timer advertise 3
routerA(config-if)#vrrp 1 preempt
routerA(config-if)#vrrp 1 authentication text cisco
routerA(config-if)#vrrp 1 track 1 decrement 100
routerA(config-if)#vrrp 2 ip 10.10.10.2
routerA(config-if)#vrrp 2 timer advertise 30
routerA(config-if)#vrrp 2 priority 100
routerA(config-if)#vrrp 2 preempt
----------------------------------------------------------------
routerB#config termi
routerB(config)#track 1 interface s0/0
routerB(config)#interface e0
routerB(config-if)#ip addr 10.10.10.2 255.255.255.0
routerB(config-if)#vrrp 1 priority 100
routerB(config-if)#vrrp 1 ip 10.10.10.1
routerB(config-if)#vrrp 1 timer advertise 3
routerB(config-if)#vrrp 1 preempt
routerB(config-if)#vrrp 1 authentication text cisco
routerB(config-if)#vrrp 2 track 1 decrement 150
routerB(config-if)#vrrp 2 ip 10.10.10.2
routerB(config-if)#vrrp 2 timer advertise 30
routerB(config-if)#vrrp 2 priority 200
routerB(config-if)#vrrp 2 preempt
--------------------------------------------------------------
routerA# show vrrp
Ethernet0 - Group 1
State is Master
Virtual IP address is 10.10.10.1
Virtual MAC address is 0000.5e00.0101
Advertisement interval is 3.000 sec
Preemption is enabled
min delay is 0.000 sec
Priority is 120
Authentication text, key-string “cisco”, timeout 30 secs
Master Router is 10.10.10.1 (local), priority is 120
Master Advertisement interval is 2.000 sec
Master Down interval is 3.609 sec
----------------------------------------------------------------
routerA#show track
Track 1
Interface Serial0/0 line-protocol
Line protocol is Down (hw down)
1 change, last change 00:06:53
Tracked by:
VRRP Ethernet0 1
案例:
CCIE-LAB(V142)
題目要求:
VLAN D上冗餘網關使用VRRP(Router Redundancy Protocol),優選R5,認證密碼爲明文cisco,沒有特別要求IP地址,可以採用R5的IP地址,也就是說R5爲主虛擬路由器
配置:
R5
config term
interface f0/1
ip address 1.1.65.5 255.255.255.0
vrrp 1 priority 101
vrrp 1 ip 1.1.65.5
vrrp 1 preempt
vrrp 1 authentication text cisco
R6
config term
interface f0/1
ip address 1.1.65.6 255.255.255.0
vrrp 1 priority 100
vrrp 1 ip 1.1.65.5
vrrp 1 preempt
vrrp 1 authentication text cisco