物联网终端远程管理架构及功能研究 联系客服

发布时间 : 星期五 文章物联网终端远程管理架构及功能研究更新完毕开始阅读ef9c2f1eef06eff9aef8941ea76e58fafab045d2

理而专门设计的,但由于在终端管理方面的共同特性,在进行物联网终端远程管理时,也可以参考使用这些协议。另外,中国电信、中国移动也特别针对M2M管理提出了自己的管理协议。本章将对这些协议进行简单的介绍。

4.2 Broadband Forum CWMP(TR-069) 4.2.1 概述

TR-069是为家庭网络终端远程管理而设计的协议。从运营、维护和管理的角度看,家庭网络和公用电信网络有很大不同。首先,公用电信网络的网元数量一般比较少,而家庭网络的网元数量则非常庞大,所以,没有良好的运行和管理工具,无法维护和管理家庭网络;传统的人工操作和排除故障的方式很难满足家庭网络的维护和管理要求。其次,家庭网络的使用者是普通用户,普通用户不可能象机房里的专业工作人员那样恪守安全规范,不做有害于网络安全的操作;更有可能,一些使用者是怀有恶意的;因此,家庭网络的维护和管理更要注重运营商对设备本身的控制能力以及安全性能。最后,家庭网络遍布各个地区,远程管理是必不可少的;上门服务只有在极特别的情形下才进行。

Broadband Forum的TR-069协议在2004年发布以后,在家庭网络终端管理方面得到广泛应用,并且根据应用中出现的新情况,进行了几次修订。

4.2.2 TR-069协议栈

TR-069的协议栈如图 11所示。TR-069是基于TCP,面向连接的协议,采用HTTP承载的SOAP消息,使用XML语言定义,对象和方法容易扩展,同时可选的SSL/TLS层可以提供更加可信的安全性

RPC 方法SOAPHTTPSSL/TLSTCP/IP

图 11 TR-069协议栈

14

4.2.3 连接建立

终端可以通过出厂预配置、本地配置或是通过DHCP选项获取远程管理服务器RMS的地址,然后在任何时刻使用预先确定的RMS地址发起到RMS的连接。在下列情况下,被管理设备必须建立和RMS的连接并发送Inform RPC方法。

a) 被管理设备初始安装后第一次和接入网建立连接; b) 上电或重置;

c) 每隔PeriodicInformInterval时间(例如,每隔24小时); d) 当通过可选的ScheduleInform方法通知时;

e) 当被管理设备接收到来自RMS的合法连接请求(Connection Request); f) 当RMS的URL改变时;

g) 当参数值改变并要求发送Inform方法时;

h) 当一个被RMS通过SetParameterAttributes方法标记为“主动通知”的参数值由于RMS以外的其他原因被修改时。由RMS使用SetParameterValues方法对参数值进行修改不应发起一个新会话。如果一个参数在被管理设备建立会话进行通知前被修改了多次,则被管理设备应只通知一次。

RMS也可以在任何时刻通过连接请求机制要求被管理设备建立与RMS的连接。连接请求机制如下所述:

a) 连接请求应使用HTTP 1.1 GET发送到被管理设备指定的特定URL。URL值在被管理设备上是只读类型的参数。URL的“path”值建议由被管理设备随机产生以保证其唯一性;

b) 连接请求应使用HTTP,不应使用HTTPS。相关联的URL必须是HTTP URL;

c) 连接请求HTTP GET消息不承载任何数据,建议被管理设备忽略其中包含的任何数据;

d) 在建立连接前,被管理设备应使用摘要认证对RMS进行认证,即如果认证请求未成功,则被管理设备不应初始化与RMS的连接;

f) 被管理设备应使用“200(OK)”或“204(No Content)”HTTP状态码来响应认证成功的连接请求。当认证成功后,被管理设备应在初始化会话前立刻发送响应消息。HTTP响应中的消息体长度应为0;

15

h) 如果被管理设备认证成功并响应了连接请求,并且当前并未进行会话,则被管理设备应在发送响应消息后30秒内发起到预先确定的RMS地址的会话,并在Inform方法中包含“6 CONNECTION REQUEST”事件码;

IANA把端口号7547分配给TR-069协议,被管理设备可在连接请求URL中使用这个端口号。

4.2.4 RPC方法

TR-069协议中的功能主要通过SOAP封装的RPC方法来实现。RMS可以调用终端上支持的RPC方法,终端也可以调用RMS上的RPC方法。在TR-069协议中,终端和RMS所应支持的RPC方法见下表。

表 1 RPC方法

方法名 被管理设备方法 GetRPCMethods SetParameterValues GetParameterValues GetParameterNames SetParameterAttributes GetParameterAttributes AddObject DeleteObject Reboot Download Upload FactoryReset GetQueuedTransfers ScheduleInform RMS方法 GetRPCMethods Inform TransferComplete RequestDownload 被管理设备要求 响应 必选 必选 必选 必选 必选 必选 必选 必选 必选 必选 必选 必选 可选 可选 调用 可选 必选 必选 可选 RMS要求 调用 可选 必选 必选 必选 可选 可选 可选 可选 必选 必选 必选 必选 可选 可选 响应 必选 必选 必选 可选

各种RPC方法的简单说明如下。

GetRPCMethods:此方法可被被管理设备或RMS调用,用来发现与之通讯的RMS或被管理设备支持的方法集。响应的列表中应包括所有支持的方法,包括标准方法和厂商自定义方法。响应接收者应忽略任何无法识别的方法。

SetParameterValues:RMS可以用这个方法来修改被管理设备的一个或多个

16

参数值。

GetParameterValues:RMS可以使用这个方法来发现某个被管理设备的可得到的参数值。

GetParameterNames:RMS可以使用这个方法来发现某个被管理设备所支持的参数模型,即所有参数的层次结构和名称。

SetParameterAttributes:RMS可以使用这个方法来修改与一个或多个被管理设备参数相关的属性。这里的参数属性主要是指当一个参数的值由于RMS配置之外的原因发生改变时,是否要上报给RMS。

GetParameterAttributes:RMS可以使用这个方法来读取一个或多个被管理设备参数相关的属性。

AddObject:RMS可以使用这个方法来创建一个多实例对象的新实例。多实例对象是参数和/或其他对象的集合,并定义了多个实例。

DeleteObject:RMS可以使用这个方法来删除一个对象的特定实例。 Download:RMS可以使用这个方法命令被管理设备从指定位置下载特定的文件。

Reboot:该方法用来使被管理设备重启。

Uoload:此方法可被RMS用来要求被管理设备向指定位置上传一个特定文件。

FactoryReset:此方法重置被管理设备为出厂设置状态。

Inform:无论何时只要与RMS建立会话进程,被管理设备必须调用Inform方法来初始化事务序列。

TransferComplete:通知RMS由一个早先的下载或上传请求引起的文件传输的完成(成功或不成功)。它应仅在相应的下载或上传响应当时表明传输尚未完成时被调用。它既可以稍后在与传输相同的会话中调用,也可以在后续会话中调用。使用时,此方法应仅在传输成功完成之后或者传输失败后调用,在下载情况下,已下载的文件应已应用成功或失败。如果此方法失败,被管理设备不能认为RMS已经收到文件传输完成的通知,而应尝试在当前或后续会话中再次调用方法。

4.2.5 会话初始化

17