基于自适应动态机制的无线分组网按需路由维护方法

文档序号:7890014阅读:197来源:国知局
专利名称:基于自适应动态机制的无线分组网按需路由维护方法
技术领域
本发明涉及一种Ad Hoc移动无线网络路由维护的方法,特别是一种基于自适应动态机制的无线分组网按需路由维护方法。
背景技术
所谓Ad Hoc移动网络是一种不依赖于固定基础设施,无中心节点,具有路由和转发功能的临时自组性网络。以其组网灵活、快捷、不需要预设网络基础设施,生存性极强,创建和移动极为方便、完全分布式等特点,使得它在很多特殊场合的通信应用中有独特的优势。然而由于地面环境的复杂多变,各个节点临时组网同时又在不断的移动,导致通信链路变的不可靠,给路由协议的设计带来了极大的挑战。因此,在实际应用中,首先必须为Ad Hoc网络单独设计传输协议、路由协议、信道接入协议,同时根据网络的需要和特点单独的进行改进和调整。目前,AdHoc移动网络路由协议从路由发现的角度可以分为主动路由和按需路由。主动路由具有延时较小,实时动态获取整个网络的拓扑范围的优点,但同时路由维护花费开销较大,路由协议始终处于不收敛状态的缺点,如WRP、DSDV等路由协议;而按需路由不用实时维护路由,仅仅在有数据发送时才进行路由发现,数据有一定的延时,如DSR、 AODV, TORA, ABR等路由协议,图I和图2为典型的按需路由标准AODV协议的工作流程图。 与此同时,也有一些将按需路由和主动路由相结合的混合路由协议,但其思想是在一定的网络区域采用主动路由的设计,区域间则采用被动路由的设计。因此,Ad Hoc网络中存在着诸多亟待解决的问题。

发明内容
本发明的目的就是为了克服已有技术的不足,提供一种基于自适应动态机制的无线分组网按需路由维护方法。为了实现上述方法,本发明采用的技术方案是
一种基于自适应动态机制的无线分组网按需路由维护方法。其按需路由维护方法为设置有路由维护线程处理方法和拥塞控制线程的处理方法,并设置有专用心跳信息包格式; 同时路由线程处理方法又包含有发送端的路由维护线程发送心跳信息方法和接收端路由维护线程接收心跳信息方法;且路由维护线程处理方法中的每一个路由表的活跃路由目的节点设置有I个发送心跳信息;而拥塞控制线程处理方法中的每一个路由表的目的节点上设置有I个拥塞窗口 ;二者进行实时交互。所述路由维护线程处理方法用于节点根据路由表中路由信息和网络拥塞的状态, 来判断是否对路由表中的目的节点周期性的发送控制信息,以更新整条路径上节点的路由表,我们称这种周期发送的控制信息为心跳信息。因此,需要在路由协议中添加心跳消息 HeartHop,用于向路由表中的目的节点发送心跳信息。所述路由维护线程处理方法又包含有发送端路由维护线程发送心跳信息 (HeartHop)方法和接收端路由维护线程接收心跳信息(HeartHop)方法。所述发送端路由维护线程发送心跳信息方法分5步完成,具体软件处理方法步骤是
步骤4. I是发送端遍历自己的路由表,查询路由表中的每一条记录,根据到每一个目的地址的跳数Hop进行筛选。步骤4. 2是发送端筛选集合的处理。通过4. 21,比较跳数Hop与I的大小,大于I 的路由表,进入4. 22,将其放入目的节点集合Sd,t_T (t :当前时刻,T :发送心跳信息的周期, t-T :过去的T时刻内),到目的节点下一跳节点集合Sn, t_T ;筛选跳数Hop等于I的路由表, 进入4. 23将其放入目的节点集合Si, t_T,然后进入4. 24,将集合Si, t_T和集合Sn, t_T作差,求出在集合Si, t_T中存在且在集合Sn, t_T中不存在的集合Si+1, t_T,为了减小网络维护信息的开销,因此通过求差集进行筛选目的地址。步骤4. 3是发送端进行信息判断。查询在过去的T时刻内,有无发往目的节点Di (Di为每一个在集合Sd,t_T和Si+1,t_T中的节点)的路由请求、路由回复、数据信息、心跳信息, 同时发送端也未收到WDi节点发送来的数据信息和心跳信息。如果未收到过,进入步骤 4. 4 ;如果收到过,则进入步骤4. 52,不发送心跳信息。这一步根据在过去的时间T内收到路由表中Di的信息进行筛选,以判断是否需要发送心跳信息给目的节点D”步骤4. 4是发送端的路由维护线程和拥塞控制线程交互,经过4. 41查询到目的节点Di的拥塞窗口大小,然后进入4. 42判断拥塞窗口,只有当拥塞窗口大于O时,才进入步骤 4. 51向目的节点Di发送心跳信息;否则,说明到目的节点Di出现拥塞,不发送心跳信息。步骤4. 5是发送端向目的节点Di发送心跳信息,并更新到目的节点的路由表。所述接收端路由维护线程接收心跳信息方法分4步完成,具体软件处理方法步骤是
步骤5. I是接收端对收到心跳信息后的处理。经过5. 12分离出接收到的心跳信息中的目的地址,进入5. 13判断是否为发给自己的,如果是,则进入5. 41,在路由表中更新该条记录;如果不是,则接收端为转发节点,转向步骤5. 2执行。步骤5. 2是接收端的信息判断。查询在过去的T时刻内,有无发往目的节点 DestAddr (DestAddr为接收到的心跳信息的目的地址)的路由请求、路由回复、数据信息、 心跳信息,同时发送端也未收到从DestAddr节点发送来的数据信息和心跳信息。如果未收到过,进入步骤5. 3 ;如果收到过,则进入5. 43,不转发心跳信息,并更新路由表。这一步根据在过去的时间T内收到路由表中DestAddr的信息进行筛选,以判断是否需要转发心跳信息给目的节点DestAddr。步骤5. 3是接收端的路由维护线程和拥塞控制线程交互,查询到目的节点 DestAddr的拥塞窗口大小,只有当拥塞窗口大于O时,才进入步骤5. 42向目的节点 DestAddr发送心跳信息;否则,说明到目的节点DestAddr出现拥塞,不发送心跳信息。步骤5. 4是接收端向目的节点DestAddr转发心跳信息,更新到目的节点的路由表的操作。所述拥塞控制线程用于监测网络的拥塞状况并动态调整窗口大小,决定节点是否可以发送数据。所述拥塞控制线程在路由建立后,节点为每一个路由表中存在的目的节点动态的创建一个拥塞窗口,每一个路由表中的记录和每一个拥塞窗口对应,以监测到该目的节点的拥塞状况。当路由通过路由发现而存在路由表中后,拥塞窗口自动创建;当路由失效后,对应的该拥塞窗口自动释放。所述拥塞控制线程处理方法分4步完成,具体软件处理方法步骤是
步骤6. I经过6. 11路由发现,建立路由表后,进入6. 12为每一条路由表信息创建一个拥塞窗口,用于记录到每一个目的节点的拥塞窗口,拥塞窗口 cwnd等于最大窗口门限值 mwnd的一半。步骤6. 2如果节点由数据需要发送,则进入6. 22判断拥塞窗口 cwnd的值是否大于等于1,如果条件不满足,则说明节点未收到发送到目的节点信息的数据确认,可能存在拥塞,进入步骤6. 42,暂不发送数据;如果条件满足,则继续进入6. 23,判断拥塞窗口 cwnd 是否等于最大窗口门限值mwnd的一半,如果cwnd=mwnd/2,则进入步骤6. 3,否则进入6. 41 直接发送数据,并且拥塞窗口 cwnd—。步骤6. 3是节点在拥塞窗口 cwnd是等于最大窗口门限值mwnd—半的情况下,启动定时器,定时周期为心跳信息的发送周期T,每过一个周期,拥塞窗口 cwnd++,直到cwnd 的值为最大窗口门限值mwnd。步骤6. 4是发送到目的节点的数据和拥塞窗口处理的操作。所述心跳信息包格式包含有6个域,其中
Type类型HeartHop,占I个字节;
Reserved通常保留位置为0,在接收时被忽略,占2个字节;
Hop Count跳数从源节点到处理该请求的节点的跳数,占I个字节;
Destination IP Address信宿节点IP地址心跳信息的目的节点IP地址,占4个字
节;
Originator IP Address源节点IP地址发起心跳信息的节点IP地址,占4个字节; Reserved通常保留位置为0,在接收时被忽略,占4个字节。通过上述步骤,节点通过为每一个路由表中目的地址建立拥塞窗口的办法来感知目的节点的信息拥塞问题。目的节点每收到一个数据信息,将为该信息返回一个数据确认 ACK,节点在每收到一个数据确认信息后,拥塞窗口执行cwnd=cwnd-l操作,使用这种方式动态的变动拥塞窗口大小。值得说明的是本发明中路由维护线程处理方法服务于心跳信息的处理;拥塞控制线程处理方法服务于数据拥塞控制与调整拥塞窗口的大小。二者进行实时交互,以获得最新到达目的节点的链路拥塞状况。它结合了按需路由和主动路由的部分优点,将拥塞控制策略引入到路由维护中去,减少了路由维护信息的开销。具有以下显著优势(I)在通路状态下,将心跳信息引入,使得按需路由保持路由表的持续更新,不会因为长时间的没有数据发送而过期;(2)结合拥塞控制策略,最大的减少心跳信息引起的路由维护开销;(3)拥塞控制针对路由表中的每一个目的节点,使得节点可以实时感知到达目的节点链路的拥塞程度。本发明结合了跨层设计的思想,使得按需路由下,路由维护的策略更加优化,提高了节点在移动状态下,链路感知的能力,保证了路由的更快速收敛。


图I是标准AODV协议路由的发现流程图。图2是标准AODV协议路由的响应流程图。
图3是本发明心跳信息包格式图。图4是本发明发送端路由维护线程发送心跳信息方法的处理流程图。图5是本发明接收端路由维护线程接收心跳信息方法的处理流程图。图6是本发明拥塞控制线程处理方法的工作流程图。
具体实施例方式请见图3至图6为本发明的具体实施方式
,它是建立在以图I和图2标准的AODV 路由协议工作流程上而实现的。本发明按需路由维护方法为设置有路由维护线程处理方法和拥塞控制线程处理方法,并设有专用心跳信息包格式,其中路由维护线程处理方法又设置有发送端的路由维护线程发送心跳信息方法和接收端路由维护线程接收心跳信息方法。如图3所示,所述心跳信息包格式包括以下六个域Type类型HeartHop,占I个字节。
Reserved通常保留位置为0,在接收时被忽略,占2个字节。
Hop Count跳数从源节点到处理该请求的节点的跳数,占I个字节。
Destination IP Address信宿节点IP地址心跳信息的目的节点IP地址,占4个字节。
Originator IP Address源节点IP地址发起心跳信息的节点IP地址,占4个字节。
Reserved通常保留位置为0,在接收时被忽略,占4个字节。
如图4所示,所述发送端路由维护线程发送心跳信息方法分5步完成,具体软件处理方法步骤是
步骤4. I是发送端遍历自己的路由表,查询路由表中的每一条记录,根据到每一个目的地址的跳数Hop进行筛选。步骤4. 2是发送端筛选集合的处理。通过4. 21比较跳数Hop与I的大小,大于I 的路由表,进入4. 22将其放入目的节点集合Sd,t_T (t :当前时刻,T :发送心跳信息的周期, t-T :过去的T时刻内),到目的节点下一跳节点集合Sn, t_T ;筛选跳数Hop等于I的路由表, 进入4. 23将其放入目的节点集合Si, t_T,然后进入4. 24,将集合Si, t_T和集合Sn, t_T作差,求出在集合Si, t_T中存在且在集合Sn, t_T中不存在的集合Si+1, t_T,为了减小网络维护信息的开销,因此通过求差集进行筛选目的地址。步骤4. 3是发送端进行信息判断。查询在过去的T时刻内,有无发往目的节点Di (Di为每一个在集合Sd,t_T和Si+1,t_T中的节点)的路由请求、路由回复、数据信息、心跳信息, 同时发送端也未收到WDi节点发送来的数据信息和心跳信息。如果未收到过,进入步骤 4. 4 ;如果收到过,则进入步骤4. 52,不发送心跳信息。这一步根据在过去的时间T内收到路由表中Di的信息进行筛选,以判断是否需要发送心跳信息给目的节点D”步骤4. 4是发送端的路由维护线程和拥塞控制线程交互,经过4. 41查询到目的节点Di的拥塞窗口大小,然后进入4. 42判断拥塞窗口,只有当拥塞窗口大于O时,才进入步骤 4. 51向目的节点Di发送心跳信息;否则,说明到目的节点Di出现拥塞,不发送心跳信息。步骤4. 5是发送端向目的节点Di发送心跳信息,并更新到目的节点的路由表。
如图5所示,所述接收端路由维护线程接收心跳信息方法分4步完成,具体软件处理方法步骤是
步骤5. I是接收端对收到心跳信息后的处理。经过5. 12分离出接收到的心跳信息中的目的地址,进入5. 13判断是否为发给自己的,如果是,则进入5. 41,在路由表中更新该条记录;如果不是,则接收端为转发节点,转向步骤5. 2执行。步骤5. 2是接收端的信息判断。查询在过去的T时刻内,有无发往目的节点 DestAddr (DestAddr为接收到的心跳信息的目的地址)的路由请求、路由回复、数据信息、 心跳信息,同时发送端也未收到从DestAddr节点发送来的数据信息和心跳信息。如果未收到过,进入步骤5. 3 ;如果收到过,则进入5. 43,不转发心跳信息,并更新路由表。这一步根据在过去的时间T内收到路由表中DestAddr的信息进行筛选,以判断是否需要转发心跳信息给目的节点DestAddr。步骤5. 3是接收端的路由维护线程和拥塞控制线程交互,查询到目的节点 DestAddr的拥塞窗口大小,只有当拥塞窗口大于O时,才进入步骤5. 42向目的节点 DestAddr发送心跳信息;否则,说明到目的节点DestAddr出现拥塞,不发送心跳信息。步骤5. 4是接收端向目的节点DestAddr转发心跳信息,更新到目的节点的路由表的操作。如图6所示,所述拥塞控制线程处理方法分4步完成,具体软件处理方法步骤是 步骤6. I经过6. 11路由发现,建立路由表后,进入6. 12为每一条路由表信息创建一
个拥塞窗口,用于记录到每一个目的节点的拥塞窗口,拥塞窗口 cwnd等于最大窗口门限值 mwnd的一半。步骤6. 2如果节点由数据需要发送,则进入6. 22判断拥塞窗口 cwnd的值是否大于等于1,如果条件不满足,则说明节点未收到发送到目的节点信息的数据确认,可能存在拥塞,进入步骤6. 42,暂不发送数据;如果条件满足,则继续进入6. 23,判断拥塞窗口 cwnd 是否等于最大窗口门限值mwnd的一半,如果cwnd=mwnd/2,则进入步骤6. 3,否则进入6. 41 直接发送数据,并且拥塞窗口 cwnd—。步骤6. 3是节点在拥塞窗口 cwnd是等于最大窗口门限值mwnd—半的情况下,启动定时器,定时周期为心跳信息的发送周期T,每过一个周期,拥塞窗口 cwnd++,直到cwnd 的值为最大窗口门限值mwnd。步骤6. 4是发送到目的节点的数据和拥塞窗口处理的操作。此外,所述路由维护线程处理方法中的每一个路由表的活跃路由目的节点上设置有I个发送心跳信息。所述拥塞窗口线程处理方法中的每一个路由表的目的节点上设置有I个拥塞窗□。以上结合附图实例较为详细的说明了上述方法嵌入到标准AODV协议中如何的正常工作,所举实例只用于解释本发明,并非限定于本发明的范围。以上所述仅为本发明的较佳实施例,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.基于自适应动态机制的无线分组网按需路由维护方法,其按需路由维护方法设置有路由线程处理方法和拥塞控制线程处理方法,并设置有专用心跳信息包格式,同时路由线程处理方法又包含有发送端的路由维护线程发送心跳信息方法和接收端路由维护线程接收心跳信息方法,其特征是所述发送端路由维护线程发送心跳信息分为5步完成,具体软件处理方法步骤是 步骤4. I是发送端遍历自己的路由表,查询路由表中的每一条记录,根据到每一个目的地址的跳数Hop进行筛选;步骤4. 2是发送端筛选集合的处理,通过4. 21,比较跳数Hop与I的大小,大于I的路由表,进入4. 22,将其放入目的节点集合Sd,t_T (t :当前时刻,T :发送心跳信息的周期,t-T 过去的T时刻内),到目的节点下一跳节点集合Sn, t_T ;筛选跳数Hop等于I的路由表,进入4.23将其放入目的节点集合Si, t_T,然后进入4. 24,将集合Si, t_T和集合Sn, t_T作差,求出在集合Si,t_T中存在且在集合Sn,t_T中不存在的集合Si+1,t_T,为了减小网络维护信息的开销,因此通过求差集进行筛选目的地址;步骤4. 3是发送端进行信息判断,查询在过去的T时刻内,有无发往目的节点Di (Di为每一个在集合Sd, t_T和Si+1, t_T中的节点)的路由请求、路由回复、数据信息、心跳信息,同时发送端也未收到从Di节点发送来的数据信息和心跳信息,如果未收到过,进入步骤4. 4 ;如果收到过,则进入步骤4. 52,不发送心跳信息,这一步根据在过去的时间T内收到路由表中 Di的信息进行筛选,以判断是否需要发送心跳信息给目的节点Di ;步骤4. 4是发送端的路由维护线程和拥塞控制线程交互,经过4. 41查询到目的节点Di 的拥塞窗口大小,然后进入4. 42判断拥塞窗口,只有当拥塞窗口大于O时,才进入步骤4. 51 向目的节点Di发送心跳信息;否则,说明到目的节点Di出现拥塞,不发送心跳信息;步骤4. 5是发送端向目的节点Di发送心跳信息,并更新到目的节点的路由表。
2.如权利要求I所述基于自适应动态机制的无线分组网按需路由维护方法,其特征是所述接收端路由维护线程接收心跳信息方法分4步完成,具体软件处理方法步骤是 步骤5. I是接收端对收到心跳信息后的处理,经过5. 12分离出接收到的心跳信息中的目的地址,进入5. 13判断是否为发给自己的,如果是,则进入5. 41,在路由表中更新该条记录;如果不是,则接收端为转发节点,转向步骤5. 2执行;步骤5. 2是接收端的信息判断,查询在过去的T时刻内,有无发往目的节点DestAddr (DestAddr为接收到的心跳信息的目的地址)的路由请求、路由回复、数据信息、心跳信息, 同时发送端也未收到从DestAddr节点发送来的数据信息和心跳信息,如果未收到过,进入步骤5. 3 ;如果收到过,则进入5. 43,不转发心跳信息,并更新路由表,这一步根据在过去的时间T内收到路由表中DestAddr的信息进行筛选,以判断是否需要转发心跳信息给目的节点 DestAddr ;步骤5. 3是接收端的路由维护线程和拥塞控制线程交互,查询到目的节点DestAddr的拥塞窗口大小,只有当拥塞窗口大于O时,才进入步骤5. 42向目的节点DestAddr发送心跳信息;否则,说明到目的节点DestAddr出现拥塞,不发送心跳信息;步骤5. 4是接收端向目的节点DestAddr转发心跳信息,更新到目的节点的路由表的操作。
3.如权利要求I所述基于自适应动态机制的无线分组网按需路由维护方法,其特征是所述拥塞控制线程处理方法分4步完成,具体软件处理方法步骤是步骤6. I经过6. 11路由发现,建立路由表后,进入6. 12为每一条路由表信息创建一个拥塞窗口,用于记录到每一个目的节点的拥塞窗口,拥塞窗口 cwnd等于最大窗口门限值 mwnd的一半;步骤6. 2如果节点由数据需要发送,则进入6. 22判断拥塞窗口 cwnd的值是否大于等于1,如果条件不满足,则说明节点未收到发送到目的节点信息的数据确认,可能存在拥塞, 进入步骤6. 42,暂不发送数据;如果条件满足,则继续进入6. 23,判断拥塞窗口 cwnd是否等于最大窗口门限值mwnd的一半,如果cwnd=mwnd/2,则进入步骤6. 3,否则进入6. 41直接发送数据,并且拥塞窗口 cwnd—;步骤6. 3是节点在拥塞窗口 cwnd是等于最大窗口门限值mwnd —半的情况下,启动定时器,定时周期为心跳信息的发送周期T,每过一个周期,拥塞窗口 cwnd++,直到cwnd的值为最大窗口门限值mwnd ;步骤6. 4是发送到目的节点的数据和拥塞窗口处理的操作。
4.如权利要求I所述基于自适应动态机制的无线分组网按需路由维护方法,其特征是所述心跳信息包格式包含有6个域,其中Type类型HeartHop,占I个字节;Reserved通常保留位置为0,在接收时被忽略,占2个字节;Hop Count跳数从源节点到处理该请求的节点的跳数,占I个字节;Destination IP Address信宿节点IP地址心跳信息的目的节点IP地址,占4个字节;Originator IP Address源节点IP地址发起心跳信息的节点IP地址,占4个字节; Reserved通常保留位置为0,在接收时被忽略,占4个字节。
5.如权利要求I所述的基于自适应动态机制的无线分组网按需路由维护方法,其特征是所述路由维护线程处理方法中的每一个路由表的活跃路由目的节点上设置有I个发送心跳信息。
6.如权利要求I所述的基于自适应动态机制的无线分组网按需路由维护方法,其特征是所述拥塞控制线程处理方法中的每一个路由表的目的节点上设置有I个拥塞窗口。
全文摘要
本发明提供一种基于自适应动态机制的无线分组网按需路由维护方法。其维护方法为设置有路由线程处理方法和拥塞控制线程处理方法,并设置有专用心跳信息包格式;同时路由线程处理方法又包含有发送端的路由维护线程发送心跳信息方法和接收端路由维护线程接收心跳信息方法;且路由维护线程处理方法中的每一个路由表的活跃路由目的节点设置有1个发送心跳信息;而拥塞控制线程处理方法中的每一个路由表的目的节点上设置有1个拥塞窗口;二者进行实时交互,以获得最新到达目的节点的链路拥塞状况。本发明结合跨层设计理念,使得按需路由下的路由维护策略更加优化,提高了节点在移动状态下链路感知的能力,保证了路由更加快捷的收敛。
文档编号H04W40/24GK102595552SQ201210041498
公开日2012年7月18日 申请日期2012年2月23日 优先权日2012年2月23日
发明者严忠, 彭大展, 朱路华, 李国治, 李涛, 李雪芳, 王昌平, 苏郢, 陈俊生, 鲁瀚, 黄祥 申请人:武汉中元通信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1