一种报文转发方法及装置与流程

文档序号:12729491阅读:395来源:国知局
一种报文转发方法及装置与流程

本发明涉及通信技术领域,尤其涉及一种报文转发方法及装置。



背景技术:

在目前的无线网格(MESH)网络中的报文转发过程中,AC(Access Controller,接入控制器)与终端设备之间往往存在多个AP(Access Point,接入点),而每一跳的AP都会根据目的地址去查找MAC(Media Access Control,媒体访问控制地址)转发表项,当MAC表项数越来越多时,查找变成很耗时的工作,也影响了转发的效率。



技术实现要素:

有鉴于此,本发明提供一种报文转发方法及装置来解决现有技术中MESH组网中AP转发效率低下的问题。

具体地,本发明是通过如下技术方案实现的:

本发明提供种报文转发方法,所述方法应用于MESH网络中的AP,所述方法包括:

接收数据报文,判断所述数据报文是否携带用于指导转发的标签转发信息;

若是,则在所述标签转发信息中包含的目的转发标签不为本AP的标签时,在本地记录的转发标签与AP的对应关系中查找所述目的转发标签对应的目的AP,并将所述数据报文转发至所述目的AP;在所述目的转发标签为本AP的标签时,去掉所述数据报文的标签转发信息,根据所述数据报文的目的MAC地址查找MAC地址表项进行转发;

若否,则进一步判断所述数据报文的出接口是否为MESHLINK口;

如果是,则为所述报文添加标签转发信息后转发至下一跳AP;如果不是,则根据MAC地址表项转发。

进一步的,所述方法还包括:

AP上线时,接收管理该AP的AC分配的转发标签,在本地记录所述转发标签与本AP的对应关系。

进一步的,所述为所述报文添加标签转发信息,具体包括:

将该将本AP对应的转发标签作为该报文的源转发标签;

根据该报文的目的MAC地址在本地的MAC地址表项中查找目的MAC地址所对应的目的AP,在本地记录的转发标签与AP的对应关系中查找所述目的AP对应的转发标签,并在查找到时,将查找到的转发标签作为该报文的目的转发标签;

为所述报文添加标签转发信息,所述标签转发信息中包括所述源转发标签为本AP对应的转发标签,以及所述目的转发标签为所述目的AP对应的转发标签。

进一步的,若在本地记录的转发标签与AP的对应关系中未查找到所述目的AP对应的转发标签,则所述方法进一步包括:

发送广播报文,所述广播报文中包括源转发标签,所述源转发标签为本AP对应的转发标签;以使收到所述广播报文的AP记录源转发标签与其对应的AP;

接收所述目的AP针对所述广播报文发送的响应报文,所述响应报文携带所述目的AP对应的转发标签;将所述目的AP及其转发标签的对应关系记录在本地。

进一步的,所述方法还包括:

为本地记录的转发标签与AP的对应关系设置老化时间,超过老化时间时,将所述转发标签与AP的对应关系删除。

基于相同的构思,本发明还提供一种报文转发装置,所述装置应用于MESH网络中的AP,所述装置包括:

报文接收单元,用于接收数据报文,判断所述数据报文是否携带用于指导转发的标签转发信息;

第一转发单元,用于若所述数据报文携带标签转发信息,则在所述标签转发信息中包含的目的转发标签不为本AP的标签时,在本地记录的转发标签与AP的对应关系中查找所述目的转发标签对应的目的AP,并将所述数据报文转发至所述目的AP;在所述目的转发标签为本AP的标签时,去掉所述数据报文的标签转发信息,根据所述数据报文的目的MAC地址查找MAC地址表项进行转发;

报文判断单元,用于若所述数据报文未携带标签转发信息,则进一步判断所述数据报文的出接口是否为MESHLINK口;

第二转发单元,用于如果所述数据报文的出接口是MESHLINK口,则为所述报文添加标签转发信息后转发至下一跳AP;

第三转发单元,用于如果所述数据报文的出接口不是MESHLINK口,则根据MAC地址表项转发。

进一步的,所述装置还包括:

关系记录单元,用于在AP上线时,接收管理该AP的AC分配的转发标签,在本地记录所述转发标签与本AP的对应关系。

进一步的,所述第二转发单元,具体用于将该将本AP对应的转发标签作为该报文的源转发标签;根据该报文的目的MAC地址在本地的MAC地址表项中查找目的MAC地址所对应的目的AP,在本地记录的转发标签与AP的对应关系中查找所述目的AP对应的转发标签,并在查找到时,将查找到的转发标签作为该报文的目的转发标签;为所述报文添加标签转发信息,所述标签转发信息中包括所述源转发标签为本AP对应的转发标签,以及所述目的转发标签为所述目的AP对应的转发标签。

进一步的,所述装置还包括:

报文广播单元,用于在所述第二转发单元在判断出本地记录的转发标签与AP的对应关系中未查找到所述目的AP对应的转发标签时,发送广播报文,所述广播报文中包括源转发标签,所述源转发标签为本AP对应的转发标签;以使收到所述广播报文的AP记录源转发标签与其对应的AP;接收所述目的AP针对所述广播报文发送的响应报文,所述响应报文携带所述目的AP对应的转发标签;将所述目的AP及其转发标签的对应关系记录在本地。

进一步的,所述关系记录单元,还用于为本地记录的转发标签与AP的对应关系设置老化时间,超过老化时间时,将所述转发标签与AP的对应关系删除。

由此可见,本发明可以使MESH网络中的AP接收数据报文时,先判断该数据报文是否携带标签转发信息,若是,则在目的转发标签不为本AP的标签时,查找所述目的转发标签对应的目的AP,并将所述报文转发至所述目的AP;在所述目的转发标签为本AP的标签时,去掉所述报文的标签转发信息,根据所述报文的目的MAC地址查找MAC地址表项进行转发;若否,则判断该数据报文的出接口是否为MESHLINK口;如果是,则为所述报文添加标签转发信息后转发至下一跳AP;如果否,则根据MAC地址表项转发。因此本发明可以在MESH网络中的报文转发过程中,避免每一跳AP都通过查找MAC转发表项进行指导转发,从而可以减少AP的转发时间,提高AP的转发效率。

附图说明

图1是本发明一种示例性实施方式中的一种报文转发方法的处理流程图;

图2是本发明一种示例性实施方式中的MESH网络示意图;

图3本发明一种示例性实施方式中的报文转发处理流程图;

图4a本发明一种示例性实施方式中的报文转发装置所在AP的硬件结构图;

图4b本发明一种示例性实施方式中的一种报文转发装置的逻辑结构图。

具体实施方式

为了解决现有技术存在的问题,本发明提供一种报文转发方法及装置,可以使MESH网络中的AP接收数据报文时,先判断该数据报文是否携带标签转发信息,若是,则在目的转发标签不为本AP的标签时,查找所述目的转发标签对应的目的AP,并将所述报文转发至所述目的AP;在所述目的转发标签为本AP的标签时,去掉所述报文的标签转发信息,根据所述报文的目的MAC地址查找MAC地址表项进行转发;若否,则判断该数据报文的出接口是否为MESHLINK口;如果是,则为所述报文添加标签转发信息后转发至下一跳AP;如果否,则根据MAC地址表项转发。因此本发明可以在MESH网络中的报文转发过程中,避免每一跳AP都通过查找MAC转发表项进行指导转发,从而可以减少AP的转发时间,提高AP的转发效率。

请参考图1,是本发明一种示例性实施方式中的一种报文转发方法的处理流程图,所述方法应用于MESH网络中的AP,所述方法包括:

步骤101、接收数据报文,判断所述数据报文是否携带用于指导转发的标签转发信息;如果是,则转步骤102;如果否,则转步骤103;

在本实施例中,当AP收到数据报文时,可以判断报文是否携带用于指导报文转发的标签转发信息。所谓的标签转发信息包括源转发标签和目的转发标签,转发标签是AP上线时由AC为AP分配的,每个转发标签与AP都一一对应,AP之间可以通过报文交互学习对方的转发标签,并将学习到的转发标签与AP的对应关系记录在本地的数据库中,因此可以使AP通过转发标签将报文转发到对应的AP。

步骤102、在所述标签转发信息中包含的目的转发标签不为本AP的标签时,在本地记录的转发标签与AP的对应关系中查找所述目的转发标签对应的目的AP,并将所述数据报文转发至所述目的AP;在所述目的转发标签为本AP的标签时,去掉所述数据报文的标签转发信息,根据所述数据报文的目的MAC地址查找MAC地址表项进行转发;

在本实施例中,所述MESH网络中包括多个AP,这些AP位于AC与终端设备之间,根据AP所处的位置不同,可以将MESH网络中的AP具体分为发送端AP(即指与报文发送设备相连的AP)、接收端AP(即指与报文接收设备相连的AP)、以及位于发送端AP和接收端AP之间的转发AP。

当AP确定收到的数据报文携带标签转发信息时,可以进一步在确定所述数据报文的标签转发信息中包含的目的转发标签不为本AP的标签时,认为该AP为发送端AP或者转发AP,因此可以在本地记录的转发标签与AP的对应关系中查找所述目的转发标签对应的目的AP,并将所述数据报文转发至所述目的AP;在确定所述目的转发标签为本AP的标签时,可以认为该AP为接收端AP,该AP需要将该数据报文转发至终端设备,因此可以去掉所述数据报文的标签转发信息,根据所述数据报文的目的MAC地址查找MAC地址表项进行转发。

步骤103、进一步判断所述数据报文的出接口是否为MESHLINK口;如果是,则转步骤104;如果否,则转步骤105;

在本实施例中,AP可以进一步根据收到的数据报文的目的MAC地址在本地的MAC地址表项中查找该目的MAC地址对应的出接口,然后判断所述出接口是否为MESHLINK口,若是,则可确定所述报文可以在MESH网络中转发。

步骤104、为所述数据报文添加标签转发信息后转发至下一跳AP;

作为一个实施例,添加标签转发信息的具体方法为:AP将本AP对应的转发标签作为该数据报文的源转发标签;根据该报文的目的MAC地址在本地的MAC地址表项中查找目的MAC地址所对应的目的AP,在本地记录的转发标签与AP的对应关系中查找所述目的AP对应的转发标签,并在查找到时,将查找到的转发标签作为该报文的目的转发标签;为所述数据报文添加标签转发信息,所述标签转发信息中包括所述源转发标签和所述目的转发标签。

作为一个实施例,若AP在本地记录的转发标签与AP的对应关系中未查找到所述目的AP对应的转发标签,则进一步可以发送广播报文,所述广播报文中包括源转发标签,所述源转发标签为本AP对应的转发标签,以使收到所述广播报文的AP记录发送广播报文AP与其转发标签的对应关系;然后接收所述目的AP针对所述广播报文发送的响应报文,所述响应报文携带所述目的AP及其对应的转发标签;然后将所述目的AP及其转发标签的对应关系记录在本地。

步骤105、根据MAC地址表项转发。

若所述数据报文的出接口非MESHLINK口,则可确定所述数据报文不可以在MESH网络中转发,因此AP可以根据MAC地址表项转发该数据报文。

因此本发明可以使数据报文在AP之间通过查找转发标签进行转发,从而避免每一跳的AP都查找常规的MAC转发表项进行转发,减少查找MAC转发表项的时间,提高了转发效率。

此外,在本发明可选的实施例中,AP在记录转发标签与AP的对应关系时,可以进一步为本地记录的转发标签与AP的对应关系设置老化时间,当对应关系超过老化时间时,可将所述转发标签与AP的对应关系删除,从而可以减少对应关系的内存占用空间。

为使本发明的目的、技术方案及优点更加清楚明白,下面结合图2对本发明的方案作进一步地详细说明。

请参见图2,是本发明实施例中MESH网络示意图,该MESH网络中包括AC、AP1、AP2、AP3以及终端A和终端B,假设其中终端A要通过该MESH网络向终端B发送数据报文,那么终端A为报文发送设备,终端B为报文接收设备。

在本实施例中,AC可以在某一个AP上线时,分配给该AP一个固定转发标签,例如AP1的转发标签为标签1,AP2的转发标签为标签2,AP3的转发标签为标签3,该转发标签用于MESH网络中报文转发时携带。当某一个数据报文第一次在MESH网络中转发时,根据本发明提供的报文转发方法,AP在收到数据报文时处理步骤如图3所示,其中包括步骤:

步骤301、AP1判断所述数据报文是否携带标签转发信息,若否,则转步骤302;

具体来讲,AP1在收到终端A发送的数据报文时,可以判断该数据报文是否携带标签转发信息。由于该数据报文在从终端A发往终端B时,经过的首个AP即为AP1,因此该数据报文还未添加标签转发信息,因此AP1可以确定该数据报文未携带标签转发信息,从而也确定AP1为发送端AP。

步骤302、AP1判断该数据报文的出接口是否为MESHLINK口,若是则转步骤303;若否,则转步骤310;

由于AP1确定该数据报文未携带标签转发信息,因此需要进一步确定该数据报文的出接口是否为MESHLINK口。AP1可以根据报文的目的MAC地址在本地的MAC地址表项中查找该目的MAC地址对应的出接口,然后判断所述出接口是否为MESHLINK口。

步骤303、AP1为所述数据报文添加标签转发信息并转发至AP2;

当AP1确定所述数据报文的出接口为MESHLINK口时,可以认为该报文可以在MEAH网络中转发。然而由于该数据报文中未携带标签转发信息,因此AP1需要为该数据报文添加标签转发信息。作为一个实施例,添加标签转发信息的具体方法为:AP1将本AP1对应的转发标签(标签1)作为该数据报文的源转发标签;根据该报文的目的MAC地址在本地的MAC地址表项中查找目的MAC地址所对应的目的AP,即AP3,然后在本地记录的转发标签与AP3的对应关系中查找所述目的AP3对应的转发标签(标签3)作为该报文的目的转发标签;因此AP1可以为所述报文添加标签转发信息,所述标签转发信息中包括所述源转发标签(标签1)和所述目的转发标签(标签3)。之后可以将添加标签转发信息后的数据报文转发至下一跳AP(即AP2)。

步骤304、AP2判断所述数据报文是否携带标签转发信息,若是,则转步骤305;

AP2在收到AP1发送的数据报文时,可以判断该数据报文是否携带标签转发信息。由于该数据报文在AP1上已经添加标签转发信息,因此AP2可以确定所述数据报文携带标签转发信息。

步骤305、AP2判断所述标签转发信息中包含的目的转发标签是否为本AP;若否,则转步骤306;

经判断,所述数据报文的标签转发信息中包含的目的转发标签是标签3,不是AP2对应的转发标签,因此可以确定该AP2为转发AP。

步骤306、AP2根据目的转发标签将所述数据报文转发至AP3;

由于所述数据报文的标签转发信息中包含的目的转发标签不是AP2对应的转发标签,因此AP2可以在本地记录的转发标签与AP的对应关系中查找所述目的转发标签对应的目的AP(即AP3),并将所述数据报文转发至所述目的AP。

步骤307、AP3判断所述数据报文是否携带标签转发信息,若是,则转步骤308;

AP3在收到AP2发送的数据报文时,可以判断该数据报文是否携带标签转发信息。由于该数据报文在AP1上已经添加标签转发信息,因此AP3可以确定所述数据报文携带标签转发信息。

步骤308、AP3判断所述标签转发信息中包含的目的转发标签是否为本AP;若是,则转步骤309;

经判断,所述数据报文的标签转发信息中包含的目的转发标签是标签3,正是AP3对应的转发标签,因此可以确定该AP3是接收端AP。

步骤309、AP3去掉所述数据报文的标签转发信息,将所述数据报文转发至终端B;

在确定所述标签转发信息中包含的目的转发标签为AP3时,AP3可以去掉所述数据报文的标签转发信息,根据所述报文的目的MAC地址查找MAC地址表项将报文转发至终端B。

步骤310、根据MAC地址表项转发。

若所述数据报文的出接口为非MESHLINK口,则可确定所述数据报文不可以在MESH网络中转发,因此AP1可以根据MAC地址表项转发该报文。

由此可见,本发明可以在具有3跳的MESH网络中,只需在接收端AP和发送端AP中查找MAC表项,在转发AP中通过转发标签转发MESH报文,从而可以减少通过MAC表项查找指导转发的时间消耗,提高转发效率。

基于相同的构思,本发明还提供一种报文转发装置,该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,本发明的报文转发装置作为一个逻辑意义上的装置,是通过其所在装置的CPU将存储器中对应的计算机程序指令读取后运行而成。

请参考图4a,是本发明一种示例性实施方式中的一种报文转发装置400,所述装置应用于MESH网络中的AP,该装置基本运行环境包括CPU,存储器以及其他硬件,从逻辑层面上来看,该装置400的逻辑结构如图4b所示,其中包括:

报文接收单元401,用于接收数据报文,判断所述数据报文是否携带用于指导转发的标签转发信息;

第一转发单元402,用于若所述数据报文携带标签转发信息,则在所述标签转发信息中包含的目的转发标签不为本AP的标签时,在本地记录的转发标签与AP的对应关系中查找所述目的转发标签对应的目的AP,并将所述数据报文转发至所述目的AP;在所述目的转发标签为本AP的标签时,去掉所述数据报文的标签转发信息,根据所述数据报文的目的MAC地址查找MAC地址表项进行转发;

报文判断单元403,用于若所述数据报文未携带标签转发信息,则进一步判断所述数据报文的出接口是否为MESHLINK口;

第二转发单元404,用于如果所述数据报文的出接口是MESHLINK口,则为所述报文添加标签转发信息后转发至下一跳AP;

第三转发单元405,用于如果所述数据报文的出接口不是MESHLINK口,则根据MAC地址表项转发。

可选的,所述装置还包括:

关系记录单元406,用于在AP上线时,接收管理该AP的AC分配的转发标签,在本地记录所述转发标签与本AP的对应关系。

可选的,所述第二转发单元404,具体用于将该将本AP对应的转发标签作为该报文的源转发标签;根据该报文的目的MAC地址在本地的MAC地址表项中查找目的MAC地址所对应的目的AP,在本地记录的转发标签与AP的对应关系中查找所述目的AP对应的转发标签,并在查找到时,将查找到的转发标签作为该报文的目的转发标签;为所述报文添加标签转发信息,所述标签转发信息中包括所述源转发标签为本AP对应的转发标签,以及所述目的转发标签为所述目的AP对应的转发标签。

可选的,所述装置还包括:

报文广播单元407,用于在所述第二转发单元404判断出在本地记录的转发标签与AP的对应关系中未查找到所述目的AP对应的转发标签时,发送广播报文,所述广播报文中包括源转发标签,所述源转发标签为本AP对应的转发标签;以使收到所述广播报文的AP记录源转发标签与其对应的AP;接收所述目的AP针对所述广播报文发送的响应报文,所述响应报文携带所述目的AP对应的转发标签;将所述目的AP及其转发标签的对应关系记录在本地。

可选的,所述关系记录单元406,还用于为本地记录的转发标签与AP的对应关系设置老化时间,超过老化时间时,将所述转发标签与AP的对应关系删除。

由此可见,本发明可以使MESH网络中的AP接收数据报文时,先判断该数据报文是否携带标签转发信息,若是,则在目的转发标签不为本AP的标签时,查找所述目的转发标签对应的目的AP,并将所述报文转发至所述目的AP;在所述目的转发标签为本AP的标签时,去掉所述报文的标签转发信息,根据所述报文的目的MAC地址查找MAC地址表项进行转发;若否,则判断该数据报文的出接口是否为MESHLINK口;如果是,则为所述报文添加标签转发信息后转发至下一跳AP;如果否,则根据MAC地址表项转发。因此本发明可以在MESH网络的报文转发过程中,避免每一跳AP都通过查找MAC转发表项进行指导转发,从而可以减少AP的转发时间,提高AP的转发效率。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1