机会路由MORE协议的matlab性能仿真

本文涉及的产品
大数据开发治理平台 DataWorks,不限时长
实时数仓Hologres,5000CU*H 100GB 3个月
实时计算 Flink 版,5000CU*H 3个月
简介: 摘要:本研究关注无线Mesh网络中的机会路由与网络编码融合技术,特别是MORE协议。机会路由利用无线特性提高网络效率,而网络编码提升网络吞吐量。在分析这两项技术的基础上,提出改进MORE的方案,优化节点选择和路径测量,以增强网络性能。使用MATLAB2022a进行仿真验证。尽管MORE独立于MAC层并应用线性网络编码,但其ETX测量可能存在不准确问题,该问题成为改进的重点。

1.程序功能描述
对无线网状网进行深入的研究,对现有无线网状网中存在的机会路由和网络编码技术进行细致分析。目前,机会路由技术和网络编码技术的融合是一个研究热点,基于网络编码的机会路由协议MORE:

(1)对无线网状网中的机会路由技术进行研究,根据机会路由的原理,总结其较传统路由的优势。

(2)对无线网状网中的网络编码技术进行研究,分析其基本原理及其对网络的性能提升。

(3)介绍MORE机会路由机制,提出MORE机会路由机制的改进方案,即通过改进MORE机制现有的度量和测量方案,提升网络性能。

2.测试软件版本以及运行结果展示
MATLAB2022a版本运行

1.jpeg
2.jpeg

3.核心程序

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]提出的原理和思想。

5564b59498a1e80ea055b6483fbcbe6c_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

    以图所示的网络拓扑为例说明无线网状网中的路由机制的改进空间。在图中,节点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层之间。它要求每个节点在转发数据之前利用线性网络编码技术对数据包进行随机混合,这样就保证了能够监听到同一次数据传输而转发不同的数据,如图所示。

bed23043b87bae6b30060066125ed1bc_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

   在MORE机制中,MORE的性能基本取决于候选转发节点的选择,而节点选择问题归根结底就是路径测量问题,MORE由于采用了ETX路径测量机制,存在探测包测量出来的链路性能不一定与实际数据包在链路中的传送性能相吻合的问题。
相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
5天前
|
存储 数据可视化
MATLAB - 仿真单摆的周期性摆动
MATLAB - 仿真单摆的周期性摆动
7 1
|
4天前
|
算法 数据安全/隐私保护 计算机视觉
基于粒子滤波和帧差法的目标跟踪matlab仿真
本项目展示一种结合粒子滤波与帧差法的目标跟踪技术,在Matlab 2013b上实现。通过帧间差异检测运动目标,并利用粒子滤波优化跟踪精度。改进后的重采样方法提升了算法表现。核心代码详尽并附中文注释及操作指南。理论方面,帧差法通过对比连续帧识别移动对象;粒子滤波则基于一组随机粒子估计目标状态,两者结合有效应对复杂场景,如背景杂乱或光照变化,确保跟踪稳定可靠。
|
4天前
|
机器学习/深度学习
基于IEEE30电网系统的停电规模评价系统matlab仿真,对比IEEE118,输出停电规模,潮流分布和负载率等
本课题针对IEEE标准节点系统,通过移除特定线路模拟故障,计算其余线路的有功潮流分布系数及负载率变化。采用MATLAB2022a进行仿真,通过潮流计算确定电网运行状态,并以负载率评估负载能力。IEEE30与IEEE118系统对比显示,前者在故障下易过载,后者则因更好的拓扑结构拥有更高的负载裕度。
|
4天前
|
算法
蜂窝网络下行链路的覆盖率和速率性能matlab仿真分析
此程序在MATLAB2022a环境下运行,基于随机几何模型评估蜂窝网络的下行链路覆盖率和速率性能。通过模拟不同场景下的基站(BS)配置与噪声情况,计算并绘制了各种条件下的信号干扰加噪声比(SINR)阈值与覆盖率概率的关系图。结果显示,在考虑噪声和不同基站分布模型时,覆盖率有显著差异,提出的随机模型相较于传统网格模型更为保守但也更加贴合实际基站的分布情况。
|
11天前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
30 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
12天前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
37 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
12天前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
25 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
3月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
3月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)