地址轉(zhuǎn)換 - IP地址的轉(zhuǎn)換技術(shù)
地址轉(zhuǎn)換 - NAT就是:路由器將私有地址轉(zhuǎn)換為公有地址使數(shù)據(jù)包能夠發(fā)到因特網(wǎng)上,同時(shí)從因特網(wǎng)上接收數(shù)據(jù)包時(shí),將公用地址轉(zhuǎn)換為私有地址。在計(jì)算機(jī)網(wǎng)絡(luò)中,網(wǎng)絡(luò)地址轉(zhuǎn)換(NetworkAddressTranslation或簡(jiǎn)稱NAT,也叫做網(wǎng)絡(luò)掩蔽或者IP掩蔽)是一種在IP數(shù)據(jù)包通過路由器或防火墻時(shí)重寫源IP地址或/和目的IP地址的技術(shù)。

基本簡(jiǎn)介
這種技術(shù)被普遍使用在有多臺(tái)主機(jī)但只通過一個(gè)公有IP地址訪問因特網(wǎng)的私有網(wǎng)絡(luò)中。根據(jù)規(guī)范,路由器是不能這樣工作的,但它的確是一個(gè)方便并得到了廣泛應(yīng)用的技術(shù)。當(dāng)然,NAT也讓主機(jī)之間的通信變得復(fù)雜,導(dǎo)致通信效率的降低。
NAT概述
RéseauavecNAT開始,NAT是作為一種解決IPv4地址短缺以避免保留IP地址困難的方案而流行起來(lái)的。網(wǎng)絡(luò)地址轉(zhuǎn)換的在很多國(guó)家都有很廣泛的使用,除了美國(guó),因?yàn)闅v史的原因美國(guó)每個(gè)人幾乎都得到了地址。所以NAT就成了家庭和小型辦公室網(wǎng)絡(luò)連接上的路由器的一個(gè)標(biāo)準(zhǔn)特征,因?yàn)閷?duì)他們來(lái)說(shuō),申請(qǐng)多余的IP地址的代價(jià)要高于所帶來(lái)的效益。
在一個(gè)典型的配置中,一個(gè)本地網(wǎng)絡(luò)使用一個(gè)專有網(wǎng)絡(luò)的指定子網(wǎng)(比如192.168.x.x或10.x.x.x)和連在這個(gè)網(wǎng)絡(luò)上的一個(gè)路由器。這個(gè)路由器占有這個(gè)網(wǎng)絡(luò)地址空間的一個(gè)專有地址(比如192.168.0.1),同時(shí)它還通過一個(gè)或多個(gè)因特網(wǎng)服務(wù)提供商提供的公有的IP地址(叫做“過載”NAT)連接到因特網(wǎng)上。
當(dāng)信息由本地網(wǎng)絡(luò)向因特網(wǎng)傳遞時(shí),源地址被立即從專有地址轉(zhuǎn)換為公用地址。由路由器跟蹤每個(gè)連接上的基本數(shù)據(jù),主要是目的地址和端口。當(dāng)有回復(fù)返回路由器時(shí),它通過輸出階段記錄的連接跟蹤數(shù)據(jù)來(lái)決定該轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)的哪個(gè)主機(jī);如果有多個(gè)公用地址可用,當(dāng)數(shù)據(jù)包返回時(shí),TCP或UDP客戶機(jī)的端口號(hào)可以用來(lái)分解數(shù)據(jù)包。對(duì)于因特網(wǎng)上的一個(gè)系統(tǒng),路由器本身充當(dāng)通信的源和目的地址。
有人一直認(rèn)為,IPv6的廣泛采用將使得NAT不再需要,因?yàn)镹AT只是一個(gè)處理IPv4的地址空間不足的方法。
NAT缺點(diǎn)
NAT簡(jiǎn)介 NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)是將專用網(wǎng)絡(luò)地址(如企業(yè)內(nèi)部網(wǎng)intranet)轉(zhuǎn)換為公用地址(如互聯(lián)網(wǎng)Internet)的一種技術(shù),它對(duì)外界隱藏了內(nèi)部網(wǎng)絡(luò)的IP地址。
在一個(gè)具有NAT功能的路由器下的主機(jī)并沒有建立真正的端對(duì)端連接,并且不能參與一些因特網(wǎng)協(xié)議。一些需要初始化從外部網(wǎng)絡(luò)建立的TCP連接和使用無(wú)狀態(tài)協(xié)議,比如UDP的服務(wù)將被中斷。除非NAT路由器作一些具體的努力,否則送來(lái)的數(shù)據(jù)包將不能到達(dá)正確的目的地址。一些協(xié)議有時(shí)可以在應(yīng)用層網(wǎng)關(guān)(見下)的輔助下,在參與NAT的主機(jī)之間容納一個(gè)NAT的實(shí)例,比如FTP。NAT也會(huì)使安全協(xié)議變的復(fù)雜,比如IPsec。
端對(duì)端連接是被IAB委員會(huì)(InternetArchitectureBoard)支持的核心因特網(wǎng)協(xié)議之一,因此有些人據(jù)此認(rèn)為NAT是對(duì)公用因特網(wǎng)的一個(gè)破壞。一些因特網(wǎng)服務(wù)提供商只向他們的客戶提供本地IP地址,所以他們必須通過NAT來(lái)訪問ISP網(wǎng)絡(luò)以外的服務(wù),并且這些公司能不能算的上真正的提供了因特網(wǎng)服務(wù)的話題也被談起。
NAT好處
NAT除了帶來(lái)方便和代價(jià)之外,對(duì)全雙工連接支持的缺少在一些情況下可以看作是一個(gè)有好處的特征而不是一個(gè)限制。在一定程度上,NAT依賴于本地網(wǎng)絡(luò)上的一臺(tái)機(jī)器來(lái)初始化和路由器另一邊的主機(jī)的任何連接,它可以阻止外部網(wǎng)絡(luò)上的主機(jī)的惡意活動(dòng)。這樣就可以阻止網(wǎng)絡(luò)蠕蟲病毒來(lái)提高本地系統(tǒng)的可靠性,阻擋惡意瀏覽來(lái)提高本地系統(tǒng)的私密性。很多具有NAT功能的防火墻都是使用這種功能來(lái)提供核心保護(hù)的。另外,它也為UDP的跨局域網(wǎng)的傳輸提供了方便。
轉(zhuǎn)換方式
目前存在兩種地址轉(zhuǎn)換方式。一種是經(jīng)常被簡(jiǎn)記為"NAT"的網(wǎng)絡(luò)地址轉(zhuǎn)換 - 有時(shí)也叫做“網(wǎng)絡(luò)地址端口轉(zhuǎn)換”,記做NAPT,這種方式支持端口的映射并允許多臺(tái)主機(jī)共享一個(gè)公用IP地址。另一種也可以稱作NAT或“基本NAT”,“靜態(tài)NAT",但在技術(shù)上更簡(jiǎn)單一點(diǎn),僅支持地址轉(zhuǎn)換,不支持端口映射,這就需要對(duì)每一個(gè)當(dāng)前連接都要對(duì)應(yīng)一個(gè)IP地址。寬帶 - broadband路由器通常使用這種方式來(lái)允許一臺(tái)指定的計(jì)算機(jī)去接收所有的外部連接,甚至當(dāng)路由器本身只有一個(gè)可用外部IP時(shí)也如此,這臺(tái)路由器有時(shí)也被標(biāo)記為DMZ主機(jī)。
支持端口轉(zhuǎn)換的NAT又可以分為兩類:源地址轉(zhuǎn)換和目的地址轉(zhuǎn)換NAT。前一種情形下發(fā)起連接的計(jì)算機(jī)的IP地址將會(huì)被重寫,后一種情況下被連接計(jì)算機(jī)的IP地址將被重寫。實(shí)際上,以上兩種方式通常會(huì)一起使用以支持雙向通信。
[編輯]受到NAT影響的應(yīng)用程序
一些高層協(xié)議(比如FTP,Quake,SIP)是在IP包的有效數(shù)據(jù)內(nèi)發(fā)送網(wǎng)絡(luò)層(第三層)信息的。比如,主動(dòng)模式的FTP使用單獨(dú)的端口分別來(lái)控制命令傳輸和數(shù)據(jù)傳輸。當(dāng)請(qǐng)求一個(gè)文件傳輸時(shí),主機(jī)在發(fā)送請(qǐng)求的同時(shí)也通知對(duì)方自己想要在哪個(gè)端口接受數(shù)據(jù)。但是,如果主機(jī)是在一個(gè)簡(jiǎn)單的NAT防火墻后發(fā)送的請(qǐng)求,那么由于端口的映射將會(huì)使對(duì)方接收到的信息無(wú)效。
一個(gè)應(yīng)用層網(wǎng)關(guān)(ApplicationLayerGateway或ALG)可以修正這個(gè)問題。運(yùn)行在NAT防火墻設(shè)備上的ALG軟件模塊可以更新任何由地址轉(zhuǎn)換而導(dǎo)致無(wú)效的信息。顯然,ALG需要明白它所要修正的上層協(xié)議,所以每個(gè)有這種問題的協(xié)議都需要有一個(gè)單獨(dú)的ALG。
但是,除FTP外的大多數(shù)傳統(tǒng)的客戶機(jī)-服務(wù)器協(xié)議不需要發(fā)送網(wǎng)絡(luò)層(第三層)信息,也就不需要ALG。
這個(gè)問題的另一個(gè)可能的解決方法是使用象STUN這樣的技術(shù),但是這只針對(duì)建立在UDP上的高層協(xié)議,并且需要它內(nèi)建這中技術(shù)。這種技術(shù)對(duì)對(duì)稱NAT也是無(wú)效的。還有一種可能的方案是UPnP,但它需要和NAT設(shè)備配合起來(lái)使用
用途實(shí)例
負(fù)載平衡:目的地址轉(zhuǎn)換NAT可以重定向一些服務(wù)器的連接到其他隨機(jī)選定的服務(wù)器。
失效終結(jié):目的地址轉(zhuǎn)換NAT可以用來(lái)提供高可靠性的服務(wù)。如果一個(gè)系統(tǒng)有一臺(tái)通過路由器訪問的關(guān)鍵服務(wù)器,一旦路由器檢測(cè)到該服務(wù)器當(dāng)機(jī),它可以使用目的地址轉(zhuǎn)換NAT透明的把連接轉(zhuǎn)移到一個(gè)備份服務(wù)器上。
透明代理:NAT可以把連接到因特網(wǎng)的HTTP連接重定向到一個(gè)指定的HTTP代理服務(wù)器以緩存數(shù)據(jù)和過濾請(qǐng)求。一些因特網(wǎng)服務(wù)提供商就使用這種技術(shù)來(lái)減少帶寬的使用而不用讓他們的客戶配置他們的瀏覽器支持代理連接
源網(wǎng)絡(luò)地址轉(zhuǎn)換
源地址轉(zhuǎn)換是基于源地址的地址轉(zhuǎn)換,主要用于內(nèi)網(wǎng)訪問外網(wǎng),減少公有地址的數(shù)目,隱藏內(nèi)部地址。
如IP地址為192.168.1.2,192.168.1.3,192.168.1.4的3臺(tái)PC機(jī),通過源地址轉(zhuǎn)換后,共用119.75.213.61的公網(wǎng)IP地址和互聯(lián)網(wǎng)連接。
目的地址轉(zhuǎn)換
目的地址轉(zhuǎn)換可分為目標(biāo)地址映射、目標(biāo)端口映射、服務(wù)器負(fù)載均衡等。目的地址轉(zhuǎn)換也稱為反向地址轉(zhuǎn)換或地址映射。目的地址轉(zhuǎn)換是一種單向的針對(duì)目標(biāo)地址的映射,主要用于內(nèi)部服務(wù)器向外部提供服務(wù)的情況,它與靜態(tài)地址轉(zhuǎn)換的區(qū)別在于它是單向的。外部可以主動(dòng)訪問內(nèi)部,內(nèi)部卻不可以主動(dòng)訪問外部。
另外,可使用目的地址轉(zhuǎn)換實(shí)現(xiàn)負(fù)載均衡的功能,即可以將一個(gè)目標(biāo)地址轉(zhuǎn)換為多個(gè)內(nèi)部服務(wù)器地址。也可以通過端口的映射將不同的端口映射到不同的機(jī)器上。
如互聯(lián)網(wǎng)上的PC(218.92.1.2)通過訪問互聯(lián)網(wǎng)地址119.75.213.61,經(jīng)過路由器的目的地址轉(zhuǎn)換,成為訪問置于內(nèi)網(wǎng)的服務(wù)器192.168.1.100.
