蚂 TR069协议编程需掌握知识
蒀TR069
螇1、TR069协议是由DSL所开发的技术规范,它提供了对网络设备进行管理配置的通用框架和协议,用于从网络侧对网关、FEMTO、路由器等设备进行远程管理。当前在统一网管的实现过程中需要处理TR069协议包数据,为了能够正确的处理设备的请求响应,就必须对TR069协议包数据内容有所了解。
蚃协议组成
蚁2、协议组成如下图
蚀层描述:
芈3、我们所关心的层主要是RPCMethods层、SOAP层以及HTTP层。下面具体介绍RPCMethods层的内
容,首先我们需要知道ACS和CPE建立连接的方式。
螃这里列出封装RPC方法的SOAP信息的格式。理解它们有助于组包解包。
肂ACS与CPE的连接建立
膇4、ACS和CPE的连接建立:
肇 ACS与CPE建立连接的方式,按连接发起方划分可以分为两种方式:CPE发起连接、ACS主动建立
连接
袃 CPE发起连接有以下几种情况: 蒃(1)CPE第一次建立网络连接,对应RPC命令INFORM+\ 衿(2)加电或者重置,对应的RPC命令INFORM+\ 袅(3)每个周期上报时间,对应的RPC命令INFORM+\ 羃(4)可选的ScheduleInform方法被要求,对应RPC命令是的是INFORM+\ 袃(5)CPE接收到来自ACS的有效连接请求,对应的RPC命令INFORM+\ 莇(6)ACS的URL发生变化,对应的RPC命令是对应RPC命令INFORM+\
袈(7)CPE的参数发生更改,如CPE的IP地址;
肃(8)CPE的参数值发生变化,并且这个变化不是由ACS引起的,对应对应的RPC命令是
INFORM+\
羀CPE与ACS连接示意图如下:
聿ACS发起连接:
蚇 ACS向CPE发起连接通过HTTPGET请求;
肂(1)需要注意的是连接使用的必须是HTTP请求而不是HTTPS
莁(2)并且GET通告中不需要包含其它数据,即使有数据也会被CPE忽略。
螁(3)CPE接到GET请求后与ACS建立连接,并在成功建立连接后发送一条INFORM报文。 莆连接建立示意图
膂ACS与CPE之间结束会话:
螂 ACS与CPE之间的会话如果要正常结束需要以下条件:
腿(1)CPE不再有请求发给ACS
膅(2)ACS也没有请求发给CPE