没有合适的资源?快使用搜索试试~ 我知道了~
面向事件的多播AODV路由协议的设计与实现
Array 14 (2022) 100129Array0ticle under the CC BY-NC-ND license (http://creativecommons.org/licenses/by- nc-nd/4.0/ ).0ScienceDirect 提供的内容列表0期刊主页: www.elsevier.com/locate/array0面向事件的多播AODV路由协议的设计与实现0印度班加罗尔的印度科学研究所电子通信工程的协议工程和技术单元0文章信息0关键词: 模糊集 计算智能 多播树组成员 最佳路径0摘要0我们为普遍网络设计并实现了基于事件条件动作(ECA)的多播自组织距离向量(ECA-MAODV)路由协议。ECA-MAODV协议在使用计算智能方法选择高效路由以创建高效的多播树并选择多播组中的唯一组领导者来分享和交换信息方面起着主导作用。模糊集是计算智能的一部分,是模糊集的一个增强片段。模糊集中的每个元素映射到[0,1],反映其隶属度。我们估计了ECA-MAODV的时间和空间复杂性。此外,我们评估了ECA-MAODV的性能,并将其与MAODV和AODV等传统路由协议进行了比较。最后,模拟结果表明所提出的ECA方案既有效又强大。01. 引言0普遍网络是网络的无缝聚合,允许许多移动用户在任何时间、任何地点,无需用户干预即可查看增强现实内容。普遍网络中的多播[1]是一种从发射器无缝地将数据包传输到位于异构网络的具有相似特征的接收器的方法。接收器组具有称为多播组地址的组地址。打算向组传输数据包的发射器将其传播到多播组地址,如图1所示。标准多播组是交互式的,这意味着组的成员可以在任何阶段参与并退出该组。多播组的成员可能同时是多个多播组的参与者。对于数据包传输,发送方不需要是多播社区的成员,但接收方必须是特定组的成员。[2-7]在发送方向多播组发送数据包之前,必须建立到组的路由,每当发送方希望向一组接收器传播数据包时,都要按需建立路由,而其路由表中没有路由数据。因此,发送方通过广播路由查询消息来启动路由调查。在收到路由查询包的响应后,只有成员节点才能通过向起始节点单播来响应路由查询包。向最近的相邻节点发送单播多播激活消息,以为从发射器到接收器组的多播设置路由以交换任何时间的流行数据包。多播执行以下操作0� 通讯作者. 电子邮件地址: chandrashekh@iisc.ac.in (C.P. Chavan), pallapa@iisc.ac.in (P. Venkataram).0• 使节点加入: 为了传输和交换数据包,每个0操作0多播组。• 提供可靠的连接路径,连接组成员:0普遍网络中的移动节点将参与0在组成员之间提供可靠的连接路径:0节点将连接到连接组成员的多播路径,如果它0想要到达特定的多播组。• 在组成员之间构建树:为了交换数据包0集,该组使用所有参与者共享的多播树0参与者之间的连接:由于节点的多功能性0或节点在任何时间点都可以退出组。这是至关重要的0跟踪组成员之间的连接。0本文的其余部分组织如下。在第二节中,我们对一些现有工作进行了总结。第3节讨论了0第2节,我们对一些现有工作进行了总结。第3节讨论了0讨论了所提出的架构的工作。在第4节中,列表0ECA-MAODV功能的描述。第5节包括成员的列表0成员资格函数。第6节描述了时间复杂度。第7节详细说明0协议的空间复杂度。第8节讨论了主要的区别0MAODV和ECA-MAODV路由协议之间的比较。第9节0https://doi.org/10.1016/j.array.2022.100129收稿日期:2021年7月14日;修订稿日期:2021年12月9日;接受日期:2022年1月16日20Array 14(2022)1001290C.P. Chavan和P. Venkataram0图1. 多播路由的一个实例。0包含事件目录。第10节介绍了ECA-MAODV协议的实现细节。第11节说明了仿真环境。第12节解决了仿真结果。最后,文章在第13节得出一些结论。02. 相关工作0Min Ge等人[14]介绍了应用层的工作0多播算法(ALMA),ALMA路由协议是分散的,主要由接收方驱动,主要侧重于创建逻辑树。它具有一种使逻辑树在移动或拥塞场景中更容易重新配置的过程。此外,ALMA提供了应用层多播协议的所有优点,即部署简单、独立于底层协议、以及利用底层特性(如TCP可靠性)。[15]中的作者提出了一种基于AODV路由协议的多播操作的协议,开发了一种可靠且节能的自组织多播距离矢量(REA-MAODV)路由协议。REA-MAODV路由协议在ODMRP上实现了改进的性能,并寻求从起始节点到一组目标节点的能效多播路径。此外,更新最大能耗和较小的树枝,REA-MAODV协议还可以创建具有辅助分支的多播树。REA-MAODV比MAODV协议节能45%,能耗更加平衡。此外,REA-MAODV协议能够将数据包的传输速率提高19%,并且成功将端到端网络的延迟降低21%。0[16]中的作者介绍了按需0多播路由协议(ODMRP)。ODMRP协议基于网状结构,而不是传统的树状结构,它使用了传输组的概念;多播数据包仅由节点的子集通过有限范围的泛洪进行重定向。它调用按需子程序来构建动态路由并保留多播组。ODMRP协议最适用于移动节点,其中存在有限的链路带宽,动态网络拓扑频繁变化以及受限的节点电源。Y.Chawathe等人[17]将一个庞大的异构安全多播会话分解为许多具有相同响应者的聚类多播数据组。一组应用层可靠多播代理(RMXs)代理将数据集分类为使用TCP链路覆盖网络的生成树。发起者将数据包传播到其本地组,本地组中的RMX将数据包传输到其余数据组。为了应对域中异构性的影响,RMXs使用了全面的实现语义意识。[18]中的作者提出了一种用于生成一组路由树以最大化组的总体成本的算法。在各种网络条件下,已进行了模拟0图2.基于ECA的高效路径选择的提出架构。0执行以将所提出的算法与传统方法进行对比。0[19]中的工作开发了一个支持多参数的协议0移动自组织网络中的路由需求,创建了一种新的多播覆盖跨度树协议,该协议意识到服务质量(QoS)。通过QoS链路状态协议,利用QoS感知多播覆盖跨度树来增强接入准入,带宽预留,防止拥塞和访问。开发的协议的数据包分布比类似于优化链路状态路由(QOLSR)的数据包分布。然而,QoS感知多播覆盖跨度树协议的端到端平均延迟比QOLSR低约50%。[20]中的作者提出了一种侧重于选择邻近节点的安全多播路由协议。选择具有更高可靠性设置因子的节点进行数据包传输,而不是阈值可靠性设置因子。因此,为了建立数据包传输的多播路由,只选择稳定的邻近节点。所提出的协议在许多网络指标中进行了模拟,如数据包传播比,数据包传播延迟和两种开销,如路由消息开销和开销控制,并通过模拟分析展示了建议协议的累积性能。03.基于ECA的高效路径选择的提出架构0ECA基于高效路径选择的提出架构0由路由度量,逻辑,路由评级,推理模块和最佳路线组成,如图2所示。每个模块的主要功能如下。01.路由度量:输入,如跳数,能量水平,处理速度-0速度,带宽,吞吐量,缓冲区占用,电池容量等由路由度量模块收集并传播到模糊模块。02.模糊模块:模糊模块由逻辑和路由组成-0评级模块。逻辑模块将路由度量转换为模糊值,而基于模糊输入,最佳路由评级模块计算良好的准确性。两个不同的函数区分了模糊集合中的每个元素。第一个是�VS(y)真成员函数;第二个是�VS(y)假成员函数。这表示为�VS:Y→[0,1]�VS:Y→[0,1]和�VS(y)+�VS(y)≤1。�VS(y)是�的成员函数的下限,�VS(y)是y的否定的成员函数的下限。开放30数组14(2022)1001290C.P. Chavan和P. Venkataram0区间值�通过�=����������������获得0���������������������。在0有效的路由选择,将考虑真成员函数�VS(y),而将舍弃假成员函数�VS(y)。03.模糊推理模块:ECA方案被定义为响应0在随机时间间隔发生的事件的复合类型。具有路由变化的显著事件在事件驱动的路由操作中得到了体现。事件可以是任何路由过程函数,例如链路带宽高,路径故障,节点能量水平高,数据包逐跳传播等。ECA方案指出了在关键网络条件下动态路由决策如何影响复杂的路由行为。当路由发生重大变化的事件发生时,将确定适当的条件;如果条件已满足或预先条件已被超越,将在规定时间内做出适当的运行时组播路由决策。04. ECA-MAODV功能0在本节中,我们探讨了创建多播路由查询数据包的概念,0路由查询数据包的目标是多播组地址04.1. 创建多播路由查询数据包0当移动节点想要加入专用多播0在224.0.0.0到239.255.255.255的范围内。多播组接收者将路由查询数据包中包含的控制和数据包的副本传递到协议栈,然后再传递路由查询数据包。图3所示的流程图描述了创建多播路由查询数据包的过程。0• 加入路由:节点发送查询以加入特定组使用0组创建路由查询数据包并将其广播到其相邻节点。如果移动节点知道到多播组的路由,则可能会避免准备和广播路由查询数据包。假设移动节点可能不知道多播组和到达该组的路径,在这种情况下,必须设置加入标志为1并在将其传播到其相邻节点之前将多播组地址放入路由查询数据包中。多播AODV协议可以更快地适应复杂的网络约束、有限的处理和最小的网络利用率。多播AODV协议生成双向分布式多播树,使我们能够连接多播发送者和接收者。多播AODV路由协议中有四条消息。0• 路由回复:组成员可以向0加入路由。0• 多播激活:用于从中所有0有关可用路由的请求节点。0• 组hello:hello消息将用于跟踪0组成员可以有效地连接并共享信息。04.2. 多播路由激活的流程图0组成员可以有效地连接并共享信息。0图4所示的流程图描述了激活组成员之间的连接的过程。0多播路由。每当发起节点传播特定多播组的路由查询数据包时,发起节点经常会收到多个路由响应。只能选择1跳节点作为路由响应,因为每个路由响应都建立了到特定多播树的可行路由。当移动节点接收到路由激活消息时,它将多播地址保存在目的地址中。希望加入特定多播组的移动节点应向一跳节点传播单播数据包,并更新路由表中的信息。与移动节点共享的下一跳多播路由表数据使活动标志为1。接收到多播激活消息的移动节点在收到此消息后触发其多播路由表中的连接路由条目,从而完成树枝形成。未收到此特定消息的每个相邻节点都会超时并卸载其路由表中的节点。0图3. 生成多播路由查询数据包的流程图。0算法1概述了通过04.3. 创建多播路由回复数据包的过程0每当成员节点从非成员节点接收到加入查询消息时,它会生成一个路由查询消息并等待特定组的成员节点的路由响应。成员节点通过执行以下功能生成32位路由响应消息。首先,成员节点通过向多播表添加有关节点的相关信息来升级其多播表,将原始IP地址和期望的目的地地址复制到RREP消息中。其次,在将路由响应消息单播到发起节点之前,将路由响应值初始化为零,并通过增加跳数将路由响应消息转发回发起节点。如果发起节点从相邻节点接收到多个路由响应,它将通过考虑多个指标选择正确的路由响应来构建多播树。这些指标包括高带宽、高能量水平、最小跳数和处理器速度等。根据需要,特定社区的每个成员节点通过多播树共享和传输数据包。40数组14(2022)1001290C.P. Chavan和P. Venkataram0图4. 多播AODV路由激活的流程图。0算法1:使用ECA-MAODV路由响应消息生成过程0开始0输入:32位修改后的RREP数据包格式输出:单播RREP数据包返回到源节点S0成员节点开始生成RREP消息 /*属于特定组*/如果节点∈多播组G,则0节点更新其多播表 RREP消息�S0地址+RREQ消息的D0地址初始化RREP�0 单播RREP到S0节点0否则0/*向其邻居节点重新广播*/重新广播RREQ数据包到相邻节点04.4. 创建多播组hello消息的过程0算法2说明了通过ECA创建hello消息的过程0组长生成组hello消息并将其广播给特定组的所有成员;收到hello消息的成员节点在传播之前更新其多播路由表并将跳数增加到1。04.5. 创建新的多播组的过程0表1 显示了形成新的多播组的协议。多播0由一组通过调用rand()和srand()函数随机创建的移动节点组成的组。具有一些重要应用服务的移动节点可以通过在网络中广播服务广告消息来发起组的形成。希望加入特定组的节点可以向组发送加入查询数据包,并等待从成员节点接收加入响应。图5展示了形成新多播组的过程。节点70算法2:使用ECA生成多播组hello消息的过程0开始0输入:32位组hello消息 输出:发送给成员节点 组长转发hello消息/*节点能够立即接收hello消息*/ 如果接收到hello消息的节点,则0更新多播路由表 跳数+=10否则0/*设置M_flag = 1*/ 设置M_flag =10表1 创建新的多播组的流程。0步骤操作0(a) 服务主机节点(shn)将发起形成组的广播服务广告(s-ad)消息。0(b) 在传播之前在s-ad消息中添加指标,包括shn地址、服务描述、生存期和跳数。0(c) 希望加入的节点发送j-req消息,包括愿意节点地址、shn地址和加入标志等指标。0(d) shn通过j-rep消息单播成员资格 指标,如shn地址、愿意节点地址和成员状态。0图5. 新多播组形成示例。0通过广播s-ad消息来启动创建组;希望加入组的节点可以向服务主机节点发送加入查询消息,并等待接收加入响应消息。04.6. 新成员加入已建立的多播组0图6显示了加入已建立的多播组中的新成员的过程。0在步骤1中,节点8向已建立的组传输加入路由查询消息,而在步骤2中,树的成员节点准备路由响应消息并单播回节点8。在步骤3中,节点8向通过多播树连接的组成员单播多播激活消息,而在最后的步骤4中,加入节点8后创建了一个多播树。当叶节点希望退出多播组时,它向树上的下一跳节点发送单播消息。单播消息包括设置了P标志,并且目标目的地地址分配给特定多播组地址的地址。50数组14(2022)1001290C.P. Chavan和P. Venkataram0图6. 新成员加入多播组。0图7. PET-ECE-IISc多播研究组的建立。04.7. PET-ECE-IISc多播研究组的建立0印度科学研究所电信工程系(ECE)的协议工程与技术(PET)多播研究组的目标如下。0•PET研究组允许成员(如研究学者、博士后研究员、系统管理员、科学官员、项目助理和暑期实习生)与教授交流并交换有关正在进行的研究工作的想法。•为组成员提供一个平台,分享研究想法,讨论特定主题,课程工作细节,作业,论文等信息。 • 使组成员能够随时随地在任何设备上无缝交流。 •连接教授,讨论研究活动,课程教学,网络研讨会,研讨会,小组研讨会,会议安排,博士生状态报告,项目等。0图7显示了多播研究组成员之间的连接,以便以高效的方式共享和交换数据。04.8. 为多播组选择组长0算法3讨论了为特定多播组选择组长的过程。启动节点在网络中广播加入消息;如果节点即使在最大路由请求重试后仍未收到响应,则它将宣布自己为专用多播组的组长,以实现有效的通信。05. 隶属函数0在本节中,我们使用模糊集隶属函数来创建一个高效的多播树。多播树连接组中的所有成员。路由指标的隶属函数包括跳数、带宽、缓冲区容量、能量和电池电量。表2显示了跳数值为10的隶属函数。以下反映了10的最小、平均和最大跳数值的模糊表达。0� ( �� ��� ) + � ( �� ��� ) ≤ 10� ( �� ��� ) + � ( �� ��� ) ≤ 10� ( �� ��� ) + � ( �� ��� ) ≤ 160数组14(2022)1001290C.P. Chavan和P. Venkataram0算法3:使用ECA选择组长的过程0开始0输入:加入请求消息输出:选择组长启动节点在网络中广播加入请求消息 /*节点立即广播加入请求消息 */ PTC: 如果节点没有回复,则0广播消息 ≤ 路由请求重试 发起者 ��(节点响应)假设节点 � UN 声明自己为组长0其他0根据节点上丰富的资源选择组长0表2 跳数(HC = 10 hops)的隶属函数。0语言标签(l)符号(s)开区间(y)� 1 − � �0最小HC ��� 0 < y < 3.5 0 3.5 − 2.5 平均HC ��� 3.5 < y < 6.9 3.5 6.9 − 5.9 最大HC ��� 6.9 < y <6.9 10 − 90表3 带宽(BW = 16 Mbps)的隶属函数。0语言标签(l)符号(s)开区间(y)� 1 − � �0低BW � 0 < y < 5.5 0 5.5 − 4.5 中等BW � 5.5 < y < 10.9 5.5 10.9 − 9.9 高BW � 10.9 < y <16 10.9 16 − 150表4 缓冲区容量的隶属函数(BC = 6 GB)。0语言标签(l)符号(s)开区间(y)� 1 − � �0低BC � 0 < y < 2 0 2−1 中等BC � 2 < y < 4 2 4−3 高BC � 4 < y < 6 4 6−50以下表达给出了模糊系列的最小值。0平均和最大跳数。0( �� ���,( �( �� ���),1− �( �� ���)))0( �� ���,( �( �� ���),1− �( �� ���)))0( �� ���,( �( �� ���),1− �( �� ���)))0表3展示了16 Mbps的链路带宽值的隶属函数。0以下反映了低、中和高的模糊表达016 Mbps的带宽值。0�( �� �)+ �( �� �)≤ 10�( �� �)+ �( �� �)≤ 10�( �� �)+ �( �� �)≤ 10以下表达给出了模糊系列的低、中和高带宽的元素。0( �� �,( �( �� �),1− �( �� �)))0( �� �,( �( �� �),1− �( �� �)))0( �� �,( �( �� �),1− �( �� �)))0表4展示了6 GB节点缓冲区容量值的隶属函数。0表5能量(E = 20 Joules)的隶属函数。0语言标签(l)符号(s)开放区间(y)� 1− � �0低E � 0 < y < 6.8 0 6.8−5.8 中等E � 6.8 < y < 13.5 6.8 13.5−12.5 高E � 13.5 < y < 20 13.5 20−190表6 功率(BP = 25 W)的隶属函数。0语言标签(l)符号(s)开放区间(y)� 1− � �0低BP � 0 < y < 8.5 0 8.5−7.5 中等BP �� 8.5 < y < 16.9 8.5 16.9−15.9 更高BP �� 16.9 < y < 25 16.925−240以下反映了低、中和高的模糊表达06 GB的缓冲区容量值。0�( �� �)+ �( �� �)≤ 10�( �� �)+ �( �� �)≤ 10�( �� �)+ �( �� �)≤ 10以下表达给出了模糊系列的低、中和高缓冲区容量的元素。0( �� �,( �( �� �),1− �( �� �)))0( �� �,( �( �� �),1− �( �� �)))0( �� �,( �( �� �),1− �( �� �)))0表5展示了20焦耳节点能量级别的隶属函数。0以下反映了低、中和高的模糊表达020焦耳的能量值,在选择所需的路线之前以以下方式表示。0�( � �)+ �( � �)≤ 10�( � �)+ �( � �)≤ 10�( � �)+ �( � �)≤ 10以下表达给出了模糊系列的低、中和高能量级别的元素。0( � �,( �( � �),1− �( � �)))0( � �,( �( � �),1− �( � �)))0( � �,( �( � �),1− �( � �)))0表6展示了25焦耳节点电池电量的隶属函数。0以下反映了低、中和025瓦的更高功率值。0�( �� �)+ �( �� �)≤ 10�( �� ��)+ �( �� ��)≤ 10�( �� ��)+ �( �� ��)≤ 10以下表达给出了模糊系列的低、中和高功率元素。0( �� �,( �( �� �),1− �( �� �)))0( �� ��,( �( �� ��),1− �( �� ��)))0( �� ��,( �( �� ��),1− �( �� ��)))0模糊集(VS)如 � VS 和 � VS 是从能量和跳数值获得的。0� ( � � ) ∈ [0 , 2 . 5] , � ( � � ) ∈ [2 . 5 , 6 . 5]0� ( � � ) ∈ [6 . 8 , 10 . 4] , � ( � � ) ∈ [10 . 4 , 13]0� ( � � ) ∈ [13 . 5 , 15] , � ( � � ) ∈ [15 , 19]7𝐸𝐻𝑗𝑘 =(1)𝑃𝑖 =𝜎(𝑛) =0Array 14 (2022) 1001290C.P. Chavan and P. Venkataram0表7 MAODV路由的时间复杂度0性能参数 时间复杂度0路由调查 O(T x log (T)) 多播树维护 O(T x log (T)) 路由配置 O(T x log (T)) 多播路由故障后O(T x log (T)) 组hello消息 O(K x log (K)) 多播路由活动 O(K x log (K))0� ( �� ��� ) ∈ [0 , 2] , � ( �� ��� ) ∈ [2 , 3 . 4]0� ( �� ��� ) ∈ [3 . 5 , 5] , � ( �� ��� ) ∈ [5 , 6 . 8]0� ( �� ��� ) ∈ [6 . 9 , 8] , � ( �� ��� ) ∈ [8 , 9 . 5]0根据 �� ��的值,移动节点选择加入多播树的最佳路由。同样,我们可以通过考虑一对路由度量来构建最佳路由。0� ∈ � � ( � � )0� ∈ � � ( �� � )0表达式 � � 决定是否选择连接来创建多播树。0��0P0 如果 0 < �� �� < 2 则为不良0P1 如果 2 < �� �� < 8 则为良好0P2 如果 8 < �� �� < 15 则为最佳0当特定多播组的成员节点从希望加入该组的节点接收到多个响应时,根据路由度量选择路由。根据最佳参数的值,构建多播树。0在加入特定多播组之前,路径和节点状态由 � ( � ) 确定0多播树0��� � �� � �� � �� � ��0� = 1 如果 � ( �� = ���� ) � � ( �� = ��� ) � � ( �� = ������ )0否则,如果 � ( �� = ���� ) � � ( �� = ��� ) � � ( �� = ���� )0否则,如果 � ( �� = ���� ) � � ( �� = ������ ) � � ( �� = ������ )0否则,如果 � ( �� = ���� ) � � ( �� = ������ ) � � ( �� = ���� )0否则,如果 � ( �� = ������ ) � � ( �� = ��� ) � � ( �� = ������ )0否则,如果 � ( �� = ������ ) � � ( �� = ��� ) � � ( �� = ���� )0否则,如果 � ( �� = ������ ) � � ( �� = ������ ) � � ( �� = ���� )0否则,如果 � ( �� = ������ ) � � ( �� = ������ ) � � ( �� = �������� )0� = 0 else06. 时间复杂度0在本节中,我们简要讨论了原始路由协议所需的时间0MAODV和ECA-MAODV路由协议。06.1. MAODV路由协议的时间复杂度0在本小节中,表7讨论了MAODV所需的时间0路由协议用于进行路由调查以加入特定组、在组成员之间维护多播树、路由配置、路由故障后的处理、组hello消息和多播路由活动。普遍网络由T直径的K移动节点组成。移动节点是通过调用随机函数随机创建的。具有重要应用服务(例如音频会议、视频会议、IP电话等)的移动节点希望通过在普遍网络中广播服务广告消息来形成特定组。希望加入特定组的移动节点可以向组发送路由加入查询消息,并等待从成员节点获得加入响应。0表8 ECA-MAODV路由的时间复杂度0性能参数 时间复杂度0路由调查 O( log k) 多播树维护 O( log k) 路由配置 O( log k) 多播路由故障后 O( log k)组hello消息 O( log m) 多播路由活动 O( log m)0表9 MAODV路由的空间复杂度0数据包类型 数据包大小(字节)0加入路由查询 24 路由应答 20 激活路由 16 组hello消息 160总占用空间 7606.2. ECA-MAODV路由协议的时间复杂度0在本小节中,表8讨论了ECA-0MAODV路由协议用于处理路由调查以加入特定组、组成员之间的多播树维护、路由配置、路由故障后、组hello消息和多播路由活动。无处不在的网络由较少的k个移动节点组成,直径较小的m。移动节点是通过调用随机函数随机创建的。具有重要应用服务的移动节点(例如,IISc研究小组、虚拟会议、网络研讨会等)希望通过在无处不在的网络中广播服务广告消息来形成特定的组。希望加入特定组的移动节点可以向组发送路由加入查询消息,并等待从成员节点获得加入响应。07. 空间复杂度0本节强调了空间复杂度,量化了0处理加入路由查询、路由应答、激活路由和组hello消息等路由数据包所需的内存量。07.1. MAODV路由协议的空间复杂度0在本节中,表9显示了所占用的总空间0标准MAODV路由协议在加入路由查询、路由应答、路由激活和组hello消息事务中。0MAODV路由协议所需的总空间由以下确定0确定如下。MAODV空间复杂度 = sizeof(加入查询 + 路由应答 + 路由激活 + 组hello)消息。因此,MAODV路由协议所需的总空间为76字节。因此,MAODV路由协议不会消耗太多带宽,因为数据包的大小较小。07.2. ECA-MAODV路由协议的空间复杂度0表10显示了ECA-MAODV路由协议所需的空间0处理加入路由查询、路由应答、激活路由和组hello消息等路由数据包。0ECA-MAODV空间复杂度 = sizeof(加入查询 + 路由0应答 + 激活路由 +组hello消息)数据包。因此,ECA-MAODV路由协议所需的总空间为76字节。因此,ECA-MAODV所需的空间与传统的MAODV路由协议相同。有效利用加入查询和路由应答数据包中保留位字段的优势是ECA-MAODV的另一个最大优势,因为在相同大小的情况下,80数组14(2022)1001290C.P. Chavan 和 P. Venkataram0表10 ECA-MAODV路由协议的空间复杂度0数据包类型 数据包大小(字节)0加入路由查询 24 路由应答 20 激活路由 16 组hello消息 160总占用空间 760表11 MAODV和ECA-MAODV的对比0参数 MAODV ECA-MAODV0时间复杂度 O(T x log (T)) O( log k) 空间复杂度 76字节 76字节 动态路由决策 否 是路由发现(链路失败) 重复路由发现 选择备用路径 选择路由 最小跳数的路由 资源丰富的节点延迟和吞吐量 中等 拥塞 中等 控制数据包开销 中等 低0它通过减少数据包开销而优于传统的 MAODV。08. MAODV 和 ECA-MAODV 路由协议的对比0本节比较和对比了传统的 MAODV 和 ECA-0MAODV 路由协议,考虑一组指标,如表11所示。0• 时间和空间复杂度: 所需的时间和空间0执行路由操作。0• 动态路由决策: 在发生事件时进行运行时路由决策0事件发生。0• 链路故障和路径选择: 如果链接断开,则0选择备用路径。0• 延迟和吞吐量: 发送数据包所需的时间0到所需的节点。0• 拥塞和数据包控制开销: 分析路由控制0数据包开销。09. 多播 AODV 路由协议中事件的目录0在本节中,我们列出了不同类型的事件、一组0组成、路由激活和加入多播 AODV路由协议中的组形成、路由激活和加入组的事件、条件和相关操作,如表12所示。下面给出的事件目录。0• 节点加入组(例如 PET-ECE-IISC 研究组):0节点可以广播加入请求消息。0• 节点可以通过将加入标志设置为1加入组: 设置0如果节点希望加入多播树,则将加入标志设置为1。0• 激活路由条目: 用于从中构建多播树0所有社区成员可以轻松地链接和交换数据。0• 成员节点希望生成路由回复: 仅成员0多播树的节点将生成路由响应消息。0• 节点接收和传输 hello 消息: 检查0组成员之间的连接。0• 创建多播树: 建立组成员之间的连接0成员。010. ECA-MAODV 路由协议的实现0在本节中,我们强调 ECA- 的实现细节0MAODV 路由协议在普适网络中的详细步骤0表12 MAODV 路由中事件、条件和操作的目录。0事件 条件 操作0E1:节点加入组 C1:如果(节点有路由) A1:丢弃加入路由查询 E2:节点加入组 C2:如果(路由不存在)A2:设置 j-请求标志 = 1 E3:将加入标志设置为1 C3:设置(组地址) A3:传播路由查询 E4:激活路由条目C4:是否(信息到下一跳) A4:更新多播路由表 E5:生成 RREP C5:是否(节点 ∈ 特定 G) A5:更新多播表E6:生成 RREP C6:是否(节点 � 特定 G) A6:忽略路由回复 E7:接收 hello 包 C7:是否(跳数 += 1)A7:更新多播表 E8:没有 hello 包 C8:是否(Mflag = 1) A8:更新多播表 E9:节点传输数据包 C9:如果(节点∈ 特定 G) A9:接收数据包 E10:创建 mcast 树 C10:是否(Sno 1 && min-hc) A10:单播 mact 数据包0以及在 ECA-MAODV 路由协议中使用的子程序集的收集。01. 从 MAODV 目录传输文件的过程0AODV 的基本目录。0(a) 下面给出的文件列表应传输到 AODV0基本目录。0i. AODV 头部 ii. AODV C++ iii. AODV 多播 C++iv. AODV 多播表辅助 C++ v. AODV多播表辅助头部 vi. AODV 多播表 C++ vii. AODV多播表 C++ 头部 viii. AODV 路由数据包头部0ix. AODV路由队列C++ x. AODV路由队列头文件xi. AODV路由表C++ xii. AODV路由表头文件xiii. CMU跟踪文件C++ xiv. 无线物理层C++ xv.无线物理层头文件 xvi. 节点C++ xvii. 节点头文件xviii. 网络模拟器多播TCL文件0(b)将(a)中选择的文件移动到特定文件夹中0ns-3.28目录0i. 将文件(i)至(xii)移动到aodv目录 ii.将文件(xiii)移动到trace目录 iii.将文件(xiv)和(xv)移动到mac目录 iv.将文件(xvi)和(xvii)移动到common目录 v.最后将文件(xviii)移动到mcast目录0(c)以下头文件需要最初设置在0源代码0i. AODV本地修复头文件:该头文件的用法0文件用于在链路修复时进行单播数据包模拟。0ii. AODV链路层检测:此头文件用于0用于单播数据包以检测链路。0iii. 改进:头文件的用法仅0用于在第一次传输后再次传输单播数据包。当第二次传输失败时,数据包将丢失。0iv. 多播:用于多播配置和0从发送方向一组接收方传播数据包。9(c)(d)cal_rtable_repair(aodv_rtable_entry*rtable,(e)le_link_failed(packet *pkt)(f) void eca_rtable_expel(void)(a) void eca_nb_add(addr_c uid)(b) aodv_proximity* nb_search(addr_c uid)(c) void nb_remove(addr_c uid)(a) void eca_uid_add(addr_c uid, unsigned_int32_c bcid)(b) bool eca_uid_search(addr_c uid, unsigned_int32_c bcid)(c) void uid_expel(void)(a)d(aodv_rtable_entry *rtable, packet *pkt,(b)llo(void)(c) void sendquery(addr_c destination)(d) void sendresponse(addr_c ipdstn, unsigned_int32_c hc,addr_crpdstn,unsigned_int32_crpseqnumber,unsigned_int32_c lifespan, double time)(a) eca-maodv::rxaodv(packet *pkt)(b) eca-maodv::rxquery(packet *pkt)(c) eca-maodv::rxresponse(packet *pkt)(d) eca-maodv::rxerror(packet *pkt)(e) eca-maodv::rxhello(packet *pkt)(a) timer.manipulate((event*) 0)(b) grouphtimer.manipulate((event*) 0)(c) broadcasttimer.manipulate((event*) 0)(d) local_construction_timer.manipulate((event*) 0)𝑝𝑟𝑜𝑐𝑥𝑑 = (𝜎11 − 𝜎12) + 𝜎13(2)𝜆(4)𝐵𝐶 = 𝛼1 − [𝛼2 − 𝛼3](7)•0Array 14(2022)1001290C.P. Chavan和P. Venkataram0v. 预测:当到单播流量的路由0主动维护,头文件已经被合并。0vi. 上层接收:头文件使0上层代理接受组播数据包(例如,UDP代理端口号654)。此功能主要用于多播社区的组成员将组播流量发送和接收到相同的端口。0vii. MAODV:这是支持0支持单播、广播和组播等功能。MAODV基目录中的每个文件都是执行代码的其他文件的引用。010.1. ECA-MAODV路由协议中的子程序0在AODV路由协议实现中,hello数据包被禁用0允许在ECA-MAODV路由中广播hello数据包,AODVC++文件中存在以下两个部分的注释。第一个是AODV连接检测,第二个是链路层检测。当输入make clean时重新编译ns3时,使用makeclean重新编译AODV参考目录,该目录包括仅主文件而不是对象文件。使用命令./configure创建可执行文件,make进而
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功