网络协议篇之CWMP协议(三)—— RPC方法

来源:互联网 发布:手机淘宝购买成功截图 编辑:程序博客网 时间:2024/06/05 20:12

一、CWMP方法

       ACS对CPE的管理和监控是通过一系列的操作来实现的,这些操作在CWMP协议里称为RPC方法。主要方法的描述如下:

Get:ACS使用该方法可以获取CPE上参数的值。

Set:ACS使用该方法可以设置CPE上参数的值。

Inform:当CPE与ACS建立连接时,或者底层配置发生改变时,或者CPE周期性发送本地信息到ACS时,CPE都要通过该方法向ACS发起通告信息。

Download:为了保证CPE端硬件的升级以及厂商配置文件的自动下载,ACS使用该方法可以要求CPE到指定的URL下载指定的文件来更新CPE的本地文件。

Upload:为了方便ACS对CPE端的管理,ACS使用该方法可以要求CPE将指定的文件上传到ACS指定的位置。

Reboot:当CPE故障或者需要软件升级的时候,ACS使用该方法可以对CPE进行远程重启。


二、RPC方法


      其中Optional为可选的, Required为必须实现的, 不过这个只能作为参考, 还得看各家设备商的标准.RPC统一了设备的接口, 那RPC所操作的数据要如何统一呢, Tr069因此提出了Datamodel.

DataModel

     Tr069把很多不同的设备都抽象出了设备模型, 挂到公共的设备树上面, 根节点叫做InternetGatewayDevice, 利用统一出来的RPC接口, 我们只需要操作这些设备树上的节点的Value以及Atribute, 就可以改变盒子的配置.

     其实我觉得这样的设计有些繁琐, 我来举个例子,我们看一下如何利用协议来测试设备的Ping功能.

直观来想, 如果我们要测试CPE是否能够Ping得通其他的设备地址, 一般我们会直接用ssh/telnet/UART登录上这个设备, 然后直接敲击ping命令.在tr069中我们得分两部进行, 首先我们通过SetParameterValues设置Ping参数.


然后再用GetParameterValues查.

不过确实也想不出更好的办法, 至于说为啥要用XML这么重量级的协议格式, 我的解释是XML足够成熟, 可以很方便的定义Schema文件,方便验证.另外tr069协议出现的事情JSON格式并没有流行起来, 恰恰是XML的年代.

原创粉丝点击