论文部分内容阅读
在多跳无线网络中,无线广播协议是一种基本的原始通信方式,并且也是其他各种网络协议的基石,如路由查找,拓扑结构确定,ARP地址解析协议等,在各种网络环境中都起着举足轻重的作用。广播协议相当简单,由一个节点开始将信息传送到整个网络所有节点。但是简单的算法带来了不可靠性。由于缺乏确认机制和RTS-CTS握手机制,网络中的隐藏终端问题无法避免或者恢复,这会对整个网络性能带来很严重的影响,给网络带来难以估量的灾祸。本文从上述问题出发,首先研究了隐藏终端问题的成因及各类解决隐藏终端的经典算法并且介绍了可靠广播的基本思想,之后研究了网络编码这一最近兴起的网络技术,利用模拟网络编码算法解决包冲突问题,提出了两种不同的广播网络环境下的隐藏终端的解决机制。(1)对于节点能量无限制及节点内存空间较大的多跳无线mesh网络广播中隐藏终端发生后丢包无法恢复的问题,本文利用接收包已经正确接收而储存的重复性提出了广播中隐藏终端解决编码方案(Hidden terminal in broadcast CODE,HB-CODE)。该方法在节点处利用节点已经接收过的包会在节点产生一个副本,然后通过特殊的机制确认碰撞包中是否有已接收过的包,若有再采用网络编码的方法解码碰撞包,从而恢复原始数据包。分析和实验表明,与flood洪泛协议相比,网络编码解决机制减少了延迟最高15%左右,平均降低了25%的丢包率,提高了无线广播网络的可靠性和吞吐量。(2)针对无线多跳ad-hoc网络中隐藏终端的问题,由于节点储存能力有限,而在HB-CODE中,只有当发生碰撞的数据包中的任意一个之前已经被节点正确接收且存储在节点中时才能正确恢复,因此需要较大的储存空间。为了进一步改善丢包率,本文主动创造编码机会,以ZigZag的思想为基础,提出了带有编码意识的采用NACK的模拟编码算法NACK-CODE来解决广播中的隐藏终端问题。该算法中,发生包碰撞的节点主动发送NACK,来通知碰撞包的上跳节点重新发送包,在上跳节中重新发送包具有最高优先级,从而保证第二次即使碰撞,发生碰撞的数据包与第一次碰撞的数据包相同。碰撞节点再用ZigZag算法的思想理论进行解码恢复碰撞包。实验结果表明与洪泛协议flood相比,NACK-CODE大大降低了丢包率,在不同节点密度的情况下平均丢包率降低了50%,大大提高了广播网络的可靠性。