顧雅珍,唐慧佳
(1.赤峰學(xué)院 計(jì)算機(jī)與信息工程學(xué)院,內(nèi)蒙古 赤峰 024000;2.西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,四川 成都 610031)
TR-069協(xié)議研究及在網(wǎng)關(guān)上的實(shí)現(xiàn)
顧雅珍1,2,唐慧佳2
(1.赤峰學(xué)院 計(jì)算機(jī)與信息工程學(xué)院,內(nèi)蒙古 赤峰 024000;2.西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,四川 成都 610031)
為了適應(yīng)家庭數(shù)字業(yè)務(wù)的迅速發(fā)展,家庭網(wǎng)絡(luò)終端設(shè)備需要支持的業(yè)務(wù)也更多樣,更復(fù)雜.網(wǎng)管協(xié)議TR-069以其獨(dú)特的優(yōu)勢,很好的解決了對(duì)用戶側(cè)設(shè)備的業(yè)務(wù)配置及管理困難.TR-069采用的協(xié)議結(jié)構(gòu),保證了服務(wù)器端與用戶端通信的安全與流暢,并且不需要維護(hù)一個(gè)長期的連接.介紹了協(xié)議中的通信機(jī)制及協(xié)議在網(wǎng)關(guān)上的實(shí)現(xiàn);最后展望了TR-069協(xié)議的應(yīng)用前景.
TR-069;CPE;ACS;RPC;網(wǎng)關(guān)
近年來,以電信寬帶網(wǎng)絡(luò)為基礎(chǔ)的IP增值業(yè)務(wù)得到迅速發(fā)展,相應(yīng)的多種多樣的IP終端設(shè)備被引入到家庭網(wǎng)絡(luò)中.這些設(shè)備分布在不同地區(qū),網(wǎng)元數(shù)量非常龐大,需要通過遠(yuǎn)程集中的方式來管理.傳統(tǒng)的基于簡單網(wǎng)絡(luò)管理協(xié)議(SNMP)的網(wǎng)管系統(tǒng),在管理數(shù)目眾多的終端設(shè)備時(shí)已顯得越來越力不從心.這就迫切需要有一個(gè)使用高效,運(yùn)行安全,操作方便的協(xié)議來解決這一難題.
TR-069協(xié)議是數(shù)字用戶線 (DSL:Digital Subscriber Line)論壇制訂的一個(gè)面向終端設(shè)備的網(wǎng)管協(xié)議,稱為用戶終端設(shè)備廣域網(wǎng)管理協(xié)議CWMP(CPE WAN Management Protocol),DSL論壇的文檔編號(hào)為TR-069.它和其他相關(guān)協(xié)議一起定義了一套全新的網(wǎng)管體系結(jié)構(gòu),提供了對(duì)下一代網(wǎng)絡(luò)中家庭網(wǎng)絡(luò)設(shè)備進(jìn)行管理配置的通用框架、管理方法、消息規(guī)范和數(shù)據(jù)模型.
TR-069協(xié)議定義的是一個(gè)協(xié)議框架,功能就是在服務(wù)器端對(duì)用戶端設(shè)備進(jìn)行遠(yuǎn)程管理.協(xié)議中主要包括兩類邏輯設(shè)備:用戶側(cè)設(shè)備 CPE(Customer Premises Equipment)和自動(dòng)配置服務(wù)器 ACS(Auto-Configuration Server).CPE 指任何兼容TR-069協(xié)議的網(wǎng)關(guān)設(shè)備和局域網(wǎng)終端設(shè)備,可以主動(dòng)與ACS發(fā)起連接進(jìn)行會(huì)話.ACS是自動(dòng)配置服務(wù)器,與CPE建立會(huì)話后,可對(duì)其進(jìn)行自動(dòng)配置,診斷,升級(jí)等工作.TR-069協(xié)議通過ACS對(duì)CPE的遠(yuǎn)程集中管理,解決了CPE設(shè)備的管理困難,節(jié)約了維護(hù)成本,提高了問題解決效率.
TR-069采用了成熟的通信協(xié)議、開放的面向?qū)ο蟮墓芾硇畔⒓軜?gòu),具有強(qiáng)大的靈活性和可擴(kuò)充能力,可以滿足各類遠(yuǎn)端用戶的設(shè)備管理和配置需求.TR-069協(xié)議定義的框架是一個(gè)協(xié)議棧,如圖1所示:
TR-069協(xié)議充分利用了WEB的技術(shù)優(yōu)點(diǎn),采用了的C/S結(jié)構(gòu),在普通情況下,CPE是發(fā)送請(qǐng)求的客戶端,ACS是處理請(qǐng)求的服務(wù)器端.
在TR-069所定義的結(jié)構(gòu)中,ACS與CPE通過RPC方法(remote procedure call,遠(yuǎn)程過程調(diào)用)機(jī)制來實(shí)現(xiàn)CPE與ACS兩端的通信.每一個(gè)CPE設(shè)備都有一個(gè)可連通的IP地址.ACS與CPE通信,首先要建立TCP連接,再以HTTP作為載體進(jìn)行會(huì)話.為方便ACS對(duì)CPE的自動(dòng)管理功能,在特定場合下,ACS也會(huì)作為客戶端的角色主動(dòng)與CPE進(jìn)行通信.比如ACS要查詢CPE的狀態(tài),或修改參數(shù)等,都會(huì)主動(dòng)向CPE發(fā)送請(qǐng)求.對(duì)比簡單網(wǎng)絡(luò)管理協(xié)議SNMP,CPE與ACS之間就不需要維護(hù)一個(gè)長久的連接,節(jié)省了帶寬.
每一個(gè)CPE設(shè)備在出廠時(shí)都進(jìn)行了預(yù)配置,主要有WAN側(cè)連接參數(shù)和ACS連接參數(shù).CPE上電后,首次連接時(shí),向DHCP server(動(dòng)態(tài)主機(jī)配置服務(wù)器)發(fā)起IP地址請(qǐng)求報(bào)文,并獲得IP地址,子網(wǎng)掩碼,默認(rèn)網(wǎng)關(guān),動(dòng)態(tài)域名解析服務(wù)器地址等信息.CPE通過出廠時(shí)內(nèi)置的ACS的URL和DNS server(域名系統(tǒng)服務(wù)器),向ACS發(fā)起inform請(qǐng)求.實(shí)現(xiàn)過程如圖2所示.
(1)CPE與ACS建立TCP連接,
(2)SSL初始化,建立安全機(jī)制.
(3)CPE發(fā)送Inform報(bào)文,開始建立TR-069連接.Inform報(bào)文的Eventcode.(事件代碼)為0BOOTSTRAP.事件代碼用來代表事件發(fā)生的類型,也就是CPE為什么要發(fā)出請(qǐng)求.
(4)ACS對(duì)CPE進(jìn)行認(rèn)證,若認(rèn)證通過ACS將返回Inform響應(yīng)報(bào)文,連接建立.
(5)如果CPE沒有別的請(qǐng)求,就會(huì)發(fā)送一個(gè)空?qǐng)?bào)文,以滿足HTTP報(bào)文請(qǐng)求/響應(yīng)報(bào)文交互規(guī)則.
(6)ACS隨機(jī)生成雙向的DIGEST認(rèn)證密碼,通過Set-ParameterValues方法設(shè)置到CPE上.
(7)CPE響應(yīng)ACS的設(shè)置.
(8)ACS順序下發(fā)對(duì)CPE的基本業(yè)務(wù)配置,CPE對(duì)每一項(xiàng)配置做出回應(yīng).
(9)ACS發(fā)送空?qǐng)?bào)文通知CPE沒有別的請(qǐng)求了.
(10)CPE關(guān)閉連接,會(huì)話結(jié)束.
通過TR-069協(xié)議??梢钥闯鐾ㄐ烹p方是以HTTP的方式連接的,所以TR-069的協(xié)議報(bào)文就是HTTP報(bào)文.但又不是簡單的HTTP報(bào)文,它是綁定了SOAP消息、擴(kuò)展的HTTP報(bào)文.在CPE與ACS的通信中,CPE發(fā)送HTTP POST報(bào)文,ACS發(fā)送HTTP response報(bào)文.CPE或ACS的請(qǐng)求都是通過SOAP中的RPC方法表達(dá)出來.根據(jù)協(xié)議相關(guān)實(shí)現(xiàn)設(shè)計(jì)出了如圖3所示企業(yè)網(wǎng)關(guān)上的信息流圖.
當(dāng)網(wǎng)關(guān)收到報(bào)文后,經(jīng)過任務(wù)處理模塊將報(bào)文分配到異步消息處理模塊,然后進(jìn)入到HTTP的處理模塊,此模塊將報(bào)文存儲(chǔ)并提取HTTP報(bào)文頭,逐行分析里面的關(guān)鍵字,處理完成后提取報(bào)文體進(jìn)行分析,報(bào)文體的內(nèi)容其實(shí)就是SOAP消息.進(jìn)入到SOAP的專門處理模塊,通過分析SOAP標(biāo)簽,找到ACS發(fā)送的RPC方法.具體這個(gè)RPC方法要發(fā)生什么動(dòng)作,要由RPC專門處理模塊來識(shí)別.RPC方法所需要的具體參數(shù)由TR-069參數(shù)處理模塊提供.配置管理平面在其中起到橋梁的作用.ACS所要的參數(shù)找到后,再按原來的處理過程原路返回,封裝成報(bào)文后發(fā)送給ACS.
中間的三個(gè)模塊就是TR-069協(xié)議部分,在TR-069指定的協(xié)議TR098中,定義了TR-069協(xié)議的數(shù)據(jù)模型,TR-069的數(shù)據(jù)模型是一個(gè)樹,樹上的每個(gè)節(jié)點(diǎn)都是從用戶角度來看的CPE設(shè)備的配置或參數(shù).所以TR-069協(xié)議實(shí)現(xiàn)時(shí)要維護(hù)一個(gè)虛擬的樹,樹中的每個(gè)節(jié)點(diǎn)信息都包括父節(jié)點(diǎn),左兄弟,右兄弟等信息,以便能快速定位節(jié)點(diǎn).具體節(jié)點(diǎn)值是多少需要通過配置管理平面將配置參數(shù)下發(fā)到TR-069參數(shù)處理模塊,再對(duì)應(yīng)到各應(yīng)用模塊處理.比如ACS使用SetParameterValues RPC方法查詢節(jié)點(diǎn)InternetGatewayDevice.LANDevice.{i}.Hosts.HostNumberOfEntries的值,節(jié)點(diǎn)值的意思是指網(wǎng)關(guān)設(shè)備的某個(gè)局域網(wǎng)接口下連接的主機(jī)設(shè)備個(gè)數(shù).網(wǎng)關(guān)設(shè)備分析報(bào)文后會(huì)根據(jù)節(jié)點(diǎn)名字先到TR-069所維護(hù)的虛擬樹上尋找到此節(jié)點(diǎn),然后在根據(jù)節(jié)點(diǎn)的唯一標(biāo)識(shí)找到節(jié)點(diǎn)值處理的程序入口,再將參數(shù)通過配置管理平面下發(fā)到LANDevice處理模塊,此模塊會(huì)查詢到這個(gè)數(shù)目大小,通過配置管理平面將參數(shù)傳回TR-069協(xié)議部分.
目前網(wǎng)絡(luò)上主要的網(wǎng)管協(xié)議有SNMP、TR-069、遠(yuǎn)程WEB,不同的協(xié)議在交互機(jī)制和管理能力方面都不同,TR-069采用了成熟的通信協(xié)議、開放的面向?qū)ο蟮墓芾硇畔⒓軜?gòu),對(duì)用戶定制特性具有靈活增減性和可擴(kuò)充能力.雖然TR-069在節(jié)點(diǎn)實(shí)現(xiàn)及匹配不同類型服務(wù)器的實(shí)現(xiàn)上還有待改進(jìn),但是隨著家庭數(shù)字業(yè)務(wù)的發(fā)展,運(yùn)營商對(duì)分散的終端設(shè)備的“零配置”要求,越來越多的終端設(shè)備將支持TR-069,該協(xié)議必將取代其它各種設(shè)備專有的配置協(xié)議,成為IP層以上CPE設(shè)備業(yè)務(wù)配置方式的主流.
〔1〕Technical Report DSL Forum.TR-069 CPE WAN Management Protocol v1.1 [R].Issue 1 Amendment 2.DSLHome-TechnicalWorkingGroup,November 2007.
〔2〕TechnicalReportDSL Forum.TR- 098 Internet Gateway Device Data Model For TR-069 [R].A-mendment1.DSLHome- TechnicalWorkingGroup,November 2006.
〔3〕Simpleobjectaccessprotocol1.1[S].TR/2000/NOTESOAP-20000508.
〔4〕陳毅文,劉同佩,孫晶.基于TR-069的終端管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(5):1108-1109.
〔5〕孟德峰,鄭崇蘇,王俊寶.TR069協(xié)議實(shí)現(xiàn)研究[J].中國新通信,2008(12).
〔6〕劉謙.家庭網(wǎng)絡(luò)設(shè)備的遠(yuǎn)程管理技術(shù)[J].電信技術(shù),2006(9):22-25.
〔7〕唐珂,王民.TR069在家庭網(wǎng)關(guān)中的應(yīng)用[J].中興通訊技術(shù),2006(8).
〔8〕劉國萍,譚國權(quán),楊明川.基于TR069實(shí)現(xiàn)寬帶接入業(yè)務(wù)零配置快速開通解決方案[J].電信科學(xué),2009(10A).
TN393.2
A
1673-260X(2012)02-0033-02
國家科技支撐計(jì)劃課題(2011BAH21B0)