4.3.1 路由算法描述

4.3.1 路由算法描述

基于数据报文点点决策DBNP作为一种仅考虑数据报文特征的点决策路由协议具有以下显著优势:

无控制报文。

简单路由策略。

寻路速度快。

首先, 不同于传统的路由协议, DBNP的寻路过程不需要交换路由控制信息, 大大提高了带宽资源利用率; 其次, DBNP的寻路方法非常简单, 通过比较IP数据报文中TTL值和当前路由表中记录的转发跳数采取相应的策略来完成; 最后, DBNP算法大大降低了路由建立过程中各个节点路由策略所占用CPU计算时间。

DBNP路由协议的设计初衷在于: 网络层寻路、 应用层服务以及数据报文交互共同占用系统资源, 为有效提高无线网络带宽资源利用率同时降低数据交互时延, 本书提出了基于数据报文特征的点决策路由协议, 其基本思路是通过分析节点接收到的IP报文中TTL值, 确定该数据报文的转发跳数, 同时结合本节点路由信息, 共同确立通信节点间基于最短距离矢量的路由链路。

DBNP路由算法中需要重点考虑并设计的三个环节分别是: 初始化、 报文转发策略及收到数据报文后的操作, 下面作详细介绍。

(1) 初始化

最开始, 路由表的初始化不包含任何路由项。 当源节点S需要向目的节点D发送数据报文时, 它将报文在一跳通信范围内进行广播, 此时IP报文中TTL值设置为64。 当中间节点接收到这样的数据报文时, 首先查找自己的路由表是否有到目的地的合法路由, 若存在, 则往出接口发送, 如果不存在这样的路由, 就创建一个新的路由表项。 同时, 更新自己到源的反向路由。 类似于传统路由协议, 路由项的下一跳为发送当前报文的上游节点的IP地址,路由项转发跳数记作64-TTL, 其中的TTL为接收到的数据报文中记录的TTL值。

(2) 转发策略

不同于传统路由协议的报文转发策略, DBNP无需通过控制报文预先建立数据报文转发路径, 而是通过数据报文中IPHeader存储的TTL值实时决策数据报文的转发。

假定车辆节点运动遵循MH移动模型,所有移动节点具有相似的移动模式, 如运动轨迹受道路限制, 最大与最小时速相同, 享有同样的无线信道传输模型等等。 在上述前提下, 基于DBNP数据报文的转发要通过比较TTL初始值64与temp+ttl的大小(temp+ttl表示数据报文中IPHeader存储的ttl值与路由项转发跳数temp值之和), 从而进行决策判断, 建立最优通信链路,其判断准则如下:

图4.8 DBNP路由转发策略

(3) 收到数据报文后操作

某节点接收到一个数据报文时, 首先判断是否为该报文的目的节点, 若是则将报文交给上层协议模块处理, 同时学习去往源的路由, 目的节点向相应的路由出接口及上游邻居节点回复IP数据报文至源节点, 此时IPHeader中TTL值设为64, 报文发送至源节点的过程中, 所经过的中间节点会通过DBNP转发策略进行学习, 同时更新到目的IP的路由; 若不是目的节点, 则依据DBNP转发策略对数据报文进行相应的处理。 从源节点到目的节点建立的双向通信链路是基于最短路径实现的, 而没有对应数据报文转发的非最佳路由, 在5s后将自动删除。 假如报文无法到达目的节点 (可通过是否收到目的节点发来的回应报文判断), 则递增到该目的地址的报文的发送间隔。 针对一个目的地址, 在没有对应路由的情况下, 报文发送的时间间隔t设置如下: