劉 金 生
(河北師范大學(xué) 數(shù)學(xué)與信息科學(xué)學(xué)院,河北 石家莊 050024)
NAT工作原理分析及其實(shí)驗(yàn)設(shè)計(jì)與仿真
劉 金 生
(河北師范大學(xué) 數(shù)學(xué)與信息科學(xué)學(xué)院,河北 石家莊 050024)
針對(duì)計(jì)算機(jī)網(wǎng)絡(luò)理論和實(shí)訓(xùn)教學(xué)中存在的問(wèn)題,利用Cisco PacketTracer 仿真軟件搭建虛擬網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái),完成靜態(tài)NAT和NAPT網(wǎng)絡(luò)實(shí)驗(yàn).通過(guò)模擬局域網(wǎng)內(nèi)部主機(jī)和外網(wǎng)主機(jī)之間數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)過(guò)程,分析各層協(xié)議數(shù)據(jù)單元格式,以加深學(xué)生對(duì)NAT工作原理的理解,提高課程的教學(xué)質(zhì)量.
PacketTracer;靜態(tài)NAT;NAPT;私有地址;全局地址
計(jì)算機(jī)網(wǎng)絡(luò)是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)和物聯(lián)網(wǎng)專業(yè)學(xué)生的一門(mén)必修課.此課程培養(yǎng)目標(biāo)不僅要求學(xué)生具有扎實(shí)的計(jì)算機(jī)網(wǎng)絡(luò)理論知識(shí),而且還要具有很強(qiáng)的動(dòng)手實(shí)踐能力.在計(jì)算機(jī)網(wǎng)絡(luò)理論知識(shí)講授的過(guò)程中,由于課程知識(shí)點(diǎn)多、理論性強(qiáng),學(xué)生學(xué)習(xí)起來(lái)常常感到抽象枯燥,對(duì)課程知識(shí)難以理解.隨著高校的擴(kuò)招,許多高校的網(wǎng)絡(luò)設(shè)備已經(jīng)不能滿足眾多學(xué)生動(dòng)手實(shí)踐的需求,很多網(wǎng)絡(luò)實(shí)驗(yàn)無(wú)法進(jìn)行.筆者在計(jì)算機(jī)網(wǎng)絡(luò)課程的教學(xué)過(guò)程中,利用Cisco PacketTracer仿真軟件輔助理論教學(xué),搭建虛擬網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái),設(shè)計(jì)完成了各種網(wǎng)絡(luò)實(shí)驗(yàn).本文以NAT[1](Network Address Translation)實(shí)驗(yàn)為案例,講解NAT的工作原理,通過(guò)PacketTracer仿真軟件設(shè)計(jì)完成靜態(tài)NAT和NAPT(Network Address Port Translation)實(shí)驗(yàn).
NAT的中文意思是“網(wǎng)絡(luò)地址轉(zhuǎn)換”, 顧名思義就是局域網(wǎng)內(nèi)部主機(jī)和互聯(lián)網(wǎng)上主機(jī)通訊時(shí),把內(nèi)部主機(jī)使用的私有地址映射成合法IP地址的技術(shù).NAT的工作過(guò)程就是局域網(wǎng)內(nèi)部主機(jī)之間使用私有地址(不需要申請(qǐng)IP地址)通訊,而當(dāng)內(nèi)部主機(jī)要與外部網(wǎng)絡(luò)主機(jī)進(jìn)行通訊時(shí),本地NAT路由器從內(nèi)部接口接收IP數(shù)據(jù)報(bào),將報(bào)文首部中的私有地址替換成全局地址(需要向NIC或ISP申請(qǐng)IP地址),然后通過(guò)外部接口路由轉(zhuǎn)發(fā)出去.反之,本地NAT路由器從外部接口接收來(lái)自外網(wǎng)的IP數(shù)據(jù)報(bào),通過(guò)網(wǎng)絡(luò)地址轉(zhuǎn)換,將報(bào)文首部中的全局地址替換成分配給內(nèi)部主機(jī)使用的私有地址,然后通過(guò)內(nèi)部接口轉(zhuǎn)發(fā)到內(nèi)部主機(jī).
2.1 實(shí)驗(yàn)任務(wù)
在本地局域網(wǎng)路由器上配置靜態(tài)NAT和NAPT,并在內(nèi)部接口和外部接口啟用NAT.內(nèi)網(wǎng)主機(jī)之間使用私有地址彼此通訊.內(nèi)網(wǎng)所有主機(jī)可以共享一個(gè)合法的IP地址與Internet上的主機(jī)通訊,外網(wǎng)主機(jī)可以訪問(wèn)本地局域網(wǎng)的WWW服務(wù)器.
2.2 實(shí)驗(yàn)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖
根據(jù)實(shí)驗(yàn)要求,打開(kāi)Cisco PacketTracer應(yīng)用程序,在網(wǎng)絡(luò)設(shè)備庫(kù)中選擇2臺(tái)Cisco 2811 路由器、2臺(tái)Cisco Catalyst 2960 交換機(jī)、4臺(tái)PC機(jī)和1臺(tái)服務(wù)器添加到邏輯工作區(qū).點(diǎn)擊路由器圖標(biāo)打開(kāi),關(guān)閉電源,從模塊列表中選擇“WIC-1T”模塊添加到空的擴(kuò)展槽內(nèi),打開(kāi)電源,重啟路由器,為路由器添加一個(gè)Serial0/3/0接口.路由器與交換機(jī)、交換機(jī)與主機(jī)都選擇使用直通雙絞線相連.兩臺(tái)路由器選擇Serial DCE電纜相連,其中DCE一端要提供時(shí)鐘速率.設(shè)計(jì)好的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)[2-8]如圖1所示.
圖1 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖
2.3 網(wǎng)絡(luò)地址規(guī)劃
本地局域網(wǎng)使用不需要申請(qǐng)的私有地址塊192.168.1.0/24,遠(yuǎn)程網(wǎng)絡(luò)使用全局地址塊200.100.10.0/24,兩臺(tái)路由器之間的共享網(wǎng)段使用全局地址塊201.101.10.0/30,分配給本地局域網(wǎng)WWW Server的全局地址為201.101.10.5.
Router0的內(nèi)部接口Fa0/0:IP地址192.168.1.1,子網(wǎng)掩碼255.255.255.0;
Router0外部接口ser0/3/0:IP地址201.101.10.1,子網(wǎng)掩碼255.255.255.252.
Router1的內(nèi)部接口Fa0/0:IP地址200.100.10.1,子網(wǎng)掩碼255.255.255.0;
Router1外部接口ser0/3/0:IP地址201.101.10.2,子網(wǎng)掩碼255.255.255.252.
主機(jī)地址配置清單見(jiàn)表1.
表1 主機(jī)地址配置清單
2.4 路由器的配置
(1) 在本地路由器Router0上配置靜態(tài)NAT和NAPT,添加訪問(wèn)外網(wǎng)的默認(rèn)路由
步驟如下:
Router>enable
Router#configure terminal
Router(config)#interface fa0/0 //配置內(nèi)網(wǎng)接口fa0/0
Router(config-if)#ip address 192.168.1.1 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#interface ser0/3/0 //配置外網(wǎng)接口ser0/3/0
Router(config-if)#clock rate 64000
Router(config-if)#ip address 201.101.10.1 255.255.255.252
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#ip route 0.0.0.0 0.0.0.0 201.101.10.2//配置訪問(wèn)外網(wǎng)的默認(rèn)路由
Router(config)#ip nat inside source static 192.168.1.2 201.101.10.5 //為WWW服務(wù)器配置靜態(tài)NAT
Router(config)#access-list 10 permit 192.168.1.0 0.0.0.255 //定義訪問(wèn)控制列表
Router(config)#ip nat inside source list 10 interface ser0/3/0 overload //為內(nèi)網(wǎng)主機(jī)配置NAPT
Router(config)#interface fa0/0
Router(config-if)#ip nat inside //啟用NAT
Router(config-if)#exit
Router(config)#interface ser0/3/0
Router(config-if)#ip nat outside //啟用NAT
(2) 在遠(yuǎn)端路由器Router1上配置接口地址,添加訪問(wèn)WWW Server的靜態(tài)路由
步驟如下:
Router>enable
Router#configure terminal
Router(config)#interface fa0/0//配置內(nèi)網(wǎng)接口fa0/0
Router(config-if)#ip address 200.100.10.1 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#interface ser0/3/0 //配置外網(wǎng)接口ser0/3/0
Router(config-if)#ip address 201.101.10.2 255.255.255.252
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#ip route 201.101.10.4 255.255.255.252 201.101.10.1 //配置到內(nèi)網(wǎng)服務(wù)器的靜態(tài)路由
3.1 結(jié)果驗(yàn)證
(1)在主機(jī)PC0上,進(jìn)入命令行,訪問(wèn)外網(wǎng)主機(jī)PC3
在命令提示符下輸入PC>ping 200.100.10.2,發(fā)送4個(gè)請(qǐng)求包,收到4個(gè)應(yīng)答包,丟包0個(gè),表明本地局域網(wǎng)主機(jī)PC0可以跟外網(wǎng)主機(jī)PC3通訊.
(2)在外網(wǎng)主機(jī)PC3上,訪問(wèn)本地局域網(wǎng)的WWW Server
點(diǎn)擊PC3圖標(biāo),選擇“browse”打開(kāi)瀏覽器,在地址欄輸入“http://200.100.10.5”,能夠打開(kāi)主頁(yè),表明外網(wǎng)主機(jī)可以訪問(wèn)內(nèi)網(wǎng)WWW Server.
3.2 結(jié)果分析
Cisco PacketTracer 仿真軟件提供兩種模式:實(shí)時(shí)模式和模擬模式.在實(shí)時(shí)模式下,可以對(duì)網(wǎng)絡(luò)設(shè)備進(jìn)行配置.在模擬模式下,可以模擬兩臺(tái)主機(jī)間的通訊過(guò)程,分析各層協(xié)議數(shù)據(jù)單元的格式.本文分析模擬模式下內(nèi)部主機(jī)PC0和外網(wǎng)主機(jī)PC3的通訊過(guò)程.
點(diǎn)擊“simulation”進(jìn)入模擬模式,點(diǎn)擊“Edit Filter”進(jìn)行協(xié)議選擇,這里只勾選HTTP,ICMP,TCP和 ARP.添加一個(gè)復(fù)雜協(xié)議數(shù)據(jù)單元(源地址192.168.1.3,目的地址200.100.10.2),點(diǎn)擊“Auto Capture”開(kāi)始模擬PC0和PC3之間報(bào)文的傳輸過(guò)程.點(diǎn)擊“Event List”打開(kāi)事件列表,對(duì)協(xié)議數(shù)據(jù)單元進(jìn)行分析.Router0從內(nèi)部接口接收?qǐng)?bào)文,把IP數(shù)據(jù)報(bào)首部中的私有地址192.168.1.3替換成分配給Serial0/3/0的合法IP地址201.101.10.1,然后轉(zhuǎn)發(fā)給Router1,如圖2所示;Router0從外部接口接收?qǐng)?bào)文,把IP數(shù)據(jù)報(bào)中的目的地址201.101.10.1轉(zhuǎn)換成PC0的私有地址192.168.1.3,通過(guò)內(nèi)部接口Fa0/0發(fā)給PC0,如圖3所示.
圖2 私有地址替換成全局地址示意
圖3 全局地址替換成私有地址示意
使用Cisco PacketTracer仿真軟件搭建虛擬網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái)模擬在真實(shí)網(wǎng)絡(luò)設(shè)備上配置NAT的過(guò)程,不僅可以讓學(xué)生掌握靜態(tài)NAT和NAPT的配置方法,而且可以把抽象枯燥的NAT工作原理,以一種直觀、生動(dòng)、形象的方式展現(xiàn)在學(xué)生面前,讓學(xué)生一目了然.
[1] 謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)[M].北京:電子工業(yè)出版社,2013:179-181.
[2] 付承彪,田安紅.兩種動(dòng)態(tài)路由協(xié)議分析及其實(shí)驗(yàn)設(shè)計(jì)與仿真[J].實(shí)驗(yàn)技術(shù)與管理,2016,33(7):140-144.
[3] 高靜,聶利穎,郭峰.擴(kuò)展IP訪問(wèn)列表的訪問(wèn)控制在模擬器Cisco PacketTracer中的仿真設(shè)計(jì)與實(shí)現(xiàn)[J].智能計(jì)算機(jī)與應(yīng)用,2016,6(2):82-83,86.
[4] 譚毓銀,王平.PacketTracer軟件在計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)教學(xué)中的應(yīng)用[J].軟件導(dǎo)刊,2015,14(4):169-170.
[5] 高永兵,趙宇紅,趙艷峰.基于PacketTracer的計(jì)算機(jī)網(wǎng)絡(luò)實(shí)踐教改方案[J].計(jì)算機(jī)教育,2015(23):92-94.
[6] 張奎.基于PacketTracer構(gòu)建三層結(jié)構(gòu)的園區(qū)網(wǎng)[J].喀什師范學(xué)院學(xué)報(bào),2015,36(6):38-41.
[7] 羅芳瓊.PacketTracer在計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)課程中的應(yīng)用研究[J].柳州師專學(xué)報(bào),2014,29(1):131-133.
[8] 容振邦.基于PacketTracer的計(jì)算機(jī)網(wǎng)絡(luò)原理課程案例教學(xué)[J].計(jì)算機(jī)教育,2011(3):67-70.
責(zé)任編輯:金 欣
The working principles of the NAT and its experimental designing and simulation
LIU Jin-sheng
(School of Mathematics and Information, Hebei Normal University, Shijiazhuang, Hebei 050024, China)
In view of the problems existing in the computer network theory and teaching practice, the researcher builds the virtual network experiment platform and completes the static NAT and NAPT network experiment by Cisco PacketTracer simulation software. The simulation data packet forwarding between LAN internal and LAN external hosts enables students to understand the working principle of the NAT.
PacketTracer; static NAT; NAPT; private address; global address
2017-02-24
2015年度河北師范大學(xué)教學(xué)改革研究項(xiàng)目(2015XJJG022)
劉金生(1973-),男,河北唐山人,河北師范大學(xué)副教授,碩士,研究方向:計(jì)算機(jī)網(wǎng)絡(luò)安全、網(wǎng)絡(luò)體系結(jié)構(gòu).
1009-4873(2017)02-0061-04
G642;TP393.04
A