1 引 言
多跳无线网络(Wireless Multi-hop Networks)的机会路由(Opportunistic Routing)[1]过程将数据包转发给多个下一跳候选节点。这种转发模式使得数据产生多个副本,影响网络性能。所以怎样控制网络中的冗余副本成为机会路由研究的热点问题。
ExOR[2]路由协议使每个节点周期性发送探测包,获得相邻链路的ETX(Expected Transmission Count)并进行广播,从而让每个节点获得全部链路的状态。当某节点需要发送数据,采用Dijkstra算法计算自己的邻居到目的ETX,然后选择到目的节点的最短ETX小于自身的节点作为备选节点,并根据其到目的节点的距离设置转发优先级。但是ExOR需要每个节点广播链路消息,网络负载较大,并且缺乏副本控制机制。MORE[3]协议引入流内随机网络编码来降低副本产生的概率。协议对发送的数据进行分批,然后作随机线性编码并广播。中间节点收到数据包后判断是否与本地数据包线性独立,若线性独立则缓存在本地,否则丢弃。CORE[4]协议针对基于局部信息网络编码方案只能被动利用各节点现有的编码机会,将局部流间网络编码应用于机会路由。在确定候选转发节点优先级时,编码机会越大的节点优先级越高,从而确保编码机会多的节点转发数据包。SOAR[5]协议首先建立到目的节点的最短路径,协议以偏离这条路径的跳数作为候选节点的选择参数,并且各候选节点间链路的ETX必须高于一定门限使得候选节点集分布在最短路径附近,减少了副本的产生。MGOR[6]协议的每个节点可以有不同的速率和不同的转发范围,从而导致候选转发节点集和优先级关系的变化。MGOR采用EOT(Expected One-hop Throughput)作为候选节点选择尺度来实现候选节点的选择和传输速率的平衡优化。
本文提出一种满足副本控制要求的机会路由协议。该协议无需候选节点进行任何信息交换,只需当前节点转发数据包时,附带少量控制信息即可指定下一跳候选节点,实现副本控制要求。
2 转发开销的确定
假设每个转发节点知道下一跳候选节点。协议首先确定候选节点的转发开销。如果多个候选节点收到数据包,那么开销低的节点进行转发,这样可有效降低总体传输开销。确定候选节点转发开销首先要确定其优先级,而优先级与链路的可靠性和路由有效性有关。由于链路可靠性与节点间的距离密切相关,本文通过节点距离判定候选节点的优先级。通常节点都能够获取相邻节点间的距离,对于相距较远的节点,只能通过计算得到。本文通过网络拓扑图的确定性求解节点间的距离数据。对于有n个节点的网络,令dij表示节点i和j的距离。建立矩阵P=[pij]n*n,其中如果i和j的距离可以直接测量,那么pij=dij2;如果i和j的距离不能直接测量那么取pij=0,表示距离未知。然后对P进行奇异值分解,并取P的前3个奇异值向量构造P3作为2维空间距离矩阵。如果用C表示节点s的候选节点集,那么应满足条件v∈C,有dvd≤dsd,即候选节点v离节点d的距离要近。节点的优先级排序准则为,候选节点到当前转发节点s和目的节点d的距离之和越小优先级越高。
确定优先级后转发节点的选定以优先级为基础,选择转发开销小的节点。本文通过期望转发时间[7]来确定,令Ts表示当前转发节点s的期望转发时间,则:
Ts=1p(t+∑Cj=1qs(j-1)·ps,C(j)·TC(j)(1)
其中,p表示数据包成功发送的概率,C(j)表示候选节点集中第j优先级的节点,T表示该节点的期望传输时间。Ps,C(j)表示节点C(j)从节点s成功接收数据包的概率,qs(j)表示优先级最高的j个候选节点均未能成功接收数据包的概率。t表示数据包的发送时间。
3 路由协议
当前转发节点s发送数据包后,通过候选节点的ACK确定哪些节点收到了数据包,然后根据转发开销确定下一跳节点。s将相关信息附带在后续数据包上,候选节点则通过数据包携带的信息,确定自己是否应当转发之前收到的数据包。每跳转发依此进行,直到将数据包送达目的节点。假设源节点发送数据包x1,x2,…,xi到目的节点,其中i表示数据包的序号。中间节点为每个候选节点建立局部变量保存数据包的序号以及候选节点的ID。a(u)表示节点s建立的候选节点u的局部变量,变量值为数据包序号,用于告知候选节点u是否转发之前收到第a(u)个数据包。s转发的每个数据包都会插入α(u)。候选节点收到数据包后缓存在本地。对于候选节点u收到数据包,如果发现数据包的a(u)=i,那么u将转发之前缓存的数据包xi。候选节点每接收到一个数据包要向上一跳节点s发送ACK确认。如果没有收到ACK,节点s将会重传。
对于节点s,令Ci表示收到数据包xi的候选节点集,|Ci|=f,Ni表示节点s的邻居节点集,|Ni|=g。Ci(1)表示集合Ci中优先级最高的节点。选择候选节点的关键是节点s如何通过数据包xi完成下一跳节点的选择,也就是让a(Ci1)=i,路由过程如下:
1)候选节点u收到数据包xi,并向s反馈ACK(u);
2)s收到ACK(u),如果k=u则确认节点u收到xi,设置后续数据包xi+n的α(u);
3)如果uCi,那么xi+n,α(u)不变;
4)如果u=Ci(1),那么α(Ci(1))=i;
5)如果u∈{v|v∈Ci&v≠Ci(1)},则α(u)为空;
6)如果α(u)=i则转发xi,否则,缓存。
4 仿真分析
本文通过NS2对提出的协议进行了仿真,并与ExOR和基于地理位置的MGOR协议进行了对比。
在NS2中模拟1000×1000m的仿真区域,布设100个节点。首先,分析三种协议在不同路径长度下的性能,如图1。图中给出了端到端平均传输次数与最短路由路径长度的比值。不难看出本文协议具有较低的传输次数,从而具有较高的吞吐率。图2给出了在不同数据流的条件下,几种协议的吞吐率性能,实验中随机选取源节点和目的节点。不难看出ExOR与MGOR和本文协议有较大差距,而且随数据流的增多,由于虚警率的上升MGOR与本文协议在性能上的差距开始显现。在数据流较少的情况下,本协议的吞吐率相对于ExOR提升70%,相对于MGOR改进11.3%。
5 结 论
本文提出了具有副本控制能力的机会路由协议。提出的协议通过候选节点的距离确定其优先级,然后尽量选择转发时间开销较小的候选节点。协议通过包赋值控制下一跳候选节点的转发,而非通过单跳广播形式进行传输,保证了每个数据包只有一个节点能转发。仿真结果显示协议通过降低不必要的副本开销,显著改善了吞吐率。
参考文献
. IEEE Communications Surveys & Tutorials, 2006,8(1):24-37.
. In Proc. of 2005 Conference on Applications, Technologies , Architectures, and protocols for computer communications (SIGCOMM’05) ACM, 2005, 133-144.
. In Proc. of 2007 ACM SIGCOMM, 169–180.
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。