TR069(详解)

1. 软件架构     

1.1.1. 模块描述 

        本模块处于终端产品的上层,属于媒介性质的模块。与远程的ACS连接,响应ACS发起的各项命令并执行相应功能。本模块主要实现如下功能:

        1)支持ACSCPE之间基于TR069协议的会话。

        2)支持ACS设置获取CPE参数;

        3)支持ACS设置和获取CPE的参数属性;

        4)支持ACS添加和删除参数对象;

        5)支持从ACS服务器下载升级CPE的版本或配置文件;

        6)支持将CPE的日志文件或者配置文件上传到网管侧;

        7)支持ACS重启CPE以及恢复出厂设置;

        8)支持对CPE进行Ping等诊断测试;

1.1.2. 模块位置

        本模块在整个系统中的位置如下图中蓝色标记部分所示,属于网管应用的一个子模块。

 1.1.3. 模块的架构

        TR069模块软件架构如下图所示:

 

1) 连接管理模块,包含会话层管理、选路层处理;
2)报文处理模块, 包含HTTP模块, SOAP 编解码以及 RPC 方法处理模块;
3)对外适配模块,包含公有的对象节点device.xml以及对象适配函数g_TR069_obj_func_list。
1.1.3.1.  会话管理
        不管是CPE 发起的连接,还是 ACS 发起的连接, TR069 会话都是从 CPE发送一条初始Inform 开始,直到满足会话终止的条件才终止会话。需要注意的是,ACS 发起的连接,初始 Inform EventCode 必须为” 6 CONNECTIONREQUEST ”。本模块设置一个全局会话锁 g_session_status ;当会话创建后,打开会话锁,防止开启另外一个会话,保证同一时间只有一个会话进行;当会话结
束时,释放会话锁。创建会话时,如果有会话正在进行,等待会话结束后再创建会话。下图为会话管理的流程图。

 1.1.3.2 HTTP/HTTPS模块
        HTTP(S)模块支持 Digest 方式的 WWW-Authentication 认证。支持 SSL/TLS的安全连接提供机密性,支持使用证书的安全认证。
        TR069的 SOAP 报文使用 HTTP1.1 来承载, ACS 发送给 CPE 的请求基于HTTPresponse, CPE 发送给 ACS 的应答基于 HTTPPost 。本模块 socket 调用 API——CreateSocket()来建立。同时对 socket 设置了超时(默认30 S )检测,当socket在超时规定的时间内没有响应,关闭socket ,释放占用资源。
        ACS发起的连接(反向连接)
        ACS发起的连接又称反向连接, ACS 首先发送请求方法为 ”GET” HTTP 消息,CPE 收到该消息后会回复 HTTPresponse 。当 WWW-Authentication 认证通过后,CPE回复状态为”200OK”的HTTPresponse;认证失败,CPE回复状态为” 401Unauthorized”的 HTTPresponse 。当认证通过后, CPE 会发起 RPC ”Inform”的HTTPpost ,开始 TR069 的会话。 TR069 在初始化时会建立一个 socket ,在固定端口(默认58000 )处于监听状态。这个 socket 是为了监听 ACS 发起的反向
链接,当监听到有连接请求时,就会建立连接进行消息处理。 CPE 接收消息,检测到该消息是ACS 发送的 HTTP 请求且请求方法为 ”GET” 时,关闭该连接。然后新建一个socket CPE 主动发起 RPC ”Inform” HTTPpost ,此时 inform 的EventCode为 ”6CONNECTIONREQUEST” TR069 会话正式开始。
        CPE发起的连接
        CPE有请求要发送时,需要建立连接, CPE 新建 socket ,发送 HTTPPOST请求,ACS 回复 HTTPResponse TR069 的会话从 CPE 发送 HTTPPOST 开始,直到会话结束。

1.1.3.3. SOAP编码解码

        TR069协议将 SOAP 作为 HTTP Body 封装在 HTTP 包中。本模块负责将接收的SOAP 包中解析出数据,需要发送的数据封装成 SOAP 包, SOAP 包详细的格式及含义参考《TR069CPEWAN 管理协议》。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值