WAVE协议栈多跳转发策略

2019-06-04 03:20程青青陈戈珩
长春工业大学学报 2019年2期
关键词:投递报文路由

程青青, 陈戈珩

(长春工业大学 计算机科学与工程学院, 吉林 长春 130012)

0 引 言

0.1 研究背景

随着科学技术发展,智能交通系统(Intelligent Transportation System, ITS)已经逐渐开始融入人们的生活。近年来,基于WAVE协议的各种车联网应用也相继诞生,极大地促进了ITS的快速发展。在这样的大环境下,针对ITS无线通信标准的研究正在如火如荼的进行。这些标准主要被定义用来交通安全和非安全应用[1]。安全应用可以提前给司机提供比较重要紧急的信息,在关键情况下,安全应用可以让车辆突然停下来。而非安全应用可以提高驾驶的舒适性,并且通常对带宽需求比较敏感。其中,WAVE就是支持ITS主要协议栈,WAVE协议栈的制定充分考虑了ITS和车联网网络的特点,容易部署且成本较低。但是由于WAVE协议自身的局限性,导致其不具备多跳转发的能力,仅仅能够实现报文的单跳传播,这在很大程度上局限了WAVE的应用前景。文中在WAVE协议栈的整体架构下,针对多信道操作特点,提出了一种可行的信息多跳转发策略。

0.2 WAVE协议栈

WAVE是基于IEEE 1609系列协议标准,定义了整体架构、通信模型、管理平面、车辆安全环境和物理接入等特性[2]。

WAVE不同于WiFi和蜂窝无线网络环境,由IEEE 802.11p和IEEE 1609系列标准共同构成了WAVE/DSRC网络,其结构如图1所示。

图1 WAVE协议栈整体架构

WAVE使用5 GHz频段,物理层使用了OFDM调制技术。在双向短距离视距情况下,其传输速率可达27 Mbit/s,与传统的蜂窝、WiMAX以及卫星通信网络相比,开销大幅度降低[3]。

WAVE支撑下的车联网对数据通信要求很高。例如,当两辆车相对高速接近时,它们能容忍的连接建立时间很短;再如,当车联网应用需要车载设备与路边基础设施建立连接时,汽车通过其服务范围的时间很短,可能会造成频繁切换[4]。汽车的这种高移动性加上复杂的道路环境给WAVE的MAC层和物理层提出了很高的要求。为了满足实际需求,WAVE协议栈的设计和性能需要达到以下标准:

1)预留专用信道给与公共安全相关的应用,以体现交通安全的重要性;

2)支持车与车之间的通信,有效通信距离大约在300 m左右;

3)达到3~27 Mbit/s的传输速率;

4)网络层采用IP协议,支持与Internet的有效融合。

1 信息转发策略

1.1 多信道下的信息转发

1.1.1 信息发送

在使用 WSMP 协议进行数据传输之前,都需要通过服务请求获取到相应的SCH接入后,才可以开始数据传输[5]。在上层进行数据传输前,都需要向WME进行服务申请,WME会根据请求进行服务的记录、确认、信道分配等操作,并且对SCH进行接入分配。上层应用接收到信道接入成功的指示后,开始通过WSMP协议进行数据传输。 因此将信息的发送流程大致分为三个阶段:

1)根据应用对应的PSID,发送WSA报文(管理平面)。

2)通过信道分配算法,选出合适的SCH(管理平面)。

3)信道分配成功后,通过WSMP协议发送报文(数据平面)。

1.1.2 信息接收

在信息接收过程中,User需要先从CCH上接收WSA报文,并解析WSA报文中有哪些可用服务。如果User对WSA报文中通告的服务感兴趣或者WSA报文中的服务与User订阅的服务匹配,则User接入服务指定的SCH。在SCH时隙,User在指定的SCH上准备数据的接收处理。与信息的发送过程一样,可以将信息的接收过程大致分为三个阶段:

1)接收WSA报文,解析可用服务,记录上层应用感兴趣的服务(管理平面)。

2)通过MIB表中记录的服务信息,用信道分配算法计算出SCH(管理平面)。

3)切换至指定的SCH,开始接收并处理数据报文[6](数据平面)。

1.2 广播报文转发

在传统网络中,广播是不转发的,都是控制在一跳范围内。 这是因为广播多跳将会带来广播风暴,使整个网络瘫痪。但是文中描述的广播报文多跳转发策略已经针对这个问题做了相应改进,提出了强制转发和可选转发两种模式来处理广播报文,并且只转发那些从未转发过的报文,这样就能在一定程度上防止广播风暴的产生。

假设我们采用直接转发路由方式来转发WSM广播报文。在WSM广播报文中,通过添加hoplimit字段来控制WSM广播报文在网络中的转发次数。当中间节点接收到需要转发的WSM广播报文时,首先查看报文的hoplimit值是否大于 0。如果该hoplimit值大于 0,则参与转发该WSM广播报文[7]。反之,则放弃该WSM广播报文的转发。这样就非常容易造成同一个WAVE节点多次转发相同的WSA广播报文。文中让WAVE节点只转发那些从未转发过的WSA广播报文,这样就能保证每一个WAVE节点对于同一个WSA广播报文只转发一次,大大降低网络负载。

要实现WAVE节点在转发WSM广播报文时只转发其从未转发的报文,则首先需要做到唯一标识一个WSM广播报文,这样才可以判断出该WSM广播报文是否已经转发过了。 因此, 可以将问题分解为两个部分:一部分是如何唯一标识WSM广播报文;另一部分是如何记录和查询已经转发过的报文。首先使用MAC地址来唯一标识全网范围内的一个WAVE节点,然后通过PSID+序列号来唯一标识该WAVE节点产生的WSA广播报文,这样就能通过MAC地址、PSID和序列号来唯一标识一个全网范围内的WSA广播报文。另外,在实现中, 采用Provider的MAC地址来标识WAVE节点,WAVE节点可以通过哈希数据结构进行存储和查找,其中哈希的key值为MAC地址。 另一方面,节点将通过PSID和序列号来标识WSM广播报文。每个PSID代表一种应用,可以根据PSID选择相应的哈希数据结构进行存储和查找,哈希的key值为PSID 值[8]。 序列号按线性方式递增,可以采用位图数据结构Bitmap来保存报文的转发情况。

1.3 单播报文转发

单播多跳是借助中间节点将信息传播到远处,中间节点的选取就是路由的过程。在传统的网络中,有很多选取中间节点的路由策略,比如RIP、OSPF、GPSR等。比较常用的多跳无线网络路由有基于拓扑的路由、基于移动预测的路由以及基于地理位置的路由。 文中将介绍一种运用于WAVE架构下的多跳路由策略----基于地理位置的GPSR-A路由。

传统的GPSR路由存在几点不足之处,GPSR路由的数据传递过程可描述为:首先数据分组的转发模式设置为贪婪转发,当贪婪转发失败时,则选择周边转发模式来选取下一跳。 每次转发都是先从贪婪模式开始,如果贪婪模式不能选出下一跳转发节点,则由周边转发模式来选择转发节点。 如此循环,直至数据分组到达目的节点。 在整个数据转发过程中,贪婪转发模式和周边转发模式交替组合完成报文的转发。首先,传统的GPSR路由仅仅依靠邻居节点的位置信息来选取转发节点,这将导致选取转发节点的准确性降低。其次,传统GPSR路由的周边转发模式虽然可以保证报文走出“空洞”,但是不能保证它将以较小的代价走出“空洞”。最后,在传统的GPSR路由中,由于车辆的高速移动,一个节点也许还没来得及更新从邻居节点收到的地理位置信息,该邻居节点就已经不在通信范围内了。这样将会使邻居节点从邻居节点列表中不正当地移除,从而导致邻居节点列表中有些表项失效[9]。

文中针对GPSR路由的不足,借助辅助信息(Auxiliary)提出适用于WAVE架构下的GPSR-A路由。 辅助信息主要包括车辆速度和运动方向信息。 GPSR-A路由在GPSR路由的基础上引入了速度和方向信息,辅助地理位置选路;同时针对GPSR周边转发的不足,加入角度(Angle) 和距离(Distance)构成GPSR-AD算法,处理贪婪转发失败的情况;最后,在邻居节点列表中引入生存周期(Lifetime)的概念,完善邻居节点列表的更新策略。当节点接收到需要转发的数据分组时,首先采用的是GPSR-A贪婪转发模式[10]。如果贪婪转发模式失败,则通过GPSR-AD算法寻找最优的下一跳。数据分组转发过程可以描述为以下几个步骤:

1)开始时,数据分组的初始化模式设为GPSR-A贪婪转发模式。

2)检测下一跳节点是否为目的节点,如果是,则转发结束;如果不是,则回到GPSR-A贪婪转发模式。

3)当节点处于GPSR-A贪婪转发模式时,查看其邻居节点列表。 如果有邻居节点到目的节点距离更近,则保持GPSR-A贪婪转发模式不变;否则数据分组通过GPSR-AD算法寻找最优下一跳。

4)当用GPSR-AD算法寻找下一跳时,如果遇到其邻居节点到目的节点的距离小于自己到目的节点的距离时,那么数据分组转发模式又切换至GPSR-A贪婪转发模式,跳转至3);否则数据分组转发将继续通过GPSR-AD算法寻找最优下一跳。

5)重复3)和4)直至数据分组发送至目的节点。

2 仿真结果与分析

2.1 仿真平台简介

不同于传统网络,WAVE 网络的节点是高速移动的车辆。所以除了需要仿真网络协议外,还需要对节点的移动情况以及道路模型进行仿真。目前仿真网络协议的软件有OMNeT++、OPNET、NS2等,道路交通模拟软件包括SUMO(Simulation of Urban Mobility)、 CanuMobiSim 等软件。

文中仿真包括两个部分:一部分是仿真网络协议,另一部分是仿真道路交通模型。

2.2 仿真结果分析

基于GPSR和GPSR-A路由在节点均匀分布情况下的传输时延和报文投递率分别如图2和图3所示。

图2 GPSR和GPSR-A路由在节点均匀分布的传输时延

在节点均匀分布、网络拓扑相对稳定的情况下,GPSR-A和GPSR几乎采用相同的数据转发算法,两者在性能上相差不大。当节点在网络中均匀分布时,GPSR出现贪婪转发失败的可能性较小,而GPSR效率的高效性就来源于它的贪婪转发。

从图2可以看到,GPSR-A路由和GPSR路由报文传输的时延相差不大。GPSR路由的报文传输时延略大于GPSR-A路由的报文传输时延。这是因为GPSR-A路由在贪婪转发时,将速度和方向加入了辅助选路,GPSR-A路由能在转发报文时选出距离目的节点最近的节点,是最优的转发节点,所以GPSR-A路由所需要的报文传输时延较小。需要说明的是,报文的传输时延包含了CCH时隙,报文的转发必须等到下一个SCH时隙才能转发,中间有一个CCH时隙是用来广播WSA报文,这也就是报文的传输时延较大的原因。

从图3可以看到,在节点均匀分布的情况下,GPSR和GPSR-A路由的报文投递率相差不大。GPSR-A路由的报文投递率稍微好于GPSR路由。这是因为GPSR-A路由在贪婪转发时,将速度和方向加入辅助选路;GPSR-A路由能够在转发报文时选出在其通信范围内的邻居节点,有效提高了转发节点选择的准确性,进而提升了通信的可靠性。而GPSR路由选取的转发节点可能已不在通信范围内,所以GPSR-A路由的报文投递率要稍微好于GPSR路由。

基于GPSR和GPSR-A路由在节点随机分布情况下的报文传输时延和报文投递率分别如图4和图5所示。

图4 GPSR和GPSR-A路由在节点随机分布的传输时延

图5 GPSR和GPSR-A路由在节点随机分布的报文投递率

在节点随机分布、网络拓扑动态变化的情况下,网络中出现“空洞”的可能性增加,GPSR采用周边转发模式的频率也将越高,周边转发是影响GPSR效率的关键所在。而GPSR-A 路由避开了周边转发模式,采用GPSR-AD算法来处理贪婪转发失败的情况,从而保持了较好的效率。在图4中可以看到,GPSR-A路由的报文传输时延要明显小于GPSR路由的报文传输时延。这是因为GPSR路由在遇到“空洞”时,采用周边转发模式处理,周边转发模式所采用的右手规则具有一定的随意性,这种随意性可能导致发现路由所需要的跳数增加。在相同距离的情况下,GPSR路由需要中间转发的次数要比GPSR-A路由更多。数据报文的传输时延包含了CCH时隙,报文每次必须等到SCH时隙才能转发出去。所以转发次数的增加就意味着CCH时隙的个数增加,所需要的时间也在增加。

从图4可以看到,在源目距离不是很远,所需报文转发次数不多的情况下,GPSR和GPSR-A路由的报文传输时延相差不大。随着距离的增加,报文转发的次数也在增加,GPSR和GPSR-A路由的报文传输时延相差越来越大。而GPSR-A路由避开了周边转发模式,采用GPSR-AD算法处理贪婪转发失败的情况,保持着较好的效率。

从图5可以看到,在节点随机分布、网络拓扑动态变化的情况下,GPSR-A路由的报文投递率要好于GPSR路由的报文投递率。这是因为GPSR路由周边转发模式的不足将导致发现路由所需要的跳数增加,同时可能沿着错误的路径越走越远。在可选转发的情况下,报文的转发概率小于等于1。随着跳数的增加,报文转发的概率依次累积,跳数越大,报文投递成功的概率就越小。同时,GPSR路由的周边转发可能使报文沿着错误的路径传输,导致报文的丢失。所以GPSR路由在网络存在“空洞”的情况下,报文投递率下降趋势更加明显。在源目距离不是很远,报文转发跳数不多的情况下,GPSR路由和GPSR-A路由的报文投递率相差不大。但随着距离的增加,报文转发所需要的跳数也在增加,GPSR路由进入周边转发的可能性也越大,GPSR路由的报文投递率下降得就越明显。

3 结 语

WAVE协议栈日渐完善和成熟,已经有不少厂商和研究机构在推行标准的实行和试用。然而WAVE协议本身的局限性导致其不具备多跳转发的能力,仅仅能够实现报文的单跳传播,这在很大程度上局限了WAVE的应用前景。文中在WAVE协议栈的整体架构下,针对多信道操作的特点,提出了一种可行的信息多跳转发策略。

对于广播报文,通过MAC地址、PSID和序列号标识全网唯一的WSA广播报文,查询报文转发记录,实现节点只转发当前从未转发过的报文,保证了每一个WAVE节点对于同一个WSA广播报文只转发一次,从而避免了广播报文在节点间的重复转发,降低了网负载。

对于单播报文提出了基于地理位置的GPSR-A路由新策略,针对传统的GPSR路由的不足做了相应的改进,通过在贪婪转发模式时加入速度和方向信息,提高转发节点选择的正确性;通过GPSR-AD算法替代周边转发处理贪婪转发失败的情况;在邻居节点列表中引入生存周期,完成邻居节点列表的更新。

猜你喜欢
投递报文路由
基于J1939 协议多包报文的时序研究及应用
传统与文化的“投递”
CTCS-2级报文数据管理需求分析和实现
铁路数据网路由汇聚引发的路由迭代问题研究
多点双向路由重发布潜在问题研究
浅析反驳类报文要点
一种基于虚拟分扇的簇间多跳路由算法
路由重分发时需要考虑的问题
ATS与列车通信报文分析
大迷宫