张俊清 张刚强 刘俊凯
(水声对抗技术重点实验室,上海,201108)
由于水声通信信道的开放性,水声通信网络容易受到多种网络攻击,包括网络内的自干扰、外界敌意干扰、拒绝服务干扰、伪造、恶意节点攻击等[1]。干扰攻击和防御是目前水声通信网络研究面临的难题。
水声通信网络干扰攻击主要是占用水声通信信道,使其网络节点不能正常进行数据传输,从而影响网络节点正常的工作。干扰的目标可以是节点、信道以及网络结构等。攻击的目的是降低水声通信网络信道容量、分割网络区域、降低网络吞吐量、增加网络时延等。发起攻击的区域可以包括时域、空域频域等。不同目标、目的和攻击域相互组合产生多种多样的攻击模型。
当前干扰攻击的研究多数从时域或频域发起,对于干扰节点的空域部署关注较少。从时域角度来看,干扰攻击可以分为持续干扰、欺骗性干扰和随机干扰3 类[2]。从频域角度来看,干扰攻击包括跟踪干扰、阻塞干扰和灵巧干扰等[4],一些复杂的干扰攻击包括跨层干扰攻击、协议层干扰攻击等。Brown 等总结了干扰的分层模型,并基于离线感知的方法发起干扰攻击[3]。Li 等针对单个干扰者且干扰目标是降低合法节点的传输成功率情况,分析了干扰者的最优传输策略[4]。Devi 等分析了干扰攻击对无线网络的影响,并提出了使用分组速率划分进行干扰缓解[5]。阚保强等针对多跳无线网络的干扰攻击问题,提出使用多路径路由协议先验性的规避干扰区域[6]。针对802.11 协议的信道接入机制和数据发送机制,多篇文献提出了对应的协议层次的干扰方法,Gummadi 等分析了载波监听协议面临的干扰攻击威胁[7],Zhang 等人提出了针对ACK 机制的干扰方法[8],Acharya 等提出了针对802.11b 的干扰攻击方法[9]。
从空间域上考察干扰节点的部署,目前的研究很少。国防科技大学的孙言强等人对这个问题提出了一个基本模型,即在有k 个干扰节点的情形中,攻击者如何放置这些干扰节点,以使网络中节点与节点之间的连通度最小,也称为k-干扰节点部署问题( k-Jammer Deployment Problem,k-JDP)[10]。他们首先证明了该问题即使在理想情况下(攻击者掌握了传感器网络全局拓扑信息),依然是NP 完全的,然后给出了该问题的整数线性规划模型,最后提出了一种基于独立集相关理论的启发式算法[3]。但是该文提出的启发式算法的有效性并未通过试验进行验证,也未考虑干扰目的、可用资源和被干扰目标特征等相关因素。目前针对干扰节点空间部署问题的研究尚在初期,难以满足现实应用需要。 本文针对干扰节点空域部署问题,首先给出了部署问题的通用模型,然后基于网络度分布特征提出了一种干扰节点部署方法。该方法通过被动监听推断网络中节点的度信息,将启发式的选择度最大的节点作为干扰目标,从而有效降低网络的平均吞吐量。
干扰节点不同的部署位置对水声通信网络的干扰结果具有直接影响,如何保证最大限度对水声通信网络干扰,需要进一步解决干扰节点部署问题。图1 是典型的水声通信网络拓扑结构,各个节点功能相同,干扰节点的目的是最小化网络吞吐量。
1 个干扰节点部署于网络中时水声通信网络干扰节点部署的方法见图2~3。图中干扰节点部署于空间不同位置,图2 干扰节点部署方法明显优于图3,这是由于图2 干扰节点部署在更多相邻节点的路径上,比方法B 干扰更多的端到端流量。
图1 水声通信网络拓扑结构
图2 干扰节点部署方法A
图3 干扰节点部署方法B
干扰节点部署于不同位置,对整个网络的吞吐量影响不同,所以,选择干扰节点位置对于达到干扰目的起着至关重要的作用,需研究一种高效的干扰节点部署方法。
干扰节点部署的主要目标和约束是:如何根据被干扰网络的状态(网络层协议、网络拓扑结构、物理层信道特征、节点分布状态),有效利用可用资源(包括干扰节点数量、功率、被干扰网络的网络层以及物理层知识),选择最佳的目标和干扰行为(干扰区域、样式、方法),从而达到最大化的干扰目标及最小化干扰资源的使用。通用模型描述如下:(1)最大化目标干扰效果;(2)最小化干扰资源利用;(3)限制条件,部署的干扰节点数量及其性能要求≤可用干扰资源限制R,干扰部署所基于被干扰网络的知识符合假设。
为了在特定背景下将这个模型实例化,需细化其中的干扰目标、资源限制和关于被干扰网络的信息。对于不同的水声通信网络场景,其干扰部署问题并不相同,对应采取的干扰节点部署方法也相应存在差异,需要限定问题范围提出对应的策略。本文假设干扰节点部署场景如下:水声网络拓扑;节点间的包流量为广播模式,且服从泊松分布;网络采用固定路由算法。J 是干扰节点集合;干扰节点的传输功率与水声通信网络节点相同,干扰部署的目标是最小化网络吞吐量。
部署干扰节点需要充分考虑网络特征参数,例如平均路径长度、度分布等。本文针对节点度分布的特征参数,提出干扰节点部署方法。度是网络中单个节点的局部特征的基本参数,度分布反映了网络的宏观统计特征。针对水声通信网络中的节点,度定义为该节点Vi连接的其它节点的数目,节点的度包括入度和出度两种,入度是其它节点指向Vi的边的数量;出度是指从Vi出发指向其它节点的边的数量。假设水声通信网络中的边是双向连接,因此每个节点入度等于出度,从每个节点的度出发,可以得到水声通信网络的平均度、度分布参数等统计特征。
为了推断水声通信网络节点度分布,需要考虑水声通信网络媒体接入控制协议(Medium Access Control,MAC)。水声通信网络MAC 协议分为竞争性和非竞争性,典型的MAC 协议包括载波侦听多址协议(Carrier Sense Multiple Access,CSMA)、MACA(Multiple Access with Collision Avoidance)、协议和时分多址(Time Division Multiple Access,TDMA)等。为了估计节点的度分布信息,针对不同MAC 协议,干扰者需要采取不同的估计方法,包括主动测量和被动监听等。主动测量方法需要发送大量的数据信息,这给水声通信网络造成极大的侵扰,容易暴露干扰者自身信息。被动监听方法通过监听水声通信网络的报文交换过程以及报文内容来推断节点度信息。本文采用被动监听方式估计节点度分布。
1.2.1 水声网络被动监听估计节点度基本原理
本文主要针对目前在水下通信网络研究最多且比较成熟的MACA 协议干扰。MACA 协议的基本原理是基于RTS/CTS(Request to Send /Clear to Send)握手预约信道的MAC 协议。MACA 协议握手机制如图4 所示。
当发送端有数据要发送,预约信道时,会发送一个短的RTS 包,包中含待发送数据包的长度。如果信道空闲且没有被其它节点预约,接收端会发送CTS 包回复发送端,包中同样也含了待发送数据包的长度。当收到CTS 包之后,发送端立即开始传输数据包,其他能够听到RTS 包的节点推迟足够长的时间,以保证发送端接收相应的CTS 包(一般推迟时间为两倍的最大传播时延加上CTS 传播传输时间),其他能够听到CTS 包的节点推迟足够长的时间以保证目的节点接收到数据包(一般推迟时间为两倍的最大传输时延加上数据包的传输时间)。
图4 MACA 协议工作原理
如果接收节点的信道已经被预约,它就会忽略收到的RTS 包。发送节点使用定时器,从发出RTS包的时刻开始计时。如果计时器超时,节点会在一个随机的退避时间(多倍最大传播时延加上RTS 的传输时间)之后重复发送信道请求。
估计节点度基本原理是基于MAC 层MACA 协议准则,干扰节点基于信号长度对接收的信号进行分类,默认数据信号长度最长,然后采用相关方法,估计出不同的RTS 帧,从而侦听出该干扰节点周围网络节点可能的邻居节点个数,从而估计该网络节点的度大小,被动监听估计节点度流程如图5 所示。
实际应用中,每个网络节点的RTS 帧结构相同,但帧携带的信息不同,由于不同RTS 帧没有相关性,相同RTS 帧具有相关性,从而可以识别不同的RTS帧,之后可以推断出监听到请求帧类型个数,最终准确的推断出节点的度分布,为基于度分布的干扰节点部署方法提供数据基础。
1.2.2 部署方法
具有较大度数的节点承载的流量相对较大,从而对网络分组投递成功率具有较大的影响,为此,干扰节点部署时应该优先部署在那些节点周围,从而最大程度影响网络的分组投递成功率。基于这种考虑,基于度分布的干扰节点部署方法主要包含5 个步骤,算法过程如下:
(1)通过被动报文监听,获得N 个节点的信号强度及RTS 信息;
(2)分析获得 N 个节点度的估计值D1, D2, …, DN;
(3)将节点按照度降序排序;
( 4 ) 将 节 点 度 最 高 的 M 个 节 点{V1, V2, …, VM}加入受干扰节点集合;
(5)形成受干扰节点集合V ={V1, V2, …, VM}。
在第(1)步,干扰节点通过被动监听获得节点的信号强度、RTS 种类等信息,并通过网络分析获得节点度的估计值;在第(2)、(3)步中,对节点度进行降序排序;第(4)步中确定度最大的M 个节点作为干扰对象,最终在第(5)步得到受干扰节点集合V ={V1, V2, …, VM}。
图5 被动监听估计节点度流程
为了验证基于度分布的干扰节点部署方法的有效性,本文基于OPNET 软件进行了仿真,首先设计了水声通信网络系统,并基于此系统实现了基于度干扰对比方法的仿真,干扰节点使用RTS 重放干扰方法,目的是干扰网络中的RTS 帧,使网络节点之间不能信息传输,最后针对不同的参数设置对性能的影响进行了分析。
设定网络中节点个数为N,部署M×N 的区域,每个节点的通信半径为R。节点的部署区域中坐标是随机的,网络路由层采用固定路由,MAC 层采用MACA 协议。每个节点产生包服从泊松分布。干扰节点数量为JN 个,干扰半径为R,干扰节点被部署后,影响其通信范围内的通信节点。参数设置为N=12,M=N=5000,R=1000。干扰节点随机部署于网络中,统计网络吞吐量;然后用基于度分布的干扰节点部署方法,统计网络吞吐量变化。根据参数设置,水声通信网络拓扑结构,如图6 所示。
图6 水声通信网络拓扑结构
仿真过程中,考察在相同负载条件下,不存在干扰节点以及采用两种不同的干扰节点部署方法水声通信网络吞吐量变化和丢包率变化。吞吐量变化如图7 所示。由图可知,在没有干扰节点存在的情况下,水声通信网络吞吐量随着时间变化趋于最大,当存在干扰节点时,水声通信网络吞吐量明显下降,干扰方法B 干扰效果明显好于干扰方法A,可以较好的达到干扰效果。水声通信网络中丢包率随着时间变化如图8 所示。
图7 水声通信网络吞吐量变化
图8 水声通信网络丢包率变化
由图可知,无干扰情况下,水声网络中也存在丢包率,这是因为网络中存在数据包碰撞,造成信道冲突,从而导致丢包,干扰方法B 丢包率明显高于干扰方法A,达到约为89%,而干扰方法A 丢包率仅仅为46%左右。
在此基础上,文献[11]分析了不同协议干扰方法干扰效果。由于不同的协议干扰方法对水声网络干扰效果存在一定差异,但整体上基于度分布部署方法干扰效果优于随机部署的干扰效果。
本文通过对干扰节点部署问题进行了详细描述,给出了干扰节点不同位置的优化部署方法。针对水声通信网络,提出了基于网络度分布的干扰节点部署方法,优先选择度较大的节点作为被干扰节点。仿真结果证明了所提部署方法可以有效降低水声通信网络吞吐量。今后工作需要进一步验证不同部署方法的性能,同时,需要进一步考虑水声复杂环境下,水声干扰节点对水声网络干扰性能的影响并试验验证。