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