




已阅读5页,还剩66页未读, 继续免费阅读
(通信与信息系统专业论文)数字家庭网张标准协议的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数字家庭网络标准协议的研究与实现 摘要 随着宽带及移动互联网业务的飞速发展,人们对家庭设备的互联互通提出了 更高的要求,数字家庭的发展得到了越来越多的关注。家庭网络作为数字家庭的 重要组成部分,其对应的技术和标准已经成为国内外研究的热点。实现家庭网络 的关键是家庭网络中间件技术。目前世界上许多公司或组织都制定了相应的数字 家庭网络标准,这些标准的存在促进了家庭网络的发展,加速了智能家电的普及。 由微软主导的u p n p 协议是为家庭网络中智能设备问互联互通而提供的一种简捷 高效、灵活的方式,为数字家庭的实现提供了强大的支持。 u p n p 是一种应用层协议,它屏蔽了家庭设备的物理层和连接技术上的差异, 为上层应用开发提供了统一的接口。u p n p 建立在t c p i p 网络协议和w e b 技术之 上,利用了许多现有的网络技术规范,如s s d p ,s o a p ,g e n a 和x m l 等。实现 了家庭网络中设备的自动组网、宣告、发现、设备控制等功能。 本文重点研究了u p n p 协议的基本原理并对其实现机制进行了深入的研究。 鉴于目前多数u p n p 协议栈的实现都是用c c + + 或j a v a 语言开发,因此本文参考了 i n t e l 的开源u p l l ps d k 开发框架的设计思想,实现了一套基于p y t l l o n 语言的u p n p 协议栈,简化了u p n p 应用程序的开发难度。加之目前嵌入式设备的运算能力已 经今非昔比,许多智能终端可以轻松运行p y t h o n 解释器,因此本文所设计的协议 栈在将来会有广泛的应用。同时我们还引入了一种基于w s g i 的c h e r r y p y 网络适 配器,使其他的网络应用程序也能方便地调用本文所设计的w 曲服务器资源。 最后我们以本文所设计的i j p n p 协议栈为基础,构建了一个综合家庭媒体服务 和电源控制系统。 关键字:数字家庭;中间件;u p n p ;媒体服务;电源控制 r e s e a r c ha n di m p l e m e n to f d i g i t a lh o m en e t w o r k i n gs t a n d a r d s a b s t r a c t a l o n gw i t ht h er a p i dd e v e l o p m e n to fb r o a d b a n da n dm o b i l ei n t e m e ts e r v i c e s , p e o p l ep u t s ah i g h e r i n t e r o p e r a b i l i t yr e q u i r e m e n t s o nh o m e e q u i p m e n t ,t h e ,d e v e l o p m e n to fd i g i t a lh o m ei sg a i n i n gm o l ea n dm o l ea t t e n t i o n a sa ni m p o r t a n t c o m p o n e n to f t h ed i g i t a lh o m e ,h o m en e t w o r ka n di t sc o r r e s p o n d i n gt e c h n o l o g i e sa n d s t a n d a r d sh a v eb e c o m et h er e s e a r c hf o c u sa th o m ea n da b r o a d t h ek e yo fa c h i e v i n g t h eh o m en e t w o r ki st h em i d d l e w a r eo fh o m e n e t w o r k i n g c u r r e n t l ym a n yc o m p a n i e s o ro r g a n i z a t i o n si nt h ew o r l dh a v ed e v e l o p e dab i to fc o r r e s p o n d i n gd i g i t a lh o m e n e t w o r k i n gs t a n d a r d ,t h ee x i s t e n c eo ft h e s es t a n d a r d sp r o m t e st h ed e v e l o p m e n to ft h e h o m en e t w o r ka n da c c e l e r a t e st h ep o p u l a r i z a t i o no ft h ei n t e l l i g e n th o m ea p p l i a n c e s u p n pp r o t o c o ll e a db ym i c r o s o f tp r o v i d e saw a yo fs i m p l e ,e f f i c i e n ta n df l e x i b l ef o r t h er e a l i z a t i o no fi n t e r o p e r a b i l i t yb e t w e e nt h ed i g i t a lh o m ed e v i c e s u p n pi sa na p p l i c a t i o nl a y e rp r o t o c o l ,w h i c hs h i e l dt h ed i f f e r e n c eo fh o m e d e v i c ep h y s i c a l l a y e r a n dc o n n e c t t e c h n o l o g y , a n ds u p p l yt h eu p p e rl a y e r d e v e l o p m e n ta p if o rt h ea p p l i c a t i o n u p n pb a s e do nt c p i pn e t w o r kp r o t o c o l sa n d o nt o po fw e bt e c h n o l o g yw h i c hu s ean u m b e ro fe x i s t i n gt e c h n i c a ls p e c i f i c a t i o n s , s u c ha ss s d p , g e n a ,s o a pa n dx m l i ti m p l e m e n t st h ea u t o m a t i c a l l yn e t w o r k i n g , d e c l a r i n g ,d i s c o v e r y , d e v i c ec o n t r o lo f t h eh o m e n e t w o r k i n gd e v i c e s t h i sp a p e rf o c u s e so nt h eb a s i cp r i n c i p l eo fu p n pp r o t o c o la n dt h ed e p t h r e s e a r c ho fi t si m p l e m e n t a t i o n w h e r e a sm o s to ft h eu p n p p r o t o c o ls t a c k sa r eb a s e d o i lc c + + o rj a v al a n g u a g ed e v e l o p m e n t ,s ot h i sp a p e ra c h i e v e sas e to fp y t h o n l a n g u a g e sb a s e du p n pp r o t o c o ls t a c kw h i c hr e f e r e n c e st h ed e s i g ni d e o l o g yo ft h e o p e ns o u r c ed e v e l o p m e n tf r a m e w o r ko fi n t e lu p n ps d k ,s i m p l i f y i n gt h et h eu p n p a p p l i c a t i o nl a y e rd e v e l o p m e n t i na d d i t i o n ,w i t h t h ea r i t h m e t i cc a p a b i l i t yo ft h e e m b e d d e dd e v i c e s ,m a n yi n t e l l i g e n tt e r m i n a l sc a ne a s i l yr u nt h ep y t h o ni n t e r p r e t e r , s o t h ed e s i g no ft h ep r o t o c o ls t a c ki nt h i sp a p e rw i l lb ew i d e l yu s e di nt h ef u t u r e w ea l s o i n t r o d u c e dt h ec h e r r y p yw s g ib a s e dn e t w o r ka d a p t e r , s o t h a to t h e rn e t w o r k a p p l i c a t i o n sc a l le a s i l yc a l l t h ew e bs e r v e rr e s o u r c e sb a s e d0 1 1t h ep r o t o c o ls t a c ki n t h i sp a p e r a tl a s t ,b a s e do nt h i su p n ps t a c kw ed e s i g n e d ,t h i sp a p e rw ed e s i g n e da n d i m p l e m e n t e das y s t e mo f h o m em e d i aa n dp o w e rc o n t r o lb a s e do nu p n p p r o t o c 0 1 k e yw o r d s :h o m en e t w o r k ;m i d d l e w a r e ;u p n p ;m e d i as e r v i c e ;p o w e r c o n t r o l 数字家庭网络标准协议的研究与实现 1 绪论 1 1 课题背景 数字技术的飞速发展不断催生出众多的数码产品,p c 、p d a 、3 g 手机、平 板电脑和数字电视等数字产品逐步进入普通生活中,与此同时,宽带通信与互联 网的普及极大地促进了数字媒体内容的发展。设备间如何方便、智能地互联和协 同工作已经日益成为人们关注的焦点。 数字家庭1 】1 2 1 涉及的各种技术非常繁杂。由于通用的网络和终端技术己经非 常成熟,所以数字家庭网络的核心技术主要体现在网络协议和接口上。近年来, 国内外许多大公司提出了自己的解决方案,各国也正努力研制适合于本国国情的 智能家居系统,已逐渐形成了一些相关的标准。数字家庭网络物理层的接口标准 和数据传输协议是国内外学术机构和厂商普遍关注的问题。 目前世界范围内已经出现了多个成熟的家庭网络标准,例如国外的 d l n a u p n p 、o s g i 以及国内的i g r s 和e 家佳等。但是由于家庭内各种设备的 功能、性能差别大等技术原因和各机构企业存在利益冲突等非技术原因,并没有 一个标准在商业化应用中占据绝对的主导地位。、 t a n e m n i v e r s a lp l u ga n dp l a y ) t 3 1 面向的是网络层以上的各层,以t c p i p 和整 个h t t p 为基础,主要规定了数字家庭中的设备将如何互联互通,设备如何发现 对方及对方的功能、内容与格式以实现相互通信。该标准能让具有不同操作系统、 程序语言或物理网络连接的设备相互发现和实时控制。 i g r s ( i n t e l l i g e n tg r o u p i n ga n dr e s o u r c es h a r i n g ) t 4 l 是由国内几家主要家电厂 商在信息产业部支持下成立的“闪联 工作组所制定。它是一种架构于t c p i p 之上的应用层协议,其目标是在有限范围网络域( 有线、无线) 内,通过遵循共 同资源描述及功能服务接口标准,支持多种信息设备、家用电器、通讯设备之间 的设备自动发现、动态组网、资源共享和协同服务,从而提高这些设备间的互操 作性和易用性,并创造出新的应用模式和丰富的应用。 e 家佳联盟( i t o p h o m e ) 1 5 ,由“数字电视接收设备与家庭网络平台标准工 作组 的一些骨干单位成员于2 0 0 4 年7 月2 6 日宣布发起成立。经历4 年的发展, 数字家庭网络标准协议的研究与实现 e 家佳由当初的7 家发起单位( 海尔、清华同方、中国网通、春兰、贝岭、广电 等) 已经发展到了现在的2 0 0 多家,是我国目前规模最大的家庭网络标准产业的 标准组织。e 家佳系列标准的提出旨在实现家庭网络中的各种设备互联和资源共 享,构造出适合中国国情的数字家庭生活平台。 各大标准组织所关注的侧重点不t 6 1 ,d l n a 主要注重的是家庭媒体传输的 方式,尤其是数字版权的保护;u p n p 侧重于设备之间的智能互联互通;i g r s 致力于设备间的资源共享和协同服务,为设备和服务的连接提供产品和技术平 台;e 家佳则侧重于家庭内部设备的控制;o s g i 着重于家庭内外连结。这些主 流标准在一定的技术、业务范围内都遵循开放的标准,维持开放性的框架,选择 更广泛认可的产业平台,不受个别平台或操作系统所限制,从而保证了广泛的市 场应用性。 u p n p 协议是目前应用范围最广也是技术最成熟的数字家庭网络标准。市场 上也有许多开源的u p n p 协议栈,如i n t e l 的开源s d k 7 1 。这种用c c + + 语言编 写的协议栈具有可移植和运行速度快等优点,然而随着科技的飞速发展,计算机 尤其是嵌入式系统的发展,多数情况下运行速度已经不再是系统的主要瓶颈,因 此一些如p y t h o n 等脚本语言解释器也被移植到了嵌入式系统中来,目前比较流 行的a n d r o i d 和l o s 等智能操作系统都支持p y t h o n 8 1 ,而目前基于p y t h o n 的u p n p 协议栈少之又少,因此本文设计了_ 套基于p y t h o n 的u p n p 协议栈,使u p n p 的 应用程序开发变得非常简单。 1 2 课题来源 国家科技支撑计划:数字家庭软件技术集成开发与示范项目。 课题:数字家庭关键技术及服务集成技术研究。 根据上述课题确立的研究目标基于s o a 集成架构的数字家庭多标准融合 , 结合目前国内外数字家庭网络技术标准制定和应用现状的研究,确定本课题:“数 字家庭网络标准协议的研究与实现 。 数字家庭网络标准协议的研究与实现 1 3 课题研究内容 1 、数字家庭标准研究分析 本论文将探讨主流数字家庭国际标准( 比如u p n p 、d l n a 等) 的技术标准 体系及其核心基础协议组。 2 、基于p y t h o n 语言的u p n p 协议的设计与实现 全面深入分析u p n p 协议,包括u p i l p 使用的子协议已经u p n p 论坛定义的 u p n p 协议框架,研究u p n p 协议如何实现设备的发现、描述、控制、事件触发 以及展示,并对每个子模块进行详细设计。 1 4 本文组织结构 本文主要研究了数字家庭网络标准u p n p 协议栈与实现,内容共分为六个章 节,具体章节安排如下: 第一章:介绍了课题背景和来源,概述了课题研究内容及论文组织结构。 第二章:研究u p n p 的相关技术标准,分析u p n p 的技术标准体系及其核心 协议组,并对该标准进行了全面分析。 第三章:对u p n p 协议的实现机制进行了全面深入的研究。 第四章:基于前面的研究成果,实现了一套基于p y t h o n 的u p n p 框架。 第五章:构建了一个基于本文第四章所设计框架的应用实例:家庭媒体服务 和电源控制系统。 第六章:对全文做出了总结,并对今后进一步的研究方向做出了展望。 数字家庭网络标准协议的研究与实现 2u p n p 原理概述 2 1u p n p 概述 o p n v ( o n i v c r s a lp l u ga n dp l a y ) t 9 1 是针对智能家电、无线设备以及各种外形尺 寸的终端设备的通用p e e r - t o p e e r 网络连接而设计的一种架构。它旨在为家庭、 中小企业以及各种形式的局域网络提供易于使用、配置灵活且基于统一标准的连 接。u p n p 是一种开封县的分布式网络体系结构,它充分利用了t c p i p 和w e b 技术,能够在家庭、办公室以及户外场所设备问进行无缝紧密的网络互联,从而 进行数据传输和设备控制。 u p n _ p 不仅仅是即插即用外设模式的简单扩展。它用于支持零配置、“不可见” 联网,以及支持众多厂商通用设备类型的自动发现。这意味着,一台设各进入一 个网络,能够动态地获取一个口地址,并向网络中的其他设各通告其功能,以 及获取其他设备的存在状态以及所提供的功能。d h c p 和d n s 服务器为可选, 只有在其在网络中配置过才可使用。设备可以平滑地离开网络而不会对网络和网 络中的设备造成任何影响。 u p n p 充分利用了t c p 、u d p 、i p 、h t t p 和x m l 在内的成熟的网络标准。 在互联网上契约以有线应用协议为基础,而该协议是说明性地利用x m l 进行表 达和用h 1 曙协议进行传输,而u p n p 的设计目的正是提供这样的环境。再者, 当技术、成本或经费等方面的原因阻碍了某种设备运行于口层时,u p n p 能通过 桥接的方式提供非i p 协议的媒体传输通道。 u p n p 的通用性表现在,它不依赖于任何的设备驱动程序,取而代之的是应 用层的通用协议,u p n p 网络也不依赖于任意特定媒体。u p n p 设备可以在任何 操作系统上采用任意编程语言来实现【l0 1 。u p n p 并未针对运行于控制点上的应用 而制定或限制a p i 的设计,操作系统厂商或应用软件提供商可以根据客户的需 求创建相应的a p i 。u p n p 通过使用浏览器或传统应用程序来使厂商能够提供控 制设备的用户界面并实现人机交互。 4 数字家庭网络标准协议的研究与实现 2 2u p n p 网络组件及关键术语 设备( d e v i c e ) 、服务( s e r v i c e ) 、控制点( c o n t r o lp o i n t ) 等是组成一个u p n p 网络的三个基础组件。 2 2 1 设备( d e v i c e ) 设备是u p n p 协议规范中最基本的功能单元,u p n p 设备在逻辑上可以包含 一个或者多个物理设备,它是u p n p 服务的载体,也是资源和服务的载体,既可 以充当客户端也可以作为服务器。 一个设备通过设备模型来描述其所提供的服务信息以及嵌入式设备信息。 u p n p 设备的描述分为两个部分【i l 】: 1 ) 设备描述,描述其所定义的物理和逻辑设各。包括设备生产厂商信息, 如模块名称编号、序列号、厂商名称、服务u r l 等。 2 ) 服务描述,描述该设备可以对外提供服务的能力。包括一系列的事件、 动作,服务所对应的每种动作的参数以及变量。服务描述还包括一些状态变量, 描述了设备的运行时状态,包括设备类型、取值范围和事件特征的描述,这些变 量可以实时地报告给对其进行控制的控制点。 在设备模型描述中,服务是最重要的元素,它赋予了设备所能提供的真正功 能,u p n p 网络中的其他设备可以激活并控制服务。x m l 是设备和服务的通用描 述语言。 2 2 2 服务( s e r v i c e ) 服务是u p n p 网络中可控的最小单元。服务拥有若干动作并通过状态变量来 表示它的状态。例如,一个基于u p n p 的灯控制程序,状态变量c u r r e n ts t a t u s ,其 值为:o n o f f , 三个动作g e t _ s t a t u s 、p o w e r _ o n 和p o w e r _ o f f , 控制点通过灯控制 程序提供的动作来获取或者改变灯的状态。类似于设备的描述,服务也是基于 x m l 来描述的,指向服务描述的u r l 包含在设备描述的x m l 文件内,当然一 个设备可以同时拥有多个服务。 u p n p 设备中的一个服务是由一个事件服务器、一个控制服务器和状态表组 s 数字家庭网络标准协议的研究与实现 成 】2 】。控制服务器接受动作请求并执行它们,修改状态表和返回相应结果。服 务器状态改变之后,事件服务器将此改变发布给已订阅此事件的订阅者。 2 2 3 控制点( c o n t r o lp o i n t ) 控制点用来发现、激活并控制u p n p 网络中的设备。从物理上来讲,一般的 设备即可以作为控制点,当然设备和控制点也可以位于不同设备,也就是说,同 台设备既可以作为普通设备也可以作为控制点的功能【1 3 】。控制点需要具备发 现并控制设备的能力。在发现受控目标后,控制点应当: 1 ) 获取设备的详细描述信息并获取服务描述u r l 。 2 ) 获取设备的服务描述。 3 ) 调用并控制设备服务。 4 ) 向设备订阅服务事件,只要服务状态发生改变,设备中的事件服务器就 会将此改变通知给订阅此事件的订阅者。 控制点软件通常运行于具有可视化界面的设备上,如p c 、智能手机或p d a 等,至少应包括发现设备程序、描述设备程序和服务控制程序及命令解释器,还 可以包括浏览器、事件订阅程序以及应用程序执行环境等。受控设备应至少包括 发现服务器、描述服务器、控制服务器以及表现服务器、事件订阅服务器等。控 制点可以同时是受控设备,控制点也可以同时控制多个设备。非u p n p 设备可以 利用标准的u p n p 桥接设备使其表现为普通u p n p 设型1 4 】。设备、服务和控制点 的关系如图2 1 所示: 图2 1 设备、服务、控制点关系 以上所讨论内容的各种信息都以x m l 文件的形式保存,针对不同的操作, 6 数字家庭网络标准协议的研究与实现 保存格式会有所不同,下面的章节会详细讨论。 2 3u p n p 框架及协议栈 u p n p 协议是运行于i p 层之上的一层应用层协议,它利用了许多现有的、标 准的、成熟的协议以获取最广泛的设备支持,广泛采用已有的成熟协议能减少开 发维护u p n p 协议的工作量,并能使u p n p 设备能更方便地融入到现有网络中。 图2 2 所示为u p n p 所使用协议栈的体系结构。 图2 2 u p n p 协议栈模型 u p n p 协议是一个由多层协议构成的框架体系,每一层都以其下层协议为基 础,同时又是其上层协议的基础,直至应用层。它的最终目的是建立一个可用的 设备模型【15 1 。 最下两层是1 p 层和t c p 、u d p 层。这两层的主要工作是负责设备网络地址 的动态分配和信令及内容的传输。 第三层是h r r p ,h t t p u 、h t r p m u ,属于协议传送层。传送的内容是经 s o a p 、g e n a 或s s d p 格式封装后,存放于基于以上格式的x m l 文件。 第四层是u p l l p 协议的设备定义体系。它是一个公用的、抽象的设备模型。 任何u p n p 设备及应用都必须调用该层。 第五层是u p n p 论坛的各个专业委员会的设备定义层。在这个论坛中,不同 7 数字家庭网络标准协议的研究与实现 的专业委员会负责不同类型电器设备的定义。所有不同类型设各都已经被定义成 为一个专门的架构或者模板。进入此层的设备就意味着指明了其明确的用途。随 着这一体系的普及,将会有越来越多的厂商宣布支持这一描述标准,这样就更有 利于家庭设备的互联互通。 最上一层由u p n t 设备制造商自行定义。这部分一般有设备厂商提供的、针 对设备控制和操作的底层代码,实现差异化服务。 下面来分析u p n p 所用到的主要协议。 2 3 1t c p i p 协议 t c p i p 网络协议是建立其余u p n p 协议的基础,该协议已经集成到几乎所有 的操作系统中,因此u p n p 可以藉此实现跨越不同物理实体的能力并能保证不同 设备生产商之间的互联互操作。 u p n p 设备可以使用t c p i p 协议集中的多种协议,包括t c p 、u d p 、i g m p 、 a r p 、i p 和t c p i p 服务比如d n s 和d h c p 服务。由于t c p i p 协议是使用最为 普遍的网络协议之一,所以定位和创建二个对覆盖面和性能进行优化的u p n p 设 备网络变得非常容易。 2 3 2h t t p 、h t t p u 、h t t p m u 协议 t c p i p 是用来实现u p n p 设备间网络连接的基本协议集。而基于文本的h t t p 协议也是u p n p 协议的核心部分,u p n p 的所有组件都建立在h ,r t p 或其变体之 上。 h t t p u 和h t t p m u 是h 1 _ r p 的变种,定义了消息的传输是基于u d p i p 而 不是t c p i p 。h t y p u 是基于u d p i p 的单播通信协议,而h t t p m u 是基于u d p i p 的多播通信协议,两者与h t t p 一脉相承,并无本质区别【1 6 1 。一卜是用于设备 的搜索以及发布,一个是用于设备的应答。 : 8 数字家庭网络标准协议的研究与实现 2 3 3s s d p 协议 s s d p ( s i m p l e s e r v i c ed i s c o v e r yp r o t o c 0 1 ) ,即简单服务发现协议,它定义了网 络服务和设备是如果在网络中被发现以及发现网络服务和设备的【1 7 1 。s s d p 基于 h t t p u 和h t t p m u 构建,定义了控制点获取网络上感兴趣的设备和资源并向这 些资源和设备通知它本身信息的可行性方法。这样网络中的每个控制点或设备都 可以获得整个网络状态的完整信息,同时保持了低水平的网络吞吐量。这种将搜 索请求和展示通知进行同步设计的方法,使s s d p 降低了在仅适用这两种机制中 的一种时所必需的开销。 设备和控制点都需要使用s s d p 。u p n p 控制点启动后可以发送基于h t t p m u 的s s d p 搜索请求来发现网络上可用的设备和服务,当然控制点可以根据实际需 求仅搜索特定设备或服务。 当u p n p 设备进入网络时,它会发出基于h t t p m u 的s s d p 通知消息,向网 络中的设备和控制点通知其所提供的服务。u p n p 设备则会监听多播地址,一旦 收到广播或搜索请求,该设备就检查搜索条件以确定它们是否跟自己匹配,如果 匹配,一个基于h r i p u 的s s d p 相应消息将被发送至该控制点。 在单播设备响应消息和展示通知中,都包含改设备描述文档和服务文档所在 位置的指针。 , 除了发现搜索功能外,s s d p 还提供了设备及、服务以及控制点平滑离开网 络的方式,其中包含清除设备旧的缓存信息来进行自我维护。 2 3 4g e n a 协议 g e n a ( g e n e r i ee v e n tn o t i f i c a t i o na r c h i t e c t u r e ) ,即通用事件通知体系结构。 它实现u p n p 的事件部分,定义了事件发布者和事件订阅者这两个概念。控制点 利用该协议订阅和退订感兴趣的服务,设备则处理来自控制点的订阅请求。在消 息的订阅和退订过程中产生相应的事件消剧18 1 。 : 9 数字家庭网络标准协议的研究与实现 2 3 5s o a p 协议 s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c 0 1 ) ,即简单对象访问协议,是一种基于 x m l 的协议,它用于在分布式环境中发送消息,并执行远程过程调用f 1 9 1 。使用 s o a p , 不用依赖任何特定的传输协议( 尽管通常选用h 丁r p 协议) ,就能使数据 序列化。以s o a p 来构建平台与语言中性的互操作环境是一个很好的选择。总之, s o a p 和w e b 服务已经为在x m l 上构建分布式应用程序基础结构所需的一切都 考虑好了。同时s o a p 使用h t t p 进行连接的管理功能,从而使网络上的分布式 通讯就像访问网页一样简单。 与远程调用过程类似,u p n p 使用s o a p 向设备发送控制消息并将结果及错 误返回到控制点。每个u p n p 控制点的请求都是一个s o a p 消息,含有一系列的 动作和相应的一组参数,相应地,请求所对应的响应也是s o a p 消息,其中包括 设备状态、返回值等任何返回参数。 2 3 6 ) 咖l x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 县p 可扩展标记语言,它与h t m l 一样,都 是s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ,标准通用标记语言) 。x v l l 是互 联网环境中跨平台的,依赖于内容的技术,是当前处理结构化信息的有力工具。 x m l 是一种简单的数据存储语言,使用一系列简单的标记描述数据。x m l 看上 去很像h t m l ,都是利用标记和属性,而实际上区别非常大,x m l 中的标记和 属性的含义不是全局定义的,而是在使用它们的上下文中进行解释,因此x m l 非常适合开发各种文档类型的模型。 x m l 是u p n p 的一个核心部分,它应用在设备和服务描述、控制消息和事件 中。前面所描述的s s d p 协议、g e n a 协议和s o a p 协议都是以x m l 来描述的 f 2 0 1 。u p i l p 论坛工作委员会在u p n p 设备体系架构层的基础上对具体类型设备和 服务的信息进行了详细的定义,另外,设备厂商还可以在此基础上开发自己的设 备和服务的工作协议。 : 1 0 数字家庭网络标准协议的研究与实现 2 4u p n p 工作过程 根据u p n p 的协议栈模型,网络中的消息通过简单服务发现协议( s s d p ) 、 通用时间通知架构( g e n a ) 和简单对象访问协议( s o a p ) 来进行格式化,然 后消息通过运行于t c p 上的h t t p ,或是运行于u d p 上的h t t p u 或h t t p m u 进行传输。最终,以上所有的消息均在p 层进行传输。 1 ) u p n p 网络互联的基础是i p 寻址。每台设备需配备d h c p 客户端,并在 其首次进入网络时自动搜索d h c p 服务器。若d h c p 服务器可用,则设备就自 动获取来自服务器的i p 地址。若d h c p 服务器不可用,则设备必须使用a u t oi p 方式来自行选择一个i p 地址。a u t oi p 是使一台设备自动从网络中的保留地址中 智能地选出一个口地址,而且在当d h c p 服务器可用时又能轻松地连接d h c p 服务器。如果设备从d h c p 处获得了一个域名,则该设备应当在后续的操作中 使用该域名,否则使用口地址。 2 ) 获取p 地址之后,u p n p 网络的第一步是发现。设备进入到网络后,以 s s d p 协议向网络中的控制点宣告其设备信息机服务,而该设备还可以同时是控 制点,因此它也可以在网络上搜索其感兴趣的设备。两种情况下的信息均集合在 一条发现消息内,在以后的章节中会详细探讨设备如何进行宣告和控制点如何进 行搜索设备,以及发现搜索消息的详细格式。 3 ) u p n p 网络的第二步是描述。控制点只是获取了其感兴趣设备的描述信息, 对设备所提供的服务知之甚少。为了使控制点获取更多的关于设备的服务进而与 设备进行交互,在设备的描述中包含了设备服务描述的u r l 。设备可能包含其 他的子物理设备或逻辑设备。以x m l 格式来表示的设备描述包括了一系列服务、 控制、事件触发和展示的u r l 。对于服务描述,均包括一系列动作,而服务对 于每个动作做出相应;服务的描述还包含- n 变量;这些变量都表现在服务的运 行时的状态,并通过数据类型、取值范围和事件特征进行描述。 4 ) u p n p 网络中的第三步是控制。当控制点获取设备及服务描述后,该控制 : 点将自己所能执行的动作发送至设备的服务。控制点将一条控制消息发送至设备 1 l 数字家庭网络标准协议的研究与实现 描述中提供的服务的控制u r l 。控制消息利用简单对象访问协议( s o a p ) 通过 x m l 来进行包装。跟功能调用一样,服务针对控制消息返回相应的动作值。动 作的效果可以通过描述服务运行时的状态变量进行表达。在以后的章节中会详细 探讨有关内容。 5 ) u p n p 网络的第四步是事件触发。设备的服务描述,包括一系列描述服务 器运行时状态的变量列表及动作列表。当这些变量值发生改变时服务会发布更新 消息,控制点可以预定接收此信息。服务通过发送事件消息来发布更新,事件消 息包含一个或多个状态变量及其值。这些消息通过采用以通用事件通知架构 ( g e n a ) 的x m l 格式来表达。控制点首次预定时需要发送一个初始化事件消 息,此事件消息包含所有事件变量及其值,并允许订阅者对服务状态进行初始化。 为支持多个控制点的环境,任何动作的效果都会通知所有控制点,因此,所有订 阅者都会接收到全部事件消息,当然设备可以将状态变量设置为可订阅和不可订 阅。状态变量无论其值为何改变都将以事件消息的形式被发送。 6 ) u p n p 网络中的第五步是展示。如果设备配置了展示u r l ,那么控制点就 可以访问此u r l 并取得一个页面。同时也要求u p n p 设备要实现一个m i n iw e b 服务器。浏览器加载该展示页面,用户可以通过此页面查看设备状态,也可以控 制设备。当然展示功能是可选功能,其功能的强弱也由不同的设备商根据不同的 功能需要而异。 2 5 本章小结 本章描述了u p n p 协议的基本概念及整体框架,最后简述了u p n p 的工作过 程。完整的u p n p 设备工作过程由设备寻址、设备发现、设备描述、设备控制、 事件通知和基于w e b 界面的展示等六个步骤构成。其中,寻址、设备发现、设 备描述是u p n p 的基础,解决了设备如何自己接入网络,如何自动发布服务的问 题;控制、事件处理、设备展示这三步则用来实现u p n p 设备、服务和控制点直 接的相互操作。 数字家庭网络标准协议的研究与实现 3u p n p 协议机制研究 上一章已经阐述了u p n p 的基本概念,框架及协议栈和工作过程。下图3 1 则展示了前面章节描述的在u p n p 各阶段控制点和设备之间进行交互的序列。当 然,由于序列的异步性,交互本身并不是一定按照如图所示顺序发生,控制和事 件触发可能以任意顺序发生。 1 。m s e a r c h m u 潮c a s i ) 一 。 2 n o t i f y ( u d pu r 柚c a s d 3 h t t pg e td e s c ( i p t l o n x m l ” 一 辱2 0 0o k ( x m l ) 5 s u b s c r i b e 7 6 2 o k ( s i d ) 7 h 1 _ t pm p o s t ( s o a p ) 一 8 。2 0 0o k ( s o a pr o s p o n s o 1 9 n o t i f y ( e v o m ) 图3 1 设备控制点交互序列 下面就每一步的工作细节进行详细阐述。 3 1 设备寻址 u p n p 网络的基础在于i p 寻址。a u t o i p 定义了设备:a ) 在d h c p 不可用时 做出决定,以及b ) 从一组本地连接的i p 地址中智能选出一个口地址。这种网 络地址分配方式大大增加了u p n p 网络的灵活性。 一个支持a u t o i p 的设备通过发布一条d h c p d i s c o v e r 消息向d h c p 请求 i p 地址,此客户端监听的d h c p o f f e r s 的时间取决于设备商的具体实现【2 。如 果在等待时间内收到一条d h c p o f f e r ,则此设备就可以继续进行动态i p 地址 的分配。若未收到有效d h c p o f f e r s ,则设备也可以自动配置一个i p 地址。 1 土 誊。如一2蓄,。 数字家庭网络标准协议的研究与实现 i p 地址选定之后必须对其进行测试,以确定该地址是否和网络上的其他设 备地址相冲突。如果该地址以及被其它设备占用,则必须选出另外一个地址再进 行测试,直至其在网络中独一无二为止,重试次数依网络情况而定。地址的分配 是随机进行的。 设备为了测试选用的i p 地址,必须使用地址解析协议( a r p ) 来进行探测。 u p n p 设备发送一个a r p 请求,其中设备m a c 地址作为发送者的硬件地址,而 发送者i p 地址为0 。设备因而会监听对于该a r p 的探测,或者对同一i p 地址的 其它a r p 探测做出响应。若设备发现了任意一个a r p 数据包,则说明该i p 已 被使用进而尝试申请一个新地址。 设备在自动获取了i p 地址后必须对其进行定期检查,以确定网络中d h c p 服务器的存在与否,这一过程通过发送d h c p d i s c o 象消息来实现。一般以5 分钟作为检查周期,这样可以维持网络连接维护以及网络带宽之间的平衡。如果 收到d h c p 服务器的消息,设备必须继续动态地址分配。如果d h c p 已经分配 地址到位,则设备可释放该自动配置的地址,也可以选择将该地址保留以维持网 络的连接性。 如果一个设备的口地址要更改为新的地址,那么它必须取消一切已经公开 的宣告并重新发布新的宣告。 设备一旦拥有了一个有效的d 网络地址,即可在网络中被随意定位、访问 及控制。某些情况下,当用户需要搜索感兴趣的设备时,一个友好的设备名称要 比一个i p 地址易用得多。除此之外,名称即域名比d 地址要稳定得多。当设备 的口变更时,域名可以不做任何修改,方便网络的管理和设备问的维持良好的 网络连接性。r f c 2 1 3 6 文档详细描述了d n s 域名与p 地址的映射关系,支持动 态d n s 更新的设备或计算机都能够将其d n s 记录直接计入到d h c p 服务器中 【2 2 1 。同时还可能配置一台专用的d h c p 服务器来表示这些d h c p 客户端和d n s 记录之间的关系。 当控制点要访问一台以d n s 域名来命名的设备时,要想解析其i p 地址,需 遵守r f c l 0 3 4 和r f c l 0 3 5 的描述将d n s 查询发送至d n s 服务器,从服务器中 读取设备所对应的i p 地址。 1 4 数字家庭网络标准协议的研究与实现 3 2 设备发现 设备发现是u p n p 网络中的第一步。当设备进入网络并获取口及域名之后, 以u p n p 的简单服务发现协议( s s d p ) 向网络中的控制点或设备宣告其服务。 相应地,一个控制点进入网络后,也以u p n p 的简单服务发现协议搜索网络中感 兴趣的设备和服务。这两种情况下,基本交互信息均融合在一条发现消息内,其 中包含关于该设备或其服务的少许信息( 包括指向描述更详细设备和服务信息的 u r l ) 。s s d p 采用h t t p m u 的方式来进行广播,并采用h t t p u 的方式来进行 应答。下图3 - 2 描述了u p n p 的设备发现过程。 设备发布 图3 2 u p n p 设备发现过程 当一个新设备被添加到网络后,它没必要等待控制点来搜索他们的服务,它 们可以简单地向网络的多播地址:2 3 9 2 5 5 2 5 5 2 5 0 :1 9 0 0 发送基于s s d p 的 n o t i f y 命令来宣告他们设备的可用性。所有控制点都能监听到标准的多播地 址。当控制点获得该n o t i f y 多播,它们就可以使用标准的h t f pg e t 命令来 向n o t i f y 消息中提供的u r l 地址发出请求以获得设备的详细描述文档1 2 3 】。设 备必须在它们服务不可用时发送一个响应的通知信息。 同样地,一个新控制点进入u p n p 网络后,它会向多播地址: 2 3 9 2 5 5 2 5 5 2 5 0 :1 9 0 0 多播一条基于h t r p 的发现消息m s e a r c h 来搜索感兴趣 的设备、服务,或者同时两者。根据u p n p 标准,所有设备都必须监听标准多播 地址,同时在其任何嵌入式设备或服务于发现消息中的搜索标准相符合时必须做
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 脑梗塞遗症的护理查房
- 远程培训A3作业
- 《西游记》讲课课件
- 《表达要得体》课件
- 新人入职汇报
- 急性左心衰病人护理查房
- 消毒和隔离技术规范解读
- 放疗病人教学护理查房
- 2025年招标采购从业人员专业技术能力考试(招标采购项目管理中级)冲刺试题及答案(山东菏泽)
- 腰椎骨折手术病人的护理
- 4.1夯实法治基础教学设计 2025-2026学年度九年级上册 道德与法治 统编版
- 连铸工岗位操作规程考核试卷及答案
- 2025兵团普通职工考试试题及答案
- 《中国老年危重患者营养支持治疗指南(2023)》解读 4
- 2025年广东国家公务员申论考试真题及答案-地市级
- 绿色矿山培训课件
- 国有企业十五五人力资源规划框架
- 无人机实操训练课件
- 十二大报告解读
- 格拉斯哥(GCS)昏迷评估量表(详xi操作)
- 肝硬化患者健康宣教知识
评论
0/150
提交评论