UPnP 協議簡介(原創)

簡介

    請等待更新...html

前期準備知識

    由 UPnP 協議在網絡中扮演的的角色,和它所處的位置,對於剛剛接觸的人來講直接講會讓人晦澀難懂,所以在你作出這個決定(從頭到尾弄明白這個協議究竟是長成什麼樣,怎麼長的)的時候,你就不可避免的須要作好事先儲備好如下的知識的準備。依靠這些知識儲備才能更好的幫助咱們理解好它,但前提是我也不知道看到這篇文章的你如今是一個什麼狀態,可能仍是一個像我同樣的剛入行的小菜鳥,也多是上知架構,下懂彙編的大牛,因此一下提供的資料若有錯誤,缺失的地方,還請指出,我會不按期的將新內容更新進來……(此時響起歌聲:「只要人人都獻出一點愛,世界……」 「pia pia pia」 包租婆吼道「唱什麼唱」)網絡

計算機網絡(網絡、局域網、TCP/IP、UDP、域名...)
HTTP 協議規範
XML 格式規範
SSDP 協議規範
SOAP 協議規範

    名詞解釋架構

- 名詞解釋
    * Device
        被控制的設備
    * CPs ( Control Points )
        運行有控制服務的設備
    * advise
        廣播,通知
    * DNS
        域名解析協議
    * SSDP ( Simple Service Discovery Protocol )
        簡單服務發現協議
    * device description
        設備描述
    * service descriptions
        服務描述
    * UPnP Control Request
        UPnp 控制請求
    * UPnP Control Response
        UPnp 控制請求響應
    * UPnP Control Error Response
        UPnp 控制錯誤響應
    * Event
        事件
    * MultCast
        多播
    * UniCast
        單播
    * Subscriber
        訂閱者
    * Publisher
        推送者
    * Subscrible
        訂閱
    * Publish
        推送
    * Renewal
        續訂
    * Cancel
        取消訂閱
    * GENA( General Event Notification Architecture )
        普通消息通知體系
UPnP 簡單流程

    UPnP 是一個網絡協議,凌駕於 IOS7 層模型的網絡層以上,它的實現主要依賴於現有的一些網絡技術,工具。總的來講 UPnP 的實現主要遵循如下流程,或者說 UPnP 的實現主要實現如下幾個部分應該更加貼切一點:工具

    尋址 --> 發現 --> 描述 --> 控制 --> 事件 --> 表達計算機網絡

    其中,尋址,和表達基本上沒什麼特別的規定,都是藉助現有的一些工具實現,像在尋址這部分實現的時候主要的三種方法:視頻

    a. DHCP
    b. Auto-IP
    c. 以及 DNS

    這些都是存在好久也很普及的一些工具。htm

    下面咱們來對 UPnP 的各個組成部分作詳細的說明.blog

UPnP 詳細流程

  • 尋址:這個部分主要是完成 Device 連入網絡收發設備後(不論是插入網線仍是鏈接無線網),完成設備獲取 IP 連入互聯網的工做。主要使用的三種策略方法也在上面提到了,從此還會在後文中提到。
  • 發現:這裏的發現指的是 UPnP 的 CP(控制設備)對 UPnP 的 Device(服務提供設備)的發現,這裏採用 SSDP (簡單服務發現協議)。一樣這個協議也會在後文作詳細介紹。這裏大概是列舉一個提綱。可是須要注意的是,UPnP 的 CP 和 Device 可能在同一個實體上,例如手機,它在充當遙控器(CP)的角色的同時也可能在充當視頻播放器(Device)。
  • 描述:按字面意思也不難猜出,一個設備何以認識另外一個設備,就像一我的何以認識另外一我的同樣,人有相貌、性格,也有名字,機器也有類型、屬性、服務、ID等等等等。所以 CP 在發現 Device 的同時也須要知道該 Device 是什麼類型,幹什麼用,怎麼讓他幹活。而這些在 Device 或者 CP 未連入網絡以前,都是不明確的,所以在發現了以後,須要作的就是 CP 向 Device 請求 Device 的描述信息,或者 Device 經過 MultCast 的方式告知 網鄰中的 CP。這些描述信息共分爲這麼兩類,
            1.  設備描述,起重設備描述不只包含對 Device 自己的一些特有屬性的描述(如
            ID,name),還包含如何控制 Device 提供服務的方法(實現定義好的能力集 ID
            ,控制 Device 的 URL 之類的)。
            2.  服務描述:描述 Device 能幹些什麼
    
    這些描述信息用 XML 打包。
  • 控制:CP 對 Device Server 的控制,這個過程當中會產生三中信息:
            UPnP Control Request(控制信息)
            UPnP Control Response(控制響應信息)
            UPnP Control Error Response(控制出錯信息)
    
    這些信息以事先商定好的格式傳送,(SOAP 協議)
  • 事件:服務的執行過程不是一成不變的,有時候程序固定運行到某個節點會產生一個狀態模式變化,或者有時候由於外界引入的激勵也會產生某些已知或者未知的變化,這些變化在必定程度上時須要告知服務的控制者(訂閱者更加確切) CP ,所以咱們把產生的這個結果叫作一個 Event (事件),若是有 somebody 訂閱,那麼該 Event 將經過單播的方式告知 Somebody,若是沒人訂閱,則會以 MultiCast 的方式通知全部網鄰中的(CP)。而事件的訂閱和推送會用到 GENA 這個協議。這個協議會在後面作詳細介紹
  • 表達:原始的 UPnP 中對之的解釋是,Device 中存在的,對 Device 的信息進行描述的,甚至能對之進行控制的 HTML 工具。

    但我的以爲,我的以爲,我的,以爲。重要的事情說三遍,不一樣的 Device 所擁有的資源是不一樣的,甚至可能天差地別,所以表達工具只限於 HTML 我的以爲有點牽強。事件

HTTP 協議簡單說明

    請等待更新...ip

2
SDDP 協議簡單說明

    請等待更新...

SOAP 協議簡單說明

    請等待更新...

XML 格式簡單說明

    請等待更新...

GENA 協議簡單說明

    請等待更新...


參考文檔
相關文檔
轉載請註明出處,謝謝
我是留白;我是留白;我是留白;(重要的事情說三遍)
相關文章
相關標籤/搜索