机会网络是一种不需要在源节点和目的节点之间存在完整路径,利用节点移动带来的相遇机会实现网络通信的、时延和分裂可容忍的自组织网络[1]。机会网络不同于传统的多跳无线网络,它的节点不是被统一部署的,网络规模和节点初始位置未进行预先设置,源节点和目的节点之间的路径事先不能确定是否存在。机会网络以“存储-携带-转发”模式逐跳传输信息实现节点间通信,其体系结构与多跳无线网络不同,它在应用层与传输层之间插入一个被称为束层的新的协议层。
在机会网络中由于节点的运动,网络的拓扑结构会不断变化,使传统的路由算法无法适用,大量针对机会网络的新的路由算法被提出。但由于目前机会网络实际的应用场景较少,各种路由算法性能及在各种场景下的特点未得到很好的评价。基于此,本文通过选取恰当的度量值、设置具有典型意义的场景,对机会网络典型路由算法的性能、特点进行比较分析。
First Contact 和Direct Delivery(也称Direct Transmission)算法基于转发策略,该类路由算法报文在传输过程中,节点不会对其进行复制,网络中只有一个报文副本在传输。Direct Delivery 算法源节点仅在遇到目标节点时将报文交付给下一个节点,而First Contact 算法源节点将报文交付给它遇到的第1个节点
Epidemic 和Spray and Wait 算法基于泛洪策略,在该类路由算法中,当2 节点相遇时向对方复制报文,并可通过限定报文的生存周期或副本数量来避免过度泛洪。Epidemic 算法的思想是当2 节点相遇时交换对方没有的报文,经足够的交换后,理论上每个非孤立节点将收到所有报文,从而实现报文的传输。该算法的优点是能最大化报文传输的成功率,减少传输延迟,缺点是网络中存在大量的报文副本,会大量消耗网络资源。
Spray and Wait 算法分为2 个阶段:Spray 阶段,源节点中的部分报文被扩散到邻居节点;Wait 阶段,若Spray 阶段没有发现目的节点,那么包含报文的节点通过Direct Delivery方式把报文传送到目的节点。该算法优点是传输量显著地少于Epidemic 算法;传输延迟较小,接近于最优;有更好的可扩展性,无论网络的规模大小、节点密度如何改变,都能保持较好的性能。
3.1 Matlab画图命令
在这次实习中,我采用的是将txt文件导入到matlab 中,生成矩阵来画图,若生成矩阵A,则画图命令如下:
x=A(1,:);
D=A(2,:);
E=A(3,:);
M=A(4,:);
P=A(5,:);
S=A(6,:);
以上为生成x,y轴的坐标数据
plot(x,D,'-*',x,E,'-*',x,M,'-*',x,P,'-*',x,S,'-*') //作图命令,引号内为曲线的颜色和形状
legend('Direct Delivery','Epidmic','Maxpro','Prophet','Spray and Wait')//在图表中添加标注,对应各自的曲线
axis([-5,110,0,1.0]);//规定横纵轴的坐标范围,使图标更为美观
在Default settings中配置如下:
然后在命令提示符中运行如下:
最后生成文件如下所示:
在图1中,采用SPMBM移动模型,以不同的节点数进行了仿真,结果如图2-图4所示。
图2.传输成功率
图3.传输延迟
图3表明,MaxProp算法的传输延迟不会随节点密度的增加而显著增加,该算法传输延迟和节点密度之间的关系的趋势与其他算法明显不同。
图4.路由开销
图4表明,Direct Delivery和Spray And Wait算法路由开销基本和节点密度无关。其他4 种算法当节点密度达到一定程度后,路由开销急剧增加,这将导致节点能耗的显著增加,从而限制这些路由算法的应用范围。
在图1场景中,采用SPMBM 移动模型,200 个节点,以不同的节点缓存进行了仿真,结果如图5-图 7所示。
图5.传输成功率
图5表明,节点缓存对各路由算法的传输成功率影响各异,在节点缓存比较小时影响相对显著,从趋势上看增加节点缓存可以提高传输成功率。
图6.传输延迟
图6表明,除MaxProp 算法外,其他算法增加节点缓存在一定程度上会令传输延迟增加,特别是当缓存比较小时影响比较显著。
图7.路由开销
图7表明,节点缓存对First Contact 算法影响非常显著,而对其他算法影响不显著。
经过对仿真结果的比较分析,综合各路由算法在不同场景下的表现,得出如下结论:
(1) 节点密度、节点移动模型和节点缓存大小都会对路由算法的性能产生显著的影响。在稀疏场景下各路由算法的性能差距不大,但随着节点数目的增加各路由算法的性能分化明显。
(2) Spray And Wait 算法的在多数仿真场景下具有传输成功率高、路由开销低的特点,和其他路由算法综合比较有显著的优势。MaxProp 算法在不同的场景下,均有较高的传输成功率,且该算法的其他指标不会因节点密度增加而显著恶化,该算法对不同节点密度有较好的适用性。
(3) Epidemic 算法在多数场景下各性能指标较差,其传输成功率和Direct Delivery 算法相当,传输延迟和其他算法比较也无明显优势。
(4) Prophet 算法在本文仿真场景中没有突出表现,在一些场景下其传输成功率甚至不如Direct Delivery 算法。Direct Delivery 算法的传输成功率在6 种算法中处于中间水平,但该算法有一个显著的优点,其路由开销在所有场景下均为0,在节点能耗稀缺的场景下是最具优势的路由算法。FirstContact 算法的综合性能低于其他算法。