1、簡介網絡
HSRP(Hot Standby Router Protocol 熱備份路由器協議)是Cisco的專有協議。HSRP把多臺路由器組成一個「熱備份組」,造成一個虛擬路由器。這個組內只有一個路由器是Active(活動)的,並由它來轉發數據包,若是活動路由器發生了故障,備份路由器將成爲活動路由器。從網絡內的主機來看,網關並無改變。oop
2、HSRP工做過程spa
HSRP路由器利用Hello包來互相監聽各自的存在。當路由器長時間沒有接收到Hello包時,就認爲活動路由器故障,備份路由器就會成爲活動路由器。HSRP協議利用優先級決定哪一個路由器成爲活動路由器。若是一個路由器的優先級比其它路由器的優先級高,則該路由器成爲活動路由器。路由器的默認優先級是100。blog
在一個組中,作多有一個活動路由器和一個備份路由器,HSRP路由器發送的組播(224.0.0.2)消息有三種:接口
3、HSRP路由器的6種狀態ci
- Initial:HSRP啓動時的狀態,HSRP尚未運行,通常是在改變配置或端口剛剛啓動時進入該狀態。
- Learn:在該狀態下,路由器尚未決定虛擬IP地址,也沒有看到認證的、來自活動路由器的Hello報文,路 由器仍在等待活動路由器發來的Hello報文。
- Listen:路由器已經獲得了虛擬IP地址,可是它既不是活動路由器也不是等待路由器。它一直監遵從活動路由器和等待路由器的Hello報文。
- Speak:在該狀態下,路由器按期發送Hello報文,而且積極參加活動路由器或等待路由器的競選。若是選出活動路由和等待路由,則變成監聽狀態(Listen)。而此時只有活動路由器和等待路由處於說話狀態。
- Standby:處於該狀態的路由器是下一個候選的活動路由器,它定時發送Hello報文。
- Active:處於活動狀態的路由器承擔轉發數據包的任務,這些數據包是發給該組的虛擬MAC地址的。它定時發出Hello報文。
4、HSRP的兩個定時器路由
HSRP使用2個定時器:Hello間隔和Hold時間。默認Hello間隔是3秒,默認的Hold間隔是10秒。Hello間隔定義了兩組路由器之間交換信息的頻率。Hlod間隔定義了通過多長時間後,沒有收到其它路由器的信息,則活動路由器或者備用路由器就會被宣告爲失敗。配置計時器並非越小越好,雖然計時器越小則切換時間越短。計時器的配置須要和STP等的切換時間相一致。另外,Hold間隔最少應該是Hello間隔的3倍。string
5、配置模板
![](http://static.javashuo.com/static/loading.gif)
- R1(config-if)#standby 1 ip 192.168.13.254 //啓用HSRP功能,建立standby組1,並設置虛擬網關IP地址
- R1(config-if)#standby priority 120 //設置HSRP的優先級,該值大的會搶佔成Active路由器,默認爲100
- R1(config-if)#standby 1 preempt //設置容許在該路由器優先級是最高時搶佔爲活動路由器
- R1(config-if)#standby 1 timers 3 10 //設置Hellotime爲3秒,Holdtime爲10秒,默認即爲該值
- R1(config-if)#standby 1 authentication md5 key-string cisco //配置認證密碼
- R1(config-if)#standby 1 track s0/0 30 //配置端口跟蹤
說明:
- 相同組號的路由器屬於同一個HSRP組,全部屬於同一個HSRP組的路由器的虛擬IP地址必須一致。
- 若是再配置「standby 1 preempt delay minimum 1000」命令,則會延時1000毫秒才進行搶佔。
- Hellotime:路由器每間隔多長時間發送Hello信息;Holdtime:在多長時間內同組的其它路由器沒有收到活動路由器的信息,則認爲活動路由器發生故障;若是要更改默認值,全部同HSRP組的路由器該項設置必須一致。
- 配置認證密碼爲了防止非法設備加入到HSRP組,而且同HSRP組的密碼必須一致。
- 端口跟蹤:若是試驗中沒有配置s0/0的端口跟蹤,當R1的s0/0接口出現問題,R1將沒有到達R2的Loopback0接口所在網段的路由。然而R1和R3之間的以太網仍然沒有問題,HSRP的Hello包正常發送和接收。所以R1仍然是虛擬網關192.168.13.254的活動路由器,Server的數據仍會發送給R1,這樣會形成Server沒法ping通R2的Loopback接口。當配置路由跟蹤後,端口跟蹤使得R1發現s0/0上的鏈路出現問題後,把本身的優先級(咱們設置的爲120)減去一個數字(咱們設置的爲30),成爲了90。因爲R3的優先級爲默認值100,這樣R3就成爲了活動路由器,Server的數據包將發往R3。下降的值應該選取合適的值,使得其餘路由器能成爲活動路由器。