熱備份路由選擇協議(HSRP)緩存
n HSRP概述安全
HSRP(Hot Standby Routing Protocol,熱備份路由選擇協議)是Cisco私有的一種技術,它確保了當網絡邊緣設備或接入鏈路出現故障時,用戶通訊能迅速並透明的恢復,以此爲IP網絡提供冗餘性。經過應用HSRP,可以使網絡的正常運行時間接近100%,從而知足用戶對網絡可靠性的要求網絡
熱備份路由協議爲IP網絡提供了容錯和加強的路由選擇功能。經過使用同一個虛擬IP地址和虛擬MAC地址,LAN網段上的兩臺或多臺路由器能夠做爲一臺虛擬路由器對外提供服務。HSRP使組內的Cisco路由器能互相監視對方的運行狀態。負載均衡
? 虛擬路由器組的成員經過HSRP消息不斷的交換狀態信息。ide
? 若是其中一臺出現故障,另外一臺就能接替它,繼續完成路由功能。學習
LAN網段上的主機都配置使用同一個細膩路由器做爲默認網關,並不斷將IP包發往同一個IP和MAC地址。所以,路由設備的切換對主機都是透明的。HSRP向主機提供了默認網關的冗餘性,絕大多數主機以默認網關做爲惟一的下一跳IP和MAC地址。另外,經過多個熱備份組,路由器能夠提供冗餘備份,並在不一樣的IP子網上實現負載均衡。編碼
n HSRP組成員spa
HSRP備份組由一臺活躍路由器、一臺備份路由器、一臺虛擬路由器和其餘路由器組成(在三層交換機配置HSRP時也使用HSRP定義的備份路由器等名稱)。其中,各路由器的做用以下:3d
? 活躍路由器的功能是轉發發送到虛擬路由器的數據包。組中的另外一臺路由器被選爲備份路由器。活躍路由器經過發送Hello消息來承擔和保持它活躍的角色。blog
? 備份路由器的功能是監視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的應用案例
具體步驟:
1. 給路由器R1的全部接口配置IP地址
配置靜態路由。
2. 開啓全部的接口
將交換機相連的接口配置爲trunk接口
進入鏈接路由器的接口(F0/0),啓用路由接口(no switchport),並配置IP地址
建立兩個vlan,
並分別配置IP地址
配置虛擬IP地址、配置優先級、配置優先權、配置端口跟蹤
開啓路由功能
配置靜態路由
配置以太網通道
3. 開啓全部的接口
將交換機相連的接口配置爲trunk接口
進入鏈接路由器的接口(F0/1),啓用路由接口(no switchport),並配置IP地址
建立兩個vlan(和三層交換1建立的要相同),
並分別配置IP地址
配置虛擬IP地址、配置優先級、配置優先權、配置端口跟蹤
開啓路由功能
配置靜態路由
配置以太網通道
4. 開啓全部的接口
將交換機相連的接口配置爲trunk接口
建立兩個vlan(和三層交換1建立的要相同)
將鏈接客戶端的接口加入到vlan
5. 配置STP實現VLAN負載均衡
SW3L1配置信息:
SW3L2配置信息:
6. 驗證HSRP
查看SW3L1: