TR069协议详解

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

一、关于TR069协议

        TR069, 全称“Technical Report 069”是由DSL Forum(一个非盈利性的全球行业联盟,致力于发展宽带网络范,

其成员包括通讯、设备、计算机、网络和服务提供商等行业的领先厂商,现已更名为“Broadband Forum”)修订一

份技术规范,该规范是应用层的管理协议,命名为“CPE广域网管理协议(CPE WAN Management Protocol)”。

TR069定义了一套全新的网管体系结构,包括管理模型,交互接口及基本的管理参数,能够有效地实施对家庭网络设

备的管理。

在TR069协议定义的网管模型中管理服务器称为自动配置服务器(ACS),负责完成对用户终端设备(CPE)的管理

。ACS与CPE之间的接口称为南向接口,ACS与运营商的其他网管系统、业务管理系统、计费系统(OSS/BSS)之间的

接口称为北向接口,TR069协议主要定义南向接口的标准。TR069协议允许 ACS 给一个 CPE 或一组基于多种标准的

CPE 提供服务。这个服务提供机制允许 CPE 既可以在刚刚连接到宽带接入网时,也可以在以后的任何时间来进行动

态服务提供或重新配置。此机制包括支持在异步状况下 ACS 发起的服务。此协议包含的鉴权机制允许为每一台指定

的 CPE 或基于相同的 CPE 供应商、型号、软件版本或其他标准的 CPE 组提供服务。同时也提供了一些可选的功能

来管理那些有特殊级别安全需求的应用或业务,例如付费服务等。

        TR069协议网络拓扑如下图,ACS 是在网络中的服务器,根据预定制来管理设备,其左侧连接运营商的其他网

管系统、业务管理系统等北向接口。 TR069协议主要定义了ACS和CPE间的南向接口,TR069协议可以用于理DSLB-

NT以及其他类型的CPE,包括路由器和 LAN 侧的客户端设备。它被服务供应商用于基于跟设备已经建立的IP层链接的

特殊媒体接入上。

 

 

二、TR069协议栈

TR069协议包含一些该协议特有的组件,同时也使用了一些标准协议,如下表。

 

CPE/ACS Management Application
RPC Methods
SOAP
HTTP
SSL/TLS
TCP/IP

 

 

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上报状态信息,请求硬件镜像文件下载(用来升级硬件)等等。ACS与CPE之间通过TR069协议特有的RPC方法进行互操作。

                                                                

 

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

        ACS与CPE之间进行消息传输基于HTTP1.1,消息内容使用SOAP包进行封装,SOAP包含SOAP head和SOAP body两部分组成的XML格式数据。

                                                                 

SOAP报文实例

<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"    
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"   
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"   
xmlns:xsd="http://www.w3.org/2001/XMLSchema"   
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
xmlns:cwmp="urn:dslforum-org:cwmp-1-0">  
<SOAP-ENV:Header>  
<cwmp:ID SOAP-ENV:mustUnderstand="1">16051</cwmp:ID></SOAP-ENV:Header>  
<SOAP-ENV:Body>  
<cwmp:Inform>  
<DeviceId>  
<Manufacturer>SFU</Manufacturer>  
<OUI>74B9EB</OUI>  
<ProductClass>EN604-C-RMT</ProductClass>  
<SerialNumber>PHXJ-UCZM-LKMS-TTPL</SerialNumber></DeviceId>  
<Event xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cwmp:EventStruct[1]">  
<EventStruct>  
<EventCode>2 PERIODIC</EventCode>  
<CommandKey></CommandKey></EventStruct></Event>  
<MaxEnvelopes>1</MaxEnvelopes>  
<CurrentTime>0001-01-01T02:52:36</CurrentTime>  
<RetryCount>0</RetryCount>  
<ParameterList xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cwmp:ParameterValueStruct[8]"><ParameterValueStruct>  
<Name>InternetGatewayDevice.DeviceSummary</Name>  
<Value xsi:type="xsd:string">InternetGatewayDevice:1.0[](Baseline:1, IPPing:1)</Value></ParameterValueStruct><ParameterValueStruct>  
<Name>InternetGatewayDevice.DeviceInfo.SpecVersion</Name>  
<Value xsi:type="xsd:string">1.0</Value></ParameterValueStruct><ParameterValueStruct>  
<Name>InternetGatewayDevice.DeviceInfo.HardwareVersion</Name>  
<Value xsi:type="xsd:string">V2.0</Value></ParameterValueStruct><ParameterValueStruct>  
<Name>InternetGatewayDevice.DeviceInfo.SoftwareVersion</Name>  
<Value xsi:type="xsd:string">V2.0.4-11015</Value></ParameterValueStruct><ParameterValueStruct>  
<Name>InternetGatewayDevice.DeviceInfo.ProvisioningCode</Name>  
<Value xsi:type="xsd:string"></Value></ParameterValueStruct><ParameterValueStruct>  
<Name>InternetGatewayDevice.ManagementServer.ConnectionRequestURL</Name>  
<Value xsi:type="xsd:string">http://192.168.136.99:7547/tr69</Value></ParameterValueStruct><ParameterValueStruct>  
<Name>InternetGatewayDevice.ManagementServer.ParameterKey</Name>  
<Value xsi:type="xsd:string"></Value></ParameterValueStruct><ParameterValueStruct>  
<Name>InternetGatewayDevice.WANDevice.1.WANConnectionDevice.4.WANIPConnection.1.ExternalIPAddress</Name>  
<Value xsi:type="xsd:string">192.168.136.99</Value>  
</ParameterValueStruct>  
</ParameterList>  
</cwmp:Inform>  
</SOAP-ENV:Body>  
</SOAP-ENV:Envelope>  


 

 

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。


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

相关文章

TR-069协议介绍

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

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

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

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

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

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

目录 一、简介fcgi&#xff1a;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 通用网关接口&#xff08;Common Gateway Interface、CGI&#xff09;描述了客户端和服务器程序之间传输数据的一种标准&#xff0c;可以让一个客户端&#xff0c;从网页浏览器向执行在网络服务器上的程序请求数据。 CGI 独立于任何语言的&#xff0c;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: 举个例子&#xff1a; spawn-fcgi -a 127.0.0.1 -p 10000 -f ./login spwan-fcgi.c: main 函数 会执行参数解析过程 获得 ip 端口 和 执行文件的路径。 bind_socket 函数会执行 sockt 的 绑定监听过程&#xff0c; 函数 fcgi_spawn_connection 会通过系统调用d…

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

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

【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时&#xff0c;捕获到错误&#xff0c;并收集出错信息&#xff1a;MiniDump文件、硬件信息、系统信息、出错信息、进程信息、服务信息、驱动信息、启动信息、软件列表、端口信息、磁盘分区、WinSock LSP、IE插件、网卡信息。 1、使用方…

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

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

crashRpt使用方法

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

CrashRpt使用

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

crashRpt用法

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

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

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

关于CrashRpt的研究

CrashRpt是轻量级的开源错误报告库 官网下载链接 ##编译工程 从官网下载下最新版&#xff08;v.1.4.3_r1645&#xff09;&#xff0c;解压后发现是visual studio的工程&#xff0c;使用的是vs2010。但我用得是vs2017&#xff0c;所以在编译之前要做一下处理&#xff1a; 对于…

C++接入CrashRpt并上报分析崩溃信息

项目需要监测在Windows平台的崩溃情况&#xff0c;折腾了两天终于弄好了&#xff0c;记录一下。 1.捕获崩溃信息 接到这个需求&#xff0c;心想应用崩溃系统会收到信号&#xff0c;应该有相应的函数可以监听&#xff0c;上网搜索&#xff0c;果不其然函数 SetUnhandledExcep…

计算机中丢失crashrpt,修复crashrpt.dll

crashrpt.dll是电脑系统必备的一个DLL组件修复程序。系统重要文件 crashrpt.dll 。crashrpt.dll(含64位)在电脑中起着重要作用。比如电脑中的部分软件的正常运行就离不开它&#xff0c;如果缺少这款dll&#xff0c;会给用户带来不少麻烦。一旦发现自己的电脑这款crashrpt.dll出…

计算机中丢失crashrpt,crashrpt.dll

crashrpt.dll是smartFTP中一款重要的dll文件&#xff0c;缺少它将导致软件的部分功能无法实现或者无法启动&#xff0c;如果计算机弹出crashrpt.dll丢失或者找不到crashrpt.dll的问题&#xff0c;下载一个crashrpt.dll文件修复一下即可解决问题&#xff0c;需要的朋友可以下载&…

crashrpt

今天原本打算在谷歌上搜索处理SEH的文章&#xff0c;以使我不需要在每一个线程中使用__try{}__except()代码块包裹代码的情况下&#xff0c;就能在任意线程抛出SEH时生成MiniDump文件。不过最后的结果是处理SEH的文章没有搜索出几篇&#xff0c;却幸运的搜索出了满足我需要的工…