微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > IGRS和UPnP协议互连机制分析

IGRS和UPnP协议互连机制分析

时间:10-02 来源:电子设计应用 点击:

作者:北京邮电大学自动化学院 徐刚
北京六合万通微电子技术有限公司 杨军

摘 要:IGRS(信息设备资源共享协同服务协议)与UPnP是数字家庭网络中的两大主流协议,本文从组成机制的角度对两个协议进行了对比和抽象,阐述了两种协议互连的可行性,并提出了设备互连的解决方案。

关键词:IGRS;UPnP;协议机制;设备互连

引言

随着各种信息设备的功能越来越强大以及网络技术的飞速发展,设备间如何更加方便、智能的互联以及更好的协同工作已经成为人们关注的焦点。同时,在以知识经济和信息网络发展为主题的今天,技术标准已成为经济全球化竞争的重要手段。由国内"闪联"提出的IGRS协议和由国际17大厂商联盟提出的UPnP技术应运而生,在这种竞争中扮演着重要的角色。如何解决好两大协议设备之间的互连互通,将成为今后一段时间内研究和讨论的重要课题。

图1 IGRS体系结构图

IGRS协议简介

IGRS协议可以在有限范围网络域(有线、无线)内,支持多种信息设备、家用电器、通讯设备之间的设备自动发现、动态组网、资源共享和协同服务,从而提高这些设备间的互操作性和易用性,并创造出新的应用模式和丰富的应用。IGRS协议的体系结构如图1所示。

UPnP协议简介

UPnP 使用标准的 IP 协议集,从而保持了网络媒体的不可知性, 使用开放的标准协议,如 TCP/IP、HTTP 和 XML。UPnP 利用了多种现有的标准协议,使用这些标准化的协议有助于确保供应商之间的互操作性。由于许多协议已在使用之中,因此,几乎不需要执行任何操作就可以让 UPnP 设备在现有的网络化环境中工作。 

IGRS和UPnP设备互连的可行性基础
IGRS与UPnP协议组成机制抽象
IGRS和UPnP协议都是使用了许多标准的协议机制,通过对两个协议的分析,可以建立抽象协议模型。

IGRS与UPnP互操作实现基础

两个协议都是由设备间寻址机制、设备/服务发现机制、设备/服务描述机制、服务间控制和调用机制、服务事件与通知机制组成。可以从各个机制是如何实现的这一角度上对两个协议进行简单比较,从而找出两个协议互连的可行性:

(1)设备间寻址机制,UPnP的寻址方式由静态IP、动态DHCP和Auto-IP分配相结合组成,而IGRS协议中并没有限定设备间寻址的问题,设备间的寻址可以由IGRS协议以外的机制来实现。所以两个协议都支持设备使用静态IP、动态DHCP和Auto-IP的寻址方式。

(2)设备/服务发现机制,IGRS的设备/服务发现机制包括了基于全局对等组和基于主从设备组的设备/服务发现机制。UPnP的设备/服务发现机制使用SSDP协议,以UDP多播为基础。IGRS基于全局对等组的设备/服务发现机制也建立在SSDP协议基础上。通过SSDP协议,IGRS与UPnP可以实现设备/服务的相互发现。

(3)设备/服务描述机制, UPnP和IGRS都采用XML模板定义了设备描述模板,用于描述设备的各种信息,两种模板在格式定义上有所区别,但是IGRS设备描述模板是可扩展的,可以在其中加入UPnP所能识别的描述元素。

IGRS采用WSDL作为服务描述模板,UPnP则使用自定义的UPnP Template Language for services做为服务描述模板,这两种模板格式存在较大差异。但是,IGRS的服务描述中可以加入相应的UPnP描述扩展,从而使得UPnP设备可以识别IGRS服务;IGRS设备对UPnP服务的识别是通过引入UPnP服务描述文档解析引擎来实现的。

(4)服务间控制和调用机制,UPnP的服务调用机制采用SOAP协议实现,IGRS则定义了基于会话的服务调用机制,同时支持基于非安全管道的客户/服务间交互作为扩展接口。IGRS服务可以在IGRS设备描述文档中的服务描述中加入相应的UPnP客户访问接口描述,从而实现与UPnP客户间的交互和控制。

(5)服务事件与通知机制,UPnP采用GENA机制实现服务事件与通知机制,IGRS则采用基于管道(安全/非安全)的机制实现。但通过非安全管道机制,IGRS服务可以向UPnP客户暴露事件访问接口,实现与UPnP客户间的事件交互、服务的事件订阅并接收相应的事件通知。

IGRS和UPnP设备
互连的解决方案

图2为IGRS与UPnP设备互连的设备交互图

IGRS与UPnP设备发现和搜索

IGRS协议中指出,IGRS与UPnP协议的消息接口为239.255.255.250:1900,双方设备可以通过侦听该地址而获得对方设备/服务的在线宣告,通过向239.255.255.250:1900发送多播设备/服务查找消息,等待符合查找条件的对方设备/服务的查找响应,从而发现所需要的设备/服务。

当设备离开网络时,向239.255.255.250:1900发送设备离线宣告消息即可。对方设备通过侦听该离线消息,可以发现设备离线。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top