孫 光 懿
(天津音樂學院 圖書信息中心,天津 300171)
隨著“十一五”“十二五”教育信息化的快速發(fā)展,各高校均已建立了自己的校園網(wǎng)并且在教學、科研、辦公、對外交流中得到廣泛應用。廣大師生對校園網(wǎng)的依賴程度也逐年提高,日益成為衡量學校綜合實力的重要標志。
高校一般采用路由器作為校園網(wǎng)出口設備,校園網(wǎng)內(nèi)部各VLAN地址段的網(wǎng)關以及NAT等重要配置均在其上建立,如果校園網(wǎng)出口設備發(fā)生故障不能正常工作,那么必將造成整個校園網(wǎng)的癱瘓。HSRP技術的誕生有效的解決了這一問題,通過建立兩個及兩個以上的HSRP組,為不同的VLAN子網(wǎng)提供冗余備份和負載分擔,從而保證校園網(wǎng)內(nèi)網(wǎng)用戶可以安全穩(wěn)定的對外網(wǎng)進行訪問。
為了實現(xiàn)路由器的容錯備份功能,提高網(wǎng)關的冗余性,思科公司開發(fā)了HSRP(熱備份路由器)協(xié)議。HSRP協(xié)議[1-2]雖然是思科公司開發(fā)的私有協(xié)議,但是可以兼容其他網(wǎng)絡協(xié)議,最多支持16個HSRP組,IOS 版本10.0以上的思科路由器都支持HSRP協(xié)議,在全世界網(wǎng)絡建設中應用十分廣泛。
要想應用HSRP協(xié)議,網(wǎng)絡中必須有多臺路由器組成一個HSRP組,通過共用一個IP地址和MAC地址的方式,在邏輯上虛擬成為一臺虛擬路由器,虛擬路由器的IP地址就是該網(wǎng)段主機的網(wǎng)關地址。在HSRP組內(nèi),只有一個活躍路由器和一個備用路由器,其他路由器則處于Initial狀態(tài)?;钴S路由器負責處理虛擬路由器接受到的所有數(shù)據(jù)包和數(shù)據(jù)幀,備用路由器則負責監(jiān)聽活躍路由器發(fā)出的HELLO消息,一旦監(jiān)聽不到活躍路由器發(fā)出的HELLO消息,備用路由器就會在很短的時間內(nèi)接替活躍路由器工作。HSRP協(xié)議對活躍路由器的選擇是由路由器的優(yōu)先級來決定的,在HSRP組中哪個路由器優(yōu)先級最高哪個路由器就將成為活躍路由器。在這一過程中,虛擬路由器機的IP地址和MAC地址始終沒有發(fā)生改變。用戶客戶端網(wǎng)絡配置無需改變,還可以對外網(wǎng)進行正常訪問,從而提高了網(wǎng)絡的穩(wěn)定性。
路由信息協(xié)議(RIP)[3-4],是一種在中小型網(wǎng)絡中應用較為廣泛的距離矢量路由選擇協(xié)議,具有實施簡單、開銷小的特點。最早由Xerox公司在上世紀70年代開發(fā),當時是為了解決UNIX系統(tǒng)之間數(shù)據(jù)通信的問題。RIP協(xié)議目前共有三個版本RIPv1, RIPv2, RIPng。
為了提高網(wǎng)關的冗余性和路由器的處理能力,實現(xiàn)校園網(wǎng)出口多組負載均衡[5-9],保證校園網(wǎng)安全穩(wěn)定運行,我們采用HSRP技術在校園網(wǎng)出口處部署了兩臺路由器分別RouterA 和RouterB,承擔校園網(wǎng)內(nèi)兩個不同網(wǎng)段VLAN 200和VLAN 201的路由工作。路由器RouterA即是VLAN200的活躍路由器,又是VLAN201的備用路由器。路由器RouterB即是VLAN201的活躍路由器,又是VLAN200的備用路由器。路由器RouterC為網(wǎng)絡運營商路由器。交換機SwitchM1為校園網(wǎng)內(nèi)部交換機,用于連接終端電腦PC1和PC2,SERVER1為網(wǎng)絡運營商服務器。 PC1屬于VLAN200網(wǎng)段,PC2屬于VLAN201網(wǎng)段,兩者均可以對SERVER1進行訪問。正常情況下,PC1通過 RouterA進行數(shù)據(jù)包轉發(fā)對SERVER1進行訪問,PC2通過RouterB進行數(shù)據(jù)包轉發(fā)對SERVER1進行訪問。當RouterA和RouterB無論哪一臺出現(xiàn)故障不能正常工作,另一臺路由器將承擔起兩個網(wǎng)段VLAN200和VLAN201的數(shù)據(jù)包轉發(fā)工作,PC1和PC2可以對SERVER1繼續(xù)訪問。校園網(wǎng)出口網(wǎng)絡拓撲圖如圖1所示。
圖1 校園網(wǎng)出口網(wǎng)絡拓撲
校園網(wǎng)內(nèi)終端計算機PC1屬于VLAN200網(wǎng)段,PC2屬于VLAN201網(wǎng)段,PC1的網(wǎng)關地址為VLAN 200虛擬網(wǎng)關地址211.68.200.1,PC2的網(wǎng)關地址為VLAN 201虛擬網(wǎng)關地址211.68.201.1,服務器SERVER 1的網(wǎng)關地址為互聯(lián)網(wǎng)運營商路由器C網(wǎng)絡接口f0/1的地址。校園網(wǎng)內(nèi)計算機和運營商服務器IP地址規(guī)劃如表1所示。
表1 校園網(wǎng)內(nèi)計算機和運營商服務器IP地址規(guī)劃
在校園網(wǎng)內(nèi)路由器RouterA和RouterB接口f0/0建立子接口,IP地址設置為校園網(wǎng)內(nèi)部所使用IP地址,路由器RouterA接口Se0/1/0與運營商路由器RouterC接口Se0/2/0互連,路由器RouterB 接口Se0/2/0與運營商路由器RouterC接口Se0/3/0互連。路由器接口IP地址規(guī)劃如表2所示。
表2 路由器接口IP地址規(guī)劃
交換機SwitchM1 端口f0/3屬于VLAN200,端口f0/4屬于VLAN201,端口f0/0和f0/1均設置為TRUNK工作模式,分別與校園網(wǎng)內(nèi)路由器RouterA和RouterB接口f0/0連接,具體端口規(guī)劃如表3所示。
表3 交換機SwitchM1的端口規(guī)劃
對三臺路由器分別進行接口配置,為實現(xiàn)VLAN間通信在RouterA和RouterB上應用單臂路由技術創(chuàng)建子接口。RouterB與RouterC的接口配置與RouterA的接口配置相似,在這里不再闡述。
(1)配置路由器 RouterA
RouterA (config)#int f0/0
RouterA(config-if)#int f0/0.1 //創(chuàng)建子接口,子接口編號為0.1
RouterA(config-subif)#encapsulation dot1Q 200 //在子接口上封裝802.1Q協(xié)議
RouterA(config-subif)#ip add 211.68.200.2 255.255.255.0 //設置子接口IP
RouterA(config-if)#int f0/0.2 //創(chuàng)建子接口,子接口編號為0.2
RouterA(config-subif)#encapsulation dot1Q 201 //在子接口上封裝802.1Q協(xié)議
RouterA(config-subif)#ip add 211.68.201.2 255.255.255.0
RouterA (config)#int Serial0/1/0
RouterA(config-if)# ip address 16.1.1.2 255.255.255.252 //設置接口IP地址與RouterC 接口Serial0/2/0互連
(1)配置路由器 RouterA
RouterA (config)# ROUTE RIP
RouterA (config)#network 16.0.0.0
RouterA (config)#network 211.68.200.0
RouterA (config)#network 211.68.201.0
(2)配置路由器 RouterB
RouterB (config)# ROUTE RIP
RouterB (config)#network 18.0.0.0
RouterB (config)#network 211.68.200.0
RouterB (config)#network 211.68.201.0
(3)配置路由器 RouterC
RouterC (config)# ROUTE RIP
RouterC (config)# network 17.0.0.0
RouterC (config)# network 18.0.0.0
RouterC (config)# network 16.0.0.0
4.5.1配置路由器雙機熱備
(1)配置路由器 RouterA
RouterA(config-if)#int f0/0.1
RouterA(config-subif)# standby 200 ip 211.68.200.1 //啟動HSRP,設置VLAN200的虛擬地址為211.68.200.1,HSRP組號為200
RouterA(config-if)#int f0/0.2
RouterA(config-subif)# standby 201 ip 211.68.201.1 //啟動HSRP,設置VLAN201的虛擬地址為211.68.201.1,HSRP組號為201
(2)配置路由器 RouterB
RouterB(config-if)#int f0/0.1
RouterB(config-subif)# standby 200 ip 211.68.200.1 //啟動HSRP,設置VLAN200的虛擬地址為211.68.200.1,HSRP組號為200
RouterB(config-if)#int f0/0.2
RouterB(config-subif)# standby 201 ip 211.68.201.1 //啟動HSRP,設置VLAN201的虛擬地址為211.68.201.1,HSRP組號為201
由此可見RouterA和RouterB同在HSRP 200組內(nèi)和HSRP 201組內(nèi),相同HSRP組號的路由器虛擬地址也是一樣的。如果不指定虛擬地址,兩臺路由器將不會參加備份。
4.5.2配置HSRP優(yōu)先級
在HSRP組中優(yōu)先級[10-13]最高的路由器才會成為活躍路由器,并且活躍路由器只有一臺。路由器優(yōu)先級的默認值為100,最高到255,如果出現(xiàn)兩臺路由器優(yōu)先級相同的情況,哪個路由器的IP地址更高,哪個路由器就成為活躍路由器。
(1)配置路由器 RouterA
RouterA(config-subif)# standby 200 priority 110 // RouterA屬于HSRP 200組且優(yōu)先級為110
RouterA(config-subif)# standby 201 priority 105 //RouterA 屬于HSRP 201組且優(yōu)先級為105
(2)配置路由器 RouterB
RouterB(config-subif)# standby 200 priority 105 // RouterB屬于HSRP 200組且優(yōu)先級為105
RouterB(config-subif)# standby 201 priority 110 //RouterB 屬于HSRP 201組且優(yōu)先級為110
4.5.3在路由器中配置搶占特性
只有在路由器上設置搶占特性,優(yōu)先級最高的路由器才能成為活躍路由器。如果沒有設置搶占特性,在備用路由器中啟動最快的路由器將成為活躍路由器,不論它的優(yōu)先級高低與否。
(1)配置路由器 RouterA
RouterA(config-subif)# standby 200 preempt //允許RouterA在優(yōu)先級最高時,成為HSPR組200的活躍路由器
RouterA(config-subif)# standby 201 preempt //允許RouterA在優(yōu)先級最高時,成為HSPR組201的活躍路由器
(2)配置路由器 RouterB
RouterB(config-subif)# standby 200 preempt //允許RouterB在優(yōu)先級最高時,成為HSPR組200的活躍路由器
RouterB(config-subif)# standby 201 preempt //允許RouterB在優(yōu)先級最高時,成為HSPR組201的活躍路由器
通過配置搶占特性,由于在HSRP 200組中RouterA的優(yōu)先級110> RouterB的優(yōu)先級105,在HSRP 201組中RouterB的優(yōu)先級110> RouterA的優(yōu)先級105。實現(xiàn)了RouterA即是HSRP 200組中的活躍路由器,又是HSRP 201組中的備用路由器,路由器RouterB即是HSRP 201組中的活躍路由器,又是HSRP 200組中的備用路由器。
4.5.4配置路由器接口跟蹤
在路由器上啟用接口跟蹤[13-16],主要是為了保證當路由器的重要接口(如上行鏈路接口)出現(xiàn)故障不能正常工作時,路由器的HSRP可自動降低優(yōu)先級值并發(fā)送Hello消息,這時備用路由器具有更高的優(yōu)先級,數(shù)據(jù)包的轉發(fā)任務由備用路由器接替,從而確保網(wǎng)絡運行的穩(wěn)定。當被跟蹤的接口出現(xiàn)故障不能正常工作時,路由器的HSRP優(yōu)先級默認降低10。
(1)配置路由器 RouterA
RouterA(config)#int f0/0
RouterA(config-if)#int f0/0.1
RouterA(config-subif)# standby 200 track serial0/1/0 //在路由器RouterA HSRP 200組上對其上行接口Se0/1/0啟用接口跟蹤,當此接口出現(xiàn)故障不能正常工作時,HSRP 200組優(yōu)先級降低10變?yōu)?00,由于配置了搶占特性,備用路由器RouterB成為活躍路由器,直到此接口恢復正常工作。
在路由器RouterA HSRP 201組上沒有對上行接口Se0/1/0啟用接口跟蹤,因為路由器RouterA 只是HSRP 201組的備用路由器,即使上行接口Se0/1/0出現(xiàn)故障,RouterA也比RouterB 優(yōu)先級低,因此也不需要啟用接口跟蹤。
(2)配置路由器 RouterB
RouterB(config)#int f0/0
RouterB(config-if)#int f0/0.1
RouterB(config-subif)# standby 201 track serial0/2/0 //在路由器RouterB HSRP 201組上對其上行接口Se0/2/0啟用接口跟蹤,當此接口出現(xiàn)故障不能正常工作時,HSRP 201組優(yōu)先級降低10變?yōu)?00,由于配置了搶占特性,備用路由器RouterA成為活躍路由器,直到此接口恢復正常工作。
在這里我們分別查看路由器RouterA和路由器RouterB應用HSRP協(xié)議以后的工作狀態(tài),以及PC1訪問SERVER1數(shù)據(jù)包的轉發(fā)過程和PC2訪問SERVER1數(shù)據(jù)包的轉發(fā)過程。
(1)查看路由器 RouterA HSRP協(xié)議工作狀態(tài)
RouterA#sh standby brief
Interface Grp Pri P State Active Standby Virtual IP
f0/0.1 200 110 P Active local 211.68.200.3 211.68.200.1
f0/0.2 201 105 P Standby 211.68.201.3 local 211.68.201.1
(2)查看路由器 RouterB HSRP協(xié)議工作狀態(tài)
RouterB#sh standby brief
Interface Grp Pri P State Active Standby Virtual IP
f0/0.1 200 105 P Standby 211.68.200.2 local 211.68.200.1
f0/0.2 201 110 P Active local 211.68.201.2 211.68.201.1
(3) PC1訪問SERVER1數(shù)據(jù)包的轉發(fā)過程
PC1>trace 17.1.1.2
Tracing route to 17.1.1.2 over a maximum of 30 hops:
1 0 ms 0 ms 0 ms 211.68.200.2
2 1 ms 1 ms 1 ms 16.1.1.1
3 1 ms 0 ms 0 ms 17.1.1.2
(4) PC2訪問SERVER1數(shù)據(jù)包的轉發(fā)過程
PC2>trace 17.1.1.2
Tracing route to 17.1.1.2 over a maximum of 30 hops:
1 0 ms 0 ms 0 ms 211.68.201.3
2 1 ms 1 ms 1 ms 18.1.1.1
3 1 ms 0 ms 0 ms 17.1.1.2
經(jīng)以上測試,證實路由器RouterA 即是HSRP 200組中的活躍路由器,又是HSRP 201組中的備用路由器,路由器RouterB即是HSRP 201組中的活躍路由器,又是HSRP 200組中的備用路由器。PC1訪問外網(wǎng)服務器SERVER1數(shù)據(jù)包由路由器RouterA進行轉發(fā),PC2訪問外網(wǎng)服務器SERVER1數(shù)據(jù)包由路由器RouterB進行轉發(fā)。通過應用HSRP協(xié)議,兩臺路由器都參與校園網(wǎng)數(shù)據(jù)包的處理且互為備份,校園網(wǎng)網(wǎng)關冗余性不僅得到了提高而且也實現(xiàn)了校園網(wǎng)出口多組負載均衡。
我們在這里測試一下當路由器RouterA連接RouterC的接口Se0/1/0 DOWN掉的情況下,路由器的運行狀態(tài)會出現(xiàn)哪些變化。
RouterA(config)#int Se0/1/0
RouterA(config-if)#shutdown //關閉路由器RouterA Se0/1/0接口
(1)RouterA的運行變化
*Mar 1 03:02:46.191: %TRACKING-5-STATE: 1 interface Se0/1/0 line-protocol Up->Down
*Mar 1 03:02:47.819: %HSRP-5-STATECHANGE: FastEthernet0/0.1 Grp 200 state Active-> Speak
*Mar 1 03:02:57.823: %HSRP-5-STATECHANGE: FastEthernet0/0.1 Grp 200 state Speak-> Standby
RouterA#sh standby brief
Interface Grp Prio P State Active Standby Virtual IP
Fa0/0.1 200 100 P Standby 211.68.200.3 local 211.68.200.1
Fa0/0.2 201 105 P Standby 211.68.201.3 local 211.68.201.1
RouterA 原先是HSRP 200組中的活躍路由器,由于我們啟用了接口跟蹤,當DOWN掉接口Se0/1/0以后,RouterA的優(yōu)先級從110默認降低10變?yōu)?00,成為HSRP 200組中的備用路由器。
(2)RouterB的運行變化
*Mar 1 03:02:58.638: %HSRP-5-STATECHANGE: FastEthernet0/0.1 Grp 200 state Standby-> Active
RouterB#sh standby brief
Interface Grp Prio P State Active Standby Virtual IP
Fa0/0.1 200 105 P Active local 211.68.200.2 211.68.200.1
Fa0/0.2 201 110 P Active local 211.68.201.2 211.68.201.1
在HSRP 200組中 RouterB優(yōu)先級105>RouterA的優(yōu)先級100, RouterB成為HSRP 200組和HSRP 201組的活躍路由器。
(3) PC1訪問SERVER1數(shù)據(jù)包的轉發(fā)過程
PC1>trace 17.1.1.2
Tracing route to 17.1.1.2 over a maximum of 30 hops:
1 0 ms 0 ms 0 ms 211.68.200.3
2 1 ms 1 ms 1 ms 18.1.1.1
3 1 ms 0 ms 0 ms 17.1.1.2
由于RouterB已是HSRP 200組新的活躍路由器,當PC1訪問SERVER1的時候,數(shù)據(jù)包改由RouterB來負責轉發(fā)。
(4) PC2訪問SERVER1數(shù)據(jù)包的轉發(fā)過程
PC2>trace 17.1.1.2
Tracing route to 17.1.1.2 over a maximum of 30 hops:
1 0 ms 0 ms 0 ms 211.68.201.3
2 1 ms 1 ms 1 ms 18.1.1.1
3 1 ms 0 ms 0 ms 17.1.1.2
由于RouterB一直是HSRP 201組的活躍路由器, 當PC2訪問SERVER1的時候,數(shù)據(jù)包仍由RouterB來負責轉發(fā)。
經(jīng)以上測試,證實在HSRP200組中當活躍路由器RouterA出現(xiàn)故障的情況下,備用路由器RouterB會立即接替活躍路由器工作,成為HSRP200組和HSRP201組的活躍路由器。PC1和PC2還可以對外網(wǎng)服務器SERVER1進行正常訪問,數(shù)據(jù)包的轉發(fā)均由路由器RouterB來完成,絲毫沒有受到路由器RouterA故障的影響,從而保證了校園網(wǎng)運行的穩(wěn)定。
校園網(wǎng)出口設備是校園網(wǎng)的核心,能否安全穩(wěn)定運行對整個校園網(wǎng)來說至關重要。本文著重介紹了應用HSRP和RIP協(xié)議,實現(xiàn)校園網(wǎng)出口多組負載均衡的網(wǎng)絡設計方案,即使有校園網(wǎng)出口設備出現(xiàn)故障,校園網(wǎng)內(nèi)用戶還可以正常訪問互聯(lián)網(wǎng)資源。
[1] Balaji Sivasubramanian.CCNP SWITCH學習指南[M].北京:人民郵電出版社,2011.
[2] 王文彥.計算機網(wǎng)絡實踐教程[M].北京:人民郵電出版社,2014.
[3] 桑世慶,盧曉慧.交換機/路由器配置與管理[M].北京:機械工業(yè)出版社,2008.
[4] 張志成,鄒仁明.基于冗余架構的校園網(wǎng)多出口系統(tǒng)的設計與實現(xiàn)[J].計算機科學,2012,39:219-222
[5] 王隆杰.思科網(wǎng)絡實驗室CCNP實驗指南[M].北京:電子工業(yè)出版社,2012.
[6] 馬素剛,趙婧如,孫韓林.計算機組網(wǎng)實驗教程[M].西安:西安電子科技大學出版社,2014.
[7] Karl Solie. CCIE實驗指南[M].北京:人民郵電出版社,2010.
[8] 王文彥.計算機網(wǎng)絡實踐教程[M].北京:人民郵電出版社,2014.
[9] 曹騰飛,孟永偉,黃建強.西部高校計算機網(wǎng)絡實驗[J].實驗室研究與探索, 2015,34(4):129-131.
[10] 王 芳,韓國棟.路由器訪問控制列表及其實現(xiàn)技術研究[J].計算機工程與設計,2007,28(23):5638- 5639.
[11] 林元乖.創(chuàng)新型計算機網(wǎng)絡實驗教學研究[J].實驗技術與管理,2010, 27(12):174-177.
[12] 楊 妹,羅 佳.基于Packet Tracer軟件的小型局域網(wǎng)設計與仿真[J].實驗技術與管理,2015,32(1):150-152.
[13] 彭儒武,徐?;? 高校實驗室開放與管理模式的實踐與探索[J].實驗技術與管理,2013(1):129-132.
[14] Swe Kyawt Shinn. Fault Tolerance Virtual Router for Linux Virtual Server[J].IEEE Computer Society,2009:273-275.
[15] Johnny Long.Network Devices.Penetration Tester’s Open Source Toolkit,2005:317-357.
[16] 馮 昊,黃治虎,伍技祥.交換機/路由器配置與管理[M].北京:清華大學出版社,2010.