UPnP 架構概觀
UPnP 架構會定義智慧型設備、裝置和控制 點的點對點網路連線。 其設計目的是為了方便使用、彈性、以標準為基礎的連線能力,以臨機操作、受控或 Unmanaged 網路,不論這些網路是否位於家庭、小型企業或直接連結至網際網路。 UPnP 架構是分散式、開放式網路架構,使用現有的 TCP/IP 和 Web 技術來啟用順暢的鄰近網路功能,以及控制網路裝置之間的資料傳輸和資料傳輸。
UPnP 是以 WEB 服務通訊協定的初步版本為基礎,例如 XML 和簡單物件存取通訊協定等以 IP 為基礎的通訊協定套件, (SOAP) 。 透過 UPnP,裝置可以動態加入網路、取得 IP 位址、傳達其功能,以及探索網路上其他裝置的存在和功能。
UPnP 裝置是服務和巢狀裝置的容器。 例如,VCR 可能包含磁帶傳輸服務、微調器服務和時鐘服務。 不同類別的 UPnP 裝置會與不同的服務和內嵌裝置集相關聯。 例如,VCR 內的服務與印表機內的服務不同。 特定裝置類型可提供之服務集的相關資訊,會在裝置裝載的 XML 裝置描述檔中擷取。 裝置描述也會列出與裝置相關聯的裝置名稱和圖示等屬性。 Microsoft 已增強 UPnP 支援,以包含 與 PnP-X 和 函式探索的整合。
UPnP 架構不只是隨插即用周邊模型的簡單延伸模組。 它支援各種廠商各種裝置類別的零組態、不可見的網路功能及自動探索。 這可讓裝置動態加入網路、取得 IP 位址,並在要求時傳達其功能。 然後,其他控制點可以使用控制點 API 搭配 UPnP 技術來瞭解其他裝置的存在和功能。 當裝置不再使用時,裝置可以順暢且自動地離開網路。
UPnP 技術的通用是什麼?
- 媒體和裝置獨立。 UPnP 技術可以在任何媒體上執行,包括電話線路、電源線、乙太網路、RF 和 1394。
- 平台獨立性。 廠商會使用任何作業系統和任何程式設計語言來建置 UPnP 型產品。
- 以網際網路為基礎的技術。 UPnP 技術是以 IP、TCP、UDP、HTTP 和 XML 為基礎而建置的。
- UI 控制項。 UPnP 架構可讓廠商使用瀏覽器控制裝置使用者介面和互動。
- 程式設計控制項。 UPnP 架構也可啟用傳統應用程式程式設計控制項。
- 常見的基底通訊協定。 廠商會根據每個裝置同意基底通訊協定集。
- 擴展。 每個 UPnP 型產品都可以在個別製造商的基本裝置架構之上,提供加值服務。
UPnP 技術的範圍很廣泛,其目標為家用網路、鄰近網路,以及小型企業和商業建築物中的網路。 它會在網路上任何控制裝置的命令下,啟用任何兩個裝置之間的資料通訊。 UPnP 技術與任何特定的作業系統、程式設計語言或實體媒體無關。
Microsoft 提供兩個 API 來處理 UPnP 型裝置:
- 控制點 API - 提供一組 COM 介面,可讓應用程式尋找和控制 UPnP 型裝置。
- 裝置主機 API - 提供一組 COM 介面,可讓開發人員撰寫核心裝置功能,並向裝置主機註冊裝置。 裝置主機會處理 UPnP 型裝置功能的探索、描述、控制和事件部分。