
【 摘 要 】 論文全面介紹了一種基于UDP實時遠程設備管理系統的設計與安全實現。隨著物聯網的發展,對于大規模的設備終端的遠程實時管理需要越來越高,物聯網的終端大多處于局域網內,應用服務器無法直接向物聯網的終端發送管理報文,用TCP通過終端和應用服務器建立長鏈接的方法隨著終端數量的增加,消耗的網絡資源和服務器資源會越來越大,擴展性面臨的挑戰也會越來越大。論文提供的方案,通過用UDP的方法可以大大節約網絡和服務器資源,此外,還提供的安全實現方法還能夠達到安全實時遠程管理設備的需求。
【 關鍵詞 】 UDP;長鏈接;設備管理;安全
【 中圖分類號 】 TP393 【 文獻標識碼 】 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 引言
物聯網(IOT)是通過射頻識別(Rfid)、紅外感應器、全球定位系統、激光掃描器等信息傳感設備,按照約定的協議,把任何物品與互聯網連接起來,進行信息交換和通訊,以實現智能化識別、定位、跟蹤、監控和管理的一種網絡。
隨著物聯網的發展,對于大規模的設備終端的遠程實時管理需要越來越高。由于物聯網的終端大多處于局域網內,應用服務器無法直接向物聯網的終端發送管理報文,但是終端可以向應用服務器發送請求,終端用傳輸控制協議(TCP)和應用服務器建立長鏈接的方法隨著終端數量的增加,消耗的網絡資源和服務器資源會越來越大,而且系統的擴展性面臨的挑戰也會越來越大。
所謂長連接指在一個TCP連接上可以連續發送多個數據包,在TCP連接保持期間,如果沒有數據包發送,需要雙方發檢測包以維持此連接,一般需要自己做在線維持。短連接是指通信雙方有數據交互時,就建立一個TCP連接,數據發送完成后,則斷開此TCP連接。比如Http的,只是連接、請求、關閉,過程時間較短服務器若是一段時間內沒有收到請求即可關閉連接。其實長連接是相對于通常的短連接而說的,也就是長時間保持客戶端與服務端的連接狀態。
用戶數據報協議UDP(User Datagram Protocol)由于實現機制簡單、傳輸效率高,成為分布式應用中常用的網絡報文傳輸協議,尤其廣泛應用于各種仿真系統或者試驗系統中。通過UDP的方法,設備向管理服務器發送心跳報文,上報設備終端的狀態。當有管理需求的時候,應用服務器向管理服務器發送管理報文,當設備終端發送心跳報文請求的時候,管理服務器將管理報文發送終端,終端向應用服務器發起請求執行管理作業。
2 基于UDP實時遠程設備管理系統的基本流程
如圖1所示,基于UDP安全實時遠程設備管理系統的基本流程。
(1)與AP建立VPN隧道,實時控制和獲取AP的狀態。
流程描述:
A. 應用服務器需要實時獲取設備狀態或者下發更新配置給設備的時候,向管理服務器發起請求;
B. 管理服務器在緩存中存儲設備需要建立VPN隧道的指令,(指令的過期時間以及時間tag);
C. 設備心跳包的數據包到達時,從緩存中取出這個指令,根據指令,與指定的VPN Server建立隧道,并且即發起每秒上報,在數據包中攜帶最近執行指令的結果;
D. 管理服務器在緩存中檢測到AP執行指令的結果,并返回給應用服務器(設置超時時間),同時管理服務器維護當前已建立的VPN隧道列表;
E. 應用服務器通過VPN Server直接與AP通信,獲取最新的狀態或則下發配置,完畢后關閉隧道(設置VPN隧道的超時時間 或者由應用服務器主動發起關閉VPN隧道)。
(2)分配上報地址流程。
流程描述:
A.設備每5分鐘進行傳統上報,應用服務器檢查上報配置是否是默認配置;
B.如果是默認配置,那么向管理服務器請求新的可上報配置,下發到設備。
3 系統架構
3.1 概述
系統一共有三個主要模塊:數據處理模塊、服務管理模塊以及VPN代理服務器。服務管理模塊處于整個系統的中心位置,向外提供接口、并管理數據處理服務器;VPN代理服務器提供VPN連接隧道,作為AP接收控制指令的代理服務器;數據處理模塊處理AP設備的上報數據,可以搭建多臺,以集群的形式存在,由管理服務器統一管理。
3.2 模塊
3.2.1 上報數據處理模塊
(1) 描述:以集群方式配置的數據處理服務器,用于并發處理設備的上報數據。
(2)接口:數據上報接口。描述:用于接收和處理設備的每秒上報數據;調試模塊:設備;接口協議:UDP;輸入:上報的UDP數據包;輸出:數據處理服務器的返回結果。
3.2.2 服務管理模塊
(1)描述:管理數據處理服務器,對外提供接口分配上報配置,接收應用服務器下發的指令,并指定設備執行。
(2)接口。
I. 分配上報配置接口。描述:根據當前數據處理服務器的狀態,分配一個可用的上報配置;調用模塊:應用服務器;接口協議:TCP; 輸入:請求分配設備ID;輸出:可用的上報配置。
II. 下發指令接口。描述:接收應用服務器發出讓指定設備執行的指令,并返回設備執行該指令的結果;調用模塊:應用服務器;接口協議:TCP;輸入:特定的指令,例如建立VPN隧道;輸出:指令的執行相關結果。
III. 登入設備接口。描述:管理服務器根據設備的虛擬地址,提供網頁控制臺的地址(網SSH);調用模塊:應用服務器;接口協議:TCP;輸入:設備在VPN中的虛擬地址和VPN的地址;輸出:VPN網頁SSH服務的地址;
IV. 獲取VPN隧道列表接口。描述:應用服務器從管理服務器處獲得當前已經建立的VPN隧道列表;調用模塊:應用服務器;接口協議:TCP;輸入:無;輸出:當前已建立的VPN隧道列表,包括設備的MAC地址、VPN Server的地址、設備在VPN Server中的虛擬地址。
3.2.3 VPN代理服務器
(1)描述:向設備提供建立VPN隧道,作為代理服務器,轉發應用服務器的控制信息。
(2)接口。
I. 控制信息轉發接口。描述:建立VPN隧道之后,向設備轉發應用服務器的控制信息;調用模塊:應用服務器;接口協議:TCP;輸入:特定的控制信息,例如進行固件更新或者狀態上報;輸出:設備狀態或固件更新的結果。
4 系統的安全實現
在與AP建立VPN隧道過程中,通過認證和授權保證其安全實現。
(1)認證。給每一個設備分配一個賬號和密碼在設備的某個安全區域。
建立VPN之前,用賬號和密碼獲取一個臨時的證書,然后用該臨時證書建立VPN的鏈接。臨時證書有有效期,當有效期過期之后,需要重新獲取新的臨時證書。這種動態獲取方法不用每次數據交互傳輸的時候傳遞賬號和密碼,而是用動態的臨時正式來替換賬號身份信息,提高賬號和傳輸過程的安全性。
(2)授權。根據每個不同的設備賬號下發不同配置,授予不同權限,這樣可以根據不同的業務需求對設備進行分組管理,從而提高了設備管理的安全性和靈活性。
5 結束語
對于大規模的設備終端的遠程實時管理需要越來越高,物聯網的終端大多處于局域網內,應用服務器無法直接向物聯網的終端發送管理報文,用TCP通過終端和應用服務器建立長鏈接的方法隨著終端數量的增加,消耗的網絡資源和服務器資源會越來越大,擴展性面臨的挑戰也會越來越大。通過用UDP的方法可以大大節約網絡和服務器資源,而同時達到安全實時遠程管理設備的需求。
參考文獻
[1] 黃玉蘭.物聯網體系結構的探究[J].物聯網技術,2011年第4期,58-62.
[2] http://wenku.baidu.com/link?url=U2AQdpN26x4KR1Q3ZuIIWQvzuZPBNst_6aABtlZnwNjkrHMJBfp1UWmNQRCm4tkCxVyBDwr6SK8Ywtz5MnCuUOx3OEYIQCEWucKHELxDMx_.
[3] 張劍,黃坤,姚晉.一種UDP報文數據的搜索方法[J].計算機與數字工程,2013年第1期,89-91.
作者簡介:
李原野(1980-),女,漢族,吉林吉林人,中國科學院軟件所,碩士,國家知識產權局專利局,審查員。