邊勝琴,王洪泊,崔曉龍
(北京科技大學 計算機與通信工程學院,北京 海淀區(qū) 100083)
IPv4的32位地址空間嚴重不足,下一代互聯(lián)網(wǎng)IPv6還沒有大規(guī)模使用,網(wǎng)絡地址轉換技術(network address translation,NAT)還在廣泛使用,它的產(chǎn)生主要是為了解決 IPv4地址枯竭問題,NAT技術可以將數(shù)百個私有IP地址映射到一個公網(wǎng)IP地址,減少了公網(wǎng)IP地址的使用;另外,NAT技術還能屏蔽內(nèi)部網(wǎng)絡結構,增強網(wǎng)絡安全性,有效降低內(nèi)部網(wǎng)絡受攻擊的風險[1-4]。
計算機網(wǎng)絡涵蓋物理層、數(shù)據(jù)鏈路層、網(wǎng)絡層、傳輸層和應用層等,涉及面廣、內(nèi)容抽象,網(wǎng)絡協(xié)議的工作機理難以理解。合理地設計實驗內(nèi)容和實驗步驟,能更好地再現(xiàn)網(wǎng)絡技術的工作原理,幫助學生理解理論教學的內(nèi)容?;A性實驗內(nèi)容一般包括網(wǎng)絡命令熟悉、交換機配置、交換機VLAN組網(wǎng)、路由器配置、路由協(xié)議應用和分析等,采用真實的網(wǎng)絡設備完成。綜合設計性實驗項目,在基礎性實驗完成的基礎上展開,有FTP服務器配置及FTP協(xié)議分析、WEB服務器配置及TCP協(xié)議分析、NAT地址轉換和內(nèi)網(wǎng)安全等內(nèi)容,部分內(nèi)容在網(wǎng)絡仿真軟件上完成。
NAT實驗的開展需要交換機、路由器、計算機、服務器、直連線或交叉線、串口線等多種硬件,實驗環(huán)境的搭建也比較繁瑣,因為硬件設備有限,經(jīng)常會多人一組開展實驗,出錯的幾率較高,而且學生缺少掌握完整實驗技術的機會,影響實驗教學效果。
網(wǎng)絡仿真軟件在一定程度上,能夠彌補硬件設備的不足,很多高校選擇仿真軟件來輔助實驗教學[5-17]。在學生對網(wǎng)絡設備和網(wǎng)絡命令熟悉的基礎上,嘗試使用Packet Tracer軟件模擬開展實驗教學,將一些抽象的概念和難以觀察的現(xiàn)象,準確、形象地表現(xiàn)出來。選擇仿真軟件,一方面學生能夠快速、準確地完成設備的選型和連線,提高學習效率;另一方面,學生能夠?qū)W習到網(wǎng)路工程技術的各個模塊和細節(jié),最重要的是自己能夠獨立地實施整個項目,不受實驗設備、條件、時間和學時等限制。仿真軟件也方便教師做一些教學改革,增加設計性實驗項目,要求學生從項目需求出發(fā),分析、設計、配置、測試及實現(xiàn)整個過程,對不同的實驗方案進行比較和優(yōu)化,從實際到技術理論,極大地調(diào)動學生學習的積極性和主動性,從而提高實驗教學效果,培養(yǎng)具有創(chuàng)新意識的高素質(zhì)人才。
大部分用戶通過局域網(wǎng)接入到Internet,局域網(wǎng)使用的內(nèi)部IP地址也稱私有地址,公網(wǎng)IP地址是指在Internet上使用的全球唯一的IP地址,需要向當?shù)氐幕ヂ?lián)網(wǎng)服務提供商 (internet service provider,ISP)申請和繳費。私有地址根據(jù)用戶數(shù)量可以分為以下3種類型。
1)A類:10.0.0.0-10.255.255.255
2)B類:172.16.0.0-172.31.255.255
3)C類:192.168.0.0-192.168.255.255
局域網(wǎng)連接到Internet的出口路由器上,啟用NAT功能,路由器就能把內(nèi)部私有地址轉換成公網(wǎng)地址,實現(xiàn)內(nèi)部多臺計算機共用一個公網(wǎng)地址進行聯(lián)網(wǎng)的服務,并且將網(wǎng)絡分成內(nèi)部 (inside)和外部 (outside)兩部分。
假設主機PC1有一個內(nèi)部地址172.16.1.1,當它向外部Internet發(fā)送數(shù)據(jù)時,數(shù)據(jù)包先到達NAT路由器,路由器會將頭部的源IP地址172.16.1.1替換成公網(wǎng)IP地址202.204.1.1,然后再將數(shù)據(jù)包發(fā)送出去。外部主機收到數(shù)據(jù)后,認為發(fā)送端PC1的IP地址是202.204.1.1,PC1的實際地址172.16.1.1對外部來說是 “隱藏”的。
外部主機回復數(shù)據(jù)給PC1時,數(shù)據(jù)包的目的IP是202.204.1.1,路由器收到數(shù)據(jù)后,查看地址轉換表,再將202.204.1.1替換成主機A的私有地址172.16.1.1,PC1就能收到外部主機的數(shù)據(jù)了,NAT整個工作過程如圖1所示,它主要作用是對內(nèi)部地址進行翻譯。
圖1 NAT地址轉換原理
NAT技術的實現(xiàn)分為靜態(tài)地址轉換(static NAT)、動態(tài)地址轉換(dynamic NAT)和端口地址轉換(network address port translation,NAPT)3類。
1)靜態(tài)地址轉換:是指私網(wǎng)地址和公網(wǎng)地址一對一映射,匹配固定,通常內(nèi)部網(wǎng)絡有服務器時使用,方便外部用戶訪問固定地址。
2)動態(tài)地址轉換:是指私網(wǎng)地址轉換成公網(wǎng)地址時,IP地址隨機分配,不確定,是一種動態(tài)的映射關系。公網(wǎng)地址范圍一般定義成地址池,內(nèi)網(wǎng)主機訪問Internet時,隨機被轉換成地址池中的一個地址。ISP提供的合法地址,一般比內(nèi)部計算機的數(shù)量少,可以采用動態(tài)地址轉換的方式,實現(xiàn)連網(wǎng)服務。如果經(jīng)過一段時間,映射關系沒有被使用,NAT設備會自動刪除映射關系,將地址資源收回。
3)端口地址轉換:使用端口映射的方式,將內(nèi)部多個地址映射到一個公網(wǎng)地址的不同端口上,也是一種多對一的映射關系,與動態(tài)地址轉換不同的是,內(nèi)部地址進行轉換時,NAT設備隨機指定TCP或UDP一個端口號。NAPT經(jīng)常與NAT動態(tài)地址轉換一起使用,實現(xiàn)大量內(nèi)部私有IP地址訪問公網(wǎng)Internet[7]。
NAT地址轉換的實時信息,有兩種方法可以查看。一是在路由器上使用命令show ip nat translations查看地址轉換表,路由器對每個NAT會話,用協(xié)議名稱、內(nèi)網(wǎng)地址與端口號、全局地址與端口號等字段進行刻畫,可隨時查看地址轉換信息;二是在外部主機進行數(shù)據(jù)包分析,如圖1所示,在外部主機PC2上安裝數(shù)據(jù)包分析軟件Wireshark,測試和 PC1的連通性,命令行下輸入 ping 202.204.1.1,分析抓取的ICMP數(shù)據(jù)包可以發(fā)現(xiàn),PC2發(fā)往PC1的數(shù)據(jù)包,源地址是PC2的IP地址,目的地址是202.204.1.1,PC1回復的數(shù)據(jù)包,目的地址是 PC2的 IP地址,源地址變成了172.16.1.1,從而可以知道202.204.1.1的主機內(nèi)網(wǎng)地址是172.16.1.1。
某單位局域網(wǎng)使用172.16.0.0/16網(wǎng)段,大約300臺主機,現(xiàn)通過路由器進行地址轉換,連接到Internet,單位向當?shù)豂SP申請了20個公網(wǎng)地址200.1.1.100~200.1.1.120,要求實現(xiàn)局域網(wǎng)主機全部聯(lián)網(wǎng),并且能夠訪問外部服務器,同時保證內(nèi)網(wǎng)安全,外網(wǎng)不能訪問內(nèi)網(wǎng)主機。已知外網(wǎng)服務器的網(wǎng)關為119.75.218.1,外部WEB服務器IP為119.75.218.10。
實驗開始之前,教師給出NAT原理,提出實際需求,要求學生根據(jù)實際需求,設計網(wǎng)絡拓撲結構,規(guī)劃網(wǎng)絡地址,在仿真軟件上驗證自己的設計。教師在實驗過程中,首先,講授NAT配置命令及應用方法;其次,檢查學生們的網(wǎng)絡拓撲圖,重點查看路由路徑的配置方法;最后,驗收實驗結果,并給出參考配置方案。從實際到理論,從理論再到應用,幫助學生深刻理解網(wǎng)絡理論知識,同時不斷提出問題,培養(yǎng)學生們分析問題和解決問題的能力。
1)了解NAT的工作原理。
2)了解靜態(tài)NAT與動態(tài)NAT的應用特點。3)掌握動態(tài)NAT的配置方法。
路由器(2臺),V.35線纜(1對),主機(3臺),服務器(1臺),直連線或交叉線(5條)。
如圖2所示。
圖2 NAT實驗拓撲圖
2.4.1 設備選型
按照拓撲圖,選擇路由器1841型號2臺,路由器默認狀態(tài)沒有串口模塊,關閉路由器電源,為其添加串口通信模塊,路由器R1和R2串口模塊之間用V.35線纜連接;將內(nèi)網(wǎng)主機與二層交換機相連,交換機和路由器R1的以太口F0/0口相連;外網(wǎng)服務器連接路由器R2的以太口F0/0。
2.4.2 配置網(wǎng)卡地址
內(nèi)網(wǎng)主機PC1配置網(wǎng)卡地址為172.16.1.11/16,網(wǎng)關設為172.16.1.1;內(nèi)網(wǎng)主機PC2配置網(wǎng)卡地址為172.16.1.22/16,網(wǎng)關設為172.16.1.1;內(nèi)網(wǎng)主機 PC3配置網(wǎng)卡地址為172.16.1.33/16,網(wǎng)關設為172.16.1.1,掩碼;外網(wǎng)服務器網(wǎng)卡地址設為119.75.218.10/8,網(wǎng)關設為119.75.218.1。
2.4.3 路由器端口配置
1)R1路由器的配置:
R1(config)#interface FastEthernet0/0
R1(config-if) #ip address 172.16.1.1 255.255.0.0
R1(config-if) #no shutdown
R1(config-if) #exit
R1(config)#interface serial 0/0/0
R1(config-if)#ip address 200.1.1.1 255.255.255.0
R1(config-if) #clockrate 64000
R1(config-if) #no shutdown
R1(config-if) #exit
2)R2路由器的配置:
R2(config)#interface fastEthernet0/0
R2(config-if) #ip address 119.75.218.1 255.0.0.0
R2(config-if) #no shutdown
R2(config-if) #exit
R2(config)#interface serial 0/0/0
R2(config-if)#ip address 200.1.1.2255.255.255.0
R1(config-if) #clockrate 64000
R2(config-if) #no shutdown
R2(config-if) #end
2.4.4 路由配置
在R1上設置靜態(tài)路由:
R1(config)#ip route 0.0.0.0 0.0.0.0 200.1.1.2
為了保證內(nèi)網(wǎng)的安全性,不允許外網(wǎng)主機或服務器訪問內(nèi)部網(wǎng)絡,因此只在R1上設置靜態(tài)路由,R2上不設置路由,使得內(nèi)網(wǎng)發(fā)出的數(shù)據(jù)包能夠流出,外部數(shù)據(jù)包不能進入。按照默認路由的方法設置,是因為內(nèi)部網(wǎng)絡只有路由器R2一個出口,內(nèi)部網(wǎng)絡如果還想訪問其他網(wǎng)段的話,也要經(jīng)過R2,所以采用默認路由的方式,具有通用性。
R1上的靜態(tài)路由還可以這樣設置:
實時熒光定量PCR檢測結果(圖3A)顯示,與親本U266細胞相比,耐藥U266/BTZ細胞中HSP27 mRNA的表達水平明顯升高(P<0.01)。蛋白質(zhì)印跡法檢測結果(圖3B)同樣顯示,與親本U266細胞相比,耐藥U266/BTZ細胞中HSP27蛋白的表達水平明顯增加(P<0.01)。這一結果表明,HSP27在耐藥骨髓瘤細胞株中轉錄和表達水平上調(diào),與MM患者的結果一致。
R1(config)#ip route 119.0.0.0 255.0.0.0 200.1.1.2
用這種方法設置路由的話,內(nèi)部網(wǎng)絡只能訪問指定的網(wǎng)段119.0.0.0/8,不能訪問其他網(wǎng)段的主機。
2.4.5 測試鏈路的連通性
在內(nèi)部PC上,按照由近及遠的原則分別ping以下地址:
1)172.16.1.1
2)200.1.1.1
3)200.1.1.2
5)119.75.218.10
測試結果顯示 1)172.16.1.1和 2)200.1.1.1可以ping通,但是3)200.1.1.2,4)119.75.218.1和5)119.75.218.10都不能ping通,服務器的WEB網(wǎng)頁也不能打開。
分析原因,內(nèi)網(wǎng)PC網(wǎng)關設置成172.16.1.1,發(fā)出的數(shù)據(jù)包能達到網(wǎng)關,200.1.1.1又是R1上Serial0/0/0的直連地址,所以可以連通,但是從200.1.1.2開始,內(nèi)網(wǎng)主機的測試數(shù)據(jù)包都只能到達不能返回,因為R2上只有直連網(wǎng)段,回復的數(shù)據(jù)包目的IP是172.16.0.0,不在R2的路由表上,所以只能丟棄,內(nèi)網(wǎng)PC對3)、4)和5)IP地址連通性測試的結果是請求超時。
如果不考慮內(nèi)網(wǎng)的安全性,在R2上添加靜態(tài)路由:
R2(config)#ip route 172.16.0.0
255.255.0.0 200.1.1.1
在內(nèi)部PC上,按照由近及遠的原則進行連通性測試,則可以發(fā)現(xiàn) 1)172.16.1.1、2)200.1.1.1、 3)200.1.1.2、 4)119.75.218.1 和5)119.75.218.10這5個地址都能連通。
2.4.6 在路由器R1上配置NAT
R1(config)#interface fastEthernet0/0
R1(config-if)#ipnat inside !定義內(nèi)部接口
R1(config-if) #exit
R1(config)#interface serial 0/0/0
R1(config-if)#ipnat outside !定義外部接口
R1(config-if) #exit
R1(config)#ipnat pool net20 200.1.1.100 200.1.1.120 netmask 255.255.255.0 !定義轉換的地址池范圍,并命名為net20
R1(config)#access-list10 permit 172.16.0.0 0.0.255.255 !定義內(nèi)部地
址網(wǎng)段,使用ACL10表示
R1(config)#ipnat inside source list 10 pool net20!定義內(nèi)部源地址調(diào)用公網(wǎng)地址池
2.4.7 設置WEB服務器頁面
如圖3所示,雙擊服務器圖標,打開config選項,開啟HTTP服務,對靜態(tài)頁面進行修改,設置歡迎詞 “Let's start from here!”;服務器靜態(tài)IP地址為 119.75.218.10,掩碼為 255.0.0.0,網(wǎng)關為119.75.218.1。
圖3 WEB服務器頁面設置
2.4.8 通過內(nèi)部主機訪問外部服務器
雙擊PC圖標,選擇Desktop選項,選擇Web Browser,如圖4所示,打開瀏覽器,在地址欄輸入服務器的IP地址,http://119.75.218.10,進行訪問。
服務器上的默認文檔,在瀏覽器的解析下顯示如圖5所示。
圖4 PC可選擇桌面
圖5 WEB服務器主頁
在地址轉換的路由器上使用show ip nat translations命令查看NAT的轉換表。
R1#show ip nat translations
結果如圖6所示,內(nèi)部地址172.16.1.11被轉換成了全局地址200.1.1.100,內(nèi)部地址172.16.1.22被轉換成了全局地址200.1.1.101,內(nèi)部地址172.16.1.33被轉換成了全局地址200.1.1.102,端口號保持不變,實現(xiàn)了內(nèi)部私有地址與全局IP地址之間的轉換。
圖6 NAT地址轉換結果
網(wǎng)絡地址轉換是計算機網(wǎng)絡、組網(wǎng)技術和網(wǎng)絡管理等多門課程的教學內(nèi)容,也是非常實用的一個知識點,采用仿真軟件實現(xiàn)非常方便,連通測試和實驗結果也可以從多個方面實現(xiàn)。當然這個實驗也可以在真實網(wǎng)絡設備上實現(xiàn),在外網(wǎng)主機安裝協(xié)議分析軟件的話,能夠直觀地看到數(shù)據(jù)包中的IP地址,發(fā)現(xiàn)NAT前后IP地址的變化,數(shù)據(jù)包IP地址的實時轉換。使用Packet Tracer仿真軟件查看,會有不真實的感覺,這是仿真軟件相對于真實設備的不足。仿真軟件也具有真實設備不具備的優(yōu)勢,一是使用方便,不受實驗條件的限制,也不會造成設備的損害;二是仿真軟件設備的操作系統(tǒng)與真實設備相同,任何不確定的方案都可以先在仿真軟件上進行測試和驗證,便于學生自主練習,激發(fā)學習興趣,提高動手能力。所以針對不同的實驗項目和實驗目的,可以選擇不同的實現(xiàn)方式。
仿真軟件在專業(yè)課程學習表現(xiàn)出的優(yōu)越性日益顯著,在應用計算機解決工程問題方面所起的作用不可忽視,為培養(yǎng)學生的創(chuàng)新能力和實踐能力,提高分析問題和解決問題的能力,在熟練掌握真實網(wǎng)絡設備的基礎上,有必要采用仿真軟件開展設計性。
[1]劉金明,劉桂陽,于成江.基于Packet Tracer的NAT實驗教學設計[J].實驗科學與技術,2014,12(1):39-42.
[2]劉向東,李志潔,王德高,等.NAT原理實驗的設計與實現(xiàn)[J].實驗室研究與探索,2012,31(1):58-62.
[3]趙媛,蘇學軍,王劍梅,等.基于NAT的開放式計算機實驗室建設[J].實驗室研究與探索,2013,32(3):103-104.
[4]梁文生.基于VLAN與NAT技術的高校機房網(wǎng)絡設計[J].電腦知識與技術,2014(2):709-711.
[5]田安紅,付承彪.NAT原理實驗在仿真器中的設計與實現(xiàn)[J].實驗技術與管理,2014,31(9):135-138.
[6]姜恩華,李素文,竇德召.基于Packet Tracer軟件的計算機網(wǎng)絡安全仿真實驗設計[J].吉林師范大學學報 (自然科學版),2013,34(3):123-126.
[7]張波,萬麗.基于端口映射NAT網(wǎng)絡方案分析與實施[J].軟件工程,2015(3):12-13.
[8]張春玉,姚七棟,俞莉娟.路由器NAT實驗教學設計[J].現(xiàn)代計算機,2014(10):24-26.
[9]鄒航,李梁,王柯柯,等.整合ACL和NAT的網(wǎng)絡安全實驗設計[J].實驗室研究與探索,2011,30(4):61-65.
[10]唐燈平.整合HSRP和NAT實現(xiàn)網(wǎng)絡出口多組負載均衡[J].實驗室研究與探索,2012,31(5):66-69.
[11]邱文軍.NAT技術及其虛擬網(wǎng)絡實驗教學研究[J].高教學刊,2016(14):103-104.
[12]張翔,郭文生.基于Packet Tracer的 《計算機網(wǎng)絡基礎》實驗教學設計[J].實驗科學與技術,2012(6):204-206.
[13]閻知知,王小巍,高娟.Packet Tracer在組建網(wǎng)絡中的應用[J].電腦知識與技術,2017,13(27):48-49.
[14]田安紅,付承彪.虛擬化網(wǎng)絡平臺下靜態(tài)路由選擇研究[J].實驗技術與管理,2014,31(3):102-104.
[15]唐燈平,王進,肖廣娣.ARP協(xié)議原理仿真實驗的設計與實現(xiàn)[J].實驗室研究與探索.2016,35(12):126-129.
[16]付承彪,田安紅.兩種動態(tài)路由協(xié)議分析及其實驗設計與仿真[J].實驗技術與管理,2016,33(7):140-144.
[17]趙庚升,劉磊,項培軍,等.虛擬仿真實驗項目設計與考核探究——以計算機網(wǎng)絡課程為例[J].軟件導刊,2016,15(7):215-217.