TR069协议教程.docx
《TR069协议教程.docx》由会员分享,可在线阅读,更多相关《TR069协议教程.docx(27页珍藏版)》请在冰豆网上搜索。
![TR069协议教程.docx](https://file1.bdocx.com/fileroot1/2023-7/15/b416050a-e911-41a0-b334-8470b6ab16d5/b416050a-e911-41a0-b334-8470b6ab16d51.gif)
TR069协议教程
1.为什么需要TR069
随着VoIP、IPTV等越来越多IP终端设备的普及(尤其在家庭中的普及),大量设备的配置和维护变得越来越困难,大大提高了网络产品运营商的成本,传统的基于SNMP的网管系统面对众多的终端设备时显得力不从心,限制了宽带接入市场的发展速度和规模。
TR069定义了一套全新的网管体系结构,包括“管理模型”,“交互接口”,“管理参数”,在很大程度上减少了网络产品的运为成本。
2.什么是TR069协议
TR069是数字用户线(DSL)论坛(已改名为BroadbandForum)制定的一个面向终端设备的网管协议,称为“用户终端设备广域网管理协议(CWMP)”,DSL论坛的文档编号为TR069。
3.TR069协议发展现状
自2004年5月DSL论坛推出该协议以来,个大运营商纷纷部署基于TR069的终端设备。
但从协议的发展情况看,TR069仍然处于不断完善的过程中。
4.TR069协议网络架构
ACS为自动配置服务器,负责对终端设备CPE进行管理。
ACS与
CPE间的接口为南向接口,ACS与管理系统间的接口为北向接口。
TR069协议主要定义了南向接口。
5.TR069的实现(协议栈)
(1)TR069协议基于TCP层;
(2)ACS与CPE间的消息传输使用HTTP1.1,ACS为HTTP服务器,CPE为HTTP客户端;
(3)消息的具体内容使用SOAP包进行封装,SOAP包是一个包含
SOAPHead(SOAP头)和SOAP
Body(SOAP体)组成的XML文档
(4)ACS的管理方法就是对CPE上的管理函数进行远程调用,因此需要向CPE传输要调用的函数名及参数,这些内容包含在SOAP体中。
ACS并不直接对设备本身的接口进行调用,ACS所使用的函数为
TR069的标准函数(称作TR-069RPCMethods),CPE需要通过一
个设备上的中间层解析出RPC方法,再由这个中间层调用设备自身的
接口,这个中间层就是TR069Agent。
(5)使用SSL/TLS并不强制要求,确保CPE和ACS之间基于证书的
鉴权
——————————————
CPE/ACSManagementApp
——————————————
RPCMethod
——————————————
SOAP
——————————————
HTTP1.1
——————————————
SSL3.0orTLS1.0
——————————————
TCP/IP
——————————————
6.TR069协议的RPC函数(或称RPC方法)
如上所述ACS与CPE之间通过TR069协议特有的RPC方法进行互
操作。
CPE函数由ACS调用,用来对CPE进行管理如:
设置CPE参数、
获取CPE参数、硬件升级、重启设备等;
ACS函数由CPE调用,用来向ACS上报状态信息,请求硬件镜像文
件下载(用来升级硬件)等等。
这些方法中有些是必须的有些是可选的(Required/Optional)
7.CPE函数参数(TR069协议的数据模型)
网络架构上包含两种设备类型,因此包含两套数据模型:
(1)网络网关设备(InternetGatewayDevice),如路由器,缩写为IGD
DM(DataModel)
(2)网关下的普通局域网设备(LANDevice),如可视电话,缩写为
DeviceDM(DataModel)
TR069协议定义了其中网关设备的数据模型
参数名:
使用由类似树型的点分层关系组织起来。
树干为需要配置
的对象,树叶为具体的配置参数,所有配置参数都具有是否可读写属
性。
如:
InternetGatewayDevice.IPPingDiagnostics.Interface参数类型:
基于SOAP的数据类型
8.函数具体功能(TR069协议的功能)
(1)自动配置和动态业务服务(Auto-configurationanddynamicservice
provisioning)
TR069协议规定了ACS可以在CPE第一次上线或上线后的任何时候对CPE进行配置如:
ACS使用CPE函数中的set方法对CPE进行
配置。
(2)软件和硬件镜像管理(Software/Firmwareimagemanagement)
TR069协议规定了软件和硬件版本号鉴权机制,和下载触发机制
(CPE和ACS都可以主动发起下载),以及下载失败后的通知机制
如:
ACS使用CPE函数中的download和upload方法,下载新
的版本以供升级设备或上传当前版本软件镜像文件
(3)状态和性能监控(Statusandperformancemonitoring)
TR069协议规定了一种CPE随时(有些地方翻译为“动态”)上报
给(有些地方翻译为“通知”)ACS它自身状态的机制
如:
CPE使用ACS函数的inform方法:
CPE通过定时调用ACS
的inform方法上报硬件状态信息
[InformSOAP包信息]
DeviceID
标识
CPE
Event
此次
Inform
发起的原因
如:
2PERIODICCPE
周期性的发起
Inform调用,上报状态
MaxEnvelopesHTTPResponse可携带的SOAP包(信封)
CurrentTimeCPE当前时间
RetryCount这次Session最大的重复连接数
ParameterList这次Inform函数所代参数
[一个InformSOAP包例子]
Envelope
xmlns:
SOAP-ENV="http:
//schemas.xmlsoap.org/soap/envelope/"
xmlns:
SOAP-ENC="http:
//schemas.xmlsoap.org/soap/encoding/"
xmlns:
xsi="http:
//www.w3.org/2001/XMLSchema-instance"
xmlns:
xsd="http:
//www.w3.org/2001/XMLSchema"
xmlns:
cwmp="urn:
dslforum-org:
cwmp-1-0">
Header>
IDSOAP-ENV:
mustUnderstand="1">
inform
ID>
Header>
Body
SOAP-ENV:
encodingStyle="http:
//schemas.xmlsoap.org/soap/encoding/">
Inform>
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
000000000001
type="SOAP-ENC:
Array"SOAP-ENC:
arrayType="cwmp:
EventStruct[1]">
2PERIODIC
1
2009-01-15T06:
28:
06
1
type="SOAP-ENC:
Array"
SOAP-ENC:
arrayType="cwmp:
ParameterValueStruct[7]">
InternetGatewayDevice.DeviceInfo.SpecVersion
type="xsd:
string">
4.0
Inform>
Body>
Envelope>
(4)诊断(Diagnostics)
支持ACS到CPE的诊断,来解决连通或业务问题,或执行预定义
的诊断测试功能
如:
ACS使用CPE函数中的get方法:
首先ACS会调用CPE的set方法,set一些诊断需求如IPPing如:
InternetGatewayDevice.IPPingDiagnostics.Interface
要求CPE对自身诊断,然后ACS通过CPE的get方法获得诊断
结果
9.TR069协议的安全性
TR069协议支持使用“SSL/TLS”的证书鉴权机制,CPE必须使用ACS
提供的证书来鉴
权ACS。
如果CPE没有经过SSL/TLS认证,ACS就必须使用HTTP对CPE
进行认证;如果已经通过“SSL/TLS”认证,ACS可以使用“HTTPbasic”
认证或“HTTPdigest认”证