天天看點

HSRP配置執行個體

簡介

HSRP(Hot Standby Router Protocol 熱備份路由器協定)是Cisco的專有協定。HSRP把多台路由器組成一個“熱備份組”,形成一個虛拟路由器。這個組内隻有一個路由器是Active(活動)的,并由它來轉發資料包,如果活動路由器發生了故障,備份路由器将成為活動路由器。從網絡内的主機來看,網關并沒有改變。

HSRP的工作過程:

HSRP路由器利用Hello包來互相監聽各自的存在。當路由器長時間沒有接收到Hello包時,就認為活動路由器故障,備份路由器就會成為活動路由器。HSRP協定利用優先級決定哪個路由器成為活動路由器。如果一個路由器的優先級比其它路由器的優先級高,則該路由器成為活動路由器。路由器的預設優先級是100。在一個組中,最多有一個活動路由器和一個備份路由器。HSRP路由器發送的多點傳播(224.0.0.2)消息有以下三種:

Hello:通知其它路由器發送者的HSRP優先級和狀态資訊,HSRP路由器預設每3秒發送一個Hello消息。

Coup:當一個備用路由器變為一個活動路由器時發送一個Coup消息。

Resign:當活動路由器要當機或者當有優先級更高的路由器發送Hello消息時,主動發送一個Resign消息。

HSRP的封包格式:

HSRP配置執行個體

①版本:訓示HSRP的版本資訊。

②操作碼:用來描述資料包中封包的類型,可能的值為0、1和2,分别表示是Hello、Coup和Resign消息。

③狀态:描述發出該封包的路由器的目前狀态。有0、1、2、4、8、16六種狀态,分别表示為Initial、Learn、

  Listen、Speak、Standby和Active狀态。

④呼叫時間(Hellotime):隻在呼叫封包中有意義,表示路由器定時發送呼叫封包的間隔時間,以秒為機關。如

  果該參數沒有在路由器上配置,它可能要從活動路由器上學習獲得。預設值為3秒。

⑤保持時間(Holdtime):隻在呼叫封包中有意義,被接收路由器用來判斷該呼叫封包是否合法,機關為秒,其值

  至少是呼叫時間的3倍。如果該參數沒有配置,也同樣可以從活動路由器上學習。活動路由器不能從等待路由

  器學習呼叫時間和保持時間,它隻能繼續使用從先前的活動路由器學習來的該值。預設值為10秒。

⑥優先級:該參數用來選擇活動和等待路由器,兩個具有不同優先級的路由器,優先級高的将成為活動路由器。

  兩個具有相同優先級的路由器,IP位址大的将成為活動路由器。預設優先級為100。

⑦組:用來标記路由器所在的熱等待組。對令牌環類型的網絡,合法的值是0、1和2,對于其它類型的網絡,合

  法值是0-255。

⑧認證碼:包括8個明文的字元作為密碼,如果沒有配置,預設值為cisco。

⑨虛拟IP位址:用來指定本熱等待組的虛拟IP位址,它可以從活動路由器的呼叫封包中學習到。如果沒有配置該

  位址,并且呼叫封包是需要認識的,那麼隻能通過活動路由器學習。

HSRP路由器的6中狀态:

1.Initial:HSRP啟動時的狀态,HSRP還沒有運作,一般是在改變配置或端口剛剛啟動時進入該狀态。

2.Learn:在該狀态下,路由器還沒有決定虛拟IP位址,也沒有看到認證的、來自活動路由器的Hello封包。路由

  器仍在等待活動路由器發來的Hello封包。

3.Listen:路由器已經得到了虛拟IP位址,但是它既不是活動路由器也不是等待路由器。它一直監聽從活動路由

  器和等待路由器發來的Hello封包。

4.Speak:在該狀态下,路由器定期發送Hello封包,并且積極參加活動路由器或等待路由器的競選。如果選出活

  動路由和等待路由,則變成監聽狀态(Listen)。而此時隻有活動路由器和等待路由處于說話狀态。

5.Standby:處于該狀态的路由器是下一個候選的活動路由器,它定時發送Hello封包。

6.Active:處于活動狀态的路由器承擔轉發資料包的任務,這些資料包是發給該組的虛拟MAC位址的。它定時發

  出Hello封包。

HSRP的2個定時器:

HSRP使用2個定時器:Hello間隔和Hold時間。預設Hello間隔是3秒,預設的Hold間隔是10秒。Hello間隔定義了兩組路由器之間交換資訊的頻率。Hlod間隔定義了經過多長時間後,沒有收到其它路由器的資訊,則活動路由器或者備用路由器就會被宣告為失敗。配置計時器并不是越小越好,雖然計時器越小則切換時間越短。計時器的配置需要和STP等的切換時間相一緻。另外,Hold間隔最少應該是Hello間隔的3倍。

實驗

在路由器和三層交換機上都可以配置HSRP,這裡是在路由器R1和R3上配置。

指令:

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組,所有屬于同一個HSRP組的路由器的虛拟IP位址必須一緻。

②“standby 1 preempt”指令:

  1>如果不配置該指令,即使該路由器優先級再高,也不會成為Active路由;

  2>如果再配置“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。降低的值應該選取合适的值,使得其他路由器能成為活動路由器。

⑥可以使用“standby 1 mac-address”指令修改虛拟MAC位址,系統預設的MAC位址為“0000.0c07.acXX”,

  “XX”為HSRP的組号。

⑦可以使用“standby 1 name”指令設定HSRP組1的名字,如果沒有設定,系統将自動生成。

⑧由于HSRP的兩個版本version1和version2不相容,可以使用“standby version”指令設定HSRP的版本。

配置IP位址及路由:

R1(config)#int f1/0

R1(config-if)#ip add 192.168.13.1 255.255.255.0

R1(config-if)#no sh

R1(config)#int s0/0

R1(config-if)#ip add 192.168.12.1 255.255.255.0

R1(config)#router rip

R1(config-router)#network 192.168.12.0

R1(config-router)#network 192.168.13.0

R1(config-router)#passive-interface f1/0        //防止從該接口發送RIP資訊給R3

R2(config)#int lo0

R2(config-if)#ip add 192.168.2.2 255.255.255.0

R2(config)#int s0/0

R2(config-if)#ip add 192.168.12.2 255.255.255.0

R2(config-if)#clock rate 128000

R2(config-if)#no sh

R2(config)#int s0/1

R2(config-if)#ip add 192.168.23.2 255.255.255.0

R2(config)#router rip

R2(config-router)#network 192.168.2.0

R2(config-router)#network 192.168.12.0

R2(config-router)#network 192.168.23.0

R3(config)#int f1/0

R3(config-if)#ip add 192.168.13.3 255.255.255.0

R3(config-if)#no sh

R3(config)#int s0/1

R3(config-if)#ip add 192.168.23.3 255.255.255.0

R3(config)#router rip

R3(config-router)#network 192.168.23.0

R3(config-router)#network 192.168.13.0

R3(config-router)#passive-interface f1/0

配置HSRP:

R1(config-if)#standby 1 ip 192.168.13.254

R1(config-if)#standby priority 120

R1(config-if)#standby 1 preempt

R1(config-if)#standby 1 timers 3 10

R1(config-if)#standby 1 authentication md5 key-string cisco

R1(config-if)#standby 1 track s0/0 30

R3(config-if)#standby 1 ip 192.168.13.254

R3(config-if)#standby 1 preempt

R3(config-if)#standby 1 timers 3 10

R3(config-if)#standby 1 authentication md5 key-string cisco

實驗調試

R1#show standby brief        //檢視HSRP簡要資訊

HSRP配置執行個體

R1#show standby        //檢視HSRP詳細資訊

HSRP配置執行個體

Server:ping 192.168.2.2 -t

R1(config)#sh

HSRP配置執行個體

在Server上連續ping路由器R2的Loopback接口的IP位址(192.168.2.2),在R1上關閉F1/0接口,可以發現:當R1故障時,R3很快就替代了R1,計算機的通信幾乎沒有受到什麼影響。

說明:如果重新打開R1的F1/0接口,由于再R1上配置了搶占(Preempt),是以R1又會成為活動路由器。

R3#debug standby        //以下是當R1的F1/0接口關閉後,R3成為活動路由器過程中的debug資訊

HSRP配置執行個體

配置多個HSRP組

之前的步驟已經虛拟了192.168.13.254網關,對于這個網關隻能有一個活動路由器,于是這個路由器将承擔全部的資料流量。我們可以再建立一個HSRP組,虛拟出另一個網關192.168.13.253,這時R3是活動路由器,讓一部分計算機指向這個網關,這樣就能做到負載平衡。

R1(config-if)#standby 1 ip 192.168.13.254

R1(config-if)#standby 1 priority 120

R1(config-if)#standby 1 track s0/0 30

R1(config-if)#standby 2 ip 192.168.13.253

R1(config-if)#standby 2 preempt

R1(config-if)#standby 2 authentication md5 key-string cisco

R3(config-if)#standby 1 ip 192.168.13.254

R3(config-if)#standby 2 ip 192.168.13.253

R3(config-if)#standby 2 priority 120

R3(config-if)#standby 2 preempt

R3(config-if)#standby 2 authentication md5 key-string cisco

R3(config-if)#standby 2 track s0/1 30

說明:我們這裡建立了兩個HSRP組,組1的IP為192.168.13.254,活動路由器為R1,一部分計算機的網關指向

  192.168.13.254。組2的IP為192.168.13.253,活動路由器為R2,其餘計算機的網關指向192.168.13.253。這

  樣,當網絡全部正常時,一部分資料是由R1轉發的,其餘資料是由R2轉發的,實作了負載平衡。當一個路由器

  出現問題時,則另一個路由器就成為兩個HSRP組的活動路由器,承擔全部的資料轉發。通過這種方式實作負載

  平衡,要求不同的計算機在設定網關時有所不同,如果計算機的IP是DHCP配置設定的,那這種方法就不太友善了。

注意:HSRP實際上在區域網路用的較多,由于區域網路内大多使用三層交換機,是以這時HSRP是在交換機上配置的。

  另外,HSRP有Version1和Version2,兩者不相容,是以所有路由器或者交換機要使用相同的HSRP版本,可以使

  用“standby version”指令設定版本。

轉自:http://blog.sina.com.cn/s/blog_635e1a9e010193if.html

本文轉自飛奔的小GUI部落格51CTO部落格,原文連結http://blog.51cto.com/9237101/1895002如需轉載請自行聯系原作者

ziwenzhou