国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

Win XP中網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)概述(二)

瀏覽:7日期:2023-07-30 15:41:21
什么是“NAT 穿越”?

“NAT 穿越”是這樣一組功能:它允許網(wǎng)絡(luò)應(yīng)用程序能明確自己位于 NAT 設(shè)備的后面,獲得外部 IP 地址,并將端口映射配置為將 NAT 外部端口的數(shù)據(jù)包轉(zhuǎn)發(fā)給應(yīng)用程序所用的內(nèi)部端口,而所有這些都是自動(dòng)完成的,因此用戶不必手動(dòng)配置端口映射或其他類似的方面。

相對(duì)與目前所用的、面向特定應(yīng)用程序的其他方法而言,這對(duì)于解決由 NAT 引起的連接問題確實(shí)是一種更為全面的解決方案。目前使用的那些專門解決方案有的要求用戶具有一定的技術(shù)知識(shí),有的要求應(yīng)用程序開發(fā)人員或 Internet 網(wǎng)關(guān)提供商進(jìn)行專門的開發(fā)工作,也有的則對(duì)二者都要求。

雖然 NAT 穿越可以解決一些 NAT 問題,但它不是萬能藥,不能解決所有問題。盡管如此,在提高用戶滿意度、減少用戶支持呼叫的次數(shù)和支持新的、具有創(chuàng)造性的服務(wù)和應(yīng)用程序方面,這種自動(dòng)化的 NAT 穿越代表了非常重要的一步,尤其對(duì)于家庭網(wǎng)絡(luò)環(huán)境而言。

NAT 穿越應(yīng)視為一種在需要時(shí)使用的處理機(jī)制,而非在所有情況下都發(fā)揮作用。在 IPv6 中,每個(gè)客戶機(jī)都具有可全局路由的 IP 地址,因此已不再需要 NAT 及 NAT 穿越。就 IPv6 能在多長(zhǎng)時(shí)間得到普遍部署這一問題,有各種不同的預(yù)測(cè)。在業(yè)界,包括 Microsoft,已投入巨資推進(jìn) IPv6,但在現(xiàn)在及未來的幾年內(nèi),本文后面所述的 NAT 穿越解決方案對(duì)于希望解決 NAT 問題的一般用戶和小型企業(yè)用戶而言卻意義非凡。

NAT 穿越操作

“NAT 穿越”依賴于作為通用即插即用 (UPnP) 論壇規(guī)范組成部分的發(fā)現(xiàn)和控制協(xié)議。UPnP 論壇有一個(gè)工作委員會(huì)主要負(fù)責(zé)定義 Internet 網(wǎng)關(guān)設(shè)備的控制協(xié)議并定義這些設(shè)備的服務(wù)。

支持 Internet 網(wǎng)關(guān)設(shè)備控制協(xié)議基本元素的 Internet 網(wǎng)關(guān)設(shè)備可向局域網(wǎng)上的控制點(diǎn)聲明自己的存在并發(fā)布 XML 描述文檔。利用這些 XML 描述文檔,控制點(diǎn)就能了解用于確定 Internet 網(wǎng)關(guān)是否支持 NAT、獲取 NAT 的外部 IP 地址及創(chuàng)建端口映射時(shí)需要調(diào)用的 UPnP 操作。

Windows 中的“NAT 穿越 API”對(duì)直接使用 UPnP 的要求進(jìn)行了提煉,可提供用于檢測(cè)、管理和配置 NAT 設(shè)備的接口。

NAT 穿越 API

當(dāng)網(wǎng)絡(luò)應(yīng)用程序需要檢測(cè)是否存在 NAT 設(shè)備并調(diào)整該設(shè)備的行為時(shí),該應(yīng)用程序可以使用 Windows 中提供的“NAT 穿越 API”(完整記錄在 Platform SDK 中) 來實(shí)現(xiàn)下列功能:

.

判斷 NAT 是否存在

.

獲取 NAT 的外部 IP 地址。

.

獲取特定外部端口的靜態(tài)端口映射信息 (如果已映射)。

.

添加靜態(tài)端口映射 (除非已分配外部端口)。

.

啟用或禁用特定的端口映射而不刪除

.

編輯靜態(tài)端口映射的界面友好描述

.

刪除靜態(tài)端口映射

.

獲取局域網(wǎng)靜態(tài)端口映射的列表。

利用這些功能,應(yīng)用程序可以解決許多因 NAT 而導(dǎo)致的問題。請(qǐng)注意:Windows NAT 穿越 API 目前僅在有限的時(shí)間內(nèi)支持端口映射,否則將稱為靜態(tài)端口映射。

Windows XP 中的 NAT 穿越 API

默認(rèn)情況下,Windows XP 中將安裝 NAT 穿越 API。這些 API 也可安裝在運(yùn)行 Windows Me 和 Windows 98 的計(jì)算機(jī)中,方法是使用 Windows XP CD 上一個(gè)名為“網(wǎng)絡(luò)安裝向?qū)А钡墓ぞ摺樘峁└郊?XML 解析器支持,“NAT 穿越 API”還要求安裝 Internet Explorer 6.0。

Windows 2000 目前不支持“NAT 穿越”。

Internet 網(wǎng)關(guān)中支持 NAT 穿越

Internet 網(wǎng)關(guān)對(duì) NAT 穿越的支持是通過支持 “通用即插即用論壇” 所定義的 Internet 網(wǎng)關(guān)設(shè)備 (IGD) 規(guī)范而實(shí)現(xiàn)的。網(wǎng)關(guān)制造商還應(yīng)注意到:Windows 中的 NAT 穿越 API 對(duì) IGD 進(jìn)行下列假定:

.

IGD 每次僅聲明一個(gè)外部接口。盡管在技術(shù)上允許 Internet 網(wǎng)關(guān)設(shè)備聲明多個(gè)外部接口,但“NAT 穿越 API”卻只使用第一個(gè)。

.

IGD 支持允許任何遠(yuǎn)程 IP 地址將數(shù)據(jù)包發(fā)送給內(nèi)部客戶機(jī)的端口映射。

.

IGD 支持具有廣播地址 (列為客戶機(jī)) 的端口映射

.

IGD 支持 NAT 外部端口數(shù)與客戶機(jī)內(nèi)部端口數(shù)不同。

.

IGD 將聲明版本號(hào) 1。

.

靜態(tài)端口映射 (或稱持續(xù)時(shí)間設(shè)置為無限的端口映射) 將無限期存在。即使是重新啟動(dòng)系統(tǒng)、更改 IP 地址或是服務(wù)器上存在客戶機(jī),都無法去除靜態(tài)端口映射。

本文寫作的過程中,幾個(gè)業(yè)界領(lǐng)先的制造商已經(jīng)宣布在 2001 年提供支持這些 UPnP 方法并且能與 Windows NAT 穿越 API 協(xié)同使用的 Internet 網(wǎng)關(guān)設(shè)備。對(duì)于業(yè)界和用戶而言,這都是向前邁進(jìn)的有意義的一步。

隨著越來越多的 Internet 網(wǎng)關(guān)設(shè)備提供商認(rèn)識(shí)到使用 UPnP 解決上述問題所具有的優(yōu)勢(shì),隨著更多一般用戶和小型企業(yè)用戶開始意識(shí)到與 NAT 有關(guān)的問題及這些支持 UPnP 的 NAT 穿越解決方案的強(qiáng)大功能,為 NAT 穿越提供 UPnP 支持有望成為此類設(shè)備的必備功能或入市前提。

Internet 網(wǎng)關(guān)制造商應(yīng)加入 UPnP 論壇,了解如何使自己的 Internet 網(wǎng)關(guān)設(shè)備符合 UPnP 標(biāo)準(zhǔn)。

應(yīng)說明的是:Windows XP 上的“Internet 連接共享”支持 UPnP IGD 標(biāo)準(zhǔn) 0.9 版。預(yù)計(jì)版本 1.0 將與版本 0.9 兼容。

應(yīng)用程序怎樣使用 NAT 穿越

應(yīng)用程序使用“NAT 穿越”的方式與多個(gè)因素有關(guān),包括端口映射期望的生存期及端口是否用于多個(gè)客戶機(jī)或服務(wù)。應(yīng)用程序應(yīng)清除自己創(chuàng)建的所有靜態(tài)端口映射,以避免出現(xiàn)孤立映射及端口被其他應(yīng)用程序占盡的情況。

如果應(yīng)用程序是一種網(wǎng)絡(luò)服務(wù) (例如 Web 服務(wù)器),并在生存期內(nèi)要求使用已知端口,它的安裝程序就可以使用 “NAT 穿越 API” 來配置一個(gè)靜態(tài)端口映射。假定其他應(yīng)用程序、網(wǎng)絡(luò)管理員、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)都維持原狀,而清除機(jī)制也保持映射不變,則外部客戶機(jī)就能在服務(wù)生存期內(nèi)連接該服務(wù)。應(yīng)用程序卸載服務(wù)負(fù)責(zé)刪除這個(gè)映射。如果出現(xiàn)崩潰,即使服務(wù)已不存在,靜態(tài)端口映射也仍將存在。如果外部 IP 地址發(fā)生變化,則靜態(tài)端口映射將自動(dòng)獲取更改的內(nèi)容。

如果應(yīng)用程序并不始終運(yùn)行,或者對(duì)網(wǎng)絡(luò)維護(hù)其靜態(tài)端口映射的信任度降低,它就可以在每次啟動(dòng)時(shí)保留某個(gè)已知端口,并在每次關(guān)閉時(shí)恢復(fù)資源。這一點(diǎn)可通過運(yùn)行某個(gè)并行腳本來實(shí)現(xiàn)。作為添加和刪除端口映射的替代方案,可以讓應(yīng)用程序根據(jù)需要啟用和禁用映射。應(yīng)用程序還可以始終保留靜態(tài)端口映射,且只在每次啟用時(shí)刷新映射。

同樣,如果外部 IP 地址發(fā)生變化,則靜態(tài)端口映射將自動(dòng)獲取更改的內(nèi)容。

如果專用網(wǎng)絡(luò)上不同客戶機(jī)的多個(gè)應(yīng)用程序使用同一內(nèi)部端口號(hào),應(yīng)用程序就會(huì)要求進(jìn)行修改,以支持多個(gè)客戶機(jī)的運(yùn)行。只有單個(gè)客戶機(jī)能使用外部端口映射的內(nèi)部端口號(hào)。此處建議讓第一個(gè)客戶機(jī)使用。其他客戶機(jī)應(yīng)請(qǐng)求內(nèi)部端口數(shù)不同于外部端口數(shù)的非對(duì)稱端口映射。

有一種特殊的情況:多個(gè)客戶機(jī)可監(jiān)聽同一外部端口,而唯一的目的是被遠(yuǎn)程主機(jī)發(fā)現(xiàn)。輸入數(shù)據(jù)包可以轉(zhuǎn)換為使用內(nèi)部客戶機(jī) IP 地址的廣播地址,而非特定的客戶機(jī)地址。監(jiān)聽該端口的客戶機(jī)可通過啟動(dòng)自己與遠(yuǎn)程主機(jī)之間的連接而予以回復(fù)。建議不要普遍使用這種方案,因?yàn)榈皆摰刂返妮斎霐?shù)據(jù)包將被網(wǎng)絡(luò)上的所有客戶機(jī)接收,并會(huì)反過來對(duì)它們?cè)斐捎绊憽?/P>

如果服務(wù)需要短期監(jiān)聽某個(gè)隨機(jī)端口,它應(yīng)在應(yīng)用程序中請(qǐng)求一個(gè)靜態(tài)端口映射,而非使用腳本。服務(wù)結(jié)束時(shí),應(yīng)予以清除 (刪除映射)。應(yīng)用程序應(yīng)保留一份自己特有端口映射的記錄。這樣,如果應(yīng)用程序在崩潰時(shí)沒有關(guān)閉映射,就可以在下一次啟動(dòng)時(shí)檢索出清除端口映射所需的必要信息。

如果應(yīng)用程序離開網(wǎng)絡(luò)時(shí)沒有清除其端口映射,則該映射就會(huì)保留下來,而清除任務(wù)就落在用戶的身上。目前 Windows 中尚沒有清除機(jī)制,這是因?yàn)楹茈y判斷應(yīng)用程序不再使用映射的時(shí)間。

NAT 穿越的局限

盡管“NAT 穿越”可以解決與通過 NAT 設(shè)備進(jìn)行連接時(shí)有關(guān)的多種問題,但還有“NAT 穿越”無法解決的問題及由其引起的問題。這些問題包括:

.

NAT 穿越使用開放式信任模式。這意味著專用網(wǎng)絡(luò)上的所有應(yīng)用程序都能訪問 NAT 上的所有端口映射。盡管這樣可以增加一些管理方面的靈活性,但應(yīng)用程序也就失去了對(duì)其映射的唯一占有權(quán)。

.

應(yīng)用程序?qū)⒇?fù)責(zé)解決沖突。如果應(yīng)用程序嘗試映射某個(gè)已映射給其他客戶機(jī)的端口,它就應(yīng)負(fù)責(zé)查找另一個(gè)端口或改寫應(yīng)用程序。

.

NAT 穿越無法解決在 ISP 分發(fā)專用地址和使用 NAT 進(jìn)行客戶機(jī)連接方面的問題。這種情況下,NAT 位于 Internet 網(wǎng)關(guān)設(shè)備的外面,實(shí)際上位于服務(wù)提供商網(wǎng)絡(luò)的內(nèi)部。如果客戶機(jī)網(wǎng)絡(luò)上的 NAT 位于另一個(gè)同類 NAT 的后面,家庭或小型企業(yè)中的 NAT 穿越就會(huì)出現(xiàn)故障。因此,建議 Internet 服務(wù)提供商不要在自己的網(wǎng)絡(luò)內(nèi)部署 NAT。

.

應(yīng)用程序獲取 NAT 穿越時(shí)并非毫無代價(jià)。它們必須同時(shí)進(jìn)行修改以調(diào)用 API,或者隨帶腳本以提供解決方案。這對(duì)于大多數(shù)開發(fā)人員而言仍在可控制的范圍內(nèi),尤其是考慮到將這些 NAT 穿越機(jī)制并入應(yīng)用程序后,應(yīng)用程序就能自動(dòng)與多種 Internet 網(wǎng)關(guān)設(shè)備協(xié)同使用。

.

使用完端口映射后,應(yīng)用程序負(fù)責(zé)清除工作。靜態(tài)映射會(huì)無限期存在,最好用于打算在整個(gè)應(yīng)用程序生存期內(nèi)監(jiān)聽知名端口的服務(wù)。

.

提供 NAT 的 Internet 網(wǎng)關(guān)必須支持通用即插即用 Internet 網(wǎng)關(guān)設(shè)備規(guī)范 (至少為版本 0.9)。

結(jié)論

NAT 是得到 IETF 認(rèn)可的解決方案,針對(duì)的是 IPv4 名稱空間耗用問題。使用 NAT 的 Internet 網(wǎng)關(guān)經(jīng)常用于家庭和小型企業(yè)。之所以使用它們,是因?yàn)樗鼈儍r(jià)格便宜,易于管理,無需用戶安裝特殊的軟件。

使用 NAT 的不足在于會(huì)破壞許多聊天、多人游戲和對(duì)等應(yīng)用程序。這是因?yàn)樗鼈兊木W(wǎng)絡(luò)協(xié)議對(duì)網(wǎng)絡(luò)體系結(jié)構(gòu)所做的假定已不成立。

“NAT 穿越”為應(yīng)用程序提供了一條查找 NAT 設(shè)備、發(fā)現(xiàn)可全局路由的共享 IP 地址并配置靜態(tài)端口映射以解決某些連接問題的途徑。NAT 穿越解決方案無法解決與 NAT 有關(guān)的所有問題,但可以緩解部分問題。

本文的主要結(jié)論是:

.

Internet 網(wǎng)關(guān)設(shè)備制造商應(yīng)在自己的設(shè)備中支持 UPnP,從而支持“NAT 穿越”。

.

網(wǎng)絡(luò)應(yīng)用程序開發(fā)人員應(yīng)使用 Windows NAT 穿越 API 來檢測(cè) NAT 的存在,并在必要時(shí)允許其應(yīng)用程序經(jīng)過 NAT。

.

用戶應(yīng)使用支持 UPnP 和“NAT 穿越”的 Internet 網(wǎng)關(guān)設(shè)備,以確保最佳的應(yīng)用程序性能。

.

DSL 和電纜調(diào)制解調(diào)器的服務(wù)提供商應(yīng)指定、銷售和租賃為 NAT 穿越提供 UPnP 支持的 Internet 網(wǎng)關(guān)設(shè)備。

在 IPv6 最終消除 NAT 之前,某些形式的 NAT 穿越仍會(huì)繼續(xù)存在。

標(biāo)簽: Windows系統(tǒng) WinXP
主站蜘蛛池模板: www.碰| 中文字幕国产欧美 | 欧美一区二区aa大片 | 怡红院视频在线 | 免费一区二区 | 美女让我桶 | 亚洲精品午夜 | 成人观看网站a | 欧美一级视频在线观看欧美 | 欧美aav| 99精品国产一区二区三区 | 精品国产1区 | 2022国产精品手机在线观看 | 久久亚洲国产的中文 | 欧美成a人片在线观看久 | a毛片毛费观看 | 丰满老熟女毛片 | 日韩激情中文字幕一区二区 | 欧美精品在线免费观看 | 国产中文字幕在线观看 | 三级网站免费观看 | 久久精品一区二区影院 | 97精品国产91久久久久久久 | 日韩在线亚洲 | 国产91精品在线 | 日韩在线三级视频 | 国产成人黄色 | 黄色毛片免费看 | 久久精品在线免费观看 | 欧美大屁股精品毛片视频 | 成人精品一区久久久久 | 日韩免费a级在线观看 | 一级片免费观看视频 | 久青草免费在线视频 | a级片在线 | 亚洲三级网 | 美女很黄免费 | 久久福利青草精品资源站免费 | 91成人免费观看网站 | 男女乱淫免费视频 | 欧美日韩精品一区二区 |