沙賢龍
摘要:Internet面臨的最緊迫的兩個問題是IP地址短缺和路由的可擴(kuò)展性,為此開發(fā)了IPV6,但在正式實施之前,NAT作為目前的解決IP地址短缺的方案被廣泛應(yīng)用,本文就NAT的基本原理及實現(xiàn)方法進(jìn)行了介紹,詳細(xì)說明了怎樣在路由器中配置NAT。
關(guān)鍵詞:NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換) 私有地址 公有地址
NAT(Network Address Translation)稱為“網(wǎng)絡(luò)地址轉(zhuǎn)換”, 它是一個IETF(Internet Engineering Task Force, Internet工程任務(wù)組)標(biāo)準(zhǔn),允許一個整體機(jī)構(gòu)以一個公用IP(Internet Protocol)地址出現(xiàn)在Internet上。顧名思義,它是一種把內(nèi)部網(wǎng)絡(luò)的私有地址轉(zhuǎn)換成公有IP地址的技術(shù)。簡單的說,NAT就是在局域網(wǎng)內(nèi)部網(wǎng)絡(luò)中使用私有地址,而當(dāng)內(nèi)部節(jié)點要與外部網(wǎng)絡(luò)進(jìn)行通訊時,就將內(nèi)部私有地址轉(zhuǎn)換成公有地址,從而在外部公網(wǎng)(internet)上正常使用,NAT可以使多臺計算機(jī)共享Internet連接,這一功能很好地解決了公共IP地址緊缺的問題。同時通過這種方法,您可以只申請一個合法IP地址,就把整個局域網(wǎng)中的計算機(jī)接入Internet中,這樣也節(jié)約了開支。
一、 NAT的基本原理和類型
(一) NAT的基本原理
NAT技術(shù)能幫助解決令人頭痛的IP地址緊缺的問題,而且能使得內(nèi)外網(wǎng)絡(luò)隔離,提供一定的網(wǎng)絡(luò)安全保障。解決問題的方法是:在內(nèi)部網(wǎng)絡(luò)中使用內(nèi)部私有地址,當(dāng)要訪問外部網(wǎng)絡(luò)時,通過NAT把內(nèi)部私有地址轉(zhuǎn)換成公有地址在Internet上使用,其具體的做法是把IP包內(nèi)的地址域用公有IP地址來替換。NAT功能通常被集成到路由器、防火墻、ISDN路由器或者是單獨的NAT設(shè)備中。NAT設(shè)備維護(hù)一個狀態(tài)表,用來把私有地址映射到公有地址上去。每個包在NAT設(shè)備中都被轉(zhuǎn)換成公有地址,發(fā)往下一級。
(二) NAT的類型
NAT有三種類型:靜態(tài)地址NAT(Static NAT)、動態(tài)地址NAT(Pooled NAT)、網(wǎng)絡(luò)地址端口轉(zhuǎn)換NAPT(Network Address Port Translation)。其中靜態(tài)NAT是設(shè)置起來最為簡單和最容易實現(xiàn)的一種,內(nèi)部網(wǎng)絡(luò)地址中的每個主機(jī)都被永久映射成外部網(wǎng)絡(luò)中的某個合法的地址。而動態(tài)地址NAT則是在外部網(wǎng)絡(luò)中定義了一系列的合法地址,采用動態(tài)分配的方法映射到內(nèi)部網(wǎng)絡(luò)。NAPT則是把內(nèi)部網(wǎng)絡(luò)地址映射到外部網(wǎng)絡(luò)的一個IP地址的不同端口上。根據(jù)不同的需要,三種NAT方案各有利弊。
動態(tài)地址NAT只是轉(zhuǎn)換IP地址,它為每一個內(nèi)部的IP地址分配一個臨時的外部IP地址,主要應(yīng)用于撥號,對于頻繁的遠(yuǎn)程聯(lián)接也可以采用動態(tài)NAT。當(dāng)遠(yuǎn)程用戶聯(lián)接上之后,動態(tài)地址NAT就會分配給他一個IP地址,用戶斷開時,這個IP地址就會被釋放而留待以后使用。
網(wǎng)絡(luò)地址轉(zhuǎn)換NAPT(Network Address Port Translation)是人們比較熟悉的一個地址轉(zhuǎn)換方式。NAPT主要普通應(yīng)用于接入設(shè)備中,它可以將中小型的網(wǎng)絡(luò)隱藏在一個合法的IP地址后面。NAPT與NAT不同,它將內(nèi)部連接映射到外部網(wǎng)絡(luò)中一個單獨的IP地址上,同時在該地址上加上一個同NAT設(shè)備選定的TCP端口號。在Internet中使用NAPT時,所有不同的TCP和UDP信息流看起來好像來源于同一個IP地址。這個優(yōu)點在小型辦公網(wǎng)絡(luò)中非常實用,通過從ISP申請一個IP地址,將多個連接通過NAPT接入Internet。
二、 NAT的配置
(一) 在路由器中實現(xiàn)NAT
1、靜態(tài)地址NAT及其配置
靜態(tài)地址轉(zhuǎn)換:它是將內(nèi)部本地地址與內(nèi)部合法地址進(jìn)行一對一的轉(zhuǎn)換,且需要指定和哪個合法地址進(jìn)行轉(zhuǎn)換。如果內(nèi)部網(wǎng)絡(luò)有E-mail服務(wù)器或FTP服務(wù)器等可以為外部用戶提供的服務(wù),這些服務(wù)器的IP地址必須采用靜態(tài)地址轉(zhuǎn)換,以便外部用戶可以使用這些服務(wù)。
2、動態(tài)地址NAT及其配置
動態(tài)地址轉(zhuǎn)換:它是將本地地址與內(nèi)部合法地址一對一的轉(zhuǎn)換,但是動態(tài)地址轉(zhuǎn)換是從內(nèi)部合法地址池中動態(tài)地選擇一個未使用的地址對內(nèi)部本地地址進(jìn)行轉(zhuǎn)換。
3、復(fù)用動態(tài)地址NAPT及其配置
復(fù)用動態(tài)地址轉(zhuǎn)換:它是一種動態(tài)地址轉(zhuǎn)換,但是它可以允許多個內(nèi)部本地地址共用一個內(nèi)部合法地址。只申請到少量IP地址但卻經(jīng)常同時有多于合法地址個數(shù)的用戶上外部網(wǎng)絡(luò)的情況,這種轉(zhuǎn)換極為有用。 注意:當(dāng)多個用戶同時使用一個IP地址,外部網(wǎng)絡(luò)通過路由器內(nèi)部利用上層的如TCP或UDP端口號等唯一標(biāo)識某臺計算機(jī)。
(二) 在防火墻中實現(xiàn)NAT
使用路由器實現(xiàn)NAT時,常常會造成路由器的性能降低,這是因為每一個經(jīng)過路由器的數(shù)據(jù)表都要經(jīng)過NAT的轉(zhuǎn)換過程,這必然消耗系統(tǒng)的CPU資源,而且轉(zhuǎn)換的中間結(jié)果還要暫存在內(nèi)存中以便于回應(yīng)數(shù)據(jù)的恢復(fù)。
近年來,防火墻的應(yīng)用越來越多普及,可將NAT配置在防火墻中,這樣可以大大減輕路由器的負(fù)擔(dān)。而且對于防火墻來說,它的主要功能即是完成這種復(fù)雜的任務(wù),它的體系結(jié)構(gòu)設(shè)計也充分考慮了這種應(yīng)用的存在,因此,性能不至于將路由器一樣明顯示下降。配置方法(略)
三、 應(yīng)用NAT技術(shù)的問題
(一)難以處理報文內(nèi)容中含有有用的地址信息,在地址轉(zhuǎn)換的過程中,轉(zhuǎn)換了數(shù)據(jù)包的地址,但是如果數(shù)據(jù)包數(shù)據(jù)含有有用的地址轉(zhuǎn)換信息,這種情況地址轉(zhuǎn)換就難以處理。例如:許多Internet協(xié)議和應(yīng)用依賴于真正的端到端網(wǎng)絡(luò),在這種網(wǎng)絡(luò)上,數(shù)據(jù)包要求能夠完全不加修改地從源地址發(fā)送到目的地址。比如,IP安全架構(gòu)不能被NAT設(shè)備使用,因為包含原始IP源地址的原始包頭采用了數(shù)據(jù)簽名。如果改變源地址的話,數(shù)據(jù)簽名將不再有效。
(二)地址轉(zhuǎn)換不能處理IP報頭加密的情況。如果對IP報頭進(jìn)行了加密處理,地址轉(zhuǎn)換也不能知道真實的IP報頭內(nèi)容,也就不能進(jìn)行地址轉(zhuǎn)換了。
(三)地址轉(zhuǎn)換由于隱藏了內(nèi)部主機(jī)地址,有時候會使網(wǎng)絡(luò)的調(diào)試變得復(fù)雜。無法實現(xiàn)端到端的IP跟蹤?!?/p>
參考文獻(xiàn):
1、 《路由型與交換型互聯(lián)網(wǎng)基礎(chǔ)》鄭璐 神州數(shù)碼網(wǎng)絡(luò)有限公司
2、 《創(chuàng)建高級路由型互聯(lián)網(wǎng)》 鄭璐 神州數(shù)碼網(wǎng)絡(luò)有限公司
3、 《創(chuàng)建高級路由型互聯(lián)網(wǎng)實驗指導(dǎo)》 鄭璐 神州數(shù)碼網(wǎng)絡(luò)有限公司
作者單位:西北民族大學(xué)榆中校區(qū)計算機(jī)科學(xué)與信息工程學(xué)院