TR-069是由DSL论坛(www.dslforum.org)所开发的技术规范之一,其全称为“CPE广域网管理协议”。它提供了对下一代网络中家庭网络设备进行管理配置的通用框架和协议,用于从网络侧对家庭网络中的网关、路由器、机顶盒等设备进行远程集中管理。

主要功能:

1.自主配置和提供自主业务

提供可选工具,管理CPE相关的对安全有更高层次要求的可选应用或服务组件,比如与收费相关的应用或服务。如如何通过数字签名凭据来控制这些选项的机制。

供给机制还允许对未来的尚未包含在本版本规范中的服务及性能进行直接扩展

CPE WAN管理协议允许ACS通过多种准则来实现对一台或一组CPE的供给。供给机制包括规定供给参数和为支持厂商自定制供给能力而提供的通用机制。

供给机制允许CPE在连接到宽带网络的初始化阶段实现供给,并且允许以后重新供给,包括支持异步ACS发起的CPE重新供给。

本协议包含的认证机制允许基于一台CPE需要,或基于一些组合准则,比如CPE厂商,型号,软件版本等进行CPE供给。

协议同时

2.软件/固件的映像管理

l

CPE

WAN管理协议提供管理CPE软件/固件映像下载的工具。协议提供版本鉴别,文件下载的发起(ACS发起或者可选的CPE发起),以起文件下载成功或失败后对ACS的通知。

l

CPE

WAN管理协议还定义一种数字签名的文件格式,可选地用来下载单个文件或者文件包,并且提供给CPE如何安装的明确指令。这种签名包格式保证下载的文件以及后续安装指令的完整性,同时对文件来源的身份进行认证,以避免来自除ACS以外的其它数据源的更新。

3.状态与性能监控

CPE WAN

管理协议支持CPE向ACS提供可能用于状态和性能统计数据。协议定义其公用参数集,并提供厂商在定义ACS能够监视的其它非标准参数时使用标准语法。它还定义CPE主动通知ACS自身变动的条件集合。

4.诊断

CPE WAN管理协议支持CPE向ACS提供可用于诊断连接性和服务的信息。本协议定义一组公用参数集合,以及厂商添加自定制诊断能力的通用机制。

CPE

WAN管理协议包括几项本协议特有的组件,也使用几项标准协议

如下图 :

blog_6e25d1410102v23h.html

RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。

常用RPC方法有如下:

GetRPCMethods

SetParameterValues

GetParameterValues

GetParameterNames

GetParameterAttributes

SetParameterAttributes

AddObject

DeleteObject

Download

Reboot

FactoryReset

在平台操作时就是调用上述的RPC方法。

对于SetParameterValues方法,其返回值需要强调

0

参数的改动已经验证并应用 ,大部分参数都是该属性

1

参数的改动已经验证并提交,只是尚未应用(比如,在新的参数值应用前需要进行重新启动),例如修改TR069 wan连接的vlan

对于AddObject

方法,需要注意的是:其添加的实例号是递增的,是最大的实例号+1,就算最大的实例已经被删除

对于DeleteObject

方法,需要注意的是: 只能删除数字带.的节点(实例)

对于SetParameterAttributes 方法,对于其输入参数需要重视

Struct

{

Name ;#string

NotificationChange ;#boolean

Notification ;#0-2

AccessListChange ;#

AccessList

;#

}

Notification:

0 Notification关闭。

CPE不必通过ACS指定参数的变化。

1 被动式Notification。当指定的参数值变化时,CPE必须在下一次建立

与ACS的会话时,将这一新值包含在Inform报文的ParameterList中。

2 主动式Notification。一旦指定参数的值发生变化,CPE必须发起与ACS的会话,将新值包含在相应的Inform报文的ParameterList中

TR069交互过程:

CPE主动发起连接:

blog_6e25d1410102v23h.html

ACS反向过程:

blog_6e25d1410102v23h.html

在完整的交互过程中当是反向连接时,设备发送的报文中必须带有6 CONNECTION REQUEST 事件,事件是在inform报文中提现的。在正式的交互之前,之前都会有交互。

报文分析:

正式交互之前的交互报文:

blog_6e25d1410102v23h.html

正式交互报文

交互第一步:

blog_6e25d1410102v23h.html

在报文中CWMP关键字都是需要注意的,在第一个inform报文中,写出了事件类型6 CONNECTION REQUEST,主要是发送设备的一些信息

交互第二步:

blog_6e25d1410102v23h.html

没有认证,需要认证信息

交互第三步:

blog_6e25d1410102v23h.html

发送带有鉴权信息的报文

交互第四步:

blog_6e25d1410102v23h.html

交互五步:

blog_6e25d1410102v23h.html

空报文

交互第六步:

blog_6e25d1410102v23h.html

调用的方法和相应的参数

交互第七步:

blog_6e25d1410102v23h.html

返回的结果,不同的方法返回的参数都不一致,如果操作不成功返回的错误代码也是在这体现

交互第八步:

blog_6e25d1410102v23h.html

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐