曹雪峰, 孟 偉, 傅冬穎
(河北民族師范學院 a.數(shù)學與計算機系; b.教務處,河北 承德 067000)
虛擬網(wǎng)絡環(huán)境下路由綜合實驗設計與實現(xiàn)
曹雪峰a, 孟 偉b, 傅冬穎a
(河北民族師范學院 a.數(shù)學與計算機系; b.教務處,河北 承德 067000)
采用GNS3中集成的IOU構(gòu)建路由綜合實驗環(huán)境,設計了實驗方案,通過部署動態(tài)路由選擇協(xié)議實現(xiàn)多個自治系統(tǒng)的互聯(lián)互通。利用Wireshark協(xié)議分析軟件捕獲報文,對OSPF協(xié)議的DR和BDR選舉過程進行分析,解釋了OSPF的5種常用LSA,驗證了路由重分配的工作過程,并對BGP協(xié)議的工作原理進行說明,使學生從理論和實踐兩方面更好地理解路由技術的工作原理,增強了實踐動手能力和綜合應用能力。
虛擬網(wǎng)絡; 動態(tài)路由; 路由重分配
路由技術是計算機網(wǎng)絡和網(wǎng)絡互聯(lián)技術等課程的核心內(nèi)容之一,要求學生理解其原理,并掌握實際應用。通過設計路由綜合實驗,實現(xiàn)不同網(wǎng)絡結(jié)點之間的通信,能夠使學生從理論和實踐兩方面更好地掌握網(wǎng)絡層路由技術[1-3]。如果使用真實物理設備進行實驗,存在實驗設備配備不足的問題,利用GNS3及其整合的IOU可以解決這個問題[4-5]。IOU的運行環(huán)境是基于Unix的操作系統(tǒng),該系統(tǒng)可以運行在Oracle VirtualBox或者VMware虛擬機上,由于是把IOU鏡像運行在Unix系統(tǒng)上,故對系統(tǒng)資源的占用非常低,支持在單機上模擬大規(guī)模網(wǎng)絡。另外GNS3的IOU在拓撲的構(gòu)建方面比WEB IOU靈活了很多,操作更方便[6]。利用Wireshark分析虛擬網(wǎng)絡中捕獲的報文來學習路由選擇協(xié)議的工作原理[7-8],進而掌握路由技術的應用。
路由選擇是指路由器根據(jù)通信網(wǎng)絡的情況,按照一定的策略為報文選擇一條可用的路由的過程。路由器只能在路由表中自動添加直連網(wǎng)段的路由信息,而非直連網(wǎng)段的路由信息需要利用路由選擇協(xié)議來添加,路由選擇算法是其核心,包括靜態(tài)路由和動態(tài)路由。網(wǎng)絡管理員根據(jù)網(wǎng)絡拓撲結(jié)構(gòu)手動配置靜態(tài)路由,適用于規(guī)模較小并且網(wǎng)絡拓撲結(jié)構(gòu)比較穩(wěn)定的網(wǎng)絡。動態(tài)路由是在路由器上運行路由選擇協(xié)議,通過路由器之間不斷交換路由信息構(gòu)建路由表。動態(tài)路由能適應網(wǎng)絡中的通信量和拓撲的變化自動進行路由更新,但對網(wǎng)絡資源需求較多。
大規(guī)?;ヂ?lián)網(wǎng)中路由器數(shù)量巨大,采用層次路由,將大的互聯(lián)網(wǎng)劃分成多個自治系統(tǒng)(Autonomous System,AS),不同的自治系統(tǒng)用自治系統(tǒng)號區(qū)分。在一個自治系統(tǒng)內(nèi)的路由器可以自由地選擇所用的機制,用來發(fā)現(xiàn)路由、傳播路由、確認路由以及檢測路由的一致性,同時還使用一種自治系統(tǒng)之間的路由選擇協(xié)議用以確定報文在自治系統(tǒng)之間的路由。自治系統(tǒng)內(nèi)部的路由選擇協(xié)議即內(nèi)部網(wǎng)關協(xié)議(Interior Gateway Protocol,IGP),常用IGP協(xié)議包括RIP、OSPF、IS-IS等。自治系統(tǒng)之間的路由選擇協(xié)議即外部網(wǎng)關協(xié)議(Exterior Gateway Protocol,EGP),常用EGP協(xié)議是BGP-4[9-14]。
2.1 實驗拓撲結(jié)構(gòu)
按圖1所示搭建網(wǎng)絡。圖中:所有路由器和FR幀中繼交換機是運行i86bi-linux-l3-adventerprisek9-12.4.bin映像的IOU路由器;SW交換機是運行i86bi-linux-l2-adventerprisek9-15.1a.bin映像的IOU交換機。
圖1 路由綜合實驗網(wǎng)絡拓撲結(jié)構(gòu)
2.2 設備配置
R1路由器主要配置如下[15-16]:
R1#show run
□
version 12.4
!
hostname R1
!
interface Loopback0
ip address 1.1.1.1 255.255.255.0
!
interface Serial2/0
ip address 172.16.10.1 255.255.255.0
encapsulation ppp
serial restart-delay 0
!
interface Serial2/1
ip address 172.16.20.1 255.255.255.0
encapsulation ppp
serial restart-delay 0
!
interface Serial2/2
ip address 172.19.10.1 255.255.255.0
encapsulation ppp
serial restart-delay 0
!
interface Serial2/3
ip address 172.18.10.1 255.255.255.0
encapsulation frame-relay IETF
serial restart-delay 0
frame-relay map ip 172.18.10.2 100 broadcast
no frame-relay inverse-arp
!
□
router ospf 1
log-adjacency-changes
redistribute rip metric 200 subnets
network 1.1.1.0 0.0.0.255 area 0
network 172.16.10.0 0.0.0.255 area 0
network 172.16.20.0 0.0.0.255 area 0
network 172.18.10.0 0.0.0.255 area 2
neighbor 172.18.10.2
!
router rip
version 2
redistribute ospf 1 metric 10
network 172.19.0.0
!
router bgp 100
no synchronization
bgp log-neighbor-changes
neighbor 2.2.2.2 remote-as 100
neighbor 2.2.2.2 update-source Loopback0
neighbor 2.2.2.2 next-hop-self
neighbor 8.8.8.8 remote-as 100
neighbor 8.8.8.8 update-source Loopback0
neighbor 8.8.8.8 next-hop-self
no auto-summary
!
□
end
R9路由器主要配置如下:
R9#show run
□
version 12.4
!
hostname R9
!
interface Loopback0
ip address 9.9.9.9 255.255.255.0
ip router isis
!
interface Serial2/0
ip address 10.0.0.2 255.255.255.0
encapsulation ppp
serial restart-delay 0
!
interface Serial2/1
ip address 10.1.10.1 255.255.255.0
ip router isis
encapsulation ppp
serial restart-delay 0
!
interface Serial2/2
ip address 10.1.20.1 255.255.255.0
ip router isis
encapsulation ppp
serial restart-delay 0
isis circuit-type level-2-only
!
□
router isis
net 49.0001.1111.1111.1111.00
!
router bgp 200
no synchronization
bgp log-neighbor-changes
neighbor 10.0.0.1 remote-as 100
neighbor 10.10.10.10 remote-as 200
neighbor 10.10.10.10 update-source Loopback0
neighbor 10.10.10.10 next-hop-self
neighbor 13.13.13.13 remote-as 200
neighbor 13.13.13.13 update-source Loopback0
neighbor 13.13.13.13 next-hop-self
no auto-summary
!
□
end
其他路由器參考R1和R9進行配置,在AS100中配置RIP和OSPF協(xié)議,利用路由重分配在RIP和OSPF中分別引入對方的路由信息。在AS200中配置IS-IS協(xié)議。在4個自治系統(tǒng)之間配置EBGP,在AS100中的R1、R2和R8以及AS200中的R9、R10和R13路由器上配置IBGP。最終實現(xiàn)各自治系統(tǒng)內(nèi)部網(wǎng)絡互聯(lián)互通,并且能夠從AS300中的192.168.10.1 ping通AS400中的192.168.60.1。
3.1 OSPF中DR/BDR的選舉
在廣播多路訪問網(wǎng)絡中,OSPF需要選舉DR和BDR來建立起作為鏈路狀態(tài)和LSA更新的中心節(jié)點。選舉利用Hello報文內(nèi)的Router ID和優(yōu)先權(quán)(Priority)字段值來確定。優(yōu)先權(quán)字段值大小從0到255,優(yōu)先權(quán)值最高的路由器為DR。如果優(yōu)先權(quán)值大小一樣,則Router ID值最高的路由器選舉為DR;優(yōu)先權(quán)值次高的路由器選舉為BDR。需要注意的是:只有在廣播或NBMA類型接口才會選舉DR,在點到點或點到多點類型的接口上不需要選舉DR。一旦DR和BDR路由器選舉完畢,其他路由器(DR others)只與DR、BDR路由器之間建立鄰接關系。R3、R4和R5之間選舉DR/BDR過程中在R3-SW鏈路上捕獲的OSPF Hello報文如圖2所示。
圖2 R3-SW鏈路上捕獲的Hello報文
68號報文是R3發(fā)送的多播Hello報文,DR為172.17.10.1,BDR為0.0.0.0,還沒有鄰居路由器。75號報文是收到R4發(fā)送的多播Hello報文,DR為172.17.10.2,BDR為0.0.0.0,還沒有鄰居路由器。然后R3發(fā)送83號多播Hello報文,DR為172.17.10.1,BDR為0.0.0.0,鄰居路由器ID為172.17.10.2。87號報文是R4返回的對83號報文的單播Hello響應報文,DR為172.17.10.2,BDR為0.0.0.0,鄰居路由器ID為3.3.3.3。至此R3和R4建立雙向通信關系,路由器ID出現(xiàn)在對方的鄰居列表中。
106號報文是收到R5發(fā)送的多播Hello報文,DR為172.17.10.3,BDR為0.0.0.0,鄰居路由器ID為3.3.3.3和172.17.10.2。然后108號報文是R3返回的對106號報文的單播Hello響應報文,DR為172.17.10.3,BDR為172.17.10.1,鄰居路由器ID為172.17.10.2和172.17.10.3。至此DR選舉結(jié)束繼續(xù)進行BDR選舉。
130號報文是R4發(fā)送的多播Hello報文,DR為172.17.10.3,BDR為172.17.10.2,鄰居路由器ID為3.3.3.3和172.17.10.3。136號報文是R3發(fā)送的多播Hello報文,DR為172.17.10.3,BDR為172.17.10.2,鄰居路由器ID為172.17.10.2和172.17.10.3。139號報文是R5發(fā)送的多播Hello報文,DR為172.17.10.3,BDR為172.17.10.2,鄰居路由器ID為3.3.3.3和172.17.10.2。至此BDR選舉結(jié)束。R3、R4和R5上DR/BDR選舉結(jié)果如下:
R3#showipospfneighborNeighborIDPriStateDeadTimeAddressInterface2.2.2.20FULL/-00:00:37172.16.30.1Serial2/11.1.1.10FULL/-00:00:32172.16.20.1Serial2/0172.17.10.21FULL/BDR00:00:32172.17.10.2Ethernet0/0172.17.10.31FULL/DR00:00:36172.17.10.3Ethernet0/0 R4#showipospfneighborNeighborIDPri State DeadTimeAddressInterface3.3.3.31FULL/DROTHER00:00:33172.17.10.1Ethernet0/1172.17.10.31FULL/DR 00:00:31172.17.10.3Ethernet0/1 R5#showipospfneighborNeighborIDPri State DeadTimeAddressInterface3.3.3.31FULL/DROTHER00:00:32172.17.10.1Ethernet0/0172.17.10.21FULL/BDR 00:00:32172.17.10.2Ethernet0/0
3.2 理解OSPF LSA
OSPF協(xié)議中常用LSA有5種類型。
1類LSA(路由器LSA):由每臺路由器產(chǎn)生,它被擴散到當前區(qū)域的所有路由器。
2類LSA(網(wǎng)絡鏈路LSA):始發(fā)于指定路由器(DR),網(wǎng)絡鏈路LSA也只能在始發(fā)這條LSA的區(qū)域內(nèi)進行擴散。
3類LSA(匯總鏈路到網(wǎng)絡LSA):由ABR生成,將一個區(qū)域內(nèi)的網(wǎng)絡通告給其他區(qū)域。
4類LSA(匯總鏈路到AS邊界路由器LSA):通告的是一個區(qū)域外部的ASBR路由器,提供一條前往該ASBR的路由。
5類LSA(自治系統(tǒng)外部鏈路LSA):是由ASBR路由器始發(fā)的自治系統(tǒng)外的網(wǎng)絡的路由,在整個自治系統(tǒng)內(nèi)擴散。
下面是在R3路由器的鏈路狀態(tài)數(shù)據(jù)庫中的LSA:
R3#showipospfdatabase OSPFRouterwithID(3.3.3.3)(ProcessID1) RouterLinkStates(Area0)LinkIDADVRouterAgeSeq#ChecksumLinkcount1.1.1.11.1.1.15590x800000030x00A0FD52.2.2.22.2.2.25590x800000030x00335153.3.3.33.3.3.35630x800000020x00FD695 SummaryNetLinkStates(Area0)LinkIDADVRouterAgeSeq#Checksum172.17.10.03.3.3.35630x800000010x0093CB172.18.10.01.1.1.15630x800000010x00E14E RouterLinkStates(Area1)LinkIDADVRouterAgeSeq#ChecksumLinkcount3.3.3.33.3.3.35270x800000020x002D4F1172.17.10.2172.17.10.25320x800000020x001CE41172.17.10.3172.17.10.35330x800000020x001AE31 NetLinkStates(Area1)LinkIDADVRouterAgeSeq#Checksum172.17.10.3172.17.10.35280x800000020x00E21C SummaryNetLinkStates(Area1)LinkIDADVRouterAgeSeq#Checksum1.1.1.13.3.3.35660x800000010x005F883.3.3.33.3.3.35660x800000010x00AE75172.16.10.03.3.3.35660x800000010x0040A9172.16.20.03.3.3.35660x800000010x004FD0172.16.30.03.3.3.35660x800000010x00E035172.18.10.03.3.3.35650x800000010x0028BF SummaryASBLinkStates(Area1)LinkIDADVRouterAgeSeqChecksum1.1.1.13.3.3.35660x800000010x007576 Type-5ASExternalLinkStatesLinkIDADVRouterAgeSeq#ChecksumTag8.0.0.01.1.1.15470x800000010x00706F0172.19.10.01.1.1.15760x800000010x00C05D0172.19.10.21.1.1.15760x800000010x00AC6F0172.19.20.01.1.1.15490x800000010x0052C10
其中在Area0有3條1類LSA和2條3類LSA。在Area1有3條1類LSA,1條2類LSA,6條3類LSA,1條4類LSA和4條5類LSA。
3.3 路由重分配
由于在AS100中運行著RIP和OSPF協(xié)議,因此采用路由重分配相互通告路由信息,實現(xiàn)自治系統(tǒng)內(nèi)部網(wǎng)絡的互聯(lián)互通。在R1上進行路由重分配配置后,路由器R3的路由表內(nèi)容如圖3所示。
圖3 R3的路由表
圖中:路由指示符為“O E2”的4條2類外部路由是ASBR(路由器R1)通告的外部路由。它們是路由重分配后引入OSPF路由域中的RIP路由。
路由器R7的路由表如圖4所示。圖中路由開銷值為“11”的6條RIP路由是路由重分配后引入RIP路由域中的OSPF路由。
可以看到,RIP路由和OSPF路由分別被引入到對方的路由域中。
圖4 R7的路由表
3.4 EBGP和IBGP
BGP在位于不同自治系統(tǒng)的路由器之間運行時被稱為EBGP,運行EBGP的路由器彼此直接相連,如R2和R9。BGP在位于同一個自治系統(tǒng)的路由器之間運行時被稱為IBGP,IBGP用于在自治系統(tǒng)內(nèi)部交換BGP信息,讓所有的內(nèi)部BGP鄰居擁有相同的外部自治系統(tǒng)的BGP路由信息,并將這些信息傳播到其他自治系統(tǒng)。所有同一個自治系統(tǒng)內(nèi)的IBGP路由器建立全連接的關系,并且關閉同步機制,避免引發(fā)路由環(huán)路或路由黑洞。圖5所示為AS200中IBGP路由器R10的路由表??梢钥吹?外部路由信息出現(xiàn)在路由表中。
圖5 R10的路由表
而AS100中路由器R3由于不在中轉(zhuǎn)路徑上,沒有配置IBGP,因此,在R3的路由表中就沒有外部路由信息(見圖3)。
通過以上配置能夠從AS300中的192.168.10.1ping通AS400中的192.168.60.1,結(jié)果如圖6所示。
圖6 ping命令執(zhí)行結(jié)果
通過在虛擬網(wǎng)絡環(huán)境下設計路由綜合實驗,對各種路由選擇協(xié)議進行配置,實現(xiàn)不同網(wǎng)絡結(jié)點之間的通信。利用協(xié)議分析的方法,分析了動態(tài)路由選擇協(xié)議的工作原理,使學生能夠從理論和實踐兩方面更好地理解和掌握路由技術,培養(yǎng)學生分析問題、解決問題和綜合運用知識的能力。
[1] 李林林,孫良旭,吳建勝,等. 單機環(huán)境下路由交換技術綜合實驗設計[J]. 實驗室研究與探索,2015,34(8):115-118.
[2] 李 永,甘新玲. 基于PacketTracer的路由綜合實驗設計與實現(xiàn)[J]. 實驗室研究與探索,2015,34(9):111-114.
[3] 龍艷軍,歐陽建權(quán),俞佳曦,等. 基于GNS3和VMware的虛擬網(wǎng)絡系統(tǒng)集成實驗室研究[J]. 實驗技術與管理,2013,30(2): 90-93.
[4] 黃 睿,周 偉. 基于Web IOU和VMware的虛擬網(wǎng)絡實驗室研究[J]. 電腦知識與技術,2013,36(9): 8234-8236,8240.
[5] 陸利剛,黃 靜. Web IOU軟件在計算機網(wǎng)絡實驗教學中的應用[J]. 現(xiàn)代計算機,2013(13): 56-58.
[6] "RedNectar" Chris Welsh. GNS3 Network Simulation Guide[M]. Birmingham:Packt Publishing Ltd.,2013.
[7] Sanders C. Wireshark 數(shù)據(jù)包分析實戰(zhàn)[M]. 2版.諸葛建偉,陳 琳,許偉林譯. 北京:人民郵電出版社,2013.
[8] Orebaugh A,Ramirez G,Burke J,etal. Wireshark & Ethereal Network Protocol Analyzer Toolkit[M]. Rockland: Syngress Publishing Inc,2007.
[9] 曹雪峰. 計算機網(wǎng)絡原理—基于實驗的協(xié)議分析方法[M]. 北京:清華大學出版社,2014.
[10] Oran D. OSI IS-IS Intra-domain Routing Protocol[S]. IETF RFC 1142,1990.
[11] Rekhter Y, Li T. A Border Gateway Protocol 4 (BGP-4)[S]. IETF RFC 1771,1995.
[12] Moy J. OSPF Version 2[S]. IETF RFC 2328,1998.
[13] Doyle J, Carroll J. TCP/IP路由技術(第一卷)[M]. 2版.葛建立,吳劍章譯. 北京:人民郵電出版社,2007.
[14] Doyle J, Carroll JD. TCP/IP路由技術(第二卷)[M]. 夏俊杰譯. 北京:人民郵電出版社,2009.
[15] Solie K. CCIE實驗指南(第1卷)[M]. 李 津,卓 林譯. 北京:人民郵電出版社,2002.
[16] Solie K,Lynch L. CCIE實驗指南(第2卷)[M]. 姚軍玲,顧彬,梅洪濤等譯. 北京:人民郵電出版社,2006.
Design and Realization of Integrated Routing Experiment Based on Virtual Network Environment
CAOXuefenga,MENGWeib,FUDongyinga
(a. Department of Mathematics and Computer; b. Office of Academic Affairs,Hebei Normal University for Nationalities, Chengde 067000, Heibei, China)
The paper uses IOU integrated in GNS3 to build routing comprehensive experimental environment, designs the experiment scheme. The dynamic routing protocol is developed to implement multiple autonomous system connectivity. The DR and BDR election process of OSPF protocol is analyzed by Wireshark software with the aid of protocol analysis method. The five kinds of commonly use of LSA of the OSPF are explained, the routing redistribution’s working process is verified and the working principle of BGP protocol is illustrated. The experiment lets students better understand the working principle of routing technology from both theoretical and practical, also enhances the practical ability and comprehensive application ability.
virtual network; dynamic routing; routing redistribution
2016-10-18
國家民委高等教育教學改革研究項目(15114);河北省高等學??茖W技術研究項目(ZC2016116)
曹雪峰(1967-),男,河北隆化人,碩士,副教授,研究方向:計算機網(wǎng)絡技術。Tel.:18230143496;E-mail:cxf_cd@163.com
TP 391.9
A
1006-7167(2017)06-0098-05