一、引述
1、UPnP技術(shù)的概念
通用即插即用(Universal Plug and Play,UPnP)源自于即插即用(Plug and Play,PnP)技術(shù),是Microsoft公司最成功的技術(shù)之一。PnP技術(shù)真正走向普及是Windows 95推出之后,在易用性上的巨大進步使其迅速成為PC機設(shè)備不容置疑的標準。1999年,Microsoft公司開始大張旗鼓地推出下一代即插即用技術(shù),即通用即插即用(Universal Plug and Play,UPnP)。盡管這兩代技術(shù)看起來迥然不同,但如果借助“網(wǎng)絡(luò)就是計算機”的觀點,我們?nèi)匀徊浑y發(fā)現(xiàn)兩者技術(shù)上的相似性與繼承性。UPnP實際上是擴展了傳統(tǒng)單機的設(shè)備和計算機系統(tǒng)的概念,在“零設(shè)置”的前提下提供了連網(wǎng)設(shè)備之間的發(fā)現(xiàn)、接口聲明和其他信息的交換等互動操作功能。
按照Microsoft公司的官方定義,通用即插即用 (UPnP) 是一種用于 PC 機和智能設(shè)備(或儀器)的常見對等網(wǎng)絡(luò)連接的體系結(jié)構(gòu),尤其是在家庭中。UPnP 以 Internet 標準和技術(shù)(例如 TCP/IP、HTTP 和 XML)為基礎(chǔ),使這樣的設(shè)備彼此可自動連接和協(xié)同工作,從而使網(wǎng)絡(luò)(尤其是家庭網(wǎng)絡(luò))對更多的人成為可能。UPnP 的應(yīng)用范圍非常大,以致足夠可以實現(xiàn)許多現(xiàn)成的、新的及令人興奮的方案,包括家庭自動化、打印、圖片處理、音頻/視頻娛樂、廚房設(shè)備、汽車網(wǎng)絡(luò)和公共集會場所的類似網(wǎng)絡(luò)。UPnP 是一種分布式的,開放的網(wǎng)絡(luò)架構(gòu),它可以充分發(fā)揮 TCP/IP 和網(wǎng)絡(luò)技術(shù)的功能,不但能對類似網(wǎng)絡(luò)進行無縫連接,而且還能夠控制網(wǎng)絡(luò)設(shè)備及在它們之間傳輸信息。在 UPnP 架構(gòu)中沒有設(shè)備驅(qū)動程序,取而代之的是普通協(xié)議。UPnP 是獨立的媒介。在任何操作系統(tǒng)中,利用任何編程語言都可以使用 UPnP 設(shè)備。
2、UPnP技術(shù)的基本工作原理
尋址是UPnP組網(wǎng)的第0步。通過尋址,設(shè)備和控制點獲得一個網(wǎng)絡(luò)地址;尋址實現(xiàn)了發(fā)現(xiàn)(步驟1),控制點發(fā)現(xiàn)感興趣的設(shè)備;描述(步驟2),控制點了解設(shè)備功能;控制(步驟3),控制點向設(shè)備發(fā)送命令;事件(步驟4),控制點收聽設(shè)備的狀態(tài)變化;以及展示(步驟5),控制點顯示設(shè)備的用戶界面。為此,下圖1-2給出了UPnP技術(shù)的組件。
圖 1-2:UPnP技術(shù)的服務(wù)組件
UPnP 技術(shù)針對家庭網(wǎng)絡(luò)、鄰近網(wǎng)絡(luò)以及小型企業(yè)和商業(yè)建筑中的網(wǎng)絡(luò)。它支持在網(wǎng)絡(luò)上任何控制設(shè)備的命令下進行任意兩個設(shè)備之間的數(shù)據(jù)通信。UPnP 技術(shù)獨立于任何特定的操作系統(tǒng)、編程語言或網(wǎng)絡(luò)技術(shù)。UPnP 架構(gòu)支持零配置和自動發(fā)現(xiàn)。UPnP 的7項技術(shù)優(yōu)勢詳見于下表1-2中。
表 1-2:UPnP 的技術(shù)優(yōu)勢
二、UPnP技術(shù)的特點
1、UPnP基于IP協(xié)議以獲得最廣泛的設(shè)備支持。它最基本的概念模型是設(shè)備模型,設(shè)備可以是物理的設(shè)備,比如錄像機,也可以是邏輯的設(shè)備,比如運行于計算機上的軟件所模擬的錄像機設(shè)備。另外,設(shè)備也可以包括其他設(shè)備形成嵌套,比如一個VCD/游戲機中又包括游戲機。用戶控制點(User Control Point)實際上是一組軟件模塊的集合,用來和受控設(shè)備(Controlled Device)進行通訊。用戶控制點軟件通常運行在具備用戶界面的設(shè)備上,比如PC機、手機等,通常至少包括發(fā)現(xiàn)客戶程序(Discovery Client)、描述客戶程序(Description Client)和命令轉(zhuǎn)換器(Rehydrator),還可以包含可視化導(dǎo)航程序、事件訂閱客戶程序、瀏覽器以及應(yīng)用程序執(zhí)行環(huán)境等。一個用戶控制點可同時控制多個受控設(shè)備,而用戶控制點所在的設(shè)備可以同時是一個受控設(shè)備。受控設(shè)備同樣是一組軟件模塊的集合,用于實現(xiàn)同用戶控制點的通訊,這些軟件模塊至少包括發(fā)現(xiàn)服務(wù)器(Discovery Server)、描述服務(wù)器(Description Server)、控制服務(wù)器(Control Server)以及表征服務(wù)器、事件訂閱服務(wù)器、事件源等。非UPnP兼容的設(shè)備亦可通過專用的UPnP橋設(shè)備表現(xiàn)為UPnP兼容設(shè)備,因此也稱為橋后設(shè)備(Bridged Devices)。
2、UPnP是用于計算機和智能設(shè)備對等網(wǎng)絡(luò)連接而設(shè)計的體系結(jié)構(gòu)。UPnP的目標是實現(xiàn)電腦、家電、移動設(shè)備等各類電子設(shè)備之間無縫連接,使這些設(shè)備彼此自動連接和協(xié)同工作,并實現(xiàn)與Internet的連接。UPnP得到超過600家主要公司的支持,這些公司分布于消費型電子產(chǎn)品、汽車電器、家庭自動化、計算機網(wǎng)絡(luò)和外設(shè)等領(lǐng)域。
UPnP進一步提升了PnP的簡化性,它將整個網(wǎng)絡(luò)包括在內(nèi),實現(xiàn)了網(wǎng)絡(luò)設(shè)備和服務(wù)的發(fā)現(xiàn)和控制,包含UPnP技術(shù)的網(wǎng)絡(luò)產(chǎn)品只需連到網(wǎng)絡(luò)上,即可開始正常工作。例如,支持UPnP功能的打印機,只需將打印機插入任何可用的網(wǎng)絡(luò)端口中,都可以立即讓網(wǎng)絡(luò)中的所有設(shè)備使用該打印機,而不象目前一樣在計算機上裝載設(shè)備驅(qū)動程序、在網(wǎng)絡(luò)中共享該打印機,然后前往網(wǎng)絡(luò)中的其它計算機將它們連接到共享打印機。
3、UPnP是一種分布式的、開放的網(wǎng)絡(luò)架構(gòu)。它充分發(fā)揮了包括IP、TCP、UDP、HTTP 和XML在內(nèi)的Internet組件和網(wǎng)絡(luò)技術(shù)的功能。UPnP實際上是擴展了傳統(tǒng)單機設(shè)備和計算機系統(tǒng)的概念,在零配置的前提下提供了連網(wǎng)設(shè)備之間的發(fā)現(xiàn)、接口聲明和其他信息的交換等互動操作功能。使用UPnP,設(shè)備可以動態(tài)加入網(wǎng)絡(luò),自動獲得一個IP地址,向其他設(shè)備公布它的能力或者獲知其他設(shè)備的存在和服務(wù),所有這些過程都是自動完成的,此后設(shè)備能夠彼此直接通訊。最后,此設(shè)備能自動順利地切斷網(wǎng)絡(luò)連接,并且不會引起意想不到的問題。
4、在UPnP架構(gòu)中,沒有設(shè)備驅(qū)動程序,取而代之的是通用協(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ì)就可以投入使用,可以實現(xiàn)許多現(xiàn)成的及新的令人興奮的方案,包括家庭自動化、網(wǎng)絡(luò)打印、圖片處理、音視頻娛樂、廚房設(shè)備、汽車網(wǎng)絡(luò)和公共場所的類似網(wǎng)絡(luò),這正是Windows XP系統(tǒng)加入UPnP的原因。
5、控制點是檢索UPnP服務(wù)和發(fā)現(xiàn)控制其它設(shè)備的控制器。控制點軟件通常運行在具備用戶界面的設(shè)備上,比如PC、手機、PDA等。控制點除了有能力控制別的設(shè)備,還要具有在網(wǎng)絡(luò)中發(fā)現(xiàn)控制目標的能力。控制點將操作發(fā)送到設(shè)備,并從服務(wù)中接收事件。
6、設(shè)備是一種容器對象,它可以是物理設(shè)備,也可以是邏輯設(shè)備。不同種類的UPnP設(shè)備將關(guān)聯(lián)不同的設(shè)置、服務(wù)和嵌入設(shè)備,如打印機和DVD屬于不同用途的設(shè)備,服務(wù)就不可能定義成一樣的。非UPnP兼容的設(shè)備可通過專用的UPnP橋設(shè)備表現(xiàn)為UPnP兼容設(shè)備,因此也稱為橋后設(shè)備。
7、設(shè)備執(zhí)行請求的控制過程,可劃分成一個個很小的單元,每個單元就稱為一個服務(wù)。服務(wù)對外都表現(xiàn)為具體的行為和模式,而行為和模式又可以用狀態(tài)和變量值進行描述。UPnP 設(shè)備中的服務(wù)由狀態(tài)表、控制服務(wù)器和事件服務(wù)器組成。狀態(tài)表可通過狀態(tài)變量模擬服務(wù)狀態(tài)并在狀態(tài)變化后對它們進行更新;控制服務(wù)器負責接收操作請求、執(zhí)行、更新狀態(tài)表并返回響應(yīng)信息;事件服務(wù)器負責每當服務(wù)狀態(tài)改變時即將事件發(fā)布到感興趣的預(yù)定者。
三、UPnP技術(shù)的標準
UPnP協(xié)議集合的定義者是UPnP論壇(Universal Plug and Play Forum)。UPnP論壇致力于在不同廠商的獨立設(shè)備和計算機之間輕松建立強健的連接,開發(fā)描述設(shè)備協(xié)議和基于可擴展標記語言XML(eXtensible Markup Language)的設(shè)備模式的標準,以便在一個可伸縮的網(wǎng)絡(luò)環(huán)境中實現(xiàn)設(shè)備間的互操作性。UPnP 技術(shù)允許設(shè)備無縫連接,并簡化家庭和企業(yè)環(huán)境中的網(wǎng)絡(luò)實施。為此,UPnP論壇成員共同定義和發(fā)布基于開放的、基于互聯(lián)網(wǎng)的通信標準的UPnP設(shè)備控制協(xié)議。下附件是UPnP論壇發(fā)布的《UPnP 設(shè)備體系架構(gòu)》,以供通信人對UPnP技術(shù)的基本了解。
附件:《UPnP 設(shè)備體系架構(gòu)(V2.0)》
ISO/IEC JTC1的“信息技術(shù)--設(shè)備互連”分技術(shù)委員會SC25負責制定了一系列的通用即插即用(UPnP)的國際標準,為UPnP技術(shù)的普及應(yīng)用提供了技術(shù)支撐,其標準編號為ISO/IEC 29341。
欲詳細了解UPnP國際標準情況的請進入。
欲進一步了解通用即插即用(UPnP)技術(shù)的請進入。