一种位置竞争的车载自组织网络多跳广播方法_3

文档序号:9792466阅读:来源:国知局
据包后,取出广播报头部的生存时间<Life_ Time〉字段值,判断其值的大小。若Life_Time等于1,则广播包生存时间结束,节点读取广播 包数据,结束判断;若Lif e_Time大于1,则进入下一步骤。
[0081] 步骤2:当节点为簇头节点C刖寸,分析广播包中的源IP地址和广播序列号Sn,并判 断是否已经收到并转发过该广播包,若已转发过,则节点丢弃当前广播包,并结束判断。若 节点首次接收,保存报文副本,执行步骤6,转发广播包。
[0082] 步骤3:当节点为簇成员节点CN时,节点判断是否已重复收到广播包,若已收到过, 选择丢弃该广播包,并结束判断。若节点首次收到该广播包,即车辆当前处在广播方向上, 并在下一个中继簇头节点之前,执行下一步骤4。
[0083] 步骤4:簇成员节点CN读取报文头部上一跳<Last_hop>字段,上一转发节点的位置 状态<Position_State>字段。若上一转发节点状态为State_Intersect,则CN节点保存报文 副本,不再转发广播包,结束判断;否则节点执行下一步骤5。
[0084] 步骤5:簇成员CN遍历当前簇头列表Cluste;r_List、邻居列表化ig化o;r_List,判断 当前节点的位置状态,位置状态越优的节点优先进行转发,成员节点状态的优先级从高到 低依次为State_Intersect,State_Nea;rby,State_In。节点转发的优先级则通过转发等待 时间T(i)的设定来区分。等待时间期间,若节点收到来自其他成员节点CN转发的广播包后, 则节点放弃等待,停止转发竞争,结束判断;若未收到,则转发广播包,并执行步骤6。
[0085] 步骤6:节点将广播包Lifetime字段值减1,修改广播报头的上一跳社曰3* hop〉字 段,位置状态<P〇sition_State>字段,并广播转发给邻居节点。
[0086] 在等待时间T(i)的计算上,考虑节点当前的位置状态及广播包的转发方向,T(i) 计算如式(4.1):
[0088] 其中:
,为车辆状态系数,其大小取决于车辆 的当前位置状态及邻居节点状态。公式可W得出,当节点处于簇交叠状态时,s(i)为0,在= 种状态下S( i)的值均满足S( i) <1。
[0089] 式中,Tmax--最大等待时延
[0090] r-车辆通信半径
[0091] Dij一一车辆i距离上一转发节点的距离
[0092] y一一节点移动方向与广播方向的相关系数,满足y<l,方向一致时最小
[0093] N一一节点i当前化i曲bor_Li S t节点总数量
[0094] ni--邻居表中状态为State_Intersect的邻居节点数目
[00巧]nj--状态为State_In的邻居节点数目
[0096] 0一一系统参数,大小取决于网络中车辆数目,且满足^1
[0097] 通过设定不同等待时间T(i),位置竞争的车载自组织网络多跳广播方法能够有效 地降低簇成员节点广播转发的竞争,并提高广播的稳定性。当多个车辆同时处于簇交叉区 域及邻居簇通信区域内时,5*曰*6_111*6'36(3*状态的车辆优先进行转发,如左图中车辆(:和0 优先级高于车辆E,在车辆C和D之间,距离上一转发节点CH_A最远的车辆D等待时间T (i)最 短,成为簇间的广播转发节点;当多个车辆同时处在邻居簇的通信范围L内,如右图车辆C和 D所示,广播方向一致的车辆C等待时间T (i)最短,成为广播转发节点。
[0098] 图3为路口模型下竞争转发示意图:
[0099] 在路口模型下,车辆间的相对移动方向不再只是直线关系,路口的位置布局影响 簇间的相对位置,因此路口模型下的中继节点竞争转发复杂于路段环境。
[0100] 在路口模型下,簇成员节点CN的位置状态<Position_State>同样划分为S类: Sl:ate_Intersect、Sl:ate_Nea;rby和 State_IneSl:ate_Intersect 状态表示簇成员节点CN 处 于路口分簇与路段分簇的重叠覆盖区域,如图所示车辆J和E; State_Nearby表示CN位于路 口分簇的覆盖区域,同时处于路段分簇的通信范围内,如车辆H; StateJn表示车辆仅处于 当前路口分簇内。
[0101] 由于路口模型由多个路段连接,因此,路口模型的广播需要完成对多个方向的广 播转发,同时需要考虑节点转发的信息冗余和转发时延。当路口的车辆节点首次收到来自 邻居的广播包后,计算当前车辆的位置坐标,并遍历节点邻居表化ig化〇r_LiSt及簇列表 Cluster_List计算当前的位置状态。若车辆为路口分簇簇头节点,则直接进行广播转发;若 为成员节点则进行下一步竞争转发,节点间仍通过设定转发等待时间T(i)来决定转发优先 级。路口模型下,广播中继竞争转发的算法执行步骤如下:
[0102] 步骤1:当路口节点收到来自邻居的广播数据包后,取出广播报头部的生存时间< Lifetime〉字段值,判断其值的大小。若Lifetime等于1,则广播包生存时间结束,节点读 取广播包数据,结束判断;若Lif e_Time大于1,则进入下一步骤。
[0103] 步骤2:若节点为Intersection簇头CH时,分析广播包中的源IP地址和广播序列号 Sn,判断是否已经收到并转发过该广播包,若已转发过,则节点丢弃当前广播包,并结束判 断;若节点首次接收,保存报文副本,执行步骤7,转发广播包。
[0104] 步骤3:若节点为Intersection成员CN时,且已经收到并处理过该广播包,贝节点 直接丢弃;若节点首次收到该广播包,则进入下一步骤。
[0105] 步骤4:成员节点CN读取报文头部上一跳<Last_hop>字段,遍历邻居列表 化ig化o;r_LiSt,若上一跳节点n为Segment下的簇头或成员节点,贝化N保存报文数据,执行 步骤7,转发广播包;若上一跳为Intersection下的簇头或成员节点,进入下一步判断。
[0106] 步骤5:成员节点CN遍历当前簇头列表Cluste;r_List和邻居列表化ig化o;r_List, 判断当前节点的位置状态,位置状态较优的节点优先进行转发,成员节点状态的优先级从 高到低依次为State_Intersect,State_Nea;rby和State_In,优先级同样通过转发等待时间 T(i)的设定来区分。T(i)的计算不同于路段模型下,同一位置状态下,节点连通稳定性越好 的车辆将优先成为广播转发节点,T (i)计算如式:
[0107] T(I)=TmaxX [入? S(i) + (1-入)? C(i)] (0<入<1)
[0109] C(i)由当前车辆速度及节点度决定,当车辆具有较低的移动速度或节点度接近系 统节点度阔值时,贝化(i)越小,等待转发时间越小,转发等级越高。
[0110] 式中,Tmax--最大等待时延
[0111] Vi-一车辆当前的移动速度
[0112] Vmax--车辆最大移动速度
[0113] Degi--节点当前的节点度
[0114] Degth--系统的节点度阔值
[0115] 步骤6:成员节点CN设定时间T(i),并进入等待状态。在等待时间T(i)期间,若C州欠 到来自邻居的相同的广播包,取出报头判断上一跳社曰31:_11〇口〉字段,遍历化ig化o;r_List, 若当前节点与上一跳节点处在同一路段方向,贝化N停止竞争,结束等待,不再进行广播转 发;否则,继续等待。若等待时间T(i)结束,则执行下一步,转发广播包。
[0116] 步骤7:节点将广播包Lifetime字段值减1,修改广播报头的上一跳社曰3*_11〇口〉字 段,位置状态<P〇sition_State>字段,并广播转发给邻居节点。
[0117] 至此,路口模型下PCMB广播中继节点的竞争转发过程描述结束,通过设定等待时 间T(i),位置状态最优的成员节点将对广播包进行转发;通过对邻居节点广播方向的判断, PCMB有效保证对于每个路段方向上的转发。车辆J和E都处于StateJntersect状态,且相互 在不同的路段方向,虽然J和E相互在对方的通信半径内,但在收到簇头的广播包后J和E都 成为各自路段方向上的中继转发节点。
[0118] 由于在车载自组组网络中,在网络节点稀疏或分布不均匀的情况下,道路的特征 容易导致网络中孤立节点的产生及网络"空桐"的出现,降低了广播的成功率。对此,PCMB协 议针对运种特殊情况采用信息的"携带-转发"策略,即车辆在收到广播包后设定携带时间 tr,在tr时间内,当车辆检测到邻居列表不为空,则车辆节点转发该广播包;携带时间tr结 束,则直接丢弃广播包,结束判断。
[0119] 图4为携带-转发示意图
[0120] 车辆节点在收到广播包后,若车辆处于如下位置状态,则进入携带转发过程:
[0121] 1.车辆节点检测到当前的簇成员列表或邻居列表为空,即节点不在任何车辆的通 信半径内,为孤立簇头节点。
[0122] 2.在Segment模型下,车辆处于State_In状态,节点的移动方向与广播方向一致, 并且位于该移动方向上分簇边界的前端位置。
[0123] 3.在Intersection模型下,车辆处于路口向路段的移动状态,满足节点的移动方 向与广播方向一致,节点位于移动方向上最前端位置。
[0124] 车辆B、E及孤立簇头CH_F在收到广播转发包后都将进入携带转发状态,等待与邻 居节点相遇。位置竞争的车载自组织网络多跳广播方法在特殊情况下
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1