荒漠场景应用的车联网及其分簇路由算法

摘要:提出一种适用于沙漠、戈壁等荒漠环境的车辆自组织网络的体系结构并重点分析其分簇和路由算法

系统模型                                                                                                                                            每辆车都装备车联网通信终端, 车辆可以通过该终端与其通信范围内的其他车辆进行通信,但无法与 VANET 外界进行信息交互; 部分车上装备地面移动通信终端可以通过地面公共通信设施与外界网络(包括 Internet)连接;少量车上还装备卫星通信终端可以直接与卫星进行通信;极少量车上会同时装备这 2 种终端

网络的逻辑结构                                                                                                                                最底层为每个簇的簇头车辆与其簇成员构成的簇内通信网络;第 2 层为簇头车辆之间形成VANET 骨干网络;第 3 层由装备卫星通信终端或地面移动通信终端的簇头车辆组成,可以与卫星或地面移动通信基础设施等外界网络通信,称为外接网络层

簇的分类
(有 4 种不同类型的车辆:仅装备车联网通信终端、装备车联网通信终端及地面移动通信终端、装备车联网通信终端及卫星通信终端、装备 3 种通信终端。为方便叙述,依次分别将它们称为 A、B、C、D 类车。)
1. 单一车辆组成的簇,必须经过选举产生簇头
2.两 种类型车辆成簇:
A 类车与 B C D 类车形成簇时,通常选择后者为簇头。当有多辆 B C D 类车在一个簇中或由 B C D 2 种形成这种簇 时,需经过选举产生簇头车辆。
3.由 3 种、4 种车辆成簇,都需要进行选举产生簇头车辆。
簇头选举原则

优先级 Pi 为:卫星通信终端、地面通信终端、车联网通信终端                                                        影响因素:优先级、簇的范围、车辆的运动方向、车辆的速度大小

每辆车成为簇头车辆的权值表示为:

    

N i 为车辆 I k 跳范围内的邻居车辆数
N max 为本文限定的每个簇中最大的簇成员数
V i 为车辆 i 的车速 
Vj 为车辆 i  k 跳范围内的邻居车辆 J 的车速
V max 为本文限定的车辆的最大速度
为车辆 I 的 k 跳邻居车辆集合,
a b c 均在 0 与 1 之间取值,且其关系为
边界车辆:
在逻辑结构中,簇头与邻居簇头之间可以直接通信,但在物理结构中邻居簇头车辆并不一定在本簇头车辆的通信范围之内,需要借助簇成员车辆的转发才行。因此,在分簇过程中不仅需要选举出簇 头车辆,还需要产生出边界车辆,相邻簇间的通信将经由边界车辆。
簇头选举过程
1) 每辆车周期性地广播 HELLO( msg ,hop_cnt)消息并转发其他车辆的 HELLO 消息,以此获得其 k 跳范围内所有邻居车辆的信息。其中,msg 为本车的基本信息,包括 ID 号、簇头选举优

先级 Prior、位置信息 loc、速度V ;hop_cnt 为跳数, 在广播消息时将其置 0。每辆车在接收到其他车辆 的 HELLO 消息后将 msg 信息保存,然后判断hop_cnt,如为 k 则不再做任何处理,否则将 hop_cnt 值加 1 后转发。经过一段时间的交互后,每辆车都收集了其 k 跳范围内的邻居车辆信息。

2) 收集完信息后,每辆车根据式 (1) 计算自己 的W i 值。若
中任一式满足车辆 I 时,则它将自己升级为簇头车辆。其中: P i 为车辆 I 的优先级, N ID- i 为车辆 I 的 ID编号。即 k 跳内优先级最高的车辆成为簇头车辆; 若有优先级相同的则W i 值高的成为簇头车辆;若仍有相同的则 ID 号小的成为簇头车辆。
3) 车辆升级为簇头车辆后向外广播簇头消息HEAD CluID head_msg way_car hop_cnt ),
其中, CluID 为簇标号, head_msg 为簇头车辆信息, way_car 为经过的路由车辆信息, hop_cnt 为跳数。 在初始发送时 way_car 设置为空, hop_cnt 设为 0 。 收到 HEAD 消息的车辆将所有信息保存下来, 然后判断 hop_cnt 的值,若为 k ,则不做任何处理; 否则将本车的 msg 信息加入 way_car 中,将 hop_cnt 值加 1 后转发。
        当收到同一 CluID 的多个消息时,判断它们的 hop_cnt 值,保留 hop_cnt 值小的信息。
        当收到来自不同 CluID 的消息时,分析 head_msg 中簇头车辆的信息,保留优先级高的;若 优先级相同,保留 hop_cnt 值小的;若仍有相同,则比较 head_msg 的速度信息,保留运动方向最接近的信息。
4) 车辆向第 3) 步中选出的簇头车辆发送入簇申请消息 APPLY CluID msg way_car hop_cnt ), 其中,CluID 为簇标号, msg 为本车信息, way_car 为路由车辆信息,hop_cnt 为跳数。收到 APPLY 消息的其他车辆将自己的 msg 信息加入 way_car 中, 将 hop_cnt 值加 1 后向簇头车辆转发。
5) 簇头车辆收到 APPLY 消息后,判断本簇成员数量是否小于 N max ,如果小于则将该成员车辆的
msg 信息及 hop_cnt 保存至成员列表中,同时回发 ACCP 消息;否则直接回发 RFUS 消息拒绝加入。
6) 车辆收到簇头回复的 ACCP 消息后确认自己成功入簇,广播 MEMR CluID msg way_car
dis_cnt hop_cnt )消息,不再参与分簇过程。其中, dis_cnt 为其距簇头车辆的跳数。
重复该过程直至所有的车辆都成为簇头或簇 成员车辆。
分簇结束后,每辆车根据第 6) 收到的 MEMR 消息判断自己的一跳邻居节点中是否有其他簇的成员,如果有则将自己升级为边界车辆,同时向所在簇簇头车辆发送 BUND msg way_car dis_cnt hop_cnt ) 消息。

车辆向哪个簇头车辆发送入簇申请(为什么)、簇头车辆为什么会accept某个车辆的入簇申请?

簇的维护

维护过程主要通过周期性检查邻居车辆列表和邻居簇列表状态实现。

当普通簇成员车辆离开所在簇和加入新簇时并不会对簇结构产生影响,仅需在簇头车辆中修改簇成员列表即可。

当边界车辆离开所在簇时,簇头车辆需重新选择新的边界车辆, 选择条件与分簇过程中类似。

当两辆簇头车辆由于运动靠近时导致簇的融合,此时会触发簇头竞争, 竞争选举的条件与分簇过程中类似,竞争失败的簇头车辆发送簇消亡消息通知本簇成员更新簇头。

当簇头车辆由于故障等失效时,簇内成员会重新选举产生新的簇头,选举过程与分簇过程中一致。

​​​​​​​

基于分簇的 VANET 路由协议(CBVRPcluster based VANET routing protocol)
簇内路由
假设自组网中每辆车的位置可以用坐标 (x,y) 表示,则簇头车辆为车辆 I(xi ,yi ) 选择其下一跳车辆 J(xj ,yj ) 的标准为
式中: L 为车辆的通信距离, (xd,yd) 为目的车辆的位置,(xk,yk) 为满足式(7)的任意车辆的位置。
(7)车辆与下一跳车辆距离小于L
(8)车辆与下一跳车辆的距离大于车辆与其他车辆的距离
(9)下一跳车辆与目的车辆的距离小于目的车辆与其他车辆的距离
簇间路由

 下游簇头是指比请求簇头距目的车辆的距离更近的簇头车辆

簇成员与外界通信

收到外界通信请求的簇头车辆将进行如下处理。

1) 检查是否曾经收到过该请求,若收到则抛弃不继续处理。

2) 检查自己装备的通信终端,若簇头车辆自己 为 A 类车,则转至 5)

3) 检查自己车辆上的地面移动通信终端是否可用,如果可以转至 9)

4) 检查本簇中是否有空闲可用的 B D 类车, 如果有向它们转发路由申请并等待响应,且转6)
5) 向邻居簇头车辆转发路由申请并等待响应。
6) 若等待时间 t r 到达后若仍未收到路由响应则将重发次数加 1 ,否则转至 8)
7) 若超过重发次数限制 r max ,则结束路由请求过程;否则根据本簇内 B、D 类车情况选择转至 4)
5)
8) 若收到多个路由响应,则从中选择一个距源车辆跳数最少的路由响应。
9) 将本车的 msg 信息加入到路由响应中并向源车辆发送该路由响应。
若在该过程中未找到可用的装备地面移动通信终端的车辆,则源车辆发起对装备卫星通信终端车辆的寻找,寻找过程与上述类似。如果仍未找到则返回 REER 表明无法与外界进行通信。
实验...

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值