AODV路由协议
AODV Route Discovery
Time Out Time Out
: RREQ : RREP :Valid Route
Route Maintenance
• Periodic Hello message to detect continued presence of neighbours • When a link break is detected
AODV route table entry
• • • • • • • • • Destination IP Address Destination Sequence Number Vaild Destination Sequence Number flag (有效) Network Interface(网络接口模式。设成混搭模式) Hop Count (number of hops needed to reach destination) Next Hop List of Precursors Lifetime (expiration or deletion time of the route) Other State and routing flag (e.g. valid, invalid, repairable, being repaired)
– Node sends a RERR containing list of unreachable destinations due to link break – Receiving nodes forwards RERR to precursors of unreachable destinations
A destination node increments its own sequence number in two circumstances:
• before a node originates a route discovery • before a destination node originates a RREP in response to a RREQ(序号+1)
The route is only updated if the new sequence number
• higher than the destination sequence number in the route table • the sequence numbers are equal, but the hop count is smaller than the existing hop count in the routing table • the sequence number is unknown
• RREP (route reply) is unicast back
– From destination if necessary – From intermediate node if that node has a recent route
AODV Messages
• • • • Route request (RREQ) Route reply (RREP Route error (RERR) Hello messages
• Before sending or forwarding RERR
– Update destination sequence number in routing table entry – Invalidated entry
AODV Local Route Repair
Data packet be buffered
Ad-hoc Networking Example
• Suppose MH1 moves away from MH2 towards MH7, and has active sessions with MH3 and MH6. The following actions occur:
• MH2 notices that its link to MH1 is broken • MH2 checks its routing table, and finds that its link to MH1 was actively in use by MH3 and MH4. • MH2 unicasts an ∞-metric route update, with an incremented destination sequence number, to MH3 and MH4. MH3 may subsequently issue a new route request for MH1. • MH4 also notes that its route to MH1 was actively in use, and forwards the ∞-metric route update to MH6. • MH6 may subsequently issue a new route request for MH1.
Route Reply (RREP) Message Format
Route Error (RERR) Message Format
Link Breakage
• Nodes remember active routes • Next hop breaks -> neighbors using that route are notified • Notification is a RREP with: - metric = ∞ - dest_seqno = previous + 1 and is sent to each active neighbor
A node may change the sequence number in the routing table entry
• it is itself the destination node, and offers a new route to itself • it receives an AODV message with new information about the sequence number for a destination node • the path towards the destination node expires or breaks
B
A
K
D N
Inclusion
• AODV has the following features:
- Nodes store only the routes that are needed - Need for broadcast is minimized - Reduces memory requirements and needless duplications - Quick response to link breakage in active routes - Loop-free routes maintained by use of destination sequence numbers - Scalable to large populations of nte Discovery
• RREQ (route request) is broadcast
– Reverse path is set up along the way – RREQ message contains < bcast_id; dest_ip; dest_seqno;src_ip; src_seqno; hop_count >
Ad hoc On Demand Vector routing (AODV路由协议)
• AODV是基于距离矢量算法的路由协议。AODV只在路由表 中保持需要的路由,通常每一个目的节点保存一条路由,每 条路由信息都有生存期,若超时则该项路由信息无效。 AODV采用每个目的节点中保存的序列号来保持路由信息的 有效性,所有的路由分组都保存序列号。 • Route is set up only when requested • Nodes not along active paths not required to maintain route information • Avoids the Bellman-Ford “counting to infinity” problem • Link breakages notification only to affected nodes • Multicasting(多播路由算法) • Key Feature: Use of Destination sequence Number(目的 节点序列号) • Loop freedom(路由回环)
完整性
n • 它的路由表中通往目节点D的链路为 ( n , n ), j 为 n 的邻节点,可知链路 ( n , n )一定存在,即 i (n , n ) (n , n ) (n , n ) ( j ) 所以 n i 是节点 n j到目的节点D路由中记录的 下一跳节点。是由 i 的任意性,我们得到在 邻节不变的情况下,AODV通过记录到目的 节点的下一跳节点的IP地址,在Ad hoc网络 中可以形成一条完整的路由。
• Example
RREQ S E F C G H I K D N J
B
A
RREQ <S, 11, 1, D, 0, 1> [D, S, 1, time, 11] S E F C G H I Reverse pointer J
B
A
K
D N
Forward pointer RREP <S, D, 12, 3, lifetime> S E F C G H I timeout J
aodv路由协议工作过程
aodv路由协议工作过程AODV(Ad hoc On-Demand Distance Vector)是一种用于无线自组织网络(ad hoc network)的路由协议。
它是一种基于距离向量的路由算法,可以在网络中动态地选择最佳路径来传输数据包。
本文将详细介绍AODV路由协议的工作过程。
AODV路由协议的工作过程可以分为四个阶段:路由发现阶段、路由维护阶段、路由错误处理阶段和路由释放阶段。
在路由发现阶段,当一个节点需要发送数据包到目标节点时,它首先会向周围节点发送路由请求(Route Request)消息。
这个消息包含了目标节点的地址和源节点的地址。
当一个节点收到路由请求消息时,它会检查自己的路由表,如果没有关于目标节点的路由信息,它会将该消息广播给它的邻居节点。
这样,路由请求消息会不断地传播,直到达到目标节点或者遇到已知路由的节点。
在路由维护阶段,当目标节点或者有关的中间节点收到路由请求消息时,它们会生成路由回复(Route Reply)消息,并将它发送回源节点。
路由回复消息中包含了从目标节点到源节点的最佳路径信息。
当源节点收到路由回复消息后,它将更新自己的路由表,并开始向目标节点发送数据包。
在路由错误处理阶段,如果某个节点无法到达目标节点或者中间节点,它会发送路由错误(Route Error)消息。
这个消息会被广播给所有与这个节点有关的节点。
当一个节点收到路由错误消息后,它会将与错误相关的路由从自己的路由表中删除,并向其他节点发送路由错误消息。
这样,整个网络中的节点都会知道该路径已经不可用。
在路由释放阶段,当一个节点不再需要与目标节点通信时,它可以发送路由释放(Route Release)消息。
这个消息会被广播给与这个节点有关的所有节点,以通知它们可以删除与目标节点相关的路由信息。
AODV路由协议的工作过程充分利用了网络中节点之间的相互通信来动态地选择最佳路径。
它能够在网络拓扑发生变化时及时更新路由信息,保证数据包能够成功传输。
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的信宿大于其所获取的信宿序列号,跳计数设为无 穷大,并广播到所有活动邻居。
Ad Hoc网络中接收功率辅助的AODV协议的开题报告
Ad Hoc网络中接收功率辅助的AODV协议的开题报告1. 研究背景和意义Ad Hoc网络是一个无线的、自我组织的网络,其中节点可以自己动手管理网络拓扑结构。
这种网络可以在很多场合中使用,比如紧急救援、军事行动和自组织传感器网络等。
在Ad Hoc网络中,路由协议非常重要。
AODV(Ad Hoc On-Demand Distance Vector Routing)是一种广泛使用的路由协议,在需要时通过从源节点到目标节点请求路由。
无线传输中的信号接收功率是决定节点间链路质量的关键因素。
随着时间的推移和移动信号传输中干扰和障碍物的变化,传输中的信号接收功率也会发生变化。
因此,如何使用接收功率信息来优化AODV的路由选择是当前研究的热点之一。
2. 研究内容本文的研究重点是在Ad Hoc网络中使用接收功率辅助的AODV协议。
具体来说,将通过以下几个方面进行研究:(1)分析Ad Hoc网络中路由协议的优缺点,介绍AODV协议的基本原理,并研究其在实际应用中的局限性。
(2)研究如何利用接收功率信息来改进AODV协议的路由选择机制,提高网络的性能和稳定性。
具体来说,将探讨如何使用接收功率信息选择最佳的转发节点和优化数据包传输路径,以最大程度地减少数据包丢失和延迟。
(3)设计和实现具有接收功率辅助功能的AODV协议,并进行实验验证。
通过对比实验数据,评估新协议与传统AODV协议之间的性能差异,以证明所提出方案的优越性。
3. 预期结果通过研究,本文预计能够得出以下的结果:(1)对Ad Hoc网络中的AODV协议进行全面的分析和评估,通过对比实验验证,确定AODV协议的优缺点和局限性。
(2)提出一种基于接收功率辅助的AODV协议的路由选择机制,并进行实验验证,证明所提出方案的优越性,提高Ad Hoc网络的性能和稳定性。
(3)在实现方面,本文预计将设计一种能够在实际应用中使用的新型AODV协议,并将其加入到现有的网络中进行实验测试。
AdHoc网络中AODV路由协议的实现及数据业务处理中期报告
AdHoc网络中AODV路由协议的实现及数据业务处理中期报告中期报告:AdHoc网络中AODV路由协议的实现及数据业务处理1. 项目背景与意义随着移动终端设备的普及和无线通信技术的发展,AdHoc网络成为了一种越来越重要的通信方式。
AdHoc网络是一种无需基础设施的网络,由移动终端设备自组成。
相比传统有线网络和基础设施无线网络,AdHoc 网络能够更加灵活地应对复杂环境,并能够更加迅速地部署实施。
在AdHoc网络中,路由协议是起着至关重要的作用。
AdHoc网络由于网络拓扑变化频繁,节点移动、丢包等问题更加严重,因此泛洪等传统路由协议在AdHoc网络中显得不太适用。
AODV(Ad-Hoc On Demand Distance Vector Routing Protocol)是一种基于距离向量的路由协议,在AdHoc网络中得到了广泛应用。
AODV路由协议是一种基于需求的路由协议,当源节点需要向目标节点发送数据时,它会向周边节点发出寻找路由的请求,然后根据返回的路由信息建立路由并发送数据。
AODV路由协议具有快速、稳定、低开销等优点,因此被广泛应用于AdHoc网络中。
本项目旨在通过对AODV路由协议的实现,探索AdHoc网络中路由协议的应用。
本项目将实现AODV路由协议,并在此基础上实现AdHoc网络中常见的数据业务处理,包括数据的发送、接收、存储等。
通过本项目的实现,将加深对AdHoc网络的理解,为AdHoc网络的应用和发展做出贡献。
2. 工作进展本项目已完成了部分工作,包括:2.1 AODV路由协议的实现本项目利用C++语言,通过对AODV协议的研究和分析,实现了AODV路由协议。
该实现包括AODV的路由发现、路由维护、路由更新等功能,能够满足AdHoc网络中节点之间通信的路由需求。
在实现中,我们充分考虑了节点移动、丢包等问题,并进行了有效地处理和优化。
2.2 数据业务处理的设计与实现在AODV路由协议的基础上,本项目还开展了数据业务处理的设计和实现。
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)] 并将它们附加到信道。
无线传感器网络路由协议
无线传感器网络路由协议无线传感器网络(Wireless Sensor Network,WSN)是由大量低成本、低功耗的传感器节点组成的网络系统,用于感知和收集环境信息。
无线传感器网络的路由协议起着关键作用,它决定了数据在网络中的传输路径和方式,影响着整个网络的性能、能耗以及生存时间。
1. LEACH(Low-Energy Adaptive Clustering Hierarchy)是一种经典的层次化路由协议。
它将网络中的节点划分为若干个簇(Cluster),每个簇有一个簇首节点(Cluster Head)。
簇首节点负责收集和聚合簇内节点的数据,并将聚合后的数据传输给基站节点,从而减少了网络中节点之间的通信量,节省了能耗。
2. AODV(Ad Hoc On-Demand Distance Vector)是一种平面路由协议,适用于无线传感器网络中节点数量较少且网络拓扑较稳定的情况。
AODV协议通过维护路由表来选择最短路径,当节点需要发送数据时,它会向周围节点发起路由请求,并根据收到的响应建立起路由路径。
3. GPSR(Greedy Perimeter Stateless Routing)是一种基于地理位置的路由协议。
它通过利用节点的地理位置信息来进行路由选择,具有低能耗和高效的特点。
GPSR协议将整个网络划分为若干个区域,每个节点知道自己的位置以及周围节点的位置,当需要发送数据时,节点会选择最近的邻居节点来进行转发,直到达到目的节点。
除了以上几种常见的路由协议,还有很多其他的无线传感器网络路由协议,如HEED(Hybrid Energy-Efficient Distributed clustering)、PEGASIS(Power-Efficient Gathering in Sensor Information Systems)等,它们各自具备不同的优势和适用场景。
总之,无线传感器网络的路由协议在保证数据传输可靠性和网络能耗方面起着重要的作用。
基于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协议操作过程
(3)如果满足如下条件,则结点产生“路由回答 “ 分组”RREP,并发送到信源;否则,转入到(4) ” 进行处理; A:该结点就是信宿; B:结点的路由表中有到信宿的活动表项,且表 项的序列号大于RREQ中的信宿序列号(新); (4)更新RREQ分组,并广播更新后的RREQ分组 A:信宿序列号=本结点收到的该信宿相关的最 大序列号; B:跳计数加1;
2.3对RREP的处理
结点对接收到的RREP分组作如下处理: (1)如果没有与RREP 分组中的信源相匹配的表项,则先创建一 个“前向路由表”空表项; “ ” (2)否则,满足如下条件下对已有表项进行更新: A:现有表项的信宿序列号<RREP分组中的信宿序列号; B: 现有的表项没有激活; C:信宿序列号相同,但RREP分组的“跳计数”值小于表项相对应 “ ” 的值,通过更新或创建,产生一个新的前向路径; (3)下一跳(forward pointer)= 广播RREP的邻居结点; (4)信宿序列号=RREP中的信宿序列号; (5)跳计数加1;
2.1 RREP的传播
RREP的传播 1)产生RREP的条件如上所述,RREP中的内容包括:跳计 数、信宿序列号、信宿地址、信源地址、生存时间等。结点通 过前面建立的反向路由反馈给源结点点,并且是以单播方式发 送; 2)转发RREP的中间结点f会更新路由表,记录转发路由的 下游结点D、跳数、生存时间、目的序列号等内容,并根据先前 记录的反向路由将RREP报文转发给上游结点e,直至源结点s; 3)源结点s收到RREP报文后,就获得了到目的结点D的路 由
2.2 RREP分组各字段设置如下
(1)信宿结点产生的RREP A:RREQ的信宿序列号=信宿维护的当前序列号? 是则信宿将自己维护的序列号加1 否则不变; B:RREP中的信宿序列号=信宿维护的序列号; C:跳计数=0; D:设置定时器值; (2)中间结点产生的RREP A:本结点所获取的该信宿的最大序列号; B:跳计数=本结点到信宿的跳数(查相应表项可得到); C:更新本结点维护的“前向路由表项”的下一跳和“反向路由表 “ ” “ 项”的前一跳; ”
