CWMP 开发漫谈
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 开发漫谈相关推荐
- 【软件创新实验室2021年寒假集训】Java后端开发漫谈及感悟分享
系列文章目录 [软件创新实验室2021年寒假集训]汇总篇 20级Java培训 第一天:[软件创新实验室2021年寒假集训]Java技术培训--Java前置知识学习 第二天:Java基础(一) 第三天: ...
- 开发漫谈:RedMonk编程语言流行榜出炉
世界上的语言千万种,但在程序猿的眼中,优秀的语言永远只有1种.一百个读者眼中有一百个哈姆雷特,一百个程序员眼中,也有一百种不同的最好编程语言. 尽管如此,不同的关注开发的平台还是会不是的关注编程语言的 ...
- 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
2007年诞生的Go语言,凭借其近C的执行性能和近解析型语言的开发效率,以及近乎完美的编译速度,席卷全球.Go语言相关书籍也如雨后春笋般涌现,前不久,一本名为<Go语言并发之道>的书籍被翻 ...
- CFD软件开发漫谈-1: 整体规划
CFD软件规划 做一个CFD软件, 前处理, 求解器+求解器界面, 后处理 要绝对分开 0 最最重要的是数据 首先要选用或者自研一个高性能的数据交换格式 以前没有, 现在有好多了. 最糙的做法就是js ...
- iOS 大型项目开发漫谈
从http://www.cocoachina.com/ios/20150828/13170.html转载,谢谢写这篇文章的大神! 标题有些吓人请不要害怕,不过这确实不是扫盲贴,需要一定的iOS开发基础 ...
- iOS大型项目开发漫谈
标题有些吓人请不要害怕,不过这确实不是扫盲贴,需要一定的iOS开发基础.在我多年的码农生涯中绝大部分时间都是做的小项目,大一些的可能也就是百万行代码的样子,跟Windows系统几千万行源码比简直就是小 ...
- 开发漫谈:我爱编程语言的四大原因
那个编程语言最好?相信这个问题在程序员的世界里一定无法达成共识,所以世界上只存在衡量编程语言的受关注程度的排行,却不会出现评价语言好坏的排行榜(不排除排名的人受到攻击的可能性).那么在程序员入门时,是 ...
- SAP 产品 UI 里的容器组件的概念和开发概述
这是 Jerry 2021 年的第 68 篇文章,也是汪子熙公众号总共第 345 篇原创文章. Jerry 之前的文章,谈谈 SAP 产品 UI 开发中的组件概念,曾经提到,无论基于何等开发技术的 S ...
- 谈谈 SAP 产品 UI 开发中的组件概念
这是 Jerry 2021 年的第 54 篇文章,也是汪子熙公众号总共第 331 篇原创文章. 任何企业级软件的前端开发,都离不开组件(Component)这个概念.撇开具体的 UI 开发技术不谈,所 ...
- 一个 SAP 开发工程师十余年的技术写作之路回顾
这是 Jerry 2021 年的第 31 篇文章,也是汪子熙公众号总共第 307 篇原创文章. 本文目录 汪子熙公众号的风格定位 为什么我会开始在微信公众号上书写技术文章 我的写作素材从哪里来 坚持了 ...
最新文章
- 50 行 Python 代码,带你追到最心爱的人
- linux我安装虚拟机后安装FTP出现如下错误求解决
- 网站优化之如何更快速的提升权重?
- 计算机开不开机是什么原因是什么原因,电脑开不了机的原因,详细教您电脑开不了机怎么办...
- mysql之 OPTIMIZE TABLE整理碎片
- TensorFlow简介:向量对象
- python-函数入门(二)
- GitHub简单教程
- 美式期权损益图matlab,期权损益图的画法
- logmmse降噪算法
- 图像几何运算——Matlab实现
- 生信学习——转录组测序分析的大致流程
- 计算机图形图像设计构图的基本形式,设计构图的八大基本表现手法!你造吗?...
- 【Linux】Linux环境基础开发工具的使用 ———(yum、vim、gccg++、gdb、make/Makefile、进度条 、git)
- 网易16年春季实习生招聘的一道算法题
- 微软Office 2013:会受企业待见的最佳新功能
- 优秀架构师必须掌握的架构思维 - 菜鸟架构(转载)
- 服务器系统 cad,CAD协同设计管理平台教程之服务器安装
- 软件自动化测试简介,1.1 自动化测试简介
- 基于WIN32 API界面编程实现的华容道小游戏