UPnP基本原理以及在NAT中的应用探索.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UPnP基本原理以及在NAT中的应用 作者: | 上传时间:2012-06-01 | 关键字:网络大爬虫5-NAT专题 1 摘要 随着计算机产业以及计算机网络技术的迅猛发展,越来越多嵌入式设备的出现和家庭网络的发展,实现各种设备的互联互通已经成为人们的迫切需求,而实现家庭网络互联互通的关键是家庭网络的中间件技术。业界各大厂商都提出了自己的解决方案,其中以微软提出的UPnP最具有发展前途,也获得了最广泛的支持,目前UPnP基本是家庭网络设备必须支持的特性之一。 UPnP是通用即插即用(Universal Plug and Play)的缩写,主要用于设备的智能互联互通,使用UPnP协议不需要设备驱动程序,它可以运行在目前几乎所有的操作系统平台上,使得在办公室、家庭和其他公共场所方便地构建设备互联互通成为可能。 本文介绍了UPnP所定义的基本协议(如SSDP、GENA、SOAP等),重点分析了UPnP实现的基本工作流程,并通过抓包工具捕获数据包,对各种流程传递的协议报文进行详尽分析,最后结合NAT技术,重点叙述UPnP在NAT技术中的应用。 2 UPnP的结构规范 UPnP最大的愿景是希望任何设备一旦连接上网络,所有在网络上的设备马上就能知道有新设备加入,这些设备彼此之间能互相通信,更能直接使用或者控制它,一切都不需要人工设置,完全的即插即用。 2.1 UPnP的基本组件 服务、设备和控制点是UPnP网络的基本组件,它们之间的关系图如图1所示: 图1 UPnP组件图 ? 设备(Device) UPnP网络中定义的设备具有很广泛的含义,各种各样的家电、电脑外设、智能设备、无线设备、个人电脑等等都可以称之为设备。一台UPnP设备可以是多个服务的载体或多个子设备的嵌套。 ? 服务(Service) 在UPnP网络中,最小的控制单元就是服务。服务描述的是指设备在不同情况下的动作和设备的状态。例如,时钟服务可以表述为时间变化值、当前的时间值以及设置时间和读取时间两个活动,通过这些动作,就可以控制服务。 ? 控制点(Control Point) 在UPnP网络中,控制点指的是可以发现并控制其他设备的控制设备。在UPnP网络中,设备可以和控制点合并,为同一台设备,同时具有设备的功能和控制点的功能,即可以作为设备提供服务???也可以作为控制点发现和控制其他设备。 2.2 UPnP的部分术语 ? UUID UUID含义是通用唯一识别码(Universally Unique Identifier),其目的是让分布式系统中的所有元素都有唯一的标识,其格式为xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx(8-4-4-16),分别表示当前的日期、时间、始终序列、全局唯一的IEEE机器标识,如果有网卡,则从网络的MAC地址获取,没有网卡则以其他方式获得。 ? UDN 单一设备名字(Unique Device Name),基于UUID,表示一个设备,在不同的时间,对于同一台设备此值应该是唯一的。 ? URI Web上可用的每种资源,包括HTML文档、图像、视频片段、程序等,由一个通用资源标志符(Universal Resource Identifier,简称”URI”)进行定位。URI一般有三部分组成:访问资源的命名机制、存在资源的主机名、资源自身的名称,由路径表示。考虑下面的URI,它表示了当前的HTML 4.0规范;  HYPERLINK /html/html40/ /html/html40/它表示一个可通过HTTP协议访问的资源,位于主机 HYPERLINK / 上,通过路径“/html/html40”访问 ? URL URL是URI命名机制的一个子集,URL是Uniform Resource Location的缩写,译为“统一资源定位符”。形象点说,URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上,采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。 ? URN URN是URL的一种更新形式,统一资源名称(Uniform Resource Name)。唯一标识一个实体的标识符,但是不能给出实体的位置。URN可以提供一种机制,用于查找和检索定义特定命名空间的架构文件。尽管普通的URL可以提供类似的功能,但是URN更强大更容易管理,因为它可以引用多个URL。 2.3 UPnP协议栈 UPnP定义了设备之间、设备和控制点、控制点之间通信的协议。完整的UPnP有设备寻址、设备发现、设备描述、设备控制、事件通知和基于Html的描述等几部分构成。UPnP设备协议栈如图2所示: 图2 UPnP协议栈 UPnP协议结构最底层的TCP/IP协议是UPnP协议结构

文档评论(0)

1112111 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档