本发明专利技术公开了一种WINCE下Ad Hoc网络局部拓扑形成与维护方法,在Windows CE平台下利用NDIS驱动实现无线路由协议中通过局部拓扑的形成与维护来促进路由发现与维护,该发明专利技术能在现实的实现环境中为路由协议提供一种拓扑形成与维护方法,由于拓扑的即时维护与更新,因此本发明专利技术能很好地适应网络的移动性。而且很好地处理了双向邻居的关系,因此也能很好的解决单向链路的问题。
【技术实现步骤摘要】
本专利技术属于异类点无线移动自组织网络(Ad Hoc网络),主要应用于Windows CE平台下无线路由协议的实现,特别涉及WINCE下Ad Hoc网络局部拓扑形成与维护方法。
技术介绍
目前存在的对无线Ad Hoc网络下的路由协议的研究主要有两种:第一种是面向研究的方法,该方法是在一定的场景中,比如同类点或异类点,军用或民用的场景中设计一种理想的网络模型或路由协议来最大化网络性能,包括收包率、延迟、吞吐量等等,来达到最佳的通信效果。该方法主要通过仿真来模拟验证协议的性能,主要优点在于仿真可以不过于考虑物理环境的限制,将研究的重点集中放在协议的理论价值上。缺点在于协议的当前的实用性并不高。第二种是面向实现的方法,该方法主要面向无线路由在现实中的应用,也包括各种场景。此种应用实现的平台主要有Linux,Windows CE,uC/OS,TinyOS等等。其主要目的是在一定的环境,如电子会议,救灾环境等环境中实现临时通信,在性能上并没有第一种方法中要求来得严格,一般并不需要达到最佳效果,因为一般也无法达到这种效果,由于真实环境的制约,比方说无线本身的不稳定性和地理上可能存在的阻隔,而是达到的既定的要求即可。目前这方面的文献并不太多,比如说AODV的实现和多路径源路由的实现等等,鉴于这些实现都没有考虑到利用局部拓扑来加速路由发现和并减轻-->路由维护的负载,导致过多的路由发现,尤其是真实环境中的链路极不稳定性导致的不断的路由更新过程,将导致大量的控制负载。
技术实现思路
本专利技术为了克服上述现有技术不足,提供一种WINCE下Ad Hoc网络局部拓扑形成与维护方法,主要从代码实现角度分析局部拓扑的形成与维护,而解决真实环境中无线网络路由协议的实现过程中由于通信链路的不稳定性导致的不断地路由重建的问题,同时加速路由发现过程。本专利技术的技术方案是这样实现的:包括以下步骤:Step1每个节点维护一个二维链表,链表表项通过指针与具有相同ID的链表表头产生关联。节点之间在NDIS的中间层通过UDP协议进行发包,并使收包方在底层截包,在将数据传往TCP/IP等上层协议前对这些包进行处理,来维护拓扑信息。Step2每个节点周期性广播hello包来形成双向邻居。对于刚进入网络的节点,每一步骤均需要一定的时间,这通过NDIS层的timer来设置计时器来实现。Step3每个节点有选择地广播或单播自己的双向邻居信息,以便其它节点可以知道自己的邻居信息,也可以有选择地决定是否代本节点广播邻居信息。Step4如果有必要,节点需要广播自己的局部拓扑图来与周围节点共享。Step5节点进入维护阶段,为每一个双向邻居表项设置一个时间戳来维护双向邻居。同时节点之间通过交换邻居列表得到周围节点的双向邻居信息,通过调用Broadcast,Unicast,或Multicast等发UDP包来实现。另外节点也可以一次性地发送节点的拓扑图,来使周围节点进行局部拓扑的融合,通过-->调用Broadcast,Unicast,或Multicast等发UDP包来实现。本专利技术将基于Windows CE下NDIS的中间层驱动,在给定的真实拓扑情况下,为每个节点能够形成并维护相应的局部拓扑提供代码实现方面的分析,此结构由每个节点通过二维链表维护。本专利技术能很好地适应网络的移动性。而且很好地处理了双向邻居的关系,因此也能很好的解决单向链路的问题。局部拓扑的辅助可以很好地缓解真实环境中由于链路不稳定导致的路由重发现过程,减轻了网络的控制负载,并减少路由发现的延迟,也使路由维护更加方便快捷。附图说明图1(a)是本专利技术一种简单情况下的真实拓扑图;图1(b)是利用本专利技术得到的相应拓扑图链表表示。图2(a)是稍微复杂情况下的真实拓扑图;图2(b)是利用本专利技术得到的相应拓扑图链表表示。具体实施方式参照图1(a)、(b)所示,其中1、4、5是网络中的节点,且两两节点都在通信范围内,如附图1(a)所示,每个节点只维护节点的双向邻居就足够了,利用本专利技术可得拓扑图用链表表示如附图1(b),其中4是当前节点,LT表示局部拓扑,G表示当前节点是普通节点,与大功率节点相对应。参照图2(a)、(b)所示,其中1、4、5、6是网络中的节点,在稍微复杂的情况下,如附图2(a)所示,4是当前节点,而节点1并不在当前节点的通信范围之内。此时要获得较为详细的拓扑,就需要在节点间交换信息,如双向邻居列表或局部拓扑信息,利用本专利技术可得拓扑图用链表表示如附图-->2(b),图中拓扑总共有四列,分别是自身的双向邻居列表和邻居的双向邻居列表,由此图可以看出,虽然1号节点并不在当前节点的通信范围内,但我们可以通过拓扑图很方便地找到此节点,为路由发现和维护提供了很大的帮助。节点拓扑信息结构每个节点维护一个二维链表,每个表项应该是一个结构体,每一行代表此节点所收集到的双向邻居信息,而每一行的表头和普通表项可以定义为不同的结构体,因为很多信息只需要表头维护即可,而且普通表项信息通常也是表头的重复,因此可以简化普通表项结构,例如普通表项只维护节点ID,而其它信息,可以通过在其结构中添加一个指针来指向某一行的具有相同ID的表头来获取更详细的信息。尽管局部拓扑的不完整性可能导致普通表项对应的ID并不一定会在本节点拓扑的所有表头中出现,但对于此类情况而言,我们一般不需要此类普通节点的详细信息,因此只需将该指针置空即可。节点信息交互方式节点信息的传输方式主要有三种:单播、广播和组播,此后我们将分别用Unicast、Broadcast、Multicast等三个函数名代替包传输操作。通过周期性地调用单跳Broadcast,每个节点可以自己的双向邻居列表,该列表也属于局部拓扑图。而其它节点可以通过任何一种传输方式来选择性地告知自己的双向邻居信息,也可以直接散布自己的局部拓扑信息,然后接收到该信息的节点可以根据此信息完善自己的局部拓扑图。节点信息交互通过控制包来完成,根据不同的协议实现方式,可以有不同种类、不同数量的控制包,此类型可以通过enum枚举类型来表示。不同的类型可以有不同的传输方式、不同的-->处理方式:1)对于发送节点,通过调用Unicast、Broadcast或Multicast来对某一类控制包选择其合适的传输方式,例如hello包一般使用一跳Broadcast,而散布双向邻居信息可以采用Unicast把自己的信息更新到某一节点;然后该节点又可以通过广播方式将自己的局部拓扑信息告知周围节点,这种方式在异类点网络作用尤为明显,小功率节点可以将自己的信息传给某一大功率节点,并由此大功率节点替代自己将自己的信息广播给周围的节点,避免了小功率节点的不必要的洪泛。当然控制包需要有别于数据包,因此可以通过设置UDP协议端口号来方便接收节点判定该包是否为控制包。2)对于接收节点,在中间层截获数据帧时,由于中间层位于TCP/IP之下,因此需要根据各协议层数据包头在RFC中的定义对数据帧进行解析,在此需建立必要的数据包头结构来方便处理对应数值,如struct UDPHeader,这样的话当提取到UDP头部时,我们就可以直接取得UDPHeader中的端口值来判定此当前数据帧内容是否是控制数据包。如果不是,则可以将此包传给上层协议,否则需要对此本文档来自技高网...
【技术保护点】
WINCE下Ad Hoc网络局部拓扑形成与维护方法,其特征在于,包括以下步骤: Step1对于网络中的每个节点,都需要维护一个二维链表,链表表项通过指针与具有相同ID的链表表头产生关联,节点之间在网络驱动接口规范NDIS的中间层通过UDP协议进行发包,并使收包方在底层截包,在将数据传往TCP/IP上层协议前对这些包进行处理,来维护拓扑信息; Step2每个节点周期性广播hello包来形成双向邻居,对于刚进入网络的节点,每一步骤均所需要的时间通过NDIS层的timer设置计时器来实现; Step3每个节点有选择地广播或单播自己的双向邻居信息,以便其它节点可以知道自己的邻居信息,或着有选择地决定是否代本节点广播邻居信息; Step4如果有必要,节点需要广播自己的局部拓扑图来与周围节点共享;Step5节点进入维护阶段,为每一个双向邻居表项设置一个时间戳来维护双向邻居,同时节点之间通过交换邻居列表得到周围节点的双向邻居信息,通过调用Broadcast,Unicast,或Multicast发UDP包来实现,另外节点或一次性地发送节点的拓扑图,来使周围节点进行局部拓扑的融合,通过调用Broadcast,Unicast,或Multicast发UDP包实现。...
【技术特征摘要】
1、WINCE下Ad Hoc网络局部拓扑形成与维护方法,其特征在于,包括以下步骤:Step1对于网络中的每个节点,都需要维护一个二维链表,链表表项通过指针与具有相同ID的链表表头产生关联,节点之间在网络驱动接口规范NDIS的中间层通过UDP协议进行发包,并使收包方在底层截包,在将数据传往TCP/IP上层协议前对这些包进行处理,来维护拓扑信息;Step2每个节点周期性广播hello包来形成双向邻居,对于刚进入网络的节点,每一步骤均所需要的时间通过NDIS层的timer设置计时器来实现;Step3每个节点有选择地广播或单播自己...
【专利技术属性】
技术研发人员:杨新宇,叶安华,亢旭,赵鹏,黄钺峰,
申请(专利权)人:西安交通大学,
类型:发明
国别省市:87[中国|西安]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。