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