TR069协议

article/2025/10/18 21:35:54

TR069( Technical Report 069)全称是“ CPE广域网管理协议(CWMP),用于远程终端管理,是 CPE 和 ACS之间沟通的通讯协定。CPE 可以借着这个协定完成服务开通、功能设定、档案上传下载、系统检测 等等初始化及营运管理的必须动作。
在这里插入图片描述
在这里插入图片描述

CPE/ACS Management Application

该应用程序分别用于CPE广域网管理协议的CPE和ACS, 不属于CPE广域网管理协议的一部分。

RPC Methods

CPE WAN管理协议定义的特定RPC方法。RPC方法包括定义CPE参数,这些参数可由ACS通过与该参数相关的PRC方法访问。

ACS与CPE之间通过TR069协议特有的RPC方法进行互操作

CPE函数由ACS调用,用来对CPE进行管理,如设置CPE参数、获取CPE参数、硬件升级、重启设备等。
在这里插入图片描述
ACS函数由CPE调用,用来向ACS上报状态信息,请求硬件镜像文件下载(用来升级硬件)等等。
在这里插入图片描述

SOAP

基于XML的标准语法,用于编码远程过程调用,要求支持SOAP 1.1。

ACS与CPE之间进行消息传输基于HTTP1.1,消息内容使用SOAP包进行封装,SOAP包含SOAP headSOAP body两部分组成的XML格式数据。
在这里插入图片描述

HTTP

要求支持HTTP1.1

SSL/TLS

标准的 Internet传输层安全协议。特别的,SSL 3.0 (Secure Socket Layer)TLS 1.0 (Transport Layer Security) 使用SSL/TLS是建议而非要求。

TR069协议的设计允许基于该协议的交互作用具有高度安全性。TR069协议的设计防止CPE和ACS之间事务被篡改,提供事务机密性,及允许多层次认证。

本协议使用下述安全机制:
----协议支持CPE和ACS间的通信传输使用SSL/TLS,提供事务机密性,数据完整性,以CPE和ACS间基于证书的认证。
----HTTP层提供另一种基于共享密钥的CPE认证方法。

TCP/IP

标准TCP/IP

对于用户设备来说,TR-069主要完成以下四方面的工作

一是用户设备自动配置和动态的业务配置。对于ACS来说,每个用户设备可以在协议中对自己作出标志(例如型号、版本等),根据可设定的规则,ACS可以对某一个特定用户设备下发配置,也可以对某一组用户设备下发配置。CPE可以在开机后自动请求ACS中的配置信息,ACS也可在任意需要的时刻主动发起配置。通过该功能可以实现用户设备的“零配置安装”功能,或是可以从网络侧控制业务参数的动态改变。

二是对用户设备的软件、固件的管理。TR-069的协议提供了对用户设备中的软件、固件进行管理和下载的功能。ACS可以识别用户设备的版本号,决定是否远程更新用户设备的软件版本,并且在更新完成后能够得知是否成功。例如,当用户设备需要加载新的软件以实现新的业务功能时,或是当前软件存在必须修复的bug时,通过该功能可以实现对用户设备的远程管理升级。

三是对用户设备的状态和性能进行监测。TR-069定义了ACS对用户设备的状态和性能进行监测的手段。其中包括了一些通用的性能参数,可以反映当前用户设备的工作状态。另外还提供了标准的语法,运营商可以定义额外的参数。

四是对通信故障的诊断。TR-069还定义了可以用户端自我诊断和报告的能力,例如在ACS的指示下,用户端可以通过ping或其它手段检查用户端与网络业务提供点之间的连通性、带宽等,检测结果返回给ACS。这样,运营商通过在远端操作,就可以对用户申告的设备故障进行简单定位,并作相应的处理。

TR-069协议完整的通信过程

在这里插入图片描述
以下为设备重启到挂上TR069网管的报文流程解析:

(1) 设备启动:根据配置的ACS(自动配置服务器)地址,建立安全的HTTP连接以后,每次连接CPE都必须首先对ACS发出一个InformRPC调用请求来向ACS汇报本次连接的信息。ACS会返回给一个Inform response作为确认连接。
标准的Inform方法的参数如表所示
在这里插入图片描述
(2) ACS服务器接受到设备端(CPE端)发出的inform消息之后,会给予一个 informresponse响应机cwmp连接创建成功。

(3) 设备端发送空消息,表示没有后续的请求。

(4) ACS服务器收到空消息后,根据空消息中携带的序列号对设备进行合法性验证,若验证通过则进行后续操作,若不通过则下发消息提示设备非法。序列号的判断在ACS内部判断,未体现在报文中。

(5) ACS验证设备序列号合法,发送消息要求设备端上报网管的账号信息。

(6) 设备端接收该ACS服务器请求上报账号的消息后,将发送设备上配置的账号信息作为请求的响应。

(7) ACS服务器收到消息后,根据消息中携带的账号信息进行合法性验证,若验证通过则进行后续操作,若不通过则下发消息提示账号非法。序列号的判断在ACS内部判断,未体现在报文中。

(8) ACS验证账号合法,发送消息要求设备从特定URL上下载配置文件。

(9) 设备接收到该消息之后,并根据消息中的URL地址下载配置文件并自动配置,同时给ACS服务器一个下载成功的响应消息。

(10) ACS服务器发送消息,要求设备从特定的URL下载升级文件(是否升级可由用户自行决定)。

(11) 设备接收到该消息之后,并根据消息中的URL地址获取升级文件,同时给予ACS服务器一个响应。

(12) ACS服务器发送空消息结束流程。

TR069协议簇的其他规范

TR069协议不仅仅包括TR-069子协议,还包括其他一些的协议,构成了一个完整的网管协议簇。与之配套的TR-098协议和TR-104协议分别定义了CPE的数据业务的管理参数和VoIP业务的管理参数,WT-135协议用于定义数字机顶盒的管理参数,TR-111协议定义了在家庭内部数字设备上实施TR069网管的机制,WT-121协议则是各个厂家在实现和部署TR069过程中对协议的修订。


http://chatgpt.dhexx.cn/article/hKGNJpVH.shtml

相关文章

TR069浅析

何为TR069? TR069, 全称“Technical Report 069”是由DSL Forum修订的一份技术规范,该规范是应用层的管理协议,命名为“CPE广域网管理协议”。 TR069定义了一套全新的网管体系结构,包括管理模型,交互接口及基本的管理…

TR069

tr069简介 全称是“用户终端设备广域网管理协议(CWMP) 用于远程终端管理,比如远程的配置阿什么的(对远程的设备进行配置等管理) 1. TR069协议网络架构 ACS为自动配置服务器,负责对终端设备CPE进行管理…

CWMP协议(TR069协议)学习

文中借鉴了一些大神的整理,后面会贴上链接,如侵删 目录 一、概念(来自百度百科) 二、网络元素 三、基本功能 四、CWMP协议栈 五、远程调用方法(RPC)详细的RPC方法定义请参见TR-069 六、inform的事件…

TR069是什么鬼

一,TR069是什么 1,概念 搞嵌入式或通信设备的,或多或少都会听说TR069。那他是什么鬼? TR069,就是CPE广域网管理协议。 它用于ACS和CPE之间的自动协商交互,能够实现终端的自动配置。( ACS&#x…

TR069协议详解

一、关于TR069协议 TR069, 全称“Technical Report 069”是由DSL Forum(一个非盈利性的全球行业联盟,致力于发展宽带网络范, 其成员包括通讯、设备、计算机、网络和服务提供商等行业的领先厂商,现已更名为“Broadband Forum”)修…

TR-069协议介绍

一、概念 关于TR-069 ①协议命名 TR-069, 全称“Technical Report 069”是由DSL Forum(一个非盈利性的全球行业联盟,致力于发展宽带网络范)。其成员包括通讯、设备、计算机、网络和服务提供商等行业的领先厂商,现已更名为“Broadband Forum…

apache多个php版本fcgi,apache使用mod_proxy_fcgi实现多版本php共存

2019-08-02 apache使用mod_proxy_fcgi实现多版本php共存 首先配置php 安装你想用的php版本,找到你的php-fpm.conf配置文件 将listen换成你想要的端口 比如listen 127.0.0.1:9099 注意,如果你的fpm系变量配置文件在php-fpm.d的www.conf下面,请…

搭建nginx+fcgi并使用Holer实现内外网访问

1、环境搭建 本文使用了ubuntu20.04系统进行搭建。 1.1搭建nginx服务器 到Nginx的官网(http://nginx.org/en/download.html)上去下载最新的源码包,本文使用的是nginx-1.20.0.tar.gz (1)执行tar -zxvf nginx-1.20.0.tar.gz 命令解压文件到当…

web服务选择lighttpd,采用fcgi组件技术扩展处理业务层

目录 一、简介fcgi:web和web服务器间数据传输的桥梁... 2 二、源码编译配置ARM Lighttpd Fastcgi C.. 3 【1】交叉编译。源文件都从官网下载。 Fcgi lighttpd zlib. 3 【2】配置服务器server.document-root"/www" fastcgi.server "bin-path&quo…

Nginx运行FastCGI程序(ngx_http_fastcgi_module模块、fcgi库、spwan-fcgi进程管理器)

一、什么是CGI 通用网关接口(Common Gateway Interface、CGI)描述了客户端和服务器程序之间传输数据的一种标准,可以让一个客户端,从网页浏览器向执行在网络服务器上的程序请求数据。 CGI 独立于任何语言的,CGI 程序可…

php运行方式fpm fcgi,php如何从fpm-fcgi切换运行模式到cli

在使用一个php爬虫的时候提示一定要用cli环境 我查看了当前php版本信息如下: 我打印 PHP_SAPI 显示 fpm-fcgi 如何才能变成 cli 服务器环境是linux+nginx 补充:我能不能理解为cli一定是要命令行模式? 刚刚在命令行里测试了PHP_SAPI 输出了cli 问:能不能http模拟调用实现cli…

spwan-fcgi和fcgi 关系

spwan-fcgi: 举个例子: spawn-fcgi -a 127.0.0.1 -p 10000 -f ./login spwan-fcgi.c: main 函数 会执行参数解析过程 获得 ip 端口 和 执行文件的路径。 bind_socket 函数会执行 sockt 的 绑定监听过程, 函数 fcgi_spawn_connection 会通过系统调用d…

nginx+spawn-fcgi+demo+fcgi库函数

由于项目中用到了nginxFastCGI相关内容,所以这段时间学习了一下,顺便记下相关内容。 我是在远程工作机上实验的,有个缺点就是没有root权限,所以有些步骤我就没做了,比如make install(nginx)、添…

【fcgi-2.4.0】移植fcgi-2.4.0到armv7平台

源码下载链接 Index of /lookaside/extras/fcgi/fcgi-2.4.0.tar.gz/d15060a813b91383a9f3c66faf84867e (fedoraproject.org)https://src.fedoraproject.org/lookaside/extras/fcgi/fcgi-2.4.0.tar.gz/d15060a813b91383a9f3c66faf84867e/下载fcgi-2.4.0.tar.gz 解压源码 tar …

程序异常捕获库 - CrashRpt

CrashRpt.dll用来在应用程序出现异常crash时,捕获到错误,并收集出错信息:MiniDump文件、硬件信息、系统信息、出错信息、进程信息、服务信息、驱动信息、启动信息、软件列表、端口信息、磁盘分区、WinSock LSP、IE插件、网卡信息。 1、使用方…

CrashRpt.dll用来在应用程序出现异常crash

欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c 编程经验,就来吧!158427611 欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c 编程经验,就来吧&a…

crashRpt使用方法

从官网上下载crashRpt的源码,按说明编译出相应的lib和dll 1 在编译crashRpt的时候,在环境变量中设置 crashrptDirD:\work\AIW\WebMicaps\WebMicapsServer\src\CrashRpt,以简化编译 2 在主程序运行的工作目录下要拷贝crashRpt编译后生成…

CrashRpt使用

CrashRpt 中除了错误处理之外值得学习的地方还是不少的,如屏幕截图、邮件 发送。 这里主要提取屏幕截图的功能。 1. 从 CrashRpt 源码目录中分别复制 minizip 、 zlib 、 libpng 到一个目录作为公 共库使用,并分别编译它们生成 lib ,需要设置…

crashRpt用法

从官网上下载crashRpt的源代码,按说明编译出对应的lib和dll 1 在编译crashRpt的时候,在环境变量中设置 crashrptDirD:\work\AIW\WebMicaps\WebMicapsServer\src\CrashRpt,以简化编译 2 在主程序执行的工作文件夹下要拷贝crashRpt编译后生…

捕获Windows C/C++程序异常奔溃工具CrashRpt

背景 在Windows环境下做C/C程序开发有段时间了,经常遇到程序奔溃时缺无法捕获,经同事推荐,知道了CrashRpt这个捕获C/C程序异常的工具,让我省去了通过增加打印调试去查询程序异常的繁琐方式。下面记录下使用这个工具的一些方法。 …