车联网中可扩展视频的自适应传输技术的研究

2018-07-28 07:19魏大尧
电脑知识与技术 2018年11期
关键词:路由协议自适应

魏大尧

摘要:该文针对VANET的拓扑结构变化迅速而造成现有路由协议如DSDV、AODV等建立的路由链路有效期短的问题,提出一种基于车辆运动状态的多路径路由发现策略,该发现策略的目标是根据车俩移动方向和车辆移动速度发现预计连接时长较长的路由路径,该发现策略通过收集VANET中节点的运动信息,将路径发现问题转换为最短路径问题,通过多阶段决策来解决最短路径问题来寻找最优和次优的路由路径。

关键词:车载自组网络;视频传输;路由协议;自适应

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)11-0220-04

1 背景

车联网(Internet of Vehicles)是由车辆位置、速度和路线等信息构成的巨大交互网络。车联网主要由车载自组网络和服务端计算平台构成,车载自组网络负责数据收集,数据传输等工作,服务端负责汇总信息,计算所需要的数据等。该文主要针对车载自组网络进行研究。

相比于传统有线视频传输,基于VANET 的视频传输具有成本低、灵活性大等特点,但是也面临诸多的挑战。一方面是视频数据具有容量大、带宽消耗大和实时性高、对时延抖动敏感等特点;另外一方面,虽然VANET 是MANET 的一种特殊应用,但是VANET 有着其独特的特点,比如VANET 中车辆有限传输范围、高移动性以及由地理位置引起的网络区域划分等特点。

该文提出一种基于车辆运动状态的多路径路由发现协议策略,该路由协议通过收集VANET中节点的运动信息,预测未来节点状态来寻找链路有效时长最长的两条路由路径,通过将路径发现问题转换为最短路径问题,通过多阶段决策来解决最短路径问题来寻找最优和次优的路由路径。

2 多路径路由发现协议

在之前虽然有关于建立多路径路由的研究,但是在寻找转发节点时大多数以最近的邻居作为转发节点,通常情况下MANET中最近的邻居节点即是连接最好的节点,但是在VANET中,由于节点位置的变动很快,可能当前最好的下一个节点很快会在网络拓扑中消失,该章将介绍一种VANET下基于高速公路场景的多路径路由的发现协议,该协议将发现一条主要路径和次要路径,为视频传输打下基础。

2.1 转发节点的优劣

当数据传输到某一节点时,一般情况下有多个下一跳节点可供选择,我们需要在其中选出最优的节点,由于我们假设所有车辆之间的连接质量相同,考虑到VANET下网络环境波动最大的原因就是网络拓扑结构变化迅速,所以我们认为可建立连接时間越长的下一跳节点是更优的下一跳节点。为了寻找这样的下一跳节点,我们主要考虑两个参数的影响,行驶方向和行驶速度。

1)行驶方向

如图1所示,上方节点都向右行驶,下方节点向左行驶,S为当前节点,p和q为S的邻居节点,S在p和q之间选择下一跳节点,由于S和q行驶方向相反,在很快行驶速度下,S和q之间的连接在很短的时间内将会失效,而对于p节点来说,如果S和p节点行驶速度相同,理论上来说它们之间的连接可以永久存在,即使实际情况下这种情况不存在,但很明显S和p节点之间的连接优于S和q节点之间的连接,p节点是相对于q节点更好的下一跳节点。

2)行驶速度

如图2所示,图中所有节点均向右行驶,S为当前节点,p和q为S的邻居节点,S在p和q之间选择下一跳节点,S和q行驶速度为70km/h,p行驶速度为100km/h。可以看到理想情况下S和q之间的连接会一直存在,而p节点将逐渐驶离S节点,S节点和p节点之间的连接将会失效,所以q节点是相对于p节点更好的下一跳节点。

2.2 理论描述

通过以上对较优下一跳节点选择的分析,我们可以将一个S节点到D节点之间的路由发现问题简化为一个最短路径发现问题。下面讨论路由发现问题到最短路径问题的转换为了将路由发现问题转为最短路径问题,首先要根据当前车联网环境生成最短路径问题中的顶点,边和边的长度。很明显我们以车联网中车辆节点作为最短路径问题中的顶点。下面讨论如何确定最短路径问题中的边和边的长度。

为了叙述方便,我们以图3为例,如图3所示为一个VANET示意图,我们要从S节点通过中间A-H节点将数据传输到D,为了寻找从S到D的两条较优的路径,我们可以将这个VANET拓扑结构转换为一个最短路径问题。节点S的邻居节点为A,B,C,所以应该存在从节点S到节点A,B,C的三条边,而节点A的邻居节点应该有节点B,C,D,E,F,但是由于节点B,节点C和节点A同是节点S的邻居节点,所以这里不考虑节点B和节点C作为节点A的下一跳节点,所以应该存在从节点A到节点D,E,F的三条边,其他节点同理。

由于车辆移动速度很快,节点之间的距离在不断变动,而且我们要寻找的链接时长最长的路径,而大多数情况下车辆移动速度对链接时长的影响要大于车辆之间的距离。所以我们将两车之间的相对移动速度而不是车辆之间的距离作为最短路径问题中两个顶点点之间的距离。设dij为从节点i到节点j的距离,

当节点i和节点j同向行驶时,相对移动速度为|vi-vj|,而当节点i和节点j逆向行驶时,相对速度为|vi+vj|。

通过公式1我们可以把图3的VANET转化为图4这样一个最短路径问题。

其中值得注意的是由于可以获取初始节点S和目标节点D的位置,所以传输的方向是已知,我们可以避免环的出现,所以最终求解的是一个有向无环图(DAG图)的最短路径问题,我们通过动态规划法求解这个问题:

考虑任意节点i,到达节点i仅有的途径是通过其直接前驱,如假设i的直接前驱有k个节点i1......ik,如果用dist(i)表示从原点S到节点i的最短路径长度,则有如下状态转移方程:

dist(i)=min{dist(i1)+d(i1,i),dist(i2)+d(i2,i)......dist(ik)+d(ik,i)}

可以将该问题分为四个阶段:

第一阶段:

dist(A)=min{dist(S)+d(S,A)}=30

dist(B)=min{dist(S)+d(S,B)}=5

dist(C)=min{dist(S)+d(S,C)}=160

第二阶段

dist(D)=min{dist(A)+d(A,D),dist(B)+d(B,D),dist(C)+d(C,D)}=10

dist(E)=min{dist(A)+d(A,E),dist(B)+d(B,E),dist(C)+d(C,E)}=9

dist(F)=min{dist(A)+d(A,F),dist(B)+d(B,F),dist(C)+d(C,F)}=150

第三阶段

dist(G)=min{dist(D)+d(D,G),dist(E)+d(E,G),dist(F)+d(F,G)}=10

dist(H)=min{dist(H)+d(D,H),dist(E)+d(E,H),dist(F)+d(F,H)}=139

第四阶段

dist(S)=min{dist(G)+d(G,S),dist(H)+d(H,S)}=20

由上面分析可得最短路径为S-B-E-G-S,可得原VANET的最佳路由路径。同时为了选择出次于最佳路径的次级路径,在建立该最有路径后,我们删除其中最优路径中已经出现的点,得到如图5所示的另一个最短路径问题,通过求解这个问题,我们可以得到一个点不想交的次级路由S-A-D-H-D

2.3 协议描述

1)邻居表的建立和维护

为了建立多路径路由,需要每一个节点维护一个邻居节点表,其中保存该车辆在一跳范围内可到达的其他节点。每一个节点周期性地向周围广播一个hello报文,其中包括自身的位置信息等,报文结构如图6所示。

Type:报文类型;

Direction:运动方向,由于协议假设中设定所有车辆都在同一直线道路上行驶,所以运动方向可以简单的由0和1表示;

Speed:行驶速度;

Lon,Lat:车辆经纬度信息,用来计算两车之间的距离;

ID:车辆的唯一标识符。

邻居节点表结构如图7所示:

其中Direction表示该邻居节点与本节点的行驶方向是否相同,0表示不同,1表示相同,Distance表示两节点间的距离,可以通过经纬度信息计算。

2)发送请求报文

当一个节点D请求一个视频数据data时,节点D首先需要广播一个请求报文,其中包括自身信息和需要请求的视频数据信息,报文结构如图8所示。

当任意节点接收到这个报文信息时,首先检查自身存储中是否拥有请求的视频数据,如果没有,则将这条报文信息转发给邻居节点,如果有,则该节点将作为源节点,准备传输视频数据给请求节点。

3)建立路由

当源节点准备传输数据前首先要建立从源节点到请求节点(目标节点)的主要路由和次级路由,为了建立这个路由,源节点首先向目标节点方向的邻居节点发送一个建立路由报文信息,其中包括目标节点ID和当前节点和源节点的距离dist(该距离在2.2小节中给出)和从源节点到当前节点的路径,报文结构如图9所示。

当邻居节点接收到这个报文后,首先计算本节点和源节点的距离dist,如果当前节点是目标节点,则向源节点返回一个开始发送视频信息的报文,如果当前节点不是目标节点,则首先广播一个建立路由报文信息给目标节点方向的邻居节点,然后向源节点返回包含自身信息的报文。

通过以上步骤,当目标节点返回报文给源节点时,源节点已获得源节点到目标节点之间所有中间节点的信息,源节点通过2.2小节所描述的动态规划算法可以得出两条点不相交的路由。

3 仿真实验

为了验证上述多路由路径发现协议的正确性和效率,我们使用SUMO+NS3对上述多通道视频传输进行模拟。

我们设置了一条双向四通道的直线道路,如图10所示,我们在2km距离的道路上分别不同的车辆密度和平均车辆速度来观察来观察在不同车辆密度的情况下上述路由协议的表现。

通过修改车辆流的数量我们可以实现不同车辆密度下的实验,同时通过设置车辆流中车辆的车辆类型中的平均速度可以实现不同车辆速度下的实验。

首先我们测试不同车辆密度对视频传输的影响,我们把车辆数分别设置为10、20、30、35、40来观察在不同车辆密度下路由协议的效率。测试参数如表1。

从图11中可以看到随着车辆数的增加,三种路由协议的端到端延时都逐渐降低,这是由于当车辆数增加时,可供选择的中间节点也增多,都可以建立更优质的路由路径,但是可以看到随着车辆数的增加AODV和DSDV两种路由协议比多路径路由协议收敛得更快,这是因为AODV和DSDV在车辆数达到一定程度时已经达到了自己的最好情况,无法再利用更多的资源,而在某一中间节点发生阻塞时可能影响所有后面数据包的传输,而多路径路由可以尽可能地利用当前的节点资源,可能在更稳定的环境下获得更好的效率。

相比于MERVS协议,虽然在车辆数较少时和该文协议有着相差不大的端到端延时,但是当车辆数增多时该文提出的协议较MERVS有着较明显的提升,这是由于在车辆数较少时,可供选择的中间节点较少,两种协议所选择的中间节点的差距不大,但是当中间节点增加时,该文协议可以选择更优质的中间路径以获得更好的端到端延时。

从图12中可以看出,当车辆数较少时,多路径路由协议比AODV和DSDV具有更高的丢包率,这是因为当车辆数较少时,多路径路由建立的次级路由可能非常不稳定,这时使用这条次级路由传输的数据包的丢包率会较高,当时当车辆数增多时多路径路由可以达到更低的丢包率,这是因为当网络环境稳定时,使用多路径路由可以更多地避免竞争引起的丢包。值得注意的是当车辆数达到一定数量时,三种路由协议的丢包率都开始上升,这是因为当车辆数增多时,三种路由协议建立时的中间节点可能更多,一個数据包从发送节点到达接收节点的中间节点增多,丢包的可能性也随之增加。

猜你喜欢
路由协议自适应
精确打击效能评估系统中路由协议的研究
浅谈网络教育领域的自适应推送系统
电子节气门非线性控制策略
多天线波束成形的MIMO-OFDM跨层自适应资源分配