楊懷德
摘要:針對無線傳感網(wǎng)中緊急信息因網(wǎng)絡擁塞、節(jié)點負荷過重等因素而無法被及時傳輸和處理的問題,提出一種可靠的傳輸協(xié)議。該協(xié)議將信息組裝成幀,將其加入相應的隊列,由隊列調(diào)度模塊直接調(diào)用網(wǎng)卡驅動接口發(fā)送數(shù)據(jù),并引入確認重傳機制。仿真結果表明,該協(xié)議降低了網(wǎng)絡負荷、減少了資源的消耗、保證了緊急信息的可靠傳輸。
關鍵詞:無線傳感網(wǎng)絡;可靠性傳輸;擁塞;重傳
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2018)01-0048-02
Abstract: A reliable transmission protocol is proposed for wireless sensor networks because of the fact that the emergency information is unable to be transmitted and processed in time due to network congestion and overload of nodes. The protocol assembles the information into a frame and adds it to the corresponding queue. It sends the data directly by the queue management module, and introduces the confirmation retransmission mechanism. Simulation results show that the protocol reduces the network load, reduces the consumption of resources and ensures the reliable transmission of emergency information.
Key words: wireless sensor networks; reliability transmission; congestion; retransmission
1 背景
隨著人類生活水平的提高和科學技術的進步,物聯(lián)網(wǎng)的應用越來越廣泛:從智慧物流、智能農(nóng)業(yè)到智能電網(wǎng),物聯(lián)網(wǎng)已經(jīng)像計算機一樣滲透到了我們生活的各個角落,作為物聯(lián)網(wǎng)重要支撐組建的無線傳感網(wǎng)絡也迎來了前所未有的發(fā)展[1-2]。然而由于無線傳感網(wǎng)絡受節(jié)點資源、傳輸環(huán)境不穩(wěn)定等因素影響,數(shù)據(jù)的傳輸會出現(xiàn)不可預知的丟包、緊急數(shù)據(jù)無法被及時處理的現(xiàn)象[3-5]。這對于一些緊急信息的傳輸是無法忍受的,這些非業(yè)務類的數(shù)據(jù)丟失和處理不及時可能會導致系統(tǒng)發(fā)生災難性的故障[6-7]。
本文從源節(jié)點數(shù)據(jù)產(chǎn)生環(huán)節(jié)和目的節(jié)點的處理環(huán)節(jié)進行改進,一是在源節(jié)點去除冗余數(shù)據(jù)減少傳輸?shù)臄?shù)據(jù)量從而降低網(wǎng)絡的負荷;二是在數(shù)據(jù)處理環(huán)節(jié)擯棄TCP/IP或其他協(xié)議棧的處理流程,直接與網(wǎng)卡驅動對接,減少節(jié)點資源消耗和提升處理效率,從而提升無線傳感網(wǎng)絡傳輸?shù)目煽啃浴?/p>
2 總體設計
本文提出的可靠傳輸協(xié)議(RTP)基本作用是在同一系統(tǒng)中的不同設備之間傳遞消息,從而實不同設備的可靠交互。在無線傳感網(wǎng)絡中,主要是傳感節(jié)點間的交互。許多應用模塊都會用到RTP來傳輸消息,如系統(tǒng)升級、設備檢測、配置分發(fā)。因此,需要在TCP/IP模型的數(shù)據(jù)鏈路層之上對報文格式和傳輸處理進行設計,使之更適應于小型無線傳感網(wǎng)的可靠傳輸,其網(wǎng)絡模型如圖1所示。各節(jié)點在加入網(wǎng)絡時向局域網(wǎng)內(nèi)發(fā)送一條廣播信息,其目的是通告將自己的MAC地址和節(jié)點ID等信息通告給網(wǎng)絡中其他節(jié)點。因此網(wǎng)絡中每個節(jié)點都能獲取到其他節(jié)點的相關信息,以便后續(xù)的通信。
RTP傳輸?shù)膱笪母袷饺鐖D2所示,采用標準的802.11幀格式。節(jié)點ID字段代表是網(wǎng)絡中每個節(jié)點的獨一無二的身份ID;應用ID是指節(jié)點上的獨一無二的應用程序的ID,以區(qū)別節(jié)點上其他應用程序;報文序列號、分片數(shù)量、分片序列號是用于異步分組傳輸,一些應用需要傳輸?shù)臄?shù)據(jù)的長度可能超過以太網(wǎng)幀幀的最大長度,這個時候會將數(shù)據(jù)進行分組傳輸,這些分組的報文序列號應該設置成一樣的值,用以區(qū)分其他報文;ACK字段代表報文是否需要確認,對于可靠性要求高的業(yè)務報文,這個字段應該設置成有效;報文優(yōu)先級字段代表報文的優(yōu)先級,不同優(yōu)先級報文會被加入不同的處理隊列;數(shù)據(jù)字段是本次需要被傳輸?shù)臄?shù)據(jù)凈荷。
RTP消息的數(shù)據(jù)流是一個以發(fā)送端和接收端的兩個消息隊列(發(fā)送隊列與接收隊列)和兩個任務(發(fā)送任務與接收任務)為中心進行傳遞的過程。先將待投送的消息定義專用的消息ID并注冊與消息ID相對應的消息處理函數(shù)并加入相應隊列,再由專用任務從隊列中取出消息進行后續(xù)處理。經(jīng)過這一層緩沖之后,能夠避免突發(fā)短時間的大流量報文造成投送過程阻塞,使得調(diào)度更加平緩。
3 系統(tǒng)實現(xiàn)
3.1 發(fā)送功能實現(xiàn)
為了提高數(shù)據(jù)傳輸?shù)男?,?yōu)化各層協(xié)議調(diào)用的開銷,本文的發(fā)送機制如圖3所示,對需要發(fā)送的報文進行標準無線幀格式的封裝之后加入RTP發(fā)送線程的相應隊列,發(fā)送線程擁有多個不同優(yōu)先級的隊列,優(yōu)先處理優(yōu)先級高的隊列中的數(shù)據(jù),從而實現(xiàn)區(qū)分服務。當發(fā)送線程從某個隊列取出報文后,會先進行分片的工作,然后直接調(diào)用網(wǎng)卡驅動的幀發(fā)送接口,進入網(wǎng)卡的驅動歷程,依靠驅動完成后續(xù)的發(fā)送任務。從這一過程可以看出,去除隊列調(diào)度擁塞的因素,信息發(fā)送的效率幾乎相當于直接調(diào)用網(wǎng)卡驅動的效率 。
3.2 接收功能實現(xiàn)
接收的處理與發(fā)送流程相對應,如圖4所示,在網(wǎng)卡驅動模塊注冊收幀回調(diào)函數(shù),收幀回調(diào)函數(shù)從底層驅動收幀隊列中取回RTP報文后剝離以標準無線幀格式的頭部,然后根據(jù)RTP報文的類型分別加入相應的接收隊列,如果需要確認,還需要設置成功事件。接收線程會按照隊列優(yōu)先級的順序從隊列中取出報文進行處理,如果是分片報文則需要重組完整報文,最后調(diào)用相應的消息回調(diào)模塊將消息交由相應的上層模塊進行進一步處理。
4 結束語
本文針對無線傳感網(wǎng)絡傳輸可靠性問題,提出了一種高效率的可靠傳輸機制,該傳輸機制通過重傳確認機制來保證消息的可靠傳輸,并通過直接對接網(wǎng)卡驅動的方式提升數(shù)據(jù)發(fā)送和接收的效率、減少冗余信息的傳輸,從而達到降低網(wǎng)絡負荷、提升網(wǎng)絡處理效率、提升無線傳感網(wǎng)絡傳輸?shù)目煽啃缘哪康摹?/p>
參考文獻:
[1] Roman R, Najera P, Lopez J. Securing the Internet of Things[J]. Computer, 2011, 44(9):51-58.
[2] Li X, Lu R, Liang X, et al. Smart community: an internet of things application[J]. IEEE Communications Magazine, 2011, 49(11):68-75.
[3] Mukhopadhyay S, Schurgers C, Panigrahi D, et al. Model-based techniques for data reliability in wireless sensor networks[J]. IEEE Transactions on Mobile Computing, 2009(8, 4):528-543.
[4] 劉云如, 易葉青, 胡楚然. 無線傳感網(wǎng)中基于優(yōu)選轉發(fā)的多跳可靠傳輸方案[J]. 計算機研究與發(fā)展, 2010, 47(s2):194-199.
[5] 朱國巍. 基于節(jié)點雙通信模式的無線傳感網(wǎng)絡的可靠數(shù)據(jù)傳輸[J]. 儀表技術與傳感器, 2016(11):123-126.
[6] 吳文昌, 伍仁勇, 李仁發(fā). 無線傳感網(wǎng)絡中一種基于網(wǎng)絡編碼的可靠數(shù)據(jù)發(fā)送方法[J]. 計算機研究與發(fā)展, 2010, 47(s2):214-218.
[7] 陳昊. 無線傳感網(wǎng)可靠傳輸協(xié)議分析[J]. 軟件, 2016, 37(10):55-58.endprint