UPnP NAT Traversal 常見問題
問:什么是 UpnP?
答:通用即插即用 (UPnP) 是一種用于 PC 機(jī)和智能設(shè)備(或儀器)的常見對(duì)等網(wǎng)絡(luò)連接的體系結(jié)構(gòu),尤其是在家庭中。UPnP 以 Internet 標(biāo)準(zhǔn)和技術(shù)(例如 TCP/IP、HTTP 和 XML)為基礎(chǔ),使這樣的設(shè)備彼此可自動(dòng)連接和協(xié)同工作,從而使網(wǎng)絡(luò)(尤其是家庭網(wǎng)絡(luò))對(duì)更多的人成為可能。
問:UPnP 對(duì)消費(fèi)者意味著什么?
答:簡單、更多選擇和更新穎的體驗(yàn)。包含通用即插即用技術(shù)的網(wǎng)絡(luò)產(chǎn)品只需實(shí)際連到網(wǎng)絡(luò)上,即可開始正常工作。實(shí)際上,UPnP 可以和任何網(wǎng)絡(luò)媒體技術(shù)(有線或無線)協(xié)同使用。舉例來說,這包括:Category 5 以太網(wǎng)電纜、Wi-Fi 或 802.11B 無線網(wǎng)絡(luò)、IEEE 1394 (Firewire)、電話線網(wǎng)絡(luò)或電源線網(wǎng)絡(luò)。當(dāng)這些設(shè)備與 PC 互連時(shí),用戶即可充分利用各種具有創(chuàng)新性的服務(wù)和應(yīng)用程序。
問:什么是 UPnP 論壇?
答:“通用即插即用論壇”是一個(gè)開放式業(yè)界協(xié)會(huì),成立于 1999 年 6 月,旨在幫助定義 UPnP 標(biāo)準(zhǔn)以簡化家庭(長遠(yuǎn)上講則是企業(yè))智能設(shè)備的聯(lián)網(wǎng)。為實(shí)現(xiàn)上述目標(biāo),該論壇正在制定和公布 UPnP 設(shè)備控制協(xié)議及服務(wù)控制協(xié)議。截止到 2001 年 6 月初,已有 350 多家公司成為 UPnP 論壇的成員。UPnP 論壇受由 22 名成員組成的 UPnP Steering Committee(UPnP 指導(dǎo)委員會(huì))的管理。此外還設(shè)立了技術(shù)委員會(huì)、市場推廣委員會(huì)及各種工作委員會(huì)(分別面向某種特定的設(shè)備),旨在努力實(shí)現(xiàn)該機(jī)構(gòu)的目標(biāo)。有關(guān)論壇成員的列表及加入論壇的信息,請(qǐng)見論壇 Web 站點(diǎn)。
問:UPnP 的技術(shù)要素是什么?
答:UPnP 范圍廣泛,原因是它面向的是家庭網(wǎng)絡(luò)、臨近網(wǎng)絡(luò)及小型企業(yè)和商住樓中的網(wǎng)絡(luò)。在網(wǎng)絡(luò)控制設(shè)備的管理下,它支持任何兩個(gè)設(shè)備之間的數(shù)據(jù)通訊。UPnP 不依賴于特定的操作系統(tǒng)、編程語言或物理媒體。
UPnP 支持零配置網(wǎng)絡(luò)及自動(dòng)查找功能,這樣以來,設(shè)備即可動(dòng)態(tài)加入網(wǎng)絡(luò),獲取 IP 地址,宣布自己的名稱,根據(jù)需要提供功能,并了解其它設(shè)備的存在和功能。DHCP 和 DNS 服務(wù)器為可選項(xiàng)。只要在網(wǎng)絡(luò)上可用,即可加以使用。此外,設(shè)備還可自動(dòng)平穩(wěn)地脫離網(wǎng)絡(luò),而不會(huì)遺留任何不必要的狀態(tài)。
UPnP 汲取了 Internet 的成功之處并繼承了它的組件,包括 IP、TCP、UDP、HTTP 及 XML。UPnP 中涉及了多供應(yīng)商之間的協(xié)作,旨在建立標(biāo)準(zhǔn)的設(shè)備控制協(xié)議 (DCP)。與 Internet 類似,這些協(xié)議以公告式線協(xié)議為基礎(chǔ),表示為 XML 形式,且通過 HTTP 進(jìn)行通訊。
問:什么是 NAT?為什么使用它?
答:“網(wǎng)絡(luò)地址轉(zhuǎn)換”是一種 Internet Engineering Task Force (IETF) 標(biāo)準(zhǔn),用于允許專用網(wǎng)絡(luò)(使用專用地址范圍,例如 10.0.x.x、192.168.x.x、172.x.x.x)上的多臺(tái) PC 機(jī)或設(shè)備共享單個(gè)、可全局路由的 IPv4 地址。經(jīng)常使用 NAT 的一個(gè)主要原因就是 IPv4(最新一代 Internet)地址的資源日漸緊缺。
在構(gòu)成公用 Internet 與專用局域網(wǎng)之間屏障的網(wǎng)關(guān)設(shè)備中,可以使用 NAT。當(dāng)專用局域網(wǎng)的 IP 數(shù)據(jù)包經(jīng)過網(wǎng)關(guān)時(shí),NAT 將把專用 IP 地址和端口號(hào)轉(zhuǎn)換為公用 IP 地址和端口號(hào),從而跟蹤這些轉(zhuǎn)換以保持各個(gè)會(huì)話不變。Microsoft® Windows® XP 和 Windows Me 操作系統(tǒng)中的“Internet 連接共享”及許多 Internet 網(wǎng)關(guān)設(shè)備都使用 NAT,尤其是在通過 DSL 或電纜調(diào)制解調(diào)器連接寬帶網(wǎng)的情況下。隨著越來越多的家庭和小型企業(yè)將自己的 PC 機(jī)連接起來并共享 Internet 連接,NAT 的使用量正急劇增加。
問:NAT 的問題在哪?
答:簡言之:NAT 會(huì)“瓦解”許多家庭或小型企業(yè)中日漸需要的最新型 PC 和家庭網(wǎng)絡(luò)技術(shù),例如多玩家游戲、實(shí)時(shí)通訊及其它對(duì)等服務(wù)。如果在公用 Internet 上使用專用地址或同時(shí)使用同一端口號(hào),這些應(yīng)用程序就會(huì)中止。應(yīng)用程序必須使用公共地址,且每個(gè)會(huì)話都須使用唯一的端口號(hào)。大型機(jī)構(gòu)有專門的 IT 人員來確保其公司應(yīng)用程序在 NAT 上正常使用,但較小的機(jī)構(gòu)和消費(fèi)者卻不具備這樣奢侈的條件。UPnP NAT Traversal 可以自動(dòng)解決 NAT 給應(yīng)用程序帶來的許多問題,使之成為小型企業(yè)和消費(fèi)者理想的解決方案。
問:誰提出的 NAT Traversal 解決方案?
答:NAT Traversal 解決方案是 UPnP IGD Working Committee 為制定 Internet 網(wǎng)關(guān)設(shè)備 (IGD) 規(guī)范所從事工作的一部分。UPnP 的成員公司可以加入該委員會(huì),也可以只選擇跟蹤其工作進(jìn)展。委員會(huì)的主席是 Intel 公司的 Prakash Iyer (prakash.iyer@intel.com)。許多公司,包括 Microsoft,都在為此而努力。
問:是否有其它途徑來解決 NAT Traversal 的問題?如果有,為什么將 UPnP 視為最佳選擇?
答:是的,確實(shí)有其它途徑來解決此問題,但目前還沒有其它機(jī)制來作為解決該問題的業(yè)界標(biāo)準(zhǔn),從而能對(duì)消費(fèi)者自動(dòng)實(shí)現(xiàn),而對(duì)開發(fā)人員則普遍可行。其它方案或者要求用戶進(jìn)行人工干預(yù),或者要求 Internet 網(wǎng)關(guān)設(shè)備制造商進(jìn)行專門的開發(fā),并要求軟件開發(fā)人員處理 NAT Traversal 對(duì)特殊應(yīng)用程序的需要。因此,只有 UPnP 能解決該重大問題。
用戶的工作: NAT Traversal 的手工干預(yù)法要求用戶使用瀏覽器(PC 機(jī)上一種基于圖形用戶界面的工具)或 PC 上的命令行界面工具來更改家中 Internet 網(wǎng)關(guān)設(shè)備上的某些設(shè)置。盡管有些熱衷技術(shù)的用戶不會(huì)有很大困難,但許多用戶卻感到困難重重。此外,許多用戶甚至不知道 NAT Traversal 問題正對(duì)其 Internet 服務(wù)的使用造成干擾。用戶可能想體驗(yàn)一種多玩家游戲或使用其它某些對(duì)等服務(wù),卻發(fā)現(xiàn)由于某種原因而無法連接。這會(huì)導(dǎo)致用戶采取疑難解答步驟、尋求電話支持、感到不滿,甚至以后不打算使用新的服務(wù)或不打算嘗試新的技術(shù)感受。
開發(fā)人員的工作: 為避免要求用戶手動(dòng)解決此 NAT Traversal 問題,有些 Internet 網(wǎng)關(guān)設(shè)備制造商已編寫出應(yīng)用層網(wǎng)關(guān)支持,并將其包含到設(shè)備中。該應(yīng)用層網(wǎng)關(guān)軟件的設(shè)計(jì)思路是特殊的應(yīng)用程序。換言之,設(shè)備制造商將編寫和測試特殊的代碼,自動(dòng)使一個(gè)應(yīng)用程序完成 NAT。如果該應(yīng)用程序軟件進(jìn)行了更新,則設(shè)備制造商所編寫的應(yīng)用層代碼將必須重新進(jìn)行更新和測試。當(dāng)只需要考慮幾個(gè)對(duì)等或相關(guān)的應(yīng)用程序時(shí),這種一對(duì)一解決 NAT Traversal 問題的方式對(duì)于設(shè)備制造商而言是可管理的,但它無法對(duì)數(shù)百或數(shù)千個(gè)應(yīng)用程序伸展自如,這時(shí)不僅開發(fā)成本高,并可能需要有關(guān)這些應(yīng)用程序各自原理方面的知識(shí)。解決該問題較好的方法就是讓設(shè)備制造商為設(shè)備添加能理解 UPnP 的軟件或固件,然后讓其它設(shè)備和軟件能利用同一技術(shù)與 NAT 設(shè)備進(jìn)行通訊?,F(xiàn)在只有 UPnP 能夠完成這種職責(zé)。
問:UPnP NAT Traversal 解決方案的作用是什么?
答:支持 UPnP 的 NAT Traversal 可確保下列情況的實(shí)現(xiàn):
多玩家游戲
對(duì)等連接
實(shí)時(shí)通訊
遠(yuǎn)程協(xié)助(Windows XP 的功能之一)
對(duì)于 IHV 而言,該解決方案免去了編寫和維護(hù)應(yīng)用層網(wǎng)關(guān) (ALG) 數(shù)據(jù)庫以通過 NAT 的必要。它受 Windows XP 和 Direct Play(一種 Windows 編程資源)的支持,因此為 DPlay 編寫的軟件應(yīng)用程序?qū)⒛茏詣?dòng)對(duì) NAT Traversal 使用 UPnP 解決方案。
通過提供下列操作的方法,UPnP 論壇的 IGD 規(guī)范可進(jìn)行自動(dòng) NAT Traversal:
了解公用 IP 地址
列舉現(xiàn)有的端口映射
添加和刪除端口映射
指定映射的租用期
問:哪些制造商在實(shí)施 UPnP NAT Traversal 解決方案?
答:目前,大多數(shù)大型網(wǎng)關(guān)(DSL/電纜路由器)制造商都宣布計(jì)劃從 2001 年(不遲于 7 月份)在提供的產(chǎn)品中實(shí)施 UPnP NAT Traversal 解決方案。其中包括:Microsoft(WindowsXP 中)、Linksys、D-Link、Intel、Netgear and Buffalo Technology 及 Arescom。
其中的一些制造商已宣布將為已擁有其設(shè)備的用戶提供固件或軟件升級(jí),從而為支持 UPnP 的 NAT Traversal 提供支持。
問:用戶怎樣才能知道哪些 Internet 網(wǎng)關(guān)設(shè)備支持 UPnP?
答:用戶可以查閱 Internet 網(wǎng)關(guān)設(shè)備制造商的 Web 站點(diǎn),或者閱讀產(chǎn)品包裝上的標(biāo)簽,以確定是否提供該功能。后面幾個(gè)月內(nèi),有些零售商將會(huì)知道這個(gè)情況。在未來的幾個(gè)月中,UPnP 論壇會(huì)提供一個(gè) UPnP 徽標(biāo)。制造商可以在自己的產(chǎn)品包裝、營銷資料或產(chǎn)品上包含該徽標(biāo),以表明該產(chǎn)品滿足 UPnP 論壇的測試要求。
問:開發(fā)人員實(shí)施該方案時(shí)有哪些可用的資源?
答:資源有很多,范圍從白皮書到互操作性測試事件 (PlugFests)。有關(guān)技術(shù)性的文章,請(qǐng)?jiān)L問 http://www.upnp.org/resources.htm。有關(guān)未來的重大事件,請(qǐng)參閱 http://www.upnp.org/events.htm。Microsoft 在 MSDN Online 上提供有關(guān) Windows XP 的開發(fā)人員信息。
p2p機(jī)相關(guān)文章:p2p原理
評(píng)論