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

专利2022-05-09  97


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



背景技术:

随着通信领域对数据传输速率要求的提高,interlakern接口因其传输速率快、接口数目灵活的特点被广泛应用于网络设备中的网络处理芯片间的数据传输。

但是,在该网络设备中的网络处理芯片使用interlakern接口转发数据报文时,由于一个interlakern接口被划分的逻辑接口的数量有限,例如,最多可以被划分为4k个逻辑接口,所以,interlakern接口的扩展性仍然较差,无法满足用户设备侧转发更多数据报文的需求,进而影响网络设备的转发性能。



技术实现要素:

为克服相关技术中存在的问题,本申请提供了一种报文转发方法及装置。

根据本申请实施例的第一方面,提供一种报文转发方法,所述方法应用于网络设备中配置了以太网接口的任一网络处理芯片,所述方法包括:

在接收到来自用户设备的第一数据报文时,根据所述第一数据报文的目的地址和本地转发表,确定所述第一数据报文的第一物理出接口对应的第一逻辑接口的第一接口标识,其中,所述第一物理出接口被划分出的第一逻辑接口的数量为管理员根据802.1q协议中的虚拟局域网(virtuallocalareanetwork,vlan)标识(identity,id)的数量和基于优先级的流控(priority-basedflowcontrol,pfc)帧的优先级的数量确定出的;

将所述第一数据报文缓存到所述第一接口标识对应的接口队列中,并在需要转发所述第一数据报文时,将所述第一接口标识添加到所述第一数据报文中,得到第二数据报文;

通过所述第一物理出接口,将所述第二数据报文转发给所述网络设备中与所述第一物理出接口连接的目的网络处理芯片,以使所述目的网络处理芯片从所述第二数据报文中获取所述第一接口标识,并将所述第二数据报文中的所述第一接口标识删除后缓存到所述第一接口标识对应的接口队列中,在需要转发删除后的第二数据报文时,根据本地转发表转发删除后的第二数据报文。

根据本申请实施例的第二方面,提供一种报文转发装置,所述装置应用于网络设备中配置了以太网接口的任一网络处理芯片,所述装置包括:

确定模块,用于在接收到来自用户设备的第一数据报文时,根据所述第一数据报文的目的地址和转发表,确定所述第一数据报文的第一物理出接口对应的第一逻辑接口的第一接口标识,其中,所述第一物理出接口被划分出的第一逻辑接口的数量为管理员根据802.1q协议中的vlanid的数量和pfc帧的优先级的数量确定出的;

添加模块,用于将所述第一数据报文缓存到所述第一接口标识对应的接口队列中,并在需要转发所述第一数据报文时,将所述第一接口标识添加到所述第一数据报文中,得到第二数据报文;

第一转发模块,用于通过所述第一物理出接口,将所述第二数据报文转发给所述网络设备中与所述第一物理出接口连接的目的网络处理芯片,以使所述目的网络处理芯片从所述第二数据报文中获取所述第一接口标识,并将所述第二数据报文中的所述第一接口标识删除后缓存到所述第一接口标识对应的接口队列中,在需要转发删除后的第二数据报文时,根据本地转发表转发删除后的第二数据报文。

本申请的实施例提供的技术方案可以包括以下有益效果:

在本申请实施例中,网络设备中的任一网络处理芯片不再使用interlakern接口转发数据报文,而是使用以太网接口转发数据报文,并且,以太网接口被划分出的逻辑接口的数量是依据802.1q协议中的vlanid的数量和pfc帧的优先级的数量确定出的,明显多于interlakern接口被划分出的逻辑接口的数量,从而提高了接口的扩展性,并且,本申请的报文转发流程可以满足用户设备侧转发更多数据报文的需求,进而提高了网络设备的转发性能。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本申请的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1为本申请实施例提供的一种报文转发方法的流程示意图;

图2为本申请实施例提供的一种报文转发装置的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

接下来对本申请实施例进行详细说明。

本申请实施例提供了一种报文转发方法,如图1所示,该方法应用于网络设备中配置了以太网接口的任一网络处理芯片,该方法可以包括如下步骤:

s11、在接收到来自用户设备的第一数据报文时,根据第一数据报文的目的地址和本地转发表,确定第一数据报文的第一物理出接口对应的第一逻辑接口的第一接口标识。

在本步骤中,第一物理出接口为以太网接口,且被划分出的第一逻辑接口的数量为管理员根据802.1q协议中的vlanid的数量和pfc帧的优先级的数量确定出的。

s12、将第一数据报文缓存到第一接口标识对应的接口队列中,并在需要转发第一数据报文时,将第一接口标识添加到第一数据报文中,得到第二数据报文。

s13、通过第一物理出接口,将第二数据报文转发给网络设备中与第一物理出接口连接的目的网络处理芯片,以使目的网络处理芯片从第二数据报文中获取第一接口标识,并将第二数据报文中的第一接口标识删除后缓存到第一接口标识对应的接口队列中,在需要转发删除后的第二数据报文时,根据本地转发表转发删除后的第二数据报文。

需要说明的是,在本申请实施例中,为了提高网络设备中的网络处理芯片使用的接口的扩展性,网络设备中的网络处理芯片均使用以太网接口转发来自用户设备的数据报文。在这种应用场景下,管理员可以事先根据802.1q协议中的vlanid的数量(即,4096个,也称为4k个)和pfc帧的优先级(即,8个优先级)的数量确定出为每个以太网接口划分的逻辑接口的数量,即,4k×8个;然后,管理员可以分别在每个网络处理芯片上配置每个以太网接口的逻辑接口、逻辑接口的接口标识及其对应的用于缓存数据报文的接口队列,以便于后续转发数据报文时使用。在这里,每个逻辑接口的接口标识可以以vlanid和优先级标识组合的方式呈现,当然,也可以采用其他方式呈现,在此不再一一列举。

这样一来,对于网络设备中的任一网络处理芯片而言,一旦接收到来自用户设备的第一数据报文时,开始执行上述步骤s11中的相关操作,即,该网络处理芯片可以根据第一数据报文的目的地址和本地转发表,确定第一数据报文的第一物理出接口(即,以太网接口)对应的第一逻辑接口的第一接口标识。

具体地,在本申请实施例中,该网络处理芯片可以根据第一数据报文的目的地址,查找本地转发表,即可查找到第一数据报文的第一物理出接口以及该第一物理出接口对应的第一逻辑接口的第一接口标识。

也就是说,该网络处理芯片的本地转发表中已事先配置了地址、物理出接口及其对应的逻辑接口的接口标识的对应关系,以便于该网络处理芯片及时缓存、转发相关数据报文。

需要说明的是,在本申请实施例中,第一数据报文的目的地址可以是互联网协议(internetprotocol,ip)地址,也可以是媒体接入控制(mediumaccesscontrol,mac)地址。

具体地,在上述步骤s12中,该网络处理芯片可以通过以下方式得到第二数据报文:

在第一数据报文的报文头中添加第一接口标识,得到第二数据报文。

需要说明的是,第一数据报文的报文头的内容是与该网络处理芯片的转发方式(二层转发或者三层转发)相关的,具体内容为现有技术,在此不再详述。

例如,该网络处理芯片在第一数据报文的报文头的最前面添加第一接口标识(占用15bit),得到第二数据报文。

当然,该网络处理芯片还可以采用其他添加方式在第一数据报文中添加第一接口标识,在此不再一一列举。

以上步骤s11至s13实际上是该网络处理芯片作为发送端芯片时所执行的操作流程。在该网络处理芯片作为接收端芯片时,还可以执行以下操作:

在接收到网络设备中其他网络处理芯片转发的第三数据报文时,从第三数据报文中获取第二接口标识;

将第三数据报文中的第二接口标识删除后缓存到第二接口标识对应的接口队列中;

在需要转发删除后的第三数据报文时,根据本地转发表转发删除后的第三数据报文。

在此操作流程中,该网络处理芯片在从第三数据报文中获取第二接口标识时,具体可以从第三数据报文的报文头中获取第二接口标识。

该网络处理芯片在根据本地转发表转发删除后的第三数据报文时,可以直接根据删除后的第三数据报文的目的地址,在本地转发表中查找对应的第二物理出接口,并通过查找到的第二物理出接口,将删除后的第三数据报文转发出去。

进一步地,在本申请实施例中,为了提高该网络处理芯片上的以太网接口的服务质量(qualityofservice,qos),该网络处理芯片还可以执行以下操作:

在第二接口标识对应的接口队列中的数据报文的数量达到反压门限时,向其他网络处理芯片发送携带有第二接口标识的pfc帧,以使其他网络处理芯片根据该pfc帧,停止发送第二接口标识对应的接口队列中的数据报文。

需要说明的是,在此操作流程中,上述反压门限可根据该网络处理芯片所属的网络设备所处的网络环境中的实际情况设置。

另外,在此操作流程中,第二接口标识可以携带在该pfc帧中原有的优先级字段中,并且,该pfc帧中还携带有停止时间,以指示其他网络处理芯片按照该停止时间,停止发送第二接口标识对应的接口队列中的数据报文。

由以上技术方案可以看出,在本申请实施例中,网络设备中的任一网络处理芯片不再使用interlakern接口转发数据报文,而是使用以太网接口转发数据报文,并且,以太网接口被划分出的逻辑接口的数量是依据802.1q协议中的vlanid的数量和pfc帧的优先级的数量确定出的,明显多于interlakern接口被划分出的逻辑接口的数量,从而提高了接口的扩展性,并且,本申请的报文转发流程可以满足用户设备侧转发更多数据报文的需求,进而提高了网络设备的转发性能。

基于同一发明构思,本申请还提供了一种报文转发装置,所述装置应用于网络设备中配置了以太网接口的任一网络处理芯片,其结构示意图如图2所示,具体包括:

确定模块21,用于在接收到来自用户设备的第一数据报文时,根据所述第一数据报文的目的地址和本地转发表,确定所述第一数据报文的第一物理出接口对应的第一逻辑接口的第一接口标识,其中,所述第一物理出接口被划分出的第一逻辑接口的数量为管理员根据802.1q协议中的虚拟局域网vlan标识id的数量和基于优先级的流控pfc帧的优先级的数量确定出的;

添加模块22,用于将所述第一数据报文缓存到所述第一接口标识对应的接口队列中,并在需要转发所述第一数据报文时,将所述第一接口标识添加到所述第一数据报文中,得到第二数据报文;

第一转发模块23,用于通过所述第一物理出接口,将所述第二数据报文转发给所述网络设备中与所述第一物理出接口连接的目的网络处理芯片,以使所述目的网络处理芯片从所述第二数据报文中获取所述第一接口标识,并将所述第二数据报文中的所述第一接口标识删除后缓存到所述第一接口标识对应的接口队列中,在需要转发删除后的第二数据报文时,根据本地转发表转发删除后的第二数据报文。

优选地,所述添加模块22,具体用于通过以下方式得到第二数据报文:

在所述第一数据报文的报文头中添加所述第一接口标识,得到第二数据报文。

优选地,所述装置还包括:

获取模块(图2中未示出),用于在接收到所述网络设备中其他网络处理芯片转发的第三数据报文时,从所述第三数据报文中获取第二接口标识;

删除模块(图2中未示出),用于将所述第三数据报文中的所述第二接口标识删除后缓存到所述第二接口标识对应的接口队列中;

第二转发模块(图2中未示出),用于用于在需要转发删除后的第三数据报文时,根据本地转发表转发删除后的第三数据报文。

优选地,所述获取模块,具体用于通过以下方式获取第二接口标识:

从所述第三数据报文的报文头中获取第二接口标识。

优选地,所述装置还包括:

发送模块(图2中未示出),用于在所述第二接口标识对应的接口队列中的数据报文的数量达到反压门限时,向所述其他网络处理芯片发送携带有所述第二接口标识的pfc帧,以使所述其他网络处理芯片根据该pfc帧,停止发送所述第二接口标识对应的接口队列中的数据报文。

由以上技术方案可以看出,在本申请实施例中,网络设备中的任一网络处理芯片不再使用interlakern接口转发数据报文,而是使用以太网接口转发数据报文,并且,以太网接口被划分出的逻辑接口的数量是依据802.1q协议中的vlanid的数量和pfc帧的优先级的数量确定出的,明显多于interlakern接口被划分出的逻辑接口的数量,从而提高了接口的扩展性,并且,本申请的报文转发流程可以满足用户设备侧转发更多数据报文的需求,进而提高了网络设备的转发性能。

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


技术特征:

1.一种报文转发方法,其特征在于,所述方法应用于网络设备中配置了以太网接口的任一网络处理芯片,所述方法包括:

在接收到来自用户设备的第一数据报文时,根据所述第一数据报文的目的地址和本地转发表,确定所述第一数据报文的第一物理出接口对应的第一逻辑接口的第一接口标识,其中,所述第一物理出接口被划分出的第一逻辑接口的数量为管理员根据802.1q协议中的虚拟局域网vlan标识id的数量和基于优先级的流控pfc帧的优先级的数量确定出的;

将所述第一数据报文缓存到所述第一接口标识对应的接口队列中,并在需要转发所述第一数据报文时,将所述第一接口标识添加到所述第一数据报文中,得到第二数据报文;

通过所述第一物理出接口,将所述第二数据报文转发给所述网络设备中与所述第一物理出接口连接的目的网络处理芯片,以使所述目的网络处理芯片从所述第二数据报文中获取所述第一接口标识,并将所述第二数据报文中的所述第一接口标识删除后缓存到所述第一接口标识对应的接口队列中,在需要转发删除后的第二数据报文时,根据本地转发表转发删除后的第二数据报文。

2.根据权利要求1所述的方法,其特征在于,通过以下方式得到第二数据报文:

在所述第一数据报文的报文头中添加所述第一接口标识,得到第二数据报文。

3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:

在接收到所述网络设备中其他网络处理芯片转发的第三数据报文时,从所述第三数据报文中获取第二接口标识;

将所述第三数据报文中的所述第二接口标识删除后缓存到所述第二接口标识对应的接口队列中;

在需要转发删除后的第三数据报文时,根据本地转发表转发删除后的第三数据报文。

4.根据权利要求3所述的方法,其特征在于,通过以下方式获取第二接口标识:

从所述第三数据报文的报文头中获取第二接口标识。

5.根据权利要求3所述的方法,其特征在于,所述方法还包括:

在所述第二接口标识对应的接口队列中的数据报文的数量达到反压门限时,向所述其他网络处理芯片发送携带有所述第二接口标识的pfc帧,以使所述其他网络处理芯片根据该pfc帧,停止发送所述第二接口标识对应的接口队列中的数据报文。

6.一种报文转发装置,其特征在于,所述装置应用于网络设备中配置了以太网接口的任一网络处理芯片,所述装置包括:

确定模块,用于在接收到来自用户设备的第一数据报文时,根据所述第一数据报文的目的地址和本地转发表,确定所述第一数据报文的第一物理出接口对应的第一逻辑接口的第一接口标识,其中,所述第一物理出接口被划分出的第一逻辑接口的数量为管理员根据802.1q协议中的虚拟局域网vlan标识id的数量和基于优先级的流控pfc帧的优先级的数量确定出的;

添加模块,用于将所述第一数据报文缓存到所述第一接口标识对应的接口队列中,并在需要转发所述第一数据报文时,将所述第一接口标识添加到所述第一数据报文中,得到第二数据报文;

第一转发模块,用于通过所述第一物理出接口,将所述第二数据报文转发给所述网络设备中与所述第一物理出接口连接的目的网络处理芯片,以使所述目的网络处理芯片从所述第二数据报文中获取所述第一接口标识,并将所述第二数据报文中的所述第一接口标识删除后缓存到所述第一接口标识对应的接口队列中,在需要转发删除后的第二数据报文时,根据本地转发表转发删除后的第二数据报文。

7.根据权利要求6所述的装置,其特征在于,所述添加模块,具体用于通过以下方式得到第二数据报文:

在所述第一数据报文的报文头中添加所述第一接口标识,得到第二数据报文。

8.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:

获取模块,用于在接收到所述网络设备中其他网络处理芯片转发的第三数据报文时,从所述第三数据报文中获取第二接口标识;

删除模块,用于将所述第三数据报文中的所述第二接口标识删除后缓存到所述第二接口标识对应的接口队列中;

第二转发模块,用于在需要转发删除后的第三数据报文时,根据本地转发表转发删除后的第三数据报文。

9.根据权利要求8所述的装置,其特征在于,所述获取模块,具体用于通过以下方式获取第二接口标识:

从所述第三数据报文的报文头中获取第二接口标识。

10.根据权利要求8所述的装置,其特征在于,所述装置还包括:

发送模块,用于在所述第二接口标识对应的接口队列中的数据报文的数量达到反压门限时,向所述其他网络处理芯片发送携带有所述第二接口标识的pfc帧,以使所述其他网络处理芯片根据该pfc帧,停止发送所述第二接口标识对应的接口队列中的数据报文。

技术总结
本申请提供一种报文转发方法及装置,该方法应用于网络设备中配置了以太网接口的任一网络处理芯片,该方法包括:在接收到来自用户设备的第一数据报文时,根据第一数据报文的目的地址和本地转发表,确定第一数据报文的第一物理出接口对应的第一逻辑接口的第一接口标识;将第一数据报文缓存到第一接口标识对应的接口队列中,并在需要转发第一数据报文时,将第一接口标识添加到第一数据报文中,得到第二数据报文;通过第一物理出接口,将第二数据报文转发给网络设备中与第一物理出接口连接的目的网络处理芯片。本申请可提高网络设备中的网络处理芯片的转发性能。

技术研发人员:吕磊
受保护的技术使用者:新华三信息安全技术有限公司
技术研发日:2021.03.31
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-2376.html

最新回复(0)