GPSR协议详细说明(1)-简介

哈佛大学的Brad Karp和H. T. Kung经过大量的研究和分析,提出了适用于移动自组网的贪婪周界无状态路由协议(greedy perimeter stateless routing protocol,缩写为GPSR)。纸质链接

?贪婪外围无状态路由协议主要包括两种转发数据包的方法:贪婪转发和外围转发。贪婪转发是算法的核心。简单来说,贪婪转发法就是找到离目的地最近的一跳邻居节点,然后将数据包转发到这个节点;外围转发方式是贪婪转发方式的补充,解决了贪婪转发失败区域的数据包转发困境。

?GPSR的优点是只需要保存一跳邻居节点的状态信息,路由开销小;并且随着网络节点数量的增加,比距离矢量路由(DV)或链路状态路由(LS)更具可扩展性。即使网络中的节点频繁移动,GPSR协议也能根据一跳邻居的信息快速找到替代路由。

每个节点周期性地广播信标数据包,其主要成分是唯一标识和位置信息。位置信息编码为两个32位浮点数,分别代表节点的水平(经度)和垂直(纬度)坐标值。信标传输周期默认为b,但为了减少与邻居节点的信号冲突,信标传输周期会随机抖动50%,即信标传输周期会均匀分布在区间[0.5B,1.5B]内。接收信标广播的相邻节点只需要将接收到的标识和位置信息保存到路由表中。路由表存储了节点的一跳邻居节点的信息。路由表中的数据将用于做出下一跳路由决策。

?路由表中的路由信息也将被删除。当未收到邻居节点路由信息的时间间隔超过t时,可以认为邻居路由节点发送失败或者节点不再处于邻居节点的信号辐射范围内,邻居节点从路由表中删除。在GPSR协议中,T=4.5B,这是最大信标传输周期的三倍。

由于节点的移动性,在信标传输周期期间,路由表中的位置信息可能不是最新的。这可能是因为:1。旧节点可能离开信号覆盖范围;2.新节点可能进入信号覆盖范围;3.获得位置的准确度可能降低,等等。

?从这些原因来看,节点之间的相对移动速率和节点的信号辐射范围决定了路由表的准确与否,也代表了信标传输周期是否适合这个网络环境。数据包转发需要保证一跳内的网络拓扑是最新的,因为没有可用的路由转发策略来处理转发节点不知道一跳或多跳邻居节点的拓扑信息的情况。这是数据包转发的最低标准。

在GPSR的实施中,采取了以下措施来降低信标开销:

?(1)本地节点的位置信息被附加到节点转发的所有数据包中。

?(2)设置所有节点的网络接口以混杂模式运行。

?采用上述措施,信号辐射范围内的所有节点都可以接收到该节点的位置信息。因为位置信息只需要12字节的开销,所以所有的数据包都可以携带信标。任何节点发送数据包后,都可以重新启动内部信标定时器。这种优化策略减少了网络的分组转发区域中的信标流量。

GPSR协议详解(二)——贪婪转发

GPSR协议详解(3)-外围转发