概述
UPnP是通用即插即用(Universal Plug and Play)的縮寫,它主要用于實現設備的智能互聯互通。使用UPnP協議不需要設備驅動程序,因此使用UPnP建立的網絡是介質無關的,它可以運行在幾乎所有的操作系統平臺之上,可以使用C,C++,JAVA和VB等開發語言,使得在辦公室、家庭和其他公共場所方便地構建設備相互聯通的網絡環境。
UPnP技術是一種架構在TCP/IP和HTTP之上的分布式開放的網絡結構,可以使得聯網的設備間傳遞控制和數據。
應用場景
隨著PC成為網絡的中心并提供日益豐富的介質和連接服務,在設備與PC相連之后,越來越多的應用將被開發出來。下面的例子只是其中很小的一部分:
- 智能家居
許多智能家居環境使用了現存的家庭控制網絡,例如X10網絡來控制和監控整個家居環境,比如燈光,安防和其他家庭設備。這些網絡可以連接PC上,但是除了PC之外,不能被其他的設備存取。使用UPnP設備可以橋接這些網絡成為一個網絡,并提供用戶更多設備存取家庭網絡中的設備。在實現時也無須對X10網絡中的現有布線和設備進行昂貴的升級,只需要將設備變成UPnP設備并能夠與控制點通訊并接受控制點的控制命令。
- 數字音頻文件管理
可以在PC和其他設備上播放的數字化音頻文件在近幾年正在成指數級的增長。一個家庭中,可能有幾臺計算機或者其他設備用于保存這些音頻文件。使用UPnP可以使這些分布在不同PC上的音樂庫被統一的管理。這些設備能被發現然后被其他控制點(比如個人電腦、UPnP接收器)控制。同時這些控制點也可以控制家庭中的任何一個揚聲器。- 數字圖片庫
許多家庭使用數字相機拍照,或者將已有照片掃描保存,然后將這些照片上載到他們的計算機中保存。在計算機中對其進行分類,或者以幻燈片的形式進行顯示。隨著照片的增加,照片可能保存在多種設備或者多種介質上,比如光盤、硬盤、Flash卡。使用UPnP技術,圖片庫可以自己作為一個設備存在,并自動在網絡上聲明。這使得一個照片庫可能臨時為多個應用程序使用,例如可以進行幻燈片顯示的同時,在電子像框、機頂盒和電視上進行顯示。
UPnP的關鍵術語
- Auto-IP
在Ipv4網絡中自動選擇IP地址,一般智能設置中的嵌入式操作系統可自動實現。你可以訪問IETF文檔, http://search.ietf.org/internet-drafts/draft-ietf-dhc-ipv4-autoconfig-05.txt- DHCP
動態主機控制協議,可以訪問 RFC 2131獲得更詳細的信息。- HTTPMU
在UDP上實現HTTP協議的多址傳送。- HTTPU
在UDP上實現普通的HTTP傳輸協議。- SOAP
簡單對象存取協議(Simple Object Access Protocol ),它是一種應用程序之間進行數據通訊的機制。它是一種在HTTP上使用XML發送命令并接收值的遠程過程調用。
UPnP設備工作工程
UPnP定義了設備之間、設備和控制點、控制點之間通訊的協議。完整的UPnP由設備尋址、設備發現、設備描述、設備控制、事件通知和基于Html的描述界面幾部分構成。UPnP設備協議棧如下圖所示:
1.gif
在最高層中僅包含UPnP制造商定義的特定設備信息,緊接著UPnP工作組定義的內容補充制造商信息。從這層往下,定義的消息為UPnP特定的消息。也就是說,這些消息定義為以下幾個協議:簡單設備發現協議(Simple Service Discovery Protocol ),通用事件通知結構(General Event Notification Architecture)和 簡單對象存取協議(Simple Object Access Protocol)。這些消息使用 HTTPU或者 HTTPMU發送。 這幾個部分在UPnP中的層次關系如下圖所示:
2.gif