熱備份路由選擇協議(HSRP)

熱備份路由選擇協議(HSRP)

n HSRP概述

HSRP(Hot Standby Routing Protocol,熱備份路由選擇協議)是Cisco私有的一種技術,它確保了當網絡邊緣設備或接入鏈路出現故障時,用戶通信能迅速並透明的恢復,以此爲IP網絡提供冗餘性。通過應用HSRP,可使網絡的正常運行時間接近100%,從而滿足用戶對網絡可靠性的要求

熱備份路由協議爲IP網絡提供了容錯和增強的路由選擇功能。通過使用同一個虛擬IP地址和虛擬MAC地址,LAN網段上的兩臺或多臺路由器可以作爲一臺虛擬路由器對外提供服務。HSRP使組內的Cisco路由器能互相監視對方的運行狀態。

? 虛擬路由器組的成員通過HSRP消息不斷的交換狀態信息。

? 如果其中一臺出現故障,另一臺就能接替它,繼續完成路由功能。

LAN網段上的主機都配置使用同一個細膩路由器作爲默認網關,並不斷將IP包發往同一個IP和MAC地址。因此,路由設備的切換對主機都是透明的。HSRP向主機提供了默認網關的冗餘性,絕大多數主機以默認網關作爲唯一的下一跳IP和MAC地址。另外,通過多個熱備份組,路由器可以提供冗餘備份,並在不同的IP子網上實現負載均衡。

n HSRP組成員

HSRP備份組由一臺活躍路由器、一臺備份路由器、一臺虛擬路由器和其他路由器組成(在三層交換機配置HSRP時也使用HSRP定義的備份路由器等名稱)。其中,各路由器的作用如下:

? 活躍路由器的功能是轉發發送到虛擬路由器的數據包。組中的另一臺路由器被選爲備份路由器。活躍路由器通過發送Hello消息來承擔和保持它活躍的角色。

? 備份路由器的功能是監視HSRP組的運行狀態,並且當活躍路由器不能運行時,迅速承擔起轉發數據包的責任。備份路由器也傳輸Hello消息,告知組中所有路由器備份路由器的角色和狀態變化。

? 虛擬路由器(即該LAN上的網關)的功能是向最終用戶提供一臺可以連續工作的路由器。虛擬路由器配有它自己的IP地址和MAC地址,但並不實際轉發數據包。

? HSRP備份組可以包含其他路由器。這些路由器監視Hello消息,但不做應答。這些路由器轉發任何經由它們的數據包,但並不轉發經由虛擬路由器的數據包。

當活躍路由器失效時,其他HSRP路由器將不能接收到Hello消息,隨後備份路由器就承擔起活躍路由器的角色。

隨着備份路由器成爲活躍路由器,備份路由器的位置空缺,組中的所有其他路由器將競爭備份路由器的角色。默認情況(優先級相同)下,IP地址大的路由器將成爲新的備份路由器。儘管一個HSRP組中可以有多臺路由器,但只有活躍路由器才負責轉發發送到虛擬路由器的數據包。

n HSRP原理

HSRP組內的每個路由器都有指定的優先級(Priority),用於衡量路由器在活躍路由器選擇中的優先程度。默認的優先級是100,它是用戶配置中的可選項,可以是0-255內的任何值。組中有最高優先級的路由器將成爲活躍路由器。

活躍路由器替虛擬路由器對數據流進行到響應。如果末端主機發送了一個數據包到虛擬路由器的MAC地址,那麼,活躍路由器將接收並且處理這個數據包。如果末端主機對虛擬路由器的IP地址發送ARP解析請求,那麼,活躍路由器將使用虛擬器的MAC地址進行應答。

選擇活躍路由器和備份路由器時,如果優先級相同,IP地址大的路由器獲勝。如果在HSRP組內,除了活躍和備份路由器之外還有其他路由器,它們就會監聽活躍路由器和備份路由器的狀態(即它們發出的HSRP Hello包),以實現更強的容錯能力。

n 虛擬MAC地址

地址解析協議ARP在IP地址和MAC地址之間建立了一種關聯。每臺三層交換機都維護着一個地址解析表。三層交換機在試圖聯繫某個設備之前,先檢查其ARP緩存,以確定這個地址是否已經被解析。虛擬路由器的IP地址和相應的MAC地址維持在HSRP組中的每臺三層交換的ARP表中。

虛擬路由器所用的MAC地址由三部分組成:

? 廠商編碼——MAC地址的前三個字節。

? HSRP編碼(HSRP衆所周知的虛擬MAC地址)——MAC地址的後兩個字節,本MAC地址用於一臺HSRP虛擬路由器,HSRP編碼總是“07.ac”。

? 組號(HSRP組號)——MAC地址的最後一個字節是組的標示號。例如,組號47轉換爲十六進制爲2f,它將構成MAC地址的最後一個字節。

n HSRP消息

HSRP中的所有路由器都發送或接受HSRP消息。這些消息用來決定和維護組內的路由器角色。HSRP消息封裝在用戶數據報協議(UDP)數據包中的數據部分,使用UDP端口號1985。

這些數據包所使用的目的地址是全部路由器多點廣播地址224.0.0.2,生存時間TTL值爲1。(發送給相鄰的路由器,只能發送一次)

n HSRP的狀態

HSRP配置的路由器有六種狀態,並不是所有的HSRP路由器都經歷所有狀態。例如:不是備份路由器或者活躍路由器的路由器,就不會有備份狀態和活躍狀態。

1. 初始狀態

所有路由器都從初始狀態開始。這是一種起始狀態,同時表明HSRP還沒有運行。配置發生變化或一個端口第一次啓用時,就進入該狀態。

2. 學習狀態

路由器等待來自活躍路由器的消息。這時,路由器還沒有看到來自活躍路由器的Hello消息,也沒有學習到虛擬路由器的IP地址。

3. 監聽狀態

路由器知道了虛擬的IP地址,但它既不是活躍路由器,也不是備份路由器。這時,路由器監聽來自活躍路由器和備份路由器的Hello消息。除活躍路由器和備份路由器之外的路由器都保持監聽狀態。

4. 發言狀態

路由器週期性的發送Hello消息,並參與活躍或備份路由器的競選。路由器在獲得虛擬路由器的IP地址之前,不能進入發言狀態。

5. 備份狀態

路由器是成爲下一個活躍路由器的候選設備,並且它也週期性的發送Hello消息。在一個組中只有一臺備份路由器。

6. 活躍狀態

在活躍狀態,路由器負責轉發發送到備份組的虛擬MAC地址的數據包。活躍路由器週期性的發送Hello消息。在一個組中,必須有且只有一臺活躍路由器。

n HSRP的計時器

HSRP使用兩個計時器:Hello間隔和保持時間。任何狀態的HSRP路由器都會在Hello計時器超時後生成Hello包。默認的Hello間隔是3s,默認的保持時間是10s。

未配置計時器的路由器會從活躍路由器或備份路由器學到這些計時器的值。活躍路由器上配置的計時器值會覆蓋其他路由器上的計時器設定值。同一個HSRP組內的路由器應該使用相同的計時器值。通常,保持時間會大於或等於Hello間隔的三倍,並且保持時間的取值必須大於Hello間隔。

其他HSRP路由器按照保持時間對活躍路由器進行監控:當收到任何活躍路由器發出的Hello包時,路由器會根據HSRP Hello消息中的相應字段重置保持時間值。

通常,默認的HSRP計時器值適用於大多數的LAN網段。(對於反應慢的路由器,將保持時間改長一點)

n HSRP與VRRP的區別

HSRP是Cisco的專有協議。在Cisco的HSRP之後,Internet工程任務組(Internet Engineering Task Force,IETF)也指定了一種路由備份冗餘協議:虛擬路由器冗餘協議(Virtual Router Redundancy Protocol,VRRP)。目前,包括Cisco在內的主流廠商均已在其產品中支持VRRP協議。

VRRP的工作原理與HSRP相似,也是將系統中的多臺路由器組成VRRP組,該組擁有同一個虛擬IP地址作爲LAN的默認網關地址。

VRRP和HSRP也有很多不同。VRRP與HSRP的一個主要區別在安全性方面:它允許參與VRRP組的設備間建立認證機制。另一個主要區別是:VRRP中只有三種狀態——初始狀態(Initialize)、主狀態(Master)、備份狀態(Backup),而HSRP有六種狀態。其餘在報文類型、報文格式和通過TCP而非UDP發送報文方面也都有所不同。

n HSRP的配置及應用

1. 配置爲HSRP的成員

要將三層交換機配置爲一個HSRP組的成員,可以在VLAN虛擬接口端口配置模式下輸入下面的命令:

Switch(config-if)# standby group-number ip virtual-ip-address

? group-number:表示該端口所屬的HSRP組。通過在備份命令中指定一個唯一的組號可以創建多個HSRP組。默認組是0號,可配置範圍是0-255。

? virtual-ip-address表示虛擬HSRP路由器的IP地址,即網段的網關地址。如果指定了IP地址,則該地址就會用作該組的HSRP地址。如果沒有指定IP地址,路由器就會通過HSRP Hello消息學到虛擬地址。在選擇活躍路由器時,線路上至少要有一臺路由器被配置,或者學到了虛擬IP地址。需要注意配置的虛擬IP地址必須和端口配置的實際地址處於同一網段。

例如:Switch(config-if)#standby 10 ip 192.168.1.254

如果需要從HSRP組中取消一個端口,可以在上述命令前加關鍵字no。例如:

Switch(config-if)# no standby 10 ip 192.168.1.254

2. 配置HSRP的優先級

用戶可以指定端口在組內的優先級。這樣,在發生故障時,用戶可以靈活的指定端口順序。優先級數值高的將成爲活躍路由器,指定優先級可使用下面的命令:

Switch(config-if)#standby group-number priority priority-value

其中,priority-value的範圍是0-255,默認值是100。

3. 配置HSRP的佔先權

要想原先的活躍路由器(優先級高)能夠從優先級較低的新活躍路由器那裏重新取回轉發權,恢復轉發路由器的角色,可以使用下面的命令:

Switch(config-if)#standby group-number preempt

在配置了standby preempt命令之後,優先級高的端口將變成活躍狀態。

除了上述情況下,還有一些其他情況需要配置佔先權:

? 配置HSRP時,先配置低優先級的路由器A,當配置完成後它會確認HSRP組中其他路由器的狀態和優先級。此時路由器A是HSRP組中唯一的設備,路由器A認爲自身優先級最高而成爲活躍路由器。在路由器A成爲活躍路由器後,再配置高優先級的路由器B,如果沒有配置佔先權,則路由器B將不會成爲活躍狀態,而成爲備份狀態。

? 在網絡中的HSRP組工作正常,路由器A優先級爲200,路由器B優先級爲100,路由器A成爲活躍路由器。在路由器A上配置端口跟蹤,優先級降低150。當跟蹤的端口鏈路出現故障時,路由器A的優先級降低爲50,路由器B成爲HSRP組中優先級最高的設備。這時如果路由器B沒有配置佔先權,則不會成爲活躍路由器。

由此可以看出,如果網絡中已經存在活躍路由器,則新加入HSRP組中沒有配置佔先權的路由器無論其優先級高低都不會成爲活躍路由器。

4. 配置Hello消息的計時器

默認計時器值在很多網絡中都工作得很好,一般情況下不需要修改。然而,如果Hello包需要經過有時會擁塞的網絡,可以修改這些值,命令如下:

Switch(config-if)#standby group-number times hellotime holdtime

其中,hellotime間隔時間默認爲3s,設置範圍是1-255;holdtime保持時間最少應該是Hello時間的三倍,默認的保持時間是10s。

例如:將Hello時間和保持時間分別配置爲2s和8s,命令如下:

Switch(config-if)#standby 10 times 2 8

注意:同一個HSRP組中的Hello時間和保持時間應該配置相同。

5. 配置HSRP的端口跟蹤

利用HSRP跟蹤(HSRP Tracking)功能,可以指定HSRP監控路由器上的另一端口。如果被跟蹤端口的狀態變爲Down,其他路由器就接替其成爲活躍路由器。這一過程是通過被跟蹤端口的鏈路狀態變爲Down時減小HSRP的優先級來實現的。減小優先級的目的是讓路由器的HSRP優先級低於其他路由器,默認減小值是10。HSRP跟蹤功能減少額主端口不可用時路由器的優先級,但其仍有保持活躍路由器的可能性。通用的原則是在HSRP端口上同時設定佔先功能(高優先級和低優先級都配置),以提供最佳的故障切換效果。

配置端口跟蹤,可以輸入下面的命令:

Switch(config-if)#standby group-number track interface-type mod/num interface-priority

其中:

? group-number:採用跟蹤功能的端口的組號

? interface-type:跟蹤端口的端口類型

? mod/num:跟蹤端口的端口號

? interface-priority:當端口失效時,路由器的熱備份優先級將降低的數值;當端口變爲可用時,路由器的優先級將加上該數值,默認值爲10。

關閉端口跟蹤功能時,可以使用no standby group-number track命令

例如:配置跟蹤端口F0/1,優先級降低100,配置如下:

Switch(config-if)#standby 10 track fastEthernet 0/1 100

6. 檢查HSRP的狀態

要顯示HSRP路由器的狀態,在特權模式下輸入如下命令:

Switch# show standby [interface-type mod/num] [group-number] brief

其中:

? interface-type mod/num:要顯示的端口類型和序號

? group-number:要顯示的具體HSRP組

? brief:顯示摘要信息,每個備份組總結顯示一行輸出

n HSRP故障排查

? 配置完成的熱備份路由器都處於初始狀態

沒設置vlan IP

? 配置完成的熱備份路由器都處於活躍狀態

路由之間沒通信

? 當活躍路由器出口鏈路出現故障時,備份路由器沒有成爲活躍狀態。

沒有設置佔先權,端口跟蹤

? 網絡出現故障,備份路由器變爲活躍狀態,當網絡故障修復時,原來的活躍路由器接入網絡後成爲備份狀態而沒有成爲活躍狀態。

沒有設置佔先權

n HSRP的應用案例

clip_p_w_picpath002

具體步驟:

1. 給路由器R1的所有接口配置IP地址

clip_p_w_picpath003clip_p_w_picpath004clip_p_w_picpath005

配置靜態路由。

clip_p_w_picpath006

2. 開啓所有的接口

clip_p_w_picpath007

將交換機相連的接口配置爲trunk接口

clip_p_w_picpath008clip_p_w_picpath009

進入連接路由器的接口(F0/0),啓用路由接口(no switchport),並配置IP地址

clip_p_w_picpath010

創建兩個vlan,

clip_p_w_picpath011

並分別配置IP地址

clip_p_w_picpath012clip_p_w_picpath013

配置虛擬IP地址、配置優先級、配置優先權、配置端口跟蹤

clip_p_w_picpath014clip_p_w_picpath015

開啓路由功能

clip_p_w_picpath016

配置靜態路由

clip_p_w_picpath017

配置以太網通道

clip_p_w_picpath018

3. 開啓所有的接口

clip_p_w_picpath019

將交換機相連的接口配置爲trunk接口

clip_p_w_picpath020clip_p_w_picpath021

進入連接路由器的接口(F0/1),啓用路由接口(no switchport),並配置IP地址

clip_p_w_picpath022

創建兩個vlan(和三層交換1創建的要相同),

clip_p_w_picpath023

並分別配置IP地址

clip_p_w_picpath024clip_p_w_picpath025

clip_p_w_picpath025[1]

配置虛擬IP地址、配置優先級、配置優先權、配置端口跟蹤

clip_p_w_picpath026clip_p_w_picpath027

開啓路由功能

clip_p_w_picpath028

配置靜態路由

clip_p_w_picpath029

配置以太網通道

clip_p_w_picpath030

4. 開啓所有的接口

clip_p_w_picpath031

將交換機相連的接口配置爲trunk接口

clip_p_w_picpath032

創建兩個vlan(和三層交換1創建的要相同)

clip_p_w_picpath033

將連接客戶端的接口加入到vlan

clip_p_w_picpath034

5. 配置STP實現VLAN負載均衡

SW3L1配置信息:

clip_p_w_picpath035

SW3L2配置信息:

clip_p_w_picpath036

6. 驗證HSRP

查看SW3L1:

clip_p_w_picpath038

查看SW3L2:

clip_p_w_picpath040

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