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