upnp 協議概述

2021-04-12 15:08:07 字數 2787 閱讀 3601

用於 upnp 的網路**

圖 3:橋接的 upnp 網路

upnp 使用的協議

upnp 利用了多種現有的標準協議。使用這些標準化的協議有助於確保**商實現之間的互操作性。對於用以實現 upnp 的協議,您經常可以發現它們用在 internet 和區域網的各個位置。這種普遍性確保了有大量的人員知道該如何實現和部署基於這些協議的解決方案。由於相同的協議已在使用之中,因此幾乎不需要執行任何操作就可以讓 upnp 裝置在現有的網路化環境中工作。在本節的其餘部分概述了一些用於實現 upnp 的協議。

圖 4:upnp 協議組合

upnp 特有的協議

upnp **商、upnp 協會工作委員會以及 upnp 裝置架構文件定義了可用於實現 upnp 的最高端協議。基於裝置架構,該工作委員會定義了特定於裝置型別的規範,這些型別比如 vcr、hvac 系統、洗碗機以及其它裝置。此後,upnp 裝置**商可以新增特定於各自裝置的資料,如型號名稱、url 等等。

tcp/ip

tcp/ip 網路協議集充當了建立其餘 upnp 協議的基礎。通過使用該標準(普遍使用的 tcp/ip 集),upnp 可以利用其跨越不同物理**的能力並確保多個**商之間的互操作性。

upnp 裝置可以使用 tcp/ip 集合中的多種協議(包括 tcp、udp、igmp、arp、ip)和 tcp/ip 服務(比如 dhcp 和 dns)。當我們在本節介紹了其它協議和在下一節介紹了 upnp 的工作方式之後,如何使用這些協議和服務來提供 upnp 工作所需的內容也就會變得一目了然。

由於 tcp/ip 是使用最為普遍的網路協議之一,因此定位或建立乙個對覆蓋面和/或效能進行優化的 upnp 裝置實現將相當容易。

tcp/ip 提供了用來實現 upnp 裝置間網路連線的基本協議集。對 internet 的成功作出了巨大貢獻的 http 也是 upnp 的核心部分。upnp 的所有元件都建立在 http 或其變體之上。

httpu(和 httpmu)是 http 的變體,定義它們是為了通過 udp/ip(而不是 tcp/ip)傳送訊息。下面介紹的 ssdp 將使用這些訊息。這些協議的基本訊息格式沿襲了 http,並且是多播通訊和當訊息傳輸不要求與可靠性有關的開銷時所需要的。

ssdp

顧名思義,簡單服務發現協議 (ssdp) 定義了網路服務是如何在網路上被發現的。ssdp 基於 httpu 和 httpmu 建立,定義了控制點定位網路上感興趣的資源和裝置通知它們在網路上的可用性的方法。通過定義同時使用搜尋請求和展示通知,ssdp 避免了在僅使用這兩種機制中的任一種時所必需的開銷。這樣,網路中的每個控制點都可以獲得關於網路狀態的完整資訊,同時保持了低水平的網路流量。

訪問點和裝置都可以使用 ssdp。upnp 訪問點啟動後可以傳送 ssdp 搜尋請求(通過 httpmu)來發現網路上可用的裝置和服務。訪問點可以細化該搜尋,從而僅查詢特定型別的裝置(如 vcr)、特定服務(如具有時鐘服務的裝置)乃至特定裝置。

upnp 裝置會偵聽多播埠。一旦收到搜尋請求,該裝置就檢查該搜尋條件以確定它們是否匹配。如果匹配,乙個單播 ssdp(通過 httpu)響應將被傳送到該控制點。

同樣,當將裝置插入網路時,它會發出多播 ssdp 展示通知訊息,通知它所支援的服務。

在展示通知和單播裝置響應訊息中都包含該裝置描述文件(含有該裝置支援的屬性和服務組合的資訊)所在位置的指示符。

除了提供發現功能外,ssdp 還提供了裝置及其關聯的服務適當地從網路離開的方式(再見通知),幷包含清除陳舊資訊的快取超時設定來進行自我維護。

gena

定義普通事件通知架構 (gena) 是為了提供收、發使用了 http over tcp/ip 和多播 udp 的通知的能力。gena 還定義了通知預定者和發布者的概念以啟用事件。

在 upnp 中,gena 格式可用於建立將要使用簡單服務發現協議 (ssdp) 傳送的展示通知,並為 upnp 事件提供表示服務狀態已更改的能力。希望接收事件通知的控制點會向事件源進行預定,方法是傳送乙個含有它感興趣的服務、將事件發往的位置以及事件通知的預定時間的請求。

要連續接收通知,所作的預定必須定期予以更新。也可以使用 gena 取消預定。

soap

簡單物件訪問協議 (soap) 定義了可擴充套件標識語言 (xml) 和 http 的使用來執行遠端過程呼叫。它正在變成 internet 上基於 rpc 的通訊標準。通過使用 internet 的現有基礎設施,它可以有效地配合防火牆和**工作。soap 還使用安全套接字層(ssl) 提供安全性,並使用了 http 的連線管理功能,從而使得 internet 上的分布式通訊就像訪問網頁一樣簡單。

與遠端過程呼叫非常相似,upnp 使用 soap 向裝置傳送控制訊息並將結果或錯誤返回到控制點。

每個 upnp 控制請求都是乙個 soap 訊息,都包含呼叫操作和一組引數。其響應也是 soap 訊息,其中包括狀態、返回值以及任何返回引數。

xml

為使用 w3c 定義,可擴充套件標識語言 (xml) 是 web 上的結構化資料的通用格式。另外,借助 xml,幾乎可以將任何型別的結構化資料放到文字檔案中。

xml 使用標記和屬性,這使它看起來與 html 非常相似。實際上,它們在以下方面存在顯著的差別:xml 標記和屬性的含義不是全域性定義的,而是在使用它們的上下文中進行解釋。xml 的這些功能使得它成為開發各種文件型別架構的最佳選擇。w3c 定義了將 xml 作為架構語言的使用。

xml 是 upnp 的核心部分,被用在裝置和服務描述、控制訊息和事件處理中。  

RTMP協議概述

rtmp協議概述 介紹 rtmp協議就像乙個用來裝資料報的容器,這些資料可以是amf格式的資料,也可以是flv中的視 音訊資料.乙個單一的連線可以通過不同的通道傳輸多路網路流.這些通道中的包都是按照固定大小的包傳輸的.網路連線 connection copy to clipboard code va...

協議層次概述

為了降低網路設計的複雜性,大多數網路採用一堆互相疊加的層 layer level 每一層都建立在他的下層的基礎之上,目的都是為其上層提供服務,而實現的具體細節則對上層隱藏。其基本思想是,一段專門的軟體 或硬體 向使用者提供一種服務,而將內部的狀態和演算法的細節隱藏起來。一台機器中的第n層與另一台機器...

協議層次概述

為了降低網路設計的複雜性,大多數網路採用一堆互相疊加的層 layer level 每一層都建立在他的下層的基礎之上,目的都是為其上層提供服務,而實現的具體細節則對上層隱藏。其基本思想是,一段專門的軟體 或硬體 向使用者提供一種服務,而將內部的狀態和演算法的細節隱藏起來。一台機器中的第n層與另一台機器...