无线网络技术大作业.docx
- 文档编号:29742976
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:20
- 大小:406.53KB
无线网络技术大作业.docx
《无线网络技术大作业.docx》由会员分享,可在线阅读,更多相关《无线网络技术大作业.docx(20页珍藏版)》请在冰豆网上搜索。
无线网络技术大作业
AODV路由协议在车载无线网络中的应用
1.车载无线网络概述
1.1车载网络的情况介绍
随着时代的发展和社会的进步,私有小汽车的数量也越来越多,在汽车产业蓬勃发展的今天,人们对于车的需求也不仅仅在于性价比和安全性,还有智能性和科技感。
于是智能交通系统(ITS)应运而生,这是一个包含着交通管理、计算机技术、通信技术、传感器技术和卫星定位技术于一体的全方面智能系统。
在ITS中,有各种各样的高新技术,可如何将各种各样的信息实时传入系统则是ITS系统实现的前提条件,于是,车载自组织网络(VANET)出现了,这个技术包括了各项用于实现汽车的实时通信的技术,通过安装在汽车上的传感器,天线等通信设备来实现车与车,车与人和车与环境之间的信息交互,来实现汽车的实时信息化,缓解交通问题和交通安全,提高效率。
随着VANET的研究越来越深,技术的进展也越来越快,相关的组织还制定了一些专用于VANET的通信标准和协议栈以满足VANET通信的要求。
特别是在VANET的关键技术路由协议中,各国的专家学者通过研究车辆的速度快慢、网络拓扑无中心、车辆受环境道路的影响等因素会影响通信网络中链路的稳定性和路由协议的工作效率,来满足VANET的低时延高效率通信。
这对ITS的发展有着特别高的影响。
1.2国内外的相关研究情况
不管是国内还是国外,对于ITS的研究发展都是非常重视的,在国外,VANET的研究已经比较完善了,比如日本的VICS系统,以各个地区的交通部门数据库为基础,实时收集各道路的交通信息,通过无线电设备来发送给每一个需要通过该道路的汽车,实现了智能交通的信息服务和管理;在美国,最大的汽车生产商通用汽车公司研发了一款OnStar系统,其配备了4G的网络连接服务,而且实现了汽车于云端的实时数据互联,并且还在进行研究应用更加智能的安全科技技术;在欧洲,DriveC2X项目经过了几年的研究终于在2014年完成,在公布的研究数据中表明,当车辆装载该系统进行行驶时,可以减少三成的因为交通问题导致的死伤率,而且该系统还能提高四成左右的交通效率。
在国内,虽然对于ITS的研究起步较晚,但是随着近年来信息化进程的加快发展,国家也出台了一些关于VANET建设方面的标准体系。
像是2006年制定发布的《国家中长期科学和技术发展规划纲要》中提出的发展AdHoc网络技术,和2017年制定的《国家车联网产业标准体系建设指南》,都是大大提高了我国VANET技术发展的进程。
特别是在网络层路由协议的研究上,更是多点开花,涌现了许多优秀的想法设计,如北京邮电大学提出的OPUVER,不但提高了数据包的投递率,而且还降低了数据通信间的延迟,提高了VANET的通信效率;江苏大学提出的公交车VANET路由算法,将路线规律加入路由原算法中;华南理工大学提出的ESRP路由协议,提高了路由的稳定性,限制了RREQ的洪泛情况,降低了路由的开销,从而提高了通信效率。
1.3VANET技术介绍
车间通信功能作为VANET技术中的重难点,有着网络无中心、高速变化的拓扑结构、低延时、高数据投递率和车辆形式的不确定性等特点。
在VANET中,节点可能是车辆,也可能是道路边的装置,所以车辆的通信是一种混合的,异构的通信网络体系。
短程通信技术DSRC是实现OBC和RSU的信息交互,用无线通信技术完成车辆在行驶时的实时通信,对比于其他的无线通信技术,DSRC的通信距离长。
时延低,可以进行高速移动的通信,而且从技术的复杂程度和成本上来看,是最优的技术,更具研究表明,DSRC技术在VANET中应用能降低80%的交通事故发生,而且可以提高20%的交通效率。
WAVE框架是DSRC技术的设计框架,包含了IEEE1609协议族和IEEE802.11p协议,在通信距离和数据传输速率上比于其他框架有明显的优势。
对比于OSI模型,WAVE协议栈只有四层,上层协议使用IEEE1069.1对应OSI的应用层、表示层和会话层;网络服务使用IEEE1609.3对应传输层和网络层;MAC子层使用IEEE1609.4对应数据链路层;PHY层使用IEEE802.11p对应物理层。
路由协议作为网络层的设计核心,其优劣直接决定了整个自组网络是否能正常运行,在VANET中,由于其特性是动态变化的,需要实时判断如何将数据分组从源节点传输到目的节点,使用传统的TCP/IP协议在车联网中不适用。
现在已经有很多的专家学者专门研究VANET的专属路由解决方案,比如AODV,DSR,DSDV等等,这些算法各有优劣,都可以改进VANET的通信性能。
2.基于AODV设计的路由协议概述
2.1AODV路由协议介绍
AODV路由协议是由英国学者C.E.Perkins于1999年提出的一个用于创建动态的、快速访问的、低内存的、负载轻的而且能在各个移动的节点之间互相进行通信的移动网络的自组织网络路由算法。
这是当前VANET中最为常用的路由协议,它可以使移动节点快速的获取到达目的节点的路由,并及时的删除无效的路由链路。
这个协议结合了DSR算法中路由发现和路由维护的思想和DSDV算法中写入序列号和逐条路由的思想,用以避免路由环现象。
所以,AODV路由协议是现阶段VANET中较好的一个协议路由。
2.2AODV路由工作原理
在AODV中定义了RREQ、RREP、和RERR三种消息种类,其阶段主要是路由发现阶段。
AODV路由发现流程图:
AODV路由回复流程图:
在路由发现过程中,RREP会从目的节点开始传送,直到源节点的位置,所以,当节点收到目的节点发送的报文时,会检查这个报文中是否处于消息的反向路径中,如果中国报文存在,则继续转发,如果不存在,则丢弃这个报文。
循环这个通信流程,我们就可以得到一个单方向上的RREP报文路程。
在路由表中有多条可以到达目标节点的路径时,AODV会采用最少的这一条来进行路由回复。
2.3VANET中的AODV缺点分析
1.AODV路由发现过程的判断依据太简单了,没有结合车辆的行驶情况因素进行网络拓扑的变化。
2.在VANET中,节点的速度较大,而AODV会选择跳数最少的路径来传输数据,在速度影响下,这些路径往往稳定性不高,会使得难以完成路由修复工作。
3.AODV的修复机制只会在链路中断后才进行工作,无法预测链路的中断情况。
3.设计的路由协议仿真实现
3.1AODV路由协议算法改进概述
AODV路由协议在路由发现阶段只会根据跳数来判断路径进行数据传输,在前人的实验研究中我们可以知道对路由协议影响最大的是车间通信距离和链路生存时间,所以我们根据这两点提出了New-AODV路由协议,这是以AODV路由算法为基础,通过卫星定位技术实时获取车辆的位置等信息,优化了原算法中车间通信距离和链路生存时间的影响,提高VANET通信效率。
New-AODV路由协议在AODV路由协议的基础上增加了当前节点到目的节点的距离值和生存时间,RREP和RREQ在在通过每一个节点时都会累加距离值,判断目的节点与起始节点的距离
New-AODV路由协议RREQ消息处理流程图
New-AODV路由协议RREP消息处理流程图
3.2仿真数据
节点数
100、200、300、400、500
传输距离
250
数据包速率
1/s
运动速度
15
数据包大小
512byte
仿真时间
100s
3.3仿真结果对比分析
红色虚线为New-AODV路由协议,蓝色实线为AODV路由协议。
数据包投递率对比图:
端到端时延对比图:
在数据包投递率对比图中可以明显看出,车辆的多少会对VANET的性能产生很大的影响,网络通信的稳定性会随着车辆数量的增多而愈发稳定,在源路由协议下,车辆少的时候与车辆多的时候稳定性波动幅度较于改进后的路由协议更大,而且不论汽车数量是多少,改进后的路由协议稳定性都优于源路由协议。
通过端到端时延对比图,我们可以知道,由于汽车数量的增多,网络通信的链路也越来越多,链路的断裂情况也会变少,而且我们可以明显的看到,源路由协议端到端时延受车辆数量的影响较大,且波动幅度远远大于改进后的路由协议。
因为在改进后的路由协议中,算法在路由发现阶段就会为通信网络选择更稳固的链路,加强通信效率,减少链路断裂的情况。
4.总结
本文通过研究分析AODV路由协议的工作机制,发现源路由存在判断依据太简单的劣势,影响了链路的稳定性和使其链路易断裂,所以对其进行了优化,改进了路由请求的机制,扩充了RREP和RREQ的消息格式,加入了每个节点到目的节点的距离和生存时间信息,提升了路由的路径选择情况并减少了路由断裂的情况。
参考文献
[1]曹文君.面向车载网的AODV协议的优化研究[D].南京航空航天大学,2016.
[2]刘江永,张洋祥,韩鹏.不同场景中VANET路由协议的仿真研究[J].计算机工程与应用,2009,45(18):
101-103.
[3]胡晋玉.基于车载自组织网络的路由算法研究[D].华南理工大学,2015.
[4]曹洁,张华隆.城市车载AdHoc网络下改进的AODV协议[J].兰州理工大学学报,2014,
40(01):
99-103.
[5]龚丁海.车载网络GPSR路由算法的改进[J].计算机技术与发展,2017,27(04):
104-107.
附录
New-AODV.tcl
setval(chan)Channel/WirelessChannel;#ChannelType
setval(prop)Propagation/TwoRayGround;#radio-propagationmodel
setval(netif)Phy/WirelessPhy/802_15_4
setval(mac)Mac/802_15_4
setval(ifq)Queue/DropTail/PriQueue;#interfacequeuetype
setval(ll)LL;#linklayertype
setval(ant)Antenna/OmniAntenna;#antennamodel
setval(ifqlen)50;#maxpacketinifq
setval(nn)25;#numberofmobilenodes
setval(rp)AODV;#routingprotocol
setval(x)50
setval(y)50
setval(nam)wpan_demo1.nam
setval(traffic)ftp;#cbr/poisson/ftp
#readcommandlinearguments
procgetCmdArgu{argcargv}{
globalval
for{seti0}{$i<$argc}{incri}{
setarg[lindex$argv$i]
if{[stringrange$arg00]!
="-"}continue
setname[stringrange$arg1end]
setval($name)[lindex$argv[expr$i+1]]
}
}
getCmdArgu$argc$argv
setappTime10.0;#inseconds
setappTime20.3;#inseconds
setappTime30.7;#inseconds
setstopTime100;#inseconds
#InitializeGlobalVariables
setns_[newSimulator]
settracefd[open./wpan_demo1.trw]
$ns_trace-all$tracefd
if{"$val(nam)"=="wpan_demo1.nam"}{
setnamtrace[open./$val(nam)w]
$ns_namtrace-all-wireless$namtrace$val(x)$val(y)
}
$ns_puts-nam-traceall{#nam4wpan#};#informnamthatthisisatracefileforwpan(specialhandlingneeded)
Mac/802_15_4wpanNamnamStatuson;#default=off(shouldbeturnedonbeforeother'wpanNam'commandscanwork)
#Mac/802_15_4wpanNamColFlashClrgold;#default=gold
#Mac/802_15_4wpanNamNodeFailClrgrey;#default=grey
#Formodel'TwoRayGround'
setdist(5m)7.69113e-06
setdist(9m)2.37381e-06
setdist(10m)1.92278e-06
setdist(11m)1.58908e-06
setdist(12m)1.33527e-06
setdist(13m)1.13774e-06
setdist(14m)9.81011e-07
setdist(15m)8.54570e-07
setdist(16m)7.51087e-07
setdist(20m)4.80696e-07
setdist(25m)3.07645e-07
setdist(30m)2.13643e-07
setdist(35m)1.56962e-07
setdist(40m)1.20174e-07
Phy/WirelessPhysetCSThresh_$dist(15m)
Phy/WirelessPhysetRXThresh_$dist(15m)
#setuptopographyobject
settopo[newTopography]
$topoload_flatgrid$val(x)$val(y)
#CreateGod
setgod_[create-god$val(nn)]
setchan_1_[new$val(chan)]
#configurenode
$ns_node-config-adhocRouting$val(rp)\
-llType$val(ll)\
-macType$val(mac)\
-ifqType$val(ifq)\
-ifqLen$val(ifqlen)\
-antType$val(ant)\
-propType$val(prop)\
-phyType$val(netif)\
-topoInstance$topo\
-agentTraceOFF\
-routerTraceOFF\
-macTraceON\
-movementTraceOFF\
#-energyModel"EnergyModel"\
#-initialEnergy1\
#-rxPower0.3\
#-txPower0.3\
-channel$chan_1_
for{seti0}{$i<$val(nn)}{incri}{
setnode_($i)[$ns_node]
$node_($i)random-motion0;#disablerandommotion
}
source./wpan_demo1.scn
#Setuptrafficflowbetweennodes
proccbrtraffic{srcdstintervalstarttime}{
globalns_node_
setudp($src)[newAgent/UDP]
eval$ns_attach-agent\$node_($src)\$udp($src)
setnull($dst)[newAgent/Null]
eval$ns_attach-agent\$node_($dst)\$null($dst)
setcbr($src)[newApplication/Traffic/CBR]
eval\$cbr($src)setpacketSize_70
eval\$cbr($src)setinterval_$interval
eval\$cbr($src)setrandom_0
#eval\$cbr($src)setmaxpkts_10000
eval\$cbr($src)attach-agent\$udp($src)
eval$ns_connect\$udp($src)\$null($dst)
$ns_at$starttime"$cbr($src)start"
}
procpoissontraffic{srcdstintervalstarttime}{
globalns_node_
setudp($src)[newAgent/UDP]
eval$ns_attach-agent\$node_($src)\$udp($src)
setnull($dst)[newAgent/Null]
eval$ns_attach-agent\$node_($dst)\$null($dst)
setexpl($src)[newApplication/Traffic/Exponential]
eval\$expl($src)setpacketSize_70
eval\$expl($src)setburst_time_0
eval\$expl($src)setidle_time_[expr$interval*1000.0-70.0*8/250]ms;#idle_time+pkt_tx_time=interval
eval\$expl($src)setrate_250k
eval\$expl($src)attach-agent\$udp($src)
eval$ns_connect\$udp($src)\$null($dst)
$ns_at$starttime"$expl($src)start"
}
if{("$val(traffic)"=="cbr")||("$val(traffic)"=="poisson")}{
puts"\nTraffic:
$val(traffic)"
#Mac/802_15_4wpanCmdack4dataon
puts[format"Acknowledgementfordata:
%s"[Mac/802_15_4wpanCmdack4data]]
setlowSpeed0.5ms
sethighSpeed1.5ms
Mac/802_15_4wpanNamPlaybackRate$lowSpeed
$ns_at[expr$appTime1+0.1]"Mac/802_15_4wpanNamPlaybackRate$highSpeed"
$ns_at$appTime2"Mac/802_15_4wpanNamPlaybackRate$lowSpeed"
$ns_at[expr$appTime2+0.1]"Mac/802_15_4wpanNamPlaybackRate$highSpeed"
$ns_at$appTime3"Mac/802_15_4wpanNamPlaybackRate$lowSpeed"
$ns_at[expr$appTime3+0.1]"Mac/802_15_4wpanNamPlaybackRate$highSpeed"
eval$val(traffic)traffic1960.2$appTime1
eval$val(traffic)traffic1040.2$appTime2
eval$val(traffic)traffic320.2$appTime3
Mac/802_15_4wpanNamFlowClr-pAODV-ctomato
Mac/802_15_4wpanNamFlowClr-pARP-cgreen
if{"$val(traffic)"=="cbr"}{
setpktTypecbr
}else{
setpktTypeexp
}
Mac/802_15_4wpanNamFlowClr-p$pktType-s19-d6-cblue
Mac/802_15_4wpanNamFlowClr-p$pktType-s10-d4-cgreen4
Mac/802_15_4wpanNamFlowClr-p$pktType-s3-d2-ccyan4
$ns_at$appTime1"$node_(19)NodeClrblue"
$ns_at$appTime1"$node_(6)NodeClrblue"
$ns_at$appTime1"$ns_trace-annotate\"(at$appTime1)$val(traffic)trafficfromnode19tonode6\""
$ns_at$appTime2"$node_(10)NodeClrgreen4"
$ns_at$appTime2"$node_(4)NodeClrgreen4"
$ns_at$appTime2"$ns_trace-annotate\"(at$appTime2)$val(traffic)trafficfromnode10tonode4\""
$ns_at$appTime3"$node_(3)NodeClrcyan3"
$ns_at$appTime3"$node_
(2)NodeClrcyan3"
$ns_at$appTime3"$ns_trace-annotate\"(at$appTime3)$val(traffic)trafficfromnode3tonode2\""
}
procftptraffic{srcdststarttime}{
globalns_node_
settcp($src)[newAgent/TCP]
eval\$tcp($src)setpacketSize_60
setsi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 无线网络 技术 作业