TCP连接迁移的移动无线传感器网络数据可靠传输技术研究

2010-06-23 10:11张乐君张健沛
哈尔滨工程大学学报 2010年5期
关键词:数据包重构传输

张乐君,国 林,张健沛,杨 静

(哈尔滨工程大学 计算机科学与技术学院,黑龙江 哈尔滨 150001)

无线传感器网络(wireless sensor networks,WSNs)由大量具备数据处理和通信能力的传感器节点组成,其目的是协作的感知、采集网络覆盖范围内监测对象的相关信息,并通过短距离无线多跳的通信方式将监测数据发送给网关,提供给用户进行分析和处理[1].在传感器节点能量储备和计算能力等资源普遍受限的条件下,能否为网络中的数据传输提供可靠的传输控制机制,以保证信息的有效获取和网络的优化管理,就成为WSN中一个基本问题,也是衡量WSN网络服务质量的一个重要指标.

无线传感器网络的可靠传输是应用层协议的主要功能之一,传统的TCP和UDP虽然在互联网上得到了很好的应用,但并不适用于无线传感器网络.在无线传感器网络中,节点间的无线通信质量往往不稳定,从而导致较高的分组丢失率,影响数据的可靠传输;节点的移动性使通信链路和节点的路由信息发生改变,给数据的可靠传输带来严重影响.典型的可靠传输协议包括以下几种:PSFQ协议[2],RMST协议[3],RBC 协议[4],STCP 协议[5],其他见文献[6-9].

现有的可靠传输协议主要研究全部节点都静止的情况,传感器节点的移动给传感器网络的拓扑结构带来更高的动态性,也增加了可靠传输协议的复杂性,但可以均衡整个网络的能量消耗,从而延长网络生存周期,因此本文针对可移动传感器网络的可靠持续传输问题进行研究.

1 TCP连接迁移技术

TCP连接迁移[10]的主要思想是将一条连接的一个端点迁移到另一个节点,而这个迁移对于连接的另一端点来说是透明的,并且迁移以后的连接可完全正常运行下去.这就是说,在适当的时机,前端服务程序(前端)根据自身的服务状态,将与该客户的连接迁移至另一个服务端程序上(后端).后端服务程序根据前端发送过来的数据进行现场重构,并采用连接传递技术将构造出的资源交给属主进程,属主继续完成服务并将处理结果传递给服务请求者.其涉及到的主要技术包括连接重构技术和连接传递技术.

1.1 连接重构技术

连接现场重构技术用得到的连接信息重构连接现场,即将连接的一切数据结构在后端服务程序的操作系统内核中重建.实际是“镜像”了该连接在前端一方的现场.该技术的主要步骤为:1)分配记录连接信息的sock结构并初始化;2)查找到服务请求方的路由,将路由信息填入sock结构;3)根据迁移协议从迁移请求报文提取连接信息;4)根据提取得到的连接信息修改sock结构的一些域;5)将该sock结构登记到系统的相关表格中.

1.2 连接传递技术

连接是一个静态的概念,可以看成是一种资源.连接现场重构技术只是构造出了资源,还必须把它交给属主,才能为属主所利用.这里的属主,是提供服务的应用层程序.连接传递技术就是要解决让应用层服务程序接受这个构造出来的连接请求.连接传递技术将一个连接从一个进程传递给另一个监听进程.

连接传递技术的步骤:1)将连接的sock结构与源进程脱链;2)构造出该连接在初始建立时的环境;3)建立sock结构与初始环境(open-request结构)的联系;4)将open-request结构挂到目的监听进程的接收队列上;5)将目的监听进程唤醒.

2 基于连接迁移的移动无线传感器网络可靠传输技术

2.1 前提条件

条件1:传感器网络中包括簇节点和传感器节点,簇节点负责向上层转发本区域的数据,簇节点的通信半径为R,其临界区半径为,传感器节点的通信半径为R.

条件2:传感器网络中簇节点按照任意相邻两个节点的间隔距离为R进行部署,部署结构如图1所示,其中每个正方形汇聚点上部署一个簇节点,传感器节点随机布置.

条件3:传感网络中任何节点可以探测到其通信范围内的其他节点的精确位置信息.

条件4:传感器网络中簇节点位置固定,传感器节点可以随机移动,但其移动速度小于R/T,其中T为探测节点位置时间周期.

图1 移动传感器网络示意图Fig.1 Mobile wireless sensor network

2.2 相关算法

根据前提条件的假设,传感器网络中包括簇节点和传感器节点,簇节点在布网时进行设置,传感器节点随机分布,并可以在一定条件下随机移动.首先,传感器节点加入传感器网络的时候要选择一个簇节点作为它的上级节点,并和这个节点建立TCP连接,以便上传其所探测的数据,簇节点选择算法如下:

算法名称:传感器节点通信算法

输入:传感器节点n,与传感器节点相邻簇节点{m0,m1,…,m4,}

输出:与其建立连接簇节点m

算法描述:

簇节点选择算法中,传感器节点选取距离其最近的簇节点建立TCP连接.由于传感器节点具有移动性质,因此它可能会超出所连接簇节点的通信区域.为了保证连接的持续和透明,因此选择连接迁移的目标簇节点就变得十分关键,簇节点的选择算法如下:

算法名称:TCP连接迁移节点选择算法

输入:与传感器簇节点m保持TCP连接的传感器节点

输出:连接迁移节点编号集合{m0,m1,…,mx,}算法描述:

在上述算法中,簇节点每隔固定时间周期T探测是否存在需要进行连接迁移的传感器节点,对超出其临界区的传感器节点选择需要连接迁移的簇节点,由于在前提条件4中设定传感器节点的移动速度小于因此任何传感器节点不会在一个时间周期内,跨越整个临界区,这就为连接迁移提供了必要的时间保证.

2.3 移动传感器节点可靠数据传输技术

根据2.2节介绍的簇节点选择算法和TCP连接迁移节点选择算法并结合图2对移动传感器网络连接迁移方法进行说明.首先,传感器节点C使用簇节点选择算法和节点A建立连接,并进行数据传输,节点C以速度V移动,当其移动到节点A的通信临界区时(还未移出A的通信覆盖区),簇节点A利用TCP连接迁移节点选择算法,发现需要将和C的连接信息在节点B上重构;当重构结束时,节点C将直接和节点B进行数据通信.

图2 TCP连接迁移示意图Fig.2 TCP connection handoff

整个连接迁移过程对传感器节点透明,因此不需要在传感器节点实现上不需要特殊的技术,下面讲述簇节点的连接迁移过程和相关技术.

簇节点模块结构如图3所示.

图3 簇节点模块结构图Fig.3 Modules structure of a cluster node

3 仿真实验与分析

3.1 簇节点关键模块实现

簇节点的TCP连接迁移技术在Linux平台下用C语言实现,连接迁移主要涉及2个模块:连接信息发送模块和连接重构模块.

3.1.1 连接信息发送模块

连接信息发送模块主要完成提取连接现场相关信息和请求数据的转发功能.该模块在虚拟IP地址上的特定端口监听,接收来自传感器节点的请求数据包,通过TCP连接迁移节点选择模块提供的目标簇节点发送迁移请求及连接信息.

ack数据包是TCP协议保障数据包正确顺序传输的回应数据包,ack数据包在分发模块的处理是通过Netfilter上的钩子函数实现的,当钩子函数解析到一个ack数据包是属于某个已经迁移的连接时,就要对其进行转发,这里分为2种情况:1)连接被迁移到另一个簇节点上的连接重构模块,此时需要使用动态生成ip隧道包方式转发,在钩子的出口处删除这个包的相关数据;2)连接信息在本节点上重构,此时,将ack数据包的过滤结果设为NF_ACCEPT,也就是直接送入簇节点的协议栈进行处理,因为应用层协议的socket也在本机等待数据,所以这个ack数据包就被直接送给了相应的socket.

因为需要与运行在用户空间的TCP连接迁移节点选择模块进行交换信息,所以必须进行内核与用户空间的通信,本文选择了proc文件系统机制,该方法是在内核模块装载时要定义一系列静态ctl_table结构体数组,包括目录项、目录和宿主根项,只要在定义结构体时指定特定的参数和属性以及名称即可,模块装载时调用register_sysctl_table函数把根项注册进proc文件系统,此时在用户空间的proc文件系统里就注册了一些变量,这些变量和内核的指定变量挂钩,同步更新,就完成了用户空间和内核空间的数据通信.

3.1.2 连接重构模块

连接重构模块主要完成连接现场重构和请求数据的传递.

连接重构模块在监听地址收到数据时,需要对缓冲区里的数据进行解析.如果是迁移请求包则调用现场重构取得连接信息数据,在本地重新申请一个连接套接字,把连接信息发送模块发来的连接信息填入这个套接字中,修改该套接字的路由信息使数据直接发往传感器节点,接着把用户请求数据挂到该连接的数据队列中并唤醒上层协议进行处理,重构现场成功后构造HANDOFF_RET数据包发给连接信息发送模块,重构过程结束.

3.2 实验与分析

仿真实验参数设置如下:模拟了由25个簇节点构成的覆盖区域和若干个传感器节点,通过随机数的方法确定传感器节点的初始位置和移动过程;传感器节点每隔随机时间发起数据通信请求;通过控制填充通信数据的内容长度来控制通信响应时间.如果传感器节点移动到整个覆盖区域边界,采用向覆盖区域内部折射的方法,保证节点不超出覆盖区.

图4和图5分别统计了在500 s时间内,传感器节点发生连接迁移次数和数据通信响应时间以及传感器节点数目的关系.随着通信响应时间的增加,传感器节点在一次通信过程中发生迁移的次数呈指数递增,但发生2次或3次迁移的次数较小,发生多次迁移的主要原因是传感器节点在两个簇节点间来回移动;连接迁移次数和传感器节点数目呈线性递增关系.

图4 迁移次数与通信响应时间关系示意图Fig.4 The relationship of handoff times and respond time

图6对使用TCP连接迁移和未采用连接迁移的传感器网络进行了对比分析.从图中可知,随着通信数据量的增加,传感器节点的移动对数据的可靠传输带来严重影响,当通信响应时间达到2 s时,未采用连接迁移技术的传感器网络的完成率只有50%左右,因此基本不具有实际应用的意义;但采用连接迁移技术的传感器网络完成率依然保持在90%左右,因此具有更好的可靠传输能力.

图5 迁移次数与传感器节点数目关系示意图Fig.5 The relationship of handoff times and the number of sensor nodes

图6 基于TCP连接迁移传感器网络性能分析图Fig.6 Performance analysis of MWSN reliable transport technology based on TCP connection handoff

4 结束语

本文提出的基于TCP连接迁移的移动传感器网络数据可靠传输技术和方法在前提条件限制上还比较严格,是对可移动传感器网络数据可靠传输的有益探讨.未来还需要针对不同传感器节点通信范围不同,簇节点非均匀分布等条件下的可靠传输技术进行研究,传感器节点移动对网络拓扑结构带来的变化,可移动传感器网络下的数据融合等方面展开深入研究.

[1]RAN F Y,HUANG H N,LIN C.Wireless sensor networks[J].Journal of Software,2003,14(7):1282-1291.

[2]WAN C Y,CAMPBELL A T.PSFQ:a reliable transport protocol for wireless sensor networks[C]//Proceedings of ACM WSNAO2.Atlanta,USA,2002.

[3]STANN F,HEIDEMANN J.RMSTL:reliable data transport in senor networks[C]//Proceedings of IEEE SNPA'03.Anchorage,USA,2003.

[4]ZHANG H,ARORA A,CHOI Y,et a1.Reliable bursty convergecastin wireless sensor networks[C]//Proceedings of ACM Mobihoc'05.Urbana-Champain,Illinois,USA,2005.

[5]IYER Y G,GANDHAM S,VENKATESAN S.STCP:a generic transport layer protocol for wireless sensor networks[C]//Proceedings of IEEE ICCCN 2005.San Diego,USA,2005.

[6]VOLGYESI P,NADAS A,LEDECZI A,et a1.Reliable multihop bulk transfer service for wireless sensor networks[C]//13th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems(ECBS 2006),CD-ROM.Potsdam,Germany,2006.

[7]程大伟,赵海,孙佩刚,张希元,朱剑,丁玉官,陆育惠,王进雷.能量高效的无线传感器网络传输可靠性研究[J].计算机应用,2008,28(1):25-28.CHENG Dawei,ZHAO Hai,SUN Peigang,ZHANG Xiyuan,ZHU Jian,DING Yuguan,LU Yuhui,Wang Jinlei.Study on energy-efficient reliability transmission for WSN[J].Computer Applications.2008,28(1):25-28.

[8]方维维,钱德沛,刘轶.一种相邻节点协作的无线传感器网络可靠传输方案[J].西安交通大学学报,2009,43(2):33-37.FANG Weiwei,QIAN Depei,LIU Yi.Reliable delivery scheme for wireless sensor networks based on cooperation among neighboring nodes[J].Journal of Xi’an Jiaotong University,2009,43(2):33-37.

[9]张希元,赵海,孙佩刚,朱剑,罗玎玎.基于链路层重传的传感器网络可靠传输模型[J].系统仿真学报,2007,19(22):5325-5330,5335.ZHANG Xiyuan,ZHAO Hai,SUN Peigang,ZHU Jian,LUO Dingding.Reliable transfer model for wireless sensor networks based on data link layer retransmission[J].Journal of System Simulation,2007,19(22):5325-5330,5335.

[10]汪黎,王正华,章文嵩.TCPHA:一个新型的高性能基于内容调度系统[J].计算机工程,2006,32(1):151-153.WANG Li, WANG Zhenghua, ZHANG Wensong.TCPHA:A new high efficient content-aware system[J].Computer Engineering,2006,32(1):151-153.

猜你喜欢
数据包重构传输
视频压缩感知采样率自适应的帧间片匹配重构
长城叙事的重构
基于Jpcap的网络数据包的监听与分析
混合型随机微分方程的传输不等式
牵引8K超高清传输时代 FIBBR Pure38K
北方大陆 重构未来
关于无线电力传输的探究
SmartSniff
北京的重构与再造
支持长距离4K HDR传输 AudioQuest Pearl、 Forest、 Cinnamon HDMI线