【 摘 要 】 論文全面介紹了一種基于UDP實(shí)時(shí)遠(yuǎn)程設(shè)備管理系統(tǒng)的設(shè)計(jì)與安全實(shí)現(xiàn)。隨著物聯(lián)網(wǎng)的發(fā)展,對(duì)于大規(guī)模的設(shè)備終端的遠(yuǎn)程實(shí)時(shí)管理需要越來(lái)越高,物聯(lián)網(wǎng)的終端大多處于局域網(wǎng)內(nèi),應(yīng)用服務(wù)器無(wú)法直接向物聯(lián)網(wǎng)的終端發(fā)送管理報(bào)文,用TCP通過(guò)終端和應(yīng)用服務(wù)器建立長(zhǎng)鏈接的方法隨著終端數(shù)量的增加,消耗的網(wǎng)絡(luò)資源和服務(wù)器資源會(huì)越來(lái)越大,擴(kuò)展性面臨的挑戰(zhàn)也會(huì)越來(lái)越大。論文提供的方案,通過(guò)用UDP的方法可以大大節(jié)約網(wǎng)絡(luò)和服務(wù)器資源,此外,還提供的安全實(shí)現(xiàn)方法還能夠達(dá)到安全實(shí)時(shí)遠(yuǎn)程管理設(shè)備的需求。
【 關(guān)鍵詞 】 UDP;長(zhǎng)鏈接;設(shè)備管理;安全
【 中圖分類號(hào) 】 TP393 【 文獻(xiàn)標(biāo)識(shí)碼 】 A
【 Abstract 】 This paper introduces the design and security implement of a system based on UDP to manage the devices remotely and real timely. With the development of internet of things ( IOT), manage the devices remotely and real timely has been a growing demand, the devices are most in the local area network(LAN),the application servers can not send the message to the devices. During the increment of the devices, the method using TCP to make a persistent connection between the devices and the application servers will consume more and more resources. The solution provided by this paper using UDP can decrease the consumption of the resources or the network and sever, and can security manage the devices remotely and real timely.
【 Keywords 】 udp; persistent connection; device management; security
1 引言
物聯(lián)網(wǎng)(IOT)是通過(guò)射頻識(shí)別(Rfid)、紅外感應(yīng)器、全球定位系統(tǒng)、激光掃描器等信息傳感設(shè)備,按照約定的協(xié)議,把任何物品與互聯(lián)網(wǎng)連接起來(lái),進(jìn)行信息交換和通訊,以實(shí)現(xiàn)智能化識(shí)別、定位、跟蹤、監(jiān)控和管理的一種網(wǎng)絡(luò)。
隨著物聯(lián)網(wǎng)的發(fā)展,對(duì)于大規(guī)模的設(shè)備終端的遠(yuǎn)程實(shí)時(shí)管理需要越來(lái)越高。由于物聯(lián)網(wǎng)的終端大多處于局域網(wǎng)內(nèi),應(yīng)用服務(wù)器無(wú)法直接向物聯(lián)網(wǎng)的終端發(fā)送管理報(bào)文,但是終端可以向應(yīng)用服務(wù)器發(fā)送請(qǐng)求,終端用傳輸控制協(xié)議(TCP)和應(yīng)用服務(wù)器建立長(zhǎng)鏈接的方法隨著終端數(shù)量的增加,消耗的網(wǎng)絡(luò)資源和服務(wù)器資源會(huì)越來(lái)越大,而且系統(tǒng)的擴(kuò)展性面臨的挑戰(zhàn)也會(huì)越來(lái)越大。
所謂長(zhǎng)連接指在一個(gè)TCP連接上可以連續(xù)發(fā)送多個(gè)數(shù)據(jù)包,在TCP連接保持期間,如果沒(méi)有數(shù)據(jù)包發(fā)送,需要雙方發(fā)檢測(cè)包以維持此連接,一般需要自己做在線維持。短連接是指通信雙方有數(shù)據(jù)交互時(shí),就建立一個(gè)TCP連接,數(shù)據(jù)發(fā)送完成后,則斷開(kāi)此TCP連接。比如Http的,只是連接、請(qǐng)求、關(guān)閉,過(guò)程時(shí)間較短服務(wù)器若是一段時(shí)間內(nèi)沒(méi)有收到請(qǐng)求即可關(guān)閉連接。其實(shí)長(zhǎng)連接是相對(duì)于通常的短連接而說(shuō)的,也就是長(zhǎng)時(shí)間保持客戶端與服務(wù)端的連接狀態(tài)。
用戶數(shù)據(jù)報(bào)協(xié)議UDP(User Datagram Protocol)由于實(shí)現(xiàn)機(jī)制簡(jiǎn)單、傳輸效率高,成為分布式應(yīng)用中常用的網(wǎng)絡(luò)報(bào)文傳輸協(xié)議,尤其廣泛應(yīng)用于各種仿真系統(tǒng)或者試驗(yàn)系統(tǒng)中。通過(guò)UDP的方法,設(shè)備向管理服務(wù)器發(fā)送心跳報(bào)文,上報(bào)設(shè)備終端的狀態(tài)。當(dāng)有管理需求的時(shí)候,應(yīng)用服務(wù)器向管理服務(wù)器發(fā)送管理報(bào)文,當(dāng)設(shè)備終端發(fā)送心跳報(bào)文請(qǐng)求的時(shí)候,管理服務(wù)器將管理報(bào)文發(fā)送終端,終端向應(yīng)用服務(wù)器發(fā)起請(qǐng)求執(zhí)行管理作業(yè)。
2 基于UDP實(shí)時(shí)遠(yuǎn)程設(shè)備管理系統(tǒng)的基本流程
如圖1所示,基于UDP安全實(shí)時(shí)遠(yuǎn)程設(shè)備管理系統(tǒng)的基本流程。
(1)與AP建立VPN隧道,實(shí)時(shí)控制和獲取AP的狀態(tài)。
流程描述:
A. 應(yīng)用服務(wù)器需要實(shí)時(shí)獲取設(shè)備狀態(tài)或者下發(fā)更新配置給設(shè)備的時(shí)候,向管理服務(wù)器發(fā)起請(qǐng)求;
B. 管理服務(wù)器在緩存中存儲(chǔ)設(shè)備需要建立VPN隧道的指令,(指令的過(guò)期時(shí)間以及時(shí)間tag);
C. 設(shè)備心跳包的數(shù)據(jù)包到達(dá)時(shí),從緩存中取出這個(gè)指令,根據(jù)指令,與指定的VPN Server建立隧道,并且即發(fā)起每秒上報(bào),在數(shù)據(jù)包中攜帶最近執(zhí)行指令的結(jié)果;
D. 管理服務(wù)器在緩存中檢測(cè)到AP執(zhí)行指令的結(jié)果,并返回給應(yīng)用服務(wù)器(設(shè)置超時(shí)時(shí)間),同時(shí)管理服務(wù)器維護(hù)當(dāng)前已建立的VPN隧道列表;
E. 應(yīng)用服務(wù)器通過(guò)VPN Server直接與AP通信,獲取最新的狀態(tài)或則下發(fā)配置,完畢后關(guān)閉隧道(設(shè)置VPN隧道的超時(shí)時(shí)間 或者由應(yīng)用服務(wù)器主動(dòng)發(fā)起關(guān)閉VPN隧道)。
(2)分配上報(bào)地址流程。
流程描述:
A.設(shè)備每5分鐘進(jìn)行傳統(tǒng)上報(bào),應(yīng)用服務(wù)器檢查上報(bào)配置是否是默認(rèn)配置;
B.如果是默認(rèn)配置,那么向管理服務(wù)器請(qǐng)求新的可上報(bào)配置,下發(fā)到設(shè)備。
3 系統(tǒng)架構(gòu)
3.1 概述
系統(tǒng)一共有三個(gè)主要模塊:數(shù)據(jù)處理模塊、服務(wù)管理模塊以及VPN代理服務(wù)器。服務(wù)管理模塊處于整個(gè)系統(tǒng)的中心位置,向外提供接口、并管理數(shù)據(jù)處理服務(wù)器;VPN代理服務(wù)器提供VPN連接隧道,作為AP接收控制指令的代理服務(wù)器;數(shù)據(jù)處理模塊處理AP設(shè)備的上報(bào)數(shù)據(jù),可以搭建多臺(tái),以集群的形式存在,由管理服務(wù)器統(tǒng)一管理。
3.2 模塊
3.2.1 上報(bào)數(shù)據(jù)處理模塊
(1) 描述:以集群方式配置的數(shù)據(jù)處理服務(wù)器,用于并發(fā)處理設(shè)備的上報(bào)數(shù)據(jù)。
(2)接口:數(shù)據(jù)上報(bào)接口。描述:用于接收和處理設(shè)備的每秒上報(bào)數(shù)據(jù);調(diào)試模塊:設(shè)備;接口協(xié)議:UDP;輸入:上報(bào)的UDP數(shù)據(jù)包;輸出:數(shù)據(jù)處理服務(wù)器的返回結(jié)果。
3.2.2 服務(wù)管理模塊
(1)描述:管理數(shù)據(jù)處理服務(wù)器,對(duì)外提供接口分配上報(bào)配置,接收應(yīng)用服務(wù)器下發(fā)的指令,并指定設(shè)備執(zhí)行。
(2)接口。
I. 分配上報(bào)配置接口。描述:根據(jù)當(dāng)前數(shù)據(jù)處理服務(wù)器的狀態(tài),分配一個(gè)可用的上報(bào)配置;調(diào)用模塊:應(yīng)用服務(wù)器;接口協(xié)議:TCP; 輸入:請(qǐng)求分配設(shè)備ID;輸出:可用的上報(bào)配置。
II. 下發(fā)指令接口。描述:接收應(yīng)用服務(wù)器發(fā)出讓指定設(shè)備執(zhí)行的指令,并返回設(shè)備執(zhí)行該指令的結(jié)果;調(diào)用模塊:應(yīng)用服務(wù)器;接口協(xié)議:TCP;輸入:特定的指令,例如建立VPN隧道;輸出:指令的執(zhí)行相關(guān)結(jié)果。
III. 登入設(shè)備接口。描述:管理服務(wù)器根據(jù)設(shè)備的虛擬地址,提供網(wǎng)頁(yè)控制臺(tái)的地址(網(wǎng)SSH);調(diào)用模塊:應(yīng)用服務(wù)器;接口協(xié)議:TCP;輸入:設(shè)備在VPN中的虛擬地址和VPN的地址;輸出:VPN網(wǎng)頁(yè)SSH服務(wù)的地址;
IV. 獲取VPN隧道列表接口。描述:應(yīng)用服務(wù)器從管理服務(wù)器處獲得當(dāng)前已經(jīng)建立的VPN隧道列表;調(diào)用模塊:應(yīng)用服務(wù)器;接口協(xié)議:TCP;輸入:無(wú);輸出:當(dāng)前已建立的VPN隧道列表,包括設(shè)備的MAC地址、VPN Server的地址、設(shè)備在VPN Server中的虛擬地址。
3.2.3 VPN代理服務(wù)器
(1)描述:向設(shè)備提供建立VPN隧道,作為代理服務(wù)器,轉(zhuǎn)發(fā)應(yīng)用服務(wù)器的控制信息。
(2)接口。
I. 控制信息轉(zhuǎn)發(fā)接口。描述:建立VPN隧道之后,向設(shè)備轉(zhuǎn)發(fā)應(yīng)用服務(wù)器的控制信息;調(diào)用模塊:應(yīng)用服務(wù)器;接口協(xié)議:TCP;輸入:特定的控制信息,例如進(jìn)行固件更新或者狀態(tài)上報(bào);輸出:設(shè)備狀態(tài)或固件更新的結(jié)果。
4 系統(tǒng)的安全實(shí)現(xiàn)
在與AP建立VPN隧道過(guò)程中,通過(guò)認(rèn)證和授權(quán)保證其安全實(shí)現(xiàn)。
(1)認(rèn)證。給每一個(gè)設(shè)備分配一個(gè)賬號(hào)和密碼在設(shè)備的某個(gè)安全區(qū)域。
建立VPN之前,用賬號(hào)和密碼獲取一個(gè)臨時(shí)的證書(shū),然后用該臨時(shí)證書(shū)建立VPN的鏈接。臨時(shí)證書(shū)有有效期,當(dāng)有效期過(guò)期之后,需要重新獲取新的臨時(shí)證書(shū)。這種動(dòng)態(tài)獲取方法不用每次數(shù)據(jù)交互傳輸?shù)臅r(shí)候傳遞賬號(hào)和密碼,而是用動(dòng)態(tài)的臨時(shí)正式來(lái)替換賬號(hào)身份信息,提高賬號(hào)和傳輸過(guò)程的安全性。
(2)授權(quán)。根據(jù)每個(gè)不同的設(shè)備賬號(hào)下發(fā)不同配置,授予不同權(quán)限,這樣可以根據(jù)不同的業(yè)務(wù)需求對(duì)設(shè)備進(jìn)行分組管理,從而提高了設(shè)備管理的安全性和靈活性。
5 結(jié)束語(yǔ)
對(duì)于大規(guī)模的設(shè)備終端的遠(yuǎn)程實(shí)時(shí)管理需要越來(lái)越高,物聯(lián)網(wǎng)的終端大多處于局域網(wǎng)內(nèi),應(yīng)用服務(wù)器無(wú)法直接向物聯(lián)網(wǎng)的終端發(fā)送管理報(bào)文,用TCP通過(guò)終端和應(yīng)用服務(wù)器建立長(zhǎng)鏈接的方法隨著終端數(shù)量的增加,消耗的網(wǎng)絡(luò)資源和服務(wù)器資源會(huì)越來(lái)越大,擴(kuò)展性面臨的挑戰(zhàn)也會(huì)越來(lái)越大。通過(guò)用UDP的方法可以大大節(jié)約網(wǎng)絡(luò)和服務(wù)器資源,而同時(shí)達(dá)到安全實(shí)時(shí)遠(yuǎn)程管理設(shè)備的需求。
參考文獻(xiàn)
[1] 黃玉蘭.物聯(lián)網(wǎng)體系結(jié)構(gòu)的探究[J].物聯(lián)網(wǎng)技術(shù),2011年第4期,58-62.
[2] http://wenku.baidu.com/link?url=U2AQdpN26x4KR1Q3ZuIIWQvzuZPBNst_6aABtlZnwNjkrHMJBfp1UWmNQRCm4tkCxVyBDwr6SK8Ywtz5MnCuUOx3OEYIQCEWucKHELxDMx_.
[3] 張劍,黃坤,姚晉.一種UDP報(bào)文數(shù)據(jù)的搜索方法[J].計(jì)算機(jī)與數(shù)字工程,2013年第1期,89-91.
作者簡(jiǎn)介:
李原野(1980-),女,漢族,吉林吉林人,中國(guó)科學(xué)院軟件所,碩士,國(guó)家知識(shí)產(chǎn)權(quán)局專利局,審查員。