ITMS介绍

ITMS(Integrated Terminal Management System),终端综合管理系统。

主要用于家庭网关的设备注册,初始化自动配置,软件版本升级,远程故障诊断修复和设备监控等。它通过北向连接服开系统用于接收业务工单,南向通过TR069管理通道连接终端,通过安装客户端与ITMS连接用于查看工单、终端情况。

应用场景

功能要求

TR-069协议介绍

CWMP协议(TR069协议)学习​​​​​​​

TR-069网络元素主要有:

①ACS:自动配置服务器,网络中的管理设备。

②CPE:用户端设备,网络中的被管理设备。

③DNSserver:域名服务器。TR-069协议规定ACS和CPE使用URL地址来互相识别和访问,DNS用于帮助解析URL参数。

④DHCP server:动态主机配置协议服务器,给ACS和CPE分配IP地址,使用DHCP报。文中的option字段给CPE配置参数。

用户终端设备属于CPE,使用TR-069协议与ACS进行消息交互。

TR069( Technical Report 069)

全称是" CPE广域网管理协议(CWMP),用于远程终端管理,是 CPE 和 ACS之间沟通的通讯协定。CPE 可以借着这个协定完成服务开通、功能设定、档案上传下载、系统检测 等等初始化及营运管理的必须动作。

CPE/ACS Management Application

该应用程序分别用于CPE广域网管理协议的CPE和ACS, 不属于CPE广域网管理协议的一部分。

RPC Methods

CPE WAN管理协议定义的特定RPC方法。RPC方法包括定义CPE参数,这些参数可由ACS通过与该参数相关的PRC方法访问。

ACS与CPE之间通过TR069协议特有的RPC方法进行互操作

CPE函数由ACS调用,用来对CPE进行管理,如设置CPE参数、获取CPE参数、硬件升级、重启设备等。

ACS函数由CPE调用,用来向ACS上报状态信息,请求硬件镜像文件下载(用来升级硬件)等等。

SOAP

基于XML的标准语法,用于编码远程过程调用,要求支持SOAP 1.1。

ACS与CPE之间进行消息传输基于HTTP1.1,消息内容使用SOAP包进行封装,SOAP包含SOAP head和SOAP body两部分组成的XML格式数据。

HTTP

要求支持HTTP1.1

SSL/TLS

标准的 Internet传输层安全协议。特别的,SSL 3.0 (Secure Socket Layer),TLS 1.0 (Transport Layer Security) 使用SSL/TLS是建议而非要求。

TR069协议的设计允许基于该协议的交互作用具有高度安全性。TR069协议的设计防止CPE和ACS之间事务被篡改,提供事务机密性,及允许多层次认证。

本协议使用下述安全机制:

----协议支持CPE和ACS间的通信传输使用SSL/TLS,提供事务机密性,数据完整性,以CPE和ACS间基于证书的认证。

----HTTP层提供另一种基于共享密钥的CPE认证方法。

TCP/IP

标准TCP/IP

对于用户设备来说,TR-069主要完成以下四方面的工作

一是用户设备自动配置和动态的业务配置。对于ACS来说,每个用户设备可以在协议中对自己作出标志(例如型号、版本等),根据可设定的规则,ACS可以对某一个特定用户设备下发配置,也可以对某一组用户设备下发配置。CPE可以在开机后自动请求ACS中的配置信息,ACS也可在任意需要的时刻主动发起配置。通过该功能可以实现用户设备的"零配置安装"功能,或是可以从网络侧控制业务参数的动态改变。

二是对用户设备的软件、固件的管理。TR-069的协议提供了对用户设备中的软件、固件进行管理和下载的功能。ACS可以识别用户设备的版本号,决定是否远程更新用户设备的软件版本,并且在更新完成后能够得知是否成功。例如,当用户设备需要加载新的软件以实现新的业务功能时,或是当前软件存在必须修复的bug时,通过该功能可以实现对用户设备的远程管理升级。

三是对用户设备的状态和性能进行监测。TR-069定义了ACS对用户设备的状态和性能进行监测的手段。其中包括了一些通用的性能参数,可以反映当前用户设备的工作状态。另外还提供了标准的语法,运营商可以定义额外的参数。

四是对通信故障的诊断。TR-069还定义了可以用户端自我诊断和报告的能力,例如在ACS的指示下,用户端可以通过ping或其它手段检查用户端与网络业务提供点之间的连通性、带宽等,检测结果返回给ACS。这样,运营商通过在远端操作,就可以对用户申告的设备故障进行简单定位,并作相应的处理。

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

以下为设备重启到挂上TR069网管的报文流程解析:

(1) 设备启动:根据配置的ACS(自动配置服务器)地址,建立安全的HTTP连接以后,每次连接CPE都必须首先对ACS发出一个Inform的RPC调用请求来向ACS汇报本次连接的信息。ACS会返回给一个Inform response作为确认连接。

标准的Inform方法的参数如表所示

(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服务器发送空消息结束流程。

TR069协议簇的其他规范

TR069协议不仅仅包括TR-069子协议,还包括其他一些的协议,构成了一个完整的网管协议簇。与之配套的TR-098协议和TR-104协议分别定义了CPE的数据业务的管理参数和VoIP业务的管理参数,WT-135协议用于定义数字机顶盒的管理参数,TR-111协议定义了在家庭内部数字设备上实施TR069网管的机制,WT-121协议则是各个厂家在实现和部署TR069过程中对协议的修订。

TR069事件类型(EVENT CODE对应的含义)

0 BOOTSTAP指出由于CPE第一次安装或是ACS的URL改变而引起会话建立。

这种特殊的情况有:

1)出厂后CWMP端第一次与ACS连接;

2)出厂设置后,CWMP端第一次与ACS连接;

3)由于某种原因ACS的URL改变后CWMP端第一次与ACS连接。

注意,0 BOOTSTARP可能和其他事件代码一起组成事件代码组,例如,在出厂后CPE初始启动时,CPE发送0 BOOTSTARP和1 BOOT事件代码。

1 BOOT当给电或是复位时引起的会话建立,这包括初始系统启动或是由于其他原因的再启动,包括用M Reboot方法,但是不是从待机状态醒来。

2 PERIODIC在周期通知间隔时会话建立,用作心跳包时间。

3 SCHEDULED由于调用ScheduleInform 方法会话建立,这种事件必须只能用M ScheduleInform。

4 VALUE CHANGE指出从上次成功的Inform后,具有Passive和Active通知属性的一个或多个参数的值发生了改变,如果这个事件代码在事件组中,所有修改的参数必须被包含在Inform的参数列表中,如果这个事件被丢弃,那么这些修改的参数也应该同时被丢弃。

5 KICKED指出会话建立的目的是网页验证,并且Kicked方法会在这个会话中调用一次或多次。

6 CONNECTION REQUEST由于ACS(终端管理)发送了连接请求而使会话建立。

7 TRANSFER COMPLETE由于先前请求的下载或上传完成而引起会话建立,TransferComplete方法会在这个会话中调用一次或多次。这个事件代码必须用M Download,M ScheduleDownload,或者是M Upload etc。

8 DIAGNOSTICS COMPLETE当完成了一个或多个由ACS启动的诊断,CPE会用该事件码重新建立起一个连接。

9 REQUEST DOWNLOAD为了调用RequestDownload方法而发起的会话。

10 AUTONOMOUS TRANSFER COMPLETE当不是由ACS请求的上传或下载完成而引起的会话建立(成功或是不成功),Autonmous TransferComplete 方法会在这个会话中调用一次或多次。

11 DU STATE CHANGE COMPLETE为了表明先前请求的DU state改变完成而建立的会话,不管成功与否,DUStateChangeComplete方法会在这个会话中调用。这个方法必须用M ChangeDUState

12 AUTONMOUS DU STATE CHANGE COMPLETE会话建立是要通知ACS DU state改变完成了, 而这个改变不是由于调用ChangeDUState 方法的请求,DUStateChangeComplete方法会在这个会话中调用。

13 WAKE UP由于CPE从待机中苏醒而建立的会话。

开机注册

  1. 终端开机后,调用Inform方法,上报终端信息及参数,Event Code为"0 BOOTSTRAP"或者"1 BOOT";
  2. 终端管理系统对终端进行认证,返回Inform Response;
  3. 终端发起一条空的Http Post请求;
  4. 如果终端认证失败,则直接走到第8步,返回空的HTTP响应,以使终端结束会话。如果认证成功,则需记录或更新终端信息。如果终端管理系统需要的参数在Inform的参数列表里没有,则终端管理系统可以下发GetParameterValues查询参数;
  5. (可选)终端返回GetParameterValuesResponse
  6. (可选)如果终端管理系统需要设置一些参数,则终端管理系统可以下发SetParameterValues设置参数;
  7. (可选)终端返回SetParameterValuesResponse
  8. 如果终端管理系统没有其他任务下发,则下发空的HTTP Response。
  9. 终端结束会话,断开连接。

Inform消息上报的参数列表

参数名称 是否必选
Device.DeviceInfo. HardwareVersion M
Device.DeviceInfo. SoftwareVersion M
Device.DeviceInfo.AdditionalHardwareVersion O
Device.DeviceInfo.AdditionalSoftwareVersion O
Device.DeviceInfo.ModelName O
Device.DeviceInfo.Description O
Device.DeviceInfo.FirstUseDate M
Device.DeviceInfo.UpTime M
Device.ManagementServer. ConnectionRequestURL M
Device.TIME. NTPServer M
Device.LAN. DNSServers M
Device.LAN. AddressingType M
Device.LAN. IPAddress M
Device.LAN. MACAddress M
Device.X_CMCC_OTV. STBInfo. STBID M
Device.X_ CMCC_OTV. ServiceInfo.UserID M
Device.X_ CMCC_OTV. ServiceInfo. PPPoEID M
Device.X_ CMCC_OTV. ServiceInfo.AuthURL M
相关推荐
LingRannn7 分钟前
【最新Python包管理工具UV的介绍和安装】
开发语言·python·uv
Sheep Shaun1 小时前
C++类与对象—下:夯实面向对象编程的阶梯
c语言·开发语言·数据结构·c++·算法
AIGC魔法师2 小时前
轮播图导航组件 | 纯血鸿蒙组件库AUI
开发语言·harmonyos·openharmony·鸿蒙开发·纯血鸿蒙·arkui / ets·鸿蒙组件库aui
后藤十八里2 小时前
Python格式化字符串的四种方法
开发语言·python·学习
Little_Yuu3 小时前
抽奖系统(基于Tkinter)
开发语言·python
sword devil9004 小时前
基于python生成taskc语言文件--时间片轮询
开发语言·python
dudly4 小时前
用Python打造自己的专属命令行工具
开发语言·python·batch命令
AI+程序员在路上4 小时前
Qt6.8中进行PDF文件读取和编辑
开发语言·qt·pdf
球求了4 小时前
Linux 入门:操作系统&&进程详解
linux·运维·服务器·开发语言·学习
像风一样自由20204 小时前
PyQt5 到 PySide6 技术栈转换详解
开发语言·python·qt