李勁松, 曾 浩
(重慶郵電大學 通信與信息工程學院, 重慶 400065)
隨著 Internet的發展, IP 語音(VoIP)、 IPTV業務迅速發展,越來越多的 IP 終端設備被引入到網絡中。而IP終端設備作為一個嵌入式計算機系統,軟件在其中起了重要作用。商業應用中的終端,如需解決軟件中存在的Bug,提高運行性能,修改某項業務或應用等,都要對軟件進行升級。因此必須有一套安全、可靠、適用的系統升級方案。
TR069全稱為“CPE廣域網管理協議”。它提供了對下一代網絡中家庭網絡設備進行管理配置的通用框架和協議,用于從網絡側對家庭網絡中的網關、路由器、機頂盒等設備進行遠程集中管理。通過它,我們可以很好地實現對終端設備的遠程升級。
在TR069所定義的框架中,主要包括兩類邏輯設備:受管理的用戶終端設備(CPE)和管理服務器(ACS)。在家庭網絡環境下,需要從網絡側進行配置和管理的設備,一般都是與運營商業務直接相關的設備,比如家庭網關、機頂盒、IP電話終端等。而所有與用戶設備相關的配置、診斷、升級等工作均由統一的管理服務器ACS來完成。
TR069主要由自動配置管理服務器ACS、用戶本地終端設備CPE、業務配置管理服務器及一些必要的管理接口組成。圖1描述了TR069協議在自動配置網絡構架中的定位。ACS為自動配置服務器,負責完成對用戶終端設備CPE的管理。ACS與CPE之間的接口為南向接口,ACS與運營商的其他網管系統、業務管理系統之間的接口為北向接口。TR069協議主要定義了南向接口標準。

圖1 TR069網絡結構
TR069協議的基本思路是利用了在新一代Web服務中廣泛使用的基于SOAP的RPC方法。其會話協議使用的是HTTP1.1協議,因此TR069可以方便地使用Web中的傳送層安全技術,比如SSL/TLS。
圖2描述了CPEWAN管理協議中的協議棧結構。TR069協議棧的下面幾層充分利用了現在廣泛使用的通信協議,比如TCP、HTTP、SOAP等。通過這些成熟的協議,ACS和CPE之間可以方便地建立通信的基本通道。TR069在SOAP之上定義了用于配置、查詢、升級等操作的特定的RPC方法,通信的兩端(ACS和CPE)都可以通過RPC調用來完成某個特定功能的執行和得到返回的結果。

圖2 TR069協議棧
CPE和ACS之間的通信分為ACS發現階段和連接建立階段。在ACS發現階段,CPE需要得知ACS的URL或地址,這些信息可以是預配置在CPE中的,也可以通過DHCP的選項來傳送給CPE。一旦CPE得到ACS的URL或地址,CPE可以在任何時候發起對ACS的連接。
在連接過程中,CPE作為HTTP的客戶端,其SOAP請求通過HTTPPOST發送給ACS;而ACS作為HTTP的服務端,其SOAP請求通過HTTPResponse發送給CPE。在每一個HTTP請求中可以包含多個SOAP請求或響應。
除了上面提到的方式,TR069還明確了ACS可以向CPE發起連接請求的規定,用于完成網絡側發起的異步配置動作等。
本文采用TR069協議描述的RPC方法,CPE與ACS交互流程, 以及DSL Forum 定義的支持TR069協議的STB(機頂盒)數據模型,同時根據IPTV機頂盒系統架構,用軟件實現IPTV機頂盒遠程升級系統在機頂盒中的應用。
IPTV 機頂盒由軟件和硬件兩大部分組成,其中硬件包含了主芯片、內存、調諧解調器、回傳通道、CA(加密系統)接口、外部存儲控制器以及音視頻輸入輸出等部分;軟件主要包括嵌入式操作系統、各類驅動程序和應用層軟件。其中,操作系統由嵌入式Linux操作系統實現,該操作系統便于IPTV機頂盒應用軟件的開發。由于IPTV機頂盒需要實現網絡接入、音視頻播放、用戶控制等功能,所以,機頂盒的軟件部分主要模塊有:網絡接入模塊、流媒體傳送和控制模塊、流媒體播放器模塊、瀏覽器模塊、機頂盒管理及配置模塊、網管模塊、應用層軟件模塊等。 本文所設計的IPTV機頂盒遠程升級系統主要是通過應用層軟件實現IPTV機頂盒的升級。
IPTV機頂盒遠程升級系統主要有3個部分組成:自動配置服務器、HTTP服務器、終端。升級工作流程如圖3所示。

圖3 升級流程圖
2.2.1 安全建立連接流程
盒端主動發起的連接,機頂盒通過HTTP Digest Authentication發起與終端管理系統的認證連接。終端管理系統會要求進行HTTP Digest Authentication認證,認證通過建立連接。本文中連接方式遵循RFC 2617的規定。
2.2.2 開機注冊與信息上報
①盒端開機后,調用Inform方法,上報盒端信息及參數。
②終端管理系統返回Inform Response。
③盒端發起一條空的HTTP Post請求。
④終端管理系統根據盒端信息判斷是否需要更新固件。
⑤如果需要更新固件,參考軟件下載和固件更新流程。
2.2.3 軟件下載和固件更新流程
①終端管理系統經檢查確定盒端的軟件版本需要升級,向盒端發起Download要求。
②盒端重新打開一個文件連接(FTP或HTTP)執行文件下載操作。下載完成后,進行本地軟件升級。盒端升級完成后,若會話斷開,則開始步驟③,若會話仍在進行或新會話已開始,則跳過步驟③和④,從步驟⑤開始執行。
③盒端發起Inform請求,若下載應用中沒有重啟,則Event code為7 TRANSFERCOMPLETE和M DOWNLOAD;若下載應用中伴隨著重啟, 則 Event code為 1 BOOT 、7 TRANSFER COMPLETE和M DOWNLOAD。
④終端管理系統對盒端進行設備認證,合法則終端管理系統返回Inform Response。
⑤盒端發送TransferComplete,上報軟件升級詳細信息。
⑥終端管理系統響應TransferComplete Response。
⑦盒端發送一條空的Http Post請求。
⑧終端管理系統沒有別的請求時,向盒端發送一條空的Http Post響應盒端斷開連接,會話結束。
本方案采用交叉編譯調試的方式,即編譯調試環境建立在宿主機上,開發時使用宿主機上的交叉編譯工具鏈來生成目標板上運行的二進制代碼,然后把可執行文件下載到目標機上運行。本方案中,以裝有Android操作系統的主機作為宿主機。當編譯成功后,通過串口板下載到機頂盒開發板上運行,通過視頻線將視頻信號接入電視機進行用戶體驗測試
本測試方案的主要目的是針對機頂盒自動遠程升級的測試。重點測試機頂盒是否在開機后能夠自動判斷,并根據需要進行升級。圖4為機頂盒成功下載升級包后,發送給終端管理服務器的響應部分信息。

圖4 下載成功盒端響應部分信息
本文通過分析TR069管理協議及其關鍵技術,提出并設計了一種IPTV機頂盒遠程升級系統。測試結果顯示,所設計的方案能夠滿足需求。下一步的工作是改進機頂盒的開機升級機制,加強其對實時性的支持,使用戶在體驗業務的同時進行自動升級。
[1] 蒲艷.基于TR069協議的網管系統的研究[D].北京:華北電力大學, 2011.
[2] 齊少安,梅斌,翟麗平.基于TR069協議實現IPTV盒端管理[J].郵電設計技術,2011(12):12-16.
[3] 黃璇,李文耀,江愛.IPTV 機頂盒的研究及設計[J].光通信研究,2008,150(6):52-54.
[4] 陳毅文.基于TR069的終端管理系統的設計和實現[J].計算機工程與設計,2008(5):74-77.
[5] TR-069,CPE WAN management protocol[S].UK:Jungo Software Technologies Co,2004.
[6] DSL Home-Technical Working Group.Technical report DSL forum TR-135 data model for a TR-069 enabled STB[S].2007.
[7] 孟靜,辛宇.采用TR069協議實現機頂盒的管理功能[J].電視技術, 2009(12):49-51.
[8] 郭先會,曾浩,李致興.TR069協議在IPTV終端管理系統中的研究與應用[J].電視技術,2011(05):60-62,73.
[9] DSL Home-Technical Working Group.Technical report DSL forum TR-069 amendment 1 CPE WAN. management protocol[S].2007.