P2P端口映射 UPnP功能和使用詳解
在網(wǎng)上看了很多關(guān)于如何打開UPnP功能的文章,發(fā)現(xiàn)竟然沒有一篇文章能把整個UPnP的設(shè)置過程介紹全的,都是只講到一部分。所以決定寫篇文章,至少把設(shè)置UPnP的整體思路理一下,因為涉及到不同的操作系統(tǒng)以及不同型號的ADSL Modem,所以此文也不可能面面俱到,但至少提供一個較為完整的思路。因水平有限,不到之處還請高手指點。
一、UPnP的概念:
以下是微軟官方網(wǎng)站對UPnP的解釋:
問:什么是 UPnP?
答:通用即插即用 (UPnP) 是一種用于 PC 機和智能設(shè)備(或儀器)的常見對等網(wǎng)絡(luò)連接的體系結(jié)構(gòu),尤其是在家庭中。UPnP 以 Internet 標(biāo)準(zhǔn)和技術(shù)(例如 TCP/IP、HTTP 和 XML)為基礎(chǔ),使這樣的設(shè)備彼此可自動連接和協(xié)同工作,從而使網(wǎng)絡(luò)(尤其是家庭網(wǎng)絡(luò))對更多的人成為可能。
問:UPnP 對消費者意味著什么?
答:簡單、更多選擇和更新穎的體驗。包含通用即插即用技術(shù)的網(wǎng)絡(luò)產(chǎn)品只需實際連到網(wǎng)絡(luò)上,即可開始正常工作。實際上,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 互連時,用戶即可充分利用各種具有創(chuàng)新性的服務(wù)和應(yīng)用程序。
以下是BC官方網(wǎng)站對UPnP的解釋:
UPnP(Universal Plug and Play),通用即插即用,是一組協(xié)議的統(tǒng)稱,不能簡單理解為UPnP=“自動端口映射”。在BitComet下載中,UPnP包含了2層意思:
1、對于一臺內(nèi)網(wǎng)電腦,BitComet的UPnP功能可以使網(wǎng)關(guān)或路由器的NAT模塊做自動端口映射,將BitComet監(jiān)聽的端口從網(wǎng)關(guān)或路由器映射到內(nèi)網(wǎng)電腦上。
2、網(wǎng)關(guān)或路由器的網(wǎng)絡(luò)防火墻模塊開始對Internet上其他電腦開放這個端口。
我倒是覺得微軟的解釋過于理論化,適合寫入牛津大詞典;而BC官方網(wǎng)站的解釋過于含蓄晦澀。其實對于一般的使用者來講,簡單的把UPnP理解為自動端口映射就可以了。它就是一種基于TCP/IP協(xié)議的,針對設(shè)備彼此間的通訊而制訂的新的Internet協(xié)議,目的就是希望未來所有聯(lián)入Internet中的設(shè)備能夠不受網(wǎng)關(guān)阻礙的相互通信。
二、哪些用戶需要用UPnP功能?
1、只有在需要使用一些支持UPnP功能的P2P軟件的時候,如BT、電騾eMule、MSN等,我們才需要考慮UPnP這個東東。如果你根本就不用這些軟件,僅僅是上網(wǎng)瀏覽的話,下文就沒必要看了;
2、如果你需要使用這些P2P軟件,但你是外網(wǎng)用戶,那么下文也可以不看了,因為你不需要做什么UPnP就可以正常使用這些P2P軟件了;
3、如果你是內(nèi)網(wǎng)用戶,但你已經(jīng)手動為這些P2P軟件進行了端口映射,如在使用BC下載時,在“用戶列表”中已經(jīng)看到“遠(yuǎn)程”,或者是使用電騾eMule連接服務(wù)器成功后,已經(jīng)顯示為高ID,那么下文也可以不看了。
但需要注意的是,手動做的端口映射只是針對某個P2P軟件起作用,如果再使用新的P2P軟件的話,仍然需要針對新的P2P軟件做相應(yīng)的端口映射才可以;
4、如果你是內(nèi)網(wǎng)用戶,需要使用這些P2P軟件,而且并未進行手動端口映射,比如在使用BC進行下載時,“用戶列表”中只有“本地”而沒有“遠(yuǎn)程”,在使用電騾eMule的時候,顯示的也是低ID,那么此時我們才需要考慮端口映射的問題!
這時我們可以有兩種選擇:
1、進行手動端口映射。
2、打開UPnP功能,進行自動端口映射,也就是我們下面所講的內(nèi)容;
小結(jié):UPnP自動端口映射的目的:
以BC為例,手動端口映射和自動UPnP端口映射都是為了獲得遠(yuǎn)程連接,因此凡是在“用戶列表”里看見了“遠(yuǎn)程”的用戶,都不需要進行端口映射或是UPnP!UPnP和端口映射只需要取其一,他們相當(dāng)于達(dá)到目的的2種不同的方法而已。
因此如果你的系統(tǒng)或者硬件不支持UPnP功能,大可不必傷心,按照第3點的鏈接文章中的方法手動做端口映射就可以了,效果是一樣的;
三、實現(xiàn)UPnP必須滿足哪些條件:
必須同時滿足3個條件:
1、Modem必須支持UPnP功能:是否具備此功能可查閱說明書或者直接咨詢廠家。一般來講,Modem還必須同時支持路由功能,除非你配備了單獨的路由器;
2、操作系統(tǒng)的支持:文章開頭提到的那篇介紹UPnP的文章中,提到只有windows xp系統(tǒng)才支持UPnP功能,但微軟的官方網(wǎng)站聲稱從Windows Me開始就已經(jīng)支持UPnP功能了。但Windows Me這個操作系統(tǒng)我也沒有用過,大家可以自行測試;
3、軟件必須支持UPnP功能:如BC、電騾eMule、MSN等軟件都支持UPnP功能;
順便提一下,目前的幾款視訊聊天軟件各有其特殊性,象Netmeeting、QQ等就不支持UPnP功能,文章的最后會詳細(xì)闡述一下這幾款視頻聊天軟件的特殊性,此處不深入探討,一筆帶過;
注意:以上3個條件必須同時滿足,缺一不可,否則你只能考慮進行手動端口映射了;
四、如何打開UPnP功能
如果已經(jīng)滿足了上述的3個條件,那么我們就一步一步的講解一下到底如何才能打開UPnP功能;
1、在Modem中打開UPnP功能。
不同型號的Modem設(shè)置界面和方法略有不同,如有些是在下拉菜單中選擇Enable,但基本的原理都是一樣的;
有些文章提到,此時要把所有橋接的eoa連接都刪除掉,我倒是認(rèn)為大可不必如此。因為目前只有你的PPPOE連接是有效的,其它的幾個eoa所對應(yīng)的VPI和VCI根本就是無效的,所以沒有必要刪除。但是否有些型號的Modem會比較特殊也很難講,因此建議此時暫不刪除,把全部設(shè)置進行完后,如果還是沒有打開UPnP,再嘗試把eoa刪除掉;
當(dāng)然,設(shè)置完后,一定要保存并重啟Modem;
2、在操作系統(tǒng)中打開UPnP功能:
如果你使用的是XP SP2系統(tǒng),則首先進入:控制面板->添加或刪除程序->添加/刪除windows組件中,在“網(wǎng)絡(luò)服務(wù)”中勾選“UPnP用戶界面”。
確定后,系統(tǒng)會自動安裝相應(yīng)的組件,可能會提示你插入安裝光盤,總之按照提示操作完成即可;
接著打開Windows自帶的防火墻,在“例外”選項卡中勾選“UPnP框架”。
其實有個更加簡單的方法可以同時完成以上兩步:雙擊桌面上的網(wǎng)上鄰居(注意是鼠標(biāo)左鍵雙擊,不是右鍵查看屬性),然后點擊“顯示聯(lián)網(wǎng)的UPnP設(shè)備的圖標(biāo)”,系統(tǒng)會自動安裝UPnP組件以及在防火墻中打開UPnP框架,實際上就是一次性完成上面兩步的工作;
如果你使用的是XP SP1系統(tǒng),那么在“windows組件”中顯示的是“通用即插即用”,而不是“UPnP用戶界面”,選擇此項即可。
而且XP SP1系統(tǒng)的防火墻并沒有UPnP框架的選項,需要手動進行端口添加,另一教程對此做了闡述,現(xiàn)引用過來:
【請在防火墻設(shè)置中,點“高級”,然后自行添加如下兩個端口:TCP端口類型,端口號為:2869,UDP端口類型,端口號為:1900 。由于你使用了NAT網(wǎng)關(guān),所以你應(yīng)該設(shè)置的是您連接到該網(wǎng)關(guān)的網(wǎng)卡的防火墻。而且網(wǎng)關(guān)內(nèi)部均為內(nèi)網(wǎng),所以開啟這兩個端口,不會對系統(tǒng)造成安全隱患(除非你的NAT網(wǎng)關(guān)被繞過,否則外部連接無法檢測到該端口)?!?
以上的防火墻設(shè)置只是針對windows自帶的防火墻,如果你安裝了其它的防火墻,必須在該防火墻中打開UPnP框架;
3、在windows中打開相應(yīng)的UPnP服務(wù):
進入“控制面板->管理工具->服務(wù)”,找到SSDP Discovery Service和Universal Plug and Play Device Host兩項服務(wù)。
右擊相應(yīng)的服務(wù)項,選擇屬性,啟動這兩項服務(wù)。
做完以上工作后,如果操作正確,我們就可以在“網(wǎng)絡(luò)連接”中看到多了一項網(wǎng)關(guān),這表明添加UPnP已經(jīng)成功;
4、打開P2P軟件中的UPnP功能:
以BC和電騾eMule為例,相應(yīng)的設(shè)置選項。
到此為止,我們打開UPnP的工作才真正結(jié)束。
以BC為例,成功添加UPnP功能后,在“全局日志”中我們會看到類似下面的幾行:
Windows XP UPnP Status: Found WAN Connection Device[Linksys Inc.] [http://www.linksys.com/]
Windows XP UPnP Status: WAN IP: 218.30.*.*
Windows XP UPnP Status: Port Mapping Existed!
此時我們用BC進行下載,如果用戶列表中有“遠(yuǎn)程”,或者用電騾eMule連接服務(wù)器后顯示為高ID,那么就大功告成了!
五、對幾款視頻聊天軟件的簡單對比說明:
目前常用的視頻聊天軟件主要有MSN、Netmeeting和QQ等,這3款軟件中只有MSN支持UPnP功能,而且發(fā)現(xiàn)在MSN的選項中并沒有設(shè)置UPnP功能的選項,也就是說MSN始終是默認(rèn)打開UPnP功能的。另外,MSN似乎也沒有象BC或者電騾eMule那樣提供可以手動進行端口映射的端口號,因此只要沒有打開UPnP功能,MSN的功能就會受限,比如不能進行語音通信等;
而Netmeeting雖然不支持UPnP功能,但是卻提供了可以進行手動進行端口映射的端口號,如果你是內(nèi)網(wǎng)用戶,只要手動進行1503和1720兩個端口的映射即可正常使用所有音視頻功能;
QQ是用UDP的方式,通過UDP服務(wù)器來實現(xiàn)音視頻以及文件的傳輸,跟UPnP沒有什么關(guān)系,所以無論內(nèi)網(wǎng)還是外網(wǎng),使用QQ都暢行無阻,只是傳輸?shù)乃俾室?
p2p機相關(guān)文章:p2p原理
評論