CWMP

article/2025/10/7 21:32:53

http://blog.163.com/yuan_zhch/blog/static/1937900462012111113320220/


TR-069简介 转  

2012-12-01 23:33:20|  分类: CWMP相关 |字号 订阅

http://hi.baidu.com/huiweics

相关缩略语 

ACS:Auto-Configuration Server (自动配置服务器)

CPE:Customer Premise Equipment(用户终端设备)

CWMP:CPE WAN Management Protocol(用户终端设备广域网管理协议)

DSL: Digital Subscriber Line(数字用户线)

HTTP:Hypertext Transfer Protocol(超文本传输协议)

RPC: Remote Procedure Call(远程过程调用)

SOAP: Simple Object Access Protocol(简单对象访问协议)

SSL: Secure Socket Layer(安全套接层)

TLS: Transport Layer Security(安全传输层)

URL:Uniform Resource Location(统一资源定位)

XML: Extensible Markup Language(可扩展标记语言)

1、 TR069简介 

         TR069 全称是“用户终端设备广域网管理协议(CWMP)”,是由DSL Forum制定的一种网管协议,适用于远程终端管理技术,DSL论坛中,用于承载该协议的文档编号为TR069,简称TR069协议。随着VoIP、 IPTV等大量IP终端设备(尤其在家庭中)的普及,设备的配置和维护变得越来越困难,传统的SNMP协议已不能满足相应的管理维护需求,而TR069协 议更适应于广域网终端上的应用。 TR069相对SNMP有如下的优点:

l  连接模型灵活,允许ACS和CPE两端都可以发起连接请求;

l  节省带宽,不必维护长期连接;

l  功能丰富,软件升级,业务推送等。

2、TR069协议组网模型

TR069组网模式与SNMP类似,采用Server/Client(Agent)模式。

TR-069简介 - 白丁 - 白丁 的博客

上图中,ACS为自动配置服务器,负责对终端设备CPE进行管理。ACS与CPE间的接口为南向接口,ACS与管理系统间的接口为北向接口。TR069协议定义了南向接口。

3、TR069协议功能 

CWMP支持管理CPE的一组功能,主要包括:

l  自动配置和动态服务供给: ACS可以在CPE第一次上线或上线后的任何时候对CPE进行配置(Set方法)。

l  软件/固件的映像管理: CPE和ACS都可以主动发起下载,CPE下载结果通知ACS( Download、Upload、Inform 方法)。

l  状态与性能监控:协议支持CPE向ACS提供可能用于状态和性能统计数据(Inform方法),如非ACS导致的参数更改、告警信息等。 

l  诊断:协议支持CPE向ACS提供可用于诊断连接性和服务的信息。本协议定义一组公用参数集合,以及厂商添加自定制诊断能力的通用机制,如Ping命令、Reset命令等。 

l  WEB应用的身份管理。协议的可选功能,需要ACS支持Kicked方法,该功能允许用户通过统一的Website来对某台CPE进行管理。


===========================================================================

4、TR069协议组成

TR-069简介  转 - 白丁 - 白丁 的博客
 

CPE/ACS Application: 运行于ACS和CPE的CWMP应用,可以理解为被管理的参数,如设备序列号、IP地址、注册服务器域名等信息,这些参数在其它TR称为Data Model,对不同类型的设置有不同的Data Model。Data Model本身不属于CWMP,但协议支持ACS对这些Data Modle的自动发现。与SNMP类似,Data Modle组成为树状结构,如: 

l  InternetGatewayDevice.ManagementServer.PeriodicInformEnable 

l  InternetGatewayDevice.ManagementServer.PeriodicInformInterval 

l  InternetGatewayDevice.Services.VoiceService.VoiceProfile.SIP.RegisterExpires

l  InternetGatewayDevice.Services.VoiceService.VoiceProfile.SIP.RegisterRetryInterval

 

RPC Methods:由ACS/CPE提供、供对方调用的标准函数,用于承载ACS和CPE之间的管理请求和应答,TR069分别了规定由ACS和CPE提供的RPC方法,包括可选的方法和必选的方法,如下表所示。

 TR-069简介  转 - 白丁 - 白丁 的博客

每中方法都有请求和应答,请求和应答都包含的规定参数,应答中应该包含执行结果,由原因码体现,如果成功则原因码为0,否则使用协议定义的相应错误原因码。

======================================================================

SOAP: 简单对象访问协议,SOAP信元是一个包含可选的SOAP Head和必选的SOAP Body组成的XML文档,用于对RPC 编码,即RPC的具体体现形式。协议要求支持SOAP 1.1。一个HTTP报文可以包含若干个SOAP信元,该最大信元数由ACS和CPE分别指定并通知对方。所有的连接都是由CPE主动发起的,CPE发起 连接时先调用Inform方法,Inform中有一个参数是MaxEnvelopes,它告诉ACS CPE可以支持的最大SOAP信元,而ACS对Inform的响应中也包含着MaxEnvelopes告诉CPE它可以支持的最大SOAP信元。(有些版 本的TR069中MaxEnvelopes一直是1,接收方忽略响应中MaxEnvelopes的值)

SOAP构成如下图所示:

TR-069简介  转 - 白丁 - 白丁 的博客


SOAP报文结构

 

HTTP:用于承载SOAP报文,要求支持HTTP1.1,协议允许ACS和CPE都可以主动发起连接。

 

SSL/TLS:可选的安全组件,TR069允许使用如下安全机制: 

l  ACE和CPE之间使用SSL/TLS,提供认证、保证数据机密和完整性; 

l  HTTP层提供的另一种基于共享密钥的CPE认证方法。

 

TCP:用于承载HTTP报文。 

报文示例:ACS的HTTP应答报文,包含一个Inform方法的应答和一个GetRPCMethods方法的请求两个信元。

HTTP/1.1 200 OK 

Content-Type: text/xml; charset="utf-8"

Content-Length: nnn 

<soap:Envelope 

xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"

soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

xmlns:cwmp="urn:dslforum-org:cwmp-1-0">

<soap:Header>

<cwmp:ID soap:mustUnderstand="1">919</cwmp:ID>

</soap:Header>

<soap:Body>

<cwmp:InformResponse> 

                  <MaxEnvelopes>3</MaxEnvelopes>

</cwmp:nformResponse> 

</soap:Body>

</soap:Envelope> 

<soap:Envelope 

xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"

soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

xmlns:cwmp="urn:dslforum-org:cwmp-1-0">

<soap:Body>

<cwmp:GetRPCMethods/> 

</soap:Body>

</soap:Envelope> 

5、TR069会话连接 5.1 由CPE主动发起(使用HTTP POST)

前提:

CPE已经获取ACS的URL。获取方法:

l  本地配置。

l  DHCP Option。

l  缺省。

触发会话连接请求条件:

l  上电或复位(包括初始化安装)。

l  每个PeriodicInformInterval。

l  由ScheduleInform 方法触发。

l  收到ACS的有效连接请求。

l  ACS的URL发生变化。

l  部分参数由非ACS导致的变化,而这些参数的改变必须向ACS上报。

l  Download或者upload完成后要ACS上报状态。

l  重新尝试一次失败的会话。

会话要求:

l 由CPE发起会话时,CPE必须首先调用Inform方法。

l 当一次会话非正常结束或者CPE向ACS上报事情的会话不能正常建立时,CPE必须根据“SessionRetry Policy”重新发起会话或者丢弃事件。

5.2 由ACS主动发起(使用HTTP GET) 

前提: 

l  ACS获取CPE的URL,该URL由ACS通过InternetGatewayDevice.ManagementServer. ConnectionRequestURL参数获取,这意味着ACS此前至少有一次由CPE发起的通信。 

l  网络可达。

触发会话连接请求条件:

l ACS可以在任何时候用ConnectionRequest mechanism使CPE发起连接,使用HTTPGet通知CPE。经过必要的摘要认证后,CPE使用预先确定的URL发起会话连接请求。

会话要求:

l ACS必须使用HTTP 1.1 GET 语法CPE的URL,CPE的URL是随机生成的,也是唯一的。

l 必须使用HTTP,而不是HTTPS。

l ACS的HTTPGET不包含任何数据。

l CPE使用Digest认证,认证不过CPE不向ACS发起连接。

l CPE接受任何请求只要认证能通过。

l  CPE向ACS回复200 (OK)或者204(No Content),而且回复优先于发起连接。 

l  CPE限制ACS的ConnectionRequest频率,如果频率高于限制,CPE向ACS回复503 (Service Unavailable)。

l  ACS认证通过后,CPE必须在30秒内向ACS发起连接,在Inform中包含6 CONNECTION REQUEST 事件代码。

l 如果ACS认证通过但在30内没接受到CPE的连接请求就重复ConnectionRequest。

l 如果CPE发起连接请求之前又接受到几个ConnectionRequest,它发起一次连接。

l 如果CPE中会话状态中,那么它要么拒绝ConnectionRequest,要么会话结束后发起一次连接请求。

l 除了以上情况,CPE不能拒绝其它的ConnectionRequest。

 

 

5.3 会话终止 

当没有需要处理的事务时(包括超时),CPE必须结束会话,并结束tcp连接。

只有如下条件都满足时,CPE才能终止会话。

l  ACS没有向CPE的请求,CPE接受到的ACS的最后一个响应是空。

l  CPE没有向ACS的语法,CPE向ACS发起一个空的HTTPPOST,而且HoldRequests为false。

l  CPE接受能了所有曾经几ACS请求的响应。

l  CPE向ACS发出了所有请求的响应。

l  ACS响应超时或者接收到错误响应代码。

因为所有的连接都是CPE向ACS主动发起的,所以ACS不负责连接的发起和终止,但以下条件都满足时ACS认为连接已经终止。

l  CPE没有更多的向ACS的请求,ACS接收到CPE的空HTTP POST,并且HoldRequests 为false。

l  ACS没有向CPE的请求,并且向CPE发出了空的响应。

l  ACS已经发出了所有请求对应的响应。

l  ACS接收到了已经发出的所有请求对应的响应。

l  CPE响应超时、返回错误代码或者CPE请求不对时给CPE返回错误代码。

5.3 会话示例 

TR-069简介  转 - 白丁 - 白丁 的博客


========================================================================

TR-069 Open source

1. Perl CWMP Server

- https://github.com/dpavlin/perl-cwmp

2. mini-cwmp

- https://github.com/petersho/mini-cwmp

- http://mini-cwmp.sourceforge.net/

3. open-tr069

- http://code.google.com/p/open-tr069/

4. OpenACS

- http://sourceforge.net/projects/openacs/

5. jCPE

- http://code.google.com/p/jcpe/

6. netcwmp

- http://code.google.com/p/netcwmp/

7. jCWMPServer

- http://sourceforge.net/projects/jcwmpserver/

- http://ftp.heanet.ie/mirrors/sourceforge/j/project/jc/jcwmpserver/

8. cwmpclient

https://bitbucket.org/spapas/cwmpclient



http://chatgpt.dhexx.cn/article/6yY5C6WQ.shtml

相关文章

网络协议篇之CWMP协议(二)—— CWMP(TR-069)业务流程

一、 CWMP&#xff08;TR-069&#xff09;业务流程 软件架构以及协议的具体解析过程 二、 CWMP&#xff08;TR-069&#xff09;通信过程 我们来看一个tr069协议完整的通信过程. (1) 建立TCP连接。 (2) SSL初始化&#xff0c;建立安全机制。 (3) CPE发送Inform报文&#xff0…

关于CWMP基础(一)----(TR069)

CWMP&#xff08;TR069&#xff09; 概述TR069协议族主要功能网络架构关于RPC协议基础RPC协议的处理流程回路&#xff1a;SOAP协议基础CWMP基本功能 概述 1.为什么需要TR069? 随着VoIP、IPTV等越来越多IP终端设备的普及&#xff08;尤其在家庭中的普及&#xff09;&#xff…

CWMP (TR-069)技术介绍

CWMP (TR-069)技术介绍-新华三集团-H3C 目 录 CWMP (TR-069) CWMP&#xff08;TR-069&#xff09;概述 CWMP网络框架 CWMP基本功能 CWMP实现机制 CWMP (TR-069) CWMP&#xff08;TR-069&#xff09;概述 CWMP&#xff08;CPE WAN Management Protocol&#xff0c;CPE广域网管理…

CWMP协议简介

CWMP协议 1、概念2、网络架构3、协议栈结构协议各层概要 4、基本功能①ACS和CPE自动连接&#xff0c;CPE可以通过发送Inform报文自动连接ACS②支持ACS对CPE的自动配置③支持对CPE系统镜像文件和配置文件的上传/下载管理④支持ACS对CPE状态和性能的监控 5、TR-069主要方法①CPE …

神经网络算法详解 01:人工神经网络基础

本文介绍了人工智能的发展历史&#xff0c;基本概念&#xff0c;应用领域&#xff1b;神经元模型&#xff0c;神经元的学习规则以及神经网络工作原理。本系列文章来自阿里云大学人工智能学习路线中的《神经网络概览及神经网络算法详解》课程。 系列文章&#xff1a; 【神经网络…

神经网络算法总结

文章目录 前馈神经网络1. 单层前馈神经网络&#xff08;单层感知器&#xff09;2. 多层感知器 反馈神经网络径向基函数网络&#xff08;RBF网络&#xff09;1. 径向基函数2. 径向基函数网络的结构3. 径向基函数网络原理 Hopfield网络1. Hopfield网络结构2. Hopfield神经网络的两…

卷积神经网络有哪些算法,卷积神经网络算法实现

卷积神经网络通俗理解 。 卷积神经网络&#xff08;ConvolutionalNeuralNetworks,CNN&#xff09;是一类包含卷积计算且具有深度结构的前馈神经网络&#xff08;FeedforwardNeuralNetworks&#xff09;&#xff0c;是深度学习&#xff08;deeplearning&#xff09;的代表算法…

神经网络算法---手写数字体识别

文章目录 神经网络的背景多层向前神经网络设计神经网络结构交叉验方法 Backpropagation 算法激活函数手写数字例子 神经网络的背景 1&#xff0c;1980年backpropagation是神经网络算法最著名的算法&#xff0c;以人脑中的神经网络为启发。 多层向前神经网络 backpropagation…

遗传算法和神经网络算法区别与联系

1、关于遗传算法&#xff0c;模糊数学&#xff0c;神经网络三种数学的区别和联系 遗传算法是一种智能计算方法&#xff0c;针对不同的实际问题可以设计不同的计算程序。它主要有复制&#xff0c;交叉&#xff0c;变异三部分完成&#xff0c;是仿照生物进化过程来进行计算方法的…

卷积神经网络算法三大类,卷积神经网络算法实现

卷积神经网络算法是什么&#xff1f; 一维构筑、二维构筑、全卷积构筑。 卷积神经网络&#xff08;ConvolutionalNeuralNetworks,CNN&#xff09;是一类包含卷积计算且具有深度结构的前馈神经网络&#xff08;FeedforwardNeuralNetworks&#xff09;&#xff0c;是深度学习&a…

神经网络的基本原理,神经网络算法三大类

1、神经网络是什么&#xff1f; 生物神经网络主要是指人脑的神经网络&#xff0c;它是人工神经网络的技术原型。 人脑是人类思维的物质基础&#xff0c;思维的功能定位在大脑皮层&#xff0c;后者含有大约10^11个神经元&#xff0c;每个神经元又通过神经突触与大约103个其它神…

神经网络的算法有哪些,神经网络算法包括哪些

卷积神经网络算法是什么&#xff1f; 一维构筑、二维构筑、全卷积构筑。 卷积神经网络&#xff08;ConvolutionalNeuralNetworks,CNN&#xff09;是一类包含卷积计算且具有深度结构的前馈神经网络&#xff08;FeedforwardNeuralNetworks&#xff09;&#xff0c;是深度学习&a…

反馈神经网络算法

典型的卷积神经网络&#xff0c;开始阶段都是卷积层以及池化层的相互交替使用&#xff0c;之后采用全连接层将卷积和池化后的结果特征全部提取进行概率计算处理。 在具体的误差反馈和权重更新的处理上&#xff0c;不论是全连接层的更新还是卷积层的更新&#xff0c;使用的都是经…

神经网络算法实例说明,简单神经网络算法原理

神经网络算法实例说明有哪些&#xff1f; 在网络模型与算法研究的基础上&#xff0c;利用人工神经网络组成实际的应用系统&#xff0c;例如&#xff0c;完成某种信号处理或模式识别的功能、构作专家系统、制成机器人、复杂系统控制等等。 纵观当代新兴科学技术的发展历史&…

算法评价与神经网络算法

前言 随着大数据和信息传输技术的兴起、人们的数据处理工作指数型增长&#xff0c;传统的编程方法和数学模型不再适用于这样大数据量、高噪音的工作&#xff0c;神经网络的使用就变得愈加广泛。作为传统机器学习的一个分支&#xff0c;神经网络实现了更高层次的自动化。对于多…

神经网络算法可以用来干什么

神经网络算法可以解决的问题有哪些 人工神经网络&#xff08;Artificial Neural Networks&#xff0c;ANN&#xff09;系统是 20 世纪 40 年代后出现的。它是由众多的神经元可调的连接权值连接而成&#xff0c;具有大规模并行处理、分布式信 息存储、良好的自组织自学习能力等特…

Matlab实现神经网络算法

线性关系可以说是最简单的关系&#xff0c;但在大多数实际问题求解中&#xff0c;线性关系往往不能体现事物之间的复杂关系。而神经网络算法具有非线性关系的逼近能力。在以往所学的算法中&#xff0c;往往是通过得到一个f(x)函数来描述y和x之间的关系的&#xff0c;但神经网络…

神经网络算法的基本原理,神经网络算法通俗解释

神经网络算法原理 4.2.1概述人工神经网络的研究与计算机的研究几乎是同步发展的。 1943年心理学家McCulloch和数学家Pitts合作提出了形式神经元的数学模型&#xff0c;20世纪50年代末&#xff0c;Rosenblatt提出了感知器模型&#xff0c;1982年&#xff0c;Hopfiled引入了能量…

神经网络算法的基本原理,神经网络算法都有哪些

神经网络算法的三大类分别是&#xff1f; 神经网络算法的三大类分别是&#xff1a;1、前馈神经网络&#xff1a;这是实际应用中最常见的神经网络类型。第一层是输入&#xff0c;最后一层是输出。如果有多个隐藏层&#xff0c;我们称之为“深度”神经网络。他们计算出一系列改变…

神经网络算法介绍

引言 人工神经网络&#xff08;Artificial Neural Networks&#xff0c;ANN&#xff09;最早起源于1943年&#xff0c;受“脑神经元学说”的启发&#xff0c;心理学家WMcculloch和数理逻辑学家WPitts首次提出基于神经元的数学模型&#xff0c;后来经过无数人的改进和完善&…