aodv路由协议分析

分类: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。

AODV相关路由协议详情学习

AODV相关路由协议学习 1:AODV路由协议工作原理 AODV路由协议是一种经典的按需路由协议,它只在两个节点需要进行通信且源节点没有到达目的节点的路由时,才会进行路由发现过程。AODV采用的是广播式路由发现机制,当源节点想与另一节点进行通信时,源节点会首先查询自己的路由表中是否存在有到达目的节点的路由有效信息。如果包含有目的节点的有效信息,则源节点就会将数据包传送到目的节点的下一跳节点;如果缺失目的节点的有效的信息,则源节点会启动路径请求程序,同时广播RREQ控制包。 而下一跳节点在接收到RREQ报文时,如果该节点是目的节点,又或者该节点路由表中存放有到达目的节点的可行路径信息,则会向源节点回复路由响应报文CRREP。否则就记录相关信息,用于建立一个反向路径,让目的节点的RREP遵循此路径返回源节点,同时将RREQ报文中的跳数字段值加1,并向该节点的邻居节点转发RREQ报文。这样经过若干中间节点转发最后到达目的节点,确认路由建立。 路由表项建立以后,路由中的每个节点都要执行路由维持和管理路由表的任务。如果由于中间节点的移动而导致路由失效,则检测到路由断链的节点就会向上游节点发送路由出错报文RRER,而收到出错报文RRER的节点则会直接发出RREQ来进行路径请求,如果能在规定好的时间找到目的节点的路径,则表示路由成功 1.2存在的问题 传统的AODV采用基本的路由发现算法来建立从源节点到目的节

点的路由时,路由选择是选择最短路径路由,即选择最小跳数的路由,这样就忽略了每两点之间的传输能力,从而导致产生整条链路吞吐量低、路由不稳定、线路拥塞、延迟甚至数据丢失等严重问题。 2最大路由速率的AODV协议的提出【基于最大路由速率的AODV协议优化研究与实现---罗泽、吴谨绎、吴舒辞】 2.1基本思想 针对传统AODV路由协存在的问题,提出了一种基于最大传输速率(路由速率=路由速率之和/路由跳数)的改进方案,其基本思想是:用户确定一个期望速率,源节点在进行路由发现时比较收到的各条路由的实测速率,选择一条速率最大的路由作为路由,在源节点使用当前路由发送数据的过程中,源节点每隔一段时间发出RREQ报文,以便查找到可能存在的更好的路由,如果发现一条速率更高的路由且该路由速率大于期望速率,则执行路由切换,改用新路由。

推荐-常用动态路由协议安全性分析及应用

常用动态路由协议安全性分析及应用 【摘要】路由器寻找的最佳路径是路由协议,它能保持各个路由器间的路由表相同,实现各个路由器间的相互连通,且在网络间传递数据包。可见,动态路由协议是借助路由器间的信息传递,计算、更新网络结构。但在此过程中,存在一定弊端影响常用动态路由器安全性。现就BGP、OSFP 和RIP V2三种常用的动态路由协议安全性进行分析,并总结其应用。 【关键词】动态路由安全性应用 连接网络的重要硬件设备,是路由器,它可以实现数据包的传递。而动态路由协议指的是路由器表的更新过程,它能够满足网络结构变化的需求。常用的动态路由分为三种,分别为BGP协议、OSPF协议和RIP V2协议。如果在数据包传递过程中,协议出现漏洞,那么容易被人利用,给网络安全造成严重影响。所以,分析常用动态路由协议安全性显得尤为重要。 一、常用动态路由协议安全性分析 1.1 BGP协议安全性 多个相互连接的商业网络共同组成了Internet。各个ISP或企业网络,需要定义一个自治系统号,即ASN,它们

的分配由IANA完成[1]。自治系统号共有65535个,其中私用保留的为65512―65535。路由信息在共享状态下,此号码的维护方式可以采取层的方式。BGP采用会话管理,其中TCP 的179端口可起到触发作用,使Keepalive和update信息被触发,且累及其邻居,从而更新和传播BGP路由表。 然而,因BGP的传输方式以TCP为主,那么容易导致BGP 出现关于TCP的诸多问题,例如拒绝服务攻击,预测序列号,SYN Flood攻击等。BGP主要是利用TCP的序列号,未使用自身的序列号。所以,一旦设备应用可预测序列号,就容易受到该类型攻击。在Internet中运行的大部分路由器都采用了Cisco设备,没有采用预测序列号方案,这就降低了受到攻击的风险。一些BGP在默认状态下,未采用相关的认证机制,有些BGP继续沿用明文密码,这样,大大增加了受到攻击的可能性。 实际应用BGP协议时,还会受到伪造报文攻击等其他攻击。但通常情况下,BGP主要在核心网的出口应用,且配置密码认证,因此,BGP协议的安全性相对较高。 1.2 OSPF协议安全性 复杂是OSPF运行机制的主要特征,运行中的诸多环节都有可能受到攻击者的攻击,给OSPF带来不同程度伤害。攻击方式分为以下几种。一是资源消耗攻击。将不同类型的OSPF报文不间断大量发送,这样极易导致攻击实体资源枯

常用路由协议的分析及比较

路由分为静态路由和动态路由,其相应的路由表称为静态路由表和动态路由表。静态路由表由网络管理员在系统安装时根据网络的配置情况预先设定,网络结构发生变化后由网络管理员手工修改路由表。动态路由随网络运行情况的变化而变化,路由器根据路由协议提供的功能自动计算数据传输的最佳路径,由此得到动态路由表。 根据路由算法 动态路由协议可分为距离向量路由协议(Distance V ector Routing Protocol)和链路状态路由协议(Link State Routing Protocol)。距离向量路由协议基于Bellman-Ford算法,主要有RIP、IGRP(IGRP为Cisco公司的私有协议);链路状态路由协议基于图论中非常著名的Dijkstra 算法,即最短优先路径(Shortest Path First,SPF)算法,如OSPF。在距离向量路由协议中,路由器将部分或全部的路由表传递给与其相邻的路由器;而在链路状态路由协议中,路由器将链路状态信息传递给在同一区域内的所有路由器。 根据路由器在自治系统(AS)中的位置 可将路由协议分为内部网关协议(Interior Gateway Protocol,IGP)和外部网关协议(External Gateway Protocol,EGP,也叫域间路由协议)。域间路由协议有两种:外部网关协议(EGP)和边界网关协议(BGP)。EGP是为一个简单的树型拓扑结构而设计的,在处理选路循环和设置选路策略时,具有明显的缺点,目前已被BGP代替。 EIGRP是Cisco公司的私有协议,是一种混合协议,它既有距离向量路由协议的特点,同时又继承了链路状态路由协议的优点。各种路由协议各有特点,适合不同类型的网络。下面分别加以阐述。 2 静态路由 静态路由表在开始选择路由之前就被网络管理员建立,并且只能由网络管理员更改,所以只适于网络传输状态比较简单的环境。静态路由具有以下特点: ·静态路由无需进行路由交换,因此节省网络的带宽、CPU的利用率和路由器的内存。 ·静态路由具有更高的安全性。在使用静态路由的网络中,所有要连到网络上的路由器都需在邻接路由器上设置其相应的路由。因此,在某种程度上提高了网络的安全性。 ·有的情况下必须使用静态路由,如DDR、使用NA T技术的网络环境。 静态路由具有以下缺点: ·管理者必须真正理解网络的拓扑并正确配置路由。 ·网络的扩展性能差。如果要在网络上增加一个网络,管理者必须在所有路由器上加一条路由。 ·配置烦琐,特别是当需要跨越几台路由器通信时,其路由配置更为复杂。 3 动态路由

无线传感网路由协议的分析比较

无线传感网路由协议的分析比较 无线传感网技术是对当今经济和社会进步发挥重要作用的技术,对于现代军事、信息技术、制造业等多个重要的领域产生着巨大的影响。而无线路由协议则是无线传感网研究中的热点问题。文章对于几个典型的平面路由协议和分层路由协议进行了介绍,分析了它们各自的利弊,并对它们进行了比较。 标签:无线传感网;路由协议;传感器节点 1 无线传感网概述 无线网络即使用无线传输介质的网络。目前有两种无线网络,基础设施网络和对等网络。基础设施网络的无线终端需要配置无线网卡,并通过接入点(AP)连接入网。对等网络即Ad hoc网络,不需要AP的支持,终端设备之间可以直接通信。无线Ad hoc网络又可分为两类,移动Ad hoc网络和无线传感器网络。前者的终端是快速移动的,后者的结点是静止的或者移动很慢。 无线传感网由大量的静止或移动的传感器组成,它们以自组织和多跳的方式构成无线网络,相互协作以探测、处理和传输网络覆盖区域内感知对象的监测信息,并报告给用户。无线传感器网络技术在军事应用、智能家居、环境监测、建筑物质量监控、医疗护理等各个方面都有广泛应用[1]。 无线传感网的系统结构包括监测区域(Sensor Field)、传感器节点(Sensor Node)和汇聚节点(Sink Node)[2]。监测区域中包含了各种需要采集数据的观察对象;传感器节点用于采集观察对象的相关数据,并将处理后数据传给汇聚节点;汇聚节点用于收集由传感器节点传递来数据,并将数据传送到远程中心进行集中处理。 2 无线路由协议 无线路由协议是无线传感网研究中的热点问题。无线传感网的路由协议负责在源节点和目的节点之间可靠地传输数据,包括路由选择和数据转发两个功能。根据网络的拓扑结构是否有层次,可以将路由无线路由协议分为平面路由协议和分层路由协议[3]。 2.1 平面路由协议 平面路由协议适用于具有平面结构的网络,所有节点之间地位平等,协议相对简单。源节点和目的节点之间一般存在多条路径,可共同承担网络负荷,通常不存在瓶颈,网络具有较强的健壮性。然而,节点的组织、路由的建立、控制与维持所产生的开销需要占用较大的带宽,从而影响网络数据的传输速率。另外,当网络规模较大时需要损耗很大的能量,并且网络的可扩展性较差。因此,平面路由协议只适用于规模较小的网络。

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 报文的“跳计数”值小于表项相对应的值;通过更新或创建,产生一个新的前向路由。

实验四:ARP分析及路由协议分析解析

??计算机网络实验与学习指导基于Cisco Packet Tracer模拟器 计算机科学与技术学院计算机网络实验报告 年级2013 学号2013434151 姓名汪凡成绩 专业计算机科学与技术实验地点C1-422 指导教师常卓 实验项目实验3.3:ARP分析实验3.5:路由协议分析实验日期2016/5/6 实验3.3:ARP分析 一、实验目的 1.掌握基本的ARP命令。 2.熟悉ARP报文格式和数据封装方式。 3.理解ARP的工作原理。 二、实验原理 (1)ARP简介 1.什么是ARP ARP,即地址解析协议。TCP/IP网络使用ARP实现IP地址到MAC地址的动态解析。网络层使用逻辑地址(IP地址)作为互联网的编址方案,但实际的物理网络(以太网)采用硬件地址(MAC地址)来唯一识别设备。因此在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址(MAC地址)。 ①ARP工作原理 每个主机和路由器的内存中都设有一个ARP高速缓存,用于存放其他设备的IP地址到物理地址的映射表。当主机欲向本局域网上其他主机发送IP包时,先在本地ARP缓存中查看是否有对方的MAC地址信息。如果没有,则ARP会在网络中广播一个ARP请求,拥有该目标IP地址的设备将自动发回一个ARP回应,对应的MAC地址将记录到主机的ARP缓存中。考虑到一个网络可能经常有设备动态加入或者撤出,并且更换设备的网卡或IP地址也都会引起主机地址映射发生变化,因此,ARP缓存定时器将会删除在指定时间段内未使用的ARP条目,具体时间因设备而异。例如,有些Windows操作系统存储ARP缓存条目的时间为2mim但如果该条目在这段时间内被再次使用,其ARP定时器将延长至lOmin。ARP缓存可以提高工作效率。如果没有缓存,每当有数据帧进入网络时,ARP都必须不断请求地址转换,这样会延长通信

实训四 用wireshark路由协议分析

计算机学院网络工程2013(3)班 实训四利用WireShark分析路由协议 一、实训目的 1.通过分析RIP、OSPF、EIGPR、BGP数据包,了解各种路由协议的工作过程。 二、实训设备 1.接入Internet的计算机主机; 2.抓包工具WireShark。 三、实训内容 一、RIP包分析实验 网络拓扑图: 1.启动WireShark,打开rip1.cap。 2.过滤器设置为“rip”,分析RIP数据包。 说明: R1:Serial1/0:192.168.1.1; R2:Serial1/0:192.168.1.2;Serial1/1:192.168.2.1; R3:Serial1/0:192.168.2.2 三台路由器均配置router rip; version 2; R1宣告网络network 192.168.1.0 R2宣告网络network 192.168.1.0,192.168.2.0 R3宣告网络network 192.168.2.0 两个数据包: R1_s10_to_R2_s10.cap:R1-Serial1/0到R2-Serial1/0线路上的数据包;

R2_s11_to_R3_s10.cap:R2-Serial1/1到R3-Serial1/0线路上的数据包。 抓包过程:三个路由器正常运行约1分钟后断开R1电源约2分钟,然后再打开R1电源。 问题1:查看RIP请求包和响应包的运输层协议是UDP 还是 TCP? 答:UDP 问题2:正常情况下路由器RIP响应包多长时间发出一次?其中包含什么内容?答:30秒左右

问题3:RIP响应包中Metric为16代表什么意思? 答:默认15为最大跳数,16跳数不可达 问题4:通常RIP请求包是如何触发的? 答:路由表发生变化,路由器随之发送更新信息 问题5:描述重新启动R1电源后,R1路由表的变化过程。 答:路由表更新,然后回复原来的表 问题6:简述RIP路由协议。 答:路由信息协议(RIP)是内部网关协议IGP中最先得到广泛使用的协议。RIP 是一种分布式的基于距离矢量的路由选择协议,是因特网的标准协议。RIP 主要有以下特征:RIP 是一种距离矢量路由协议;RIP 使用跳数作为路径选择的唯一度量;将跳数超过 15 的路由通告为不可达;每 30 秒广播一次消息。 二、OSPF包分析实验 网络拓扑图:

AODV路由协议分析研究

西南交通大学 本科毕业设计(论文) AD HOC网络中AOD\路由协议分析THEANAL YSISOFAODXROUTINGPROTOCOL IN AD HOC NETWORK 年级2008 级 学号__________________ 姓名__________________ 专业通信工程 指导老师___________________

2012年6月 承诺 本人郑重承诺:所呈交的设计(论文)是本人在导师的指导下独立进行设计(研究)所取得的成果,除文中特别加以标注引用的内容外,本文不包含任何其他个人或集体已经发表或撰写的设计(研究)成果。对本设计(研究)做出贡献的个人和集体,均已在文中以明确方式标明' 如被发现设计(论文)中存在抄袭、造假等学术不端行为,本人愿承担—切后果。 学生签名: 年月日

院系计算机与通信工程系_________ 专业通信工程 ____________________ 年级2008 级 ________________________ 姓名____________________________________ 题目Ad hoc 网络中AODV路由协议分析______________________________ 指导教师 评语 ________________________________________________________________________ 指导教师(签章) 评阅人 评语 评阅人(签章)成绩____________________________ 答辩委员会主任_______ (____ 签章)

AODV路由协议中文说明

内容目录 1导言 (3) 2概述 (4) 3AODV术语 (5) 4适用性综述 (7) 5消息格式 (8) 6AODV操作 (13) 管理序列号 (13) 路由表项和先驱列表 (15) 生成路由请求 (16) 控制路由请求消息的传播 (17) 处理和转发路由请求 (18) 生成路由回复 (20) 接受和转发路由回复 (22) 对单向连接的操作 (23) Hello消息 (24) 维护本地连接 (25) 路由错误,路由超时和路由删除 (26) 本地修复 (28) 重启后的操作 (30) 接口 (31) 7AODV和集群网络 (31) 8AODV在其他网络中的应用 (32) 9扩展 (34) 10参数配置 (35)

网络组诺基亚研发中心 C. Perkins RFC:3561加州大学圣芭芭拉分校 E. Belding-Royer 类别:试验版辛辛那提大学 S. Das 2003年7月 Ad hoc网络中基于距离数组的按需(AODV)路由协议 本备忘状态 本备忘定义的只是一个试验性质的网络社区协议而已,它不是任何一种类型的网络标准。我们非常需要各种讨论和建议用于改进这个协议。本备忘录的分发不受任何限制。 版权声明 复制权属于整个因特网社区,保留所有权利。 摘要 本协议用于特定网络中的可移动节点。它能在动态变化的点对点网络中确定一条到目的地的路由,并且具有接入速度快,计算量小,内存占用低,网络负荷轻等特点。它采用目的序列号来确保在任何时候都不会出现回环(甚至在路由控制信息出现异常的时候也是如此),避免了传统的距离数组协议中会出现的很多问题(比如无穷计数问题)。 目录

AODV相关路由协议学习

AODV相关路由协议学习 1: AODV路由协议工作原理 AODV路由协议是一种经典的按需路由协议,它只在两个节点需要进行通信且源节点没有到达目的节点的路由时,才会进行路由发现过程。AODV 采用的是广播式路由发现机制,当源节点想与另一节点进行通信时,源节点会首先查询自己的路由表中是否存在有到达目的节点的路由有效信息。如果包含有目的节点的有效信息,则源节点就会将数据包传送到目的节点的下一跳节点;如果缺失目的节点的有效的信息,则源节点会启动路径请求程序,同时广播RREQ空制包。 而下一跳节点在接收到RREC报报文时,如果该节点是目的节点,又或者该节点路由表中存放有到达目的节点的可行路径信息,贝S会向源节点回复路由响应报文CRREP否则就记录相关信息,用于建立一个反向路径,让目的节点的RREP遵循此路径返回源节点,同时将RREC报文中的跳数字段值加1,并向该节点的邻居节点转发RREC报 文。这样经过若干中间节点转发最后到达目的节点,确认路由建立。 路由表项建立以后,路由中的每个节点都要执行路由维持和管理路由表的任务。如果由于中间节点的移动而导致路由失效,则检测到路由断链的节点就会向上游节点发送路由出错报文RRER而收到出错报文RRER的节点则会直接发出RREQ来进行路径请求,如果能在规定好的时间内找到目的节点的路径,则表示路由成功 1.2存在的问题 传统的AODV采用基本的路由发现算法来建立从源节点到目的节

点的路由时,路由选择是选择最短路径路由,即选择最小跳数的路由,这样就忽略了每两点之间的传输能力,从而导致产生整条链路吞吐量低、路由不稳定、线路拥塞、延迟甚至数据丢失等严重问题。 2最大路由速率的AODV协议的提出【基于最大路由速率的AODV协议优化研究与实现---罗泽、吴谨绎、吴舒辞】 2.1基本思想 针对传统AODV路由协存在的问题,提出了一种基于最大传输速率(路由速率二路由速率之和/路由跳数)的改进方案,其基本思想是:用户确定一个期望速率,源节点在进行路由发现时比较收到的各条路由的实测速率,选择一条速率最大的路由作为路由,在源节点使用当前路由发送数据的过程中,源节点每隔一段时间发出RREQ报文,以便查找到可能存在的更好的路由,如果发现一条速率更高的路由且该路由速率大于期望速率,则执行路由切换,改用新路由。

常用动态路由协议安全性分析

题目常用动态路由协议安全性分析 声明 本人郑重声明:所呈交的毕业论文,是本人在指导教师的指导下,独立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的科研成果,也不包含为获得其他教育机构的学位或证书而使用过的材料。我承诺,论文中的所有内容均真实、可信。本论文的成果属于云南警官学院所有。 论文(设计)作者签名:李世悦

2016年6 月15 日

目录 第一章前言 (4) 第二章路由器 (5) 2.1路由器的概念.............................. 错误!未定义书签。 2.2路由器的作用和功能......................... 错误!未定义书签。第三章动态路由概述 ............................ 错误!未定义书签。第四章RIP OSPF BGP-4三个协议的使用情况....... 错误!未定义书签。 4.1路由信息协议RIP........................... 错误!未定义书签。 4.2OSPF协议.................................. 错误!未定义书签。 4.3BGP-4协议................................. 错误!未定义书签。第五章安全性分析.............................. 错误!未定义书签。 5.1RIP协议的安全性分析........................ 错误!未定义书签。 5.2OSPF协议的安全性分析....................... 错误!未定义书签。 5.3BGP-4协议的安全性分析...................... 错误!未定义书签。第六章总结..................................... 错误!未定义书签。小结.......................................... 错误!未定义书签。致谢. (14) 常用动态路由协议安全性分析 计算机科学专业与技术

BGP路由协议详解(完整篇)

BGP路由协议详解 制作人:张选波 二〇〇九年六月二十二日

一、BGP的概况 BGP最新的版本是BGP第4版本(BGP4),它是在RFC4271中定义的;一个路由器只能属于一个AS。AS的范围从1-65535(64512-65535是私有AS号),RFC1930提供了AS 号使用指南。 BGP的主旨是提供一种域间路由选择系统,确保自主系统只能够无环地交换路由选择信息,BGP路由器交换有关前往目标网络的路径信息。 BGP是一种基于策略的路由选择协议,BGP在确定最佳路径时考虑的不是速度,而是让AS能够根据多种BGP属性来控制数据流的传输。 1、BGP的特性 BGP将传输控制协议(TCP)用作其传输协议。是可靠传输,运行在TCP的179端口上(目的端口) 由于传输是可靠的,所以BGP0使用增量更新,在可靠的链路上不需要使用定期更新,所以BGP使用触发更新。 类似于OSPF和ISIS路由协议的Hello报文,BGP使用keepalive周期性地发送存活消息(60s)(维持邻居关系)。 BGP在接收更新分组的时候,TCP使用滑动窗口,接收方在发送方窗口达到一半的时候进行确定,不同于OSPF等路由协议使用1-to-1窗口。 丰富的属性值 可以组建可扩展的巨大的网络 2、BGP的三张表 邻居关系表 ?所有BGP邻居 转发数据库 ?记录每个邻居的网络 ?包含多条路径去往同一目的地,通过不同属性判断最好路径 ?数据库包括BGP属性 路由表 ?最佳路径放入路由表中 ?EBGP路由(从外部AS获悉的BGP路由)的管理距离为20 ?IBGP路由(从AS系统获悉的路由)管理距离为200 如下图所示。

OSPF协议详解分析

OSPF 学习笔记 OSPF 协议号是89,也就是说在ip 包的protocol 中是89,用ip 包来传送 数据包格式: 在OSPF 路由协议的数据包中,其数据包头长为24 个字节,包含如下8 个字段: * Version number-定义所采用的OSPF 路由协议的版本。 * Type-定义OSPF 数据包类型。OSPF 数据包共有五种: * Hello-用于建立和维护相邻的两个OSPF 路由器的关系,该数据包是周期性地发送的。 * Database Description-用于描述整个数据库,该数据包仅在OSPF 初始化时发送。 * Link state request-用于向相邻的OSPF 路由器请求部分或全部的数据,这种数据包是在当路由器发现其数据已经过期时才发送的。 * Link state update-这是对link state 请求数据包的响应,即通常所说的LSA 数据包。 * Link state acknowledgment-是对LSA 数据包的响应。 * Packet length-定义整个数据包的长度。 * Router ID-用于描述数据包的源地址,以IP 地址来表示,32bit * Area ID-用于区分OSPF 数据包属于的区域号,所有的OSPF 数据包都属于一个特定 的OSPF 区域。 * Checksum-校验位,用于标记数据包在传递时有无误码。 * Authentication type-定义OSPF 验证类型。 * Authentication-包含OSPF 验证信息,长为8 个字节。 FDDI 或快速以太网的Cost 为1,2M 串行链路的Cost 为48,10M 以太网的Cost 为10 等。 所有路由器会通过一种被称为刷新(Flooding)的方法来交换链路状态数据。Flooding 是指路由器将其LSA 数据包传送给所有与其相邻的OSPF 路由器,相邻路由器根据其接收到的链路状态信息更新自己的数据库,并将该链路状态信息转送给与其相邻的路由器,直至稳定的一个过程。当路由器有了一个完整的链路状态数据库时,它就准备好要创建它的路由表以便能够转发数据流。CISCO 路由器上缺省的开销度量是基于网络介质的带宽。要计算到达目的地的最低开销,链路状态型路由选择协议(比如OSPF)采用Dijkstra 算法,OSPF 路由表中最多保存6 条等开销路由条目以进行负载均衡,可以通过"maximum-paths" 进行配置。如果链路上出现fapping 翻转,就会使路由器不停的计算一个新的路由表,就可能导致路由器不能收敛。路由器要重新计算客观存它的路由表之前先等一段落时间,缺省值为5 秒。在CISCO 配置命令中"timers spf spf-delay spy-holdtime" 可以对两次连续SPF 计算之间的最短时间(缺省值10 秒)进配置。 路由器初始化时Hello 包是用224.0.0.5 广播给域内所有OSPF 路由器,选出DR 后在用224.0.0.6 和DR,BDR 建立邻接。DR 用224.0.0.5 广播给DRother LSA BDR 也是 DRother 用224.0.0.6 广播LSA 给DR 和BDR DR 是在一个以太网段内选举出来的,如果一个路由器有多个以太网段那么将会有多个DR 选举;DR 的选择是通过OSPF 的Hello 数据包来完成的,在OSPF 路由协议初始化的过程中,会通过Hello 数据包在一个广播性网段上选出一个ID 最大的路由器作为指定

aodv路由协议分析

分类: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.更新本结点维护的“前向路由表项”的下一跳和“反向路由表项”的前一跳

路由协议

路由协议DSR_AODV_DSDV [Dynamic Source Routing,动态源路由协议] ●当节点S需要向节点D发送数据的时候,而此时节点S并不知道通往节点D的路径, 此时,节点S便启动路由发现过程 ——DSR协议为反应式(Reactive)路由协议 ●源节点广播Route Request路由请求消息(RREQ消息) ●每个节点均在其向前发送的RREQ消息上附加自己唯一的标识符 [动态源路由协议的路由发现过程] [X,Y]表示附加到RREQ消息上的标识符列表

●如图,节点H同时接收到来自两个相邻节点的RREQ消息:有潜在消息冲突的可能 ●节点C收到来自G和H两个相邻节点发送来的RREQ消息,但C并不再向前发送该消息, 因为节点C已经向前发送过一次RREQ消息

●节点J与节点K均向节点D发送了RREQ消息 ●由于J和K均不知道对方存在,彼此之间是隐藏的,因此这两个节点所发送的消息存 在冲突的可能 ●节点D不再向前发送RREQ消息,因为节点D便是整个路由发现过程的终点目标 ●当目的节点D接到第一个RREQ消息的时候,便往回发送一个Route Reply路由应答消 息(RREP消息) ●RREP消息经由反向路径回传,(反向路径就是和RREQ消息到达路径相反的路径) ●RREP消息当中包含了由S到D的路径,而这条路径就是源节点S所发送的RREQ消息所 确定的 [动态源路由协议的路由应答过程]

●当源节点S接收到RREP消息的时候,它便将RREP消息中所记录的路径缓存起来 ●当源节点S发送数据到目的节点D时,数据分组的首部将包含整个路径的信息,这也是 该算法命名为“源路由”的缘由 ●中间节点使用数据分组中首部包含的“源路由”信息了来决定抵达该节点的数据应该转 发的方向 [动态源路由协议的数据投递过程] [动态源路由协议优化——路径缓存] ●每个节点将通过任何可能的方式所获得的新路径缓存起来 ●当节点S发现一条可以通往节点D的路径[S,E,F,J,D]时,它同样知道有一条可以到达 节点F的路径[S,E,F] ●当节点K接收到路由请求消息Route Request RREQ[S,C,G]后,节点K则同样知道经过 路径[K,G,C,S]可以到达节点S ●当节点F向前传递路由应答消息Route Reply RREP[S,E,F,J,D]时,节点F则可以知道 经过路径[F,J,D]可以到达节点D ●当节点E经过路径Data [S,E,F,J,D]发送数据分组的时候,它则知道它自身可通过路 径[E,F,J,D]可以到达节点D ●一个节点无意中听到其他节点的通信消息的时候,它则将缓存其中它自己所不知道的路 由 ●存在问题:一些陈旧的路由缓存对于系统的开销是一种负担 [动态源路由协议的优点] ●只维持需要通信节点之间的路径——可以减少路由保持对于系统的开销 ●路由缓存机制可进一步减少路由发现过程的开销 ●一次简单的路由发现过程可能产生许多通往同一节点的路径,由于中间很可能用以前的 缓存记录对路由发现消息进行应答

相关文档
最新文档