通用即插即用(英語:Universal Plug and Play,簡稱UPnP)是由「通用即插即用論壇」(UPnP™ Forum)推廣的一套網絡協議。該協議的目標是使家庭網絡(數據共享、通信和娛樂)和公司網絡中的各種設備能夠相互無縫連接,並簡化相關網絡的實現。UPnP通過定義和發布基於開放、因特網通訊網協議標準的UPnP設備控制協議來實現這一目標。

UPnP 圖標

UPnP這個概念是從隨插即用(Plug-and-play)衍生而來的,隨插即用是一種熱拔插技術。

概述

編輯

UPnP體系允許PC間的點對點連接、網際互連和無線設備。它是一種基於TCP/IPUDPHTTP的分布式、開放體系。

UPnP使得任意兩個設備能在LAN控制設備的管理下相互通信。其特性包括:

  • 傳輸介質和設備獨立。UPnP技術可以應用在許多媒體上,包括電話線電線電力線通信PLC)、以太網紅外通訊技術(IrDA)、無線電Wi-Fi藍牙)和Firewire(1394)。無需任務設備驅動;而是採用共同的協議。
  • 用戶界面(UI)控制。UPnP技術使得設備廠商可以通過網頁瀏覽器來控制設備並進行交互。
  • 操作系統和程序語言獨立。任何操作系統和程序語言均可以用於構建UPnP產品。UPnP並沒有設定或限制運行於控制設備上的應用程序API;OS廠商可以建立滿足他們客戶需求的API。UPnP使得廠商可以像開發常規應用程序一樣來控制設備UI和交互。
  • 基於因特網技術。UPnP構建於IP、TCP、UDP、HTTP,和XML等許多協議之上。
  • 編程控制。UPnP體系同時支持常規應用程序編程控制。
  • 擴展性。每個UPnP設備都可以有構建於基本體系之上、與具體設備相關的服務。

UPnP支持零配置,"看不見的網絡"和自動檢測;任何設備能自動加入一個網絡,獲取一個IP地址,廣播自己的名字,根據請求檢查自身功能以及檢測出其它設備和它們的功能。DHCPDNS服務是可選的,並只有它們在網絡上存在的時候才會使用。設備可以自動離開網絡而不會遺留下任何不需要的狀態信息。

UPnP的基礎是IP地址解析。每一個設備都應當有一個DHCP客戶端並在連入網絡的時候自動搜索DHCP服務。如果沒有找到DHCP服務,也就是說網絡是缺乏管理狀態,那麼設備必須給自己設定一個地址。如果在和DHCP服務器交互的過程中,設備獲得了一個域名(比如通過DNS服務器或者DNS傳遞),那麼它應當在接下來的網絡操作中使用這個域名;否則,設備應當使用它的IP地址。

協議

編輯

發現

編輯

給定一個IP地址,UPnP網絡中的第一步是發現。UPnP的發現協議,是基於簡單服務發現協議(SSDP)。當一個設備被加入到網絡中,UPnP檢測協議允許該設備向控制點廣播自己的服務。類似地,當一個控制點加入到網絡中的時候,它也能夠搜索到網絡中存在的、感興趣的設備相關信息。裝置之間交換的發現訊息,主要包含此裝置的必要資訊以及其所提供的一項服務,例如裝置的類型、標識和指向詳細資訊的連結(網路位置)。

描述

編輯

UPnP網絡的下一步是描述。當一個控制點檢測到一個設備時,它對該設備仍然知之甚少。為了使控制點了解更多關於該設備的信息或者和設備進行交互,控制點必須從設備發出的檢測信息中包含的URL獲取更多的信息。某個設備的UPnP描述是XML的方式,包括品牌、廠商相關信息,如型號名和編號、序列號、廠商名、品牌相關URL等。描述還包括一個嵌入式設備和服務列表,以及控制、事件傳遞和存在相關的URL。對於每種設備,描述還包括一個命令或動作列表,包括響應何種服務,針對各種動作的參數;這些變量描述出運行時設備的狀態信息,並通過它們的數據類型、範圍和事件來進行描述。

控制

編輯

UPnP網絡的下一步是控制。當一個控制點獲取到設備描述信息之後,它就可以向該設備發送指令了。為了實現此,控制點發送一個合適的控制消息至服務相關控制URL(包含在設備描述中)。控制消息也是通過簡單對象訪問協議(SOAP)用XML來描述的。類似函數調用,服務通過返回動作相關的值來回應控制消息。動作的效果,如果有的話,會反應在用於刻畫運行中服務的相關變量。

事件通知

編輯

下一步是事件通知。一個UPnP描述包括一組命令列表和刻畫運行時狀態信息的變量。服務在這些變量改變的時候進行更新,控制點可以進行訂閱以獲取相關改變。服務通過發送事件消息來發布更新。事件消息包括一個或多個狀態信息變量以及它們的當前數值。這些消息也是採用XML的格式,用通用事件通知體系英語GENA進行格式化。一個特殊的初始化消息會在控制點第一次訂閱的時候發送,它包括服務相關的變量名及值。為了支持多個控制點並存的情形,事件通知被設計成對於所有的控制點都平行通知。因此,所有的訂閱者同等地收到所有事件通知。

存在

編輯

最後一步是存在。如果設備帶有存在URL,那麼控制點可以通過它來獲取設備存在信息,即在瀏覽器中加載URL,並允許用戶來進行相關控制或查看操作。具體支持哪些操作則是由存在頁面和設備完成的。

NAT穿透

編輯

UPnP為NAT(網絡地址轉換)穿透帶來了一個解決方案:互聯網網關設備協議(IGD)。NAT穿透允許UPnP數據包在沒有用戶交互的情況下,無障礙的通過路由器或者防火牆(假如那個路由器或者防火牆支持NAT)。

未來的發展

編輯

UPnP影音媒體服務器

編輯

UPnP影音媒體服務器存儲和共享數字媒體,比如:圖片、電影或是音樂。

參考資料

編輯

外部連結

編輯

文件

編輯

新聞

編輯