机会路由MORE协议的matlab性能仿真
1.程序功能描述
对无线网状网进行深入的研究,对现有无线网状网中存在的机会路由和网络编码技术进行细致分析。目前,机会路由技术和网络编码技术的融合是一个研究热点,基于网络编码的机会路由协议MORE:
(1)对无线网状网中的机会路由技术进行研究,根据机会路由的原理,总结其较传统路由的优势。
(2)对无线网状网中的网络编码技术进行研究,分析其基本原理及其对网络的性能提升。
(3)介绍MORE机会路由机制,提出MORE机会路由机制的改进方案,即通过改进MORE机制现有的度量和测量方案,提升网络性能。
2.测试软件版本以及运行结果展示
MATLAB2022a版本运行
3.核心程序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | %下面利用MORE协议进行网络数据包的传输 for i = 1:noOfNodes for j = 1:noOfNodes NN = NN + 1; [NN,K] .......................................................................... %计数器计数 for iii = 1:K tmpss(iii) = (Data_Decode{1,n1}(iii) == Data_trans{1,n1}(iii)); end if sum (tmpss) == K ACK = 1; %成功接收了ACK=1; else ACK = 0; %不成功接收了ACK=0; end %对于传统MORE,S值不改变 if times > T S = alpha * PS/Num + (1- alpha )*S; PS = 0; Num = 0; times = 0; Count = Count; else S = S; PS = PS + 1; %假设发送数据包大小psi为1 Num = Num + 1; times = times + T_sub; Count = Count + 1; end %计算每次发送成功需要的次数 if n1 == 1 EXT(n1) = 1/(Pf*Pr); else EXT(n1) = EXT(n1-1) + 1/(Pf*Pr); end end Throughput2(mm) = tmp*N_byte/(Count*T_sub); end %计算吞吐量 Throughput(NN) = mean (Throughput2); end end %****************************************************************** end dd = dd + 1; Throughput_sum(dd) = sum (Throughput); end figure ; plot (KK,Throughput_sum, 'b-o' ); xlabel ( '包个数/段' ); ylabel ( '吞吐量bps' ); grid on; save MORE1.mat KK Throughput_sum 12_006m |
4.本算法原理
无线网状网由于采用无线链路进行通信,网络的质量将时刻受到无线环境和本地其他无线网络的影响。如何提高网络的性能,提升网络的吞吐量,是现阶段研究的热点问题。前一节介绍了网络编码技术,这里开始介绍机会路由技术。在2.1节已经论述过传统的路由协议并不适合无线网状网的特点,它把无线网络当作有线网络看待,掩盖了无线通信的基本特性,导致预先选择路径的路由协议在无线网络中不能发挥出应有的性能。机会路由机制因此而产生,其目的是设计出一套真正符合无线网状网基本特性的路由协议,提升网络吞吐量。
机会路由(Oppprtunistic Routing)是一种新的无线网状网单播路由技术。它由MIT的Sanjit Biswas等人在文献[1]中提出,引起了很大关注,并成为了新的研究热点。下面从机会路由的基本原理入手,介绍一种新的路由转发架构,在此基础上再引入文献[1]提出的原理和思想。
以图所示的网络拓扑为例说明无线网状网中的路由机制的改进空间。在图中,节点A到节点D存在多条不同的路由。作为一种极端的情况,从A通过1跳就能够到达D,其数据包成功传送的概率为0.1,这样的代价是同一个数据包需要发送多次来恢复丢失的数据包。作为另一种极端情况,A可以通过3跳到达D,也就是通过中间节点B和C进行数据转发,这样做的代价是要多次发送同一个数据包。以上两种路由选择都损耗了一定的性能。这是因为节点C甚至节点D能够监听到节点A发往节点B的任何数据包,通过B再次转发这些数据包就会造成性能的浪费。如果节点A将数据包直接发往节点D,虽然传送成功率只有0.1,但D节点还是可能正确地接收到数据包,而在很多情况下节点B或节点C都能收到。因此由节点B或节点C进行重传远优于节点A进行重传。机会路由机制的原理就是利用这些机会(其它节点能够监听到数据包)提升网络的性能。
MORE机会路由机制主要由两部分内容构成:机会路由与网络编码。在机会路由方面,与ExOR不同,MORE是一种独立于MAC层的协议,它位于IP层和MAC层之间。它要求每个节点在转发数据之前利用线性网络编码技术对数据包进行随机混合,这样就保证了能够监听到同一次数据传输而转发不同的数据,如图所示。
在MORE机制中,MORE的性能基本取决于候选转发节点的选择,而节点选择问题归根结底就是路径测量问题,MORE由于采用了ETX路径测量机制,存在探测包测量出来的链路性能不一定与实际数据包在链路中的传送性能相吻合的问题。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下