摘要:
移动自组织网络中的网络节点能够改变位置并且实时的进行网络配置,其采用的具体无线技术却在飞速地发展。IEEE 802.11作为一种常见的介质访问协议被广泛应用于无线信道的分布式竞争方案,协议的分布性和随机性使其非常容易受到攻击。虽然协议假设所有节点遵循共同的访问规则,但一些节点总可以破坏规则,通过利用协议的漏洞来获取比其他正常节点更大的利益和更高的带宽。
研究者已经发现了一些节点基于自利动机采取的不当行为,如节点故意丢弃其他节点的数据分组来节省电池能量,干扰其他节点的数据包发送,篡改回退窗口定时器参数。
这类自私节点在自身的MAC层使用较小的回退窗口值来阻碍其他正常节点对信道的访问。同时,还存在自私节点共谋的问题:发送节点和接受节点达成一致,共同进行不当行为。本篇文章立足于研究这一类自私的不当行为,提出了一个诊断机制和惩罚机制以解决节点在MAC层的自私行为,而且本文的研究成果还可以扩展到移动自组织网络之外的其他网络种类。
分布式协调功能(DCF)是IEEE 802.11无线局域网标准中最基本的MAC技术。DCF中采用了CSMA/ CA分布式算法和可选的虚拟载波监听(使用RTS和CTS控制帧)。一方面,为了避免信道访问冲突, DCF规定了随机退避机制,要求节点在访问信道之前等待一个额外的时间。另外,可选的虚拟载波监听机制要求发送端和接收端在发送数据帧的间隔交互短的RTS和CTS控制帧。
分布式协调功能/自私不当行为避免(DCF/SMA):在本算法中,为了避免节点出于自利的不当行为,需要BSS(Basic Service Set)集合中的每一个节点保存一个和邻居列表相关的数据结构,具体包括:邻居节点,节点的自私性(ε),期望的回退窗口参数(ExpBOV),发送端(Sendacc)和接收端(Recvacc)的访问参数(表明BSS集合中的节点发送/接受的次数)。自私性定义了每一个节点的自私程度,取值从下限0到上限10。发送节点根据接受者的回退参数(RecvBOV)和发送者的回退参数(SendBOV)计算新的回退参数BOV,同时邻居节点也为发送节点计算期望的回退窗口参数(ExpBOV)。
如果一个节点每次选择小的回退窗口参数,从而阻碍了BSS集合中其他节点的信道访问,则当前节点被认为是自私节点;如果一个节点访问等待的时间低于公平的回退等待时间,从而获得了超过公平值的信道带宽,则当前节点的行为被认为是不当行为。本文在IEEE 802.11 DCF基础上提出的改进机制,能够保证每一个节点选择的回退参数都能平均到一个最优值,从而防止节点自私的不当行为。
自私节点的检测和惩罚:在每一次数据传输前(即在接收节点回复CTS数据帧和发送节点确认接收节点前),节点检测邻居列表中发送节点和接收节点的自私性和访问参数。如果一个节点被判断为自私节点,则通过为其赋予一个更大的回退参数作为惩罚。
行为不当节点的检测和惩罚:如果某发送节点的回退参数比期望的回退参数低,即BOV < ExpBOV,则被其他节点认为行为不当,判定其违反了协议规范。一旦发送节点被检测为不当节点,则其他节点将不予回复CTS帧,即其他节点通过不再接收发送节点的数据包来达到惩罚目的。
处理数据包重传:当一个发送节点的请求发送(RTS)失败,它会选择一个新的回退参数,具体根据确定性函数f(利用发送节点和接受节点之前选定的回退参数值),节点独特的标识nodeId,尝试次数attempt以及竞争窗口CW。然后判断新计算的回退参数是否违背协议规定(即是否会造成不当行为)。在这个过程中,发送节点可能会提供不正确的尝试次数attempt试图获得更多的信道访问机会。因此为了保证发送节点提供正确的尝试次数attempt,接受节点通过探测信道是否出现高冲突频率来判断(即检测信道是否经常被占用,但却极少有传输成功完成)。
降低错误判断:由于有隐藏终端(hidden terminal)问题的存在,可能出现发送节点检测信道空闲而接受节点认为信道繁忙的情况。为了降低可能出现的误判,本文提出了相应的解决方案:只有当接受节点监听到一个信道时隙已经被RTS/CTS预约或者接收到一个数据包,才会判断一个信道时隙被占用。如果接受节点检测到信道有传输发生但没有正确接收到任何帧(包括数据帧和控制帧),则不会判断当前信道时隙被占用。接受节点通过监测发送节点的计数器来减少自身的计数器数值。因此当发送节点的计数器为零的时候,接受节点计数器也应该归零。否则,接受节点可以通过前文所述的检测机制判断发送节点是否行为不当。
仿真:本文在NS2模拟器上扩展IEEE 802.11标准,实现了DCF/SMA协议。所采用的协议评价标准有:正确诊断的概率,错误诊断的概率,行为正常节点的吞吐率,行为不当节点的吞吐率,IEEE 802.1和DCF/SMA协议的公平指标比较。同时本文采用了两种行为不当模式来描述节点的行为:第一种是持续性行为,节点即使在被检测并且被惩罚的情况下,也会保持自私行为的频率。第二种是适应性行为,节点会根据受到的惩罚来动态调整不当行为的程度。特别是在一些场景下,具有智能的攻击节点会在未被检测的情况下增加不当行为的程度并获得更高的吞吐率,而在被检测和惩罚后会降低自私行为的频率。本文针对这两种行为模式都进行了实验分析。
根据本文提出的模型和实验仿真,我们发现DCF/SMA能够有效(保持低误判率)检测并惩罚节点的自私和不当行为,从而获得相对IEEE 802.11分布式协调机制更高的性能提升。