文中借鉴了一些大神的整理,后面会贴上链接,如侵删

目录

一、概念(来自百度百科)

二、网络元素

三、基本功能

四、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协议)学习相关推荐

  1. TR069协议与商业应用5——TR069协议架构设计

    声明:原创作品,严禁用于商业目的. 如有任何技术问题,欢迎和我交流:19826269205(微信同号). 腾讯课堂链接 B站免费视频部分 文章目录 1. TR069(CWMP)程序设计思想 2. 架构 ...

  2. TR069协议与商业应用1——概述(带目录索引)

    声明:原创作品,严禁用于商业目的. 如有任何技术问题,欢迎和我交流:19826269205(微信同号). 学习链接 免费学习 文章目录 1. 概述 1.1 引言 1. 2 TR069协议规范 1.3 ...

  3. TR069协议向导——一个帮助你了解TR069协议的简明教程(一)

    您也可以到以下地址下载: http://download.csdn.net/source/993034 1.为什么需要TR069    随着VoIP.IPTV等越来越多IP终端设备的普及(尤其在家庭中 ...

  4. TR069协议向导—— 一个帮助你了解TR069协议的简明教程(二)

    您也可以通过以下链接下载该文: http://download.csdn.net/source/994937 上接"TR069协议向导(一)" 6.TR069协议的RPC函数(或称 ...

  5. TR069协议简单理解

    TR069协议简单理解 tr069 协议代码逻辑整理总结: 1.协议初始化 1) log相关的初始化工作: 2) 读取配置文件,包括协议相关参数的初始化.是否第一次运行(为之后第一次inform做准备 ...

  6. TR-069协议介绍

    一.概念 关于TR-069 ①协议命名 TR-069, 全称"Technical Report 069"是由DSL Forum(一个非盈利性的全球行业联盟,致力于发展宽带网络范). ...

  7. TR-069 协议完整的通信过程

    TR-069协议完整的通信过程 以下为设备重启到挂上TR069网管的报文流程解析 (1) 设备启动:根据配置的ACS(自动配置服务器)地址,建立安全的HTTP连接以后,每次连接CPE都必须首先对ACS ...

  8. 『区块链+TR069协议』打造全球通用区块链物联网

    为什么需要『区块链+TR069协议』 通过区块链技术与TR069协议的完美结合,即可在分布式智能设备之间建立互相信任,安全可靠的通信桥梁.同时,又可对海量的,来自全球不同厂商,不同类型的物联网智能设备 ...

  9. TR069协议与商业应用4——TR069服务器测试工具

    声明:原创作品,严禁用于商业目的. 如有任何技术问题,欢迎和我交流:19826269205(微信同号). 腾讯课堂链接 B站免费视频部分 文章目录 1. openACS 2. VigorACS 3. ...

  10. TR069协议向导——一个帮助你了解TR069协议的简明教程(一)【转】

    (转自:https://blog.csdn.net/dreamcode/article/details/3864715) 1.为什么需要TR069    随着VoIP.IPTV等越来越多IP终端设备的 ...

最新文章

  1. React从入门到精通系列之(1)安装React
  2. (Mybatis)复杂查询
  3. 78. Subsets 子集
  4. (装载)C#中AppDomain.CurrentDomain.BaseDirectory与Application.StartupPath的区别
  5. boost windows编译
  6. matlab绘图白边设定
  7. SQL计算宝宝吃奶的时间间隔(二)
  8. 20190817:(leetcode习题)旋转图像
  9. Mac电脑卡在启动模式了怎么办?
  10. 乘着创新的浪潮:协同运输机器人编队的基于模型的开发实施方案
  11. phpstudy的安装教程
  12. 给计算机专业新生的一些学习建议
  13. 功能测试与性能测试常见方法
  14. RFID固定资产管理系统中的RFID标签的使用-新导智能
  15. 富文本带点击事件的解决方案
  16. 服务器自定义npc音乐,Custom NPC 自定义NPC模组自定义音乐添加教程
  17. speedoffice(Word)文字内容怎么添加删除线
  18. jquery getJSON不执行问题解决
  19. 2022海外流媒体十大技术趋势
  20. 苏黎世联邦理工学院计算机科学系,苏黎世联邦理工大学专业设置

热门文章

  1. Android控件 TextView属性大全
  2. Java蓝桥杯——Fibonacci数列
  3. 微电子学属于计算机专业吗,微电子学
  4. 最新QQDIY动态静态名片代码
  5. 1047: 对数表 Python
  6. F30.2018年版本北大中文核心期刊目录
  7. EDA课程设计,可编程逻辑设计课程设计
  8. JavaScript高级程序设计(第三版)阅读笔记
  9. Ubuntu安装谷歌拼音输入法
  10. tensorflow cnn文本分类