CCNP:HSRP介紹及校園網(wǎng)的應(yīng)用
隨著Internet的日益普及,人們對(duì)網(wǎng)絡(luò)的依賴(lài)性也越來(lái)越強(qiáng)。這同時(shí)對(duì)網(wǎng)絡(luò)的穩(wěn)定性提出了更高的要求,人們自然想到了基于設(shè)備的備份結(jié)構(gòu),就像在服務(wù)器中為提高數(shù)據(jù)的安全性而采用雙硬盤(pán)結(jié)構(gòu)一樣。路由器是整個(gè)網(wǎng)絡(luò)的核心和心臟,如果路由器發(fā)生致命性的故障,將導(dǎo)致本地網(wǎng)絡(luò)的癱瘓,如果是骨干路由器,影響的范圍將更大,所造成的損失也是難以估計(jì)的。因此,對(duì)路由器采用熱備份是提高網(wǎng)絡(luò)健壯性(robust)的必然選擇。在一個(gè)路由器完全不能工作的情況下,它的全部功能便被系統(tǒng)中的另一個(gè)備份路由器完全接管,直至出現(xiàn)問(wèn)題的路由器恢復(fù)正常,這就是Cisco公司的熱等待路由協(xié)議(Hot Standby Router Protocal,HSRP)要解決的問(wèn)題。
一、 HSRP協(xié)議概述
實(shí)現(xiàn)HSRP的條件是系統(tǒng)中有多臺(tái)路由器,它們組成一個(gè)“熱等待組”,這個(gè)組形成一個(gè)虛擬路由器。在任一時(shí)刻,一個(gè)組內(nèi)只有一個(gè)路由器是活動(dòng)的,并由它來(lái)轉(zhuǎn)發(fā)數(shù)據(jù)包,如果活動(dòng)路由器發(fā)生了故障,將選擇一個(gè)等待路由器來(lái)替代活動(dòng)路由器,但是在本網(wǎng)絡(luò)內(nèi)的主機(jī)看來(lái),虛擬路由器沒(méi)有改變。所以主機(jī)仍然保持連接,沒(méi)有受到故障的影響,這樣就較好地解決了路由器切換的問(wèn)題。
為了減少網(wǎng)絡(luò)的數(shù)據(jù)流量,在設(shè)置完活動(dòng)路由器和等待路由器之后,只有活動(dòng)路由器和等待路由器定時(shí)發(fā)送HSRP報(bào)文。如果活動(dòng)路由器失效,等待路由器將接管成為活動(dòng)路由器。如果等待路由器失效或者變成了活動(dòng)路由器,將由另外的路由器被選為等待路由器。
在實(shí)際的一個(gè)特定的局域網(wǎng)中,可能有多個(gè)熱等待組并存或重疊。每個(gè)熱等待組模仿一個(gè)虛擬路由器工作,它有一個(gè)Well-known-MAC地址和一個(gè)IP 地址。該IP地址、組內(nèi)路由器的接口地址、主機(jī)在同一個(gè)子網(wǎng)內(nèi),但是不能一樣。當(dāng)在一個(gè)局域網(wǎng)上有多個(gè)熱等待組存在時(shí),把主機(jī)分布到不同的熱等待組,可以使負(fù)載得到分擔(dān)。
二、HSRP協(xié)議數(shù)據(jù)包格式
在熱等待組內(nèi),路由器定時(shí)以不同類(lèi)型的數(shù)據(jù)報(bào)文廣播狀態(tài)信息。該協(xié)議運(yùn)行在UDP之上,端口號(hào)為1985,目的地址為多播地址224.0.0.2,TTL 標(biāo)記為1。數(shù)據(jù)包的源地址為發(fā)送方路由器的實(shí)際IP地址,而不是虛擬地址,這樣可以用來(lái)標(biāo)記不同的路由器。UDP的格式如圖1所示。
三、 HSRP中路由器的狀態(tài)及狀態(tài)轉(zhuǎn)換
在熱等待組中,每個(gè)路由器運(yùn)行著一個(gè)簡(jiǎn)單的狀態(tài)機(jī),通過(guò)當(dāng)前的狀態(tài)和事件的觸發(fā),而轉(zhuǎn)換成不同的狀態(tài)。其中包括以下?tīng)顟B(tài)。
1.初始狀態(tài) HSRP啟動(dòng)時(shí)的狀態(tài),HSRP還沒(méi)有運(yùn)行,一般是在改變配置或端口剛剛啟動(dòng)時(shí)進(jìn)入該狀態(tài)。
2.學(xué)習(xí)狀態(tài) 在該狀態(tài)下,路由器還沒(méi)有決定虛擬IP地址,也沒(méi)有看到認(rèn)證的、來(lái)自活動(dòng)路由器的HELLO報(bào)文。路由器仍在等待活動(dòng)路由器發(fā)來(lái)的HELLO報(bào)文。
3.監(jiān)聽(tīng)狀態(tài) 路由器已經(jīng)得到了虛擬IP地址,但是它既不是活動(dòng)路由器也不是等待路由器。它一直監(jiān)聽(tīng)從活動(dòng)路由器和等待路由器發(fā)來(lái)的HELLO報(bào)文。
4.說(shuō)話(huà)狀態(tài) 在該狀態(tài)下,路由器定期發(fā)送HELLO報(bào)文,并且積極參加活動(dòng)路由器或等待路由器的競(jìng)選。
5.等待狀態(tài) 處于該狀態(tài)的路由器是下一個(gè)候選的活動(dòng)路由器,它定時(shí)發(fā)送HELLO報(bào)文。
6.活動(dòng)狀態(tài) 處于活動(dòng)狀態(tài)的路由器承擔(dān)轉(zhuǎn)發(fā)數(shù)據(jù)包的任務(wù),這些數(shù)據(jù)包是發(fā)給該組的虛擬MAC地址的。它定時(shí)發(fā)出HELLO報(bào)文。
另外,每一個(gè)路由器都有3個(gè)計(jì)時(shí)器,即活動(dòng)計(jì)時(shí)器、等待計(jì)時(shí)器和呼叫計(jì)時(shí)器。
狀態(tài)的變化都是由事件引起的,不同的事件作用于不同的狀態(tài)在就會(huì)產(chǎn)生不同的動(dòng)作,如啟動(dòng)計(jì)時(shí)器、發(fā)報(bào)文等。
四、HSRP在校園網(wǎng)中實(shí)現(xiàn)
華東師范大學(xué)校園網(wǎng)規(guī)模比較大,上網(wǎng)的主機(jī)相對(duì)比較多,共分配有16個(gè)C類(lèi)地址。為了保證數(shù)據(jù)安全和廣播風(fēng)暴,提高網(wǎng)絡(luò)性能,將校園網(wǎng)劃分成60個(gè)子網(wǎng)。在網(wǎng)絡(luò)中心采用Cisco系統(tǒng)公司的Catalyst 5509作為中心交換機(jī),并且?guī)в蠷SM作為VLAN間的路由器,另外使用一個(gè)Cisco 7000系列的路由器和RSM。它們都支持VLAN以及VLAN上的HSRP。如圖2所示。
在每一個(gè)虛擬局域網(wǎng)內(nèi)都有一個(gè)HSRP組,從邏輯上講,Cisco 7010和Cisco 5509的RSM在每個(gè)虛擬局域網(wǎng)上都有局域網(wǎng)接口,并且都配置有IP地址,同時(shí)配置一個(gè)虛擬地址,該地址作為在該虛擬局域網(wǎng)內(nèi)所有主機(jī)的網(wǎng)關(guān)。下面以 VLAN 9為例,RSM中VLAN 9的配置如下:
interface Vlan9
description surportcenter
ip address 202.120.95.66 255.255.255.224 該路由器在該VLAN9上的接口的IP地址以及掩碼
no ip redirects
no ip directed-broadcast
no ip route-cache cef
standby 9 timers 3 250
定義熱等待組號(hào)為9,每3秒交換一次hello信息,250沒(méi)有收到hello信息就開(kāi)切換
standby?150?priority?110
定義路由器的權(quán)值,值越大,成為活動(dòng)路由器的希望越大
standby 9 preempt
Enable該組的HSRP搶占功能,誰(shuí)的權(quán)值大就可以立即成為活動(dòng)路由器
standby 9 ip 202.120.95.65
該組的虛擬IP地址,作為該VLAN中主機(jī)的網(wǎng)關(guān)地址
Cisco 7010路由器中接口的配置如下:
interface FastEthernet0/0.9
description surportcenter
ip address 202.120.95.67 255.255.255.224
cisco7010在VLAN9上的接口的IP地址以及掩碼,該地址和RSM中的地址必須屬于同一個(gè)子網(wǎng),并且不同
no ip redirects
encapsulation is l 9
所使用的虛擬局域網(wǎng)協(xié)議
standby 9 timers 3 250
和在RSM中的含義一樣,并且必須相同
standby 9 priority 100
比在RSM中的值小,所以RSM在該VLAN中為活動(dòng)的
standby 9 preempt
和在RSM中含義一樣
standby 9 ip 202.120.95.65
該組的虛擬IP地址,必須和RSM中一樣
為了達(dá)到負(fù)載均衡的目的,應(yīng)該使Cisco 5509 RSM和Cisco 7010承擔(dān)大致相同的負(fù)載,我們的方法是,在RSM中,VLAN 1到VLAN 30的權(quán)值為110,VLAN 31到VLAN 60的權(quán)值為100; 相反,在Cisco 7010中,VLAN 1到VLAN 30的權(quán)值為100,VLAN 31到VLAN 60的權(quán)值為100。這樣,在正常情況下,Cisco 5509的RSM負(fù)責(zé)VLAN 1到VLAN 30的路由,Cisco 7010負(fù)責(zé)VLAN 31到VLAN 60的路由。如果有一方出現(xiàn)了故障,將由另一個(gè)來(lái)負(fù)載全部的路由工作。
五、HSRP存在的問(wèn)題
對(duì)于在HSRP協(xié)議,最大的問(wèn)題是沒(méi)有提供安全防護(hù),在一個(gè)局域網(wǎng)內(nèi)部,通過(guò)發(fā)送虛假的UDP多播數(shù)據(jù)包很容易對(duì)局域網(wǎng)中的路由器實(shí)施攻擊,導(dǎo)致數(shù)據(jù)包黑洞(Packet Black Hole)和拒絕服務(wù)攻擊(Denial-of-Service Attack)。一般無(wú)法從一個(gè)局域網(wǎng)的外部實(shí)施攻擊,因?yàn)榇蠖鄶?shù)路由器都不轉(zhuǎn)發(fā)目的地址為所有路由器的多播地址(224.0.0.2)。
HSRP只是實(shí)現(xiàn)了路由器的平滑切換,使用戶(hù)感覺(jué)不到這種切換,保證了網(wǎng)絡(luò)的穩(wěn)定性。但是,一個(gè)HSRP組內(nèi)的路由器不能互通它們的其他網(wǎng)絡(luò)配置信息,例如訪問(wèn)控制列表等。所以在管理實(shí)施管理時(shí),為了保證一致性,必須對(duì)它們進(jìn)行相同的修改,增加了管理的復(fù)雜性,這也許是為了提高性能而付出的代價(jià)吧。
(作者地址: 上海中山北路3663號(hào)老圖書(shū)館一樓華東師范大學(xué)網(wǎng)絡(luò)信息中心,200062)
版本: 指示HSPR的版本信息。
操作碼: 用來(lái)描述數(shù)據(jù)包中報(bào)文的類(lèi)型,可能的值為0、1和2,如表1所示。
狀態(tài): 描述發(fā)出該報(bào)文的路由器的當(dāng)前狀態(tài)。在一個(gè)熱等待組內(nèi)的所有路由器都運(yùn)行著這樣的狀態(tài)機(jī),有以下6種狀態(tài),見(jiàn)表2。
呼叫時(shí)間: 只在呼叫報(bào)文中有意義,表示路由器定時(shí)發(fā)送呼叫報(bào)文的間隔時(shí)間,以秒為單位。如果該參數(shù)沒(méi)有在路由器上配置,它可能要從活動(dòng)路由器上學(xué)習(xí)獲得。如果沒(méi)有配置也沒(méi)有學(xué)習(xí),那么建議使用缺省值3。
保持時(shí)間: 只在呼叫報(bào)文中有意義,被接收路由器用來(lái)判斷該呼叫報(bào)文是否合法,單位為秒,其值至少是呼叫時(shí)間的3倍。如果該參數(shù)沒(méi)有配置,也同樣可以從活動(dòng)路由器上學(xué)習(xí)。活動(dòng)路由器不能從等待路由器學(xué)習(xí)呼叫時(shí)間和保持時(shí)間,它只能繼續(xù)使用從先前的活動(dòng)路由器學(xué)習(xí)來(lái)的該值。建議的缺省值為10。
優(yōu)先級(jí): 該參數(shù)用來(lái)選擇活動(dòng)和等待路由器,2個(gè)具有不同優(yōu)先級(jí)的路由器,優(yōu)先級(jí)高的將成為活動(dòng)路由器。2個(gè)具有相同優(yōu)先級(jí)的路由器,IP地址高的將成為活動(dòng)路由器。
組: 用來(lái)標(biāo)記路由器所在的熱等待組。對(duì)令牌環(huán)類(lèi)型的網(wǎng)絡(luò),合法的值是0、1和2,對(duì)于其他類(lèi)型的網(wǎng)絡(luò),合法值是0~255。
認(rèn)證碼: 包括8個(gè)明文的字符作為密碼,如果沒(méi)有配置,缺省值為0×63 0×69 0×73 0×63 0×6F 0×00 0×00 0×00。
虛擬IP地址: 4個(gè)8位組,用來(lái)指定本熱等待組的虛擬IP地址,它可以是從活動(dòng)路由器的呼叫報(bào)文中學(xué)習(xí)來(lái)的。如果沒(méi)有配置該地址,并且呼叫報(bào)文是需要認(rèn)識(shí)的,那么只能通過(guò)活動(dòng)路由器學(xué)習(xí)。
補(bǔ)充幾點(diǎn)~
1、在cisco的路由器上面~認(rèn)證是在學(xué)習(xí)虛擬IP地址的時(shí)候用的,在一臺(tái)路由器上面配置standby 1 ip 192.168.1.254 另一臺(tái)配置standby 1 ip ,虛擬的ip地址可以通過(guò)hello包學(xué)習(xí)過(guò)來(lái),配置了認(rèn)證之后,只有兩邊密碼一樣的情況下才會(huì)學(xué)習(xí)到,如果兩邊都配置standby 1 ip 192.168.1.254 的話(huà),認(rèn)證沒(méi)有什么作用。
2、一個(gè)接口上面多個(gè)hsrp的組需要硬件支持,2500上面不能直接支持多個(gè)hsrp的組~需要通過(guò)一些特殊的方法實(shí)現(xiàn)。
3、hsrp的track功能,可以查看一個(gè)端口,若追蹤的端口down了~以太口會(huì)自動(dòng)的降低優(yōu)先級(jí),變成standby的功能。不過(guò)需要配置和計(jì)算。
【編輯推薦】