IGRS和UPnP協(xié)議互連機(jī)制分析
作者:北京郵電大學(xué)自動(dòng)化學(xué)院 徐剛
北京六合萬通微電子技術(shù)有限公司 楊軍
摘 要:IGRS(信息設(shè)備資源共享協(xié)同服務(wù)協(xié)議)與UPnP是數(shù)字家庭網(wǎng)絡(luò)中的兩大主流協(xié)議,本文從組成機(jī)制的角度對(duì)兩個(gè)協(xié)議進(jìn)行了對(duì)比和抽象,闡述了兩種協(xié)議互連的可行性,并提出了設(shè)備互連的解決方案。
關(guān)鍵詞:IGRS;UPnP;協(xié)議機(jī)制;設(shè)備互連
引言
隨著各種信息設(shè)備的功能越來越強(qiáng)大以及網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,設(shè)備間如何更加方便、智能的互聯(lián)以及更好的協(xié)同工作已經(jīng)成為人們關(guān)注的焦點(diǎn)。同時(shí),在以知識(shí)經(jīng)濟(jì)和信息網(wǎng)絡(luò)發(fā)展為主題的今天,技術(shù)標(biāo)準(zhǔn)已成為經(jīng)濟(jì)全球化競(jìng)爭(zhēng)的重要手段。由國(guó)內(nèi)“閃聯(lián)”提出的IGRS協(xié)議和由國(guó)際17大廠商聯(lián)盟提出的UPnP技術(shù)應(yīng)運(yùn)而生,在這種競(jìng)爭(zhēng)中扮演著重要的角色。如何解決好兩大協(xié)議設(shè)備之間的互連互通,將成為今后一段時(shí)間內(nèi)研究和討論的重要課題。
圖1 IGRS體系結(jié)構(gòu)圖
IGRS協(xié)議簡(jiǎn)介
IGRS協(xié)議可以在有限范圍網(wǎng)絡(luò)域(有線、無線)內(nèi),支持多種信息設(shè)備、家用電器、通訊設(shè)備之間的設(shè)備自動(dòng)發(fā)現(xiàn)、動(dòng)態(tài)組網(wǎng)、資源共享和協(xié)同服務(wù),從而提高這些設(shè)備間的互操作性和易用性,并創(chuàng)造出新的應(yīng)用模式和豐富的應(yīng)用。IGRS協(xié)議的體系結(jié)構(gòu)如圖1所示。
UPnP協(xié)議簡(jiǎn)介
UPnP 使用標(biāo)準(zhǔn)的 IP 協(xié)議集,從而保持了網(wǎng)絡(luò)媒體的不可知性, 使用開放的標(biāo)準(zhǔn)協(xié)議,如 TCP/IP、HTTP 和 XML。UPnP 利用了多種現(xiàn)有的標(biāo)準(zhǔn)協(xié)議,使用這些標(biāo)準(zhǔn)化的協(xié)議有助于確保供應(yīng)商之間的互操作性。由于許多協(xié)議已在使用之中,因此,幾乎不需要執(zhí)行任何操作就可以讓 UPnP 設(shè)備在現(xiàn)有的網(wǎng)絡(luò)化環(huán)境中工作。
IGRS和UPnP設(shè)備互連的可行性基礎(chǔ)
IGRS與UPnP協(xié)議組成機(jī)制抽象
IGRS和UPnP協(xié)議都是使用了許多標(biāo)準(zhǔn)的協(xié)議機(jī)制,通過對(duì)兩個(gè)協(xié)議的分析,可以建立抽象協(xié)議模型。
IGRS與UPnP互操作實(shí)現(xiàn)基礎(chǔ)
兩個(gè)協(xié)議都是由設(shè)備間尋址機(jī)制、設(shè)備/服務(wù)發(fā)現(xiàn)機(jī)制、設(shè)備/服務(wù)描述機(jī)制、服務(wù)間控制和調(diào)用機(jī)制、服務(wù)事件與通知機(jī)制組成??梢詮母鱾€(gè)機(jī)制是如何實(shí)現(xiàn)的這一角度上對(duì)兩個(gè)協(xié)議進(jìn)行簡(jiǎn)單比較,從而找出兩個(gè)協(xié)議互連的可行性:
(1)設(shè)備間尋址機(jī)制,UPnP的尋址方式由靜態(tài)IP、動(dòng)態(tài)DHCP和Auto-IP分配相結(jié)合組成,而IGRS協(xié)議中并沒有限定設(shè)備間尋址的問題,設(shè)備間的尋址可以由IGRS協(xié)議以外的機(jī)制來實(shí)現(xiàn)。所以兩個(gè)協(xié)議都支持設(shè)備使用靜態(tài)IP、動(dòng)態(tài)DHCP和Auto-IP的尋址方式。
(2)設(shè)備/服務(wù)發(fā)現(xiàn)機(jī)制,IGRS的設(shè)備/服務(wù)發(fā)現(xiàn)機(jī)制包括了基于全局對(duì)等組和基于主從設(shè)備組的設(shè)備/服務(wù)發(fā)現(xiàn)機(jī)制。UPnP的設(shè)備/服務(wù)發(fā)現(xiàn)機(jī)制使用SSDP協(xié)議,以UDP多播為基礎(chǔ)。IGRS基于全局對(duì)等組的設(shè)備/服務(wù)發(fā)現(xiàn)機(jī)制也建立在SSDP協(xié)議基礎(chǔ)上。通過SSDP協(xié)議,IGRS與UPnP可以實(shí)現(xiàn)設(shè)備/服務(wù)的相互發(fā)現(xiàn)。
(3)設(shè)備/服務(wù)描述機(jī)制, UPnP和IGRS都采用XML模板定義了設(shè)備描述模板,用于描述設(shè)備的各種信息,兩種模板在格式定義上有所區(qū)別,但是IGRS設(shè)備描述模板是可擴(kuò)展的,可以在其中加入U(xiǎn)PnP所能識(shí)別的描述元素。
IGRS采用WSDL作為服務(wù)描述模板,UPnP則使用自定義的UPnP Template Language for services做為服務(wù)描述模板,這兩種模板格式存在較大差異。但是,IGRS的服務(wù)描述中可以加入相應(yīng)的UPnP描述擴(kuò)展,從而使得UPnP設(shè)備可以識(shí)別IGRS服務(wù);IGRS設(shè)備對(duì)UPnP服務(wù)的識(shí)別是通過引入U(xiǎn)PnP服務(wù)描述文檔解析引擎來實(shí)現(xiàn)的。
(4)服務(wù)間控制和調(diào)用機(jī)制,UPnP的服務(wù)調(diào)用機(jī)制采用SOAP協(xié)議實(shí)現(xiàn),IGRS則定義了基于會(huì)話的服務(wù)調(diào)用機(jī)制,同時(shí)支持基于非安全管道的客戶/服務(wù)間交互作為擴(kuò)展接口。IGRS服務(wù)可以在IGRS設(shè)備描述文檔中的服務(wù)描述中加入相應(yīng)的UPnP客戶訪問接口描述,從而實(shí)現(xiàn)與UPnP客戶間的交互和控制。
(5)服務(wù)事件與通知機(jī)制,UPnP采用GENA機(jī)制實(shí)現(xiàn)服務(wù)事件與通知機(jī)制,IGRS則采用基于管道(安全/非安全)的機(jī)制實(shí)現(xiàn)。但通過非安全管道機(jī)制,IGRS服務(wù)可以向UPnP客戶暴露事件訪問接口,實(shí)現(xiàn)與UPnP客戶間的事件交互、服務(wù)的事件訂閱并接收相應(yīng)的事件通知。
IGRS和UPnP設(shè)備
互連的解決方案
圖2為IGRS與UPnP設(shè)備互連的設(shè)備交互圖
IGRS與UPnP設(shè)備發(fā)現(xiàn)和搜索IGRS協(xié)議中指出,IGRS與UPnP協(xié)議的消息接口為239.255.255.250:1900,雙方設(shè)備可以通過偵聽該地址而獲得對(duì)方設(shè)備/服務(wù)的在線宣告,通過向239.255.255.250:1900發(fā)送多播設(shè)備/服務(wù)查找消息,等待符合查找條件的對(duì)方設(shè)備/服務(wù)的查找響應(yīng),從而發(fā)現(xiàn)所需要的設(shè)備/服務(wù)。
當(dāng)設(shè)備離開網(wǎng)絡(luò)時(shí),向239.255.255.250:1900發(fā)送設(shè)備離線宣告消息即可。對(duì)方設(shè)備通過偵聽該離線消息,可以發(fā)現(xiàn)設(shè)備離線。
設(shè)備/服務(wù)描述獲得及解析
當(dāng)設(shè)備發(fā)現(xiàn)對(duì)方設(shè)備/服務(wù)在線宣告消息后,IGRS設(shè)備可通過非安全管道向消息中的相關(guān)字段所指向的URL地址發(fā)出獲取設(shè)備描述的HTTP請(qǐng)求,獲取其設(shè)備描述文檔后,可以根據(jù)UPnP設(shè)備描述文檔格式定義并解析UPnP設(shè)備/服務(wù)的詳細(xì)信息,通過對(duì)描述文檔的解析,可以得到UPnP服務(wù)的描述文件獲取URL地址,UPnP服務(wù)控制入口URL地址,UPnP服務(wù)的事件訂閱入口地址。通過向UPnP服務(wù)的描述文件獲取URL地址,然后發(fā)送HTTP請(qǐng)求即可獲得該服務(wù)的描述文檔,通過對(duì)服務(wù)描述文檔的解析,即可獲知該服務(wù)所支持的詳細(xì)信息。
UPnP設(shè)備也可以獲取并解析IGRS的設(shè)備描述文檔,因?yàn)镮GRS設(shè)備描述模板支持IGRS設(shè)備在IGRS設(shè)備描述中加入U(xiǎn)PnP所定義的各種用于描述UPnP設(shè)備和服務(wù)的元素,以實(shí)現(xiàn)同一個(gè)描述文檔,這樣,既可以描述IGRS設(shè)備,同時(shí)也可以將IGRS設(shè)備以UPnP設(shè)備形式進(jìn)行描述。
服務(wù)控制和事件機(jī)制
IGRS設(shè)備發(fā)現(xiàn)并獲取了UPnP服務(wù)的服務(wù)描述、服務(wù)訪問控制入口地址和服務(wù)事件訂閱入口地址后,可根據(jù)UPnP服務(wù)訪問機(jī)制向UPnP服務(wù)訪問控制入口地址發(fā)送SOAP調(diào)用請(qǐng)求,以實(shí)現(xiàn)對(duì)UPnP服務(wù)的調(diào)用;再通過向服務(wù)事件訂閱入口發(fā)送事件訂閱請(qǐng)求,即可實(shí)現(xiàn)對(duì)UPnP服務(wù)的事件訂閱。
UPnP設(shè)備可以獲得IGRS服務(wù),通過IGRS設(shè)備描述文檔中發(fā)布的服務(wù)訪問控制接口及事件訂閱接口,這些接口地址所包含的IP地址和端口信息應(yīng)該包含在IGRS設(shè)備在線宣告消息當(dāng)中,這樣,UPnP客戶可以通過非安全管道實(shí)現(xiàn)與IGRS服務(wù)的控制和事件訂閱。
結(jié)語(yǔ)
本文介紹了IGRS和UPnP協(xié)議的主要組成機(jī)制,并通過對(duì)這些機(jī)制的分析建立了抽象的協(xié)議模型,從組成機(jī)制的實(shí)現(xiàn)角度解決了兩個(gè)協(xié)議互連的可行性問題,最后提出了兩個(gè)協(xié)議互連的具體方案。
雖然目前可以證明這兩個(gè)協(xié)議可以互連,但是在實(shí)現(xiàn)的細(xì)節(jié)上,有很多問題仍有待于進(jìn)一步解決,如互連過程中的安全問題。