掌桥专利:专业的专利平台
掌桥专利
首页

报文汇聚转发方法、装置、电子设备和可读存储介质

文献发布时间:2024-04-18 20:02:40


报文汇聚转发方法、装置、电子设备和可读存储介质

技术领域

本发明涉及网络通信技术领域,具体而言,涉及一种报文汇聚转发方法、装置、电子设备和可读存储介质。

背景技术

堆叠系统通过将多个芯片互联,以构成逻辑上的一个芯片,从而实现更大的带宽、更多的端口。堆叠系统中通常包括交换卡以及多个业务卡,多个业务卡通过交换卡实现连接,业务卡之间的报文转发需要通过交换卡进行中转。业务卡之间的报文以以太网帧的形式经由交换卡进行转发,交换卡在转发时基于以太网帧中的互联逐个头实现转发。

在现有的报文转发实现中,业务卡采用逐帧报文发送以及接收的方式,而基于以太网的帧结构规范,在以太网帧中除了报文本身之外,还具有额外的其他信息,包括如互联逐个头、前导码、循环冗余校验码等。报文本身在以太网帧中仅占一定比例。报文本身长度越小,则在以太网帧中所占的比例越小,线路中实际传输的效率将越低。

发明内容

本发明的目的包括,例如,提供了一种报文汇聚转发方法、装置、电子设备和可读存储介质,其能够提高线路上报文传输的效率。

本发明的实施例可以这样实现:

第一方面,本发明提供一种报文汇聚转发方法,应用于堆叠系统,所述堆叠系统包括多个业务卡,所述方法包括:

针对具有待传输报文的业务卡,获得所述待传输报文的目的业务卡;

针对同一目的业务卡的待传输报文为至少两个的情况下,获得针对同一目的业务卡的至少两个待传输报文的汇聚信息,并基于所述汇聚信息封装得到互联聚合头;

封装得到所述至少两个待传输报文中各所述待传输报文的互联逐个头;

基于所述互联聚合头、所述至少两个待传输报文中各所述待传输报文的互联逐个头以及所述至少两个待传输报文封装得到汇聚报文,并将所述汇聚报文发送至所述堆叠系统中的交换卡,以使所述交换卡基于所述汇聚报文中的互联聚合头将所述汇聚报文转发至所述目的业务卡。

在可选的实施方式中,所述获得针对同一目的业务卡的至少两个待传输报文的汇聚信息的步骤,包括:

根据所述目的业务卡的业务卡信息确定转发类型以及所述转发类型下的业务卡ID;

获得所述至少两个待传输报文的转发优先级,并获得所述至少两个待传输报文的负载分担标识,所述转发所述负载分担标识用于指示所述交换卡将所述汇聚报文转发至所述目的业务卡的端口信息;

基于所述转发类型、业务卡ID、转发优先级和负载分担标识获得汇聚信息。

在可选的实施方式中,所述基于所述互联聚合头、所述至少两个待传输报文中各所述待传输报文的互联逐个头以及所述至少两个待传输报文得到封装后的汇聚报文的步骤之前,所述方法还包括:

获得所述业务卡上与所述交换卡所连接的端口的端口标识;

基于所述端口标识和配置标识得到聚合类标识,所述聚合类标识用于唯一标识封装至同一汇聚报文的至少两个待传输报文。

在可选的实施方式中,所述方法还包括:

对针对同一目的业务卡的至少两个待传输报文中各所述待传输报文的聚合使能位进行置位处理,并将各所述待传输报文进行缓存,其中,置位处理后的待传输报文用于封装得到汇聚报文。

在可选的实施方式中,所述基于所述互联聚合头、所述至少两个待传输报文中各所述待传输报文的互联逐个头以及所述至少两个待传输报文封装得到汇聚报文的步骤,包括:

从缓存的待传输报文中提取聚合使能位进行置位处理且针对同一个目的业务卡的至少两个待传输报文;

基于所述至少两个待传输报文的互联聚合头、所述至少两个待传输报文中各所述待传输报文的互联逐个头以及所述至少两个待传输报文封装得到汇聚报文。

在可选的实施方式中,所述基于所述至少两个待传输报文的互联聚合头、所述至少两个待传输报文中各所述待传输报文的互联逐个头以及所述至少两个待传输报文封装得到汇聚报文的步骤,包括:

按照所述互联聚合头、所述至少两个待传输报文对应的至少两个待传输报文信息的顺序进行聚合,得到聚合报文,其中,所述待传输报文信息包括按序排列的互联逐个头以及待传输报文;

按照前导码、聚合报文、循环冗余校验码以及帧间隙码的顺序封装得到汇聚报文。

在可选的实施方式中,所述方法还包括:

针对接收到汇聚报文的业务卡,对所述汇聚报文进行解析还原获得至少两个还原报文,其中,各所述还原报文包括所述互联聚合头、待传输报文的互联逐个头以及对应的待传输报文。

第二方面,本发明提供一种报文汇聚转发装置,应用于堆叠系统,所述堆叠系统包括多个业务卡,所述装置包括:

获得模块,用于针对具有待传输报文的业务卡,获得所述待传输报文的目的业务卡;

互联聚合头封装模块,用于针对同一目的业务卡的待传输报文为至少两个的情况下,获得针对同一目的业务卡的至少两个待传输报文的汇聚信息,并基于所述汇聚信息封装得到互联聚合头;

互联逐个头封装模块,用于封装得到所述至少两个待传输报文中各所述待传输报文的互联逐个头;

报文封装模块,用于基于所述互联聚合头、所述至少两个待传输报文中各所述待传输报文的互联逐个头以及所述至少两个待传输报文封装得到汇聚报文,并将所述汇聚报文发送至所述堆叠系统中的交换卡,以使所述交换卡基于所述汇聚报文中的互联聚合头将所述汇聚报文转发至所述目的业务卡。

第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如前述实施方式中任一项所述的方法。

第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前述实施方式中任一项所述的方法。

本发明实施例的有益效果包括,例如:

本申请提供一种报文汇聚转发方法、装置、电子设备和可读存储介质,在业务卡上具有针对同一目的业务卡的至少两个待传输报文时,获得该至少两个待传输报文的汇聚信息,基于汇聚信息封装得到互联聚合头,并封装得到至少两个待传输报文中各自的互联逐个头。基于互联聚合头、各个待传输报文的互联逐个头以及该至少两个待传输报文封装得到汇聚报文,并将汇聚报文发送至堆叠系统中的交换卡,以使交换卡基于汇聚报文中的互联聚合头将汇聚报文转发至目的业务卡。该方案中,将指向同一目的业务卡的至少两个报文进行汇聚封装,得到汇聚报文,利用互联聚合头标识该至少两个报文的共有信息,利用互联逐个头分别标识各个报文的信息,从而提高汇聚报文中具有的报文有效信息的长度,进而提高线路上报文传输的效率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为现有技术中堆叠系统中的报文转发示意图;

图2为现有技术中以太网帧的结构示意图;

图3为本申请实施例提供的堆叠系统的架构示意图;

图4为本申请实施例提供的报文汇聚转发方法的流程图;

图5为本申请实施例提供的堆叠系统中的报文转发示意图;

图6为图4中S12包含的子步骤的流程图;

图7为本申请实施例中互联聚合头的结构示意图;

图8为本申请实施例中互联逐个头的结构示意图;

图9为图4中S14包含的子步骤的流程图;

图10为图9中S142包含的子步骤的流程图;

图11为本申请实施例中缓存的聚合报文的示意图;

图12为本申请实施例中封装得到的汇聚报文的示意图;

图13为本申请实施例中还原得到的还原报文的示意图;

图14为本申请实施例提供的报文汇聚转发装置的功能模块框图;

图15为本申请实施例提供的电子设备的结构示意图。

具体实施方式

在堆叠系统中,多个业务卡之间通过交换卡进行连接,业务卡之间的报文转发需要通过交换卡进行中转,中转过程中通过报文中的互联头携带报文目的信息。如图1中所示,业务卡1将报文1、3转发至目的业务卡2,报文2、4转发至目的业务卡n,报文5、6转发至目的业务卡2和业务卡n。

堆叠系统中业务卡和交换卡之间使用以太网进行报文传输,以太网的帧结构如图2中所示。基于以太网帧的规范,报文在传输过程中需要携带其他额外信息,包括8字节前导码(Preamble)、4字节循环冗余校验码(FCS)、12字节帧间隙(IFG)所组成的共24字节的信息。此外,每一个报文中还需要携带芯片互联头。因此,报文中的净负荷部分(报文有效信息)内容越长,则线路中实际传输的效率越高。

例如,假设报文的有效信息部分的长度为64字节,芯片互联头的长度为32字节。传输该报文的实际传输线路需要传输24字节(以太网帧固定消耗)+32字节芯片互联头+64字节报文长度,整体上一共120字节。此种情形下,实际净负荷率为64/(64+56)=53%。

又如,假设报文的有效信息部分的长度为2048字节,则实际净负荷率为2048/(2048+56)=97%。

可见,报文的有效信息部分的长度越长,则实际传输的效率越高。而现有技术中,业务卡之间进行报文传输时,采用逐报文传输的方式。如图1中所示,报文1至报文6中各个报文传输时,均需按照前导码(Preamble)+芯片互联头+报文+循环冗余校验码(FCS)+帧间隙(IFG)的格式构成以太网帧进行传输。

现有技术的方式下,往往由于单帧报文的有效信息部分的长度是较小的,因此导致报文在线路上传输时,实际净负荷率较低,进而线路传输效率较低。

经上述研究发现,本申请提供一种报文汇聚转发方案,将指向同一目的业务卡的至少两个报文进行汇聚封装,得到汇聚报文,利用互联聚合头标识该至少两个报文的共有信息,利用互联逐个头分别标识各个报文的信息,从而提高汇聚报文中具有的报文有效信息的长度,进而提高线路上报文传输的效率。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本发明的描述中,需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。

请参阅图3,为本申请实施例提供的堆叠系统的架构示意图,该堆叠系统中包括交换卡和多个业务卡,各个业务卡与交换卡连接,不同业务卡之间进行报文传输时,经由交换卡实现中转。

各个业务卡上具有多个端口,交换卡上也具有多个端口,各个业务卡和交换卡之间通过端口互联的方式实现连接。

请参阅图4,为本申请实施例提供的报文汇聚转发方法的流程图,该报文汇聚转发方法可由报文汇聚转发装置来执行,该报文汇聚转发装置可以由软件和/或硬件实现,可配置在电子设备中,该电子设备可以是上述堆叠系统中的任一业务卡。该报文汇聚转发方法的详细步骤介绍如下。

S11,针对具有待传输报文的业务卡,获得所述待传输报文的目的业务卡。

S12,针对同一目的业务卡的待传输报文为至少两个的情况下,获得针对同一目的业务卡的至少两个待传输报文的汇聚信息,并基于所述汇聚信息封装得到互联聚合头。

S13,封装得到所述至少两个待传输报文中各所述待传输报文的互联逐个头。

S14,基于所述互联聚合头、所述至少两个待传输报文中各所述待传输报文的互联逐个头以及所述至少两个待传输报文封装得到汇聚报文,并将所述汇聚报文发送至所述堆叠系统中的交换卡,以使所述交换卡基于所述汇聚报文中的互联聚合头将所述汇聚报文转发至所述目的业务卡。

堆叠系统中的业务卡在接收到外部设备所传输的报文,并且,需要将报文传输至堆叠系统中的其他业务卡时,首先可确定各个待传输报文的目的业务卡。

例如,如图5中所示,对于业务卡1而言,业务卡1上具有从外部设备所接收到的入报文1-入报文6。入报文1-入报文6均需要传输至堆叠系统中的其他业务卡时,入报文1-入报文6中各个报文将作为待传输报文。

基于各个待传输报文中携带的目的业务卡信息,可以确定各个待传输报文所指向的目的业务卡。例如,图5中入报文1、入报文3的目的业务卡为业务卡2,入报文2、入报文4的目的业务卡为业务卡n,入报文5、入报文6的目的业务卡为业务卡2和业务卡n。

当针对同一目的业务卡的待传输报文为至少两个时,表征该至少两个待传输报文最终要到达同一目的业务卡,可以将该至少两个待传输报文合并在一起一并传输。例如,针对目的业务卡2,具有入报文1和入报文3指向目的业务卡2,针对目的业务卡n,具有入报文2和入报文4指向目的业务卡n。此外,对于目的业务卡2,还具有入报文5和入报文6指向目的业务卡2,但是同时入报文5和入报文6还指向目的业务卡n。

因此,实施时,在指向同一目的业务卡的待传输报文为至少两个时,获得该至少两个待传输报文的汇聚信息,而汇聚信息中包括目的业务卡信息。对于目的业务卡信息一致的待传输报文,其汇聚信息可以封装得到互联聚合头,例如,入报文1、入报文3和入报文5、入报文6的目的业务卡中均包括业务卡2,其中,入报文1和入报文3的目的业务卡完全一致,则入报文1和入报文3的汇聚信息可以封装至同一个互联聚合头。而入报文5和入报文6的目的业务卡包括业务卡2,此外还包括业务卡n,不完全与入报文1和入报文3的目的业务卡一致。但是入报文5和入报文6的目的业务卡完全一致,因此,入报文5和入报文6的汇聚信息可以封装至同一互联聚合头。

例如,如图5中所示,对于报文1和报文3,可以封装得到报文1和报文3共有的互联聚合头、报文1的互联逐个头、报文3的互联逐个头。针对报文2和报文4,可以封装得到报文2和报文4共有的互联聚合头、报文2的互联逐个头、报文4的互联逐个头。对于报文5和报文6,可以封装得到报文5和报文6共有的互联聚合头、报文5的互联逐个头、报文6的互联逐个头。

本实施例中,封装得到的互联聚合头体现的是可以汇聚且一并发送的报文的共有信息,用于提供给交换卡实现中转。而各个报文在到达目的业务卡后,目的业务卡可能将报文进行外发,因此,需要各个报文单独的完整信息。因此,本实施例中,封装得到各个待传输报文的互联逐个头,互联逐个头体现的各个报文单独的信息。

在上述基础上,对于针对同一互联聚合头的至少两个待传输报文,则可以基于其互联聚合头、各个待传输报文的互联逐个头以及该至少两个待传输报文封装得到汇聚报文,该汇聚报文可以理解为一个可以在线路上传输的以太网帧。汇聚报文在到达交换卡后,交换卡将基于汇聚报文中的互联聚合头将汇聚报文转发至目的业务卡。

本实施例中,将满足一定要求的至少两个报文封装至同一个汇聚报文中进行转发,相较于单个报文逐帧发送的方式,汇聚报文中的报文有效信息的占比比单个报文中报文有效信息的占比更高,因此净负荷率更高,进而提高了线路上报文传输的效率。并且,利用互联聚合头标识汇聚报文中的至少两个报文的共有信息,以便于交换卡可基于互联聚合头实现报文中转,且利用互联逐个头标识汇聚报文中各个报文的独有信息,以便于目的业务卡接收到汇聚报文后,可以基于互联逐个头对各个报文进行还原,进而实现报文的外发。

本实施例中,各个业务卡包括聚合规则匹配单元,该聚合规则匹配单元的作用是基于预设规则,将业务卡上待传输报文进行聚合分类,例如执行上述的获取汇聚信息,封装得到互联聚合头等。

请参阅图6,本实施例中,上述获得针对同一目的业务卡的至少两个待传输报文的汇聚信息的步骤,可以通过以下方式实现:

S121,根据所述目的业务卡的业务卡信息确定转发类型以及所述转发类型下的业务卡ID。

S122,获得所述至少两个待传输报文的转发优先级,并获得所述至少两个待传输报文的负载分担标识。

所述转发所述负载分担标识用于指示所述交换卡将所述汇聚报文转发至所述目的业务卡的端口信息。

S123,基于所述转发类型、业务卡ID、转发优先级和负载分担标识获得汇聚信息。

本实施例中,转发类型包括单播转发类型和组播转发类型,例如针对上述的报文1和报文3,其转发类型为单播转发类型,而报文5和报文6其转发类型为组播转发类型。

转发类型下的业务卡ID根据转发类型的不同其形式不同,例如,单播转发类型下,其业务卡ID则是单个业务卡的ID,用于指示单播报文的目的业务卡。在组播转发类型下,其业务卡ID为组播组ID,用于指示组播报文的目的业务卡集合组。

转发类型以及转发类型下的业务卡ID可以是业务卡在处理报文转发过程中所获得的。

此外,业务卡还可获得待传输报文的转发优先级,转发优先级可以基于实际需求进行设置,例如根据业务重要程度、对于实时性的要求等维度进行转发优先级的设置。转发优先级主要是用于提供给交换卡以使交换卡在执行报文中转过程中,可以优先处理转发优先级较高的报文。

由上述可知,各个业务卡与交换卡之间通过端口互联的方式连接,各个业务卡上具有多个端口,交换卡上具有多个端口。业务卡可以获得需要传输的报文的负载分担标识,该负载分担标识指示的是交换卡通过哪个端口将该报文传输给目的业务卡。

例如,业务卡1需要将待传输报文传输至业务卡2,基于待传输报文封装得到汇聚报文。假设交换卡通过交换卡端口2和交换卡端口3与业务卡2上的端口连接。获得的负载分担标识指示的是交换卡端口2,则交换卡在接收到汇聚报文后,将通过交换卡端口2将汇聚报文传输至业务卡2。

在上述基础上,基于获得的转发类型、业务卡ID、转发优先级和负载分担标识即可构成汇聚信息。基于汇聚信息可以封装得到互联聚合头。

请参阅图7,为本实施例封装得到的互联聚合头的格式,互联聚合头中依次包括转发类型、业务卡ID(单播报文目的业务卡/组播报文目的业务卡集合组)、转发优先级、负载分担标识。

此外,业务卡封装得到的各个待传输报文的互联逐个头的格式如图8中所示,各个待传输报文的互联逐个头中依次包括长度、互联逐个头内容。其中,长度是指当前报文加上互联逐个头的总长度,互联逐个头内容可以根据堆叠系统业务需求进行设置,本实施例不作限制。

本实施例中,业务卡在针对待传输报文进行上述处理的基础上,可能并非是实时将报文进行传输,而需在满足一定网络条件的情况下传输,因此,处理后的信息需要进行缓存。为了对处理后的信息进行标识,以有助于传输时的辨识,因此,在一种实现方式中,在封装汇聚报文之前,还可包括以下步骤:

获得所述业务卡上与所述交换卡所连接的端口的端口标识,基于所述端口标识和配置标识得到聚合类标识,所述聚合类标识用于唯一标识封装至同一汇聚报文的至少两个待传输报文。

本实施例中,各个业务卡上具有多个端口,例如,假设业务卡1通过业务卡端口1和业务卡端口2与交换卡连接。针对指向同一个目的业务卡的至少两个待传输报文,在经过上述处理之后,可以得到该至少两个待传输报文的互联聚合头、各个待传输报文的互联逐个头。若后续业务卡1通过业务卡端口1将该至少两个待传输报文发送至交换卡,则可以基于业务卡端口1和设置的配置标识得到聚合类标识,利用该聚合类标识对该至少两个待传输报文的互联聚合头、互联逐个头以及该至少两个待传输报文进行标识。

后续业务卡1在进行报文传输时,则可以通过聚合类标识提取所标记的互联聚合头、互联逐个头以及待传输报文,进而封装得到汇聚报文后进行传输。

此外,为了明确业务卡上哪些待传输报文可以聚合,而哪些待传输报文不能聚合,本实施例所提供的转发方法中,还包括以下步骤:

对针对同一目的业务卡的至少两个待传输报文中各所述待传输报文的聚合使能位进行置位处理,并将各所述待传输报文进行缓存,其中,置位处理后的待传输报文用于封装得到汇聚报文。

本实施例中,通过对待传输报文的聚合使能位进行置位处理,以表征被置位处理后的待传输报文是可以聚合以封装得到汇聚报文而传输的。本实施例中,各个业务卡还包括聚合发送缓存单元,该聚合发送缓存单元可以用于将业务卡上的待传输报文,以及聚合分类后的互联聚合头、互联逐个头、聚合类标识等进行缓存。

基于此,请参阅图9,在上述封装得到汇聚报文的步骤中,则可以通过以下方式实现:

S141,从缓存的待传输报文中提取聚合使能位进行置位处理且针对同一个目的业务卡的至少两个待传输报文。

S142,基于所述至少两个待传输报文的互联聚合头、所述至少两个待传输报文中各所述待传输报文的互联逐个头以及所述至少两个待传输报文封装得到汇聚报文。

本实施例中,各个业务卡还包括聚合封装单元,该聚合封装单元可以用于将业务卡中所缓存的待传输报文提取出并封装为汇聚报文。在提取时,提取聚合使能位进行置位处理后的待传输报文,进而将具有同一个聚合类标识的且聚合使能位进行置位处理后的至少两个待传输报文进行封装得到汇聚报文。

此外,针对业务卡上的聚合使能位并未进行置位处理的待传输报文,则按照现有技术中的单个报文传输方式进行传输即可。

本实施例中,考虑到单个以太网帧的总的长度可能具有上限值,假设多条报文均指向同一个目的业务卡时,将该多条报文进行聚合后可能总的长度超过了上限值,因此,在提取待传输报文并进行聚合封装时,需要判断提取的待传输报文聚合后的总长度是否超过上限值,若超过上限值则需要采用多次聚合封装的方式,以保障后续得到的汇聚报文的长度不超过上限值。

例如,若报文1、报文2、报文3和报文4均指向同一个业务卡,而报文1-报文4聚合封装后的长度超过上限值,且报文1-报文3聚合封装后的长度仍然超过上限值。则可以分别将报文1和报文2进行聚合封装,将报文3和报文4进行聚合封装。

请参阅图10,本实施例中,在上述步骤S142中进行汇聚报文封装时,具体可以通过以下方式实现:

S1421,按照所述互联聚合头、所述至少两个待传输报文对应的至少两个待传输报文信息的顺序进行聚合,得到聚合报文,其中,所述待传输报文信息包括按序排列的互联逐个头以及待传输报文。

S1422,按照前导码、聚合报文、循环冗余校验码以及帧间隙码的顺序封装得到汇聚报文。

本实施例中,业务卡中的聚合封装单元先在以太网帧的上限值范围内将互联聚合头(即芯片互联汇聚头)、各个待传输报文的待传输报文信息的顺序聚合在一起得到聚合报文,如图11所示。所述的待传输报文信息即包括互联逐个头及待传输报文,例如,互联逐个头、报文1,或者互联逐个头、报文2,或者互联逐个头、报文n。

在此基础上,在聚合报文的前端加上前导码,聚合报文的后端加上循环冗余校验码和帧间隙码得到汇聚报文,如图12中所示,最后通过业务卡上的发送单元将汇聚报文发送至交换卡。

堆叠系统中的各个业务卡可以作为发送报文的一端,也可以作为接收报文的一端。在作为发送报文的一端时,可通过以上方式将多个到达同一目的业务卡的报文聚合封装为同一个汇聚报文,从而有效提高单个汇聚报文中报文有效信息所占比例,提高净负荷率,进而提高线路上报文传输效率。

而作为接收报文的一端时,业务卡可以执行以下动作:

针对接收到汇聚报文的业务卡,对所述汇聚报文进行解析还原获得至少两个还原报文,其中,各所述还原报文包括所述互联聚合头、待传输报文的互联逐个头以及对应的待传输报文。

本实施例中,堆叠系统中的各个业务卡还包括接收单元,接收单元可以用于接收交换卡所发送的汇聚报文。此外,业务卡还可包括接收缓存单元,接收缓存单元用于将接收到的汇聚报文存入缓存区中。

业务卡还包括聚合解封装单元,聚合解封装单元用于对缓存区中的汇聚报文进行解析还原,在对汇聚报文进行解析时,可以基于汇聚报文中各个互联逐个头包括的长度、互联逐个头内容等信息拆分汇聚报文得到多个还原报文。还原报文即在各个报文本身的基础上携带互联聚合头和互联逐个头,如图13中所示。

业务卡基于得到的还原报文中的互联聚合头、互联逐个头等信息,实现报文的外发操作。

本实施例所提供的报文汇聚转发方法,将原本单个报文中的互联头拆分为互联聚合头和互联逐个头,利用互联聚合头携带多个报文的共有信息、互联逐个头携带单个报文的独有信息,减少原本单个报文中互联头的传输消耗。将多个报文聚合为一个长的汇聚报文,节约以太网传输固有消耗,提高互联链路的有效负载。

基于同一发明构思,请参阅图14,示出了本申请实施例提供的报文汇聚转发装置的功能模块示意图,本实施例可以根据上述方法实施例对该报文汇聚转发装置进行功能模块的划分。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

比如,在采用对应各个功能划分各个功能模块的情况下,图14示出的报文汇聚转发装置只是一种装置示意图。其中,报文汇聚转发装置可以包括获得模块、互联聚合头封装模块、互联逐个头封装模块和报文封装模块,下面分别对该报文汇聚转发装置的各个功能模块的功能进行详细阐述。

获得模块,用于针对具有待传输报文的业务卡,获得所述待传输报文的目的业务卡;

可以理解,该获得模块可以用于执行上述步骤S11,关于该获得模块的详细实现方式可以参照上述步骤S11有关的内容。

互联聚合头封装模块,用于针对同一目的业务卡的待传输报文为至少两个的情况下,获得针对同一目的业务卡的至少两个待传输报文的汇聚信息,并基于所述汇聚信息封装得到互联聚合头;

可以理解,该互联聚合头封装模块可以用于执行上述步骤S12,关于该互联聚合头封装模块的详细实现方式可以参照上述步骤S12有关的内容。

互联逐个头封装模块,用于封装得到所述至少两个待传输报文中各所述待传输报文的互联逐个头;

可以理解,该互联逐个头封装模块可以用于执行上述步骤S13,关于该互联逐个头封装模块的详细实现方式可以参照上述步骤S13有关的内容。

报文封装模块,用于基于所述互联聚合头、所述至少两个待传输报文中各所述待传输报文的互联逐个头以及所述至少两个待传输报文封装得到汇聚报文,并将所述汇聚报文发送至所述堆叠系统中的交换卡,以使所述交换卡基于所述汇聚报文中的互联聚合头将所述汇聚报文转发至所述目的业务卡。

可以理解,该报文封装模块可以用于执行上述步骤S14,关于该报文封装模块的详细实现方式可以参照上述步骤S14有关的内容。

在一种可能的实现方式中,互联聚合头封装模块具体可以用于:

根据所述目的业务卡的业务卡信息确定转发类型以及所述转发类型下的业务卡ID;

获得所述至少两个待传输报文的转发优先级,并获得所述至少两个待传输报文的负载分担标识,所述转发所述负载分担标识用于指示所述交换卡将所述汇聚报文转发至所述目的业务卡的端口信息;

基于所述转发类型、业务卡ID、转发优先级和负载分担标识获得汇聚信息。

在一种可能的实现方式中,报文汇聚转发装置还包括聚合类标识获得模块,该模块具体可以用于:

获得所述业务卡上与所述交换卡所连接的端口的端口标识;

基于所述端口标识和配置标识得到聚合类标识,所述聚合类标识用于唯一标识封装至同一汇聚报文的至少两个待传输报文。

在一种可能的实现方式中,报文汇聚转发装置还包括缓存模块,该缓存模块可以用于:

对针对同一目的业务卡的至少两个待传输报文中各所述待传输报文的聚合使能位进行置位处理,并将各所述待传输报文进行缓存,其中,置位处理后的待传输报文用于封装得到汇聚报文。

在一种可能的实现方式中,报文封装模块具体可以用于:

从缓存的待传输报文中提取聚合使能位进行置位处理且针对同一个目的业务卡的至少两个待传输报文;

基于所述至少两个待传输报文的互联聚合头、所述至少两个待传输报文中各所述待传输报文的互联逐个头以及所述至少两个待传输报文封装得到汇聚报文。

在一种可能的实现方式中,报文封装模块具体可以用于:

按照所述互联聚合头、所述至少两个待传输报文对应的至少两个待传输报文信息的顺序进行聚合,得到聚合报文,其中,所述待传输报文信息包括按序排列的互联逐个头以及待传输报文;

按照前导码、聚合报文、循环冗余校验码以及帧间隙码的顺序封装得到汇聚报文。

在一种可能的实现方式中,报文汇聚转发装置还包括还原模块,该还原模块可以用于:

针对接收到汇聚报文的业务卡,对所述汇聚报文进行解析还原获得至少两个还原报文,其中,各所述还原报文包括所述互联聚合头、待传输报文的互联逐个头以及对应的待传输报文。

请参阅图15,图15是本申请实施例提供的电子设备的结构示意图,该电子设备可为上述的业务卡,如图15所示,该电子设备可以包括:处理器、通信接口以及存储器。其中,通信接口、处理器以及存储器相互连接。

其中,处理器可以执行上述获得模块、互联聚合头封装模块、互联逐个头封装模块、报文封装模块的功能。

通信接口可以用于通过网络建立电子设备与其他通信终端之间的通信连接,并用于通过网络收发数据。在一种示例中,该通信接口可以包括接收器和发射器,或者由接收器和发射器集成得到,本实施例不做限定。

存储器可以用于存储程序和数据。

可选地,该电子设备还可包括总线,总线可以是外设部件互连标准(peripheralcomponent interconnect,缩写:PCI)总线或扩展工业标准结构(extendedindustrystandard architecture,缩写:EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

该电子设备可以执行图4所示的实施例中业务卡的相关操作,将指向同一目的业务卡的至少两个报文进行汇聚封装,得到汇聚报文,利用互联聚合头标识该至少两个报文的共有信息,利用互联逐个头分别标识各个报文的信息,从而提高汇聚报文中具有的报文有效信息的长度,进而提高线路上报文传输的效率。具体的,该电子设备中,处理器可以调用存储器中的计算机程序,以执行以下操作:

针对具有待传输报文的业务卡,获得所述待传输报文的目的业务卡;

针对同一目的业务卡的待传输报文为至少两个的情况下,获得针对同一目的业务卡的至少两个待传输报文的汇聚信息,并基于所述汇聚信息封装得到互联聚合头;

封装得到所述至少两个待传输报文中各所述待传输报文的互联逐个头;

基于所述互联聚合头、所述至少两个待传输报文中各所述待传输报文的互联逐个头以及所述至少两个待传输报文封装得到汇聚报文,并将所述汇聚报文发送至所述堆叠系统中的交换卡,以使所述交换卡基于所述汇聚报文中的互联聚合头将所述汇聚报文转发至所述目的业务卡。

应当理解的是,图15所示的结构仅为电子设备的结构示意图,电子设备还可包括比图15中所示更多或者更少的组件,或者具有与图15所示不同的配置。

进一步地,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有机器可执行指令,机器可执行指令被执行时实现上述实施例提供的报文汇聚转发方法。

具体地,该计算机可读存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该计算机可读存储介质上的计算机程序被运行时,能够执行上述报文汇聚转发方法。关于计算机可读存储介质中的及其可执行指令被运行时所涉及的过程,可以参照上述方法实施例中的相关说明,这里不再详述。

综上所述,本申请实施例提供的报文汇聚转发方法、装置、电子设备和可读存储介质,在业务卡上具有针对同一目的业务卡的至少两个待传输报文时,获得该至少两个待传输报文的汇聚信息,基于汇聚信息封装得到互联聚合头,并封装得到至少两个待传输报文中各自的互联逐个头。基于互联聚合头、各个待传输报文的互联逐个头以及该至少两个待传输报文封装得到汇聚报文,并将汇聚报文发送至堆叠系统中的交换卡,以使交换卡基于汇聚报文中的互联聚合头将汇聚报文转发至目的业务卡。该方案中,将指向同一目的业务卡的至少两个报文进行汇聚封装,得到汇聚报文,利用互联聚合头标识该至少两个报文的共有信息,利用互联逐个头分别标识各个报文的信息,从而提高汇聚报文中具有的报文有效信息的长度,进而提高线路上报文传输的效率。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

技术分类

06120116588347