UPnP標準全名為Universal Plug and Play,它代表了一連串的電腦網路協定的集合,是由UPnP論壇所提出。UPnP主要是可以將資訊或家電產品,透過網路互相連接的一個標準。雖然目前支援UPnP標準的產品大多僅限於網通類產品,但是隨著數位家庭概念的演進,以及諸如DLNA等基於此規範的標準逐漸推行之下,UPnP的應用也將隨之更為廣泛。

 

▲UPnP標準組織的代表標誌。(圖片來源:UPnP論壇)

 UPnP利用了包括IP、TCP、UDP、HTTP以及XML在內的網路通訊協議,並可透過橋接方式來支援操作非採IP協議的裝置。藉由UPnP的高度通用性,就能達到不需要另行安裝驅動程式即可直接取用其他裝置資源的目的。

 在談到第二版的UPnP之前,先簡單介紹一下目前UPnP所包含的協定與運作流程:

 Discovery-當某樣裝置加入到特定的網路中之後,UPnP的discovery協議將可容許該裝置在網路中宣稱自己服務控制點的存在,而當該控制點被網路認可並加入後,UPnP的discovery協議將可容許該控制點搜尋在該網路中的其他裝置並進行配對。這方面的協議主要是遵循目前的SSDP機制來進行。

 Description-當控制點發現網路上的裝置之後,控制點對於該裝置的能力與特性還處於一概不知的狀態,在這種情況之下,當然也就無從控制起,因此就必須要透過偵測該裝置的XML描述語言,來描述裝置本身包括型號、製造商、序號以及該裝置所能提供的服務等等特性。描述內容也包括了執行狀態、資料類型以及事件特徵等等,作為控制點判斷該裝置的有效參考資訊。

 Control-當控制點接收到裝置的描述(Description)之後,該控制點便可以開始嘗試對該裝置送出指令,利用SOAP協定,並透過XML來表達。而接收指令之後的動作效果,則是可以從Description中對於服務運作狀態的描述來取得回饋。

 Event notification-當UPnP描述中包含了一連串的動作、回應以及變數時,服務本身也會公布這些變數的變化。因此在控制點方面也會取用這些描述。服務本身會利用送出事件訊息來傳達這些更新。同樣的,這些事件訊息也是基於XML的事件描述格式。控制端與服務端為了要進行相互的狀態確認,事件的產生與傳送都會傳達到所有參與控制的控制點。

 Presentation-在一連串協定的最後,便是結果的呈現與展示,假如裝置本身包含有URL可供展示,那麼控制點便可以從此URL中渠相關的訊息頁,並將之載入到預設的網頁瀏覽器中。而依照該URL網頁上所提供的能力,使用者可以透過該網址控制該裝置或者是觀看該裝置的狀態。至於能控制到什麼程度,就要看裝置本身賦予展示頁的權限以及裝置本身的能力了。

 除了以上的基礎架構部分以外,配合現今潮流日興的家庭多媒體娛樂方案,以及越來越多的智慧型行動/多媒體娛樂裝置,對於網路的互連需求也逐漸被重視,畢竟如果要能夠真正打入家庭中,太過繁雜的操作與設定過程就必須被捨棄,取而代之的就是以隨插即用的概念,讓可連網的裝置皆可互相確認並進行傳輸或其他控制動作。最重要的是,由於都是基於同一規範之下,所以裝置之間的互連也不需要驅動程式。

 由於應用於多媒體傳輸方面是UPnP標準主要的應用之一,在這方面,也有UPnP影音標準可配合DLNA規範的底層標準運作,在媒體控制上包含了影像與音效部分,由於目前的影音多媒體傳輸並沒有包含數位版權保護,可能會產生盜版或檔案外流等疑慮,對DLNA等相關標準的推行產生阻力。由於原本的UPnP架構對於影音傳輸方面的規範較不完整,一些包含硬體相互授權以及數位版權保護機制都沒有實作,UPnP論壇也在最近發佈了最新的第二版規範,版本命名為UPnP AV v2,也稱之為〝Enhanced AV Specifications〞,顧名思義,正式為了加強UPnP在多媒體檔案傳輸方面原先的不足而制訂的。

 UPnP AV v2最大的改進就是加入UPnP AV MediaServer以及MediaRenderer這兩種類型,涵蓋的產品範圍包括了個人電腦、DVD影片播放機、電視機、機上盒、家庭劇院、以及手持式行動影音裝置等等。為了配合這些裝置所播放的內容保護機制,UPnP AV v2在傳輸的時候,傳輸內容都全程處於DRM的保護之下,除了特定已獲得授權的裝置可播放以外,可確保媒體檔案不會在未經授權的情況下就外流或被公開播放,而除了版權保護方面的改進以外,對於裝置之間的互相連接與溝通也作了進一步的簡化。當然,UPnP AV v2是完全過往相容於舊版標準的。

 UPnP標準在這一兩年來逐漸受到重視,而成為家庭多媒體網路標準DLNA中的一環之後,其重要性更是與日遽增,不過由於與作業系統的搭配上,最常做為家庭多媒體伺服器使用的Windows作業系統,其強固性明顯不足,而UPnP架構若處於半開放式網路環境或者是加密保護不足的無線網路之下,對於私密檔案的的保存,可能就會產生隱憂,畢竟裝置與網路連接的傻瓜化,也代表著使用者的警覺心與問題解決能力也是隨之往下降,在標準制訂之時,若沒有將這些問題考慮進去,那麼所帶來的後患也會是相當驚人的。

 


▲UPnP裝置在家電產品與電腦產品之間的應用範例。(圖片來源:NEC)

从www.DigiTimes.com.tw转

解读标准 - UPnP相关推荐

  1. 新书推荐 |《5G安全技术与标准》

    点击上方蓝字关注我们 <5G安全技术与标准> (点击书封即可购买) 内容简介 5G以承载万物互联.赋能行业应用为目标,不仅是通信基础设施,还是各行业发展的新动能:开放与融合的特点,使5G安 ...

  2. 校准品,标准品和质控品的区别

    质控品:IFCC的定义是专门用于质量控制目的的标本或溶液,不能用于校准.对稳定性.瓶间差要求高.分定值和不定值两种.在选择控制品时,应该选择有几个浓度的.浓度范围分布较宽的.最好是医学决定水平的.有可 ...

  3. Java8 JVM参数解读

    我们知道java虚拟机启动时会带有很多的启动参数,Java命令本身就是一个多参数的启动命令.那么具体JVM启动包含哪些参数呢?这篇文章针对java8的情况做一篇汇总解读,包含大多数常见和不常见的命令参 ...

  4. 职场聚焦,现在年轻人的成功标准是什么?

    职场聚焦,现在年轻人的成功标准是什么? 网友: 不忘初心,变成自己喜欢的样子活着,最最最重要的是,是非曲直三观正.不因有财有才而自喜,不因贫穷卑微而自泣.祝福这个世界,祝福大家! 网友:成功的唯一标准 ...

  5. 标准结构篇:5)热(散热)设计

    本章目的:热设计概念,及预防控制手段. 1.热设计目的 现代的电子产品离不开热设计.如果,没有热设计,你的产品就会越来越烫手.夏天的笔记本,口袋里的智能手机,就是其中典型.究其原因,有如下四点: 1) ...

  6. 标准结构篇:2)O型橡胶密封圈

    本章目的:设计出符合行业要求的O型橡胶密封圈,不必再为一而再,再而三的测试漏水而烦恼. 1.前言 O型橡胶密封圈,简称O型圈,是密封圈的一种,也是最有代表性的标准结构件.顾名思义,它的目的在于密封.密 ...

  7. “1024”讲话两个月后,深交所正式发布区块链50指数,板块再迎利好

    "业务领域涉及区块链产业上中下游的公司为选样空间,按近半年日均总市值从高到低排序,筛选排名前50名的股票构成样本股." 本文来源:巴比特:作者:邱祥宇:该内容旨在传递更多市场信息, ...

  8. “AI鉴黄师”数据采集标注方案上线

    人工智能技术除了在自动驾驶,智能安防,智慧金融等领域得到广泛应用,在互联网内容审核领域也发挥着巨大价值,AI鉴黄就是应用之一.对AI内容审核技术来说,高质量的训练数据集必不可少,景联文为相关技术服务厂 ...

  9. C语言 - 深度剖析数据的存储

    文章目录 一.数据类型详细介绍 1.内置类型 2.类型的意义 3.类型的归类 1.整型家族 2.浮点型家族 3.构造类型(自定义类型) 4.指针类型 5.空类型 二.整型在内存中的存储 1.原码.反码 ...

最新文章

  1. matlab ktrlink,大神们,怎么设置滑动滑动条然后出来的图形也跟着变化?
  2. scrapy爬虫储存到mysql_详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库
  3. android socket io和服务器_Java socket通讯服务器和客户端教学版
  4. C# 数据库dataGridView刷新数据和主外键判断
  5. $(document).ready、body.Onload()和 $(window).load的区别
  6. java建立tcp服务器长连接_B/S 架构下后端能否建立 TCP 长连接?
  7. Symbian中不能跨越线程(RThread)使用的对象/组件(RSocket/Memery Heap,etc)
  8. div.2/C. They Are Everywheretwo pointer
  9. 【shell】shell-grep -v 排除多个输出结果
  10. oracle 等待sql,oracle sql 锁,锁等待相关sql
  11. 为你的Web程序加个启动画面
  12. 67. 查询分页数据(2)
  13. docker安装elasticsearch教程
  14. 基于Spark的离线电影推荐
  15. vcard怎么转excel vcf转excel神器教程
  16. python编写回文程序上海自来水来自海_回文句式初探:“上海自来水来自海上”...
  17. Gerrit环境与代码Review实战
  18. cart算法示例代码
  19. Java游戏编程不完全详解-1
  20. Pyinstaller打包exe附带图片的方法

热门文章

  1. 0x80 的具体解释
  2. 8 个适合程序员学习新技能的网站
  3. 浅谈Vue响应式原理
  4. pyppeteer 使用阿布云代理
  5. 6月29-7月5日成都uber优步司机第一/二/三组奖励政策明细
  6. AI+基建,微柏软件携手飞桨EasyDL铸造智慧梁场
  7. STM32F407VET6之OV2640———— OV2640
  8. ANSYS多点约束MPC个人总结
  9. tensorflow67 《深度学习原理与TensorFlow实战》04 CNN看懂世界 04深度残差网络
  10. 2021年华为杯数模赛D题总结