統(tǒng)一即插即用英文是Universal Plug and Play,縮寫為UPnP。要說計算機外設(shè)的即插即用(Plug and Play(縮寫PnP)),大家可能很熟悉,但對統(tǒng)一即插即用,多數(shù)人會感到是一頭霧水。由于windows xp加入對UPnP的支持,并且被查出存在很嚴(yán)重的安全問題,所以,一時間,使得UPnP名聲大噪。 一、 UPnP是用來干什么的? 網(wǎng)絡(luò)發(fā)展到現(xiàn)在,已經(jīng)可以使我們在網(wǎng)上沖浪、收發(fā)郵件、聽到遠(yuǎn)方傳送來的聲音、搜索感興趣的內(nèi)容、下載軟件、點播節(jié)目、即時聊天等等、等等……實現(xiàn)的功能好像已經(jīng)不少,但,人的欲望無止境,享福人還想更享福,還有許多目標(biāo)沒有達到:例如,怎樣才能使我們在網(wǎng)絡(luò)上,像平時用遙控器那樣,操作空調(diào)器、電風(fēng)扇、廚房電器,或網(wǎng)絡(luò)遠(yuǎn)端的電器設(shè)備呢?如何利用網(wǎng)絡(luò)上的計算機資源,使這種“遙控”更具智能化?甚至,將一系列相關(guān)的控制寫到一個腳本中,以便用戶定制自己所喜愛的控制流程?……等等。實現(xiàn)諸如此類的效果,將是有巨大需求的應(yīng)用技術(shù)。如果實現(xiàn)通過網(wǎng)絡(luò)用UPnP控制家用設(shè)備,將給我們的生活帶來很大的方便和很多新的體驗。例如: 1.你在下班之前,或在回去的路上,就可以先打開家里的空調(diào)器和廚房設(shè)備,等進入家門,立刻就是一個溫度宜人的環(huán)境――廚房里的飯也做好了。房間溫度的高低和廚房內(nèi)煮飯的過程,都是根據(jù)事先設(shè)計好的“腳本”程序進行的,絕對可靠。 2.你若是一位上檔次的音樂發(fā)燒者,肯定對聆聽音樂的環(huán)境要求很嚴(yán):音箱位置高低、音量大小、燈光明暗、窗簾拉不拉上都有講究。手動控制隨好,畢竟不方便。你要使用上UPnP,一切都會為你代勞。還能將你習(xí)慣的音響音量、燈光亮度、音箱的高度等等,以你認(rèn)為最佳的參數(shù)寫到執(zhí)行腳本中,以后可以都以此為準(zhǔn)。如果你擁有自己的專門聽音室,只要你打開聽音室的門,上述的環(huán)境就會立刻設(shè)置好。曲終人散,只管放心離開好了,UPnP系統(tǒng)會自己關(guān)閉音響,熄滅電燈,拉上窗簾。 3.你人在辦公室,心里卻放不下家里的孩子。用上UPnP,只要在家里安裝攝像頭,建立好與網(wǎng)絡(luò)的連接。在辦公室內(nèi),啟用桌面電腦的WEBTV,連通網(wǎng)絡(luò)后,可以即時監(jiān)視孩子在家里的一舉一動。 凡此種種的方便和誘人之處還很多,不勝枚舉。 其實,這已經(jīng)不是科學(xué)幻想、也不是專家預(yù)言。目前用UPnP協(xié)議就可以實現(xiàn)這些操作!這正是windows xp系統(tǒng)急于加入UPnP的原因。正因為UPnP是一個協(xié)議,UPnP的使用可跨越各種操作系統(tǒng)平臺,開發(fā)應(yīng)用程序也沒有開發(fā)語言的局限。可工作于各種形式的網(wǎng)絡(luò)結(jié)構(gòu)。且僅以現(xiàn)在的網(wǎng)絡(luò)設(shè)施為基礎(chǔ),僅僅加上這個UPnP協(xié)議,既不用添加新的設(shè)施,也不用重 新架設(shè)網(wǎng)絡(luò)介質(zhì)就可以投入使用! UPnP協(xié)議具有下述特色: 1. 以網(wǎng)絡(luò)為應(yīng)用環(huán)境,不考慮“孤島”中的計算機。 2. 以TCP/IP和整個Internet為基礎(chǔ)。這樣是“中立”的,不依附于任何操作系統(tǒng)或應(yīng)用程序,不使用特定的API函數(shù),不受程序設(shè)計語言的局限??梢詿o縫地接入傳統(tǒng)網(wǎng)絡(luò)。 3. 設(shè)備可以動態(tài)地進入網(wǎng)絡(luò)中,隨后獲得IP地址,“學(xué)習(xí)” 或查找自己應(yīng)當(dāng)進行的操作和服務(wù)的信息;“感知”別的設(shè)備是否存在以及它們的作用和當(dāng)前的狀態(tài) 。所有這些,都應(yīng)當(dāng)是可自動完成的。 4. 每個設(shè)備都可讀取屬于自己的、特定的狀態(tài)和參數(shù);完成控制操作后應(yīng)當(dāng)發(fā)出“操作完成”的響應(yīng)信號。如果失敗,則應(yīng)發(fā)出控制失敗的信號。 二、UPnP協(xié)議的層: UPnP協(xié)議的最終目的,是建立一個可用的設(shè)備模型, 因篇幅這里不對整個結(jié)構(gòu)進行詳細(xì)的分析,但你應(yīng)當(dāng)記住下面的主要特征: 1. UPnP是一個多層協(xié)議構(gòu)成的框架體系,每一層都以相鄰的下層為基礎(chǔ),同時又是相鄰上層的基礎(chǔ)。直至達到應(yīng)用層為止。該圖中的最下面是就是IP和TCP,共兩層,負(fù)責(zé)設(shè)備的IP地址。 2. 三層是HTTP、HTTPU、HTTPMU,這一層,大家應(yīng)當(dāng)是熟悉的,屬于傳送協(xié)議層。傳送的是內(nèi)容都經(jīng)過“封裝”后,存放在特定的XML文件中的。對應(yīng)的SSDP、GENA、SOAP指的是保存在XML文件中的數(shù)據(jù)格式。到這一層,已經(jīng)解決了UPnP 設(shè)備的IP地址和傳送信息問題。 3. 第四層是UPnP設(shè)備體系定義,僅僅是一個抽象的、公用的設(shè)備模型。任何UPnP設(shè)備都必須使用這一層。 4. 第五層是UPnP論壇的各個專業(yè)委員會的設(shè)備定義層,在這個論壇中,不同電器設(shè)備由不同的專業(yè)委員會定義,例如:電視委員會只負(fù)責(zé)定義網(wǎng)絡(luò)電視設(shè)備部分,空調(diào)器委員會只負(fù)責(zé)定義網(wǎng)絡(luò)空調(diào)設(shè)備部分……,依此類推。所有的不同類型的設(shè)備都被定義成一個專門的架構(gòu)或者模板,供建立設(shè)備的時候使用。可以推知,進入這一層,設(shè)備已經(jīng)被指定了明確用途。當(dāng)然,這些都必須遵守標(biāo)準(zhǔn)化的規(guī)范。從目前看,UPnP已經(jīng)可以支持大部分的設(shè)備:從電腦、電腦外設(shè),移動設(shè)備和家用消費類電子設(shè)備等等,無所不包,隨著這個體系的普及,將可能有更多的廠家承認(rèn)這一標(biāo)準(zhǔn),最終,可能演化為公認(rèn)的行業(yè)標(biāo)準(zhǔn)。 5. 最上層,也就是應(yīng)用層,由UPnP設(shè)備制造廠商定義的部分。這一層的信息是由設(shè)備制造廠商來“填充” 的,這部分一般有設(shè)備廠商提供的、對設(shè)備控制和操作的底層代碼,然后,就是名稱序列號呀,廠商信息之類的東西。 使用ADSL寬帶路由器的朋友會發(fā)現(xiàn),他家的貓竟然也支持UPNP功能,但是普通的貓上面的UPNP功能能夠給他ADSL上網(wǎng)帶來什么好處吶? 目前寬帶路由器出現(xiàn)了一種新的動向——支持通用即插即用(UPnP)的產(chǎn)品相繼問世。在已經(jīng)開始供貨的產(chǎn)品中,有些已開始通過更換固件來支持UPnP。廠商們?yōu)楹螌χС諹PnP這樣積極呢?下面就來看一下這種路由器的結(jié)構(gòu)及功能。 首先來看一下何為通用即插即用(UPnP)。這是一種由計算機自動識別接入網(wǎng)絡(luò)的家電產(chǎn)品等,并通過遙控器對家電產(chǎn)品進行設(shè)置的機制,由美國微軟設(shè)計開發(fā)。 那么,廠商為什么要推出可支持家電的寬帶路由器呢?這是由于UPnP規(guī)格中具有“NAT Traversal”功能,使用該功能可以使WindowsXP中標(biāo)準(zhǔn)安裝的聊天軟件“Windows Messenger”在運行中不會出現(xiàn)任何問題。所謂的NAT(network address translation),是指在因特網(wǎng)中使用的全球IP地址可以同在LAN內(nèi)使用的私人IP地址互換的功能。所謂連續(xù)Traversal,則意味著“完全搜索”。 Windows Messenger雖然具有IP電話及視頻聊天功能,但這種功能無法經(jīng)由使用NAT的寬帶路由器使用。這是由于在使用此項功能時,Windows Messenger在數(shù)據(jù)部分也嵌入了IP地址的緣故。在NAT功能中,雖然位于IP數(shù)據(jù)包頭部的收信方及發(fā)信方的IP地址可以更換,但數(shù)據(jù)內(nèi)的地址無法更換,因此前后不統(tǒng)一,無法進行通信。 NAT Traversal由路由器將服務(wù)提供商分配的全球IP地址等信息通知給LAN內(nèi)的計算機。LAN內(nèi)的個人電腦收到來自路由器的信息后,可以向因特網(wǎng)應(yīng)用方傳送WAN方面的IP地址等信息。如果因特網(wǎng)應(yīng)用方采用這一結(jié)構(gòu),可以在一開始就將WAN方面分配到的IP地址寫入分組的數(shù)據(jù)中,所以在通過NAT進行通信時,IP數(shù)據(jù)包頭部和數(shù)據(jù)部可以使用相同的全球IP地址,從而便可以進行通信。 有了它,就無需對語音、視頻等多端口配置復(fù)雜的NAPT規(guī)則了。 同時,需要您的操作系統(tǒng)也支持UPNP功能,目前WINDOWS XP是默認(rèn)開啟這個服務(wù)的。 但是由于UPNP其中有一個缺陷是對緩沖區(qū)(Buffer)的使用沒有進行檢查和限制。外部的攻擊者,可以通過這里取得整個系統(tǒng)的控制特權(quán)!由于 UPnp功能必須使用計算機的端口來進行工作,取得控制權(quán)的攻擊者,還有可能利用這些端口,達到攻擊者的目的。這個缺陷導(dǎo)致的后果很嚴(yán)重,不論那個版本的windows 系統(tǒng),只要運行UPnP,就都存在這個危險! 所以許多為了安全考慮的用戶都在WINDOWS服務(wù)中已經(jīng)禁用了改功能。不過大家只要打了MS的針對UPNP的安全補丁就可以放心使用的。 |
|