IPv6家庭網(wǎng)關(guān)的集中控制技術(shù)
引言
外網(wǎng)用戶(hù)對IPv6家庭網(wǎng)絡(luò )中信息家電進(jìn)行遠程控制是IPv6家庭網(wǎng)絡(luò )的典型應用之一.人們可以在辦公室用電腦開(kāi)啟家中的監視器,查看家中狀況;回家途中用手機開(kāi)啟家里的熱水器并調節到適宜的溫度等,這些都屬于家庭網(wǎng)絡(luò )的遠程控制.IPv6家庭網(wǎng)絡(luò )主要成員包括IPv6家庭網(wǎng)關(guān)、IPv6信息家電等,IPv6家庭網(wǎng)絡(luò )拓撲結構如圖1所示.
IPv6家庭網(wǎng)關(guān)是IPv6家庭網(wǎng)絡(luò )與外部網(wǎng)絡(luò )發(fā)生聯(lián)系的橋梁,也是各種數據進(jìn)出IPv6家庭網(wǎng)絡(luò )的接口.外網(wǎng)用戶(hù)對IPv6家庭網(wǎng)絡(luò )中的信息家電進(jìn)行遠程控制時(shí),IPv6家庭網(wǎng)關(guān)發(fā)揮了重要作用.
在UPnP設備架構中,信息家電內嵌了presen2tation頁(yè)面[1、2],此頁(yè)面是信息家電的控制界面.在家庭外用戶(hù)遠程控制信息家電的過(guò)程中,首先通過(guò)家庭網(wǎng)關(guān)得到信息家電的presentationURL,然后直接訪(fǎng)問(wèn)信息家電的控制頁(yè)面.這種工作方式在控制實(shí)施的過(guò)程中,繞開(kāi)了家庭網(wǎng)關(guān),得以工作的前提條件是可供遠程控制的家電需要支持外網(wǎng)的直接訪(fǎng)問(wèn).對于家庭網(wǎng)絡(luò )來(lái)講,要求每臺信息家電都支持外網(wǎng)訪(fǎng)問(wèn)存在安全隱患.因此,在基于IPv6的UP2nP家庭網(wǎng)絡(luò )中研究家庭網(wǎng)關(guān)的集中訪(fǎng)問(wèn)和控制機制意義重大.
針對這一問(wèn)題,本文提出了控制界面的自動(dòng)生成機制和控制命令的集中轉發(fā)機制.這兩種機制強化了家庭網(wǎng)關(guān)的集中控制功能,完善了UPnP家庭網(wǎng)關(guān)標準InternetGatewayDevice(IGD)V1.0[3],為外網(wǎng)用戶(hù)對基于IPv6的UPnP家庭網(wǎng)絡(luò )中的信息家電進(jìn)行遠程控制提供了全面的解決方案.
控制界面的自動(dòng)生成與集中控制
IPv6信息家電的控制界面可由IPv6家庭網(wǎng)關(guān)根據信息家電描述數組(由IPv6家庭網(wǎng)關(guān)生成)和模板文件自動(dòng)生成,存于IPv6家庭網(wǎng)關(guān)端;IPv6家庭網(wǎng)關(guān)得到外網(wǎng)用戶(hù)通過(guò)控制界面提交的控制命令后,采用SOAPRPC方式對基于IPv6的UPnP家庭網(wǎng)絡(luò )中的信息家電進(jìn)行集中控制.
信息家電描述數組與模板文件
信息家電描述數組存儲著(zhù)IPv6信息家電的描述信息.模板文件為XML格式,定義了控制界面的風(fēng)格.
信息家電描述數組
IPv6家庭網(wǎng)關(guān)依據SSDP協(xié)議收集家庭網(wǎng)絡(luò )中可用家電的信息,為每臺家電生成一個(gè)信息家電描述數組.該數組由設備描述子數組、服務(wù)描述子數組、操作描述子數組3種子數組組成,用于存儲IPv6信息家電的描述信息,包括家電名、IPv6地址、端口號、所能提供的服務(wù)、每項服務(wù)所包含的操作等信息.
模板文件
模板文件定義了IPv6家庭網(wǎng)關(guān)能夠為各種IPv6信息家電生成的控制界面的風(fēng)格,為XML格式,一種模板文件對應著(zhù)控制界面的一種風(fēng)格.模板文件由若干抽象子段組成,一個(gè)抽象子段包括一個(gè)抽象子段文件和相應的依賴(lài)性,抽象子段文件為一個(gè)文本文件.根據與信息家電描述數組的3種子數組的關(guān)系,抽象子段文件的依賴(lài)性分為4類(lèi):無(wú)依賴(lài)(no_dep),設備依賴(lài)(device_dep)、服務(wù)依賴(lài)(service_dep)、操作依賴(lài)(operate_dep).模板文件部分如下所示:
〈segmentList〉
..
〈segment〉
〈relativity〉operate_dep〈/relativity〉
〈content〉part1.txt〈/content〉
〈/segment〉
……
〈/segmentList〉
其中,〈segmentList〉標識一個(gè)模板文件的抽象子段列表,〈segment〉標識一個(gè)抽象子段,〈content〉標識抽象子段文件名,〈relativity〉標識此抽象子段文件的依賴(lài)性.
控制界面的自動(dòng)生成
IPv6家庭網(wǎng)關(guān)根據信息家電描述數組和模板文件自動(dòng)生成控制界面的過(guò)程為:IPv6家庭網(wǎng)關(guān)首先收集家庭網(wǎng)絡(luò )中每個(gè)在線(xiàn)信息家電的信息,生成信息家電描述數組;然后根據模板文件生成某種風(fēng)格的控制界面.
(1)家電信息的收集.IPv6家庭網(wǎng)關(guān)依據SSDP協(xié)議收集家庭網(wǎng)絡(luò )中所有可用家電的信息,將每臺家電的相關(guān)信息放在一個(gè)信息家電描述數組中.
(2)控制界面的自動(dòng)生成.IPv6家庭網(wǎng)關(guān)從模板文件的文件頭開(kāi)始,順序掃描;掃描不同的抽象子段,依據依賴(lài)性的不同,用相應子數組的元素值替換抽象子段,形成子段;然后將每個(gè)子段組合起來(lái),在IPv6家庭網(wǎng)關(guān)端存為指定文件名(在設備描述子數組中指定)的信息家電控制界面.
集中控制機制
在此種方式中,IPv6家庭網(wǎng)關(guān)接收到外網(wǎng)用戶(hù)提交的家電控制命令后,采用SOAPRPC方式集中控制相應的IPv6信息家電.IPv6家庭網(wǎng)關(guān)將生成的控制界面的URL地址以網(wǎng)頁(yè)的形式向外網(wǎng)用戶(hù)公布,外網(wǎng)用戶(hù)選定了一個(gè)家電后,用戶(hù)端瀏覽器以HTTP方式從IPv6家庭網(wǎng)關(guān)處得到該家電的控制界面,后續的過(guò)程如圖2所示,IPv6家庭網(wǎng)關(guān)接收到外網(wǎng)用戶(hù)通過(guò)控制界面提交的控制命令后,以SOAPRPC方式對相應IPv6信息家電進(jìn)行集中控制,IPv6信息家電執行相應操作后,IPv6家庭網(wǎng)關(guān)將從IPv6信息家電得到的操作結果返回給外網(wǎng)用戶(hù).
IPv6家庭網(wǎng)關(guān)的集中轉發(fā)
IPv6家庭網(wǎng)關(guān)在外網(wǎng)用戶(hù)和IPv6家庭網(wǎng)絡(luò )之間可以發(fā)揮集中轉發(fā)功能.IPv6家庭網(wǎng)關(guān)接收到外網(wǎng)用戶(hù)發(fā)送的家電控制命令后,轉發(fā)給相應的IPv6信息家電;IPv6家庭網(wǎng)關(guān)接收到IPv6信息家電的相應反饋后,轉發(fā)給外網(wǎng)用戶(hù).此種方式中涉及的控制界面為IPv6信息家電內嵌的presentation頁(yè)面
IPv6家庭網(wǎng)關(guān)根據SSDP協(xié)議收集家庭網(wǎng)絡(luò )中在線(xiàn)家電的信息,包括制造商、服務(wù)、操作、presentationURL等,并以網(wǎng)頁(yè)形式向外網(wǎng)用戶(hù)公布家電的presentationURL.用戶(hù)選擇一種家電后,用戶(hù)端瀏覽器向IPv6家庭網(wǎng)關(guān)請求該IPv6信息家電的presentation頁(yè)面;IPv6家庭網(wǎng)關(guān)從相應IPv6信息家電處取來(lái)presentation頁(yè)面,轉發(fā)給外網(wǎng)用戶(hù).外網(wǎng)用戶(hù)通過(guò)presentation頁(yè)面向家電發(fā)送的控制命令由IPv6家庭網(wǎng)關(guān)轉發(fā)給IPv6信息家電;IPv6信息家電進(jìn)行相應操作后,操作的結果由IPv6家庭網(wǎng)關(guān)轉發(fā)給外網(wǎng)用戶(hù),在用戶(hù)端瀏覽器中顯示.相應的交互機制如圖3所示.
實(shí)驗平臺與實(shí)驗結果
現在的家電是以無(wú)聯(lián)網(wǎng)功能的傳統家電為主;在本項目實(shí)現中,以“IPv6家電代理+傳統家電”實(shí)現了IPv6信息家電功能,聯(lián)入基于IPv6的UPnP家庭網(wǎng)絡(luò ).關(guān)于IPv6家電代理的詳細內容見(jiàn)相關(guān)文獻.
實(shí)驗平臺的配置:1個(gè)家庭網(wǎng)關(guān),2個(gè)家電代理,1個(gè)攝像頭,1臺空調,外部網(wǎng)絡(luò )的1個(gè)控制終端.下面分別對兩種方式———“控制界面的自動(dòng)生成與集中控制”和“集中轉發(fā)”進(jìn)行了實(shí)驗.
控制界面的自動(dòng)生成和集中控制
圖4和5分別為家庭網(wǎng)關(guān)根據兩個(gè)模板文件為空調和攝像頭生成的控制界面((a)為空調,(b)為攝像頭).外網(wǎng)用戶(hù)使用這兩種界面,可以遠程控制空調和攝像頭.
集中轉發(fā)
首先為空調代理和攝像頭代理分別集成presentation頁(yè)面,如圖6所示((a)為空調,(b)為攝像頭),外網(wǎng)用戶(hù)可通過(guò)圖6所示的presentation頁(yè)面,IPv6家庭網(wǎng)關(guān)的集中控制技術(shù)使用IPv6家庭網(wǎng)關(guān)的集中轉發(fā)功能,對基于IPv6的UPnP家庭網(wǎng)絡(luò )中的空調和攝像頭進(jìn)行遠程控制.
結語(yǔ)
本文研究了外網(wǎng)用戶(hù)遠程訪(fǎng)問(wèn)基于IPv6的UPnP家庭網(wǎng)絡(luò )時(shí),IPv6家庭網(wǎng)關(guān)的集中控制功能.設計并實(shí)現了控制界面的自動(dòng)生成機制和控制命令的集中轉發(fā)機制.為外網(wǎng)用戶(hù)對基于IPv6的UPnP家庭網(wǎng)絡(luò )中的信息家電進(jìn)行遠程控制提供了全面的解決方案.
評論