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

文档序号:17375234发布日期:2019-04-12 23:14阅读:175来源:国知局
一种报文转发方法及装置与流程

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



背景技术:

mlag(multi-chassislinkaggregationgroups,跨设备聚合)是通过将两台物理设备在聚合层面虚拟成一台设备来实现跨设备链路聚合,从而提供设备级冗余保护和流量负载分担。drni(distributedresilientnetworkinterconnect,分布式弹性网络互连)是一种跨设备链路聚合技术,drni典型组网中两台dr(distributedrelay,分布式聚合)设备通过以太网链路聚合形成dr系统。

drni为每台dr设备定义了以下几个接口角色:dr接口和ipp(intra-portalport,内部控制链路端口)。dr接口为dr设备与外部设备相连的二层聚合接口,本端的dr设备和邻居dr设备与外部设备上相同聚合组连接的dr接口属于同一dr组。ipp为连接邻居dr设备用于内部控制的二层聚合接口,每台dr设备只有一个ipp,ipp间通过ipl(intra-portallink,内部控制链路)在dr设备间传输drni协议报文。

如图1所示的drni网络模型,dr设备a和dr设备b形成负载分担,两个dr设备互为邻居,共同进行报文转发,当其中一台dr设备发生故障时,报文可以快速切换到另一台dr设备,保证业务的正常运行。当有bum(broadcast/unknownunicast/unknownmulticast,广播/未知单播/未知组播)报文从接入设备c接入,假设经过hash(哈希)运算,确定bum上行到dr设备a,由于是bum报文,该报文会继续由dr设备a经ipl转发到dr设备b,使得ipl的带宽被占用,造成了ipl带宽资源的浪费。



技术实现要素:

本发明实施例的目的在于提供一种报文转发方法及装置,以节省ipl的带宽资源。具体技术方案如下:

第一方面,本发明实施例提供了一种报文转发方法,应用于接入设备,所述方法包括:

接收上行的待转发报文;

判断所述待转发报文是否为已知单播报文;

若所述待转发报文不是已知单播报文,则通过预先划分的各上行端口组,向分别与各上行端口组属于同一聚合子群组的子dr组转发所述待转发报文,以使各子dr组中的dr设备在识别到所述待转发报文携带聚合子群组标识时,向除该子dr组的邻居dr设备以外的其他邻居设备转发所述待转发报文,所述聚合子群组为对dr组进行划分得到的子dr组与该子dr组中的dr设备连接的所述接入设备的至少一个上行端口组成的聚合组。

第二方面,本发明实施例提供了一种报文转发方法,应用于dr设备,所述方法包括:

接收上行的待转发报文;

判断所述待转发报文是否为已知单播报文,并识别所述待转发报文是否携带聚合子群组标识;

若所述待转发报文不是已知单播报文,且识别到所述待转发报文携带聚合子群组标识,则向除所述dr设备所属子dr组的邻居dr设备以外的其他邻居设备转发所述待转发报文,所述子dr组为预先对dr组划分得到,所述聚合子群组标识为所述dr设备所属子dr组与所述子dr组中的dr设备连接的接入设备的至少一个上行端口组成的聚合组的标识。

第三方面,本发明实施例提供了一种报文转发装置,应用于接入设备,所述装置包括:

接收模块,用于接收上行的待转发报文;

判断模块,用于判断所述待转发报文是否为已知单播报文;

转发模块,用于若所述待转发报文不是已知单播报文,则通过预先划分的各上行端口组,向分别与各上行端口组属于同一聚合子群组的子dr组转发所述待转发报文,以使各子dr组中的dr设备在识别到所述待转发报文携带聚合子群组标识时,向除该子dr组的邻居dr设备以外的其他邻居设备转发所述待转发报文,所述聚合子群组为对dr组进行划分得到的子dr组与该子dr组中的dr设备连接的所述接入设备的至少一个上行端口组成的聚合组。

第四方面,本发明实施例提供了一种报文转发装置,应用于dr设备,所述装置包括:

接收模块,用于接收上行的待转发报文;

判断模块,用于判断所述待转发报文是否为已知单播报文,并识别所述待转发报文是否携带聚合子群组标识;

转发模块,用于若所述待转发报文不是已知单播报文,且识别到所述待转发报文携带聚合子群组标识,则向除所述dr设备所属子dr组的邻居dr设备以外的其他邻居设备转发所述待转发报文,所述子dr组为预先对dr组划分得到,所述聚合子群组标识为所述dr设备所属子dr组与所述子dr组中的dr设备连接的接入设备的至少一个上行端口组成的聚合组的标识。

第五方面,本发明实施例提供了一种接入设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行的指令,所述指令由所述处理器加载并执行:以实现本发明实施例第一方面所述的方法。

第六方面,本发明实施例提供了一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行的指令,所述指令由处理器加载并执行,以实现本发明实施例第一方面所述的方法。

第七方面,本发明实施例提供了一种dr设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行的指令,所述指令由所述处理器加载并执行:以实现本发明实施例第二方面所述的方法。

第八方面,本发明实施例提供了一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行的指令,所述指令由处理器加载并执行,以实现本发明实施例第二方面所述的方法。

本发明实施例提供的一种报文转发方法及装置,接入设备在接收到上行的待转发报文后,判断该待转发报文是否为已知单播报文,若该待转发报文不是已知单播报文,则通过预先划分的各上行端口组,向分别与各上行端口组属于同一聚合子群组的子dr组转发该待转发报文。各子dr组中的dr设备在接收到该待转发报文后,若识别到该待转发报文携带聚合子群组标识,则向除该子dr组的邻居dr设备以外的其他邻居设备转发该待转发报文。通过对接入设备的上行端口进行分组、以及对各dr设备组成的dr组进行分组,使得上行端口和具有连接关系的dr设备之间建立聚合子群组,每个聚合子群组可以同时独立地转发待转发报文,使得每个聚合子群组中的dr设备可以通过聚合子群组接收到非已知单播报文,而接收到非已知单播报文的dr设备不再通过ipl向邻居dr设备转发该报文,从而节省了ipl的带宽资源。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术的drni网络模型结构示意图;

图2为本发明实施例的应用于接入设备的报文转发方法的流程示意图;

图3为本发明实施例的应用于dr设备的报文转发方法的流程示意图;

图4为本发明实施例的应用于接入设备的报文转发装置的结构示意图;

图5为本发明实施例的应用于dr设备的报文转发装置的结构示意图;

图6为本发明实施例的接入设备的结构示意图;

图7为本发明实施例的dr设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了节省ipl的带宽资源,本发明实施例提供了一种报文转发方法、装置、接入设备、dr设备及机器可读存储介质。下面,首先对本发明实施例所提供的报文转发方法进行介绍。

本发明实施例所提供的报文转发方法应用于dr系统,dr系统包括接入设备和dr设备。首先对本发明实施例所提供的报文转发方法分别在接入设备和dr设备中的执行过程进行介绍。

如图2所示,本发明实施例所提供的一种报文转发方法,应用于接入设备,该报文转发方法可以包括如下步骤:

s201,接收上行的待转发报文。

s202,判断待转发报文是否为已知单播报文。

接入设备可以通过识别待转发报文中是否包含有准确的目的mac(mediaaccesscontrol,介质访问控制)地址来判断待转发报文是否为已知单播报文,如果有准确的目的mac地址,则为已知单播报文,否则为bum报文。

s203,若待转发报文不是已知单播报文,则通过预先划分的各上行端口组,向分别与各上行端口组属于同一聚合子群组的子dr组转发该待转发报文,以使各子dr组中的dr设备在识别到待转发报文携带聚合子群组标识时,向除该子dr组的邻居dr设备以外的其他邻居设备转发待转发报文,其中,聚合子群组为对dr组进行划分得到的子dr组与该子dr组中的dr设备连接的所述接入设备的至少一个上行端口组成的聚合组。

本发明实施例中,为了节省ipl的带宽资源,目的是各dr设备可以直接通过dr接口接收到bum报文,而不需要经过ipp接收bum报文。基于此,在接入设备上,对于非已知单播报文的bum报文,不进行hash,而是进行vlan(virtuallocalareanetwork,虚拟局域网)内转发处理。

这样,就需要对分布式聚合的协议进行改进,使得接入设备的端口聚合和dr组的dr聚合能够互相感知,具体的,接入设备的端口聚合可以与dr组的dr聚合分配统一的聚合子群组,接入设备和dr设备直接的互通均通过聚合子群组来完成。

对于接入设备的上行端口,可以进行分组,如图1所示的dr系统,接入设备的上行端口可以分成2组(上行端口组1和上行端口组2),上行端口组1与dr设备a连接、上行端口组2与dr设备b连接,而dr组也可以相应的分成两个子dr组(即dr设备a为子dr组1、dr设备b为子dr组2),上行端口组1与子dr组1组成聚合子群组1、上行端口组2与子dr组2组成聚合子群组2,接入设备对bum报文的转发情况由端口hash转为聚合子群组全转发,这样,则可以保证dr设备都可以通过dr接口接收到bum报文,而不存在bum报文哈希到某一个dr设备,邻居dr设备无法从dr接口接收到该bum报文的情况。

每个聚合子群组中可以有1个或多个物理链路进行聚合,即上行端口组中可以不仅仅包括一个上行端口,也存在接入设备的多个上行端口与一个dr设备连接的情形;子dr组中可以不仅仅包括一个dr设备,对于包含多dr设备的复杂dr系统,可以一个dr设备对应一个聚合子群组,也可以多个dr设备对应一个聚合子群组。为了保证所有ipl的带宽资源能够得到最大程度的节省,优选的配置一个dr设备对应一个聚合子群组。

接入设备在转发待转发报文时,为了便于dr设备能够识别待转发报文是通过改进后的聚合子群组转发来的,可以在待转发报文中携带聚合子群组标识,该标识可以为例如subgroup1、subgroup2等标识。

可选的,s203具体可以包括:

在任一聚合子群组中,通过哈希运算,确定转发待转发报文的上行端口以及下一跳dr设备;

通过上行端口,向dr设备转发待转发报文。

针对每一个聚合子群组,在聚合子群组中可以重新进行hash计算,具体的hash运算过程为:报文的源mac地址和目的mac地址后三位进行异或计算,计算的结果在于当前聚合子群组中的处于选中状态的端口数目进行hash,hash的结果决定了走哪条聚合链路,即从哪一个上行端口转发到哪一个dr设备。

可选的,接入设备在执行s202之后,本发明实施例所提供的报文转发方法还可以执行如下步骤:

若待转发报文为已知单播报文,则通过哈希运算,确定转发待转发报文的上行端口组;

通过哈希运算,从上行端口组中,确定转发待转发报文的上行端口及下一跳dr设备;

通过上行端口,向dr设备转发待转发报文。

对于已知单播报文,接入设备可以按照现有技术的转发方式进行转发,当然,也可以通过先通过hash运算,确定出转发待转发报文的上行端口组,再进行一次hash运算,确定出具体转发待转发报文的上行端口及下一跳dr设备,具体的hash运算过程与上述聚合子群组中的hash运算过程相同,这里不再赘述。

如图3所示,本发明实施例所提供的一种报文转发方法,应用于dr设备,该报文转发方法可以包括如下步骤:

s301,接收上行的待转发报文。

s302,判断待转发报文是否为已知单播报文,并识别待转发报文是否携带聚合子群组标识。

dr设备可以通过识别待转发报文中是否包含有准确的目的mac地址来判断待转发报文是否为已知单播报文,并且为了判断待转发报文是否是通过聚合子群组来的,需要识别待转发报文是否携带聚合子群组标识。

s303,若待转发报文不是已知单播报文,且识别到待转发报文携带聚合子群组标识,则向除本dr设备所属子dr组的邻居dr设备以外的其他邻居设备转发该待转发报文,其中,子dr组为预先对dr组划分得到,聚合子群组标识为本dr设备所属子dr组与子dr组中的dr设备连接的接入设备的至少一个上行端口组成的聚合组的标识。

dr设备在识别到待转发报文为bum报文,并且识别到待转发报文是由聚合子群组发来的,此时,dr设备对从聚合子群组上行来的bum报文,ipp不进行转发,但可以从非ipp转发给除本dr设备所属子dr组的邻居dr设备以外的其他邻居设备。对于bum报文来讲,相当于dr设备在ipp和聚合子群组之间进行了隔离,通过聚合子群组发来的bum报文不会经ipp转发出去,而只是在本地进行处理。

可选的,dr设备在执行s302之后,本发明实施例所提供的报文转发方法还可以执行如下步骤:

若待转发报文为已知单播报文,则查找待转发报文的目的mac地址是否在dr设备本端;

若否,则通过ipp将待转发报文转发至邻居dr设备。

对于已知单播报文,经聚合子群组上行到dr设备后,会查找目的mac地址是在本地dr设备还是在邻居dr设备,在本地dr设备则本地dr设备进行转发,在邻居dr设备则通过ipp转发到邻居dr设备。

可选的,本发明实施例所提供的报文转发方法中,dr设备还可以执行如下步骤:

接收下行的待转发报文;

判断下行的待转发报文是否为已知单播报文;

若下行的待转发报文不是已知单播报文,则在dr设备所属的聚合子群组内,将下行的待转发报文转发至接入设备,并通过ipp将下行的待转发报文转发至邻居dr设备。

dr设备还可以对待转发报文进行识别,看是上行报文还是下行报文,对于下行的bum报文,bum报文需要从聚合子群组转发到接入设备一份,另外一份从ipp转发到邻居dr设备上。保证了下行报文不会受影响,仍然按照现有的转发方式进行转发。

应用本实施例,接入设备在接收到上行的待转发报文后,判断该待转发报文是否为已知单播报文,若该待转发报文不是已知单播报文,则通过预先划分的各上行端口组,向分别与各上行端口组属于同一聚合子群组的子dr组转发该待转发报文。各子dr组中的dr设备在接收到该待转发报文后,若识别到该待转发报文携带聚合子群组标识,则向除该子dr组的邻居dr设备以外的其他邻居设备转发该待转发报文。通过对接入设备的上行端口进行分组、以及对各dr设备组成的dr组进行分组,使得上行端口和具有连接关系的dr设备之间建立聚合子群组,每个聚合子群组可以同时独立地转发待转发报文,使得每个聚合子群组中的dr设备可以通过聚合子群组接收到非已知单播报文,而接收到非已知单播报文的dr设备不再通过ipl向邻居dr设备转发该报文,从而节省了ipl的带宽资源。即利用了空闲的上行聚合链路带宽,又节省了紧张的ipl带宽,一举两得。

并且,dr系统中虽然增加了聚合链路,但是实质上dr系统的网络架构并没有发生变化,这样的聚合链路的增加并不会影响到聚合分担,也不会导致报文的重复接收等问题。

相应于上述方法实施例,本发明实施例还提供了一种报文转发装置,如图4所示,应用于接入设备,该装置可以包括:

接收模块410,用于接收上行的待转发报文;

判断模块420,用于判断所述待转发报文是否为已知单播报文;

转发模块430,用于若所述待转发报文不是已知单播报文,则通过预先划分的各上行端口组,向分别与各上行端口组属于同一聚合子群组的子dr组转发所述待转发报文,以使各子dr组中的dr设备在识别到所述待转发报文携带聚合子群组标识时,向除该子dr组的邻居dr设备以外的其他邻居设备转发所述待转发报文,所述聚合子群组为对dr组进行划分得到的子dr组与该子dr组中的dr设备连接的所述接入设备的至少一个上行端口组成的聚合组。

可选的,所述转发模块430,具体可以用于:

在任一聚合子群组中,通过哈希运算,确定转发所述待转发报文的上行端口以及下一跳dr设备;

通过所述上行端口,向所述dr设备转发所述待转发报文。

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

确定模块,用于若所述待转发报文为已知单播报文,则通过哈希运算,确定转发所述待转发报文的上行端口组;通过哈希运算,从所述上行端口组中,确定转发所述待转发报文的上行端口及下一跳dr设备;

所述转发模块430,还可以用于通过所述上行端口,向所述dr设备转发所述待转发报文。

本发明实施例还提供了一种报文转发装置,如图5所示,应用于dr设备,该装置可以包括:

接收模块510,用于接收上行的待转发报文;

判断模块520,用于判断所述待转发报文是否为已知单播报文,并识别所述待转发报文是否携带聚合子群组标识;

转发模块530,用于若所述待转发报文不是已知单播报文,且识别到所述待转发报文携带聚合子群组标识,则向除所述dr设备所属子dr组的邻居dr设备以外的其他邻居设备转发所述待转发报文,所述子dr组为预先对dr组划分得到,所述聚合子群组标识为所述dr设备所属子dr组与所述子dr组中的dr设备连接的接入设备的至少一个上行端口组成的聚合组的标识。

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

查找模块,用于若所述待转发报文为已知单播报文,则查找所述待转发报文的目的mac地址是否在所述dr设备本端;

所述转发模块530,还可以用于若所述查找模块的查找结果为否,则通过ipp将所述待转发报文转发至邻居dr设备。

可选的,所述接收模块510,还可以用于接收下行的待转发报文;

所述判断模块520,还可以用于判断所述下行的待转发报文是否为已知单播报文;

所述转发模块530,还可以用于若所述下行的待转发报文不是已知单播报文,则在所述dr设备所属的聚合子群组内,将所述下行的待转发报文转发至接入设备,并通过ipp将所述下行的待转发报文转发至邻居dr设备。

应用本实施例,接入设备在接收到上行的待转发报文后,判断该待转发报文是否为已知单播报文,若该待转发报文不是已知单播报文,则通过预先划分的各上行端口组,向分别与各上行端口组属于同一聚合子群组的子dr组转发该待转发报文。各子dr组中的dr设备在接收到该待转发报文后,若识别到该待转发报文携带聚合子群组标识,则向除该子dr组的邻居dr设备以外的其他邻居设备转发该待转发报文。通过对接入设备的上行端口进行分组、以及对各dr设备组成的dr组进行分组,使得上行端口和具有连接关系的dr设备之间建立聚合子群组,每个聚合子群组可以同时独立地转发待转发报文,使得每个聚合子群组中的dr设备可以通过聚合子群组接收到非已知单播报文,而接收到非已知单播报文的dr设备不再通过ipl向邻居dr设备转发该报文,从而节省了ipl的带宽资源。

本发明实施例还提供了一种接入设备,如图6所示,包括处理器601和机器可读存储介质602,所述机器可读存储介质602存储有能够被所述处理器601执行的机器可执行的指令,所述指令由所述处理器601加载并执行:以实现本发明实施例所提供的应用于接入设备的报文转发方法。

本发明实施例还提供了一种dr设备,如图7所示,包括处理器701和机器可读存储介质702,所述机器可读存储介质702存储有能够被所述处理器701执行的机器可执行的指令,所述指令由所述处理器701加载并执行:以实现本发明实施例所提供的应用于dr设备的报文转发方法。

上述机器可读存储介质可以包括ram(randomaccessmemory,随机存取存储器),也可以包括nvm(non-volatilememory,非易失性存储器),例如至少一个磁盘存储器。可选的,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。

上述处理器可以是通用处理器,包括cpu(centralprocessingunit,中央处理器)、np(networkprocessor,网络处理器)等;还可以是dsp(digitalsignalprocessor,数字信号处理器)、asic(applicationspecificintegratedcircuit,专用集成电路)、fpga(field-programmablegatearray,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本实施例中,处理器601通过读取机器可读存储介质602中存储的机器可执行的指令,处理器701通过读取机器可读存储介质702中存储的机器可执行的指令,通过加载并执行指令,能够实现:接入设备在接收到上行的待转发报文后,判断该待转发报文是否为已知单播报文,若该待转发报文不是已知单播报文,则通过预先划分的各上行端口组,向分别与各上行端口组属于同一聚合子群组的子dr组转发该待转发报文。各子dr组中的dr设备在接收到该待转发报文后,若识别到该待转发报文携带聚合子群组标识,则向除该子dr组的邻居dr设备以外的其他邻居设备转发该待转发报文。通过对接入设备的上行端口进行分组、以及对各dr设备组成的dr组进行分组,使得上行端口和具有连接关系的dr设备之间建立聚合子群组,每个聚合子群组可以同时独立地转发待转发报文,使得每个聚合子群组中的dr设备可以通过聚合子群组接收到非已知单播报文,而接收到非已知单播报文的dr设备不再通过ipl向邻居dr设备转发该报文,从而节省了ipl的带宽资源。

另外,本发明实施例还提供了一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行的指令,所述指令被处理器加载并执行,以实现本发明实施例所提供的应用于接入设备的报文转发方法。

本发明实施例还提供了一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行的指令,所述指令被处理器加载并执行,以实现本发明实施例所提供的应用于dr设备的报文转发方法。

本实施例中,机器可读存储介质存储有处理器在运行时执行本发明实施例所提供的应用于接入设备和dr设备的报文转发方法的机器可执行的指令,因此能够实现:接入设备在接收到上行的待转发报文后,判断该待转发报文是否为已知单播报文,若该待转发报文不是已知单播报文,则通过预先划分的各上行端口组,向分别与各上行端口组属于同一聚合子群组的子dr组转发该待转发报文。各子dr组中的dr设备在接收到该待转发报文后,若识别到该待转发报文携带聚合子群组标识,则向除该子dr组的邻居dr设备以外的其他邻居设备转发该待转发报文。通过对接入设备的上行端口进行分组、以及对各dr设备组成的dr组进行分组,使得上行端口和具有连接关系的dr设备之间建立聚合子群组,每个聚合子群组可以同时独立地转发待转发报文,使得每个聚合子群组中的dr设备可以通过聚合子群组接收到非已知单播报文,而接收到非已知单播报文的dr设备不再通过ipl向邻居dr设备转发该报文,从而节省了ipl的带宽资源。

对于接入设备、dr设备及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、接入设备、dr设备及机器可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

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

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