1.一种车载自组织网络中主动链路状态感知的机会路由方法,其特征在于,该方法包括以下步骤:步骤1:确定路段中的节点的四种状态;
步骤2:DA机制主动感知链路断开,发送BAP报文;
步骤3:路口IN更新链路状态,广播IN_BAP;
步骤4:重连概率(RP)值的计算;
步骤5:选择候选转发节点集中邻居节点所在路段中的RPij最大的节点作为新的候选转发节点,执行贪婪转发。
2.如权利要求1所述的方法,其特征在于,所述步骤1,车载自组织网络中节点通过周期性的HELLO报文交互建立邻居列表,根据自己和邻居的位置关系,判定自身的节点类型:路口节点(IN)、前后都有邻居的队列节点(PN)、只有一边有邻居的边界节点(BN)、前后都没有邻居的孤立节点(SN)。
3.如权利要求1所述的方法,其特征在于,所述步骤2,节点判定自身状态为边界节点BN后,开始主动链路状态更新:BN主动触发此路段断开的BAP报文,通知路口节点IN链路断开;如果传递BAP报文的节点在目的路口方向上没有下一跳,则丢弃该BAP报文,由于这目的路口方向存在另外的距离路口更近的BN已经生产了新的到该路口方向的BAP报文;当IN节点接收到一个BAP报文时,则更新本地路口与相邻路口的连接状态Cij(取值为0-1),然后丢弃该BAP报文。
4.如权利要求1所述的方法,其特征在于,所述步骤3,本地路口节点IN通过接受BAP报文或IN_BAP报文,更新本地路口节点IN到相邻IN的链路状态Sij;假设当前路口与相邻路口之间链路状态为Sij=[Cij,RPij],其中:Cij表示路段IiIj是否连接,其中Cij=1表示当前路段处于连接状态,Cij=0表示非连接;根据更新的链路状态Sij=[Cij,RPij]生成新的IN_BAP报文,向当前路口的所有节点广播已断开路段的信息。
5.如权利要求1所述的方法,其特征在于,所述步骤4,路口Ia根据最近m个Hello消息周期内链路状态统计得到的、路段反映了链路稳定性的重连概率RPij值,取值范围为[0-1];当RPij∈(0,1)时,RPij表示路段在下一个Hello报文间隔时重新连接的概率。
6.如权利要求5所述的方法,其特征在于,所述RPij值统计了最近m个Hello周期的链路状态,且在当前时刻,路段IiIj的重连概率为: 其中,Cij为tk时刻路段IiIj的连接性,是一个一维数组;
数组Cij[m]各个字段的值,表示最近m次路段IiIj的连接状态;m表示缓存中记录了最近m次路段连接程度信息;k表示Δt*k时刻前更新的连接状态Cij; 表示Δt*k时刻前更新的Cij在对当前时刻重连概率RPij的权重;如果最近Δt*m时间内路段IiIj的总是保持连接的,则数组Cij[m]的元素都为1,同时,RPij=1。
7.如权利要求2所述的方法,其特征在于,所述步骤5,路口节点IN具有最高的优先级,若邻居列表中存在IN,首先发送给IN,节点发送一个数据包,通过以下步骤进行:(1)将要发送数据的节点按步骤1所述方法更新节点状态,决定数据报文的传输方式,即IN按路口模式转发分组,BN、PN和SN按直路模式工作;
(2)直路模式:节点采用贪婪算法传递给距离目的最近的节点,当链路中断时,由于道路的宽度有限,不存在边界转发的空间,采用存储转发模式继续传输数据报文直至遇到下一个贪婪节点;
(3)路口模式:
i.IN遍历邻居列表,首先通过贪婪算法得到一个距离目的地比IN更近的候选转发节点集;
ii.如果转发节点集为空,则分组继续存储在当前节点的缓存中,否则进入步骤iii.iii.遍历步骤i得到的链路状态表,然后比对这些候选节点所在路段的链路状态(Cij,RPij),将位于Cij[0]=0的路段上的节点从步骤i的转发节点集中去除;
iv.如果步骤iii的候选转发节点集不为空,则按贪婪算法选择其中距离目的地最近的节点执行转发,否则,进入步骤v;
v.比较步骤i得到的候选转发节点集中邻居节点所在路段的RPij,并选择RPij最大的路段上的节点作为新的候选转发节点集;
vi.在步骤v得到的新候选转发节点集中按贪婪算法选择距离目的地最近的节点执行转发;
(4)数据包在道路拓扑上根据携带数据的节点位置使用对应的模式,直到传输至目的或者因到期而丢弃。