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

article/2025/10/7 21:37:03

CWMP(TR069)

    • 概述
    • TR069协议族
    • 主要功能
    • 网络架构
    • 关于RPC协议基础
    • RPC协议的处理流程回路:
    • SOAP协议基础
    • CWMP基本功能

概述

1.为什么需要TR069?

随着VoIP、IPTV等越来越多IP终端设备的普及(尤其在家庭中的普及),大量设备的配置和维护变得越来越困难,大大提高了网络产品运营商的成本,传统的基于SNMP的网管系统面对众多的终端设备时显得力不从心,限制了宽带接入市场的发展速度和规模。TR069定义了一套全新的网管体系结构,包括“管理模型”,“交互接口”,“管理参数”,在很大程度上减少了网络产品的运为成本。

2.概念

CWMP(CPE WAN Management Protocol,CPE广域网管理协议)是由DSL(Digital Subscriber’s Line,数字用户线路)论坛发起开发的技术规范之一,编号为TR-069,所以又被称为TR-069协议。它提供了对下一代网络中家庭网络设备进行管理配置的通用框架、消息规范、管理方法和数据模型。
CWMP主要应用于DSL接入网络环境。在DSL接入网络中,由于用户设备数量繁多、部署分散,通常位于用户侧,不易进行设备的管理和维护,CWMP提出通过ACS(Auto-Configuration Server,自动配置服务器)对CPE(Customer Premises Equipment,用户侧设备)进行远程集中管理,解决CPE设备的管理困难,节约维护成本,提高问题解决效率。

TR069协议族

  • TR-069 CPE广域网管理协议
  • TR-098 CPE数据业务的管理事务
  • TR-104 VOIP业务的管理参数
  • TR-106 TR069的通用数据模型
  • TR-111 基于TR-069的家庭网络设备远程管理

主要功能

TR069协议描述了一种建立ACS对CPE进行安全的自动化配置管理的框架,同时将它的CPE管理功能添加到这个框架中。实现一下多种功能,从而能够管理一个CPE或者CPE集合。

  1. 提供自动配置和动态服务:
    该机制涉及到的参数既有一般规定的参数,也可以包含用户自定义的参数,为软件实现留有更大的自主空间。

  2. 软件和固件镜像文件管理:
    CPE可以下载和上传文件,协议提供了检查软件或者固件的版本的方法,还可以对签名数据文件进行处理。在文件传输结束后,通知ACS,返回成功或者失败。

  3. 诊断:
    TR069协议为CPE生成有效的诊断信息提供支持,ACS可以使用这些信息来诊断和解决连通或业务问题,同时提供执行预先定义好的诊断测试能力。

  4. 告警:CPE主动发送事件报告来实现设备的实时告警。

  5. 穿越NAT连接:
    TR069本身允许ACS管理NAT后的设备,但限制了ACS不能主动发起会话。TR111的机制则是对TR069这部分的补充,可以使ACS主动发起会话。初始安装时,CPE会自动寻找ACS服务器(CPE出厂时配置一个默认的URL地址,用户将该地址指向ACS服务器),建立连接后即可与ACS通信、下载配置等,可完美解决NAT网关之后的管理难题。

网络架构

主要包含两层逻辑设备:受管理的用户设备(CPE,Customer Premises Equipment)和自动配置服务器(ACS,Auto-Configuration Servers)。
TR069的核心思想是通过定义一套ACS和CPE之间自动协商交互协议,实现终端的自动配置过程。下图描述了TR069协议在自动配置网络构架中的定位。ACS与CPE之间的接口为南向接口,ACS与第三方网管系统、业务管理系统之间的接口为北向接口。TR069协议主要定义了南向接口标准。
在这里插入图片描述CWMP网络元素主要有:

  • ACS:自动配置服务器,网络中的管理设备。
  • CPE:用户端设备,网络中的被管理设备。
  • DNS server:域名服务器。CWMP协议规定ACS和CPE使用URL地址来互相标识和访问,DNS 用于帮助解析URL参数。
  • DHCP server:动态主机配置协议服务器。给ACS和CPE分配IP地址,使用DHCP保温中的option字段给CPE配置参数。

协议栈结构如下所示:

分类协议描述
应用CPE /ACS Management Application应用可以再CPE和ACS端分别实现CWMP协议,应用可以进行本地的定义,而不必是CWMP的一部分
远程调用方法RPC Methods在CWMP中定义的各种RPC方法,实现ACS与CPE之间的交互
报文填写标准SOAP 1.1消息内容是基于SOAP标准封装XML文档,避免了与防火墙的冲突
传输协议HTTP 1.1ACS为HTTP服务器,CPE为HTTP客户端
安全传输协议SSL/TLS标准的互联网传输层安全协议(可选)
底层协议TCP/IP标准的TCP/IP
  • RPC: 远程过程调用是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。TR069为CPE定义了9种基本RPC方法,6种可选RPC方法;为ACS定义了2种基本RPC方法,2种可选的的RPC方法(CPE方法,CPE设备支持,可以被ACS调用;ACS方法,ACS设备支持,可以被CPE调用)。此外,TR069还对RPC方法中使用的数据类型做了定义,只能使用SOAP定义的的数据类型中的部分。
    • RPC函数

      • CPE函数参数(TR069协议的数据类型)
        网络架构上包含两种设备类型,故包含两套数据模型:
      1. 网络网关设备(Interner Gateway Device),如路由器,缩写为IGD DM(Data Model);

      2. 网关下普通局域网设备(LAN Device),如可视电话,缩写为Device DM(Data Model)
        TR069协议定义了其中网关设备的数据模型

        参数名 :使用由类似树型的点分层关系组织起来。树干为需要配置的对象,树叶为具体的配置参数,所有配置参数都具有是否可读写属性
        如 :InternetGatewayDevice.IPPingDiagnostics.Interface
        参数类型 :基于SOAP的数据类型

CPE侧RPC方法中文说明ACS侧RPC方法获取RPC方法列表
GetRPCMrthods获取RPC方法列表GetRPCMthods获取RPC方法列表
SetParameterValuesACS设置参数值Inform与ACS建立连接,通知
GetParameterValuesACS获取参数值TransferComplete通知传输完成
GetParameterNamesACS获取参数列表AutonomousTransferComplete通知传输完成(自动)
SetParameterAttributesACS设置参数属性
GetParameterAttributesACS获取参数属性
AddObjectACS增加一个新实例
DeleteObjectACS删除特定实例
Reboot重启
Download下载指定文件
Upload上传指定文件
FactoryReset恢复出厂设置

关于RPC协议基础

能够发送HTTP报文,证明TCP已经成功建立,也就是说Socket已经成功建立。那么服务器端和客户端如何相互调用对方的方法来实现自己想要进行的操作,这就需要用到RPC(Remote Procedure Call)远程调用方法了

远程调用比程序内部直接进行函数调用要复杂很多,RPC协议解决了以下的几个问题:

  • 规定了远程调用的语法,即用何种格式将函数传递给远程进行调用
  • 规定了远程调用的参数格式,即用何种方式将函数的参数传递给远程进行调用
  • 规定了如何获取远程已经支持的函数方法
  • 发生错误、重传、丢包时,应该如何处理

RPC协议的处理流程回路:

在这里插入图片描述

  1. 当客户端要发起一个远程调用时,先通过本地调用的Stub将调用的接口、方法和参数,通过约定的协议进行编码,并通过本地的RPCRuntime进行传输
  2. 服务器端的RPCRuntime在接收到请求之后,交给Stub进行解码,然后调用服务器端的方法
  3. 服务器端方法执行完成之后,再返回给Stub进行编码并通过RPCRuntime返回给客户端
  4. 客户端RPCRuntime接收到结果,交给Stub进行解码,最终在本地返回

SOAP协议基础

上边RPC的结论是,客户端和服务器端需要约定双方都认可的程序、版本、方法等,而这个约定的协议,在TR069中,就被规定为SOAP协议,SOAP(Simple Object Access Protocol)是一个基于XML的通信协议。
抬头:

POST /purchaseOrder HTTP/1.1
Host: www.geektime.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn

正文:

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"><soap:Header><m:Trans xmlns:m="http://www.w3schools.com/transaction/"soap:mustUnderstand="1">1234</m:Trans></soap:Header><soap:Body xmlns:m="http://www.geektime.com/perchaseOrder"><m:purchaseOrder"><order><date>0-0-0</date><className> xxxx </className><Author> xxx </Author><price>68</price></order></m:purchaseOrder></soap:Body>
</soap:Envelope>

SOAP\HTTP: 在Internet环境下实现分布式组件互操作有一个很重要的问题需要解决,那就是所谓的防火墙问题。大多数的防火墙都是基于端口扫描的,而基于CORBA的RPC使用的都不是常用的端口。如果不经过特殊配置,基于CORBA分布式组件调用将被作为恶意访问而拒绝。所以,TR069使用SOAP简单对象访问协议作为RPC报文的封装,利用标准HTTP协议来传送的方式。TR069规定将SOAP与HTTP绑定,以RPC方法调用来实现设备的管理。把SOAP绑定到HTTP提供了同时利用SOAP的分散性、灵活性的特点以及HTTP丰富的特征库的优点。在HTTP上传送SOAP并不是说SOAP会覆盖现有的HTTP语义,而是HTFP上的SOAP语义会自然的映射到HTTP语义。在使用HTTP作为绑定协议时,一个RPC调用自然地映射到一个HTTP请求,RPC应答同样映射到HTTP应答。一般情况下,一个完整的SOAP包的结构包括:一个信封(Envelope)、一个头部(Header)(可选)、一个SOAP体(Body)(必需)。SOAP协议中未说明一个SOAP包中可以包含多个Envelope,TR069采用了多个信封机制,这样增加了一次交换所带的信息量,减少了网络设备之间的数据交换次数。

SSL: SSL协议指定了一种在应用程序协议和TCP/IP协议之间提供数据安全性分层的机制,它为TCP/IP连接提供数据加密、服务器人证、消息完整性以及可选的客户机人证,确保数据在传送中不被改变。TR069协议实现的是远程管理,安全的信息交换是必需的。采用128bit加密算法、数字认证机制,实现CPE和ACS之间的安全信息交换。

CWMP基本功能

ACS可以在任何时候发送CPE连接请求,通过CPE认证(匹配CPE URL、CPE用户、密码)后建立连接。

1.ACS和CPE的自动连接

  • CPE启动,根据获取的URL找到相应的ACS,发起自动连接。
  • CPE使能周期性发送Inform报文的功能,当周期比如2小时到达时,CPE自动发送Inform报文来建立连接。
  • CPE使能定时发送报文。
  • 如果当前会话未结束,连接异常中断,而CPE自动重新连接的次数未达到上限,此时CPE也会重连。

2.支持ACS对CPE的自动配置
CPE上线时,ACS自动下发配置给CPE,完成对CPE的配置.
自动配置的主要参数:

  • (ConfigFile)配置文件
  • (URL)ACS地址
  • (Username) ACS用户名
  • (Password)ACS密码
  • (PeriodicInformEnable)Inform报文自动发送标志
  • (PeriodicInformInterval)Inform报文周期发送时间间隔
  • (PeriodicInformTime)Inform报文定期发送日期

3.支持对CPE系统启动文件和配置文件的上传和下载管理

网络管理员可以将系统启动文件、配置文件等重要文件保存在ACS上,当ACS发现某个文件的版本有更新,将会通知CPE进行下载。CPE收到ACS的下载请求后,能够根据ACS报文中提供的下载地址和文件名,自动到指定的文件服务器下载文件。下载完成后,对下载文件的合法性做相应的检查,并将下载结果(成功或失败)反馈给ACS。目前,设备不支持以数字签名的方式进行的文件下载。
设备支持下载的文件类型有:系统启动文件和配置文件。
同样,为了实现对重要数据的备份,CPE将根据ACS的要求将当前的配置文件上传到指定的服务器。目前,设备支持上传的文件类型有:配置文件。

4.支持ACS对CPE状态和性能的监控
ACS可以监控与其相连的CPE的各种参数。由于不同的CPE具有不同的性能,可执行的功能也各异,因此ACS必须能识别不同类型CPE的性能,并监控到CPE的当前配置以及配置的变更。CWMP还允许网络管理人员自定义监控参数并通过ACS获取这些参数,以便了解CPE的状态和统计信息。

  • 厂商名称(Manufacturer)
  • 厂商标识OUI(Manufacturer OUI)
  • 序列号(SerialNumber)
  • 硬件版本号(HardwareVersion)
  • 软件版本号(SoftwareVersion)
  • 设备状态(DeviceStatus)
  • 启动时间(UpTime)等

【Inform SOAP包信息】

名称描述
DeviceID标识CPE
Event此次Inform发起的原因
Inform调用上报状态
MaxEnvelopesHTTP Response可携带的SOAP包(信封)
CurrentTimeCPE当前时间
RetryCount这次session最大的重复连接数
ParameterList这次Inform函数所带参数

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

相关文章

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;后来经过无数人的改进和完善&…

深度神经网络算法有哪些,最简单的神经网络算法

常见的深度学习算法主要有哪些&#xff1f; 深度学习常见的3种算法有&#xff1a;卷积神经网络、循环神经网络、生成对抗网络。 卷积神经网络(ConvolutionalNeuralNetworks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(FeedforwardNeuralNetworks)&#xff0c;是深度…

神经网络算法基本原理及其实现

目录 背景知识 人工神经元模型 激活函数 网络结构 工作状态 学习方式 BP算法原理 算法实现&#xff08;MATLAB&#xff09; 背景知识 在我们人体内的神经元的基本结构&#xff0c;相信大家并不陌生&#xff0c;看完下面这张图&#xff0c;相信大家都能懂 什么是人工神经…