专利名称:一种减小动态源路由协议控制负载的方法
技术领域:
本发明涉及功率异类点无线移动自组织网络Ad Hoc网络,特别涉及一 种减小动态源路由协议控制负载的方法。
背景技术:
DSR (Dynamic Source Routing,动态源路由协议)是由美国卡耐基梅隆大 学Monarch工作组提出的一种使用源路由思想的Ad Hoc网络按需路由协议。 使用DSR的节点只维护正在通信的路由信息,不使用周期性的路由信息广播 完成路由信息的更新。当一个节点需要一条到某个目的节点的路由时,节点 动态的从路由缓存中选择一条或者通过路由发现过程发现一条新的路由;当 节点发现与某个邻居节点间的链路失效后,通过路由维护过程完成路由的切 换。源路由是一种由数据分组的发送节点决定整个传输过程中的完整路由的 路由机制。源节点在发送数据分组时将完整的路由路径显式的列在分组的头 部,路由路径中包含了该分组从源节点到达目的节点的路径中的每一跳的信 息如IP地址、网络接口等等。使用源路由的一个突出的优点在于任何中间节 点都无需维护对应于转发分组的路由,中间节点在收到分组后只需要根据源 路由的地址列表中选择下一跳节点,然后将该分组转发到下一跳即可。不同 于传统的路由算法,DSR不使用周期性路由信息广播来完成路由信息的更 新,这样就在很大程度上降低了路由协议的开销,尤其是当节点的运动频率 和运动速度较低的时候。DSR路由协议作为经典协议,它具有简洁、完备的特点及良好的性能, 但是美中不足的是DSR路由协议的额外开销太大,尤其是数据包中所携带的 完整路由信息成为它的致命缺点,正是由于这些控制信息的存在,整个网络 的控制负载急剧增加。许多研究者都曾经指出DSR数据包中的控制字段极大 的增加了路由的控制负载,因为一般来说,网络中数据包的数量远远要大于 其它路由包数量,也就是说数据包中的控制字段在整个控制负载中占有很大 的比例。这种控制信息严重浪费了移动Ad Hoc网络中昂贵的无线带宽和有 限的设备能量,尤其在大规模网络中将会更加明显,因为路由的平均长度将 更长,所以数据包头的负载限制了源路由协议的可扩展性。而目前还没有相 关的研究来减小DSR协议数据包头中由于完整的路由信息而引入的负载。
发明内容
本发明的目的在于提出一种减小动态源路由协议控制负载的方法,该方 法能够有效的降低DSR协议中数据包头的负载,提高DSR协议的性能。
本发明提出的一种有效地负载降低方法,称为DRA (Deleting Redundant Address)。该方法主要通过在数据包多跳向目的节点转发过程中,删除数据 包头中源路由信息中冗余的节点地址信息,来减小数据包头中由源路由方法 引入的控制负载。
本发明的技术方案是这样实现的
5^/;丄在DSR协议路由缓存表结构中添加一个标志位flagl,表示源节点 是否正在使用这条路发送数据包;
在数据包头中添加一个标志字段y/ag2, yz"g2=o表示该数据包中 的路由是第一次使用;当节点有数据需要发送时,如果缓存中所有到目的节点路由的 flagl标志为0,则选择优先级最高的路由发送数据包,并将该标志位设为l; 否则直接选择标志位为1的路由发送数据包;
5^/^.接收到数据包的中间节点,如果数据包头中的flag2标志字段为0, 则直接根据包头中的源路由向下一跳转发;否则,删除数据包头中源路由当 前节点的地址信息。
本发明使用了 DRA技术的DSR协议相对改进以前控制负载具有明显的 减小。尤其随着网络规模的扩大,基于DRA技术的DSR协议的负载减小越 多。同时基于DRA技术的DSR协议在传输率、延迟、吞吐量等方面的性能 也有所提高。
具体实施例方式
本发明中在数据传输过程中删除数据包头中的路由选项中携带的冗余地 址信息,只保留与转发数据包有关的路由信息,具体的说就是当中间节点每 接收到一个数据包再往下一跳转发之前删除数据包头中源路由里节点自己的 地址信息。
解决由于DRA技术而引入的路由信息无法学习和RERR(Route ERRor) 包无法返回的问题。即在数据包的传输过程中若是第一次使用这条路由,则 不采用DRA技术,也就是说数据包的转发采用与改进前相同的方式,携带 完整的路由发送至目的节点,这样中间节点就能够学习到丢失的路由信息, 添加到自己的路由缓存中;当路由上节点间的链路发生断路时,断路节点通 过査找自己的路由缓存可以寻找到返回源节点的路由信息来发送RERR包、 维护路由。基于DRA技术的DSR协议的具体实施方法如下
S/印h改进原来DSR协议路由缓存表结构,为每一条路由项添加一个 标志位(y flg7),表示源节点是否正在使用这条路发送数据包。当_/7"^=0, 表示没有使用这条路由发送数据包;否则y/"g7=l表示缓存中的这条路正被 用于传输数据。
5fe/;l在数据包头中添加一个标志字段^7ag么/ag2-0表示该数据包中 的路由是第一次使用。
当源节点接收到RREP返回的路由以后,将获得的路由添加到路 由缓存中,并将该路由的标志位/7ag7表示为0。
当节点有数据需要发送时(这里忽略路由发现过程的描述,与标 准DSR协议相同),从路由缓存中获得到目的节点的路由。如果获取的路由 在缓存中的标志位y/ag7为0,则将该标志位设为1,并将数据包中的y/ag2 标志位设为O,然后转发数据包;如果获取的路由在缓存中的标志位y^g7为
i,并将数据包中的yz"^2标志位设为i,然后转发数据包。
&印5.*当中间节点接收到数据包以后根据数据包中的_/7"g2标志位字段 进行处理。如果_/7"^2=仏则不使用DRA技术处理数据包头,而是直接根据 数据包头中源路由获得下一跳转发数据包。同时学习数据包头中的源路由信 息,获得从当前节点到源节点的路由并加入缓存,并将该路由在缓存中的标 志位/7"g/设为1;否则y7"W=/,说明该数据包的传输使用了 DRA技术, 则继续使用DRA技术删除冗余地址信息,并根据源路由信息获得下一跳地 址转发数据包。
在数据传输过程中如果路由维护算法检测到路由错误,则使用缓存中保存的到源节点的标志位W"^为1的路由发送RERR包。当节点接收
到RERR包以后删除缓存中相应的错误路由。同时结合DSR原有的维护策 略维护路由表。
权利要求
1、Ad Hoc网络下一种减小动态源路由协议负载的方法,其特征在于,包括以下步骤Step1. 在DSR协议路由缓存表结构中添加一个标志位flag1,表示源节点是否正在使用这条路发送数据包;Step2. 在数据包头中添加一个标志字段flag2;Step3. 当节点有数据需要发送时,如果缓存中所有到目的节点路由的flag1标志为0,则选择优先级最高的路由发送数据包,并将该标志位设为1;否则直接选择标志位为1的路由发送数据包;Step4. 接收到数据包的中间节点,如果数据包头中的flag2标志字段为0,则直接根据包头中的源路由向下一跳转发;否则,删除数据包头中源路由当前节点的地址信息。
全文摘要
本发明公开了一种减小动态源路由协议控制负载的方法。本发明主要通过在数据包多跳向目的节点转发过程中,删除数据包头中源路由信息中冗余的节点地址信息,来减小数据包头中由源路由方法引入的控制负载。本发明能够有效减小DSR路由协议中的控制负载,同时对于路由协议在数据传输率、延迟等方面的性能也有所提高。
文档编号H04W28/08GK101437266SQ20081023270
公开日2009年5月20日 申请日期2008年12月17日 优先权日2008年12月17日
发明者杨新宇, 杨树森, 鹏 赵 申请人:西安交通大学