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

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

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

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

圖4 下載成功盒端響應(yīng)部分信息
本文通過分析TR069管理協(xié)議及其關(guān)鍵技術(shù),提出并設(shè)計了一種IPTV機頂盒遠程升級系統(tǒng)。測試結(jié)果顯示,所設(shè)計的方案能夠滿足需求。下一步的工作是改進機頂盒的開機升級機制,加強其對實時性的支持,使用戶在體驗業(yè)務(wù)的同時進行自動升級。
[1] 蒲艷.基于TR069協(xié)議的網(wǎng)管系統(tǒng)的研究[D].北京:華北電力大學, 2011.
[2] 齊少安,梅斌,翟麗平.基于TR069協(xié)議實現(xiàn)IPTV盒端管理[J].郵電設(shè)計技術(shù),2011(12):12-16.
[3] 黃璇,李文耀,江愛.IPTV 機頂盒的研究及設(shè)計[J].光通信研究,2008,150(6):52-54.
[4] 陳毅文.基于TR069的終端管理系統(tǒng)的設(shè)計和實現(xiàn)[J].計算機工程與設(shè)計,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協(xié)議實現(xiàn)機頂盒的管理功能[J].電視技術(shù), 2009(12):49-51.
[8] 郭先會,曾浩,李致興.TR069協(xié)議在IPTV終端管理系統(tǒng)中的研究與應(yīng)用[J].電視技術(shù),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.