基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx

上传人:b****1 文档编号:5701249 上传时间:2023-05-05 格式:DOCX 页数:23 大小:289.41KB
下载 相关 举报
基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx_第1页
第1页 / 共23页
基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx_第2页
第2页 / 共23页
基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx_第3页
第3页 / 共23页
基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx_第4页
第4页 / 共23页
基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx_第5页
第5页 / 共23页
基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx_第6页
第6页 / 共23页
基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx_第7页
第7页 / 共23页
基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx_第8页
第8页 / 共23页
基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx_第9页
第9页 / 共23页
基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx_第10页
第10页 / 共23页
基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx_第11页
第11页 / 共23页
基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx_第12页
第12页 / 共23页
基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx_第13页
第13页 / 共23页
基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx_第14页
第14页 / 共23页
基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx_第15页
第15页 / 共23页
基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx_第16页
第16页 / 共23页
基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx_第17页
第17页 / 共23页
基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx_第18页
第18页 / 共23页
基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx_第19页
第19页 / 共23页
基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx

《基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx》由会员分享,可在线阅读,更多相关《基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx(23页珍藏版)》请在冰点文库上搜索。

基于matlab的ad hoc网络aodv协议的最小路由选择Word格式.docx

2.1.3RERR路由错误7

2.1.4RREP-ACK路由回复确认8

2.1.5Hello报文8

2.2单点路由的建立9

2.2.1路由发现9

2.2.2前向路径建立10

2.2.3路由保持10

第三章AODV的仿真及分析12

3.1仿真工具12

3.2仿真过程与分析12

3.2.1仿真过程相关分析13

结论16

致谢17

参考文献18

摘要

Adhoc网络是一种不需要任何通信基础设施的典型的自组织网络,它的研究目标是将数据分组交换技术引入到无线环境中,开发军用的无线数据分组网络。

随着Adhoc研究的深入,性能的不断完善以及其特有的优势,移动Adhoc的应用越来越普及,迅速的从军用领域渗透到相关领域。

而Adhoc网络的实现必须有一系列的规则来约束,由此,对其路由协议的研究成了网络研究者普遍的切入点,并从未中断过。

本文首先介绍了Adhoc网络与其路由协议AODV,然后通过MATLAB对该协议进行仿真,最终将其工作过程用实例表现出来,从建立移动节点到寻找最佳路径整个过程一目了然,使我们更快更好的了解和研究Adhoc网络的优缺点,以便于更好的运用Adhoc网络为我们服务。

关键词:

Adhoc网络分组交换AODVMATLAB仿真

MATLABisbasedontheminimumroutingprotocolAODVinAdHocNetworks

Abstract

Ad 

hocnetworkisa 

self-organizingnetwork 

whichdoesnotrequire 

anycommunicationinfrastructure,Theresearchgoalis 

the 

packetswitching 

technologyisintroducedtothewireless 

environment, 

wirelessdatanetwork 

developmentofmilitary.Withthe 

hoc 

study, 

theperformance 

ofcontinuousimprovementand 

itsuniqueadvantages, 

theapplicationismoreand 

morepopular 

inmobileAdhoc, 

rapid 

military 

fieldpenetrationtothe 

relatedfield.The 

implementationofAd 

hocnetwork 

musthaveaseriesofrules, 

therefore,theresearchonthe 

routingprotocol 

intoa 

networkofresearchers 

pointtogeneral, 

and 

hasneverbeeninterrupted.

ThispaperintroducesAd 

networkandits 

routingprotocolinAODV, 

andthen,simulating 

theprotocolbyMATLAB, 

theworkprocesswiththe 

example 

showneventually.Tofindthebest 

path 

inthewholeprocess 

fromtheestablishmentof 

themobilenodeto 

stickoutamile,thestrengthsandweaknessesweunderstandbetterandfastersothatAd 

networkcanbeusedofservingtous.

Keyword:

Ad 

hocnetworkPacketswitchingAODVMATLABsimulate

第一章绪论

1.1Adhoc网络

Ad Hoc网络是一种没有有线基础设施支持的移动网络,网络中的节点均由移动主机构成。

Ad Hoc网络最初应用于军事领域,它的研究起源于战场环境下分组无线网数据通信项目,该项目由DARPA资助,其后,又在1983年和1994年进行了抗毁可适应网络SURAN(SurvivableAdaptiveNetwork)和全球移动信息系统GloMo(Global InformationSystem)项目的研究。

由于无线通信和终端技术的不断发展,AdHoc网络在民用环境下也得到了发展,如需要在没有有线基础设施的地区进行临时通信时,可以很方便地通过搭建AdHoc网络实现。

1.1.1Adhoc网络的发展

移动Adhoc网络发展到现在已经有三四十年的历史了。

移动Adhoc网络的思想最早可以追溯到1968年的ALOHA网络。

其研究目标是实现夏威夷教育设备的无线动态连接。

受此思想的启发,DARPA在1973年开始研制分组无线网络。

其研究目标是将数据分组交换技术引入到无线环境中,开发军用的无线数据分组网络。

随着Adhoc研究的深入,性能的不断完善以及其特有的优势,移动Adhoc的应用越来越普及,迅速的从军用领域渗透到相关,而Adhoc网络的实现必须有一系列的规则来约束,由此,它的相关协议就显得极其重要,对于他的研究也未中断过。

1.1.2Adhoc网络的特点

1、灵活接入。

在不考虑网络安全性时仅需,节点仅需较少的的规划信息就可接入网络;

2、网络拓扑动态可变与可控

移动AdHoc网络支持节点任意移动、随意入网与退网,并且可通过特定的网络管理策略实现网络拓扑结构自组织维护与管理。

因此具有较强的抗毁性能,适用于军事行动场合,确保信息可靠传输;

3、动态多跳路由

移动AdHoc网络的节点地位平等,作为通信节点的目地时可充当路由器。

而且由于节点功率能量的限制,单个节点的覆盖范有限,超视距节点通信需要依靠多跳路由,即消息需要经过中间节点的的转发;

4、分层分布式管理

由于移动AdHoc网络拓扑的可变性、节点通信能量、覆盖范围的局限性,网络拓扑、路由等的管理呈现分层分布式的管理模式。

1.1.3Adhoc网络的应用

AdHoc网络的应用范围很广,总体上来说,它可以用于以下场合:

1.有线通信设施的地方,如没有建立硬件通信设施或有线通信设施遭受破坏。

2.需要分布式特性的网络通信环境。

3.现有有线通信设施不足,需要临时快速建立一个通信网络的环境。

4.作为生存性较强的后备网络。

1.2路由协议

路由协议作为影响网络性能的一个重要因素,是确保AdHoc网络正确运行的关键。

路由协议的主要作用是迅速准确地计算到达目的节点的路由,同时通过监控网络拓扑变化来更新和维护路由。

AdHoc网络中网络的拓扑结构是动态变化的,路由协议的周期性广播会涉及大量带宽和能量,对系统的性能起到决定性因素,因此,对路由协议的深入了解和分析至关重要。

1.2.1路由协议分类

目前提出的多种无线AdHoc网络路由协议(算法)大体可分为三类

先应式(Pro-active)算法:

又称为表驱动(table-driven)路由算法。

该算法将网络中每个结点当作一个独立主动的路由器进行全网络周期性的路由信息的广播和更新,每个结点需要维护一张完整的网络路由表,路由表项的内容包括目的结点、跳数、目的结点序号等。

每个结点周期性的与邻结点交换路由信息来更新自身的路由表,路由发现依据路由表来进行。

先应式算法的优点是通信时可以立即得到路由信息,缺点是当网络内结点发生变化时,必须重新交换路由信息以获得新路由的路径,这样增加了网络的负载,路由开销也随着网络的增大而越来越大。

其代表协议有DSDV、OL2SR等

按需求(On-demand)算法:

又称反应式路由算法。

无线网络当需要路由来传送数据包时才被动的进行路由发现,即结点仅构建和维护当前需要用来发送数据包的路由信息。

网络拓扑结构和路由表内容也是按需建立的,不需建立去往网络内各个结点的路径,因此不需要周期性的广播路由信息,节省了一定的网络资源。

按需求算法具有较小的通信控制(路由维护更新)开销,但在需要发送数据时,因没有通向目的结点的路由信息,要临时启动路由发现机制来寻找路由,这会带来一定的时延。

代表协议有AODV、DSR、DSRD、TORA协议等

混合式算法:

结合了先应式算法和按需求算法的优势。

该算法按区域将无线网络划分为几个逻辑子网,在逻辑子网内采用先应式的主动算法,在区域间采用按需求的被动算法,通过调节区域划分的大小和子网内结点数量以综合提高结点和无线网络的路由能力。

代表协议有ZRP协议等。

1.2.2AODV的基本介绍

路由请求(RREQ),路由回复(RREP)和路由错误(RERR)是AODV定义的三种消息种类。

这些消息通过UDP和通常的IP协议来接收。

举个例子,发起请求的节点需要用它自己的IP地址作为消息中的OriginatorIPaddress(发起者IP)。

对于广播,将采用IP协议指定的广播地址(255.255.255.255),这个地址意味着这种消息将不会被盲目转发。

但是,AODV操作确实要求特定的消息(例如RREQ)得到广泛的散布,甚至有可能散布至整个专有网络。

这些RREQ的散布的范围由IP头中的TTL来指定。

作为一个特点,将不会采用IP协议中的分片传输。

只要一条通道连接的两个端点都有通向对方的正确路由,AODV是工作的。

当某节点需要连接到一个新的目的节点时,它将广播一个RREQ(路由请求消息)来尝试找到一条到目的节点的路由。

如果RREQ消息到达目的节点,这条路由将被找到。

另外一种情况下,路由也可以找到,就是RREQ到达了一个中间节点,该中间节点拥有到目的节点的“足够新鲜”的路由。

“足够新鲜”的路由首先要是一条到目的地的正确路由,该路由还需要拥有一个足够大的序列号,该序号不能小于RREQ中的序列号。

当向发起RREQ的节点单播一个RREP后,这条路由就建立了。

所有接到请求的节点都会缓存一条回到发起节点的路由,所以RREP就可以通过单播从目的节点返回到发起节点,或者从一个能够找到目的节点的中间节点返回到发起节点。

节点将相邻节点(nexthops)的连接状态保存在活动路由表里(activeroutes)。

当活动路由表里有一条连接断开时,一条RERR消息(路由错误消息)将被用来通知其他节点发生了连接断裂。

RERR消息指出了不再能到达的目的节点(甚至是目的子网)。

为了实现这种报告机制,每个节点还要维护一个“先驱表”(precursorlist),表中包含了一些邻居的IP,这些邻居可能会将它用作达到目的地的下一跳节点。

先驱表里的信息可以很轻易的从回传RREP的过程中获得,因为按照定义,RREP就该是传往先驱节点的。

如果RREP有一个非零的前缀长度,那么RREQ的发起者将被包括在先驱表里作为子网的路由。

1.2.3AODV协议的性能

基于AODV路由协议工作原理的分析,其在网络使用中的性能如下]:

1.基于传统的距离向量路由机制思路简单易懂;

2.通过使用目的序列号有效地防止了循环的发生解决了传统的基于距离向量路由协议存在的无限计数问题,并且易于编程实现;

3.支持中间节点回答能使源节点快速获得路由,但存在过时路由问题;

4.快速响应活跃路径上断链,当链路失效能够被立即报告,这样路由可重新建立;

5.具有网络的可扩充性;

6.需要周期性地广播报文需要消耗一定的电池能源和网络带宽。

1.3本文的主要工作

主要是通过MATLAB软件完成Adhoc网络路由协议AODV的仿真。

首先建立随机路由节点,通过对节点速度、时间、运动范围、节点个数等参数的限制,再计算各个节点之间的距离,最终实现源节点到目的节点的最佳路由选择。

第二章AODV协议工作过程

2.1AODV路由协议分组格式

AODV路由协议通过路由消息传递信息,包含了路由请求RREQ(RouteRequest),路由回复RREP(RouteReply),路由错误RRER(RouteError)和路由回复确认RREP-ACK。

在网络节点在维护通信时,还应用了一种TTL=1的RREP消息,这种消息叫做Hello报文。

这些消息通过用户数据包协议(UDP,UserDatagramProtocol)和通常的IP协议来接收。

2.1.1RREQ路由请求

在AdHoc网络中,当一个节点无法找到一个可用路由到目的节点时,它将会利用广播RREQ消息来寻找建立路由通路。

路由请求消息的格式如表2-1所示。

类型

J

R

G

D

U

保留

跳数

RREQID路由请求消息标识

目标节点IP地址

目的节点序列号

源节点IP地址

源节点序列号

表2-1RREQ消息格式

路由请求消息的部分字段定义如下:

1.类型:

此字段值1;

2.J:

Joinflag加入标志,为多播保留;

3.R:

Repairflag修复标志,为多播保留;

4.G:

GratuitousRREPflag免费路由回复标志,指是否该向目标节点IP地址域指定的节点发送一个免费路由回复消息;

5.D:

Destinationonlyflag仅允许目的节点回复标志,标志置位则仅允许目的节点回复本条路由请求;

6.U:

Unknownsequencenumber未知序列号,指目标节点序列号未知;

7.保留:

发送时填充0,接收时忽略此字段;

8.跳数:

从发起节点到处理该请求的节点的跳数;

9.RREQID:

路由请求标识,这是一个序列号,用它和发起节点的IP就可以唯一标识一个RREQ信息。

2.1.2RREP路由回复

当节点需要对收到的RREQ消息进行回复时,节点将会根据收到的RREQ消息和路由表信息生成路由回复消息RREP,然后按查找相应的反向路由转发RREP。

路由回复消息的格式如表2-2所示。

A

前缀长度

目的节点IP地址

生命期

表2-2RREP消息格式

RREP路由回复消息部分字段解释如下:

此字段值2;

2.R:

Repairflag修复标志

3.A:

Acknowledgementrequired需要确认;

4.前缀长度:

非0代表下一跳节点可作任何具有相同路由前缀节点被请求时的目的节点;

5.保留:

6.生命期:

路由声明时间,单位为毫秒,在这段时间里,收到RREP的节点会认为这条路由是有效的。

2.1.3RERR路由错误

在Adhoc网络中,可能出现节点间因为某一节点退出网络、信息不可达或者路由信息与网络拓扑结构不符等情况,这时节点将会把路由的错误信息RERR发给相邻节点。

路由错误消息RERR的消息格式如表2-3所示。

N

不可达目的节点数

不可达目的节点IP地址

不可达目的节点序列号

附加不可达目的节点IP(ifneeded)

附加不可达目的节点序列号(ifneeded)

表2-3RERR消息格式

RERR路由请求消息的部分字段解释如下:

此字段置3;

2.N:

Nodeleteflag不比删除标志:

置位时上游节点就不删除此路由;

3.不可达目的节点数:

本消息包含的不可达目的节点的数目,必须至少为一;

4.保留:

发送时填充0,接收时忽略此字段。

2.1.4RREP-ACK路由回复确认

当目的节点成功收到RREP消息后,目的节点将会发送RREP-ACK消息确认路由回复,其消息格式如表2-4所示。

保留位

图2-4RREP-ACK消息格式

在路由回复确认消息中Type字段置位为4。

保留位在发送时填充0,节点接收时忽略此字段。

2.1.5Hello报文

在AODV路由协议维护整个网络连接情况时,节点利用周期性广播Hello报文来确定与邻居节点是否保持着连接,然后根据网络连接情况对路由进行建立或更新等维护。

Hello报文是TTL=1的RREP,因此Hello报文只能在相邻节点间传送。

对于Hello报文,设置字段“目的节点IP地址”和“目的节点序列号”为生成本报文的节点IP地址和序列号,跳数设置为0,其余字段无效。

2.2单点路由的建立

2.2.1路由发现

当一个节点要向某个目的地发数据包时,它先检查路由表,判断是否存在那个节点现成的路由。

如果有,就将数据包沿着这条路由向前传送到目的地如果没有就开始初始化路由发现过程。

首先,源节点构造一个RREQ(路由请求)包,包内含有源节点的IP地址和当前的序列号还有目的地的IP地址和最后得到的序列号,另外还有一个广播ID,它是随源节点每初始化一个RREQ就增加一次。

这样广播ID和源节点的IP地址组成了RREQ唯一的标识符。

RREQ构造完后,源节点广播数据包并开始计时等待答复、当一个节点收到RREQ时,首先检查源IP地址和广播ID是否见过任意规定的时间内,每个节点保存收到的RREQ里的源IP地址和广播ID的录.如果发现存在相目的IP地址和广播ID,将放奔数据包如果没有(RREQ第一次到达该节点).将记录源IP地址和广播ID,向前传数据包。

传递RREQ的过程,节点路由表中为源节点建立一个相反路由入口。

这个相反路由入口包含源节点的IP地址和序列号,还有到源节点的跳数和收到RREQ的邻点IP地址。

这样,对f收到RREQ的节点知道怎样把RREP(路由应答)传回源节点图1表示RREQ任网络的传播和相反路由入口在每个节点的构成。

相反路由入口有它的生命期。

如果路由入口扯规定的时间末使用,删除这条路由信息,防止旧路由在路由表中拖延。

如果RREQ丢失,源节点再来一次路由发现过程。

RREQ重发尝试失败后,必须告知不能到达目的地,如图三所示

2.2.2前向路径建立

当一个点确定它有一条响应RREQ的路由时,它就构造RREP.为了响应RREQ,如果一条路由带有的序列号不小于RREQ里的序列号,我们认为这条路由是通的,发送答复RREQ的RREP包含源、目的地节点的IP地址。

如果目的地开始响应,它将当目的序列号放入数据包中,初始化跳数为0,把路由有效时时间长度放入RREP的生命期字段中。

但是,如果是中间是一个节点响应,它将目的地序列号的记录放入数据包中,跳数为自到目的地的距离,并且计算自己关于目的地的路由表入口仍然有效的时间。

然后,它将通过使用已收到RREQ的节点作为下一跳,单点传送RREP到源节点,当中间的节点收到RREP时,它任路由表中建一个到目的地的前向路径入口。

这个入口包含目的地IP地址,RREP要去的邻点IP地址,跳数或是到目的地的距离。

为了得到它到目的地的距离,节点将跳数字段的值+1。

还有这个入口有RREP设置的生命期。

每当路由使用时,相应的生命期就更新。

如住规定的时间内仍未使用,将其删除。

RREP传递结束时,节点就将RREP传给源节点,如图四所示

2.2.3路由保持

一旦指定的源/目的地间发现一条路由,这条路由会在源需要时一直保持。

AdHoc网络中节点的移动只会影响包含这些移动节点的路由,这样的路径称为激活路径。

不是沿着激活路径上的移动不会触发任何协议的变化如果源节点在激活期内移动,它会重新开始路由发现并建立新的路由但是,当目的地或中间的某一点移动时.一个路由错误消息RERR被发送到受影响的源节点。

RERR由中断的节点上游点(最靠近源的)发起.由于连接的损失上游点列出现今每个无法到达的目的地。

如果上游点列出的不止一个先导的点(任它前一跳收到RREQ的点),则上游点广播RERR到这些邻近的点。

当这些邻点收到RERR时,它们令到目的地的距离=∞来标记这些路由无效。

并依次广播RERR给它们的先导点,如果这些先导点也是那些邻点路由表中可以到达目的地的点。

当源节点收到RERR开始重新路由发现。

如图五所示

第三章AODV的仿真及分析

3.1仿真工具

本文在对AODV路由协议仿真中,选用MATLAB作为仿真软件,该软件主要用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分,该部分只用到了MATLAB。

MATLAB是目前应用最为广泛的三大数学软件之一。

之所以采用该软件是因为它有以下优点:

1.高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;

2.具有完备的图形处理功能,实现计算结果和编程的可视化;

3.友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;

4.功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等),为用户提供了大量方便实用的处理工具。

3.2仿真过程与分析

在仿真过程中,需要建立相应节点移动场景,节点以什么样的方式进行运动,以多大的速度游走,在什么范围内游走,相邻节点之间的距离,游走时间等等都是随机的,因而可以保证RandomWalk移动模型是正确的,而不是人为设定的,这与现实情况基本吻合。

在该过程中通过设定节点个数,最大最小速度,最大最小运动时间得到不同的随机移动模型。

模型建立以后就是寻找路径了,由于起始节点与源节点的不确定性,我们通过设定多组始末节点的ID得到不同的路径。

该路由过程并不是完全依照AODV寻找路由的方法来的,而只是实现了该过程中最重要的,同时也是最经常用到的部分。

AODV协议并不是一开始就直接发送路由请求消息RREP,而是先查看是否有源节点到目的节点的现成的路由,如果有就直接沿着该路由发送数据包,若没有现成的路由,源节点才会发送RREP路由请求消息寻找新的路由。

后续过程就是第二章介绍的内容了。

3.2.1仿真过程相关分析

固定设置xmin=0;

xmax=1000;

tmin=1;

tmax=10;

ymax=1000;

ymin=0;

vmax=20;

vmin=5;

Ø

当节点个数n=10或20时的随机游走模型

如图六所示,随机游走模型分析如下:

1、节点个数的选取并不是任意的,要考虑到现实中

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2