在TDMA协议的无线自组网中实现快速分组转发的方法技术

技术编号:9993514 阅读:133 留言:0更新日期:2014-05-02 12:52
本发明专利技术公开了一种在TDMA协议的无线自组网中实现快速分组转发的方法,解决现有技术中节点硬件资源紧张及转发过程中分组组帧带来的时间开销过大,网络性能低下的问题。其实现步骤为:在FPGA实现的MAC层中建立路由表,在接收到MAC层数据帧后,根据数据帧的地址类型确定接收与转发:如果接收地址为广播地址,则接收该数据;如果该接收地址为其他节点,则丢弃该数据包;如果接收地址为当前节点,则对该数据帧的目的地址进行判断,如果其目的地址为当前节点,则直接接收该数据;如果其目的地址为其他节点,则根据MAC层中的路由表对该数据帧转发。本发明专利技术有效的降低了硬件资源开销,降低了转发的端到端时延,提高了网络的性能。

【技术实现步骤摘要】
在TDMA协议的无线自组网中实现快速分组转发的方法
本专利技术涉及无线通信领域,特别涉及到一种信息分组的快速转发,可用于不同应用场景下采用时分多址接入TDMA协议的无线自组网Adhoc网络。
技术介绍
Adhoc网络不依赖于任何预设的网络设施,在彼此通信覆盖范围内的两个网络节点可以直接通信,但两个相距较远的网络节点必须要通过其他网络节点的转发才能进行通信,因此网络节点还担负着报文转发的工作。由于每个主机的通信范围有限,数据一般需要通过多个节点的转发才能到达目的地,因此节点的报文转发吞吐量以及时延对于整个网络的性能有很大的影响。在传统的多址接入层采用TDMA协议的Adhoc网络中,接收节点在接收到多址接入MAC层数据帧时,必须将MAC层数据帧组合成网络层数据包,然后在网络层对该数据包进行路由处理寻找下一跳节点,最后再对网络层数据包进行分组处理形成MAC数据帧进行转发。每一次转发都需要进行上述过程,这样做会产生两个弊端,第一,随着网络规模的扩大,网络中每个节点平均要处理的转发请求会增加,转发带来的硬件和时间资源消耗会使处理能力有限的节点忙于转发的处理,无法及时有效的完成其作为移动终端自身应该完成的数据处理任务。第二,在网络节点自身的数据处理任务繁忙或者网络中的转发请求较多时,一部分报文的转发请求不能得到及时的响应,从而导致报文端到端时延较大,使得网络性能严重下降。
技术实现思路
本专利技术的目的在于针对上述现有技术的缺陷,提出一种在TDMA协议下的无线自组网Adhoc网络中实现快速分组转发的方法,以减少节点资源消耗和报文的端到端时延,提升了网络的系统性能。本专利技术技术方案是:利用FPGA在MAC层完成数据分组的转发,其实现步骤包括如下:(1)每次节点开机时,在FPGA中初始化用于多址接入MAC层快速分组转发的路由表,并在每次网络层的路由信息发生变化时,更新该路由表:(1a)在FPGA中生成存储深度为M、数据宽度为Lbits的路由表存储模块RAM0,在该路由表存储模块RAM0中存储路由表,M,L满足2L≥N,M≥N,N为网络中的节点个数;(1b)在网络层维护的路由信息发生改变时,将路由信息更新到FPGA中的多址接入MAC层路由表中,路由表存储模块RAM0的地址表示路由表中的目的节点,该地址上存储的值表示从当前节点到达此目的节点所要经过的下一跳节点;(2)对接收的多址接入MAC层数据帧接收地址进行判断:若接收地址为广播地址,则表明该数据帧为广播帧,当前节点接收该数据帧,执行步骤(3);若接收地址为当前节点地址,则查看目的地址,若目的地址为当前节点地址,则执行步骤(3),若目的节点不为当前节点地址,则执行步骤(4);若接收地址既不为广播地址,也不为当前节点,则丢弃该帧;(3)当前节点直接接收数据,根据多址接入MAC层数据帧的序号,将多址接入MAC层数据帧组合成网络层数据包,提交给网络层使用;(4)在FPGA中对多址接入MAC层数据帧进行转发:(4a)首先查询FPGA中存储的路由表,根据多址接入MAC层数据帧的目的节点,查询出下一跳节点地址Nh;(4b)从接收存储模块RAM1中读取多址接入MAC层数据帧,存入到发送存储模块RAM2当中,然后将发送存储模块RAM2中的接收地址修改为下一跳节点地址Nh;(4c)在该转发节点的发送时隙中进行发送,将存储在发送存储模块RAM2中的数据发送,完成本次多址接入MAC层数据帧的快速分组转发;(5)在每次接收到新的多址接入MAC层数据帧后,重复执行步骤(2)-(4)。本专利技术与现有技术相比,由于MAC帧携带目的地址信息,FPGA在MAC层完成报文的转发工作,具有如下优点:1)能够有效地节省网络节点的处理器和存储资源,使网络节点有尽可能多的资源来完成自身的数据处理,人机交互等任务。2)避免了分组和组帧带来的时间开销,极大地降低一次转发所占用的时间开销,使得报文的端到端时延减少,提升了网络的系统性能。附图说明图1是本专利技术的实现流程图;图2是现有TDMA数据帧的结构图。具体实施方式下面结合附图对本
技术实现思路
作详细叙述:参照图1,本专利技术的实现步骤如下:步骤1,初始化路由表,并在网络层维护的路由信息发生改变时对路由表进行更新。(1a)路由表包含了网络中节点的路径信息,可以为经过当前节点的报文寻找一条最佳传输路径,每次节点开机时,需要在FPGA中初始化用于快速分组转发的路由表,在FPGA开发环境中使用IP核工具生成存储深度为M、数据宽度为L位的路由表存储模块RAM0,路由表存储模块RAM0的地址表示路由表中的目的节点,该地址上存储的值表示从当前节点到达此目的节点所要经过的下一跳节点,其中M、L满足2L≥N,M≥N,N为网络中的节点个数。(1b)网络层负责路由信息的建立和维护工作,由于网络中的路由信息不断变化,为了保证多址接入MAC层的路由信息正确,在每次网络层的路由信息发生变化时,处理器通过数据地址复用总线将最新的路由信息写入到多址接入MAC层的路由表中。步骤2,对接收的多址接入MAC层数据帧接收地址进行判断。如图2所示,根据现有TDMA数据帧结构,在接收到一帧多址接入MAC层数据帧后,从接收存储模块RAM1读取其中的帧序号,接收地址,目的地址并进行判断:若接收地址为广播地址,表示该数据帧发送至网络中的所有节点,则当前节点接收该数据帧,执行步骤3;若接收地址为当前节点地址,则查看目的地址,若目的地址为当前节点地址,则执行步骤3,若目的节点不为当前节点地址,则执行步骤4,对该多址接入MAC层数据帧进行转发处理;若接收地址既不为广播地址,也不为当前节点,说明该帧数据发送至其他节点,则丢弃该帧,不进行处理。步骤3,当前节点直接接收数据。处理器通过数据地址复用总线从接收存储模块RAM1读取多址接入MAC层数据帧中数据部分和目的地址Ad,然后根据帧序号将数据部分按顺序组合成网络层数据包,最后将网络层数据包的目的地址设为目的地址Ad,这样就获得一个完整的网络层数据包。步骤4,在FPGA中对多址接入MAC层数据帧进行转发。(4a)查询路由表中的下一跳节点地址,以多址接入MAC层数据帧的目的节点为地址,读取路由表存储模块RAM0该地址的值,该值即为到达该目的节点路径上的下一跳节点地址Nh;(4b)从接收存储模块RAM1中读取多址接入MAC层数据帧,将其完整不变地搬移到发送存储模块RAM2当中,然后将发送存储模块RAM2中的接收地址修改为下一跳节点地址Nh,同时使发送使能标志处于置位状态,该发送使能标志表示是否有新数据需要发送;(4c)在当前节点的时隙到来时,查询发送使能标志,若该标志为置位状态,将在发送存储模块RAM2中的数据发送,完成本次多址接入MAC层数据帧的快速分组转发。步骤5,在每次接收到新的多址接入MAC层数据帧后,重复执行步骤2-4。以上描述仅是本专利技术的一个具体实例,不构成对本专利技术的任何限制,显然对于本领域的专业人员来说,在了解了本
技术实现思路
和原理后,都可能在不背离本专利技术原理,结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本专利技术思想的修正和改变仍在本专利技术的权利要求保护范围之内。本文档来自技高网
...
在TDMA协议的无线自组网中实现快速分组转发的方法

【技术保护点】

【技术特征摘要】
1.一种在TDMA协议下的无线自组网中实现快速分组转发的方法,其特征在于,利用FPGA在多址接入MAC层完成数据分组的转发,实现步骤包括如下:(1)每次节点开机时,在FPGA中初始化用于多址接入MAC层快速分组转发的路由表,并在每次网络层的路由信息发生变化时,更新该路由表:(1a)在FPGA中生成存储深度为M、数据宽度为Lbits的路由表存储模块RAM0,在该路由表存储模块RAM0中存储路由表,M、L满足2L≥N,M≥N,N为网络中的节点个数;(1b)在网络层维护的路由信息发生改变时,将路由信息更新到FPGA中的多址接入MAC层路由表中,路由表存储模块RAM0的地址表示路由表中的目的节点,该地址上存储的值表示从当前节点到达此目的节点所要经过的下一跳节点;(2)对接收的多址接入MAC层数据帧接收地址进行判断:若接收地址为广播地址,则表明该数据帧为广播帧,当前节点接收该数据帧,执行步骤(3);若接收地址为当前节点地址,则查看目的地址,若目的地址为当前节点地址,则执行步骤(3),若目的节点不为当前节点地址,...

【专利技术属性】
技术研发人员:史琰冉少强盛敏张国鑫覃进广唐安律王红红
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1