實(shí)例解讀:深刻理解HSRP協(xié)議
原創(chuàng)【51CTO.com獨(dú)家特稿】HSRP(Hot Standby Router Protocol)熱備份路由器協(xié)議,即多臺(tái)路由器組成一個(gè)“熱備份組”,模擬成一個(gè)虛擬的路由器,虛擬路由器擁有虛擬的IP 地址和虛擬的MAC地址。在一個(gè)熱備份組中,只有一臺(tái)路由器作為活動(dòng)路由器轉(zhuǎn)發(fā)數(shù)據(jù)包,只有當(dāng)活動(dòng)路由器失效后,才會(huì)選擇一臺(tái)備份路由器作為活動(dòng)路由器,但對(duì)于網(wǎng)絡(luò)中的主機(jī)來說,虛擬路由器并沒有發(fā)生任何改變,不會(huì)導(dǎo)致主機(jī)通信中斷現(xiàn)象。
下面通過一則實(shí)例,通過介紹其配置和運(yùn)行過程,將能更好的理解HSRP協(xié)議的作用。
一、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)介紹
網(wǎng)絡(luò)拓?fù)鋱D如圖1所示。兩臺(tái)核心交換機(jī)型號(hào)為為Cisco Catalyst 4507R,每臺(tái)4507R上使用兩塊引擎,Cisco Catalyst 4507R上兩塊引擎如圖2所示。4507A上兩塊引擎的名稱分別為4507A-R1、4507A-R2,4507B上的分別為4507B-R1、4507B-R2。4507A和4507B通過Trunk口連接,4507A和3750A,4507B和3750B之間也是通過Trunk口連接。四臺(tái)交換機(jī)中都運(yùn)行VTP協(xié)議,其中4507A中VTP運(yùn)行模式是server模式,其它三臺(tái)交換機(jī)中VTP運(yùn)行的模式是client模式,并且在4507A中創(chuàng)建了VLAN 100和VLAN 200。
圖1 網(wǎng)絡(luò)結(jié)構(gòu)圖
圖2 4507R交換機(jī)上的兩塊引擎
兩臺(tái)3750交換機(jī)上共接入了八臺(tái)PC,VLAN 100和VLAN 200中各分配四臺(tái)。八臺(tái)電腦自動(dòng)獲取IP地址、默認(rèn)網(wǎng)關(guān)、DNS服務(wù)器地址,這些地址都是通過DHCP服務(wù)器自動(dòng)分配的。DHCP服務(wù)器的IP地址配置為10.10.1.1/24。網(wǎng)絡(luò)的搭建也充分考慮了核心交換機(jī)的冗余性,若4507B故障,則3750B上的數(shù)據(jù)可先到達(dá)3750A,***再到達(dá)核心交換機(jī)4507A。同理,若4507A故障,也不影響3750A上的數(shù)據(jù)到達(dá)核心交換機(jī)4507B。
二、DHCP服務(wù)器的配置
DHCP服務(wù)器的配置如圖3和圖4所示。需要說明的是,VLAN 100的默認(rèn)網(wǎng)關(guān)要指向10.10.100.254,而不是10.10.100.253或10.10.100.252。同理,VLAN 200的默認(rèn)網(wǎng)關(guān)也要指向10.10.200.254。
圖3 VLAN 100的DHCP配置
圖4 VLAN 200的DHCP配置
三、HSRP配置的詳細(xì)說明
4507A引擎1上的HSRP配置如下所示:
- 4507A-R1
- interface Vlan100
- ip address 10.10.100.253 255.255.255.0
- ip helper-address 10.10.1.1
- standby 100 priority 150 preempt
- standby 100 ip 10.10.100.254
- !
- interface Vlan200
- ip address 10.10.200.253 255.255.255.0
- ip helper-address 10.10.1.1
- standby 200 priority 150 preempt
- standby 200 ip 10.10.200.254
其中命令“ip address 10.10.100.253 255.255.255.0”是給指定的VLAN配置IP地址。
命令“ ip helper-address 10.10.1.1”是確保兩臺(tái)3750交換機(jī)上的所有主機(jī)獲取IP地址、默認(rèn)網(wǎng)關(guān)和DNS服務(wù)器地址時(shí),是從10.10.1.1的DHCP服務(wù)器上自動(dòng)獲取到的。
命令“standby 100 priority 150 preempt”中的“priority”是配置HSRP的優(yōu)先級(jí),100為組序號(hào),它的取值范圍為0~255,150為優(yōu)先級(jí)的值,取值范圍為0~255,數(shù)值越大優(yōu)先級(jí)越高。
優(yōu)先級(jí)將決定一臺(tái)路由器在HSRP備份組中的狀態(tài),優(yōu)先級(jí)***的路由器將成為活動(dòng)路由器,其它優(yōu)先級(jí)低的路由器將成為備用路由器。當(dāng)活動(dòng)路由器失效后,備用路由器將替代它成為活動(dòng)路由器。當(dāng)活動(dòng)和備用路由器都失效后,其它路由器將參與活動(dòng)和備用路由器的選舉工作。優(yōu)先級(jí)都相同時(shí),接口IP地址高的將成為活動(dòng)路由器。
“preempt”是配置HSRP為搶占模式。如果需要高優(yōu)先級(jí)的路由器能主動(dòng)搶占成為活動(dòng)路由器,則要配置此命令。配置preempt后,能夠保證優(yōu)先級(jí)高的路由器失效恢復(fù)后總能成為活動(dòng)路由器?;顒?dòng)路由器失效后,優(yōu)先級(jí)***的備用路由器將處于活動(dòng)狀態(tài),如果沒有使用preempt技術(shù),則當(dāng)活動(dòng)路由器恢復(fù)后,它只能處于備用狀態(tài),先前的備用路由器代替其角色處于活動(dòng)狀態(tài)。
命令“standby 100 ip 10.10.100.254”作用是啟動(dòng)HSRP,如果虛擬IP地址不指定,路由器就不會(huì)參與備份。虛擬IP應(yīng)該是接口所在的網(wǎng)段內(nèi)的地址,不能為接口上的IP地址。
4507A引擎2上HSRP的配置如下:
- 4507A-R2
- interface Vlan100
- ip address 10.10.100.252 255.255.255.0
- ip helper-address 10.10.1.1
- standby 100 priority 140 preempt
- standby 100 ip 10.10.100.254
- !
- interface Vlan200
- ip address 10.10.200.252 255.255.255.0
- ip helper-address 10.10.1.1
- standby 200 priority 140 preempt
- standby 200 ip 10.10.200.254
由以上命令可知,當(dāng)4507A引擎1和引擎2都在網(wǎng)絡(luò)中運(yùn)行時(shí),引擎1是主狀態(tài),引擎2處于備用狀態(tài),因?yàn)橐?的優(yōu)先級(jí)150大于引擎2的優(yōu)先級(jí)140。當(dāng)然若引擎1故障,引擎2就馬上替代引擎1,并且不會(huì)引起網(wǎng)絡(luò)的中斷。
4507B引擎1和引擎2上HSRP的配置如下所示:
- 4507B-R1
- interface Vlan100
- ip address 10.10.100.251 255.255.255.0
- ip helper-address 10.10.1.1
- standby 100 priority 130 preempt
- standby 100 ip 10.10.100.254
- !
- interface Vlan200
- ip address 10.10.200.251 255.255.255.0
- ip helper-address 10.10.1.1
- standby 200 priority 130 preempt
- standby 200 ip 10.10.200.254
- 4507B-R1
- interface Vlan100
- ip address 10.10.100.251 255.255.255.0
- ip helper-address 10.10.1.1
- standby 100 priority 130 preempt
- standby 100 ip 10.10.100.254
- !
- interface Vlan200
- ip address 10.10.200.251 255.255.255.0
- ip helper-address 10.10.1.1
- standby 200 priority 130 preempt
- standby 200 ip 10.10.200.254
從以上配置可以看到,若兩個(gè)4507上的4塊引擎都處于運(yùn)行狀態(tài),則4507A上的引擎1處于活躍狀態(tài),因?yàn)橐?的優(yōu)先級(jí)在四塊引擎中***,其它三塊引擎處于備用狀態(tài)。若4507A的引擎1故障,則其它優(yōu)先級(jí)高的引擎會(huì)馬上由備用狀態(tài)轉(zhuǎn)換為活躍狀態(tài),從而保證了網(wǎng)絡(luò)不會(huì)中斷。
兩臺(tái)核心交換機(jī)4507A和4507B使用四塊引擎,也極大提高了網(wǎng)絡(luò)中核心交換機(jī)的穩(wěn)定性和冗余能力。同一臺(tái)4507上的某一塊引擎故障,這臺(tái)4507上的另一塊引擎會(huì)馬上被激活,并代替故障的引擎。若同一臺(tái)的兩塊引擎板都故障,也不會(huì)影響核心交換機(jī)的路由功能,因?yàn)榱硪慌_(tái)4507上的引擎會(huì)馬上被激活,擔(dān)負(fù)起路由的任務(wù)。
四、總結(jié)
HSRP技術(shù)應(yīng)用在OSI參考模型的第三層,也就是在二層或者二層交換機(jī)上不存在HSRP技術(shù)的應(yīng)用。
1、HSRP技術(shù)保證了網(wǎng)絡(luò)中路由器運(yùn)行的高度可靠性。在HSRP路由體系中共包括三種路由器:一是活動(dòng)路由器,負(fù)責(zé)轉(zhuǎn)發(fā),發(fā)送到虛擬路由器的數(shù)據(jù)。它通過基于UDP端口號(hào)為1985的廣播,發(fā)送HELLO消息,來通告它的活躍狀態(tài);二是備用路由器,監(jiān)視HSRP組中的運(yùn)行狀態(tài),并且在當(dāng)前活躍路由器不可用時(shí),迅速承擔(dān)起負(fù)責(zé)數(shù)據(jù)轉(zhuǎn)發(fā)的任務(wù)。備用路由器也發(fā)送HELLO消息來通告組中其它路由器,它備份路由器的角色。三是虛擬路由器,對(duì)最終的用戶來說,它代表一臺(tái)能持續(xù)工作的路由器設(shè)備。它有自己的MAC和IP地址。但實(shí)際上它是不轉(zhuǎn)發(fā)數(shù)據(jù)包的,它的作用僅僅是代表一臺(tái)可用的路由設(shè)備。
通過在配置了HSRP協(xié)議的路由器之間廣播HSRP優(yōu)先級(jí),HSRP協(xié)議選出當(dāng)前的活躍路由器。當(dāng)在預(yù)先設(shè)定的一段時(shí)間內(nèi)活躍路由器不能發(fā)送hello消息時(shí),優(yōu)先級(jí)***的備用路由器變?yōu)榛钴S路由器。為了減少網(wǎng)絡(luò)的數(shù)據(jù)流量,在設(shè)置完活躍路由器和備用路由器之后,只有活躍路由器和備用路由器定時(shí)發(fā)送HSRP報(bào)文。
2、在使用HSRP技術(shù)時(shí),一些查看和調(diào)試的命令也很重要,如: “show standby brief”命令是顯示路由器上一些HSRP簡(jiǎn)要的信息。另外還有很多調(diào)試命令,如“debug standby events detail”命令是顯示HSRP事件;命令“debug standby error”是顯示HSRP錯(cuò)誤。
【51CTO.com獨(dú)家特稿,非經(jīng)授權(quán)謝絕轉(zhuǎn)載!合作媒體轉(zhuǎn)載請(qǐng)注明原文作者及出處!】