網路位址轉換- 維基百科,自由的百科全書
文章推薦指數: 80 %
網路位址轉換(英語:Network Address Translation,縮寫:NAT;又稱網路掩蔽、IP掩蔽)在計算機網路中是一種在IP封包通過路由器或防火牆時重寫來源IP地址或目的IP位址 ...
網路位址轉換
維基百科,自由的百科全書
跳至導覽
跳至搜尋
此條目可參照外語維基百科相應條目來擴充。
若您熟悉來源語言和主題,請協助參考外語維基百科擴充條目。
請勿直接提交機械翻譯,也不要翻譯不可靠、低品質內容。
依版權協議,譯文需在編輯摘要註明來源,或於討論頁頂部標記{{Translatedpage}}標籤。
網路位址轉換(英語:NetworkAddressTranslation,縮寫:NAT;又稱網路掩蔽、IP掩蔽)在計算機網路中是一種在IP封包通過路由器或防火牆時重寫來源IP地址或目的IP位址的技術。
這種技術被普遍使用在有多台主機但只通過一個公有IP位址存取網際網路的私有網路中。
它是一個方便且得到了廣泛應用的技術。
當然,NAT也讓主機之間的通信變得複雜,導致了通信效率的降低。
目次
1概述
1.1缺點
1.2優點
2基本NAT和埠號轉換
2.1基本網絡地址轉換(BasicNAT)
2.2網絡地址埠轉換(NAPT)
2.3受到NAT影響的應用程式
3不同類型的NAT
4NAT其他用途實例
5參見
6外部連結
概述[編輯]
無NAT網路,假設每個接入子網路都需要一組/24的IP,而且還能對外連接,對外的路由至少要保留或申請1000個對外IP
帶NAT網路,通過NAT轉換,接入子網路可以使用私用IP,對外連接時由路由繫結私用IP與對外IP的關係,修改傳輸的IP包上的位址,從而只需要255個對外IP就能滿足內部接入子網路的對外連接需求
1990年代中期,NAT是作為一種解決IPv4位址短缺以避免保留IP位址困難的方案而流行起來的。
網路位址轉換在很多國家廣泛使用。
所以NAT就成了家庭和小型辦公室網路連接上的路由器的一個標準特徵,因為對他們來說,申請獨立的IP位址的代價要高於所帶來的效益。
在一個典型的組態中,一個本地網路使用一個專有網路的指定子網路(比如192.168.x.x或10.x.x.x)和連在這個網路上的一個路由器。
這個路由器占有這個網路位址空間的一個專有位址(比如192.168.0.1),同時它還通過一個或多個網際網路服務提供商提供的公有的IP位址(叫做「過載」NAT)連接到網際網路上。
當資訊由本地網路向網際網路傳遞時,源位址從專有位址轉換為公用位址。
由路由器跟蹤每個連接上的基本資料,主要是目的位址和埠。
當有回覆返迴路由器時,它通過輸出階段記錄的連接跟蹤資料來決定該轉發給內部網路的哪個主機;如果有多個公用位址可用,當封包返回時,TCP或UDP客戶機的埠號可以用來分解封包。
對於網際網路上的通信,路由器本身充當源和目的。
流行在網路上的一種看法認為,IPv6的廣泛採用將使得NAT不再需要,因為NAT只是一個處理IPv4的位址空間不足的方法。
缺點[編輯]
在一個具有NAT功能的路由器下的主機並沒有建立真正的IP位址,並且不能參與一些網際網路協定。
一些需要初始化從外部網路建立的TCP連接和無狀態協定(比如UDP)無法實現。
除非NAT路由器管理者預先設定了規則,否則送來的封包將不能到達正確的目的位址。
一些協定有時可以在應用層閘道器(見下)的輔助下,在參與NAT的主機之間容納一個NAT的實例,比如FTP。
NAT也會使安全協定變得複雜,比如IPsec。
端對端連接是被IAB委員會(InternetArchitectureBoard)支援的核心網際網路協定之一,因此有些人據此認為NAT是對公用網際網路的一個破壞。
一些網際網路服務提供商(ISP)只向他們的客戶提供本地IP位址,所以他們必須通過NAT來存取ISP網路以外的服務,並且這些公司能不能算的上真正的提供了網際網路服務的話題也被談起。
優點[編輯]
NAT除了帶來方便和代價之外,對全雙工連接支援的缺少在一些情況下可以看作是一個有好處的特徵而不是一個限制。
在一定程度上,NAT依賴於本地網路上的一台機器來初始化和路由器另一邊的主機的任何連接,它可以阻止外部網路上的主機的惡意活動。
這樣就可以阻止網路蠕蟲病毒來提高本地系統的可靠性,阻擋惡意瀏覽來提高本地系統的私密性。
很多具有NAT功能的防火牆都是使用這種功能來提供核心保護的。
另外,它也為UDP的跨局域網的傳輸提供了方便。
基本NAT和埠號轉換[編輯]
基本網路位址轉換(BasicNAT)[編輯]
這一種也可稱作NAT或「靜態NAT」,在RFC 2663中提供了資訊。
它在技術上比較簡單,僅支援位址轉換,不支援埠對映。
BasicNAT要求對每一個當前連接都要對應一個公網IP位址,因此要維護一個公網的位址池。
寬頻(broadband)路由器通常使用這種方式來允許一台指定的裝置去管理所有的外部連結,甚至當路由器本身只有一個可用外部IP時也如此,這台路由器有時也被標記為DMZ主機。
由於改變了IP源位址,在重新封裝封包時候必須重新計算校驗和,網路層以上的只要涉及到IP位址的頭部校驗和都要重新計算。
BasicNAT要維護一個無埠號NAT表,結構如下。
內網IP
外網IP
192.168.1.55
219.152.168.222
192.168.1.59
219.152.168.223
192.168.1.155
219.152.168.224
網路位址埠轉換(NAPT)[編輯]
這種方式支援埠的對映,並允許多台主機共享一個公網IP位址。
支援埠轉換的NAT又可以分為兩類:源位址轉換和目的位址轉換。
前一種情形下發起連接的電腦的IP位址將會被重寫,使得內網主機發出的封包能夠到達外網主機。
後一種情況下被連接電腦的IP位址將被重寫,使得外網主機發出的封包能夠到達內網主機。
實際上,以上兩種方式通常會一起被使用以支援雙向通信。
NAPT維護一個帶有IP以及埠號的NAT表,結構如下。
內網IP
外網IP
192.168.1.55:5566
219.152.168.222:9200
192.168.1.59:80
219.152.168.222:9201
192.168.1.59:4465
219.152.168.222:9202
受到NAT影響的應用程式[編輯]
一些高層協定(比如FTP,Quake,SIP)在IP包的有效資料內傳送網路層(第三層)資訊。
比如,主動模式的FTP使用單獨的埠分別來控制命令傳輸和資料傳輸。
當請求一個檔案傳輸時,主機在傳送請求的同時也通知對方自己想要在哪個埠接受資料。
但是,如果主機是在一個簡單的NAT防火牆後傳送的請求,那麼由於埠的對映,將會使對方接收到的資訊無效。
一個應用層閘道(ApplicationLayerGateway,ALG)可以修正這個問題。
執行在NAT防火牆裝置上的ALG軟體模組可以更新任何由位址轉換而導致無效的資訊。
顯然,ALG需要明白它所要修正的上層協定,所以每個有這種問題的協定都需要有一個單獨的ALG。
但是,除FTP外的大多數傳統的客戶機-伺服器協定不需要傳送網路層(第三層)資訊,也就不需要ALG。
這個問題的另一個可能的解決方法是使用像STUN這樣的技術,但是這隻針對建立在UDP上的高層協定,並且需要它內建這種技術。
這種技術對於對稱NAT也是無效的。
還有一種可能的方案是UPnP,但它需要和NAT裝置配合起來使用。
不同類型的NAT[編輯]
完全圓錐型NAT(FullconeNAT),即一對一(one-to-one)NAT
一旦內部位址(iAddr:iPort)對映到外部位址(eAddr:ePort),所有發自iAddr:iPort的封包都經由eAddr:ePort向外傳送。
任意外部主機都能經由發送封包給eAddr:ePort到達iAddr:iPort。
受限圓錐型NAT((Address-)RestrictedconeNAT)
一旦內部位址(iAddr:iPort)對映到外部位址(eAddr:ePort),所有發自iAddr:iPort的封包都經由eAddr:ePort向外傳送。
唯iAddr:iPort曾經發送封包到外部主機(nAddr:any),外部主機才能經由發送封包給eAddr:ePort到達iAddr:iPort。
(註:any指外部主機源埠不受限制。
)
埠受限圓錐型NAT(Port-RestrictedconeNAT)
類似受限制錐形NAT(RestrictedconeNAT),但是還有埠限制。
一旦內部位址(iAddr:iPort)對映到外部位址(eAddr:ePort),所有發自iAddr:iPort的封包都經由eAddr:ePort向外傳送。
在受限圓錐型NAT基礎上增加了外部主機源埠必須是固定的。
對稱NAT(SymmetricNAT)
每一個來自相同內部IP與埠,到一個特定目的地IP和埠的請求,都對映到一個獨特的外部IP和埠。
同一內部IP與埠發到不同的目的地和埠的資訊包,都使用不同的對映
只有曾經收到過內部主機資料的外部主機,才能夠把封包發回
NAT其他用途實例[編輯]
負載均衡:目的位址轉換NAT可以重新導向一些伺服器的連接到其他隨機選定的伺服器。
失效終結:目的位址轉換NAT可以用來提供高可靠性的服務。
如果一個系統有一台通過路由器存取的關鍵伺服器,一旦路由器檢測到該伺服器宕機,它可以使用目的位址轉換NAT透明的把連接轉移到一個備份伺服器上。
透明代理:NAT可以把連接到網際網路的HTTP連接重新導向到一個指定的HTTP代理伺服器以快取資料和過濾請求。
一些網際網路服務提供商就使用這種技術來減少頻寬的使用而不用讓他們的客戶組態他們的瀏覽器支援代理連接。
參見[編輯]
NAT穿越
埠位址轉換
防火牆
路由
IPv4
IPv6
IPv4位址枯竭
專用網路
網際網路連接共享
代理伺服器
通訊埠轉發
電信級NAT
STUN:NAT的UDP簡單穿越
TURN:NAT的UDP簡單中繼
ICE:結合STUN與TURN的NAT的UDP簡單穿越與中繼
外部連結[編輯]
NetworkAddressTranslationTraversalofMSDN
Windows2003中的NAT:建立和組態–這篇文章介紹了怎樣在Windows2003中建立和組態NAT
Anatomy–Volume7,Issue3,September2004
http://computer.howstuffworks.com/nat.htm/printable(頁面存檔備份,存於網際網路檔案館)
RFC4008–StandardsTrack–NAT中的被管理物件的定義
RFC3022–傳統NAT
RFC1631–已作廢–IPNAT
不通過重新組態路由器,通過NAT閘道器來建立隧道的方法
取自「https://zh.wikipedia.org/w/index.php?title=网络地址转换&oldid=68119490」
分類:網絡地址轉換隱藏分類:需要從外語維基百科翻譯的條目含有英語的條目使用RFC魔術連結的頁面
導覽選單
個人工具
沒有登入討論貢獻建立帳號登入
命名空間
條目討論
臺灣正體
已展開
已摺疊
不转换简体繁體大陆简体香港繁體澳門繁體大马简体新加坡简体臺灣正體
查看
閱讀編輯檢視歷史
更多
已展開
已摺疊
搜尋
導航
首頁分類索引特色內容新聞動態近期變更隨機條目資助維基百科
說明
說明維基社群方針與指引互助客棧知識問答字詞轉換IRC即時聊天聯絡我們關於維基百科
工具
連結至此的頁面相關變更上傳檔案特殊頁面靜態連結頁面資訊引用此頁面維基數據項目
列印/匯出
下載為PDF可列印版
其他專案
維基共享資源
其他語言
AragonésالعربيةБеларускаяБългарскиবাংলাCatalàČeštinaDanskDeutschΕλληνικάEnglishEsperantoEspañolEestiEuskaraفارسیSuomiFrançaisעבריתMagyarՀայերենBahasaIndonesiaÍslenskaItaliano日本語한국어LombardLatviešuNederlandsNorskbokmålPolskiPiemontèisPortuguêsРусскийSimpleEnglishSlovenčinaСрпски/srpskiSvenskaதமிழ்TagalogTürkçeУкраїнськаTiếngViệt
編輯連結
延伸文章資訊
- 1NAT 網路位址轉譯 - 翻轉工作室
『網路位址轉譯』(Network Address Translator, NAT)的功能是做內部網路位址和外部網路位址之間的轉譯,一般企業將它作為合法 IP 位址和私有位址之間的轉譯功能。
- 2NAT穿透技術從外部直接溝通私有IP | 網管人
NAT是Network Address Translation的縮寫。NAT是用來將已經註冊的IP位址轉換到私有的IP位址,簡化IP位址的管理,以便讓企業內部 ...
- 3Network Address Translation (NAT) 網路位址轉換 - Jan Ho 的 ...
透過Public IP Address 與Private IP Address 之間的轉換,NAT 有效地降低了企業對Public IP Address 的需求,因而被廣泛使用。本文將會介紹幾款...
- 4第十二章NAT 及防火牆 - twbsd.org
這個部份我們將說明如何以FreeBSD 做為防火牆,介紹FreeBSD 內建的封包過濾功能。 ... 我們只需在NAT 伺服器中做好設定,再將其他使用private IP 的電腦設定gatewa...
- 5NAT的簡單介紹及NAT的原理 - 每日頭條
NAT技術NAT(網絡地址轉換),當在專用網內部的一些主機本來已經分配到了本地IP位址(即僅在本專用網內使用的專用地址),但現在又想和網際網路上的主機 ...