TR069协议编程基础知识
TR069协议简明教程

TR069协议简明教程1.为什么需要TR069随着VoIP、IPTV等越来越多IP终端设备的普及(尤其在家庭中的普及),大量设备的配置和维护变得越来越困难,大大提高了网络产品运营商的成本,传统的基于SNMP的网管系统面对众多的终端设备时显得力不从心,限制了宽带接入市场的发展速度和规模。
TR069定义了一套全新的网管体系结构,包括“管理模型”,“交互接口”,“管理参数”,在很大程度上减少了网络产品的运维成本。
2.什么是TR069协议TR069是数字用户线(DSL)论坛(已改名为Broadband Forum)制定的一个面向终端设备的网管协议,称为“用户终端设备广域网管理协议(CWMP)”,DSL论坛的文档编号为TR069。
3.TR069协议发展现状自2004年5月DSL论坛推出该协议以来,各大运营商纷纷部署基于TR069的终端设备。
但从协议的发展情况看,TR069仍然处于不断完善的过程中。
4.TR069协议网络架构ACS为自动配置服务器,负责对终端设备CPE进行管理。
ACS与CPE间的接口为南向接口,ACS与管理系统间的接口为北向接口。
TR069协议主要定义了南向接口。
5.TR069的实现(协议栈)(1)TR069协议基于TCP层;(2)ACS与CPE间的消息传输使用HTTP1.1,ACS为HTTP服务器,CPE为HTTP 客户端;(3)消息的具体内容使用SOAP包进行封装,SOAP包是一个包含SOAP Head(SOAP 头)和SOAP Body(SOAP体)组成的XML文档(4)ACS的管理方法就是对CPE上的管理函数进行远程调用,因此需要向CPE传输要调用的函数名及参数,这些内容包含在SOAP体中。
ACS并不直接对设备本身的接口进行调用,ACS所使用的函数为TR069的标准函数(称作TR-069 RPC Methods),CPE需要通过一个设备上的中间层解析出RPC方法,再由这个中间层调用设备自身的接口,这个中间层就是TR069 Agent。
TR069_0.3

目录
1.TR-069协议概述 2.TR-069基本功能 3.TR-069协议框架 4.TR-069具体实现
1.背景
随着信息产业的飞速发展,广域网上承
载的业务种类和业务量在不断增大,规模也不
CPE向新的ACS发起连接请求。
断在扩大,大量的终端接入设备被广泛应用,
接的信息。ACS会返回给一个Inform response作为确认连接。标准的Inform方法的参数如表 1所示。
参数名称参数说明 DeviceID
Event MaxEnvelopes
CurrentTime RetryCount ParameterList
数据结构标识CPE 标识此次Inform发起的原因 HTTP Response可携带SOAP信封数
序列号(SerialNumber)、硬件版本号(HardwareVersion)、软件版本号(SoftwareVersion)、
在这样的背景下,DSL论坛(Digital Subscriber Line数字用户环路,现已更名为Broadband 论坛)推出CWMP(CPEWAN Management Protocol)协议,由于是以技术报告(TECHNICAL REPORT)的形式提供,文档编号为069,所以又被称为TR069协议。TR069协议和其他相关协议 提供了对下一代网络中家庭网络设备进行管理配置的通用框架、消息规范、管理方法和数据模 型。
如果当前会话没有结束,但是连接异常中断,而且CPE自动重新连接的次数还没 有达到上限,此时,CPE也会自动建立连接。 ACS可以在任何时候自动向CPE发起连接请求(Connect Request),通过CPE的认证 (即匹配CPEURL、CPE用户名、CPE密码)后,可以与CPE建立连接。
TR-069介绍

22
CPE和ACS交互的例子
Session Setup HTTP Post HTTP response GetParameterValues request HTTP post
CPE
GetParameterValues response HTTP response SetParameterValues request
5
基本概念--- TR-069的功能
用户设备自动配置和动态的业务配置 可以实现用户设备的“零配置安装”功能,或是可以从网络侧控制业 务参数的动态改变 对用户设备的软件、固件的管理 可以实现对用户设备的远程管理升级 对用户设备的状态和性能进行监测 定义了ACS对用户设备的状态和性能进行监测的手段 对通信故障的诊断 比如ping,traceroute等
ACS
SSL initiation HTTP post Inform request HTTP response Inform response
17
安全
TR-069支持如下的安全机制
SSL/TLS 基于HTTP的认证方式
ACS可以使用basic或者digest认证方式来认证CPE CPE端必须支持basic和digest两种认证方式
ACS
CPE
RPC Messages
TR-069 Protocol
9
协议栈
CPE/ACS Management CPE和ACS之间的应用程序,在TR-069中不做规定。 Application RPC Methods SOAP HTTP 远程过程调用方法。规定了具体的方法和参数
基于XML的标准语法。用于对RPC编码。要求支持 SOAP 1.1。
tr069 技术 原理 实现 要点

tr069 技术原理实现要点TR-069(Technical Report 069)是基于CPE WAN管理协议(CPE WAN Management Protocol)的一种远程管理技术。
它是由宽带论坛(Broadband Forum)制定的一项技术规范,旨在为互联网服务提供商(ISP)提供一种集中管理和配置网络设备的标准化方法。
本文将介绍TR-069技术的原理和实现要点。
一、TR-069技术原理TR-069技术的核心是CPE WAN管理协议,它定义了CPE (Customer Premises Equipment)和ACS(Auto Configuration Server)之间的通信协议。
CPE是指安装在用户网络中的各种设备,如路由器、调制解调器等,而ACS是由ISP提供的用于管理和配置CPE的服务器。
TR-069技术的工作流程如下:1. CPE启动后,会通过DHCP等方式获取到网络配置信息,包括ACS的地址和端口。
2. CPE与ACS建立起基于HTTP/HTTPS的连接,进行认证和授权。
3. ACS向CPE发送各种请求,如获取设备信息、配置参数、执行操作等。
4. CPE根据ACS的请求进行相应的操作,并将结果返回给ACS。
5. ACS根据CPE的响应进行进一步的管理和配置。
二、TR-069技术实现要点1. 设备支持:TR-069技术需要设备具备CPE能力,即能够与ACS 进行通信和交互。
因此,设备厂商需要在设备中集成TR-069客户端,或者提供支持TR-069协议的固件升级。
2. ACS的部署:ISP需要部署ACS服务器,并配置相应的网络和安全设置。
ACS需要能够响应CPE的连接请求,并进行认证和授权。
3. 连接与认证:CPE与ACS之间的连接通常基于HTTP或者HTTPS协议,使用ACS提供的地址和端口进行连接。
连接建立后,CPE需要进行认证,以确保连接的安全性和合法性。
4. 设备管理:ACS可以通过TR-069协议向CPE发送各种请求来管理设备,如获取设备信息、配置参数、执行操作等。
tr069原理

tr069原理TR069原理:实现远程管理与配置的协议引言:TR069是一种用于实现远程管理与配置的协议,它为设备厂商和服务提供商之间的通信提供了一种标准化的方式。
通过TR069协议,设备可以被远程管理,配置和监控,为用户提供更好的服务体验。
本文将详细介绍TR069的原理和工作机制,并探讨其在实际应用中的意义和优势。
一、TR069的基本原理TR069协议基于CPE(Customer Premises Equipment,即用户设备)与ACS(Auto Configuration Server,即自动配置服务器)之间的通信。
CPE是指安装在用户家中或办公室的网络设备,如路由器、调制解调器等,而ACS则是由服务提供商或设备厂商提供的远程管理服务器。
TR069协议的通信流程如下:1. CPE与ACS建立TCP连接。
2. CPE向ACS发送一个GetParameterValues请求,获取ACS支持的参数列表。
3. ACS回复GetParameterValues请求,返回支持的参数列表。
4. CPE根据ACS返回的参数列表,向ACS发送SetParameterValues 请求,进行参数配置。
5. ACS回复SetParameterValues请求,通知CPE配置结果。
6. CPE定期向ACS发送Inform请求,上报设备的状态信息。
7. ACS根据CPE上报的状态信息,采取相应的操作,如配置更新、故障排查等。
二、TR069的工作机制TR069协议的工作机制主要包括以下几个方面:1. 远程管理:TR069允许ACS通过远程方式对CPE进行管理和配置。
服务提供商可以通过ACS对网络设备进行集中管理,如配置路由器的端口映射、设置无线网络参数等。
2. 自动配置:TR069协议支持自动配置CPE,减少了用户手动配置的繁琐步骤。
一旦CPE与ACS建立连接,ACS可以根据预先设定的配置模板,自动对CPE进行配置,提供即插即用的便利性。
TR-069介绍

ACS
17
安全
TR-069支持如下的安全机制
SSL/TLS 基于HTTP的认证方式
ACS可以使用basic或者digest认证方式来认证CPE CPE端必须支持basic和digest两种认证方式
通知ACS由以前的Upload或Download方法调用而引 起的文件传输已经结束(不管是成功还是失败)
22
CPE和ACS交互的例子
CPE
Session Setup HTTP Post
HTTP response GetParameterValues request
HTTP post GetParameterValues response
HTTP response SetParameterValues request
HTTP post SetParameterValues response
HTTP response
Close connection
ACS
23
Data Model: Access
所有的CPE参数都可以通过RPC方法 GetParameterValue来得到。
7
基本概念--- TR-069的优势和趋势
TR069不仅用在CPE上,也将用在IPTV/VOIP
1
和EPON/ONU网关上。TR069将取代SNMP 成为电信网的核心网管技术。
中国电信及国外重要运营商都将TR069定为
2
核心网管。
基于XML可易于理解的文本格式, 基于Http报
3
文格式,极强的互连网穿透能力。
家庭网络遍布各个地区,远程管理是必不可少的,上门服务只有在极特别的情形 下才进行。基于家庭网络设备的这些特点,家庭网络设备的管理方式需要采用远 程集中自动管理的方式。
tr069协议特点

竭诚为您提供优质文档/双击可除tr069协议特点篇一:tR069协议编程基础知识tR069tR069协议编程需掌握知识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+"0bootstRap";(2)加电或者重置,对应的Rpc命令inFoRm+"1boot"(3)每个周期上报时间,对应的Rpc命令inFoRm+"2peRiodic"(4)可选的scheduleinform方法被要求,对应Rpc命令是的是inFoRm+"3scheduled"(5)cpe接收到来自acs的有效连接请求,对应的Rpc 命令inFoRm+"6connectionRequest"(6)acs的uRl发生变化,对应的Rpc命令是对应Rpc 命令inFoRm+"0bootstRap"(7)cpe的参数发生更改,如cpe的ip地址;(8)cpe的参数值发生变化,并且这个变化不是由acs引起的,对应对应的Rpc命令是inFoRm+"4Valuechange"cpe与acs连接示意图如下:acs发起连接:acs向cpe发起连接通过httpget请求;(1)需要注意的是连接使用的必须是http请求而不是https(2)并且get通告中不需要包含其它数据,即使有数据也会被cpe忽略。
TR069协议CPE资料文档

CPE WAN Management Protocol(TR-069)/definition/acronym.cgi?what+is+TR69=CPE+WAN+ Management+Protocol&id=11533528261、介绍本文档描述的是为客户端设备(CPE,Customer Premises Equipment)和自动配置服务器(ACS,Auto-Configuration Server)之间通讯/交互而设计的客户端设备广域网远程管理协议(CPE广域网管理协议, CPE WAN Management Protocol,俗称TR-069协议)。
TR-069协议定义了一种机制,这个机制包含安全的CPE自动配置功能,并且将其他的CPE管理功能一并纳入到一个统一的框架(公共框架)内。
1.1、功能组成TR-069协议支持很多的功能以便能够管理好数目庞大的CPE,包含的主要功能如下:(1)、自动配置和动态服务(集中/统一)配置/设置(2)、软件和固件的镜像管理(3)、状态和性能监控(4)、诊断1.1.1、自动配置和动态服务设置TR-069协议允许ACS配置一台或多台基于各种标准的CPE。
配置机制包括特定的配置参数和符合卖主需要的配置功能的通用机制。
配置机制允许CPE既可以在宽带网络初始化连接时获取配置,也可以在连接以后的任何时候去重新获取配置。
配置机制支持在异步模式下ACS重新初始化和配置每一台CPE.TR-069协议包含了身份识别机制,这个机制允许每一台特定需求的CPE或者其他基于相同标准/规则(比如,卖主,型号,软件版本等)的CPE获取配置。
TR-069协议还提供了一系列的工具去管理那些CPE特定的可选的并且需要实行额外安全等级的应用服务功能(模块),比如付费业务。
关于采用数字符号签证来控制这些操作的机制信息请参考附录C。
这种配置机制允许将来更简单的扩展,允许能够为本规范未包括的服务功能进行配置的扩展。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TR069协议编程需掌握知识
TR069
1、TR069协议是由DSL所开发的技术规,它提供了对网络设备进行管理配置的通用框架和
协议,用于从网络侧对网关、FEMTO、路由器等设备进行远程管理。
当前在统一网管的实现过程中需要处理TR069协议包数据,为了能够正确的处理设备的请求响应,就必须对TR069协议包数据容有所了解。
协议组成
2、协议组成如下图
层描述:
3、我们所关心的层主要是RPC Methods层、SOAP层以及HTTP层。
下面具体介绍RPC
Methods层的容,首先我们需要知道ACS和CPE建立连接的方式。
这里列出封装RPC方法的SOAP信息的格式。
理解它们有助于组包解包。
ACS与CPE的连接建立
4、ACS和CPE的连接建立:
ACS与CPE建立连接的方式,按连接发起方划分可以分为两种方式:CPE发起连接、ACS主动建立连接
CPE发起连接有以下几种情况:
(1)CPE第一次建立网络连接,对应RPC命令INFORM +"0 BOOTSTRAP";
(2)加电或者重置,对应的RPC命令INFORM +"1 BOOT"
(3)每个周期上报时间,对应的RPC命令INFORM +"2 PERIODIC"
(4)可选的Schedule Inform方法被要求,对应RPC命令是的是INFORM+"3 SCHEDULED"
(5)CPE接收到来自ACS的有效连接请求,对应的RPC命令INFORM +"6 CONNECTION REQUEST"
(6)ACS的URL发生变化,对应的RPC命令是对应RPC命令INFORM +"0 BOOTSTRAP"
(7)CPE的参数发生更改,如CPE的IP地址;
(8)CPE的参数值发生变化,并且这个变化不是由ACS引起的,对应对应的RPC命令是INFORM +"4 VALUE CHANGE"
CPE与ACS连接示意图如下:
ACS发起连接:
ACS向CPE发起连接通过HTTP GET请求;
(1)需要注意的是连接使用的必须是HTTP请求而不是HTTPS
(2)并且GET通告中不需要包含其它数据,即使有数据也会被CPE忽略。
(3)CPE接到GET请求后与ACS建立连接,并在成功建立连接后发送一条INFORM报文。
连接建立示意图
ACS与CPE之间结束会话:
ACS与CPE之间的会话如果要正常结束需要以下条件:(1)CPE不再有请求发给ACS
(2)ACS也没有请求发给CPE
(3)CPE已经发送完毕ACS的请求响应
(4)ACS已经发送完毕CPE的请求响应
RPC方法
方法列表
方法介绍
1、Inform信息:由CPE传送到网管,CPE事件通过绑定Inform信息进行上报;事件的EVENT_CODE有
(1)"0 BOOTSTRAP",表示会话发起的原因是CPE首次安装或者是ACS的URL发生变化。
网管接收到后要执行注册流程
(2)"1 BOOT",表示会话发起的原因是CPE通电启动或者是重置,包括系统首次启动,以及任何原因引起的重启,或者是事件"M Reboot"引起的;
(3)"2 PERIODIC",表示会话发起的原因是因为定时Inform策略引起的。
(4)"3 SCHEDULED", 表示会话发起的原因是因为CPE定时调用了ScheduleInform方法引起的。
该EVENT_CODE必须位于"M ScheduleInform"中。
(5)"4 VALUE CHANGE",表示会话发起的原因是CPE的一个或者多个参数值发生变化。
(6)"5 KICKED",表示会话发起的原因是为了Web标识管理(?)
(7)"6 CONNECTION REQUEST",表示会话发起的原因是源自ACS的Connection Request Notification
(8)"7 TRANSFER COMPLETE",表示会话发起的原因是上传或者下载成功(不管是否真的成功)
(9)"8 DIAGNOSTICS COMPLETE",当完成由ACS要求的诊断测试后,重新与ACS建立连接时用
(10)"9 REQUEST DOWNLOAD",表示会话发起的原因是CPE要求调用RequestDownload 方法
(11)"10 AUTONOMOUS TRANSFER COMPLETE",表示会话发起的原因是由CPE主动的上传或者下载成功,而不是ACS的请求
(11)"M Reboot", "M ScheduleInform", "M Download","M Upload", 带有“M“字符说明这个是执行ACS请求方法的结果,里面一般含有其它的EVENT_CODE;如:"M Reboot"含有"1 BOOT","M ScheduleInform"含有"3 SCHEDULED"
(12)"X_CU_ALARM","X_DISCOVER"厂商自定以规前者表示告警信息,后者表示发现信息
2、GetParameterNames:由ACS发起,用于发现CPE上的可访问参数。
涉及到的数据表有
命令请求操作处理:CO_RTU,CO_PROTOCOL,CO_CHANEL;回应信息处理:CO_PARAM_LIST, CO_NE_PARAM,CO_CWMP_PARAM_LIST
3、GetParameterValues : 由ACS发起,用于查找CPE上一个或者多个参数的值。
4、SetParameterAttributes:由ACS发起,用于修改CPE上一个或者多个参数的属性。
5、SetParameterValues:由ACS发起,用于修改CPE上一个或者多个参数的值。
6、AddObject:由ACS发起,用于对一个特定的多实例对象创建一个新的实例。
7、DeleteObject:由ACS发起,用于删除一个对象的特定实例
8、Reboot:由ACS发起,用于重启指定的CPE终端
9、DownLoad: 由ACS发起,用于要求CPE终端在指定的位置下载指定的文件
10、Upload:由ACS发起,用于要求CPE终端向指定位置上传某一特定文件
11、FactoryReset:由ACS发起,用于要求特定的CPE终端恢复出厂设置。
12、GetRpcMethods由CPE或者是ACS发起,用于发现另一方所支持的方法集。
方法参数详解
1INFORM参数
容见下表:
2GetRpcMethods参数
容见下表
3GetRpcMethodsResponse参数
4SetParameterValues参数
5SetParameterValuesResponse参数
6ParameterValueStruct定义
7 GetParameterNames 参数
8 GetParameterNamesResponse参数
9 ParameterInfoStruct参数
10 SetParameterAttributes参数
11 SetParameterAttributesStruct参数
12 SetParameterAttributesResponse参数
13 GetParameterAttributes参数
14 GetParameterAttributesResponse参数
15 ParameterAttributesStruct参数
16 AddObject参数
17 AddObjectResponse参数
18 DeleteObject参数
19 DeleteObjectResponse参数
20 DownLoad 参数
21 Reboot参数
22 RebootResponse参数
23 CPE的错误码
24 ACS错误码。