簡(jiǎn)介
隨著越來(lái)越多的家庭和小型企業(yè)添置計(jì)算機(jī),它們會(huì)發(fā)現(xiàn)網(wǎng)絡(luò)是一種非常強(qiáng)大的計(jì)算機(jī)資源共享工具 。Internet 連接則是網(wǎng)絡(luò)上更珍貴的資源,有可能被共享 。為共享 Internet 連接,同時(shí)利用價(jià)格便宜、管理簡(jiǎn)單的家庭或小型辦公網(wǎng)絡(luò),需要部署 Internet 網(wǎng)關(guān) 。Internet 網(wǎng)關(guān)通常將 NAT (網(wǎng)絡(luò)地址轉(zhuǎn)換) 作為將多個(gè)主機(jī)連接到 Internet 以共享單個(gè)公共 IP 地址的途徑 。但不幸的是,該解決方案卻會(huì)破壞多種網(wǎng)絡(luò)應(yīng)用程序 。我們將在本文中對(duì)此加以說(shuō)明 。
現(xiàn)有的“NAT 穿越”技術(shù)允許網(wǎng)絡(luò)應(yīng)用程序檢測(cè)是否存在本地 NAT 設(shè)備 。檢測(cè)到后,應(yīng)用程序隨即對(duì) NAT 進(jìn)行配置,定義相應(yīng)的映射來(lái)解決兼容性問(wèn)題 。
本文屬于概述性文章,將向網(wǎng)絡(luò)應(yīng)用程序的用戶和開(kāi)發(fā)人員簡(jiǎn)要介紹一下 NAT,介紹如何識(shí)別常見(jiàn) NAT 問(wèn)題,同時(shí)介紹應(yīng)用程序如何使用 “NAT 穿越”解決這些問(wèn)題 。需要關(guān)注的 Internet 網(wǎng)關(guān)設(shè)備的一個(gè)重要特征是 UPnP 認(rèn)證 。使用者購(gòu)買或從服務(wù)提供商那里租借 Internet 網(wǎng)關(guān)設(shè)備時(shí),強(qiáng)烈建議只考慮那些通過(guò)用于 NAT 穿越的 UPnP 認(rèn)證的設(shè)備,這是因?yàn)樵摴δ軐?duì)于滿足用戶、降低支持費(fèi)用及使用更有創(chuàng)新性的服務(wù)和應(yīng)用程序而言至關(guān)重要 。
對(duì)網(wǎng)關(guān)設(shè)備廠商而言,在 Internet 網(wǎng)關(guān)設(shè)備中加入對(duì) NAT 穿越的 UPnP 技術(shù)支持并不復(fù)雜,費(fèi)用不高,也不用花大量的時(shí)間 。通過(guò)使用 UPnP (已經(jīng)是基于 Internet 標(biāo)準(zhǔn)和協(xié)議的),Internet 網(wǎng)關(guān)設(shè)備制造商就可以解決 NAT 穿越問(wèn)題,并將優(yōu)點(diǎn)延伸至大多數(shù)經(jīng)過(guò)該設(shè)備的應(yīng)用程序 。這同許多應(yīng)用程序開(kāi)發(fā)人員或網(wǎng)關(guān)設(shè)備制造商不得不為解決上述問(wèn)題而提供一次性解決方案形成鮮明的對(duì)比 。本文并非旨在為希望在 Internet 網(wǎng)關(guān)設(shè)備中實(shí)施“NAT 穿越”的硬件制造商提供詳細(xì)的指南 。有關(guān)此信息,請(qǐng)參閱 UPnP 論壇 Web 站點(diǎn) 。
Windows 體系結(jié)構(gòu)、網(wǎng)絡(luò)以及 UPnP 體系結(jié)構(gòu)方面的知識(shí)會(huì)對(duì)充分理解本文會(huì)有所幫助,但并不是必需的 。
什么是 NAT?
網(wǎng)絡(luò)地址轉(zhuǎn)換 (NAT) 是一個(gè) Internet 工程任務(wù)組 (Internet Engineering Task Force,IETF) 標(biāo)準(zhǔn),用于允許專用網(wǎng)絡(luò)上的多臺(tái) PC (使用專用地址段,例如 10.0.x.x、192.168.x.x、172.x.x.x) 共享單個(gè)、全局路由的 IPv4 地址 。IPv4 地址日益不足是經(jīng)常部署 NAT 的一個(gè)主要原因 。Windows XP 和 Windows Me 中的“Internet 連接共享”及許多 Internet 網(wǎng)關(guān)設(shè)備都使用 NAT,尤其是在通過(guò) DSL 或電纜調(diào)制解調(diào)器連接寬帶網(wǎng)的情況下 。
NAT 對(duì)于解決 IPv4 地址耗費(fèi)問(wèn)題 (在 IPv6 部署中卻沒(méi)必要) 盡管很有效,但畢竟屬于臨時(shí)性的解決方案 。這種 IPv4 地址占用問(wèn)題在亞洲及世界其他一些地方已比較嚴(yán)重,且日漸成為北美地區(qū)需要關(guān)注的問(wèn)題 。這就是人們?yōu)槭裁撮L(zhǎng)久以來(lái)一直關(guān)注使用 IPv6 來(lái)克服這個(gè)問(wèn)題的原因所在 。
除了減少所需的 IPv4 地址外,由于專用網(wǎng)絡(luò)之外的所有主機(jī)都通過(guò)一個(gè)共享的 IP 地址來(lái)監(jiān)控通信,因此 NAT 還為專用網(wǎng)絡(luò)提供了一個(gè)隱匿層 。NAT 與 防火墻 或代理服務(wù)器不同,但它確實(shí)有利于安全 。
圖 1:使用 NAT 設(shè)備進(jìn)行 Internet 通信的網(wǎng)絡(luò)示例 。
正如固定電纜調(diào)制解調(diào)器或 DSL 調(diào)制解調(diào)器可以作為 NAT 設(shè)備一樣,
PC 也可以作為 NAT 設(shè)備 。
常規(guī) NAT 操作
NAT 設(shè)備后面的客戶端通常通過(guò) DHCP (動(dòng)態(tài)主機(jī)配置協(xié)議) 分配到專用的 IP 地址,或者由管理員進(jìn)行靜態(tài)配置 。在該專用網(wǎng)絡(luò)的外面進(jìn)行通信時(shí),通常會(huì)發(fā)生下列事情 。
在客戶機(jī)上
當(dāng)應(yīng)用程序想同服務(wù)器通信時(shí),它將打開(kāi)與源 IP 地址、源端口、目標(biāo) IP 地址、目標(biāo)端口及網(wǎng)絡(luò)協(xié)議相關(guān)聯(lián)的套接字 。這樣可以識(shí)別通信所需的兩個(gè)端點(diǎn) 。當(dāng)應(yīng)用程序利用該套接字傳輸信息時(shí),客戶機(jī)的專用 IP 地址 (源 IP 地址) 和端口 (源端口) 將被插入數(shù)據(jù)包的源字段中 。數(shù)據(jù)包的目標(biāo)字段將包含服務(wù)器的 IP 地址 (遠(yuǎn)程主機(jī) - 目標(biāo) IP 地址) 和端口 。由于該數(shù)據(jù)包的目的地是該專用網(wǎng)絡(luò)之外的某個(gè)位置,因此客戶機(jī)將把該數(shù)據(jù)包轉(zhuǎn)發(fā)給默認(rèn)的網(wǎng)關(guān) 。這種情況下的默認(rèn)網(wǎng)關(guān)就是 NAT 設(shè)備 。
推薦閱讀
- win10系統(tǒng)下卸載無(wú)用字體的方法教程
- win7系統(tǒng)安裝IE10出現(xiàn)白屏問(wèn)題的解決方法
- 創(chuàng)建WinXP啟動(dòng)軟盤(pán)
- win7系統(tǒng)出現(xiàn)Dpp Viewer Module停止工作的解決方法
- win8商店不顯示W(wǎng)in8.1更新的解決方法
- 鼠標(biāo)的單擊鎖定
- Win8系統(tǒng)安裝KB3000850補(bǔ)丁失敗的解決辦法
- 1 50招Win XP操作系統(tǒng)應(yīng)用技巧
- win8系統(tǒng)中如何啟動(dòng)IE11的企業(yè)模式?
- Win 98不能訪問(wèn)Win XP的解決方法
