首页 认识UPnP服务

认识UPnP服务

举报
开通vip

认识UPnP服务 认识 UPnP 服务 大 | 中 | 小 IT 资讯 2008/02/20 14:23 jarry 问:我刚上宽带网,我听说如果运用好“UPNP”协议可以提高上网速度,请问“UPNP”协议是什么含义?具体如 何应用? 答:UPNP 的全称是 Universal Plug and Play。UPnP 规范基于 TCP/IP 协议和针对设备彼此间通讯而制订的 新的 Internet 协议。事实上,UPNP 的制定正是希望未来所有联入 Internet 中的设备能够不受网关阻碍的相互通 信。比...

认识UPnP服务
认识 UPnP 服务 大 | 中 | 小 IT 资讯 2008/02/20 14:23 jarry 问:我刚上宽带网,我听说如果运用好“UPNP” 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 可以提高上网速度,请问“UPNP”协议是什么含义?具体如 何应用? 答:UPNP 的全称是 Universal Plug and Play。UPnP 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 基于 TCP/IP 协议和针对设备彼此间通讯而制订的 新的 Internet 协议。事实上,UPNP 的制定正是希望未来所有联入 Internet 中的设备能够不受网关阻碍的相互通 信。比如用 MSN Messager 传输文件将更加快捷方便了 ,那到底如何如何利用 UPNP 呢? 首先我们需要进入路由器的 Web 控制界面中打开路由器的 UPNP 功能。在浏览器中输入路由器的地址,进入 路由器的管理页面之后,找到 UPNP 功能,并将其设置为 Enable。 然后我们便可以进入 Windows XP 的设置。在 Windows XP 中,UPNP 支持模块并不是默认安装的,因此我们需 要按照以下步骤对其进行手动安装: 在“添加或删除程序”对话框中,点击“添加/删除 Windows 组件”。在“Windows 组件向导”中,点击“网 络服务”,点击“详细”,然后选择“通用即插即用”复选框。重新启动之后,Windows XP 提示找到新硬件,进 入网上邻居后你会发现路由器,说明 UNNP 功能就打开了。现今市场上几乎所有的宽带路由器都提供 UPNP 功能的 支持,通过我们的合理配置,可以让我们在点对点文件传输等方面获得更好的体验和更快的速度。(GSF) 统一即插即用英文是 Universal Plug and Play,缩写为 UPnP。要说计算机外设的即插即用(Plug and Play(缩 写 PnP)),大家可能很熟悉,但对统一即插即用,多数人会感到是一头雾水。由于 windows xp 加入对 UPnP 的支持,并且被查出存在很严重的安全问题,所以,一时间,使得 UPnP 名声大噪。巧的是,本人原来查阅过关 于 UPnP 的技术白皮书,而且也较为详细地看了关于此次发现的安全缺陷的介绍。因此,趁着这个机会,将 UPnP 以及引起安全缺陷的详情披露出来。 一、 UPnP 是用来干什么的? 网络发展到现在,已经可以使我们在网上冲浪、收发邮件、听到远方传送来的声音、搜索感兴趣的内容、下 载软件、点播节目、即时聊天等等、等等……实现的功能好像已经不少,但,人的欲望无止境,享福人还想更享 福,还有许多目标没有达到:例如,怎样才能使我们在网络上,像平时用遥控器那样,操作空调器、电风扇、厨 房电器,或网络远端的电器设备呢?如何利用网络上的计算机资源,使这种“遥控”更具智能化?甚至,将一系 列相关的控制写到一个脚本中,以便用户定制自己所喜爱的控制 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 ?……等等。实现诸如此类的效果,将是有 巨大需求的应用技术。如果实现通过网络用 UPnP 控制家用设备,将给我们的生活带来很大的方便和很多新的体 验。例如: 1.你在下班之前,或在回去的路上,就可以先打开家里的空调器和厨房设备,等进入家门,立刻就是一个温 度宜人的环境――厨房里的饭也做好了。房间温度的高低和厨房内煮饭的过程,都是根据事先 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 好的“脚本” 程序进行的,绝对可靠。 2.你若是一位上档次的音乐发烧者,肯定对聆听音乐的环境要求很严:音箱位置高低、音量大小、灯光明暗、 窗帘拉不拉上都有讲究。手动控制随好,毕竟不方便。你要使用上 UPnP,一切都会为你代劳。还能将你习惯的音 响音量、灯光亮度、音箱的高度等等,以你认为最佳的参数写到执行脚本中,以后可以都以此为准。如果你拥有 自己的专门听音室,只要你打开听音室的门,上述的环境就会立刻设置好。曲终人散,只管放心离开好了,UPnP 系统会自己关闭音响,熄灭电灯,拉上窗帘。 3.你人在办公室,心里却放不下家里的孩子。用上 UPnP,只要在家里安装摄像头,建立好与网络的连接。在 办公室内,启用桌面电脑的 WEBTV,连通网络后,可以即时监视孩子在家里的一举一动。 凡此种种的方便和诱人之处还很多,不胜枚举。 其实,这已经不是科学幻想、也不是专家预言。目前用 UPnP 协议就可以实现这些操作!这正是 windows xp 系统急于加入 UPnP 的原因。正因为 UPnP 是一个协议,UPnP 的使用可跨越各种操作系统平台,开发应用程序也没 有开发语言的局限。可工作于各种形式的网络结构。且仅以现在的网络设施为基础,仅仅加上这个 UPnP 协议, 既不用添加新的设施,也不用重新架设网络介质就可以投入使用! UPnP 协议具有下述特色: 1. 以网络为应用环境,不考虑“孤岛”中的计算机。 2. 以 TCP/IP 和整个 Internet 为基础。这样是“中立”的,不依附于任何操作系统或应用程序,不使用特 定的 API 函数,不受程序设计语言的局限。可以无缝地接入传统网络。 3. 设备可以动态地进入网络中,随后获得 IP 地址,“学习” 或查找自己应当进行的操作和服务的信息; “感知”别的设备是否存在以及它们的作用和当前的状态 。所有这些,都应当是可自动完成的。 4. 每个设备都可读取属于自己的、特定的状态和参数;完成控制操作后应当发出“操作完成”的响应信号。 如果失败,则应发出控制失败的信号。 二、UPnP 协议的层: UPnP 协议的最终目的,是建立一个可用的设备模型, 因篇幅这里不对整个结构进行详细的分析,但你应当 记住下面的主要特征: 1. UPnP 是一个多层协议构成的框架体系,每一层都以相邻的下层为基础,同时又是相邻上层的基础。直至 达到应用层为止。该图中的最下面是就是 IP 和 TCP,共两层,负责设备的 IP地址。 2. 三层是 HTTP、HTTPU、HTTPMU,这一层,大家应当是熟悉的,属于传送协议层。传送的是内容都经过“封 装”后,存放在特定的 XML 文件中的。对应的 SSDP、GENA、SOAP 指的是保存在 XML 文件中的数据格式。到这一 层,已经解决了 UPnP 设备的 IP 地址和传送信息问题。 3. 第四层是 UPnP 设备体系定义,仅仅是一个抽象的、公用的设备模型。任何 UPnP 设备都必须使用这一层。 4. 第五层是 UPnP 论坛的各个专业委员会的设备定义层,在这个论坛中,不同电器设备由不同的专业委员会 定义,例如:电视委员会只负责定义网络电视设备部分,空调器委员会只负责定义网络空调设备部分……,依此 类推。所有的不同类型的设备都被定义成一个专门的架构或者模板,供建立设备的时候使用。可以推知,进入这 一层,设备已经被指定了明确用途。当然,这些都必须遵守 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 化的规范。从目前看,UPnP 已经可以支持大部分 的设备:从电脑、电脑外设,移动设备和家用消费类电子设备等等,无所不包,随着这个体系的普及,将可能有 更多的厂家承认这一标准,最终,可能演化为公认的行业标准。 5. 最上层,也就是应用层,由 UPnP 设备制造厂商定义的部分。这一层的信息是由设备制造厂商来“填充” 的,这部分一般有设备厂商提供的、对设备控制和操作的底层代码,然后,就是名称序列号呀,厂商信息之类的 东西。 三、协议内部的详细情况 仅仅有这样五层 UPnP 协议,也只不过有了一个共同遵守的框架,实际的 UPnP 系统究竟是如何构成的呢? 完整的 UPnP 服务系统由支持 UPnP 的网络和符合 UPnP 规范的设备共同构成的。 整个系统是由设备、服务、和控制指针三部分所构成。 设备: 这里是指符合 UPnP 规范的设备。一个 UPnP 设备可以看成一个包含服务并嵌套了常规设备的“容器” 。例 如,一个 UPnP 的 VCR(录像机)设备可以包含磁带传送服务、调谐服务和时钟服务。就是说,UPnP 之下的设备 不能仅仅理解为硬件意义上的设备,而应当包括服务功能。 不同种类的 UPnP 设备将关联不同的设置、服务和嵌入设备。如打印机和 VCR 属于不同用途的设备,服务就 不可能定义成一样的。 服务: 设备执行用户请求的控制过程,可划分成一个个很小的阶段或单位,每个单位就称为一个服务。每一个服务, 对外都表现为具体的行为和模式,而行为和模式又可以用状态和变量值进行描述。只要可以用数值描述,在计算 机里面就容易处理了。例如,模仿一个时钟,它只有一个工作模式:这个模式就是模拟并显示当前的时间。而一 个时钟的行为共有两种(也只有两种): 1. 设置时间(用来“即平时说的对表”). 2. 得到时间(用于显示时间)。 其它设备服务,也是用这样思路来描述和定义的,一个设备也可以被定义多个服务。不论是设备的定义信息 和服务的描述信息,都保存在一个 XML 文件中,这个文件也是 UPnP 协议构成的一部分。当设备建立和使用服务 的时候,XML 文件可以与它们进行关联。 XML 文件中还有一个很关键的“状态表”,状态表可进一步分为“服务状态表”和“事件状态表”。整个 UPnP 设备运行的全过程内,状态表贯穿始终,当设备状态改变的时候,例如发生参数变化或状态刷新的时候,立即就 在“状态表”中反映出来。如控制服务器在接收到设置时间的行为请求时,就立即执行请求(对时操作),并给 出响应,同时更新状态表中的有关数据。相应地,事件服务器负责向对此事件感兴趣的设备公布所发生的状态改 变。例如,一个火灾事件发生后,事件服务器就向火灾报警器发布这个事件,导致报警器动作产生报警信号。 控制指针: 在 UPnP 网络中,用户请求设备执行的控制是通过控制指针实现的,控制指针首先是一个有能力控制别的设 备的控制者,还要具有在网络中 “发现”控制目标的能力。在发现(控制目标)之后,控制指针应当: ①取得设备的描述信息并得到所关联的服务列表。 ②取得相关服务的描述。 ③调用控制服务行为。 ④确定服务的事件 “源”,不论何时,只要服务状态发生改变,事件服务器会立即向控制指针发送一个事 件信息。 从上面说到的各种信息,都保存在 XML 文件中,不同用途的信息,格式不同。保证可以各取所需,不会混淆。 那么,UPnP 的完整工作过程是怎样的呢? UPnP 在控制指针和被控制设备之间提供通讯功能。而网络介质、TCP/IP 协议、HTTP 仅提供基本的连接和 IP 地址分配。整个工作过程需要处理六个方面的内容,即地址分配、发现设备、对设备的描述、设备控制、设备事 件、设备表达。 地址问题: 地址是整个 UPnP 系统工作的基础条件,每个设备都应当是 DHCP(Dynamic Host Configuration Protocol 动 态主机配置协议)的客户。当设备首次与网络建立连接后,利用 DHCP 服务,使设备得到一个 IP 地址。这个 IP 地址可以是 DHCP 系统指定的,也可以是由设备选择的,当然,有能力自己选择 IP 地址的设备,必然是那些“聪 明”的设备才行!这也就是所谓的“自动”IP地址。 如果遇到本地 DHCP 管理范围之外的 IP 地址请求,还需要解决“友好设备” 的地址分配问题,这个问题通常由域名服务器来解决。 发现设备: 可分成两种情况,一种是在有控制请求之后,在当前的网络中查找有无对应的可用设备;另一种情况是某一 设备接入网络、取得 IP 地址之后,就开始向网络“广播”自己已经进入网络,即寻找控制请求。 设备的描述: 简单说,这是声明“自己”是什么样的设备,例如名称、制造厂商、序列号码等等。刚开始“发现”设备后, 控制指针对这个设备的“了解”还很少,需要依据 ULR 找到该设备的描述文件,从这些文件中读取更多的描述信 息。描述信息的范围很广,一般都是由设备的制造厂商提供的。主要的描述项目有:控制的模式名称和模式号码、 设备序列号、制造厂商名称、厂商的 WEB 的 ULR……等等。这些一般都存放在特定的 XML 文件中; 设备控制: 控制指针找到设备描述之后,会从描述中“提炼”出要进行的操作并获悉所有的服务;对每个 UPnP 设备来 说,这些描述必须是很确切、很详细的,描述中可能包含有命令或行为列表、服务响应信息、用到的参数等等。 对于服务的每个行为,也伴有描述信息:主要是整个服务进行期间的变量、变量的数据类型、可用的取值范围和 事件的特征。 要控制某个设备,控制指针必须先发送一个控制行为请求,要求设备开始服务,然后再按设备的 ULR 发送相 应的控制消息,控制消息就是放置在 XML 文件中的那些 SOAP 格式的信息。最后,服务会返回响应信息,指出服 务是成功或是失败。 设备事件: 在服务进行的整个时间内,只要变量值发生了变化或者模式的状态发生了改变,就产生了一个事件,系统将 修改上述提到的事件列表的内容。随之,事件服务器把事件向整个网络进行广播。另一方面,控制指针也可以事 先向事件服务器预约事件信息,保证将该控制指针感兴趣的事件及时准确地传送过来。 广播或预约事件,传送的都是事件消息,事件消息也放在 XML 文件中,使用的格式是 GENA。 设备投入工作之前的准备―――初始化过程,也是一个事件,初始化需要的各种信息也是用事件消息传送的。 包括的内容主要是:变量初始值,模式的初始状态等等。 设备表达: 只要得到了设备的 ULR,就可以取得该设备表达页面的 ULR,然后可以将此表达纳入用户的本地浏览器上。 这部分还包括与用户对话的界面,以及与用户进行会话的处理。 整个 UPnP 系统,是在“中枢神经”的指挥下协同工作的。其大致情形如下: 凡是具备 IP 地址的的设备都必须直接使用网络的 IP 地址,但有些设备可能并不具备直接使用网络 IP 地址 的能力,例如,电灯开关的控制就是这样,这是非 IP 设备;非 IP 设备通过网桥(UPnP Bridge)来与控制指针 交换信息。 直接使用 IP 地址的有:控制指针(可在口袋电脑和远程设备上发出控制)、本地设备,例如 VCR 和时钟; 以及网桥。非 IP 设备有所谓轻设备(如温度控制器)和非 UPnP 的设备(如电灯控制开关等)。 上述介绍属于硬件方面,下面再说作为控制灵魂的软件:在上面的叙述中,多次提到用 XML 文件存放需要的信息, 因为无论是控制指针或设备服务,都需要很多信息,有读出的,有传出的,UPnP 协议约定这些都存放在特定的文 件 XML 中。用途不同的信息,在 XML 文件中的格式不同。所以,相关的 XML 文件是控制服务的灵魂。 四、关于 UPnP 隐藏的安全缺缺陷: 这次发现的安全缺陷共有两个,其中第一个缺陷是对缓冲区(Buffer)的使用没有进行检查和限制。外部的 攻击者,可以通过这里取得整个系统的控制特权!由于 UPnp 功能必须使用计算机的端口来进行工作,取得控制 权的攻击者,还有可能利用这些端口,达到攻击者的目的。这个缺陷导致的后果很严重,不论那个版本的 windows 系统,只要运行 UPnP,就都存在这个危险!但严格地说,这并不完全是 UPnP 技术本身的问题,更多的是程序设 计的疏忽。 第二个缺陷就与 UPnP 的工作机理有关系了! 该缺陷存在于 UPnP 工作时的“设备发现”阶段。发现设备可以分为两种情况:如果某个具备 UPnP 功能的计 算机引导成功并连接到网络上,就会立刻向网络发出“广播”,向网络上的 UPnP 设备通知自己已经准备就绪, 在程序设计这一级别上看,该广播内容就是一个 M-SEARCH(消息)指示。该广播将被“声音所及”范围之内的所 有设备所“听到”。并向该计算机反馈自己的有关信息,以备随后进行控制之用。 相类似,如果某个设备刚刚连接到网络上,也会向网络发出“通知”,表示自己准备就绪,可以接受来自网 络的控制,在程序设计这一级别上看,该通知就是一个 NOTIFY(消息)指示。也将被“声音所及”范围之内的所 有计算机接受。计算机将 “感知”该设备已经向自己“报到”。实际上,NOTIFY(消息)指示也不是单单发送 给计算机听的,别的网络设备也可以听到。 就是在上述的一播一听之间,出现了问题! 如果某个黑客向某个用户系统发送一个 NOTIFY(消息)指示,该用户系统就会收到这个 NOTIFY(消息)指 示并在其指示下,连接到一个特定服务器上,接着向相应的服务器请求下载服务―――下载将要执行的服务内容。 服务器当然会响应这个请求。UPnP 服务系统将解释这个设备的描述部分,请求发送更多的文件,服务器又需要响 应这些请求。这样,就构成一个“请求――响应”的循环,大量占用系统资源,造成 UPnP 系统服务速度变慢甚 至停止。所以,这个缺陷将导致“拒绝服务”攻击称为可能! 结束语 UpnP 正在向我们一步步走近,现在已经是足声可闻了。不久的将来,必然对我们的工作和生活产生巨大影响。 也蕴含着无限商机。尽管现在存在问题,也难保以后就不会再出现新的问题,但这既然体现了人的需求意向,就 会有巨大的生命力,暂时的挫折不会使得它停下前进的脚步! 传送协议: 主要用 HTTP 、HTTPU 和 HTTPMU: HTTP: 这是大名鼎鼎的东西,不用多说,但就 UPnP 系统来说,HTTP 及其派生协议都属于核心部分。 HTTPU 和 HTTPMU: 这些都是从 HTTP 协议中派生定义出来的。主要用于传送 SSDP 格式的设备消息。 SSDP: 是一个“简单服务发现协议” ,即英文“Simple Service Discovery Protocol 的缩写” , 该协议定义了 如何在网络上发现网络服务的方法。SSDP 也规定了存放在 XML 文件中的信息格式。SSDP 信息的传送是依靠 HTTPU 和 HTTPMU 进行的。不论是控制指针,或是 UPnP 设备,工作中都必然用到 SSDP,设备接入网络之后,要利用它向 网络广播自己的存在(广播的信息中还有设备位置的描述),以便尽快与对应的控制指针建立联系;控制指针则 利用 SSDP 来搜索自己将要控制的设备在哪里?并且可以排除已经存在的设备和控制指针――只为新近的或尚未 “联络”上的双方服务。 控制指针利用 SSDP 的方式是经由 HTTPU 发出搜索请求,这种请求可以很详细,能具体到需要什么样的设备 以及何种服务。例如:请求对特定的 VCR 机进行设置时钟的服务。 设备利用 SSDP 的方式是“收听”来自网络端口的消息,从中发现与自己匹配的信息,一旦找到与自己匹配 的信息,经由 HTTPMU 来发送一个响应信息到控制指针。 GENA: 这是事件消息采用格式,是所谓“普通时间通知体系 Generic Event Notification Architecture”的缩写。 关于事件消息,在上面已经有介绍。 SOAP: 即简单对象访问协议,实际就是通过该协议传递控制消息并返回设备对消息的响应结果。它利用 XML 和 HTTP 进行远程调用。使用防火墙或别的网络安全措施不会影响 SOAP 的使用。 每个 UPnP 控制请求都可作为一个 SOAP 控制消息,控制消息中还包含有控制行为描述和所用到的参数。
本文档为【认识UPnP服务】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_095529
暂无简介~
格式:pdf
大小:156KB
软件:PDF阅读器
页数:6
分类:互联网
上传时间:2011-01-11
浏览量:90