CWMP协议(TR069协议)学习
文中借鉴了一些大神的整理,后面会贴上链接,如侵删
目录
一、概念(来自百度百科)
二、网络元素
三、基本功能
四、CWMP协议栈
五、远程调用方法(RPC)详细的RPC方法定义请参见TR-069
六、inform的事件
七、TR069完整通信流程
八、详细业务流程可参考博客
一、概念(来自百度百科)
CWMP(CPE WAN Management Protocol,CPE 广域网管理协议),编号为TR-069,所以又被称为TR-069 协议。它提供了对下一代网络中家庭网络设备进行管理配置的通用框架、消息规范、管理方法和数据模型。
CWMP 主要应用于DSL 接入网络环境。在DSL 接入网络中,由于用户设备数量繁多、部署分散,通常位于用户侧,不易进行设备的管理和维护,CWMP 提出通过ACS(Auto-Configuration Server,自动配置服务器)对CPE(Customer Premises Equipment,用户侧设备)进行远程集中管理,解决CPE 设备的管理困难,节约维护成本,提高问题解决效率。
二、网络元素
·ACS:自动配置服务器,网络中的管理设备。
·CPE:用户端设备,网络中的被管理设备。
·DNS server:域名服务器。CWMP 协议规定ACS 和CPE 使用URL 地址来互相识别和访问,DNS 用于帮助解析URL 参数
·DHCP server:动态主机配置协议服务器。给ACS 和CPE 分配IP 地址,使用DHCP 报文中的option 字段给CPE 配置参数
主要框架为:
三、基本功能
1. ACS 和CPE 的自动连接
CPE可完成部分配置实现ACS与CPE的自动连接(比如说配置心跳上报周期等)
2. 支持ACS 对CPE 的自动配置
被管理设备(CPE)接收来自ACS发起的配置请求,请求包括了协议标准的参数(比如TR098、TR181等协议规定的数据模型),以及用户自定义的数据模型
3. 支持对CPE 系统启动文件和配置文件的上传/下载管理
被管理设备(CPE)可以从ACS服务器通过协议标准的数据模型上传或下载文件(包括升级软固件包、日志文件、性能统计文件等等)
4. 支持ACS 对CPE 状态和性能的监控
ACS可以通过标准定制的方法监控被管理设备(CPE)的状态和性能统计,同时CPE也可以主动通知ACS自身状态的更新
5.告警上报
被管理设备(CPE)可以主动向ACS服务器上传设备中的告警信息
四、CWMP协议栈
五、远程调用方法(RPC)详细的RPC方法定义请参见TR-069
测试中经常会用到的方法如下
CPE侧的RPC方法:
GetRPCMethods:获取RPC方法列表
SetParameterValues:ACS设置参数值
GetParameterValues:ACS获取参数值
GetParameterNames:ACS获取参数列表
SetParameterAttributes:ACS设置参数属性
GetParameterAttributes:ACS获取参数属性(也包含了参数权限)
AddObject:ACS增加一个实例对象
DeleteObject:ACS删除一个实例对象
Reboot:ACS下发重启命令到设备
Download:ACS从指定的下载目录下下载指定文件
Upload:ACS上传指定文件到指定目录下
FactoryReset:ACS下发恢复出厂命令到设备
ACS侧RPC方法:
GetRPCMethods:获取RPC方法列表
Inform:与ACS建立连接、通知
TransferComplete:通知传输完成,Download或Upload方法调用的传输文件已经结束(不管是成功还是失败都会返回,如果是失败,会有具体的参数返回对应的失败错误码)
AutonomousTransferComplete:通知传输完成(设置了自动传输的时候比如说定时上传,Upload方法调用的传输文件已经传输完成)
六、inform的事件
七、TR069完整通信流程
这篇文章写得很详细,可以参考:
TR-069 协议完整的通信过程_HotCook的博客-CSDN博客_tr069流程
- (1) 设备启动;根据配置的ACS(自动配置服务器)地址,建立安全的HTTP连接以后,每次连接CPE都必须首先对ACS发出一个Inform的RPC调用请求来向ACS汇报本次连接的信息。ACS会返回给一个Inform response作为确认连接。
- (2) ACS服务器接受到设备端(CPE端)发出的inform消息之后,会给予一个 informresponse响应机cwmp连接创建成功
- (3) 设备端发送空消息,表示没有后续的请求
- (4) ACS服务器收到空消息后,根据空消息中携带的序列号对设备进行合法性验证,若验证通过则进行后续操作,若不通过则下发消息提示设备非法。序列号的判断在ACS内部判断,未体现在报文中
- (5) ACS验证设备序列号合法,发送消息要求设备端上报网管的账号信息
- (6) 设备端接收该ACS服务器请求上报账号的消息后,将发送设备上配置的账号信息作为请求的响应
- (7) ACS服务器收到消息后,根据消息中携带的账号信息进行合法性验证,若验证通过则进行后续操作,若不通过则下发消息提示账号非法。序列号的判断在ACS内部判断,未体现在报文中
- (8) ACS验证账号合法,发送消息要求设备从特定URL上下载配置文件
- (9) 设备接收到该消息之后,并根据消息中的URL地址下载配置文件并自动配置,同时给ACS服务器一个下载成功的响应消息
- (10) ACS服务器发送消息,要求设备从特定的URL下载升级文件(是否升级可由用户自行决定)
- (11) 设备接收到该消息之后,并根据消息中的URL地址获取升级文件,同时给予ACS服务器一个响应
- (12) ACS服务器发送空消息结束流程
八、详细业务流程可参考博客
该篇博客有完整的流程和报文,可参考
网络协议篇之CWMP协议(二)—— CWMP(TR-069)业务流程_zqixiao_09的博客-CSDN博客_cwmp协议
CWMP协议(TR069协议)学习相关推荐
- TR069协议与商业应用5——TR069协议架构设计
声明:原创作品,严禁用于商业目的. 如有任何技术问题,欢迎和我交流:19826269205(微信同号). 腾讯课堂链接 B站免费视频部分 文章目录 1. TR069(CWMP)程序设计思想 2. 架构 ...
- TR069协议与商业应用1——概述(带目录索引)
声明:原创作品,严禁用于商业目的. 如有任何技术问题,欢迎和我交流:19826269205(微信同号). 学习链接 免费学习 文章目录 1. 概述 1.1 引言 1. 2 TR069协议规范 1.3 ...
- TR069协议向导——一个帮助你了解TR069协议的简明教程(一)
您也可以到以下地址下载: http://download.csdn.net/source/993034 1.为什么需要TR069 随着VoIP.IPTV等越来越多IP终端设备的普及(尤其在家庭中 ...
- TR069协议向导—— 一个帮助你了解TR069协议的简明教程(二)
您也可以通过以下链接下载该文: http://download.csdn.net/source/994937 上接"TR069协议向导(一)" 6.TR069协议的RPC函数(或称 ...
- TR069协议简单理解
TR069协议简单理解 tr069 协议代码逻辑整理总结: 1.协议初始化 1) log相关的初始化工作: 2) 读取配置文件,包括协议相关参数的初始化.是否第一次运行(为之后第一次inform做准备 ...
- TR-069协议介绍
一.概念 关于TR-069 ①协议命名 TR-069, 全称"Technical Report 069"是由DSL Forum(一个非盈利性的全球行业联盟,致力于发展宽带网络范). ...
- TR-069 协议完整的通信过程
TR-069协议完整的通信过程 以下为设备重启到挂上TR069网管的报文流程解析 (1) 设备启动:根据配置的ACS(自动配置服务器)地址,建立安全的HTTP连接以后,每次连接CPE都必须首先对ACS ...
- 『区块链+TR069协议』打造全球通用区块链物联网
为什么需要『区块链+TR069协议』 通过区块链技术与TR069协议的完美结合,即可在分布式智能设备之间建立互相信任,安全可靠的通信桥梁.同时,又可对海量的,来自全球不同厂商,不同类型的物联网智能设备 ...
- TR069协议与商业应用4——TR069服务器测试工具
声明:原创作品,严禁用于商业目的. 如有任何技术问题,欢迎和我交流:19826269205(微信同号). 腾讯课堂链接 B站免费视频部分 文章目录 1. openACS 2. VigorACS 3. ...
- TR069协议向导——一个帮助你了解TR069协议的简明教程(一)【转】
(转自:https://blog.csdn.net/dreamcode/article/details/3864715) 1.为什么需要TR069 随着VoIP.IPTV等越来越多IP终端设备的 ...
最新文章
- React从入门到精通系列之(1)安装React
- (Mybatis)复杂查询
- 78. Subsets 子集
- (装载)C#中AppDomain.CurrentDomain.BaseDirectory与Application.StartupPath的区别
- boost windows编译
- matlab绘图白边设定
- SQL计算宝宝吃奶的时间间隔(二)
- 20190817:(leetcode习题)旋转图像
- Mac电脑卡在启动模式了怎么办?
- 乘着创新的浪潮:协同运输机器人编队的基于模型的开发实施方案
- phpstudy的安装教程
- 给计算机专业新生的一些学习建议
- 功能测试与性能测试常见方法
- RFID固定资产管理系统中的RFID标签的使用-新导智能
- 富文本带点击事件的解决方案
- 服务器自定义npc音乐,Custom NPC 自定义NPC模组自定义音乐添加教程
- speedoffice(Word)文字内容怎么添加删除线
- jquery getJSON不执行问题解决
- 2022海外流媒体十大技术趋势
- 苏黎世联邦理工学院计算机科学系,苏黎世联邦理工大学专业设置