亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Win XP中網絡地址轉換(NAT)概述(二)

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

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

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

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

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

NAT 穿越操作

“NAT 穿越”依賴于作為通用即插即用 (UPnP) 論壇規范組成部分的發現和控制協議。UPnP 論壇有一個工作委員會主要負責定義 Internet 網關設備的控制協議并定義這些設備的服務。

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

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

NAT 穿越 API

當網絡應用程序需要檢測是否存在 NAT 設備并調整該設備的行為時,該應用程序可以使用 Windows 中提供的“NAT 穿越 API”(完整記錄在 Platform SDK 中) 來實現下列功能:

.

判斷 NAT 是否存在

.

獲取 NAT 的外部 IP 地址。

.

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

.

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

.

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

.

編輯靜態端口映射的界面友好描述

.

刪除靜態端口映射

.

獲取局域網靜態端口映射的列表。

利用這些功能,應用程序可以解決許多因 NAT 而導致的問題。請注意:Windows NAT 穿越 API 目前僅在有限的時間內支持端口映射,否則將稱為靜態端口映射。

Windows XP 中的 NAT 穿越 API

默認情況下,Windows XP 中將安裝 NAT 穿越 API。這些 API 也可安裝在運行 Windows Me 和 Windows 98 的計算機中,方法是使用 Windows XP CD 上一個名為“網絡安裝向導”的工具。為提供附加 XML 解析器支持,“NAT 穿越 API”還要求安裝 Internet Explorer 6.0。

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

Internet 網關中支持 NAT 穿越

Internet 網關對 NAT 穿越的支持是通過支持 “通用即插即用論壇” 所定義的 Internet 網關設備 (IGD) 規范而實現的。網關制造商還應注意到:Windows 中的 NAT 穿越 API 對 IGD 進行下列假定:

.

IGD 每次僅聲明一個外部接口。盡管在技術上允許 Internet 網關設備聲明多個外部接口,但“NAT 穿越 API”卻只使用第一個。

.

IGD 支持允許任何遠程 IP 地址將數據包發送給內部客戶機的端口映射。

.

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

.

IGD 支持 NAT 外部端口數與客戶機內部端口數不同。

.

IGD 將聲明版本號 1。

.

靜態端口映射 (或稱持續時間設置為無限的端口映射) 將無限期存在。即使是重新啟動系統、更改 IP 地址或是服務器上存在客戶機,都無法去除靜態端口映射。

本文寫作的過程中,幾個業界領先的制造商已經宣布在 2001 年提供支持這些 UPnP 方法并且能與 Windows NAT 穿越 API 協同使用的 Internet 網關設備。對于業界和用戶而言,這都是向前邁進的有意義的一步。

隨著越來越多的 Internet 網關設備提供商認識到使用 UPnP 解決上述問題所具有的優勢,隨著更多一般用戶和小型企業用戶開始意識到與 NAT 有關的問題及這些支持 UPnP 的 NAT 穿越解決方案的強大功能,為 NAT 穿越提供 UPnP 支持有望成為此類設備的必備功能或入市前提。

Internet 網關制造商應加入 UPnP 論壇,了解如何使自己的 Internet 網關設備符合 UPnP 標準。

應說明的是:Windows XP 上的“Internet 連接共享”支持 UPnP IGD 標準 0.9 版。預計版本 1.0 將與版本 0.9 兼容。

應用程序怎樣使用 NAT 穿越

應用程序使用“NAT 穿越”的方式與多個因素有關,包括端口映射期望的生存期及端口是否用于多個客戶機或服務。應用程序應清除自己創建的所有靜態端口映射,以避免出現孤立映射及端口被其他應用程序占盡的情況。

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

如果應用程序并不始終運行,或者對網絡維護其靜態端口映射的信任度降低,它就可以在每次啟動時保留某個已知端口,并在每次關閉時恢復資源。這一點可通過運行某個并行腳本來實現。作為添加和刪除端口映射的替代方案,可以讓應用程序根據需要啟用和禁用映射。應用程序還可以始終保留靜態端口映射,且只在每次啟用時刷新映射。

同樣,如果外部 IP 地址發生變化,則靜態端口映射將自動獲取更改的內容。

如果專用網絡上不同客戶機的多個應用程序使用同一內部端口號,應用程序就會要求進行修改,以支持多個客戶機的運行。只有單個客戶機能使用外部端口映射的內部端口號。此處建議讓第一個客戶機使用。其他客戶機應請求內部端口數不同于外部端口數的非對稱端口映射。

有一種特殊的情況:多個客戶機可監聽同一外部端口,而唯一的目的是被遠程主機發現。輸入數據包可以轉換為使用內部客戶機 IP 地址的廣播地址,而非特定的客戶機地址。監聽該端口的客戶機可通過啟動自己與遠程主機之間的連接而予以回復。建議不要普遍使用這種方案,因為到該地址的輸入數據包將被網絡上的所有客戶機接收,并會反過來對它們造成影響。

如果服務需要短期監聽某個隨機端口,它應在應用程序中請求一個靜態端口映射,而非使用腳本。服務結束時,應予以清除 (刪除映射)。應用程序應保留一份自己特有端口映射的記錄。這樣,如果應用程序在崩潰時沒有關閉映射,就可以在下一次啟動時檢索出清除端口映射所需的必要信息。

如果應用程序離開網絡時沒有清除其端口映射,則該映射就會保留下來,而清除任務就落在用戶的身上。目前 Windows 中尚沒有清除機制,這是因為很難判斷應用程序不再使用映射的時間。

NAT 穿越的局限

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

.

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

.

應用程序將負責解決沖突。如果應用程序嘗試映射某個已映射給其他客戶機的端口,它就應負責查找另一個端口或改寫應用程序。

.

NAT 穿越無法解決在 ISP 分發專用地址和使用 NAT 進行客戶機連接方面的問題。這種情況下,NAT 位于 Internet 網關設備的外面,實際上位于服務提供商網絡的內部。如果客戶機網絡上的 NAT 位于另一個同類 NAT 的后面,家庭或小型企業中的 NAT 穿越就會出現故障。因此,建議 Internet 服務提供商不要在自己的網絡內部署 NAT。

.

應用程序獲取 NAT 穿越時并非毫無代價。它們必須同時進行修改以調用 API,或者隨帶腳本以提供解決方案。這對于大多數開發人員而言仍在可控制的范圍內,尤其是考慮到將這些 NAT 穿越機制并入應用程序后,應用程序就能自動與多種 Internet 網關設備協同使用。

.

使用完端口映射后,應用程序負責清除工作。靜態映射會無限期存在,最好用于打算在整個應用程序生存期內監聽知名端口的服務。

.

提供 NAT 的 Internet 網關必須支持通用即插即用 Internet 網關設備規范 (至少為版本 0.9)。

結論

NAT 是得到 IETF 認可的解決方案,針對的是 IPv4 名稱空間耗用問題。使用 NAT 的 Internet 網關經常用于家庭和小型企業。之所以使用它們,是因為它們價格便宜,易于管理,無需用戶安裝特殊的軟件。

使用 NAT 的不足在于會破壞許多聊天、多人游戲和對等應用程序。這是因為它們的網絡協議對網絡體系結構所做的假定已不成立。

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

本文的主要結論是:

.

Internet 網關設備制造商應在自己的設備中支持 UPnP,從而支持“NAT 穿越”。

.

網絡應用程序開發人員應使用 Windows NAT 穿越 API 來檢測 NAT 的存在,并在必要時允許其應用程序經過 NAT。

.

用戶應使用支持 UPnP 和“NAT 穿越”的 Internet 網關設備,以確保最佳的應用程序性能。

.

DSL 和電纜調制解調器的服務提供商應指定、銷售和租賃為 NAT 穿越提供 UPnP 支持的 Internet 網關設備。

在 IPv6 最終消除 NAT 之前,某些形式的 NAT 穿越仍會繼續存在。

標簽: Windows系統 WinXP
主站蜘蛛池模板: 一级特黄录像绵费播放 | 一级黄色毛毛片 | 成人在线免费视频播放 | 亚洲综合色婷婷久久 | 成人午夜性a一级毛片美女 成人午夜性影院视频 | 在线尤物 | 精品在线免费观看视频 | 香蕉视频在线免费看 | 久久ri精品高清一区二区三区 | 一级黄色a级片 | 国产三级在线播放不卡 | 国产精品嫩草免费视频 | 亚洲毛片免费视频 | 久久天天躁狠狠躁夜夜爽蜜月 | 国产精品麻豆入口 | 伊人影院在线观看视频 | 日韩欧美亚洲视频 | 国产成人久视频免费 | 亚洲午夜免费视频 | 三级黄色片免费 | 久久国产乱子伦精品免费一 | 韩国19禁主播裸免费福利 | 国产a三级三级三级 | 男人狂躁女人下面视频免费观看 | 欧美日穴| 亚洲国产日韩在线 | 欧美视频在线观看网站 | 国产精品亚洲w码日韩中文 国产精品亚洲成在人线 | 中文一区 | 国产无遮挡又爽又色又刺激 | 精品国免费一区二区三区 | 九九99九九在线精品视频 | 欧美草逼网站 | 国产一区二区三区美女图片 | 久久久久久国产精品mv | 午夜成人在线视频 | 看一级特黄a大一片 | 国产精品久久久久久久久久98 | 国产成人精品免费视频大 | 色噜噜狠狠在爱丁香 | 日韩经典中文字幕 |