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
相关推荐
用户805533698034 天前
不止三件套:QObject 属性系统全关键字与运行时反射!
c++·qt
xcyxiner4 天前
DicomViewer (vcpkg Windows和ubuntu编译)7
qt
Quz9 天前
QML Hello World 入门示例
qt
xcyxiner12 天前
DicomViewer (dcmtk读取dcm文件)5
qt
xcyxiner13 天前
DicomViewer (后台线程处理文件)4
qt
xcyxiner13 天前
DicomViewer (添加模型类)3
qt
xcyxiner14 天前
DicomViewer (目录调整) 2
qt
xcyxiner14 天前
dcmtk vtk vtk-dicom(gdcm) 编译(debug) v2
qt
LDR00616 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术16 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript