RSU辅助的V-NDN数据转发机制
2020-03-23王康康汪玉美魏振春
王康康, 冯 琳, 汪玉美, 魏振春
(1.合肥工业大学 计算机与信息学院,安徽 合肥 230601; 2.陆军炮兵防空兵学院 无人机应用系,安徽 合肥 230031)
0 引 言
车辆自组织网络(vehicular Ad-hoc network,VANET)是以车辆为节点的一种特殊的移动自组织网络,链路层采用IEEE802.11p标准,用于实现车辆与车辆通信(vehicle-to-vehicle,V2V)和车辆与基础设施通信(vehicle-to-infrastructure,V2I)[1]。其具有网络规模大、网络密度极为不均匀及拓扑结构变化频繁等特点。由于网络拓扑结构变化频繁,IP网络架构下的VANET无法保证端对端通信时链路稳定的连通性,因此传统的IP网络架构无法在VANET中良好运作[2]。命名数据网络(named data networking,NDN)是以数据内容为中心的一种未来网络架构[3],其关注的是数据本身而不是数据的物理存储位置,因此相对于端对端通信的IP网络,NDN更适合应用于VANET。近年来,将NDN应用于VANET的车辆命名数据网络(Vehicular-NDN,V-NDN)是国内外的研究热点。
V-NDN的研究主要是围绕提高车辆节点的服务质量(quality of service,QoS)展开的,网络获取数据的成功率和成功接收到数据的平均时延是衡量V-NDN的2个重要标准。目前,V-NDN的研究主要集中在兴趣包(interest packet)的转发策略和数据包(data packet)的缓存策略上。
为了提高节点的服务质量,目前已有的研究主要集中在对包转发策略上的改进,通过引入一些机制使得兴趣包的转发尽可能地高效或者具有方向性。文献[4]利用了车载电子地图将发送者的位置信息写入兴趣包,从而确保兴趣包在当前道路的各个方向上被转发出去;文献[5]提出了一种推送式的数据传输方法来降低紧急数据的传输延迟;文献[6]将兴趣包按照道路路段进行路由转发,使得数据包转发具有方向性;文献[7]提出了一种通过维护邻居列表的可靠数据传输策略。
此外,也有一些学者对网络模型做出了调整,利用其他的一些通信方式协助兴趣包的转发。文献[8]使用4G蜂窝网络辅助兴趣包的广播,拥有对应数据的车辆会把数据复制给周围的车辆,再次请求该数据时,兴趣包的命中率就会变大;文献[9]对V-NDN提出了一种内容分发的层次结构,让蜂窝网络和专用短程通信(dedicated short range communications,DSRC)进行互补,前者用作V2I通信,后者用作V2V通信。但是这些方法得以实施的前提是车辆上必须安装有蜂窝网络通讯设备,然而,目前还不太切合实际。
本文从实际出发,对传统V-NDN网络模型做出改进,利用城市道路中被广泛部署的路侧单元(road side unit,RSU)来辅助兴趣包和数据包的转发,使得相距较远的车辆之间得以通信。不同于以数据中心为媒介的间接通信,本文RSU的辅助过程不需要数据中心的参与,RSU在接收到数据之后,将根据数据的位置信息选择下一跳的RSU节点。
本文首次提出了基于RSU辅助的V-NDN网络模型,利用RSU之间可以通过有线信道通信来辅助V-NDN网络的兴趣包和数据包的传输;通过实验仿真,分析了在相同场景下基于RSU辅助的V-NDN、传统V-NDN[4]和基于蜂窝网络辅助的V-NDN[8]的网络性能,通过性能对比验证了本文策略的优越性。
1 网络模型
本节假设城市道路中的网络场景,并分析在该场景下传统V-NDN所存在的问题,然后针对上述问题提出了基于RSU辅助的V-NDN网络模型。
1.1 场景假设与待解决的问题
本文假设在城市道路场景下,车辆之间使用DSRC进行V2V通信,通信的主要内容是车辆感知信息、天气信息和一些其他的新闻信息,这些信息是由带有感知设备的车辆或交通管理信息中心来发布。受限于DSRC的通信范围,通信范围内的车辆可以直接通信,而距离较远的车辆之间则只能采用接力方式进行多跳通信。本文称可以通过一跳或多跳的方式进行通信的车辆所组成的局部网络为一个连通区域。
为了提高QoS,本文旨在解决以下2个问题:一是如何提高不同连通区域之间车辆通信的成功率;二是如何降低同一连通区域中距离较远车辆之间的通信时延。V-NDN网络模型如图1所示,传统的V-NDN中,当请求者需要获取某个数据时,就发送兴趣包到网络中,数据将以数据包的形式沿着兴趣包的反向路径从网络中返回。在数据包传回的路径上,所有的中间节点都有可能缓存数据包以便于满足后续可能的数据请求。部分车辆(数据骡子)携带数据从一个连通区域到另外一个连通区域,为不同连通区域间的通信带来了可能。不同连通区域之间的车辆通信完全依靠数据骡子,然而数据骡子的移动方向是不可确定的,因此这种方式非常不可靠。同一连通区域中距离较远的车辆之间通信需要较多的转发跳数,因此通信时延较大。
图1 V-NDN网络模型
1.2 基于RSU辅助的V-NDN网络模型
为了提高网络的QoS,本文提出了基于RSU辅助的V-NDN网络模型,使用RSU辅助V2V通信。由于城市道路中大部分关键路口均部署有RSU,且RSU之间可以通过有线信道进行高速通信。因此RSU可以作为转发者来辅助不同连通区域间的车辆通信。此外,对于连通区域内相距较远的车辆,RSU的辅助可以很好地降低通信所需的跳数。上述2种RSU辅助过程如图2所示。
图2 RSU辅助的V-NDN网络模型
1.2.1 消息类型
本文提出的网络模型中,消息类型分为兴趣包(interest packet)和数据包(data packet)。为了满足本文的数据转发策略,兴趣包在NDN兴趣包的基础上增加了TTL和Position 2个字段,组成部分依次为:数据名称(name)、选择项(selectors)、随机时间值(nonce)、剩余转发跳数(TTL)和发送者位置坐标(position);数据包的组成依次为:数据名称(name)、数据属性信息(metaInfo)、数据内容(content)、内容签名(signature)。
TTL表示兴趣包剩余可被转发的次数,每当兴趣包被转发一次,TTL将被减1。当TTL=0时兴趣包将被停止转发,这样有效地抑制了广播风暴。Position用于记录发送者发送时的位置信息。
1.2.2 系统角色
本文网络模型中存在如下5种角色:数据提供者(provider)、数据请求者(consumer)、车辆转发者(forwarder of vehicle)、RSU转发者(forwarder of RSU)、数据骡子(data mule)。
本文网络模型相对于传统V-NDN增加了一个RSU转发者角色,RSU转发者起到网关的作用。当RSU通过DSRC从无线信道接收到消息就使用TCP/IP协议从有线信道转发出去;当RSU从有线信道接收到消息就通过DSRC从无线信道转发出去。
1.2.3 数据命名
数据的命名通常是根据实际应用的需要来设计的。实际城市道路场景中,车辆请求数据的形式通常是某个时间、某个地点的某类信息。因此,本文数据命名格式设计为:消息类型/位置/数据名称/时间属性。例如:/traffic/anhui.hefei.tunxiStreet-1/max-speed-limit/1506819600表示2017年10月1日上午9:00安徽省合肥市屯溪路1号路段的最大限速。其中时间属性使用Unix时间戳来表示。为方便下文叙述,数据名称中的位置统一称之为目标位置。
1.2.4 存储结构
为了满足本文设计的数据转发策略,网络中每个节点都需要有PIT(pending interest table)和CS(content store)2个存储结构。 PIT用于记录曾经向该节点请求数据但是没有得到满足的记录,CS用于记录缓存的数据包的名称、数据内容和最近一次被请求的时间,2种存储结构的格式如图3所示。
图3 PIT和CS格式示意图
2 数据转发策略
基于RSU辅助的V-NDN数据转发策略分为兴趣包的转发策略和数据包的转发策略2个部分。
2.1 兴趣包的转发策略
在车辆节点中,兴趣包的转发基于节点与发送者的距离,节点根据兴趣包中的位置信息计算其与发送者的距离,通过设置与距离成反比的定时器使得距离发送者最远的节点优先被选作转发者;而在RSU节点中,兴趣包的转发基于数据的目标位置,当RSU接收到来自车辆节点的兴趣包就将其转发至距离数据目标位置最近的RSU。
如请求车辆C需要获取数据S,就向网络中广播兴趣包IS。接收到IS的车辆中离C最远的车辆将被选中作为转发者继续转发兴趣包IS。曾经处理过IS的车辆再次接收到IS将不再转发IS。当IS被路边单元RS接收到后,RS将使用TCP/IP协议把IS转发给离数据S目标位置最近的路边单元Rn。Rn接收到IS后,再向无线信道中广播兴趣包IS。
2.1.1 车辆节点转发兴趣包
承上所述,车辆节点转发兴趣包的过程如图4所示,首先S1广播兴趣包,因为S4距离S1最远,所以由S4来转发该兴趣包。同理,接下来是S10和S11分别执行下一步转发,最后由S7和S13转发。
图4 车辆节点转发兴趣包过程
为了实现使距离发送者最远的车辆成为转发者。对于每一次数据请求,当网络中任意车辆节点Sa接收到一个从Sb广播的兴趣包Ii时,就启动一个时长为Td的定时器Tri,定时器Tri从数值Td开始倒计时。当Tri的数值减为0后,Sa首先删除Tri,其次把Sb的请求信息写入到PIT,然后修改Ii的TTL为TTL-1,最后转发Ii。如果Sa在Tri倒计时过程中接收到具有与Ii相同Nonce的兴趣包,那么直接删除Tri不转发Ii。
(1)
其中,Dab为Sa与Sb之间的距离;R为DSRC最大通信距离;d为步长;Tm为DSRC通信范围内任意2个车辆平均一跳通信的时间。
算法1 车辆节点的兴趣包转发算法。算法如下:
Input:Interest PacketI;
SenderS;
Initialize:none
Function:ForwardInterestPacket-V (I,S)
if !(have deal withI)
if CS.Find(I.name)
send DataPacket toS
return
end if
if (Timer.Find(I.nonce))
delete timer withI.nonce
else
if (TTL=0)
return
else
create a timer forTd
end if
end if
end if
return
Function:SendInterestPacket(I,S)//Triggered after the
timer is over.
if !PIT.Find(I.name)
PIT.Create(PIT-Record)
end if
PIT-Record.Update(S)
TTL=TTL-1
Position=current position
sendI
return
2.1.2RSU节点转发兴趣包
由于城市道路中所有RSU的位置已知,通过兴趣包名称中的位置信息很容易使用车载电子地图计算出离数据的目标位置最近的RSU。当RSU节点通过无线信道接收到来自车辆节点的兴趣包IS后,节点将使用有线信道通过TCP/IP协议将IS转发给离数据S的目标位置最近的RSU;当RSU节点通过有线信道接收到来自RSU节点的兴趣包IS后,节点将通过无线信道把IS广播给附近的车辆。
算法2 RSU节点的兴趣包转发算法。算法如下:
Input:Interest PacketI;
SenderS;
Initialize:none
Function:ForwardInterestPacket-R (I,S)
if !(have deal withI)
if CS.Find(I.name)
send DataPacket toS
return
end if
if !PIT.Find(I.name)
PIT.Create(PIT-Record)
end if
PIT-Record.Update(S)
TTL=TTL-1
Position=current position
if ReceiveIvia DSRC then
R=the closest RSU to the target positon ofI.
sendItoRvia TCP/IP
else
sendIvia DSRC
end if
end if
return
2.2 数据包的转发策略
节点的数据包转发过程基本和NDN相同,根据PIT表中的请求记录,数据包沿着兴趣包的逆向路径返回到数据请求者。其中,RSU节点以Pr的概率缓存数据包,车辆节点以Pv的概率缓存数据包。
算法3 节点的数据包转发算法。算法如下:
Input:Data PacketD;
SenderS;
Initialize:none
Function:Forward Data Packet (D,S)
if PIT.Find(D.Name)
ForwardDby PIT-Record
PIT.Delete(D.Name)
else
return
end if
if (is RSU)
CS.Add(D,Pr)
else
CS.Add(D,Pv)
end if
return
3 实验仿真结果与分析
本文通过实验仿真与传统的V-NDN数据转发策略和基于蜂窝网络辅助的V-NDN数据转发策略(cellular aided V-NDN)进行对比来验证所提出的数据转发策略的有效性。实验使用C++编写仿真程序,分别实现了以上3种数据转发策略,并对仿真结果进行了分析比较。
实验使用城市交通模拟器SUMO[10]在面积为1 500 m×1 000 m的安徽省合肥市的局部地图上模拟车辆的行进轨迹,分别设置了5辆数据提供者车辆和数据请求者车辆。数据提供者车辆随机采集自身所处位置的环境信息并生成数据包,请求者车辆以5次/s的频率请求网络中的数据包。初始阶段,随机生成了最近5 d每小时的天气信息和1 000条新闻信息并随机存储在任意的车辆中。其他的仿真参数取值见表1所列。
表1 仿真参数
成功请求数据的平均延迟随车辆数目的变化曲线如图5所示,随着车辆数目的增加,3种网络策略的平均延时都有下降的趋势。这是由于车辆数目的增加导致车辆密度越来越大,消费者车辆可以从附近的车辆获取原本需要从较远处的车辆获取的数据。
图5 成功请求数据的平均延迟随车辆数目的变化曲线
本文的数据转发策略的成功请求数据的平均时延与传统V-NDN相差不大。这是由于本文策略虽然通过RSU的辅助减小了同一连通区域中相距较远车辆间通信的跳数,但是,由于RSU的辅助提高了兴趣包的命中率,使得不同连通区域的车辆也可以进行通信,然而这种通信却要花费相当于连通区域中多跳通信2倍的转发跳数。基于蜂窝网络辅助的V-NDN策略延时最大,这是因为基于蜂窝网络辅助的V-NDN在数据请求无响应时会再次尝试请求。
获取数据成功率随车辆数目的变化曲线如图6所示,基于蜂窝网络辅助的V-NDN和基于RSU辅助的V-NDN均有较好表现。因为基于蜂窝网络辅助的V-NDN在请求数据无响应后仍会尝试发送请求,所以其请求资源的成功率比较高。基于RSU辅助的V-NDN使得不同连通区域内的车辆也可以通信,因此相对于传统V-NDN也有较高的数据请求成功率。
图6 获取数据成功率随车辆数目的变化曲线
本文提出的策略在数据请求成功率上要优于传统V-NDN,并且与基于蜂窝网络辅助的策略相当。而在数据请求延时上,本文策略要优于基于蜂窝网络辅助的策略,并且和传统V-NDN相当。综上可见,本文的策略对提高QoS有较好的表现。
4 结 论
本文使用RSU辅助城市道路环境中V-NDN的车对车通信,充分地利用了城市道路中RSU分布均匀和RSU之间信道环境好的特点。针对传统V-NDN中QoS较差的问题,本文提出了基于RSU辅助的V-NDN网络模型,并设计了基于RSU辅助的V-NDN数据转发策略。仿真结果表明本文的数据转发策略对QoS的提高有较好的表现。
此外,因为本文车辆间通信只用于传输感知、天气和新闻等信息,所以数据的命名设计相对简单,同时也没有考虑到通信过程中数据的安全和隐私性。因此,网络的详细数据命名规则和数据的安全性都是后续值得研究的。