俞 海
(紹興文理學(xué)院 計(jì)算機(jī)科學(xué)與工程系,浙江 紹興312000)
隨著計(jì)算機(jī)網(wǎng)絡(luò)在各行業(yè)的快速發(fā)展與應(yīng)用,對(duì)計(jì)算機(jī)網(wǎng)絡(luò)的可靠性、穩(wěn)定性要求日益提高,特別是網(wǎng)絡(luò)出口路由器[1]的穩(wěn)定運(yùn)行,關(guān)系到整個(gè)企業(yè)網(wǎng)、校園網(wǎng)[2]的可靠程度。虛擬路由冗余協(xié)議(Virtual Router Redundancy Protocol-VRRP)可以在第一跳路由器使用失敗時(shí)維護(hù)路由器間的連通,確保網(wǎng)絡(luò)穩(wěn)定可靠的運(yùn)行[3-4]。本文在GNS3環(huán)境下進(jìn)行VRRP原理實(shí)驗(yàn),然后分別進(jìn)行了命令驗(yàn)證和應(yīng)用場(chǎng)景驗(yàn)證,通過由表及里的驗(yàn)證過程,有助于學(xué)生從不同角度理解VRRP原理及應(yīng)用。
(一)VRRP
VRRP協(xié)議可以把兩臺(tái)或多臺(tái)路由器設(shè)備虛擬成一個(gè)設(shè)備,對(duì)外提供虛擬路由器一個(gè)或多個(gè)IP地址,其中狀態(tài)為MASTER的路由器實(shí)現(xiàn)對(duì)虛擬路由器IP的各種網(wǎng)絡(luò)功能,如ARP請(qǐng)求、ICMP、以及數(shù)據(jù)轉(zhuǎn)發(fā)等;其他不擁有該IP地址的路由器,狀態(tài)為BACKUP,它們除了接收MASTER路由器的VRRP狀態(tài)通告信息外,不執(zhí)行對(duì)外的網(wǎng)絡(luò)功能。當(dāng)MASTER路由器失效時(shí),BACKUP路由器將接管原先MASTER路由器的網(wǎng)絡(luò)功能。
VRRP協(xié)議需要對(duì)每個(gè)路由器的虛擬路由器ID(VRID)和優(yōu)先權(quán)值進(jìn)行配置,通過VRID將路由器進(jìn)行分組,具有相同VRID值的路由器為同一個(gè)組,VRID是一個(gè)0~255的正整數(shù);同一組中的路由器通過使用優(yōu)先權(quán)值來選舉MASTER,優(yōu)先權(quán)大者為MASTER,優(yōu)先權(quán)也是一個(gè)0~255的正整數(shù)。
VRRP協(xié)議使用多播方式傳輸VRRP數(shù)據(jù),VRRP數(shù)據(jù)使用特殊的虛擬源MAC地址發(fā)送數(shù)據(jù)而非自身網(wǎng)卡的MAC地址,VRRP運(yùn)行時(shí)只能由MASTER路由器定時(shí)發(fā)送VRRP通告信息,表示MASTER工作正常。BACKUP只接收VRRP數(shù)據(jù),不發(fā)送數(shù)據(jù),如果一定時(shí)間內(nèi)沒有接收到MASTER的通告信息,各BACKUP將宣告自己成為MASTER,發(fā)送通告信息,重新進(jìn)行MASTER選舉狀態(tài)[5]。
(二)GNS3模擬PC機(jī)的主要方法
GNS3是基于Dynamips的圖形化界面Cisco模擬軟件,對(duì)于路由器和交換機(jī)有較高仿真度[6-8]。在GNS3中可以采用四種方法模擬PC機(jī):用路由器模擬PC機(jī)、將真實(shí)計(jì)算機(jī)接入虛擬實(shí)驗(yàn)平臺(tái)、用VMware[9-10]模擬PC、用VPCS模擬PC機(jī)。
(一)實(shí)驗(yàn)拓?fù)浣Y(jié)構(gòu)及IP地址分配
實(shí)驗(yàn)利用GNS3仿真環(huán)境實(shí)現(xiàn),VRRP實(shí)驗(yàn)拓?fù)淙鐖D1所示。
圖1 VRRP實(shí)驗(yàn)拓?fù)浣Y(jié)構(gòu)圖
在路由器R1和R2上分別配置VRRP協(xié)議。最初,配置路由器R1作為MASTER,路由器2作為BACKUP,路由器R3作為外網(wǎng)路由器;計(jì)算機(jī)C1和C2模擬內(nèi)網(wǎng)計(jì)算機(jī),C3模擬外網(wǎng)計(jì)算機(jī)。IP地址的分配如表1所示。
表1 各設(shè)備端口IP地址分配表
設(shè)備名稱端口IP地址子網(wǎng)掩碼網(wǎng)關(guān)計(jì)算機(jī)C11921681100255255255019216811計(jì)算機(jī)C21921681101255255255019216811計(jì)算機(jī)C3192168422255255255019216811路由器R1e1/0192168212552552550e1/1192168132552552550路由器R2e1/0192168312552552550e1/1192168122552552550路由器R3e1/0192168222552552550e1/1192168322552552550e1/2192168412552552550
(二)VRRP實(shí)驗(yàn)主要配置
1.路由器R1的配置
R1(config)#interface ethernet1/0
R1(config-if)#ip address 192.168.2.1 255.255.255.0
//配置接口e1/0的IP地址
R1(config-if)#no shutdown
R1(config)#interface ethernet1/1
R1(config-if)#ip address 192.168.1.3 255.255.255.0
//配置接口e1/1的IP地址
R1(config-if)#no shutdown
R1(config)#track 100 interfaceethernet1/0 line-protocol
//創(chuàng)建一個(gè)目標(biāo)用來跟蹤接口e1/0的2層狀態(tài)
R1(config-track)#exit
R1(config)#intethernet1/0
R1(config-if)#vrrp 10 ip 192.168.1.1//配置VRRP虛擬IP地址
R1(config-if)#vrrp 10 priority 120//配置VRRP優(yōu)先級(jí)
R1(config-if)#vrrp 10 preempt//配置VRRP為搶占模式
R1(config-if)#vrrp 10 track 100 decrement 50
//若跟蹤目標(biāo)發(fā)生故障,自動(dòng)將VRRP優(yōu)先級(jí)降低50
R1(config-if)#exit
R1(config)#router rip
R1(config-router)#version 2
R1(config-router)#network 192.168.2.0
R1(config-router)#network 192.168.3.0
R1(config-router)#network 192.168.4.0
R1(config-router)#exit
2.路由器R2的配置
R2(config)#interface ethernet1/0
R2(config-if)#ip address 192.168.3.1 255.255.255.0
R2(config-if)#no shutdown
R2(config)#interface ethernet1/1
R2(config-if)#ip address 192.168.1.2 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#vrrp 10 ip 192.168.1.1
R2(config-if)#vrrp 10 preempt
R2(config-if)#exit
R2(config)#router rip
R2(config-router)#version 2
R2(config-router)#network 192.168.2.0
R2(config-router)#network 192.168.3.0
R2(config-router)#network 192.168.4.0
R2(config-router)#exit
3.路由器R3的配置
R3(config)#interface ethernet1/0
R3(config-if)#ip address 192.168.2.2 255.255.255.0
R3(config-if)#no shutdown
R3(config)#interface ethernet1/1
R3(config-if)#ip address 192.168.3.2 255.255.255.0
R3(config-if)#no shutdown
R3(config)#interface ethernet1/2
R3(config-if)#ip address 192.168.4.1 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#router rip
R3(config-router)#version 2
R3(config-router)#network 192.168.1.0
R3(config-router)#network 192.168.2.0
R3(config-router)#network 192.168.3.0
R3(config-router)#exit
(三)仿真實(shí)驗(yàn)驗(yàn)證
按照以上拓?fù)浣Y(jié)構(gòu)完成VRRP協(xié)議配置后,分別使用以下3種方式進(jìn)行驗(yàn)證:ping命令驗(yàn)證、tracert命令驗(yàn)證、FTP應(yīng)用場(chǎng)景驗(yàn)證。
1.ping命令驗(yàn)證
首先,利用計(jì)算機(jī)C1(192.168.1.100)持續(xù)ping計(jì)算機(jī)C3(192.168.4.22),命令為:c:>ping 192.168.4.22 -t,所有ICMP分組從計(jì)算機(jī)C1出發(fā)經(jīng)過路由器R1、路由器R3到達(dá)計(jì)算機(jī)C3,驗(yàn)證結(jié)果如圖2中的ICMP_seq1~I(xiàn)CMP_seq8所示;然后在路由器R1的e1/0端口執(zhí)行shutdown命令或者刪除路由器R1與路由器R2之間的連線,造成路由器R1故障,此時(shí),VRRP協(xié)議跟蹤到路由器R1故障并將其優(yōu)先級(jí)降低為70(初始優(yōu)先級(jí)設(shè)置為120),VRRP協(xié)議將優(yōu)先級(jí)為100的路由器R2選舉為master角色,ICMP分組從計(jì)算機(jī)C1出發(fā)改經(jīng)路由器R2、路由器R3到達(dá)計(jì)算機(jī)C3,驗(yàn)證結(jié)果如圖2中的ICMP_seq13~I(xiàn)CMP_seq18所示,而圖2中的ICMP_seq9~I(xiàn)CMP_seq12這4個(gè)ICMP分組驗(yàn)證了VRRP協(xié)議將路由器R1切換到路由器R2的現(xiàn)象。
圖2 通過ping命令驗(yàn)證vrrp協(xié)議
2.tracert命令驗(yàn)證
在虛擬機(jī)VMware中分別啟動(dòng)2臺(tái)計(jì)算機(jī):Windows Server 2003、Windows XP,將計(jì)算機(jī)Windows XP與GNS3模擬器中的計(jì)算機(jī)C1連接,為計(jì)算機(jī)Windows XP配置IP地址:192.168.1.100,子網(wǎng)掩碼:255.255.255.0;將Windows Server 2003與GNS3模擬器中的計(jì)算機(jī)C3連接,為計(jì)算機(jī)Windows Server 2003配置IP地址:192.168.4.22,子網(wǎng)掩碼:255.255.255.0。在Windows XP(即GNS3模擬器中的計(jì)算機(jī)C1)上使用tracert命令驗(yàn)證到達(dá)目標(biāo)主機(jī)Windows Server 2003(即GNS3模擬器中的計(jì)算機(jī)C3)所經(jīng)過的路由器,具體命令為:c:>tracert 192.168.4.22,經(jīng)過的路徑驗(yàn)證結(jié)果如圖3所示,分別經(jīng)過路由器R1(192.168.1.3)、路由器R3(192.168.2.2),到達(dá)目標(biāo)主機(jī)C3:192.168.4.22。
圖3 路由器R1的e1/0接口正常工作時(shí)tracert驗(yàn)證結(jié)果
在路由器R1的e1/0端口執(zhí)行shutdown命令或者刪除路由器R1與路由器R2之間的連線,造成路由器R1故障,由于VRRP協(xié)議跟蹤到路由器R1故障并將其優(yōu)先級(jí)降低為70(最初默認(rèn)為120),將優(yōu)先級(jí)為100的路由器R2選舉為master角色,在VMware虛擬機(jī)中的Windows XP上輸入命令c:>tracert 192.168.4.22,經(jīng)過的路徑將改變?yōu)椋郝酚善鱎2(192.168.1.2)、路由器R3(192.168.3.2),到達(dá)目標(biāo)主機(jī)C3:192.168.4.22,驗(yàn)證結(jié)果如圖4所示。
圖4 路由器R1的e1/0接口非正常工作時(shí)tracert驗(yàn)證結(jié)果
3.FTP應(yīng)用場(chǎng)景驗(yàn)證
將以上VMware中的虛擬計(jì)算機(jī)Windows Server 2003配置成FTP服務(wù)器,在虛擬計(jì)算機(jī)Windows XP上安裝Wireshark協(xié)議分析軟件,捕獲流經(jīng)虛擬計(jì)算機(jī)Windows XP網(wǎng)絡(luò)適配器的數(shù)據(jù)包,數(shù)據(jù)包捕獲條件設(shè)置為:host 192.168.1.100,并使Wireshark處于監(jiān)聽狀態(tài)。虛擬計(jì)算機(jī)Windows XP從虛擬計(jì)算機(jī)Windows Server 2003(FTP服務(wù)器)下載文件,這時(shí)虛擬計(jì)算機(jī)Windows XP上的協(xié)議分析軟件Wireshark捕獲FTP下載文件的數(shù)據(jù)包,F(xiàn)TP下載數(shù)據(jù)包經(jīng)過路徑為:計(jì)算機(jī)C3→路由器R3→路由器R1→計(jì)算機(jī)C1。下載過程中對(duì)路由器R1的e1/0端口執(zhí)行shutdown命令或者刪除路由器R1與R2之間的連線,造成路由器R1故障,由于VRRP協(xié)議跟蹤到路由器R1故障并將其優(yōu)先級(jí)降低為70(最初默認(rèn)為120),將優(yōu)先級(jí)為100的路由器R2選舉為master角色,下載文件的數(shù)據(jù)包經(jīng)過路徑改為:計(jì)算機(jī)C3→路由器R3→路由器R2→計(jì)算機(jī)C1,捕獲的數(shù)據(jù)包如圖5所示。
圖5 Wireshark捕獲的FTP數(shù)據(jù)包
任選一個(gè)“FTP-DATA”數(shù)據(jù)包,依次點(diǎn)擊Wireshark的菜單項(xiàng):“statistics”→“IO Graphs”可以生成FTP文件下載速率統(tǒng)計(jì)圖(如圖6所示),從圖中可見:由于路由器R1出現(xiàn)故障,文件下載的第77s傳輸速率降為0bps,VRRP協(xié)議選舉路由器R2為master角色后,文件下載傳輸速率恢復(fù)正常直到下載完畢。
圖6 FTP文件下載速率統(tǒng)計(jì)圖
分析Wireshark捕獲的數(shù)據(jù)包內(nèi)容可以發(fā)現(xiàn):第11160號(hào)數(shù)據(jù)包記錄了路由器R1(192.168.1.3)出現(xiàn)故障,其優(yōu)先級(jí)被VRRP協(xié)議由初始值120降低為70。此時(shí),路由器R1的優(yōu)先級(jí)(70)小于路由器R2的優(yōu)先級(jí)(100),分別如圖7(a)、7(b)所示;把Wireshark捕獲數(shù)據(jù)包的顯示過濾條件為:VRRP,將顯示所有VRRP協(xié)議數(shù)據(jù)包,第11171號(hào)數(shù)據(jù)包記錄了路由器R2(192.168.1.2)被VRRP協(xié)議選舉為master角色,替換了路由器R1,如圖8所示。
圖7(a) 路由器R1的優(yōu)先級(jí)降低為70
圖7(b) 路由器R2的優(yōu)先級(jí)為100,搶占成為master路由器
圖8 路由器R2(192.168.1.2)替換了路由器R1(192.168.1.3)
利用GNS3軟件實(shí)現(xiàn)了虛擬路由冗余協(xié)議VRRP原理的仿真實(shí)驗(yàn),通過ping命令、tracert命令、FTP應(yīng)用場(chǎng)景等多種方式對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行驗(yàn)證,這種多層面、多角度的實(shí)驗(yàn)驗(yàn)證方式有助于學(xué)生對(duì)實(shí)驗(yàn)?zāi)康暮蛯?shí)驗(yàn)內(nèi)容的深刻理解。
參考文獻(xiàn):
[1]王麗娜,侯健敏,劉炎,等.SLA和VRRP的多出口校園網(wǎng)可靠性實(shí)驗(yàn)設(shè)計(jì)[J].實(shí)驗(yàn)室研究與探索,2016,35(7):102-107.
[2]蔣建軍,陳靖棟.新一代校園網(wǎng)絡(luò)架構(gòu)的仿真與優(yōu)化研究[J].現(xiàn)代電子技術(shù),2016,39(14):69-72.
[3]李軍,李光,邸永強(qiáng),等.基于虛擬路由冗余協(xié)議和雙向轉(zhuǎn)發(fā)檢測(cè)的基層氣象通信網(wǎng)絡(luò)設(shè)計(jì)和實(shí)現(xiàn)[J].氣象科技,2017,45(2):281-284.
[4]董錚,唐海軍.基于路由交換技術(shù)的靜態(tài)專線冗余備份方法[J].電信科學(xué),2015,31(10):197-202.
[5]Richard Froom,Erum Frahim.CCNP SWITCH學(xué)習(xí)指南[M].孫玲,韓鵬,譯.北京:人民郵電出版社,2016.
[6]唐燈平,朱艷琴,楊哲,等.計(jì)算機(jī)網(wǎng)絡(luò)管理仿真平臺(tái)防火墻實(shí)驗(yàn)設(shè)計(jì)[J].實(shí)驗(yàn)技術(shù)與管理,2015,32(4):156-160.
[7]張良斌,俞華豐,高昆.單機(jī)環(huán)境中網(wǎng)絡(luò)攻防實(shí)戰(zhàn)演練平臺(tái)的設(shè)計(jì)與研究[J].實(shí)驗(yàn)技術(shù)與管理,2014,31(10):144-147.
[8]王麗娜,劉炎.基于GNS3的冗余網(wǎng)絡(luò)仿真[J].實(shí)驗(yàn)室研究與探索,2013,32(8):55-59.
[9]王鳳娥,溫高磊,霍杰標(biāo).基于Vmware與GNS3實(shí)現(xiàn)虛擬網(wǎng)絡(luò)教學(xué)平臺(tái)[J].電腦知識(shí)與技術(shù),2015,11(13):144-145.
[10]李林林,孫良旭,吳建勝,等.基于GNS3與VirtualBox構(gòu)建虛擬網(wǎng)絡(luò)工程實(shí)驗(yàn)室研究[J].實(shí)驗(yàn)技術(shù)與管理,2015,32(9):144-148.