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。
这种配置机制允许将来更简单的扩展,允许能够为本规范未包括的服务功能进行配置的扩展。
TR-069协议
家庭网络设备的远程管理技术2006年11月27日 10:45 来源:泰尔网作者:刘谦摘要首先阐述了家庭网络设备远程管理的必要性、内容及相关技术问题;然后着重介绍了TR-069规范规定的网络架构、协议层次及远程管理系统的工作流程;最后结合实例分1、家庭网络设备远程管理的必要性家庭网络的设备物理位置处于用户家中,有一种观点认为,既然这些设备都是在用户家中,那么运营商就不需要对这些设备进行管理,用户自己管理就可以了。
但实际情况是,家庭网络承载众多的电信业务,为了保证电信业务端到端的服务质量,电信运营商需要对端到端通信中涉及到的众多设备进行协调统一管理,这其中就需要对家庭网络设备做到可控制和可管理。
如果家庭网络设备由用户自己随意管理,则很难做到与核心电信网络设备的协调统一,所谓保证电信业务端到端服务质量将不可能实现。
既然家庭网络的设备需要运营商来管理,那么在选择管理方式上,就需要仔细分析家庭网络设备的特点:首先,公用电信网络的网元数量一般比较少,而家庭网络的网元数量则非常庞大,所以,没有良好的运行和管理工具,无法维护和管理家庭网络,传统的人工操作和排除故障的方式很难满足家庭网络的维护和管理要求;其次,家庭网络的使用者是普通用户,普通用户不可能像机房里的专业工作人员那样恪守安全规范,不做有害于网络安全的操作,因此,家庭网络的维护和管理更要注重运营商对设备本身的控制能力以及安全性能;最后,家庭网络遍布各个地区,远程管理是必不可少的,上门服务只有在极特别的情形下才进行。
基于家庭网络设备的这些特点,家庭网络设备的管理方式需要采用远程集中自动管理的方式。
2、家庭网络设备远程管理的内容既然需要对家庭网络的设备进行远程集中自动管理,那么究竟进行哪些方面的管理才能便于运营商开展业务、保证业务的服务质量呢?从目前运营商的需求来看,主要的管理内容应包括设备的自动配置、设备的软件和硬件的升级、设备的状态和性能监测以及故障诊断。
TR069命令手册
TR069命令手册目录1简介 (3)1.1概述 (3)1.2协议简介 (3)2配置TR069 (4)3典型配置举例 (6)1简介1.1概述随着VoIP、IPTV等越来越多IP终端设备的普及(尤其在家庭中的普及),大量设备的配置和维护变得越来越困难,大大提高了网络产品运营商的成本,传统的基于SNMP的网管系统面对众多的终端设备时显得力不从心,限制了宽带接入市场的发展速度和规模。
TR069定义了一套全新的网管体系结构,包括“管理模型”,“交互接口”,“管理参数”,在很大程度上减少了网络产品的运为成本。
TR069是数字用户线(DSL)论坛(已改名为Broadband Forum)制定的一个面向终端设备的网管协议,称为“用户终端设备广域网管理协议(CWMP)”,DSL论坛的文档编号为TR069。
它提供了对下一代网络中家庭网络设备进行管理配置的通用框架和协议,用于从网络侧对家庭网络中的网关、路由器、机顶盒等设备进行远程集中管理。
1.2协议简介TR-069协议的基本思路是利用了在新一代Web服务中广泛使用的基于SOAP的RPC方法。
其会话协议使用的是HTTP1.1协议,因此TR-069可以方便地使用在Web中使用的传送层安全技术,比如SSL/TLS。
TR-069协议栈的下面几层充分利用了现在Internet上广泛使用的通信协议,比如TCP、HTTP、SOAP等。
通过这些成熟的协议,ACS和用户设备之间可以方便地建立通信的基本通道。
TR-069在SOAP之上定义了用于配置、查询、诊断等操作的特定的RPC方法,通信的两端(ACS和用户设备)都可以通过RPC调用来完成某个特定功能的执行和得到返回的结果。
用户设备和ACS之间的通信分为ACS发现阶段和连接建立阶段。
在ACS发现阶段,用户设备需要得知ACS的URL或地址,这些信息可以是预配置在用户设备中的,也可以通过DHCP的选项来传送给用户设备。
一旦用户设备得到ACS的URL或地址,用户设备可以在任何时候发起对ACS的连接。
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头)和SOAPBody (SOAP体)组成的XML文档(4)ACS的管理方法就是对CPE上的管理函数进行远程调用,因此需要向CPE传输要调用的函数名及参数,这些内容包含在SOAP体中。
ACS并不直接对设备本身的接口进行调用,ACS所使用的函数为TR069的标准函数(称作TR-069 RPC Methods),CPE需要通过一个设备上的中间层解析出RPC方法,再由这个中间层调用设备自身的接口,这个中间层就是TR069 Agent。
TR069协议
TR069协议 在TR069协议定义的⽹管模型中管理服务器称为⾃动配置服务器(ACS),负责完成对⽤户终端设备(CPE)。
ACS和CPE之间的接⼝称为南向接⼝,ACS与运⾏商的其他⽹管系统、业务管理系统、计费系统(OSS/BSS)之间的接⼝称为北向接⼝,TR069协议主要定义南向接⼝的标准。
TR069协议允许ACS给⼀个CPE或⼀组基于多种标准的CPE提供服务。
ACS与CPE之间通过TR069协议的RPC⽅法进⾏互操作。
RPC机制的实质是实现OSI七层模型中的会话层功能。
它在两个试图进⾏通信的场点之间建⽴⼀条逻辑信道(即会话连接),并利⽤这个信道交换信息,不⽤时就释放连接。
通信模型如下:Client端:1. 发送远程过程调⽤的信息(以信息包形式)给远程的server端;2. 等待,直到收到server端对该请求的回复;3. ⼀旦收到来⾃server端的返回执⾏结果,就继续执⾏后⾯的程序。
Server端:1. 倾听状态,等待client端发送过程调⽤信息;2. ⼀旦收到过程调⽤信息,server就抽取参数并分析它,然后执⾏所请求的过程;3. 将执⾏结果以消息包形式回送给client。
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 格式数据。
ACS发送给CPE的SOAP请求基于HTTP response,⽽CPE返回给ACS的SOAP应答则基于后续的HTTP post。
tr069协议
tr069协议TR-069协议介绍TR-069(Technical Report 069)是由全球互联网工程任务组(Internet Engineering Task Force,IETF)制定的一项用于远程管理和配置设备的协议。
它的全称是“CPE WAN Management Protocol(CWP)”,也被称为“Auto Configuration Server(ACS)”协议。
TR-069协议为设备提供了一种标准的远程管理和配置机制,可以使设备厂商和服务提供商远程管理和更新客户的设备,并为设备提供实时监控和故障排除的功能。
该协议适用于智能电视、路由器、网络摄像头、光猫、电信终端等各种家庭和企业网络设备。
TR-069协议的核心组件是ACS(Auto Configuration Server),它是负责接收和处理设备发送的请求的服务器。
ACS可以对设备进行诊断、配置、软件升级、故障处理等一系列操作。
设备通过ACS和网络进行通信,ACS通过配置文件和命令来管理设备。
TR-069协议的优势主要体现在以下几个方面:首先,TR-069协议提供了一种标准的远程管理和配置机制,可以避免不同设备之间的兼容性问题。
通过统一的协议,设备厂商和服务提供商可以远程管理和更新不同类型的设备,提高设备管理的效率。
其次,TR-069协议支持实时的设备监控和故障排除。
通过TR-069协议,设备可以定期上报状态信息到ACS,ACS可以实时监控设备的运行状态,并及时做出响应。
当设备出现故障时,ACS可以根据设备上报的信息进行故障排查和诊断。
再次,TR-069协议支持远程配置和软件升级。
通过ACS可以对设备的各种参数进行配置,并可以安全地进行软件升级。
这样,设备厂商可以通过远程方式对设备进行配置和维护,减少了现场维护的人力和物力成本。
最后,TR-069协议具有良好的安全性和扩展性。
通过设备和ACS之间的双向认证和安全机制,可以确保通信的安全性。
培训知识-CPE广域网管理协议TR069基础4
支持CPE产生可用信息,ACS可以使用这些信息来诊断连通性或服务问题
目录
TR069背景 TR069名词概念 TR069体系架构 TR069数据模型 TR069业务流程 TR069与SNMP比较
TR069名词概念
ACS ——Auto-Configuration Server,自动配置服务器 CPE ——Customer Premise Equipment,用户侧设备
TR069 业务流程 ACS发现——通过URL找到ACS
➢本地配置
CPE可以在本地配置ACS的URL地址(一般仅在初始设 置时可用)。
➢DHCP配置
获取地址的同时,通过DHCP服务器获取ACS的URL
WHY
为什么会有TR069?
管理中心
企业
…
边远地区
家庭
…
初始安装 业务变更 故障维护 软件更新
上门安装、调试、配置、升 级等
效率低 成本高 CPE数量多后变 为不可能之任务
WHY
为什么会有TR069?
远程管理——现有方法
Telnet、SSH等远程登陆设备
SNMP 远程Web界面
TR069数据模型集合——参数树
类似于MIB Browser和MIB树
TR069数据模型集合——参数节点
读 Read
写 Write
Subscriber
参数节点属性
AccessList ??待定义
Passive
Notification Off
Active
目录
TR069背景 TR069名词概念 TR069体系架构 TR069数据模型(TR098) TR069业务流程 TR069与SNMP比较
TR069协议编程基础知识
TR069协议编程需掌握知识TR0691、TR069协议是由DSL所开发的技术规范,它提供了对网络设备进行管理配置的通用框架和协议,用于从网络侧对网关、FEMTO、路由器等设备进行远程管理。
当前在统一网管的实现过程中需要处理TR069协议包数据,为了能够正确的处理设备的请求响应,就必须对TR069协议包数据内容有所了解。
协议组成2、协议组成如下图层描述:3、我们所关心的层主要是RPC Methods层、SOAP层以及HTTP层。
下面具体介绍RPCMethods层的内容,首先我们需要知道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忽略。
TR069协议编程基础知识
TR069协议编程需掌握知识TR069协层的内这里列出封装RPC方法的SOAP信息的格式。
理解它们有助于组包解包。
ACS与CPE的连接建立4、ACS和CPE的连接建立:ACS与CPE建立连接的方式,按连接发起方划分可以分为两种方式:CPE发起连接、ACS主动建立连接(6)ACS的URL发生变化,对应的RPC命令是对应RPC命令INFORM+"0BOOTSTRAP"(7)CPE的参数发生更改,如CPE的IP地址;(8)CPE的参数值发生变化,并且这个变化不是由ACS引起的,对应对应的RPC命令是INFORM+"4VALUECHANGE"CPE与ACS连接示意图如下:ACS发起连接:(1(2(3)ACS与ACS与CPE之间的会话如果要正常结束需要以下条件:(1)CPE不再有请求发给ACS(2)ACS也没有请求发给CPE(3)CPE已经发送完毕ACS的请求响应(4)ACS已经发送完毕CPE的请求响应RPC1、有(1(2)"1BOOT",表示会话发起的原因是CPE通电启动或者是重置,包括系统首次启动,以及任何原因引起的重启,或者是事件"MReboot"引起的;(3)"2PERIODIC",表示会话发起的原因是因为定时Inform策略引起的。
(4)"3SCHEDULED",表示会话发起的原因是因为CPE定时调用了ScheduleInform方法引起的。
该EVENT_CODE 必须位于"MScheduleInform"中。
(5)"4VALUECHANGE",表示会话发起的原因是CPE的一个或者多个参数值发生变化。
(6(7(8(9(10(11而不是ACS(11)"MReboot","MScheduleInform","MDownload","MUpload",带有“M“字符说明这个是执行ACS请求方法的结果,里面一般含有其它的EVENT_CODE;如:"MReboot"含有"1BOOT","MScheduleInform"含有"3SCHEDULED"(12)"X_CU_ALARM","X_DISCOVER"厂商自定以规范前者表示告警信息,后者表示发现信息2、GetParameterNames:由ACS发起,用于发现CPE上的可访问参数。
tr069协议
tr069协议TR069协议。
TR069协议是一种远程管理协议,它允许服务提供商远程管理和配置用户设备,例如路由器、调制解调器和网关等。
这项协议为服务提供商提供了一种有效的方式来管理设备,从而提高了设备的可靠性和安全性。
TR069协议的核心是CPE WAN管理协议(CWMP),它定义了一套用于管理设备的数据模型和通信协议。
CWMP允许服务提供商远程配置设备的参数、升级设备的固件、收集设备的性能数据等。
通过这项协议,服务提供商可以实现对设备的全面管理,从而提供更好的服务质量和用户体验。
TR069协议的优势在于它的灵活性和可扩展性。
它采用了基于HTTP的通信协议,使得设备可以通过互联网与服务提供商的管理服务器进行通信。
同时,TR069协议的数据模型是可扩展的,服务提供商可以根据自己的需求定义新的管理参数,从而实现对更多设备功能的管理和控制。
另外,TR069协议还支持设备之间的互操作性。
通过CWMP,不同厂商生产的设备可以遵循统一的管理规范,使得这些设备可以与服务提供商的管理系统无缝对接。
这为服务提供商带来了更大的灵活性和选择空间,他们可以根据自己的需求选择最适合的设备,并且不用担心设备之间的兼容性问题。
总的来说,TR069协议是一项非常重要的远程管理协议,它为服务提供商提供了强大的管理工具,帮助他们实现对设备的全面管理和控制。
通过这项协议,服务提供商可以提高设备的可靠性和安全性,为用户提供更好的服务体验。
同时,TR069协议还促进了设备之间的互操作性,为服务提供商带来了更大的灵活性和选择空间。
总的来说,TR069协议是一项非常重要的远程管理协议,它为服务提供商提供了强大的管理工具,帮助他们实现对设备的全面管理和控制。
通过这项协议,服务提供商可以提高设备的可靠性和安全性,为用户提供更好的服务体验。
同时,TR069协议还促进了设备之间的互操作性,为服务提供商带来了更大的灵活性和选择空间。
TR069协议编程基础知识
TR069协议编程需掌握知识TR0691、TR069协议是由DSL所开发的技术规范,它提供了对网络设备进行管理配置的通用框架和协议,用于从网络侧对网关、FEMTO、路由器等设备进行远程管理。
当前在统一网管的实现过程中需要处理TR069协议包数据,为了能够正确的处理设备的请求响应,就必须对TR069协议包数据内容有所了解。
协议组成2、协议组成如下图层描述:3、我们所关心的层主要是RPC Methods层、SOAP层以及HTTP层。
下面具体介绍RPCMethods层的内容,首先我们需要知道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忽略。
基于TR-069 协议的开发(一) ACS的搭建
TR 069是DSL Fourm提出来的一种协议,即CWMP协议,主要是对用户终端设备的管理。
其功能主要有两块组成ACS(Auto Config Server)和CPE(Customer Pression Equalment)。
其具体功能(PPT)根据协议的描述CPE会定时呼叫ACS,ACS也可以呼叫CPE。
ACS呼叫CPE的时候,其实是向CPE发送一个ConnectionRequest,经过授权认证等过程后,CPE会发个Inform给ACS,其中包含了EventCode,根据EnventCode我们就可已知道是CPE主动呼叫的,还是ACS呼叫后,CPE才建立的连接。
TR-069规定响应ACS的呼叫后的Inform Event Code是 6 Connection Request。
我也是第一次进行通信方面的开发,以前没有接触过的东西。
首先得要下个协议,在这里我有个感受,就是要下个原版的TR-069协议,自己去慢慢的理解,不懂单词要查,虽然是全英文的,但是也是最权威的,也是原滋原味的。
可能看了协议后会觉得很蒙,很多代名词都不懂。
SOAP,RPC。
SOAP和PRC感觉有点像WebService,其实我也没有webservice的开发经验,但是我觉得在TR-069协议中,ACS 通过SOAP协议指定要调用CPE的哪些方法,以及需要的参数。
然后通过RPC在CPE端执行指定的方法,返回方法执行后的结果。
然后在通过SOAP协议返回执行后的结果给CPE。
假如A系统有个查询手机号码的归属地的功能,那么B系统中也要实现这个功能,那么两个系统可以通过通信的方式进行数据交互。
B系统通过SOAP协议指定需要执行的功能(方法)和参数(手机号码),然后发送给A系统。
A系统接受了SOAP协议包含的XML,开始解析,然后调用自身的method,然后将执行后的结果封装成XML 格式的数据后发给B 系统,B系统解析后获取执行的结果。
- 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错误码。