电子科技大学学报  2015, Vol. 44 Issue (2): 227-232, 238
车载自组织网络单接口多信道的切换方法    [PDF全文]
廖丹 , 孙罡 , 杨晓玲 , 虞红芳     
电子科技大学通信与信息工程学院 成都 611731
摘要: 提出一种单接口多信道的切换方法, 它能够动态判定网络中的节点密度和服务信息流量。节点密度较大, 且服务信息流量较大的节点划分为α模式; 节点密度较大, 但服务信息流量较小时划分为β模式; 其余情况的节点划分为γ模式。根据不同模式的特点, 采用不同的报文发送模式, 并且给出3种模式之间的动态判定和切换方法。在OMNET++平台上, 以SUMO为交通模拟器, 选用Veins款开源的车辆间通信模拟仿真框架, 对该切换方法进行仿真和性能评估。
关键词: 时延     MAC     数据包投递率     单接口多信道     VANET    
Switching Method of Single Radio Multi-Channels for Vehicular Ad hoc Network
LIAO Dan, SUN Gang, YANG Xiao-ling, YU Hong-fang    
School of Communication and Information Engineering, University of Electronic Science and Technology of China Chengdu 611731
Abstract: This paper proposes a multi-channel switching method to consider the node density and service traffic. The nodes in the network are divided into three modes according to the node density and service information flow in nodes. The message is delivered in different patterns for different modes. The judging of the three modes and switching between them are studied. The switching method is simulated on OMNET++ platform and its performance is evaluated.
Key words: delay     MAC     packet delivery ratio     single radio multi-channel     VANET    

VANET作为智能交通的重要组成部分, 在事故预警、交通管理、旅游娱乐等方面有着广阔的前景[1-2], 而MAC协议为这些应用提供技术支持。作为一种特殊的网络, VANET网络具有节点密度分布不均匀、网络拓扑变化频繁等特点[3]。当前MAC协议主要包括单信道和多信道的MAC协议[4]。单信道的MAC协议只能在一条物理信道上通信, 然而VANET的通信环境比较恶劣常常会导致系统带宽的下降。同时无线电子技术的发展允许节点在多个信道间切换和选择工作。现有文献研究表明相对于单信道而言, 多信道MAC协议可以提升信道容量, 提高业务吞吐量和传输速率[2-4]

目前已经有较多的多信道MAC协议。CCC(common control channel)[5]是单接口多信道的MAC协议, 传输控制信息时必须在特定的CCH(control channel)上投递。它最大的缺点是, 没有考虑节点密度, 在拥堵的街上, CCH信道的竞争非常激烈, 会造成很多丢包现象。SSCH(slotted seeded channel hopping)协议[6]和McMAC (multi- channel MAC proposal)协议[7-8]是基于跳频的多信道MAC协议, 这类协议只需要使用一套无线通信设备, 就可以使用所有的信道传输数据, 但是它需要严格的时钟同步, 而且节点在不同信道间频繁切换带来很大的时间开销。MTMA(multi transceiver multiple access)协议[9]中每个节点拥有多个收发机制, 各个节点独立地在多个信道上投递报文, 不会干扰到其他节点。但是MTMA对负载的分配算法非常重视, 怎样才能公平地为各个设备分配负荷量成为一个难题。它以硬件投资为牺牲换取整体的改良。CMMP(clustering-based multi-channel MAC protocol)协议[10]是基于簇结构的多信道MAC协议的典型代表, 这类协议引入簇结构, 簇头调度信道资源, 可以避免开销。但是文献[11]表明, 形成和维护簇结构会带来很多额外的网络开销, 并且簇头如何确保调度的公平性也是一个难点。

上面所列举的多信道的MAC协议, 确实在某些方面具有良好的性能, 但均还不够完善, 它们都没有考虑网络中的节点密度和信息流量。本文提出一种基于网络节点密度和信息流量的单接口多信道的切换方法, 并对其通信性能进行仿真验证。

1 αβλ 模式介绍

本文提出一种车载自组织网络单接口多信道MAC协议, 根据节点密度和服务信息流量划分成αβλ共3种模式。根据不同模式的特点, 采用不同的报文发送模式, 如图 1所示。在保证安全信息的可靠传输条件下, 对SCH信道进行合理分配, 尽可能地满足用户的服务需求, 提高数据带宽。本论文中提出的多信道MAC协议针对的是CCH和SCH等间隔切换模式。

图1 3种模式的报文交互图
1.1 α模式

当节点密度较大, 并且服务信息流量较大时, 采用α 模式。α模式中的节点采用两次握手CTS(clear-to -send)/DATA方式在多信道间切换发送报文, 因为在这种模式中的节点, 服务信息流量很大, 频繁的RTS(request-to-send)/CTS握手将导致CCH信道的拥堵, 影响交通安全信息的传输。由数据接收节点(如节点A)分配信道, 并在CCH时隙广播CTS给其邻居节点, 邻居节点在收到节点A的CTS后, 标记邻居表中节点A对应的位为指定信道模式, 邻居节点需要发送报文给节点A时, 直接切换信道至节点A指定的信道, 如果有多个邻居节点需要发送报文给节点A时, 通过退避算法竞争信道。这种模式, 省去了RTS预约请求的部分, 有效节省了CCH时隙的带宽, 保证安全信息的可靠传输。

1.2 β模式

当节点密度较大, 但服务信息流量较小时, 采用3次握手机RTS/CTS/DATA的方式在多信道之间切换发送报文, 其中RTS、CTS分组都走CCH信道。

1) β模式节点向α模式节点发送报文时, 切换到α模式中节点指定的信道号进行发送;

2) α模式节点向β模式节点发送报文时, 由于β模式中节点未先指定信道, 因此, 需要以RTS/CTS/DATA的方式传输。

1.3 γ模式

γ 模式中由于节点密度较小, 因此网络中产生的安全信息和服务信息也都较少, 故此采用4次握手RTS/CTS/DATA/CR方式在单信道上发送报文, 其中CR采用广播模式释放信道, RTS、CTS以及Channel-Release都走CCH信道。

1) γ模式节点向α模式节点发送报文时, 切换到α模式中节点指定的信道号进行发送;

2) α模式节点向γ模式节点发送报文时, 以RTS/CTS/DATA模式发送报文;

3) γ模式节点与β模式节点相互发送报文时, 以RTS/CTS/DATA模式发送报文。

因此, 本文提出的车载自组织网络多信道MAC协议的3种模式之间可以实现无缝的连接。

2 αβλ模式判定 2.1 3种模式的判定

节点密度大小根据邻居表中邻居数目的大小来确定, 一般给定定值N, 当邻居数目大于N值时则认为该节点处在密度较大的区域。

1) 节点处于密度较大的区域时

① 服务信息流量理论值

报文的产生是相互独立的, 本文设报文的产生服从泊松分布$P(k) = {\lambda ^k}{\mathit{\boldsymbol{e}}^{-\lambda }}/k!$, 其中, λ为某一时刻网络中所有节点产生报文的平均条数。

Pb为信道忙的概率; d为信道由忙变空闲的延迟时间(由侦听信道硬件设备的性能决定); EB为信道忙的时间; EI为信道空闲的时间, 数据包发送的时间记为单位时间1, 根据已有的参考文献, $d-(1-{e^{-d\lambda }})/\lambda $为因数据包到达的时间延时造成的碰撞, 则有:

$ {E_\mathit{\boldsymbol{B}}} = 1 + 2d - \frac{1}{\lambda }(1 - {\mathit{\boldsymbol{e}}^{ - d\lambda }}), \;{E_\mathit{\boldsymbol{I}}} = \frac{1}{\lambda } $ (1)
${P_\mathit{\boldsymbol{b}}} = \frac{{{E_\mathit{\boldsymbol{B}}}}}{{{E_\mathit{\boldsymbol{B}}} + {E_\mathit{\boldsymbol{I}}}}} = 1 - \frac{1}{{\lambda (1 + 2d) + {\mathit{\boldsymbol{e}}^{ - d\lambda }}}}$ (2)

TSCH为SCH时长(即50 ms); TS为每条报文发送所需的平均时间; F为周期TSCH内节点服务信息报文的条数的理论值。根据式(1)和式(2)则有:

$F = \frac{{{P_{\rm{b}}}{T_{\rm{SCH}}}}}{{{T_{\rm{S}}}}} = \left( {1 - \frac{1}{{\lambda (1 + 2d) + {\mathit{\boldsymbol{e}}^{ - d\lambda }}}}} \right)\frac{{{T_{\rm{SCH}}}}}{{{T_{\rm{S}}}}}$ (3)

② 服务信息流量统计值

一般来说, CCH与SCH定期交换的一个周期为100 ms, 其中各占50 ms。在每次切入到SCH信道后, 每个节点统计时间TSCH内流经本节点的服务报文条数, 该统计值记为FL

FL(n):统计前第1个周期内SCH信道的所有报文数总和。

FL(n-1):统计前第2个周期内SCH信道的所有报文数总和。

FL(n-2):统计前第3个周期内SCH信道的所有报文数总和。

FL(n-i):统计前第i+1个周期内SCH信道的所有报文数总和。

2) αβ模式的判定

如果FL(n) > F, 则进入α模式; 否则节点属于β模式。

3) 节点处于密度较小的区域时, 该节点处于γ模式。

2.2 α模式中周期数的实时动态调整策略

本文中需要调整的参量是进入α模式的周期数, 这里一个周期即为一个CCH-SCH, 因为α模式是多信道切换, 在选定好一个SCH信道后, 通过预测后面SCH报文数目, 决定当前选定好的CCH-SCH持续几个周期, 尽可能减少信道切换。通常一个周期CCH-SCH的时间为100 ms, 记为TCCH-SCH。而周期数是根据估计值FC(n) (利用PID算法估计出的下一个周期SCH内所要发送的报文总数)来调整的, FC(n)越大, 需要的时间越长, 即周期数越多。周期数的调整由PID算法和自适应算法决定。

2.2.1 PID算法

PID差分方程为:

$ {F_\rm{C}}(n) = {F_{\rm{CP}}}(n) + {F_{\rm{CI}}}(n) + {F_{\rm{CD}}}(n) + {F_\rm{L}}(n) $ (4)

式中, ${F_{\rm{CP}}}(n) = {K_\rm{P}}e(n); {F_{\rm{CI}}}(n) = {K_\rm{I}}\sum\limits_{i = 0}^n {e(i)} ; {F_{\rm{CD}}}(n) = {K_\rm{D}}(e(n)-e(n-1)); e(n) = {F_\rm{L}}(n)-{F_\rm{C}}(n - 1)$。其中, FC(n)为需要估计的报文数目; FL(n)为当前统计的报文数目; e(n)为当前的误差, e(i)为第i次的误差; FCP(n)、FCI(n)、FCD(n)分别为比例项、积分项、微分项; KPKIKD分别为比例项、积分项、微分项的系数。

本文根据e(n), e(n-1), ..., e(0)以及FL(n), 用PID方程计算流量FC(n)的值, 然后根据FC(n)值在自适应算法中调整周期数。本文中, PID算法的调整周期为TCCH-SCH

2.2.2 自适应算法

根据2节中介绍, 如果FL(n) > F, 就进入α模式。进入α模式时, 定义周期数为2, 即认为在两个周期后FL(n)会下降至FL(n) < F。但是, 进入α模式后, FL(n)能否下降至F以下, 还需要作进一步的判断。

图 2所示, t1时刻, 节点检测t0-t1(时间为TCCH-SCH)内的报文条数(只统计SCH内的报文数, 时间长度TSCH), 满足条件FL(n) > F进入α模式时, α模式初始持续两个周期如图 2中①所示。在每个TCCH-SCH结束时, 通过PID和自适应算法来计算当前需要调整的周期数, 如图 2中的t2, t3, t4时刻, 根据PID计算FC(n), 并作如下判断:

图2 α模式中周期数的自适应调整算法 (注:图中每个时间间隔都是一个TCCH-SCH)

1) 如果FC(n) > F, 即在下个周期TCCH-SCH内不能完成估计流量的传输。那么, 先判断α模式是否已经结束, 如果没有结束, 则不做任何处理; 如果α模式已经结束, 那么在CCH时隙时, 广播进入α模式的CTS, 增加周期数, 延长α模式。如图 2t2时刻, 检测到FC(n) > F, 同时α模式没有结束, ②为虚线, 代表不做任何处理; t3时刻时, 检测到FC(n) > F, 但α模式已经结束, ③代表通过在CCH时隙广播CTS来增加周期数。

2) 如果FC(n)≤F, 即在时间T内可以完成流量的传输。并且当FC(n) < (1/2) F, 就认为其需要退出α模式。通过节点广播携带强制信道使能的CTS, 此CTS中, 周期数为0, 信道号为0, 告诉邻居表示退出α模式。如图 2t4时刻, 检测到FC(n) < (1/2) F, 则通过在CCH中广播CTS的方式直接退出α模式, 进入到β模式。

3 信道的选择与分配 3.1 信道的选择

本文中, 由于节点维护了邻居的信道表, 因此, 节点在通信时选择空闲信道, 采用公平(均匀分布)的原则, 从空闲信道中信道号最小的开始选用(这表明, 信道表中, 若有空闲的信道, 那么永远都是信道号小的信道处于使用状态)。

对于信道处于全忙状态时(每个信道至少有一组节点在通信), 如果再有一组节点需要通信, 那么选择其中节点数最少的信道。

表 1所示, 信道表处于全忙, 当节点14与节点15需要通信时, 选择SCH1信道。

表1 全忙状态时的信道表

如果在本CCH时隙内节点A已与其他节点握手成功, 同时, 还有其他节点与节点A需要通信, 那么节点A回复CTS时, 信道选择为已握手成功的信道号。

表 1中SCH0出现3个节点的情况:在CCH时隙, 如果节点1和2先握手成功, 选择了SCH0, 紧接着节点3又向节点2发起RTS, 那么节点2就选择信道SCH0发CTS给节点3。

3.2 信道表的维护

本文采用RTS/CTS模式通信, CTS以广播的形式发送, CTS都携带握手后确定的信道号, 信道号默认有效时间是一个CCH-SCH周期, 邻居节点都能收到CTS, 因此邻居在收到CTS时, 更新信道表。而对于信道表的“老化”, 分3种情况讨论。

1) 对于α模式, CTS携带信道使用时长, 因此, 以这个时长来“老化”。

2) 对于β模式, 采用“超时”释放信道。两个周期后自动释放信道。

3) 对于γ模式, 采用CR释放信道。在一定的时间(两个CCH-SCH周期)内能收到CR, 在收到CR时立即“老化”; 否则(可能已不是邻居, 因此没收到CR), 时间到后自动“老化”。

3.3 CTS携带的信息

CTS主要携带强制信道使能标志、信道号、信道使用周期数。强制信道使能标志, 指示当前CTS发起者是否进入强制信道使用状态, 该情况出现在节点密度较大、服务信息流量较大时; 信道号为预约的信道号; 信道使用周期数在强制使用信道状态时, 用来设置强制使用信道的总时长。默认情况下, 强制信道使能标志为False, 信道使用周期数为1。

4 αβλ模式切换 4.1 模式的切换

本文提出的信道动态分配方案适合可大可小的车辆自组织网, 根据节点密度和服务信息流量大小的不同自动切换不同的模式, 以最大限度的利用资源, 在保证安全信息的前提下, 最少切换信道, 尽可能满足用户的服务需求。图 3所示为3种模式的切换方法具体实现步骤。

图3 3种模式的切换

1) 节点进入CCH时隙。

2) 判断节点邻居数目, 如果大于一定值, 那么执行步骤①; 否则执行步骤④。

① 判断服务信息流量大小, 如果大于一定值, 那么执行步骤②; 否则执行步骤③。

② 进入α模式, 采用强制信道使用机制。分配需要使用的信道号、计算信道使用周期数并置强制信道使能标志为“真”, 在CCH信道发送CTS; 在SCHx信道发送DATA。

③ 进入β模式, 在CCH信道发送RTS/CTS, 在SCHx信道发送DATA, 采用3次握手机制。

④ 进入γ模式, 在CCH信道发送RTS/CTS/CR, 在SCHx信道发送DATA, 采用4次握手机制。

4.2 报文的发送

报文发送流程如图 4所示, 具体步骤如下:

图4 报文发送流程图

1) MAC收到网络层下发的报文。

2) 查询接收节点的状态, 如果接收节点处于强制信道使用机制, 那么执行步骤①; 否则执行步骤④。

① 查询接收节点的信道号、信道使用周期数。判断信道使用周期是否到期, 如果信道使用周期已到期, 执行步骤④; 否则(信道使用周期未到期)执行步骤②。

② 判断是否处在SCH时隙, 如果当前处于SCH时隙, 在SCHx信道直接发送报文; 否则执行步骤③。

③ 等待SCH时隙, 切换到SCH时隙时, 在SCHx信道发送报文。

④ 判断是否处于CCH时隙, 如果当前处于CCH时隙, 执行步骤⑤; 否则执行步骤⑥。

⑤ 在CCH时隙上通过发送RCS/CTS来预约信道, 执行步骤①。

⑥ 等待CCH时隙的到来, 到达后, 在CCH时隙上通过发送RCS/CTS来预约信道, 执行步骤①。

5 仿真结果与分析 5.1 仿真平台介绍

VANET与传统网络不同的是, 它的节点是高速移动的车辆, 所以需要对节点的移动情况和道路进行仿真。本文的仿真包括两个方面:一个是网络相关协议算法的仿真; 另一个是道路情况和车辆运动情况的交通系统仿真。本文对路由和MAC的仿真所使用的平台如图 5所示。

图5 仿真平台

Veins是一个开源的用于模拟车辆间通信的仿真框架, 由基于离散时间的网络模拟器和道路交通模拟器组成。本文的网络模拟器选用OMNET++, 交通模拟器选用SUMO。TCP(traffic control interface)使用以客户端/服务器端结构形式的TCP通道进行通信。其SUMO仿真程序为服务器端。

5.2 仿真结果对比与分析

为评估单接口多信道的切换方法的性能, 本文与单信道的MAC协议进行比较。表 2给出了仿真环境的具体参数。

表2 OMNET++仿真参数设置

图 6图 7给出了进行10次实验所得出数据平均值。本论文仿真了路由协议的两项通信指标:消息的投递成功率和从报文开始产出到最终目的节点接收的端到端的时延。

图6 单信道VS多信道的数据包投递率
图7 单信道VS多信道的时延

图 6表明, 单接口多信道的MAC协议数据投递率整体高于单信道的MAC协议。从图中可以看出, 节点数目在60~100的范围内时, 单接口多信道的MAC协议与单信道的MAC协议, 数据成功投递率相当。这是因为在这个范围内, 节点密度比较稀疏, 对于多信道的MAC协议启用的是γ模式, 该模式中采用的也是单信道的MAC协议。随着节点逐渐增多, 单个信道的MAC协议从60~150数据投递率是上升的。因为节点变得稠密后, 网络内节点与节点之间的链路连接性逐渐变好, 但是达到150后保持增加时, 数据包数量急剧增加, 单信道无法满足, 所以投递率逐渐下降。但对于多个信道MAC协议来说, 达到150个节点时, 并没有出现急剧下降, 由于开启了αβ的多信道模式, 使得数据不至于太过拥堵, 充分利用了信道, 提高了数据包的投递率。

图 7表明, 单接口多信道的MAC协议端到端的时延整体来说高于单个信道的MAC协议。从图中可以看出, 节点数目在60~100的范围内时, 多信道的MAC协议与单信道的MAC协议, 端到端的时延几乎一样。这是因为在这个范围内, 节点密度比较稀疏, 对于多信道的MAC协议启用的是γ模式, 该模式中采用的也是单信道的MAC协议。节点个数越来越多, 单信道的MAC协议从60~150个节点范围内端到端的时延是下降的。因为节点密度增加, 网络的连通性变得越来越好, 但是达到150后继续增加时, 数据包数量急剧增加, 单个信道无法同时承载如此多的信息的传送, 所以端到端的时延增加。但对于多个信道MAC协议来说, 100~150个节点有一段范围内的端到端的时延反而高于单个信道的, 这主要是因为在这个节点范围内, 开始启动β模式, 模式之间的判定以及接口的切换会带来一定的时延。随着节点数目继续增加, αβλ模式根据网络情况实时切换, 使得网络中的数据包不那么拥挤, 时延明显低于单信道的MAC协议。

6 结束语

本文抓住车载自组织网络拓扑的多样性, 在同一网络中根据节点密度和服务信息流量的不同, 分成αβλ模式。α模式中利用节点多而且服务信息流量大的特点, 接收数据者主动向邻居发起CTS。γ模式中, 节点很少, 只选用一个信道, 避免了信道切换带来的开销。3种模式之间可以动态判定和切换。实验仿真结果表明单接口多信道的MAC协议相比单信道的MAC协议, 有更好的通信性能。但是, 本文中多信道的切换方法针对的SCH与CCH等间隔切换模式, 在下一步的工作中需要结合αβλ模式的特点动态调整SCH和CCH的时间间隔, 能够更好地利用信道。

参考文献
[1]
KUMAR V, MISHRA S, CHAND N. Applications of VANETs:Present & future[J]. Communications and Network, 2013, 5(1B): 12–15.
[2]
SIVASAKTHI M, SURESH R. Research on vehicular Ad hoc networks (VANETs):an overview[J]. International Journal of Applied Sciences and Engineering Research, 2013, 2(1): 23–27. DOI:10.6088/ijaser.
[3]
MEHTA K, MALIK L G, BAJAJ P. VANET: Challenges, issues and solutions[C]//IEEE 6th International Conference on Emerging Trends in Engineering and Technology. Washington: IEEE Press, 2013.
[4]
ALMALAG M S, WEIGLE M C, OLARIU S. MAC protocols for VANET[M]. 2nd ed. [S.l.]: The Institute of Electrical and Electronics Engineers, Inc, 2013: 599-618.
[5]
BENVEISTE M, TAO Z. Performance evaluation of a medium access control protocol for IEEE 802. 11 s mesh networks[C]//IEEE Sarnoff Symposium. Washington: IEEE Press, 2006.
[6]
BAHL P, CHANDRA R, DUNAGAN J. SSCH: Slotted seeded channel hopping for capacity improvement in IEEE 802. 11 Ad-hoc wireless networks[C]//Proceedings of the 10th Annual International Conference on Mobile Computing and Networking. Cambridge, MA: ACM, 2004.
[7]
SO H S W, WALRAND J, MO J. McMAC: A multi-channel MAC proposal for Ad hoc wireless networks[C]//IEEE Wireless Communications and Networking Conference. Washington: IEEE Press, 2007.
[8]
BONETTO R, BUI N, ROSSI M, et al. McMAC: a power efficient, short preamble multi-channel medium access control protocol for wireless sensor networks[C]// Proceedings of the 5th International ICST Conference on Simulation Tools and Techniques. Cambridge, MA: ACM, 2012.
[9]
XU C, LI G, CHENG W, et al. Multi-transceiver multiple access (MTMA) for mobile wireless ad hoc networks[C]// IEEE International Conference on Communications. Washington: IEEE Press, 2005.
[10]
KIM T O, JUNG S D, LEE S S. CMMP: Clustering-based multi-channel MAC protocol in VANET[C]//IEEE Second International Conference on Computer and Electrical Engineering. Washington: IEEE Press, 2009.
[11]
HAMID M, FETHI F, EURECOM M L, et al. A survey and qualitative analysis of multi-channel mac protocols for vehicular Ad hoc networks[J]. International Journal of Computer Applications, 2006(10): 30–35.