aodv路由协议分析
初探基于跨层机制的无线路由协议(AODV)的分析与仿真
初探基于跨层机制的无线路由协议的分析与仿真摘要:AdHoc无线网络具备无需基础设施、临时组网、动态网络拓扑和自组织的特点,在国内外得到了显著的重视。
也正是由于无线网络的这些特点,存在很多问题,成为推广无线网络的瓶颈,亟需提高AdHoc无线自组网的性能。
为此,我们提出并研究了结合跨层设计和基于AODV 路由协议的改进维护路由的算法的技术方案,并基于NS2进行模拟和仿真,提出高效合理的改进方案。
关键词:AdHoc网络AODV协议跨层改进仿真1前言随着Internet、无线通信技术的发展,Adhoc无线网络技术越来越受到人们的重视。
Adhoc 无线网络是由众多的无线移动节点组成,这些节点不需要无线网络基础设施的支持,自发地以多跳的方式快速地建立通信联系,组织成为一个临时的网络。
为了与现有的网络互联互通,Adhoc无线网络采用了TCP/IP体系结构,然而,Adhoc无线网络自身的特性如无中心控制节点、节点的移动导致串路和网络拓扑快速变化、节点资源和网络带宽受限等问题严重影响了Adhoc无线网络的性能,决定了Adhoc无线网络不能完全照搬使用现有网络的协议栈,在多种提高AdHoc无线网络性能的方法中,跨层设计是非常行之有效的一种。
另外,由于无线链路的不稳定性和邻居节点的移动性,各个节点对其邻居信息的掌握和管理变得困难,整个网络拓扑呈现高度的动态特征。
这样就需要适合AdHoc无线网络这种特殊环境的路由协议和路由算法。
我们研究了一种基于AODV路由协议(AdhocOn-demandDistantVector,按需距离矢量路由算法)的改进,主要在于改进维护路由的算法。
并且,通过仿真软件NS2进行模拟和仿真,研究出高效合理的改进方案。
2AdHoc网络及其路由协议2.1AdHoc网络的概况AdHoc网络是由一组带有无线收发装置的移动终端组成的一个多跳的临时性自治系统。
网络中的移动终端具有路由和报文转发功能,可以通过无线连线构成任意的网络拓扑。
AODV简介
2 AODV路由发现
正向路由的建立:RREQ分组最终将到达一个节点,该节点 可能是目的节点,或者这个节点由到达目的节点的路由。 如果这个中间节点有到达目的的路由项,它就会比较路由 项里的目的序列号和RREQ分组里的目的序列号的大小来判 断自己已有的路由是否是比较新的。如果是就对收到的 RREQ分组做出响应,否,则更改RREQ中的目的节点序列号 至当前最大,跳数字段加1,然后继续广播。 在RREP转发回源节点的过程中,沿着这条路径上的每一个 节点都将建立到目的节点的正向路由,也就是记录下RREP 是从哪一个邻居节点来的地址以及记录下RREP中目的节点 的最新序列号。
链路断广播RRER:
4 AODV优点
使用序列号机制,避免路由环路 支持中间结点应答,减少了广播数 节点只存储需要的路由,减少了内存的要求和不必要的复 制。 时延较大,不支持单向信道。
2 AODV路由发现
AODV借鉴了DSDV中的列号的思想,每一个节点都维持了独立序列 号计数器,利用这种机制就能有效地防止路由环的形成。当源节点想 与另外一个节点通信,而它的路由表中又没有相应的路由信息时,源 节点通过向自己的邻居广播RREQ(Route Requests)分组来发起一 次路由发现过程。 反向路由的建立:当RREQ分组从源节点转发,沿途所经过的节点都 要自动建立到源节点的反向路由。节点通过记录收到的第一个RREQ 分组的邻居地址来建立反向路由。
AODV路由发现:
3 AODV路由维护
(1)与活动路由无关的节点移动,并不影响信源到信宿 的寻径。 (2)如果信源节点移动导致路由不可用,则由信源重新 发起路由发现过程。 (3)当信宿节点或活动路由的中间结点移动,导致链路 中断,则链路的"上游节点“主动发送一个RERR,该 RERR的信宿大于其所获取的信宿序列号,跳计数设为无 穷大,并广播到所有活动邻居。
无线mesh网络aodv路由协议分析
湘潭大学学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权湘潭大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日摘要无线Mesh网络(Wireless Mesh Network ,WMNs)具有快速部署和自组织等特点,这使得它非常适应于临时的按需网络部署场景。
WMNs对于热点地区的基础设施网、以及能提供低成本回程的传感器网和偏远农村蜂窝网基站,都是一种具有很大吸引力的技术。
WMNs的自组织性、自愈性、有效的移动用户管理和跟踪机制,高容量和高速率的特性,迫切需要高性能的路由算法。
近年来,路由算法成为WMNs发展中的一个研究热点。
WMNs从移动Ad Hoc 网络中借鉴了许多路由选择方法作为路由的解决方案,但是这些方法都不太理想或者没有达到性能的最优化,且没有利用到WMNs自身的特点。
本文提出了一个改进的分层AODV路由协议(IH-ADOV),它表现出了更好的可扩展性和网络性能,当一条路由丢失时,它可使寻找替代路由的路由开销得到降低。
此外,在IH-AODV中,我们还提出了一种新技术,即最新链路发现机制。
它旨在对加入簇的节点进行快速路由发现,能够提高路由发现的速度和效率。
对于路由维护,这种技术也非常有用。
在新算法中,本论文定义静态节点为Way Point(WP)节点,其他节点称为Cluster Member(CM)簇成员节点。
AODV协议详解
AODV协议详解1 AODV 报文格式AODV 有三种基本的协议报文类型:RREQ 报文、RREP 报文和RRER 报文。
1.1 RREQ 报文a. 对RREQ 的处理接收到RREQ 的结点做如下处理:(1)创建一个表项,先不分配有效序列号,用于记录反向路径。
(2)如果在“路由发现定时”内已收到一个具有相同标识的RREQ 报文,则抛弃该报文,不做任何处理;否则,对该表项进行更新如下:I.下一跳结点=广播RREQ 的邻居。
II.跳数=RREQ 报文的“跳计数”字段值。
III.设置表项的“过时计时器”。
(3)如果满足以下条件,则结点产生“路由回答报文”RREP,并发送到信源;否则更新RREQ 报文并广播更新后的RREQ 报文。
I.该结点是信宿。
II.结点的路由表中有到信宿的活动表项,且表项的信宿序列号大于RREQ中的信宿序列号。
(4)更新RREQ 报文并广播更新后的RREQ 报文I.信宿序列号=本结点收到的信宿相关的最大序列号。
II.跳计数加1。
1.2 RREP 报文(1)信宿结点产生RREP执行如下操作:I.如果收到相应的RREQ 的信宿序列号与信宿维护的当前序列号相等,则信宿将自己维护的序列号加1,否则不变。
II.跳计数=0。
III.定时器值。
(2)中间结点产生的RREP执行如下操作:I.本结点获取的该信宿的最大序列号。
II.跳计数=本结点到信宿的跳数(查相应表项即可得到)。
III.更新本结点维护的“前向路由表项”的下一跳和“反向路由表项”的前一跳b. 对RREP 的处理结点对接收到的RREP 作如下处理。
(1)如果没有与RREP 报文中的信宿相匹配的表项,则先创建一个“前向路表”空表项。
(2)否则,满足如下条件对已有表项进行更新。
条件:I.现有表项的信宿序列号小于RREP 报文中的序列号。
II.现有的表项没有激活。
III.信宿序列号相同,但RREP 报文的“跳计数”值小于表项相对应的值;通过更新或创建,产生一个新的前向路由。
路由协议-aodv
#3节点仿真Ad hoc AODV的例子# 环境设定set val(chan) Channel/WirelessChannel ;#信道类型set val(prop) Propagation/TwoRayGround ;#无线传输模块类型set val(netif) Phy/WirelessPhy ;#网络接口类型set val(mac) Mac/802_11 ;# MAC类型set val(ifq) Queue/DropTail/PriQueue ;#接口队列类型set val(ll) LL ;#链路层类型set val(ant) Antenna/OmniAntenna ;#天线类型set val(ifqlen) 50 ;#IFQ中最大报文数set val(nn) 3 ;# 移动节点数目set val(rp) AODV ;# 路由协议set val(x) 500 ;# 场景长xset val(y) 400 ;# 场景宽yset val(stop) 150 ;# 仿真结束时间set ns [new Simulator]#创建一个模拟对象set tracefd [open aodv.tr w]#打开一个trace file记录数据包的传送过程$ns trace-all $tracefdset windowVsTime2 [open win.tr w]set namtrace[open aodv.nam w] #创建.nam文件记录nam的trace数据$ns namtrace-all-wireless $namtrace $val(x) $val(y)set topo[new Topography]#建立一个Topography对象在拓扑边界范围内运动$topoload_flatgrid $val(x) $val(y)#设定场景的长宽尺寸#创建nn移动节点[$ val(nn)] 并将它们附加到信道。
基于AODV的安全路由协议研究的开题报告
基于AODV的安全路由协议研究的开题报告一、选题背景和意义移动自组织网络(MANETs)由一组自主移动节点组成,可以随时随地在没有固定网络基础设施的情况下进行通信。
它在无线电频段、战场、灾难等场合的通信中具有广泛的应用。
由于MANETs中的节点数量较大、节点资源受限、节点位置不稳定、网络质量不稳定等因素,使得MANETs 的安全性得到了广泛关注。
路由是MANETs中至关重要的任务,在很大程度上决定了网络的可靠性和效率。
目前,动态源路由协议(DSR)和自适应距离向量协议(AODV)是MANETs中最广泛使用的两种路由协议之一。
然而,由于它们的基于无限制的广播策略,会导致“黑洞攻击”、“虫洞攻击”、“篡改攻击”、“拒绝服务攻击”等安全问题,并且易受恶意攻击者攻击。
因此,设计高效、安全的路由协议是MANETs中的一项重要任务。
本研究将基于AODV协议,研究如何设计一种安全路由协议,以保证MANETs网络的安全性和可靠性,有利于推动其在各种场景中的广泛应用。
二、研究目标1、对基于AODV协议的前沿研究进行综述,分析其优缺点;2、对AODV协议进行安全性分析,阐述可能存在的攻击方式和安全风险;3、提出基于多因素安全要素的路由协议,并进行实验验证,评估其在网络安全性和性能方面的表现;4、将所研究的协议与已有的路由协议进行比较和评估,证明其在网络安全性和性能方面的优越性。
三、研究内容和方法本研究的具体内容如下:1、综述基于AODV的安全路由协议研究现状,比较其优缺点,分析存在的问题和未来发展趋势;2、分析AODV的安全性,确定可能出现的攻击类型、攻击手段和安全风险;3、基于AODV协议,设计一种高效的安全路由协议,采用多因素安全要素(如身份认证、加密技术、防火墙、访问控制等)进行安全控制,保证协议的安全性和性能;4、使用NS-3模拟器或其他相关工具进行研究渗透测试和模拟实验,在不同的实验场景下评估所设计的路由协议的性能和安全性;5、在测试得出的数据基础上,与已有的路由协议进行比较,并进一步评估所设计的协议的性能和优越性。
AODV协议详解
AODV协议详解AODV(Ad-hoc On-Demand Distance Vector)是一种用于自组织无线网络的路由协议。
它是基于距离矢量路由算法的一种改进,并在无线传感器网络(WSN)和移动自组网(MANET)中广泛应用。
AODV的主要目标是在网络中实现有效的路由,同时减少网络资源的消耗。
AODV协议通过以下方式工作。
当一个节点需要向目标节点发送数据时,它首先广播一个路由请求(RREQ)消息以查询目标节点的路由信息。
接收到这个消息的节点会更新路由表,并向源节点发送一个路由回复(RREP)消息,该消息包含到目标节点的路径信息。
在此过程中,源节点可以选择最佳的路径,并将其添加到路由表中。
当源节点收到RREP消息后,它就可以开始向目标节点发送数据了。
在途中,如果网络拓扑发生变化(例如节点移动或节点失效),AODV协议会更新路由表以反映这些变化。
在节点间的通信过程中,AODV协议使用一种称为序列号的技术来区分新的路由信息和旧的路由信息,并避免出现循环路径。
每次路由更新时,序列号都会递增,并在路由表中进行记录。
另外,AODV协议还支持源路由。
源路由是指由源节点指定的完整路由路径,数据包将按照此路径传输。
这意味着源节点可以控制数据包的传输路径,可以避免路径和路由发现的开销,并减少网络资源的消耗。
但是,源路由在网络中可能会面临节点失效、链路中断和网络拓扑变化等问题,因此需要进行有效的处理。
在AODV协议中,节点还可以进行路由维护。
路由维护是指节点在路由表中更新、维护和删除路由信息以反映网络状态的变化。
AODV协议使用一些机制来处理链路中断、节点失效和网络分割等问题。
当节点发现路由不可用时,它会向源节点发送一个路由错误(RERR)消息来通知源节点,并更新自身的路由表。
总结起来,AODV协议是一种用于自组织无线网络的强大路由协议。
它具有快速路由发现、低资源消耗和多路径支持等特点,可以在无线传感器网络和移动自组网等环境中提供高效的数据传输。
Aodv路由协议报告
Aodv路由协议报告本周主要工作是分析aodv协议代码的具体实现过程,根据代码总结出aodv中比较重要的知识一.Aodv数据结构路由表项{rt_dst:目的节点ip地址rt_seqno:目的节点序列号,目的节点有效序列号为偶数rt_hops:跳数rt_req_cnt:发rreq的次数,不得大于rreq_retries次rt_req_timeout:路由请求超时时间,只有超过此时间才能再次发出rreq的aodv消息.rt_req_last_ttl:上次请求生命期,即发送rreq时ip头中ttl的值rt_disc_latency[]:每次请求的延时rt_last_hop_count:上次使用的路由跳数rt_nexthop:下一跳ip地址rt_expire:路由寿命rt_flag:路由状态标志(RT_UP,RT_DOWN,RT_IN_PAIR)rt_prelist:路由前驱列表hist_index:本次发送的rreq次数}邻居列表{Expire:超时时间Id:邻居ip地址}广播列表{expire:过期时间id:广播iddst:广播源节点ip地址}二.节点定时器btimer:广播定时器,用来调用id_purge()函数,顺序查看广播表中的每个条目,比较过期时间是否大于当前时间,如果大于,则调用id_delete()函数删除此广播htimer:hello定时器,用来调用sendhello()函数,发送hello消息ntimer:邻居列表定时器,用来调用nb_purge()函数,顺序查看邻居表中的每个条目,如果过期时间超过当前时间,则认为此邻居不可达,删除此邻居条目rtimer:路由缓存定时器,用来调用rt_purge()函数,顺序查看每条路由的是否过期,如果没过期且有效,则看是否缓存队列中是否有要发送到目的节点的分组,如果有则按路由转发,并将路由过期时间重置。
如果路由过期且有分组待转发,则发送rreq消息。
AODV
产生或收到RERR后路由更新
目的节点序列号 - i和ii两种情况下更新路由表中的目的节点序列号(+1), 并将更新后的序列号包含在RERR中 - 第iii种情况下只需复制接收的RERR目的节点序列号到路 由表中或者需要转发的RERR中 将指向该RERR中目的节点的路由入口设为无效 生存时间字段更新为(当前时间+DELETE_PERIOD) 生存时间超时以后才可以彻底删除路由入口
RREP路由应答帧的传播 A A
A
A B
4、路由发现和维护
路由发现过程
广播RREQ路由请求帧 中间节点更新各自到源节点的路由表 如果收到RREQ的节点不是目的节点,并且没有到达目的节 RREQ 点的更新的有效路由,则转发该RREQ 中间节点维护指向路由发起节点(源节点)的反向路由 目的节点或存在到目的节点有效路由的中间节点产生RREP 路由应答帧 RREP通过之前建立的反向节点单播至源节点 源节点收到RREP应答帧,至此源节点可以向目的节点发送 数据包
按需距离矢量路由协议 AODV AODV简介
内容
1、AODV 概述 2、RREQ路由请求帧 3、RREP路由应答帧 4、路由发现和维护 5、路由错误控制 6、拥塞控制
1、AODV 概述
AODV是为快速移动自组网(MANET)设计的数据包路由协议 较适用于有大量节点的无线自主网络 按需路由协议,只有当到达某目的节点的路由不存在时才会激 活该协议发起路由请求 使用节点序列号机制避免环路产生 传输层使用的是UDP协议 网络各节点使用IP地址统一编址 每一个节点维护一个包含到达目的节点路由信息的路由表
路由信息新旧判断
AODV依赖网络中每个节点维护自身的序列号 源节点在广播路由请求帧RREQ之前要先更新自己的序列号, 即将序列号加1 目的节点在产生RREP应答帧之前也要将自身的序列号加1 每个节点在对各自的序列号加1的时候是将其视为无符号数进行 的 通过比较来自目的节点路由控制帧中的序列号SN1和本节点维 护的目的节点的序列号SN2就可以确定本链路的新旧程度,进 而做相应处理。如果SN2-SN1<0(有符号数相减),说明路由 表中维护的信息已过时,应将路由信息更新至路由控制帧中最 新的路由信息
AODV协议概述
AODV协议概述AODV是由Nokia研究中⼼的Charles E.Perkins和加利福尼亚⼤学Santa Barbara的Elizabeth M.Belding-Roryer以及Cincinnati⼤学Samir R.Das等共同开发,已经被 IETF MANET⼯作组于2003年7⽉正式公布为⾃组⽹路由协议的RFc标准。
AODV实质上就是DSR和DSDV的综合,它借⽤了DSR中路由发现和路由维护的基础程序,及DSDV的逐跳(Hop-by-HoP)路由、⽬的节点序列号和路由维护阶段的周期更新机制,以DSDV为基础,结合DSR中的按需路由思想并加以改进。
AODV在每个中间节点隐式保存了路由请求和应答的结果,并利⽤扩展环搜索的办法来限制搜索发现过的⽬的节点的范围。
AODV⽀持组播功能,⽀持Qos,⽽且AODV中可以使⽤IP地址,实现同Internet连接,但是不⽀持单向信道。
和DSDV保存完整的路由表不同的是,AODV通过建⽴基于按需路由来减少路由⼴播的次数,这是AODV对DSDV的重要改进。
和DSR相⽐,AODV的好处在于源路由并不需要包括在每⼀个数据分组中,这样会使路由协议的开销有所降低。
AODV是⼀个纯粹的按需路由系统,那些不在路径内的节点不保存路由信息,也不参与路由表的交换。
AODv协议可以实现在移动终端间动态的、⾃发的路由,使移动终端很快获得通向所需⽬的的路由,同时⼜不⽤维护当前没有使⽤的路由信息,并且还能很快对断链的拓扑变化做出反应。
AODV的操作是⽆环路的,在避免了通常Bellman-ford算法的⽆穷计数问题的同时,还提供了很快的收敛速度。
AODv的路由表中每个项都使⽤了⽬的序列号(Destination Sequence Number)。
⽬的序列号是⽬的节点创建,并在发给发起节点的路由信息中使⽤的。
使⽤⽬的序列号可以避免环路的发⽣。
AODV使⽤3种消息作为控制信息 :RouteRequest(RREQ),RouteReply(RREP)和 RouteError(RERR)。
aodv路由协议原理
aodv路由协议原理宝子!今天咱们来唠唠这个AODV路由协议的原理呀。
AODV呢,全称是Ad - hoc On - Demand Distance Vector,这名字听起来是不是有点高大上?其实呀,它就像是在一个自由组合的网络世界里的一个小管家呢。
咱先来说说这个Ad - hoc网络的特点。
这就像是一群小伙伴临时凑在一起玩游戏,没有什么预先设定好的规则或者固定的老大来指挥交通。
每个小伙伴(也就是网络中的节点)都有可能随时加入或者离开这个游戏(网络)。
这时候AODV就闪亮登场啦。
在这个网络里,当一个节点想要和另一个节点通信的时候,就像是你想给在这个临时小群体里的某个小伙伴传个小纸条。
如果这两个节点之间没有现成的路径,AODV 就开始忙活起来啦。
AODV的核心思想是按需路由哦。
啥叫按需呢?就是说不提前把所有可能的路径都找好存起来,那样多浪费精力呀,就像你不会提前把到每个小伙伴可能位置的路都先探索一遍一样。
只有当有通信需求的时候,才开始找路。
比如说节点A想要和节点C聊天(通信),A发现自己不知道怎么能到C那里,就会发出一个路由请求(RREQ)。
这个RREQ就像一个小广播,大声喊着:“我要找C,有没有人知道路呀?”这个广播会在网络里扩散开来,周围的节点收到这个广播后,就会看看自己是不是C或者自己知不知道到C的路。
每个收到RREQ的节点都会在自己的小本本上记录下这个请求是从哪个节点来的,就像你在心里记住是谁告诉你这个消息的一样。
如果一个节点已经收到过这个RREQ 了,就不会再转发啦,避免消息在网络里乱转,就像你不会一直重复听同一个消息一样。
当这个RREQ到达节点C或者到达一个知道到C的路的节点的时候,就会沿着之前记录的反向路径发回一个路由回复(RREP)。
这个RREP就像一个小向导,告诉A:“我知道路啦,跟着我走就行。
”这个反向路径就是通过之前每个节点记录的来源信息建立起来的。
而且哦,AODV还会定期检查这些路径是不是还能用呢。
计算机毕业设计论文_基于AODV路由协议的仿真与性能分析
AODV路由协议的仿真与性能分析摘要:首先,本文简单介绍了无线自组网和无线局域网的一些知识,对其主要内容做了概述性的讲解。
接着论述了AODV路由协议的工作原理。
最后在上面的分析的基础上,提出AODV路由协议的实现方案并将其实现。
关键字:AODV;无线自组网;路由Abstract: First of all, the paper briefly introduced the wireless network and wireless LAN knowledge of some of its main outline of the content of the lecture. Then AODV routing protocol discussed the working principle. In the final analysis of the above, on the basis of AODV routing protocol to the realization of the programme and to achieve.Keyword: AODV; Wireless network; Routing目录第一章绪论 (3)1.1课题的背景 (3)1.2无线自组网简介 (3)1.3 IEEE802.11无线局域网协议 (5)第二章AODV路由协议 (8)2.1 AODV路由协议概述 (8)2.2 AODV路由算法原理 (9)2.3 AODV术语 (9)2.4 AODV路由协议帧格式 (11)2.4.1 RREQ协议帧格式 (11)2.4.2 RREP协议帧格式 (12)2.4.3 RERR协议帧格式 (13)2.4.4 RREP-ACK (13)2.5 AODV路由协议的操作 (14)2.5.1维护序列号 (14)2.5.2路由表项和先驱表 (15)2.5.3产生路由请求 (16)2.5.4路由请求消息的控制传播 (17)2.5.5处理和转发路由请求 (17)2.5.6产生路由应答 (18)2.5.7接收和转发路由应答 (20)2.5.8单向链路上的操作 (21)2.5.9 Hello消息 (21)2.5.10维护本地连接性 (22)2.5.11 RERR消息,路由过期和路由删除 (23)2.5.12本地修复 (24)第三章 AODV路由算法模拟 (26)3.1 NS-2概述 (26)3.2模拟步骤 (27)3.3网络吞吐量模拟 (28)3.3.1 shell脚本 (28)3.3.2模拟结果 (29)3.4网络数据包时间延迟 (29)3.4.1计算延迟的awk脚本 (29)3.4.2模拟结果 (31)3.5跳数模拟 (32)3.7 RREQ广播演示 (33)3.8数据传输演示 (33)3.9掉包演示 (34)3.10本章小节 (35)总结 (36)参考文献 (37)致谢 (38)第一章绪论1.1课题的背景自从1997年IEEE802.11协议正式发布以来,无线局域网得到了快速发展,形成了一个巨大的市场。
Ad Hoc网络中AODV路由协议的分析
无 线 A o dh c网络是 一 种特 殊 的无 线 网络 。 不需 目的节 点有 一条 足 够新 的路 由到 达 目的 节点 时.中间 它 要基 础设施 的支持 .每个 节 点兼 有主 机和路 由器的功 节点 或者 目的节 点 以单 播方 式 向源节 点返 回一 个路 由
R E) 源 E 能 由于无线 A c网络具 有 自组性 、 dHo 抗毁性 和无需 应 答 分  ̄( R P. 节 点 收 到该 RR P后 则 开 始 向对 固定 基础设施 等特 点 .在军 事 和 民用 领域 都得 到 了广 应 目的节 点发送 数据 。 泛 的应 用 . 来越受 到人们 的关 注 。路 由协议 作为 A 越 d 在 数据传 输过程 中. 当中间节 点检 测 到一条 正在传 H c网络 的关 键技 术之一 , 为研究 的热 点问题 。目前 输数 据 的活动路 由 的下 一跳链 路 断开 或者 节点 收到 去 o 成 已经 提 出了许 多 A e网络 的路 由协 议 草 案 .其 中 往某 个 目的地节 点 的数据 报 文.而 节点 没有 到该 目的 dHo
共 同 开 发 .因 其 性 能 优 异 且 实 现 简 单 已 经 被 I T 地重新 寻 找路 由。 EF A D 通 过周 期 性 广 播 H l OV el 文 来 监 视链 路 连 o报 M N T工 作 组 于 2 0 A E o 3年 7月 正 式 公 布为 A o dh c自 通性 H l e o包 的生 存时 问 1[ 为 1只能在相 邻节点 l , 】 L值 , 组 网路 由协议 的 R C标 准 。 F 间传 播 一 个节 点 收到一 个 H l el o包就 可 以新 建 一个 邻 居条 目或 者 知 道 一个 邻 居 节 点 与 自己 依 然保 持 连 A D fdHo O — e n i a c et ) O V A c n D ma dDs neV co 按 t r el o 需距离 矢 量路 由协 议 .是 A o dH c网络 中按需 生成 路 接 ?如果 在 一 定 时 间 内收不 到 一 个邻 居 节 点 的 H l 则 以这个 节 点为 由方式 的典型协 议 。它能 实现 单播 和多播 路 由 。并 且 包. 认 为该 邻居 节 点与 自 己不 再 连 接,
基于AODV路由协议和EPI路由协议的TCP性能分析
数据 可靠传输 的 , 后 介 绍传 统 A D 然 O V路 由协 议 和 E I 由协 议 的工 作原 理 , 过仿 真 分 析 在 T P下 P路 通 C
2种路 由协议 的性 能 。
2 AoDV 路 由协 议
9 — DGIA 4 — I T LCOMMUNCA 1 / O . l T0N 2 1 6 0
R E 的转发 次数 作 为路 由 的跳 数 。 RQ
先把 路 由表 中所 有 用 到该 链 路 的路 由都 设 为无 效 。 如果 A t e的路 由到 目的节点 的跳 距小 于 1 常数 cv i 个 ( xe a t ) 那 么它 就执 行路 由本 地修 复机 制 , Marp it , r1 自 己发 起 r ’(i i ) 围 的路 由搜 索 来 寻 找通 r L t t le 范 I me o f 往 目的节点 的路 由 ; 否则 , 送 R R ruigerr 发 E R(ot r ) n o 到 A t e的 路 径 上 的 前 驱 节 点 告 知 链 路 失 效 。 cv i A D O V路 由表 中有 一 个 前 驱 节 点 列 表 , 中包含 了 其
AD O V路 由协 议 是 在 D D S V协 议 基 础 上 结 合类 似 D R中 的按 需路 由机制进 行 改进后 提 出的 。 S
1 T CP拥 塞控 制机 制
T P拥塞 控制机 制 ¨ 为 3个 阶段 : C 。分 慢启 动 阶 段、 拥塞避 免 阶段 、 快速 重传 和快速恢 复 阶段 。
AD O V协议 主要包 含 2个 过 程 , 即路 由发现 和 路 由
维护 。
2 1 路 由发 现 .
1 慢启 动 阶段 。 ) 在连接 开始 的时 候 , C T P将 拥 塞 窗 口设 为 最 大
一种安全的AODV路由协议改进方案
2021.15科学技术创新1概述按需距离矢量路由协议(A O D V )是一种典型的按需路由协议,它广泛应用于车载自组网(V ehi cul ar A d H oc N et wor ks ,V A N ET )中,并对V A N ET 的发展起到了举足轻重的作用。
对于车载自组网而言,首先要考虑的就是路由协议要在保持稳定链接的同时抵御恶意节点的攻击,满足现代交通的需要,因此本文将研究典型的车载自组网通信协议并提高其安全性能。
目前针对安全问题,A O D V 协议有很多改进方案,例如2019年,文献[1]针对黑洞攻击添加了混沌映射作为应对手段。
文献[2]为了解决隐私泄露问题,对传统签名效率低的机制进行改进,使用了身份验证的聚合签名手段,提高签名的效率。
为了保护用户隐私以及提高通信网络的安全性,文献[3]主要使用了R SU 算法作为改进手段。
然后经过分析发现不能达到预期效果,并且只对特定攻击手段有效。
为此,为了解决当前车联网的安全性与效率不足的情况,文献[4]在文献[3]的基础上使用了一种无证书的聚合签名改进方案,对隐私窃取的攻击手段有一定防御效果。
针对车载自组网运行环境中可能遭受到的安全攻击,为了满足车载自组网匿名性、安全性、认证性、不可否认性的安全需求,为了达到保护车载通信系统安全和隐私的目标,本文主要解决问题:采用基于模糊神经网络改进的安全通信协议,在车辆通信过程中识别恶意攻击节点与攻击方式,抵御恶意攻击。
本文在之前的文献[5]的研究基础上,修改了参数的提取方式,提高了计算精确度。
2一种基于模糊升级网络的安全改进路由协议2.1算法描述本算法主要选择节点的安全性影响面作为计算度量,并使用归一化算法进行预处理。
然后使用模糊神经神经网络对预处理结果进行进一步模糊计算,并在计算的同时不断使用遗传模拟算法,对所用参数进行改进。
最后得到计算结果,可作为节点安全性的判断依据在协议过程中使用。
接着使用模糊神经网络对节点可信度进行计算,并在计算过程中使用遗传模拟退火进行参数优化。
AODV协议详解【版本1】
AODV协议详解【版本1】AODV路由协议详解移动Ad Hoc⽹络概述“Ad Hoc”⼀词起源于拉丁语,可以翻译为“for this purpose only”,意译为“特别的,临时的⽹络”。
移动Ad Hoc⽹络(Mobile Adhoc Network,MANET)专指⽤于移动⽆线设备的Ad Hoc⽹络,⽤于其它⽤途的Ad Hoc⽹络有⽆线⽹状⽹络(wireless mesh network,WMN)和⽆线传感器⽹络(wirelss sensors networks,WSN)等。
移动Ad Hoc⽹络中的节点⼀般是可以通过⽆线⽅式与其它设备进⾏数据接收和转发的移动设备,⽐如⼿机和⼿提笔记本。
每⼀个节点既是接收数据的主机,也是负责转发数据的路由器。
因为节点的路由器⾝份,移动Ad Hoc允许在没有⽆线访问接⼊点(wireless access point)的情况下节点之间的数据双向传输,⽹络中的数据可能需要经过节点的多跳传输才能到达⽬的节点。
移动Ad Hoc⽹络允许节点动态地进⼊和离开⽹络,⽹络拓扑动态的变化所可能造成的路由失效,可以通过修复路由或重新发现新路由等办法解决。
总结⼀下,移动Ad Hoc⽹络具有以下特点:(1)⾃组织,⽆需⽆线访问接⼊点即可通信,每个节点都充当路由器。
(2)⾃适应,允许⽹络拓扑的动态变化,可以进⾏路由的重新发现与修正。
(3)易部署,⽆需部署⽆线访问接⼊点即可实现节点之间的通信。
(4)⽹络控制频繁,由于⽹络拓扑可能经常变化,移动Ad Hoc⽹络需要⼤量的⽹络控制信息来维护路由。
(5)安全性与可靠性待加强,由于⽹络通过⽆线的⽅式传输,对⽐有线⽅式可靠性较差,且容易受到攻击与窃听。
移动Ad Hoc⽹络中节点需要相互信任,因为数据可能会经过中间节点转发到⽬的节点,这也需要⼀定的机制检验节点的安全性。
由于移动Ad Hoc⽹络的以上特点,传统的路由协议如RIP(Routing Information Protocol,路由信息协议)和OSPF(Open Shortest Path First,开放式最短路径优先协议)⽆法很好的在移动Ad Hoc⽹络上运⾏。
aodv路由协议
aodv路由协议AODV路由协议。
AODV(Ad hoc On-Demand Distance Vector)路由协议是一种无线自组网中常用的路由协议,它是一种基于距离向量的路由协议,同时也是一种按需路由协议。
AODV路由协议的提出,很大程度上解决了无线自组网中节点移动频繁、网络拓扑结构变化快速的问题,因此在实际应用中得到了广泛的应用。
AODV路由协议的核心思想是按需建立路由,即当源节点需要发送数据时,会先检查路由表中是否存在到目标节点的有效路由,如果不存在,则会向周围节点发送路由请求,直到找到到目标节点的有效路由为止。
这种按需建立路由的方式,使得AODV路由协议具有较高的路由效率和较低的路由开销。
AODV路由协议的工作原理如下,当源节点需要发送数据时,会首先检查自己的路由表中是否存在到目标节点的有效路由,如果存在,则直接发送数据;如果不存在,则会向周围节点发送路由请求。
周围节点收到路由请求后,会根据自己的路由表信息做出相应的决策,如果知道到目标节点的路由,则向源节点发送路由回复;如果不知道,则会继续向周围节点发送路由请求。
当源节点收到到目标节点的路由回复后,就可以建立起到目标节点的有效路由,从而发送数据。
AODV路由协议的特点有以下几个方面:1. 按需路由,AODV路由协议是一种按需路由协议,只有当源节点需要发送数据时才会建立路由,这样可以减少路由表的维护开销,提高路由效率。
2. 路由维护,AODV路由协议采用路由维护机制,当网络拓扑结构发生变化时,会及时更新路由信息,保证路由的有效性和稳定性。
3. 广播优化,AODV路由协议中的路由请求和路由回复采用了广播的方式,但通过序列号的方式避免了广播风暴的问题,从而减少了网络中的冗余信息。
4. 支持多播,AODV路由协议支持多播传输,可以有效地支持多播数据的传输。
总之,AODV路由协议作为一种按需路由协议,具有较高的路由效率和较低的路由开销,在无线自组网中得到了广泛的应用。
实验5--无线自组织网络仿真(一)-AODV协议
西安邮电大学(计算机学院)课内实验报告实验名称:无线自组织网络仿真(一)-AODV协议(2学时)专业:网络工程班级:姓名:学号:指导教师:日期:2017年5月27日一.实验目的理解AODV路由协议的工作过程。
二.实验环境VirtualBox + Ubuntu + NS2三.实验内容1.AODV基本原理AODV 是应用最广泛的按需路由协议之一。
它是 DSDV 算法的改进,但中间节点不需事先维护路由。
AODV 中节点移动可能会导致原来路由不可用,它采用逐跳路由方式转发分组,并利用广播请求查找路由。
整个通信过程对称的,路由可逆。
其基本工作过程如下:①源节点希望向某个目的节点发送数据,但当前路由表中并无该节点的路由信息时,启动路由发现过程;②源节点向其邻居广播一个 RREQ(路由请求)消息,进行路由探测;③每个收到RREQ消息的节点向其邻居扩散该消息,直至消息到达一个知晓目的节点路由的节点(中间节点或目的节点);同时建立反向路由;④该中间节点或目的节点向源节点发送一个 RREP(路由响应)消息,当RREP消息到达源节点时,建立起源节点到目的节点的路由。
2.仿真拓扑建立一个13个移动节点的Ad hoc网络,分别是节点 0~12。
其中,节点 8 是源节点,节点 2 是目标节点。
四.实验过程及分析1.阅读并解释仿真代码(AODV.tcl),描述仿真设置;创建14个移动终端节点定义代理的连接定义FTP是被TCP封装的,CBR是被\UDP封装的定义终端的属性2.运行仿真脚本;1)创建14个节点,节点间未交换路由信息,路由表尚未建立2)仿真到0.02s 时,节点8 开始向节点2 发送数据,注意,在发送数据前,节点8 需要通过RREQ/RREP 与节点2 建立路由8与2传输数据3)仿真进行到0.25s 时,节点4 开始向节点1 发送数据,同样的,节点4 需要通过RREQ/RREP 与节点1 建立路由。
4)在仿真过程(0.25~3s)中,两条传输的数据流会出现断断续续的情况,其反映的是TCP 的拥塞控制。
双信道AODV路由协议的实现-毕业答辩
双信道:AODV路由协议的修改
简易双信道AODV路由协议 交替双信道AODV路由协议 主从双信道AODV路由协议
2019/11/21
18 通信工程学院
双信道:AODV路由协议的修改
2019/11/21
19 通信工程学院
简易双信道AODV路由协议
2019/11/21
20 通信工程学院
移动通信网络
无中心网络(Infrastructureless Network )
自组织网络(Ad Hoc网络)
2019/11/21
5 通信工程学院
研究背景:Ad Hoc网络
移动通信网络
Ad Hoc网络
2019/11/21
6 通信工程学院
研究背景:Ad Hoc网络
路由协议
表驱动路由协议
AODV路由协议:模拟结果
2019/11/21
14 通信工程学院
双信道:思路
2019/11/21
15 通信工程学院
双信道:NS2模拟软件的修改
2019/11/21
16 通信工程学院
双信道:NS2模拟软件的修改
框架修改
OTcl部分 C++部分
协议修改
C++
2019/11/21
17 通信工程学院
变量含义 分组类型
保留 跳数的记录 目的节点IP地址 目的节点序列号 本节点IP地址 生存时间
时间戳 本身使用的主信道
本身的IP地址
26 通信工程学院
Hello分组结构
变量类型 u_int8_t u_int8_t u_int8_t nsaddr_t u_int32_t double
int nsaddr_t
小议基于嵌入式Linux操作系统的AODV路由协议
小议基于嵌入式Linux操作系统的AODV路由协议1.引言无线 Ad Hoc 网,又称移动多跳无线网、移动分组无线网、无线自组网等,是一种无中心、不需要固定基础设施支持的无线网络。
它是由一组带有无线收发装置的移动终端组成的一个多跳无线网络,不依赖于固定基础设施,网络中的移动终端通过自身的无线收发设备来收发信息。
当通信终端不在彼此通信范围时,可以借助其它的中间终端节点进行数据转发,从而构成多跳网络。
因此,Ad Hoc 网络的移动终端兼备主机和路由器的功能。
由于无线 Ad Hoc 网络的无中心、自组织、节点可移动等特点,Ad Hoc 具有可以快速临时组网、无须架设基础设施、网络抗毁性强等优点,目前的应用领域包括军事通信、灾后应急部署与野外作业、传感器网络、个人通信、与移动通信系统结合等。
AODV 协议是Ad Hoc网络的主流路由协议之一。
2. AODV 路由协议AODV 实际上是DSR(Dynamic Source Routing Protocol)和DSDV(Destination-Sequenced Distance-Vector)的综合,以DSDV 为基础,采用DSR 中的按需路由思想进行改进。
它采用了DSR 中路由发现和路由维护的基础原理,结合了DSDV 的逐跳(hop-by-hop)路由,顺序编号和路由维护阶段的周期更新机制。
与DSDV 保存完整的路由表不同的是,基于按需路由思想的AODV 只有在有需要的时候才建立路由,这与DSDV 相比的好处是能减少大量维护路由所需的开销。
与DSR 相比,AODV 的优势在于源路由并不需要包括在每一个数据分组中,这样能减少路由协议的开销。
AODV 协议可以实现在移动终端动态的、自发的路由,使移动终端很快的获得通向所需目的地的路由,而且不用维护当前没有使用的路由信息,还能对链路状态和拓扑的变化做出快速的反应。
AODV 使用路由请求序列号来保证无环路。
避免了通常Bellman-foul 算法的无穷计数(count-to-infinite)的问题,并且提供了很快的收敛速度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分类:ns仿真2012-04-23 10:52 171人阅读评论(0) 收藏举报delete脚本活动工作
1 AODV 报文格式
AODV 有三种基本的协议报文类型:RREQ 报文、RREP 报文和RRER 报文。
1.1 RREQ 报文
a. 对RREQ 的处理
接收到RREQ 的结点做如下处理:
(1)创建一个表项,先不分配有效序列号,用于记录反向路径。
(2)如果在“路由发现定时”内已收到一个具有相同标识的RREQ 报文,则抛弃该报文,不做任何处理;否则,对该表项进行更新如下:
I.下一跳结点=广播RREQ 的邻居。
II.跳数=RREQ 报文的“跳计数”字段值。
III.设置表项的“过时计时器”。
(3)如果满足以下条件,则结点产生“路由回答报文”RREP,并发送到信源;否则更新RREQ 报文并广播更新后的RREQ 报文。
I.该结点是信宿。
II.结点的路由表中有到信宿的活动表项,且表项的信宿序列号大于RREQ中的信宿序列号。
(4)更新RREQ 报文并广播更新后的RREQ 报文
I.信宿序列号=本结点收到的信宿相关的最大序列号。
II.跳计数加1。
1.2 RREP 报文
(1)信宿结点产生RREP
执行如下操作:
I.如果收到相应的RREQ 的信宿序列号与信宿维护的当前序列号相等,则信宿将自己维护的序列号加1,否则不变。
II.跳计数=0。
III.定时器值。
(2)中间结点产生的RREP
执行如下操作:
I.本结点获取的该信宿的最大序列号。
II.跳计数=本结点到信宿的跳数(查相应表项即可得到)。
III.更新本结点维护的“前向路由表项”的下一跳和“反向路由表项”的前一跳
b. 对RREP 的处理
结点对接收到的RREP 作如下处理。
(1)如果没有与RREP 报文中的信宿相匹配的表项,则先创建一个“前向路表”空表项。
(2)否则,满足如下条件对已有表项进行更新。
条件:
I.现有表项的信宿序列号小于RREP 报文中的序列号。
II.现有的表项没有激活。
III.信宿序列号相同,但RREP 报文的“跳计数”值小于表项相对应的值;通过更新或创建,产生一个新的前向路由。
更新:
IV.下一跳=广播RREP 的邻居结点。
V.信宿序列号=RREP 中的信宿序列号。
VI.跳计数加1。
(3)按照上述的过程,任何转发RREP 的结点,都记录了到信宿的下一跳,当RREP到达信源时。
结点地址匹配,不再转发RREP,信源到信宿的前向路由已经建立起来了。
信源可以沿这条前向路径进行数据传输。
1.3 RRER 报文
邻居间周期性的互相广播“Hello”报文,用来保持联系,若在一段时间内没有收到“Hello”报文,则认定为链路断。
例如当结点X、Y 之间链路产生断路使数据无法通过此条链路传至信宿,则结点X 会产生RRER 报文向信源报告此情况。
RRER 通过广播形式传送,维护路由表的结点收到此报文会更新路由表(将X、Y
间的路由设成无效),并转发RRER 报文。
2 协议从接收到一个分组开始的基本流程
AODV 路由协议主要包括以下几个组件:
1、协议实体
2、路由表
3、定时器
(1)广播定时器
(2)周期Hello 报文广播定时器
(3)用于邻居管理的定时器
(4)用于路由缓存的定时器
(5)用于本地修复的定时器
(6)缓存广播ID 的定时器
4、日志记录器
5、路由缓存队列
当协议接收到一个分组,即recv(Packet*, Handler*)函数被调用,函数根据分组类型调用不同的处理函数进行处理。
1、如果是协议分组,则将分组的ttl 值减1,并调用recvAODV(Packet*)函数进行处理。
recvAODV 函数再根据分组的不同类型来调用不同的函数进行处理。
(1)如果接收到的是路由请求分组,则调用recvRequest(Packet*)函数进行处理。
如果该分组由节点自身产生或已经接收过的,会被节点丢弃,并结束处理。
否则,节点将缓存该分组的序列号,并将该分组发送来的路径添加到反向路由中,转发相应分组。
然后,节点根据该分组的目的地址进行判断并调用不同函数进行
处理。
如果节点自身即为目的节点,则调用sendReply(nsaddr_t, u_int32_t,nsaddr_t, u_int32_t, u_int32_t, double)函数进行响应。
如果节点不是目的节点,但知道通往目的节点的路由,则调用sendReply 函数进行响应,并在源和目的前驱列表中分别插入到源和目的的下一跳节点。
否则,不能直接响应该请求,
将跳数加1,并调用forward(aodv_rt_entry*, Packet*, double)函数转发该分组。
在sendReply 函数中,节点首先查找到达目的节点(即发送路由请求分组的节点)的路由,创建并填充分组,然后调用Scheduler::instance().schedule()函数来发送该分组。
(2)如果接收到的是路由响应分组,则调用recvReply(Packet*)函数进行处理。
节点首先查询前往分组目的节点的路由,如果不存在则新增一条路由项。
然后,节点更新到该目的节点的路由项,并发送所有相关分组。
如果节点为目的节点则更新路由发现延迟并发送所有相关的分组。
如果节点不是目的节点,但知道通往目的节点的路由,则将跳数加1,调用forward 函数转发该分组,并修改响应的前驱列表。
如果节点不是目的节点,也不知道通往目的节点的路由,则丢弃该分组。
(3)如果接收到的是路由错误分组,则调用recvError(Packet*)函数进行处理。
节点首先清除所有受到影响的路由项,丢弃所有受影响的分组。
然后,如果前驱节点中存在会受该路由错误影响的分组,则调用sendError(Packet*, bool)函数转发该分组。
sendError 函数创建并填充分组,然后调用Scheduler::instance().schedule()函数来发送该分组。
(4)如果接收到的是Hello 消息分组,则调用recvHello(Packet*)函数进行处理。
节点会将该邻居的信息添加到邻居列表中(或更新该邻居的信息)。
2、如果是数据分组,则节点丢弃已经发送过或者ttl 为0 的分组,并结束处理。
如果分组是由上层协议产生的,则节点添加IP 报头。
随后,节点根据目的路由进行不同处理。
(1)如果目的节点路由未知,则调用rt_resolve(Packet*)函数进行路由解析和转发。
如果目的节点路由在路由表中存在,则直接调用forward 函数进行转发。
如果分组是由节点自身产生的,则将分组保存到缓冲队列中,并调用sendRequest(nsaddr_t)函数查询目的路由。
如果目的路由已知,但正在进行本地修复,则将分组保存到缓冲队列中。
否则,丢弃该分组,并调用sendError 函数报错。
(2)如果目的节点路由已知,则调用forward 进行转发。
节点丢弃ttl 为0 的分组,并根据分组类型决定下一步操作。
如果接收到的是数据分组,且自身为目的节点,则通过调用PortClassifier 对象的recv(Packet*, Handle*)函数将分组交递给高层协议,并结束处理。
否则,节点设置分组属性,并调用
Scheduler::instance().schedule (Handler*, Event*, double)函数来发送分组。
其中,Handler 为基类中的属性target_(会根据脚本中的设置指向相应的协议实体),Event 为要发送的分组即可。
以上就是在节点收到分组后的一个处理过程。
以下是各个定时器所做的工作。
1、广播定时器BroadcastTimer 在到时后调用id_purge()函数删除广播项中已超时的项目,并通过调用Scheduler:: instance().schedule()函数来设置下次被调用的时间(Handler 为this 指针,Event 为类属性intr)。
2、周期Hello 报文广播定时器HelloTimer 在到时后调用sendHello()函数向邻居创建并发送Hello 消息,并调用schedule()函数来设置下次被调用的时间。
3、邻居管理定时器NeighborTimer 在到时后调用nb_purge()函数来清除邻居列表中已超时的邻居项,并调用schedule()来设置下次被调用的时间。
nb_purge会调用nt_delete(nsaddr_t) 函数来清除超时的邻居项,其又会调用handle_link_failure(nsaddr_t)函数来处理由于邻居节点被删除而引起的路由
变化。
4、路由缓存定时器RouteCacheTimer 在到时后调用rt_purge()函数来清除路由表中已超时的路由项,并丢弃相关的分组,再调用schedule()来设置下次被调用的时间。
5、本地修复定时器LocalRepairTimer 在调用后根据传递的分组的目的地址关闭相应的路由项。
6、缓存广播ID 定时器BroadcastID 用来保存广播分组的ID。