【译】AODV路由协议的网络模拟

786 阅读4分钟

Ad-hoc On-demand Distance Vector路由协议用于移动或无线ad-hoc网络**(MANETsWANETs**)。临时网络是由两个或更多的节点建立的临时分布式网络,在不需要典型的基础设施如路由器和接入点的情况下传输数据包。ad-hoc网络中的节点遵循对等网络(P2P)AODV协议是由诺基亚研究中心加利福尼亚大学辛辛那提大学联合开发的。

由我制作 ^u^

有各种模拟器可以用来模拟网络协议,如NS2NS3OMNeT++NetSim。这里我使用的是NS2,一个开源的事件驱动的模拟器。NS2是用C++和Otcl编写的,而仿真必须用TCL脚本编写。NS2是一个非常古老的模拟器,于1995年作为NS-1的修订版开始使用。虽然我在Ubuntu 20.04.1上使用的是2011年发布的2.35版本,但它工作得非常好,所以不用担心:)

NS2执行TCL脚本并生成一个跟踪文件和一个网络动画文件。跟踪文件用于分析模拟结果,如吞吐量、能耗。网络动画文件由**Nam(1.15版)**执行,它以动画形式产生模拟。

节点使用AODV定义的信息 发现路由,这些信息路由请求-RREQ路由回复-RREP路由错误-RERR。发起节点向其所有的邻居广播RREQ消息,拥有目的地节点路线的节点沿着反向路线向发起节点广播RREP消息。如果发端节点的邻居节点没有到目的地的路由,它反过来广播RREQ消息,保持反向路由到发端节点。如果一个节点失去了与下一跳节点目的地的连接,它将向所有收到RREP消息的节点广播RERR消息。

AODV维护的路由表条目

  • 目的地IP地址
  • 目的地序列号
  • 有效的目的地序列号标志
  • 其他状态和路由标志
  • 网络接口
  • 跳数
  • 下一跳
  • 前驱体列表
  • 寿命

实现模拟

Val(**stop)**是模拟的结束时间。Val( x)、**Val(y)**将用于定义地形。Val(nn)表示使用的节点数。Val(rp)包含路由协议的类型,本例中为AODV

medium.com/media/42c0e…

val(ifq)是给路由协议数据包提供优先权的接口队列,**val(ifqlen)**是队列的最大长度。**val(ant)**定义天线类型为全向,这意味着它可以在所有方向接收和发射。**var(prop)**被设置为TwoRayGround,这是无线电传播过程中的衰减模型(1/r⁴)。val(netif)包含网络接口的值。网络接口层作为一个硬件接口,被移动节点用来访问通道,它被设置为Phy/WirelessPhy

medium.com/media/4b08d…

第1行生成NS模拟器对象实例并将其分配给变量ns。第2行创建一个空的跟踪文件ns_aodv.tr并将其分配给变量tftrace-all命令以特定的格式跟踪所有的事件。第6行创建NAM可视化文件ns_aodv.nam并将其分配给nf。第7行告诉模拟器以NAM格式记录痕迹。第10行设置地形为flatgrid。god对象存储了从一个节点到另一个节点所需的最短跳数表。

medium.com/media/8a65a…

以上是用我们在开始时定义的变量来配置节点。其他一些参数,如agentTrace在我们的例子中追踪UDP,routerTrace追踪参与路由的数据包,macTrace追踪MAC协议数据包,motionTrace追踪节点的运动。

medium.com/media/12cc1…

这里的第一个循环是分配节点的初始位置,第二个循环是提供节点在地形中的随机运动

medium.com/media/e1e38…

在上面的代码中,我们正在创建一个UDP对象,并将其附加到我们的节点No.5号节点,这将是发端节点。同时,创建一个Sink并将其附加到目的地节点,即2号节点CBR(恒定比特率)是我们的流量源,它将产生数据包并通过UDP发送。

medium.com/media/15334…

第一个 "for循环 "将所有节点的初始位置初始化为nam,第二个 "for循环 "在模拟结束时重置所有节点。

medium.com/media/13157…

使用关键字global是因为我们使用的是proc finish(程序)范围之外声明的变量。flush-trace命令将所有的trace保存到各自的文件中。仿真从**$ns run**开始。

仿真

在GitHub上 获得完整的代码、跟踪文件分析、模拟视频 --

GitHub - abhinav-bhardwaj/AODV-Routing-Network-Simulation:Ad-hoc On-demand Distance Vector Routing Protocol 仿真

在LinkedIn上与我联系 - Abhinav Dubey


AODV路由协议网络模拟最初发表于Nerd For Techon Medium,在那里人们通过强调和回应这个故事来继续对话。