CWMP ( CPE  WAN  Management protocol) 俗称TR069。 对用户终端设备远程自动化管理的协议。网上资料很多,现就工作中遇到的问题做个总结(主要是ACS服务器和CPE对接问题):

1.和菲律宾项目 ACS对接,服务器端测试比较简单,反馈了连接问题和一些数据类型不匹配的问题。对接时需要的数据  SN , MACAddr,OUI,WAN  IP  addr。DataModel  的完善。

2.和马来西亚  项目ACS对接,Datamodel 不停的增加新需求。  客户不停地换ACS服务器,通信时  ACS 和 CPE之间的  鉴权/验证问题。不同服务器有不同验证方式,Basic  ,base 64,md5加密。Download  Upload  时 鉴权和流程问题。Device log ,  backup  用到upload  方法,Upgrade ,  restore需要download 方法。ACS服务器页面上显示  不属于  TR069 协议中规定的内容,需要和服务器端确认 通过何种方式验证和显示。配置项的更改和获取属于 TR069协议中的内容,具体实现和平台相关。Upgrade  过程中需要注册 多个信号 ,(SIGINT , SIGALARM,SIGUSR1,SIGUSR2),Upgrade 的时候和  平台 QCMAP中信号机制冲突,信号不能阻塞,导致  Segmentation  default。

3.TR069 分层, TCP/IP 属于底层,HTTP 层实现文件数据交互,ACS/CPE 层自定义,需要两端沟通一致。

4.TR069 扩展为 TR098 TR143的数据模型,新增 ping diagnostics , trace route diagnostics ,  performance test (Download  和 upload test) , 涉及到网络层TCP 协议的内容。需要获取  BOM , EOM , ROM  ,TCPOPENSYNTIME  TCPOPENACKTIME ,用HTTP 层的数据实践代替,具体 用 HTTP  connect 前的时间作为 SYN包 时间 ,  connect 后的时间作为 ACK包的时间, request 的时间作为 ROM, 第一个数据包 接收 / 发送 前的时间作为 BOM ,最后一个数据包 接收 / 发送后的时间作为EOM。结果返回给服务器。

5.TR069中对信号的处理,TR069需要注册多个信号作为中断, SIGALAM, SIGUSR1 , SIGUSR2,SIGINT,会和进程中其他进程信号机制产生冲突,注册信号时需要特别注意。如ping 诊断时需要用到 SIGALAM 信号,QMI 中用到多个信号,可能会产生冲突。

6,TR069功能使用HTTP协议和服务器交互,组HTTP的时候要特别注意包的格式,包的内容,对不同的结果发送不同的回复包,需要特别注意  服务器的鉴权方式,登陆的时候需不需要认证,download upload 的时候是否需要认证等

CWMP 开发漫谈相关推荐

  1. 【软件创新实验室2021年寒假集训】Java后端开发漫谈及感悟分享

    系列文章目录 [软件创新实验室2021年寒假集训]汇总篇 20级Java培训 第一天:[软件创新实验室2021年寒假集训]Java技术培训--Java前置知识学习 第二天:Java基础(一) 第三天: ...

  2. 开发漫谈:RedMonk编程语言流行榜出炉

    世界上的语言千万种,但在程序猿的眼中,优秀的语言永远只有1种.一百个读者眼中有一百个哈姆雷特,一百个程序员眼中,也有一百种不同的最好编程语言. 尽管如此,不同的关注开发的平台还是会不是的关注编程语言的 ...

  3. 融云开发漫谈:你是否了解Go语言并发编程的第一要义?

    2007年诞生的Go语言,凭借其近C的执行性能和近解析型语言的开发效率,以及近乎完美的编译速度,席卷全球.Go语言相关书籍也如雨后春笋般涌现,前不久,一本名为<Go语言并发之道>的书籍被翻 ...

  4. CFD软件开发漫谈-1: 整体规划

    CFD软件规划 做一个CFD软件, 前处理, 求解器+求解器界面, 后处理 要绝对分开 0 最最重要的是数据 首先要选用或者自研一个高性能的数据交换格式 以前没有, 现在有好多了. 最糙的做法就是js ...

  5. iOS 大型项目开发漫谈

    从http://www.cocoachina.com/ios/20150828/13170.html转载,谢谢写这篇文章的大神! 标题有些吓人请不要害怕,不过这确实不是扫盲贴,需要一定的iOS开发基础 ...

  6. iOS大型项目开发漫谈

    标题有些吓人请不要害怕,不过这确实不是扫盲贴,需要一定的iOS开发基础.在我多年的码农生涯中绝大部分时间都是做的小项目,大一些的可能也就是百万行代码的样子,跟Windows系统几千万行源码比简直就是小 ...

  7. 开发漫谈:我爱编程语言的四大原因

    那个编程语言最好?相信这个问题在程序员的世界里一定无法达成共识,所以世界上只存在衡量编程语言的受关注程度的排行,却不会出现评价语言好坏的排行榜(不排除排名的人受到攻击的可能性).那么在程序员入门时,是 ...

  8. SAP 产品 UI 里的容器组件的概念和开发概述

    这是 Jerry 2021 年的第 68 篇文章,也是汪子熙公众号总共第 345 篇原创文章. Jerry 之前的文章,谈谈 SAP 产品 UI 开发中的组件概念,曾经提到,无论基于何等开发技术的 S ...

  9. 谈谈 SAP 产品 UI 开发中的组件概念

    这是 Jerry 2021 年的第 54 篇文章,也是汪子熙公众号总共第 331 篇原创文章. 任何企业级软件的前端开发,都离不开组件(Component)这个概念.撇开具体的 UI 开发技术不谈,所 ...

  10. 一个 SAP 开发工程师十余年的技术写作之路回顾

    这是 Jerry 2021 年的第 31 篇文章,也是汪子熙公众号总共第 307 篇原创文章. 本文目录 汪子熙公众号的风格定位 为什么我会开始在微信公众号上书写技术文章 我的写作素材从哪里来 坚持了 ...

最新文章

  1. 50 行 Python 代码,带你追到最心爱的人
  2. linux我安装虚拟机后安装FTP出现如下错误求解决
  3. 网站优化之如何更快速的提升权重?
  4. 计算机开不开机是什么原因是什么原因,电脑开不了机的原因,详细教您电脑开不了机怎么办...
  5. mysql之 OPTIMIZE TABLE整理碎片
  6. TensorFlow简介:向量对象
  7. python-函数入门(二)
  8. GitHub简单教程
  9. 美式期权损益图matlab,期权损益图的画法
  10. logmmse降噪算法
  11. 图像几何运算——Matlab实现
  12. 生信学习——转录组测序分析的大致流程
  13. 计算机图形图像设计构图的基本形式,设计构图的八大基本表现手法!你造吗?...
  14. 【Linux】Linux环境基础开发工具的使用 ———(yum、vim、gccg++、gdb、make/Makefile、进度条 、git)
  15. 网易16年春季实习生招聘的一道算法题
  16. 微软Office 2013:会受企业待见的最佳新功能
  17. 优秀架构师必须掌握的架构思维 - 菜鸟架构(转载)
  18. 服务器系统 cad,CAD协同设计管理平台教程之服务器安装
  19. 软件自动化测试简介,1.1 自动化测试简介
  20. 基于WIN32 API界面编程实现的华容道小游戏

热门文章

  1. 魅族手机无法链接ADB的解决方法
  2. springboot面试题
  3. SAP 金税解决方案
  4. 为什么我们需要更注重源代码安全?
  5. 组合逻辑与时序逻辑的区别
  6. USB 转 RS-485 / 422 接口转换器
  7. RT-Thread学习笔记|74HC595驱动数码管详解
  8. 全战三国战斗结束卡住_《全面战争:三国》新手指南!全系统解析+上手攻略(上)...
  9. 《麦肯锡方法》第7章 进行研究-思维导图
  10. 80x86汇编小站站长简单介绍