关于UPnP Device Architecture 2.0的阅读笔记(一)

介绍部分
    UDA : UPnP Device Architecture,UPnP设备体系结构
        它不仅仅是一个即插即用外设模型的拓展.它被设计成支持零配置,可视网络,来自不同供应商的设备的自动发现
        意味着一个设备可以动态地加入网络,获取一个IP地址,表明自己的能力,直到网络中其他设备的信息.设备也可以自动地离开网络.

    UPnP体系结构使用的网络协议包括IP,TCP,UDP,HTTP,XML等.
    UPnP的通用性表现: 无需设备驱动,使用一致的协议,网络是媒体设备无关的,设备可以使用任何编程语言实现,适应各种OS平台,并不约束一个具体的API实现,OS提供商可以为其用户提供合适的API.

    UPnP论坛: 它是最初用于使不同提供商的独立设备和PC可以实现简单鲁棒的连接.希望发展描述设备的协议的标准和基于XML的设备模式,使设备在一个一定范围的网络环境里协同工作.
    提出设备互连的一致的标准.认定这些设备. 并测试和管理认定过程.
    
    DCP : device control protocol,设备控制协议
    
    UPnP设备体系结构(也被成为DCP设备控制框架)包括了控制点和设备之间的通信的协议,包含发现,描述,控制,事件,表达等,使用下面的协议栈.
    
    UPnP设备提供商,拥有自己的消息信息
    UPnP Forum:补充提供商的消息信息
    SSDP: 简单服务发现协议,通过多播或单播UDP来发送
    GENA: 通用事件通知体系,通过HTTP来发送
    SOAP: 简单对象访问协议,通过HTTP来发送
    Multicast Event Protocol:多播事件协议,通过多播UDP来发送.
    UDP / TCP
    上面所有的消息在下层全部通过IP来发送.
    
    两个通用的设备类型在UPnP体系中被定义:被控的设备(简单设备)和控制点
        被控设备一般作为服务器,响应来自控制点的请求
        控制点和被控设备均可以在不同的平台(PC,嵌入式系统)上被实现
        多个设备和控制点可能会在共同的网络端点同步运行

    UPnP设备体系文件针对IPv4网络环境,附录有对IPv6的描述
    
    UPnP的网络基础是IP地址.控制点和设备要有一个DHCP分配的地址,并使用这个地址.如果没有DHCP服务器,CP和设备要使用自动IP获取一个地址.自动IP定义了一个CP或设备如何在一个保留的地址集中获取一个IP地址.获取到DHCP地址的CP或设备可以使用DNS服务器提供的域名访问.否则,相互之间只能使用IP地址。

    使用一个IP地址,UPnP网络的第一步是发现。当一个设备加入网络,发现协议允许设备对网络中的CP发布其服务。同样地,当一个CP加入网络时,会被允许搜索这个网络中其感兴趣的设备。这种情形的底层是一个发现消息的交互,这个消息包含一些必要的信息,像是设备的类型和它含有的服务类型,标识,或者更详细的信息。发现章节会具体描述设备如何发布上线,CP如何搜索,以及发现消息的格式细节。

    UPnP网络的第二步是描述。当一个CP发现一个设备,这个CP仅仅只知道该设备的很小一部分信息。要想知道设备的更多信息,甚至要与设备交互,控制点要从发现消息中取出设备的描述URL。设备可能会包括其他的逻辑设备,也会有功能单元或服务。设备的描述由一个XML文件实现,包含设备提供商的名字,设备模型名,模型号,序列号,提供商URL等,也会包含设备的子设备列表,服务列表,控制URL,事件URL,表达URL等,对于每一个服务,设备描述还会含有命令列表,动作列表和参数等等。描述章节会阐述控制点如何取出这些描述信息。

    UPnP网络的第三步是控制。当一个控制点取出设备的描述,就可以向设备的服务发送动作请求。控制点会向设备的服务的控制URL发送合适的控制消息。控制消息也是由XML表达,通过SOAP(Simple Object Access Protocol)协议发送。服务会对控制请求作出响应,并返回一定的状态值。控制章节会介绍动作,状态变量,以及控制消息的格式。

    UPnP联网的第四步是事件。服务的描述包含了一些服务动作和一个表述服务状态的变量。当变量值变化时,服务会发布更新信息,订阅了该服务的控制点可能会接收到此消息。服务通过事件消息来发布更新信息。这些消息也是XML格式的。当控制点第一次订阅服务时,服务就会发送一个具体初始化的事件消息,包含了订阅服务的所有事件变量的名字和值,允许订阅者初始化服务的状态模型。为了支持多控制点的情形,事件机制设计成使所有的控制点同时被通知,因此,所有的控制点都会接收到状态变量更新的事件消息。多播事件机制是一个例外。通过多播机制,一个控制点可以监听到其未注册订阅的服务的状态变化。首先,这允许与特定的交互不相关的事件可以被发送给控制点以告知用户相关的事件出现。其次,当多个被控的设备想要通知多个其他的控制点时,也会使用多播机制。由于底层基于UDP,所以多播事件机制并不可靠。为增加传送的成功率,可以重复传送多播消息。事件机制一章里将会具体介绍单播事件订阅和单播和多播事件消息的格式。
    
    UPnP网络的第五步称之为表达。如果一个UPnP设备有一个表达URL,那么控制点可以通过这个URL取出一个HTML文件,将其加载到浏览器。根据该网页的功能实现,用户可以控制设备或监视状态变量。具体由设备功能和该表达文件的实现来决定。表达一章将会介绍提取表达页面的协议。

    读者群:
    本文件的读者包括UPnP设备和控制点提供商,UPnP论坛工作委员会成员,UPnP协议细节的使用者。本文件假定读者熟悉HTTP,TCP,UDP,IP协议族,熟悉XML。

    缩写:
    ARP: Address Resolution Protocol,地址解析协议
    CP: Control Point,控制点
    DCP: Device Control Protocol,设备控制协议
    DDD: Device Description Document,设备描述文件
    DHCP: Dynamic Host Configuration Protocol,动态主机配置协议
    DNS: Domain Name System,域名系统
    GENA: General Event Notification Architecture,通用事件通知体系
    HTML: Hypertext Markup Language,超文本标记语言
    HTTP: Hypertext Transfer Protocol,超文本传输协议
    SCPD: Service Control Protocol Description,服务控制协议描述
    SOAP: Simple Object Access Protocol,简单对象访问协议
    SSDP: Simple Service Discovery Protocol,简单服务发现协议
    UDA: UPnP Device Architecture,UPnP设备体系结构
    UDN: Unique Device Name,唯一设备名
    UPC: Universal Product Code,统一产品编号
    URI: Uniform Resource Identifier,统一资源标识
    URL: Uniform Resource Locator,统一资源定位符
    URN: Uniform Resource Name,统一资源名
    UUID: Universal Unique Identifier,通用唯一标识
    XML: Extensible Markup Language,拓展标记语言

    术语表:
    action:动作,指服务的一个命令。接受一个或多个参数,可能会有返回值。
    argument:参数,执行动作时,传入动作函数的变量。
    Control Point:控制点,提取设备和服务描述,向服务发送动作,获取服务状态变量,获取服务事件
    Device:设备,一个容器,可能包含其他设备,包含许多服务,能够向网络发布其状态
    device description:对一个设备的描述,通过UPnP提供的模版语言,以XML语法编写。
    device type: 标准的设备类型以: urn:schemas-upnp-org:device: 接一个唯一的名字
             也可以由提供商以: urn:domain-name:device: 接一个唯一的名字
    event: 事件,指示服务的状态变量的变化
    GENA: 通用事件通知体系
    publisher: 事件消息的源,具体是一个设备服务。
    root device: 根设备,一个不包含其他设备的逻辑设备。
    service: 逻辑功能单元,控制的最小单元。提供设备的动作和状态变量的管理模型
    service description: 服务描述,逻辑服务的格式定义。SCPD文件,服务控制协议描述文件
    service type: 标准服务类型以 urn:schemas-upnp-org:service: 接一个唯一服务名
                  也可由提供商以 urn:domain-name:service: 接一个唯一服务名
    SOAP: 简单对象访问协议。以一个基于XML的远程程序调用(RPC)机制,通过HTTP发送命令和接收值
    SSDP: 简单服务发现协议。一个多播的发现和搜索机制,使用多播HTTP和UDP
    
    state variable: 状态变量,物理服务模型的一个独立面,通过服务提出,
            有一个名字,类型,默认值,范围值,当其变化时会引发事件
    subscriber: 事件消息的接收者,具体是一个控制点。
    UPnP Device Template: UPNP设备模版,描述了一个如何编写设备描述文件的模版
    UPnP Service Template: UPNP服务模版,描述了一个如何编写服务描述文件的模版
    UPnP Device Schema: UPNP设备体系,描述了设备描述文件的模版和服务描述模版应该包含的元素和属性    
    Vendor Domain Name: 提供商域名
    
    参考和资源:
    RFC 2710 IPv6 多播监听发现: http://www.ietf.org/rfc/rfc2710.txt
    RFC 2616 HTTP: http://www.ietf.org/rfc/rfc2616.txt
    RFC 2279 UTF-8: http://www.ietf.org/rfc/rfc2279.txt
    XML: http://www.w3.org/XML/
    UPnP Device Protection specification: http://upnp.org/specs/gw/UPnP-gw-DeviceProtection-v1-Service.pdf



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: UPnP测试工具是一种软件程序, 可以测试数字设备之间的通信连接和功能,通过UPnP协议互相发现和控制,从而确保这些设备可以在网络上相互通信,发现和使用。UPNP是通用即插即用网络协议,可以实现局域网中不同类型数字设备互相发现和管理。测试工具可以检测设备是否正确实现了UPnP标准,并能够识别设备的功能,这对于数字家电的测试和集成尤为重要。测试工具的主要功能是测试UPnP设备之间的互相通信,这类设备包括计算机、打印机、路由器、音频设备等,通过测试可以检查设备的UPnP功能的完整性、正确性和安全性。UPnP测试工具通常提供图形化界面和命令行接口,测试结果可以以文本文档或XML文件的格式输出,为集成测试提供了重要的数据支持。测试工具的使用需要一定的技术知识和经验,对于专业测试人员来说,它是必不可少的工具,对于普通用户而言,使用UPnP设备时知道有这个工具存在即可。 ### 回答2: UPnP Test工具有利于测试网络中的UPnP(通用即插即用协议)设备及其功能。UPnP是一种能够让设备自主配置网络资源的协议,它通过使用标准的Internet协议来增强网络设备的互操作性。利用UPnP Test工具,网络管理员可以识别和排除UPnP虚拟服务和外部暴露风险,确保网络安全。同时,UPnP Test工具可以检测网络中的兼容性和性能问题,帮助网络管理员解决相关问题并优化网络性能。 UPnP Test工具可以用于测试路由器、打印机、摄像机、扫描仪、音频设备等多种网络设备。操作简单,使用方便,能够有效地测试UPnP设备、检测漏洞,为网络设备的强大和安全性提供保障。 使用UPnP Test工具还可以对UPnP服务的性能进行测试、优化,以提高网络的整体效率。 总之,UPnP Test工具是一种非常实用的网络测试工具,可以帮助网络管理员提高网络性能、保障网络安全、及时检测和解决UPnP设备的性能和兼容性问题,从而让网络更加稳定、高效和安全。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值