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