摘要:通过对IPTV机顶盒管理主要需求和TR069协议特点进行分析,给出了采用TR069协议实现IPTV机顶盒管理的实例化关键流程,对运营商实现IPTV机顶盒管理具有一定的参考价值。
0 前言
随着国内三网融合进程的实质性推进,IPTV业务作为电信运营商和广电运营商业务双向渗透的一个切入点,具有非常大的发展潜力。
IPTV的业务形式除了基本的直播、点播等基本的视频业务外,还包括更多的时移回看、信息浏览、互动游戏、电视课堂等更多的增值业务,因此对机顶盒的智能性、功能的可扩展性要求也越来越高。对于IPTV业务来讲,终端是实现全部业务的基础,是用户对业务体验的唯一媒介,是引导用户消费习惯的重要途径之一。因此必要的终端管理是改善用户体验、提高服务质量、维系客户的重要手段。
1 IPTV盒端管理需求分析
IPTV机顶盒是宽带网环境中的一种典型的用户端设备,相应的远程管理维护的需求主要包括盒端能力信息管理、参数配置、固件升级、告警和日志上传、Ping和TraceRoute测试等。
1.1 盒端能力信息的管理
盒端能力信息的获取便于向用户提供有针对性的业务和服务。盒端能力信息的获得包括从终端厂商获得,或接收盒端的自动信息上报两种主要的渠道,通过对盒端能力信息的管理可以实现用户的恰当分组,给用户提供个性化服务,从而实现分众营销。盒端能力信息主要包括:盒端厂商、盒端型号名称、盒端硬件版本号、盒端软件版本号、盒端当前状态、支持的流控制协议、支持的传输层协议、支持的传输层控制协议、支持的流封装协议、支持的音频编码格式、支持的视频编码格式等。
1.2 盒端参数配置
盒端参数配置管理包括对盒端的参数模型进行查询和对盒端的参数进行配置下发,实现盒端参数的远程管理,从而实现远程维护与管理,节省成本。配置的参数具体可以包括管理类参数(各类服务器的地址等信息)、网络类参数(网关、DNS地址等)和服务类参数(告警门限、日志上报周期等)等。
1.3 盒端固件升级
当盒端固件版本有更新时,需要对版本进行自动升级。只需要对厂商提交过来的固件升级包进行审核,审核后自动对一定范围内的机顶盒进行升级。升级的策略应该可以配置,如按照用户范围、盒端厂商型号、固件版本号等进行选择。
1.4 盒端告警和日志上报
为了统计业务质量等信息,需要盒端具有告警能力,能够上报给盒端管理系统,比如对于超过门限值的丢包率、丢帧率等信息进行告警上报。日志上报主要包括一定时间段内的认证总次数、认证失败的总次数、每次认证失败的详细信息、加入组播的总次数、单播的申请次数、HTTP请求次数、丢包率发生在某个范围内的次数、丢帧在某个范围内次数等等。
1.5 采用Ping和TraceRoute测试
为了诊断网络故障等原因,盒端可以在管理平台的指令下对网络上的主机名或IP地址进行Ping/TraceRoute测试。盒端管理系统负责制定任务,并初始化盒端Ping/TraceRoute测试参数,同时在测试结束后统计盒端测试结果信息。
除了以上IPTV盒端管理的功能需求外,IPTV机顶盒还具有广泛分布于广域网内、数量众多等特点。因此IPTV机顶盒管理协议还要具有更可靠的安全性、简单易实现以及穿越复杂网络环境等特点。
2 TR069管理协议简介
TR069协议是由DSL论坛所开发的技术规范之一,其全称为“CPE广域网管理协议”。其提供了对下一代网络中家庭网络设备进行管理配置的通用框架和协议,用于从网络侧对家庭网络中的网关、路由器、机顶盒等设备进行远程集中管理。
在TR069协议定义的网管模型中管理服务器称为自动配置服务器(ACS),负责完成对用户终端设备(CPE)的管理。ACS与CPE之间的接口称为南向接口,ACS与运营商的其他网管系统、业务管理系统、计费系统之间的接口称为北向接口,TR069协议主要定义南向接口的标准。
TR069协议是一个位于IP之上的应用层协议,其在设计上充分借鉴了Web技术的优点,传输基于传输控制协议(TCP)。ACS与CPE之间的交互采用超文本传输协议(HTTP)方式,其中ACS作为HTTP服务器,CPE作为客户机。通信的两端(ACS和用户设备)都可以通过RPC调用来完成某个特定功能的执行和得到返回的结果。依照TR069协议,CPE与ACS之间采用SSL/TLS、HTTP basic或者HTTP digest进行认证。TR069协议中,在CPE和ACS之间定义了一系列RPC Methods,其中由ACS调用CPE响应的方法主要包括GetRPCMethods、SetParameterValues、GetParame-terValues、GetParameterNames、SetParameterAttributes、
GetParameterAttributes、AddObject、DeleteObject、Rebo-ot、Download、Upload(可选)、FactoryReset(可选)、GetQueuedTransfers(可选)、ScheduleInform(可选)、SetVouchers(可选)、GetOptions(可选)。用于CPE调用ACS响应的方法主要包括GetRPCMethods(可选)、Inform、TransferComplete、RequestDownload(可选)、Ki-cked(可选)。
对于用户设备来讲,TR069协议主要完成以下功能,可以满足IPTV业务盒端管理的需求。
a)用户设备自动配置和动态的业务配置。
b)对用户设备的软件、固件的管理。
c)对用户设备的状态和性能进行监测。
d)通信故障的诊断。
与SNMP协议相比,TR069 协议采用SSL/TLS、HTTP basic或者HTTP digest等加密认证方式可以保证数据的安全性;采用较多Web中成熟的技术,实现简单,降低了开发难度;采用HTTP协议,可以有效地穿越复杂的网络环境。因此,TR069协议比较适合对广域网内的设备进行管理。
结合IPTV机顶盒管理的主要需求和TR069协议的特点及其定义的方法集,下文对采用TR069协议实现IPTV机顶盒管理的关键流程进行实例化说明。
3 实现机顶盒管理的关键流程
3.1 安全建立连接流程
3.1.1 盒端主动发起的连接
图1示出的是盒端主动发起的连接。机顶盒通过HTTP Digest Authentication发起与终端管理系统的认证连接,本文中连接方式遵循RFC 2617的规定。机顶盒主动向终端管理系统发起一个HTTP 连接请求,终端管理系统会要求进行HTTP Digest Authentication认证(本文以采用HTTP Digest安全认证方式为例)。
3.1.2 管理系统主动发起的连接
图2示出的是管理系统主动发起的连接。
a)在盒端管理系统主动发起对盒端的连接请求之前,通过“心跳”,已获得盒端的连接地址(本文以UDP的方式保持心跳连接为例)。
b)盒端在收到UDP请求后,应主动返回相应数据包。
c)盒端与盒端管理系统进行交互后,由盒端作为客户端打开TCP连接,进行正常的PRC交换,并在Inform方法的EventCode代码中填写6 CONNECTION REQUEST。
d)打开连接,建立HTTP摘要认证链接。
以上为盒端与盒端管理系统安全连接的建立过程,本文中后续所有流程均采用此连接方式。
3.2 开机注册与信息上报
图3示出的是开机信息注册与上报流程。
①盒端开机后,调用Inform方法,上报盒端信息及参数。
②盒端管理系统返回Inform Response。
③盒端发起一条空的HTTP Post请求。
④盒端管理系统根据盒端信息判断是否需要更新固件。
⑤如果需要更新固件,参考软件下载和固件更新流程。
⑥如果需要参数配置,由盒端管理系统发起参数配置(参见图4)。
3.3 参数配置流程
①发起Inform请求,如果是盒端管理系统发起的配置请求Eventcode为6 CONNECTIONREQUEST。
②盒端管理系统返回Inform Response。
③盒端发起一条空的Http Post请求。
④盒端管理系统发起GetParameterValues要求,查询盒端上指定的参数值。
⑤盒端响应GetParameterValuesResponse,携带盒端管理系统指定查询的参数值。
⑥盒端管理系统发起SetParameterValues要求,配置盒端管理系统指定的参数模型参数值;(如果参数值不需要配置,⑥、⑦两步可省略)。
⑦盒端响应SetParameterValuesResponse,携带参数值设置结果。
⑧盒端管理系统向盒端发送一条空的Http Post响应。
⑨断开连接。
3.4 软件下载和固件更新流程
图5示出的是软件下载和固件升级流程。
①盒端发起Inform请求,Event code为6 CONNECTIONREQUEST,说明该会话是由盒端管理系统要求而建立的。
②盒端管理系统返回Inform Response。
③盒端发起一条空的Http Post请求。
④盒端管理系统发起GetParameterValues,要求查看盒端的软件版本。
⑤盒端响应GetParameterValuesResponse,要求携带软件版本号。
⑥盒端管理系统经检查确定盒端的软件版本需要升级,向盒端发起Download要求。
⑦盒端重新打开一个文件连接(FTP或HTTP)执行文件下载操作。下载完成后,进行本地软件升级。盒端升级完成后,若会话断开,则开始步骤⑧,若会话仍在进行或新会话已开始,则跳过步骤⑧和⑨,从步骤⑩开始执行。
⑧盒端发起Inform请求,若下载应用中没有重启,则Event code为7 TRANSFERCOMPLETE和M DOWNLOAD;若下载应用中伴随着重启,则Event code为1 BOOT 、7 TRANSFERCOMPLETE和M DOWNLOAD。
⑨盒端管理系统对盒端进行设备认证,合法则盒端管理系统返回Inform Response。
⑩盒端发送TransferComplete,上报软件升级详细信息。
■盒端管理系统响应TransferCompleteResponse。
■盒端发送一条空的Http Post请求。
■盒端管理系统没有别的请求时,向盒端发送一条空的Http Post响应。
3.5 盒端发起故障上报流程
图6示出的是故障上报流程。
①当发生的事件达到设置的上报规则时,则盒端立即发送Inform消息建立与盒端管理系统的会话,并携带告警相关参数,将告警主动上报给盒端管理系统。
②盒端管理系统返回Inform Response。
③当盒端管理系统没有其他请求时,向盒端发送一条空的Http Post响应。
④盒端断开连接,会话结束。
4 结束语
本文结合IPTV机顶盒管理的需求和TR069协议的特点,指出了TR069协议比较适合对广域网内IPTV机顶盒之类的设备进行管理,并且给出了TR069协议在IPTV机顶盒管理中的应用实例流程,此应用流程目前已经在实践中得到了应用,对运营商开展IPTV业务运营过程中的机顶盒管理具有一定的参考价值。
参考文献:
[1] 陈焘. TR-069与SNMP网管协议比较与研究[EB/OL]. [2011-11-10]. http://www.shangxueba.com/share/p1829469.html#down.
[2] TR-069 Amendment 3 CPE WAN Management Protocol[EB/S]. [2011 -11-10]. http://wenku.baidu.com/view/cf60d441336c1eb91a375d13.html.
[3] 李晶. IPTV技术中的终端管理[J]. 科协论坛(下半月),2009(2).
[4] 郭先会,曾浩,李致兴. TR069协议在IPTV终端管理系统中的研究与应用[J]. 电视技术,2011(5).