ITMS介绍

news2024/11/27 13:33:39

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/952520.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CorelDRAW快捷键大全

CorelDRAW是一款非常优秀且专业的平面设计软件,为用户多种强大的平面设计所需要用到的功能,帮助用户能够更好的进行设计,快速的达到自己想要的标准。下面小编就给大家分享一下CorelDRAW快捷键大全,有需要的小伙伴快来看一看吧。 …

Vue2023 面试归纳及复习

1. Vue 3中的Composition API(Hooks)是什么?它与Options API有何不同? 答:Composition API是Vue 3中引入的一种新的API风格, 用于组织和重用组件逻辑。它与Options API相比, 提供了更灵活和可…

SQL sever中库管理

目录 一、创建数据库 1.1库界面方式 1.2SQL命令方式 二、修改数据库 2.1库界面方式 2.2SQL命令方式 三、删除数据库 3.1库界面方式 3.2SQL命令方式 四、附加和分离数据库 4.1附加和分离数据库概述 4.2作用 4.3附加和分离数据库方法 4.4示例 一、创建数据库 1.1库…

Spring——Spring读取文件

文章目录 1.通过 value 读取比较简单的配置信息2.通过ConfigurationProperties读取并与 bean 绑定3.通过ConfigurationProperties读取并校验4. PropertySource 读取指定 properties 文件5.题外话:Spring加载配置文件的优先级 很多时候我们需要将一些常用的配置信息比如阿里云os…

protobuf生成golang和grpc代码踩坑记

错误提示:seems to be defined in "*.proto", which is not imported by "*proto". To use it here, please add the necessary import. 这个地方主要是因为包名的问题,假设user.proto文件被product.proto import了,则u…

《Python趣味工具》——文字RPG游戏的开发(附人生选择模拟器的详细讲解及其他多种RPG游戏的源码)

今天我们来学习如何制作一个文字RPG游戏 。 内容主要分为3个部分: part1. 文字游戏(MUD)的趣味历史 part2. 文字游戏的设计方法 part3. 文字游戏功能实现 文章目录 一、文字游戏(MUD)的趣味历史:1. 什么是MUD游戏:2. …

未找到System.Runtime.InteropServices.Marshal.GetTypeFromCLSID(System.Guid) 方法错误

记录此问题实际上是由于.netFrame框架配置太高引起的,一般常见于二次开发中,因为二次开发一般都是引用的com组件,在引用过程中后台代码调用了 Method not found: System.Type System.Runtime.InteropServices.Marshal.GetTypeFromCLSID(Syste…

研发规范第十三讲:阿里 - 如何进行项目稳定性建设

研发规范第十三讲:阿里 - 如何进行项目稳定性建设 本文是研发规范第13讲,阿里巴巴高级技术专家云狄将结合自己多年的经验,从开发规范、开发流程、技术规划与管理三个角度出发,分享对技术TL这一角色的理解与思考,欢迎一…

2、QT的信号与槽

一、什么是信号与槽 一个对象发送一个信号出去,另外一个对象接收到该信号后,会触发相应的槽函数 二、信号与槽的语法 connect(信号的发送者,SIGNAL(信号名称),信号的接收者,SLOT(槽函数)); 1、写法: QT 4 的写法 connect(sende…

Python爬虫:一个爬取豆瓣电影人像的小案例

从谷歌浏览器的开发工具进入 选择图片右键点击检查 ![在这里插入图片描述](https://img-blog.csdnimg.cn/1b38c2a942c441fb8cb545a28bb35015.png 翻页之后发现网址变化的只有start数值,每次变化值为30 Python代码 import requests from bs4 import BeautifulSou…

零基础安装pycuda

零基础安装pycuda 前言安装Visual Studio安装C/C环境添加环境变量 安装pycuda查看系统位数查看python版本下载whl文件 前言 最近开始学习基于python的cuda编程,记录一下pycuda的安装。 在安装pycuda之前,首先需要有NVIDIA的独立显卡并且要安装CUDA和CUD…

程序与进程

一、程序是怎么被执行的 1.在程序中,由引导代码去调用程序中得main函数,而这个过程由链接器完成,链接器将引导代码链接到我们的应用程序构成可执行文件。 2.程序运行需要通过操作系统的加载器来实现,加载器是操作系统中的程序&a…

【javascript实操记录】

功能描述: 1. 利用split()方法对测试数据进行解析:学科,日期 2. 将测试数据封装成对象数组的格式 3. 使用数组的sort()方法和Date对象,将测试数据按照日期从早到晚进行排序 4. 表格数据的静态填充 5. 距离最近考试的倒计时天…

使用 NestJS 和 Prisma 构建 REST API

NestJS是Node.js框架之一,它最近获得了很多开发人员的喜爱和牵引力。本文将教你如何使用NestJS,Prisma,PostgreSQL和Swagger构建后端REST API。 文章目录 介绍您将使用的技术 先决条件假定的知识开发环境 生成 NestJS 项目创建 PostgreSQL 实…

链路聚合原理

文章目录 一、定义二、功能三、负载分担四、分类五、常用命令 首先可以看下思维导图,以便更好的理解接下来的内容。 一、定义 在网络中,端口聚合是一种将连接到同一台交换机的多个物理端口捆绑在一起,形成一个逻辑端口的技术。通过端口聚合&…

数据结构--5.0.1图的存储结构

目录 一、邻接矩阵(无向图) 二、邻接矩阵(有向图) 三、邻接矩阵(网) 四、邻接表(无向图) 五、邻接表(有向图) ——图的存储结构相比较线性表与树来说就复…

AIGC全流程赋能:从剧本到宣发,影视内容全新呈现

“猕猴桃”视频平台在今日发布了2023年第二季度财报,首次公布引入AIGC辅助剧本评估。内部数据显示,AIGC帮助提升剧本评估、预算规划等效率超过90%。“猕猴桃”视频平台还通过AIGC技术实现对影视剧的剧情理解,从而改进搜索结果、推荐和用户互动…

kubernetes deploy standalone mysql demo

kubernetes 集群内部署 单节点 mysql ansible all -m shell -a "mkdir -p /mnt/mysql/data"cat mysql-pv-pvc.yaml apiVersion: v1 kind: PersistentVolume metadata:name: mysql-pv-volumelabels:type: local spec:storageClassName: manualcapacity:storage: 5Gi…

IAR 编译优化 #pragma optimize

在IAR工具菜单栏中 点击 【help】-> 【Serach】 搜索optimize #pragma optimize[goal][level][vectorize][disable] 如果想设置优化速度到最高等级,则如下设置即可 #pragma optimizespeed high int SmallAndUsedOften() { /* Do something here. */ }

分布式事务学习笔记

MySQL事务 1、 MySQL事务隔离级别 读未提交 (READ UNCOMMITTED) (存在脏读的问题)读已提交(READ COMMITTED)可重复读(REPEATABLE READ)串行化(SERIALIZABLE)…