一种可靠的无线传感网络传输机制

2018-02-02 05:42杨怀德
电脑知识与技术 2018年1期
关键词:无线传感网络重传

杨怀德

摘要:针对无线传感网中紧急信息因网络拥塞、节点负荷过重等因素而无法被及时传输和处理的问题,提出一种可靠的传输协议。该协议将信息组装成帧,将其加入相应的队列,由队列调度模块直接调用网卡驱动接口发送数据,并引入确认重传机制。仿真结果表明,该协议降低了网络负荷、减少了资源的消耗、保证了紧急信息的可靠传输。

关键词:无线传感网络;可靠性传输;拥塞;重传

中图分类号: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 背景

随着人类生活水平的提高和科学技术的进步,物联网的应用越来越广泛:从智慧物流、智能农业到智能电网,物联网已经像计算机一样渗透到了我们生活的各个角落,作为物联网重要支撑组建的无线传感网络也迎来了前所未有的发展[1-2]。然而由于无线传感网络受节点资源、传输环境不稳定等因素影响,数据的传输会出现不可预知的丢包、紧急数据无法被及时处理的现象[3-5]。这对于一些紧急信息的传输是无法忍受的,这些非业务类的数据丢失和处理不及时可能会导致系统发生灾难性的故障[6-7]。

本文从源节点数据产生环节和目的节点的处理环节进行改进,一是在源节点去除冗余数据减少传输的数据量从而降低网络的负荷;二是在数据处理环节摈弃TCP/IP或其他协议栈的处理流程,直接与网卡驱动对接,减少节点资源消耗和提升处理效率,从而提升无线传感网络传输的可靠性。

2 总体设计

本文提出的可靠传输协议(RTP)基本作用是在同一系统中的不同设备之间传递消息,从而实不同设备的可靠交互。在无线传感网络中,主要是传感节点间的交互。许多应用模块都会用到RTP来传输消息,如系统升级、设备检测、配置分发。因此,需要在TCP/IP模型的数据链路层之上对报文格式和传输处理进行设计,使之更适应于小型无线传感网的可靠传输,其网络模型如图1所示。各节点在加入网络时向局域网内发送一条广播信息,其目的是通告将自己的MAC地址和节点ID等信息通告给网络中其他节点。因此网络中每个节点都能获取到其他节点的相关信息,以便后续的通信。

RTP传输的报文格式如图2所示,采用标准的802.11帧格式。节点ID字段代表是网络中每个节点的独一无二的身份ID;应用ID是指节点上的独一无二的应用程序的ID,以区别节点上其他应用程序;报文序列号、分片数量、分片序列号是用于异步分组传输,一些应用需要传输的数据的长度可能超过以太网帧帧的最大长度,这个时候会将数据进行分组传输,这些分组的报文序列号应该设置成一样的值,用以区分其他报文;ACK字段代表报文是否需要确认,对于可靠性要求高的业务报文,这个字段应该设置成有效;报文优先级字段代表报文的优先级,不同优先级报文会被加入不同的处理队列;数据字段是本次需要被传输的数据净荷。

RTP消息的数据流是一个以发送端和接收端的两个消息队列(发送队列与接收队列)和两个任务(发送任务与接收任务)为中心进行传递的过程。先将待投送的消息定义专用的消息ID并注册与消息ID相对应的消息处理函数并加入相应队列,再由专用任务从队列中取出消息进行后续处理。经过这一层缓冲之后,能够避免突发短时间的大流量报文造成投送过程阻塞,使得调度更加平缓。

3 系统实现

3.1 发送功能实现

为了提高数据传输的效率,优化各层协议调用的开销,本文的发送机制如图3所示,对需要发送的报文进行标准无线帧格式的封装之后加入RTP发送线程的相应队列,发送线程拥有多个不同优先级的队列,优先处理优先级高的队列中的数据,从而实现区分服务。当发送线程从某个队列取出报文后,会先进行分片的工作,然后直接调用网卡驱动的帧发送接口,进入网卡的驱动历程,依靠驱动完成后续的发送任务。从这一过程可以看出,去除队列调度拥塞的因素,信息发送的效率几乎相当于直接调用网卡驱动的效率 。

3.2 接收功能实现

接收的处理与发送流程相对应,如图4所示,在网卡驱动模块注册收帧回调函数,收帧回调函数从底层驱动收帧队列中取回RTP报文后剥离以标准无线帧格式的头部,然后根据RTP报文的类型分别加入相应的接收队列,如果需要确认,还需要设置成功事件。接收线程会按照队列优先级的顺序从队列中取出报文进行处理,如果是分片报文则需要重组完整报文,最后调用相应的消息回调模块将消息交由相应的上层模块进行进一步处理。

4 結束语

本文针对无线传感网络传输可靠性问题,提出了一种高效率的可靠传输机制,该传输机制通过重传确认机制来保证消息的可靠传输,并通过直接对接网卡驱动的方式提升数据发送和接收的效率、减少冗余信息的传输,从而达到降低网络负荷、提升网络处理效率、提升无线传感网络传输的可靠性的目的。

参考文献:

[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] 刘云如, 易叶青, 胡楚然. 无线传感网中基于优选转发的多跳可靠传输方案[J]. 计算机研究与发展, 2010, 47(s2):194-199.

[5] 朱国巍. 基于节点双通信模式的无线传感网络的可靠数据传输[J]. 仪表技术与传感器, 2016(11):123-126.

[6] 吴文昌, 伍仁勇, 李仁发. 无线传感网络中一种基于网络编码的可靠数据发送方法[J]. 计算机研究与发展, 2010, 47(s2):214-218.

[7] 陈昊. 无线传感网可靠传输协议分析[J]. 软件, 2016, 37(10):55-58.endprint

猜你喜欢
无线传感网络重传
无线网络中基于网络编码与Hash查找的广播重传研究
面向异构网络的多路径数据重传研究∗
改进的无线传感网络节点定位系统的设计与研究
试论无线传感网络动态休眠通信协议
一种基于散列邻域搜索网络编码的机会中继重传方法
数据链路层的选择重传协议的优化改进
MPTCP中一种减缓缓存阻塞的重传策略
选择性重传法在IPTV中的应用