Traffic forwarding method and device, electronic equipment and storage medium

27-06-2023 дата публикации
Номер:
CN116346911A
Автор: LI LEI
Принадлежит: Byzoro Networks Ltd
Контакты:
Номер заявки: 18-10-20235446.5
Дата заявки: 01-03-2023

流量转发方法、装置、电子设备和存储介质

附图说明

[0010]

附图用于更好地理解本方案,不构成对本公开的限定。其中:

[0011]

图1为本公开的流量转发方法的一个实施例可以应用于其中的示例性系统架构图;

[0012]

图2为本公开的流量转发方法的一个实施例的流程示意图;

[0013]

图3为本公开的流量转发方法的另一个实施例的的流程示意图;

[0014]

图4为本公开的流量转发装置的一个实施例的结构示意图;

[0015]

图5为本公开的电子设备的一个实施例的结构示意图。

技术领域

[0001]

本申请涉及计算机网络技术领域,具体涉及流量控制领域,尤其涉及一种流量转发方法、装置、电子设备和存储介质。

具体实施方式

[0016]

应该指出,以下详细说明都是示例性的,旨在对本公开提供进一步的说明。除非另有指明,本文中使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。

[0017]

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

[0018]

在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。

[0019]

为使本公开的技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本公开作进一步详细的说明。

[0020]

图1示出了可以应用本公开的流量转发方法或流量转发装置的实施例的示例性系统架构100。

[0021]

如图1所示,系统架构100可以包括分流设备101和多个服务器102、103、104。分流设备101和多个服务器102、103、104之间可以通过网络用以交互。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

[0022]

分流设备101可以将接收到的数据包分发给各服务器102、103、104。各服务器102、103、104可以对数据包进行各种处理,并将处理结果输出。

[0023]

分流设备101和多个服务器102、103、104可以是硬件,也可以是软件。当上述各设备为硬件时,可以是各种电子设备,包括但不限于服务器、数据中心等等。当各设备为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。

[0024]

需要说明的是,本公开实施例所提供的流量转发方法一般由分流设备101执行。相应地,流量转发装置一般设置于分流设备101中。

[0025]

应该理解,图1中的分流设备和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的分流设备和服务器。

[0026]

图2示出了本公开的流量转发方法的一个实施例的流程200。如图2所示,本实施例的流量转发方法可以包括以下步骤:

[0027]

步骤201,响应于接收到针对目标端口的端口状态变化信号,生成链路变化信号并输出给端口管理者状态机。

[0028]

本实施例中,流量转发方法的执行主体(例如图1所示的分流设备101)可以接收针对目标端口的端口状态变化信号(single信号)。这里,目标端口可以是分流设备中输出方向的端口。当端口状态发生变化时,端口的硬件电路会生成端口状态变化信号。端口状态变化信号一般用于表示端口状态由可用状态变为不可用状态,即由“up”状态变为“down”状态。

[0029]

执行主体在接收到上述端口状态变化信号时,可以直接生成链路变化信号(linkchange信号)。这里,链路变化信号中可以只包括一个预设值,该预设值用于表示端口当前不可用。执行主体可以将上述链路变化信号输出给端口管理者状态机(port manager状态机)。这里,端口管理者状态机用于在条件满足时,将端口的状态由“down”状态转换为“init”状态,当端口通过通用协议协商成功后,再由“init”状态转换为“up”状态。当协商失败时,则不能由“init”状态转换为“up”状态。

[0030]

端口管理者状态机可以将端口的状态转换结果存储在链路状态信号中,通过设置链路状态信号值可以表示端口的状态。例如链路状态信号值为up时,表示端口为上线状态。链路状态信号值为down时,表示端口为下线状态。

[0031]

步骤202,读取端口管理者状态机输出的链路状态信号值。

[0032]

端口管理者状态机可以将链路状态信号值输出,执行主体可以读取该值。

[0033]

步骤203,响应于确定链路状态信号值为第一预设值,将经目标端口输出的流量转移到预先设置的镜像分析端口。

[0034]

如果执行主体读取到链路状态信号值为第一预设值,则可以认为目标端口为下线状态。则此时,执行主体可以将经目标端口输出的流量转移到预先设置的镜像分析端口。具体的,执行主体可以通过端口设置命令,将目标端口输出的流量转移到预先设置的镜像分析端口。这里,镜像分析端口可以是一个,也可以是多个。输出方向可以包括多个端口,该多个端口可以对应上述镜像分析端口。

[0035]

步骤204,通过镜像分析端口转发上述流量。

[0036]

当执行主体将流量转移到镜像分析端口后,镜像分析端口可以对数据包进行各种处理,例如转发、丢弃等,并将处理结果输出。这样,流量可以经镜像分析端口输出。

[0037]

本公开的上述实施例提供的流量转发方法,可以在端口状态异常时,通过预先设置的镜像分析端口转发流量,从而降低了丢包率。

[0038]

继续参见图3,其示出了根据本公开的流量转发方法的另一个实施例的流程300。如图3所示,本实施例的方法可以包括以下步骤:

[0039]

步骤301,响应于接收到针对目标端口的端口状态变化信号,生成链路变化信号并输出给端口管理者状态机。

[0040]

步骤302,读取端口管理者状态机输出的链路状态信号值。

[0041]

步骤303,响应于确定链路状态信号值为第一预设值,检测流量转发权限是否开放;响应于确定流量转发权限开放,将经目标端口输出的流量转移到预先设置的镜像分析端口。

[0042]

本实施例中,如果执行主体确定目标端口处于下线状态,则可以首先检测流量转发权限是否开放。这里,执行主体可以通过查询特定标志,如果标志位为预设值(例如flag=1)则认为流量转发权限开放。此时,执行主体可以将经目标端口输出的流量转移到预先设置的镜像分析端口。

[0043]

在本实施例的一些可选的实现方式中,执行主体可以通过镜像的方式将经目标端口输出的流量转移到预先设置的镜像分析端口。具体的,执行主体可以通过镜像命令实现流量的转移。

[0044]

步骤304,通过镜像分析端口转发上述流量。

[0045]

步骤305,响应于确定链路状态信号值为第二预设值,通过目标端口转发上述流量。

[0046]

如果链路状态信号值为第二预设值,则说明端口为上线状态,则可以直接通过目标端口转发上述流量。

[0047]

步骤306,将目标端口从绑定端口组中删除。

[0048]

执行主体还可以将目标端口从绑定端口组(trunk组)中删除。trunk的主要功能就是将多个物理端口绑定为一个逻辑的通道,使其工作起来就像一个通道一样。这样,就可以对输入的流量负载均衡的分发到各个端口。

[0049]

在本实施例的一些可选的实现方式中,执行主体可以预先为输出方向的端口设置镜像分析端口。具体的,执行主体可以根据交换芯片的类型设置对应的命令行实现镜像分析端口的设置。

[0050]

本公开的上述实施例提供的流量转发方法,可以通过镜像端口转发异常端口的流量,并将异常端口从trunk组中删除以保证负载均衡。

[0051]

进一步参考图4,作为对上述各图所示方法的实现,本公开提供了一种流量转发装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

[0052]

如图4所示,本实施例的流量转发装置400包括:信号生成单元401、信号值读取单元402、流量转移单元403和流量输出单元404。

[0053]

信号生成单元401,被配置成响应于接收到针对目标端口的端口状态变化信号,生成链路变化信号并输出给端口管理者状态机。

[0054]

信号值读取单元402,被配置成读取端口管理者状态机输出的链路状态信号值。

[0055]

流量转移单元403,被配置成响应于确定链路状态信号值为第一预设值,将经目标端口输出的流量转移到预先设置的镜像分析端口。

[0056]

流量输出单元404,被配置成通过镜像分析端口转发流量。

[0057]

另外,在本申请的技术方案中,还提出了一种电子设备。

[0058]

图5示出了本公开一实施例提供的一种电子设备的结构示意图。

[0059]

如图5所示,该电子设备可以包括处理器501、存储器502、总线503以及存储在存储器502上并可在处理器501上运行的计算机程序,其中,处理器501和存储器502通过总线503完成相互间的通信。所述处理器501执行所述计算机程序时实现上述方法的步骤,例如包括:响应于接收到针对目标端口的端口状态变化信号,生成链路变化信号并输出给端口管理者状态机;读取端口管理者状态机输出的链路状态信号值;响应于确定链路状态信号值为第一预设值,将经目标端口输出的流量转移到预先设置的镜像分析端口;通过镜像分析端口转发流量。

[0060]

另外,本公开一实施例中还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤,例如包括:响应于接收到针对目标端口的端口状态变化信号,生成链路变化信号并输出给端口管理者状态机;读取端口管理者状态机输出的链路状态信号值;响应于确定链路状态信号值为第一预设值,将经目标端口输出的流量转移到预先设置的镜像分析端口;通过镜像分析端口转发流量。

[0061]

综上所述,在本公开的技术方案中,可以通过镜像分析端口将输入到异常端口的流量输出,从而降低了丢包率。

[0062]

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

背景技术

[0002]

在汇聚分流设备中,可能因为加工工艺、设备运行异常、对端设备连接异常等问题,引起端口组中端口的状态随之切换,从而引起需要经端口组中的各端口输出的报文大量丢包导致数据丢失,因此需要尽可能降低丢包率来保证数据的完整性。

[0003]

现有的方案是通过对流量打标签并环回等操作以期降低丢包率。但是这种操作耗时长,交换芯片的响应时间慢,反而不会降低丢包率。

发明内容

[0004]

本公开的实施例提供了一种流量转发方法、装置、电子设备和存储介质。

[0005]

第一方面,本公开的实施例提供了一种流量转发方法,包括:响应于接收到针对目标端口的端口状态变化信号,生成链路变化信号并输出给端口管理者状态机;读取端口管理者状态机输出的链路状态信号值;响应于确定链路状态信号值为第一预设值,将经目标端口输出的流量转移到预先设置的镜像分析端口;通过镜像分析端口转发流量。

[0006]

第二方面,本公开的实施例提供了一种流量转发装置,包括:信号生成单元,被配置成响应于接收到针对目标端口的端口状态变化信号,生成链路变化信号并输出给端口管理者状态机;信号值读取单元,被配置成读取端口管理者状态机输出的链路状态信号值;流量转移单元,被配置成响应于确定链路状态信号值为第一预设值,将经目标端口输出的流量转移到预先设置的镜像分析端口;流量输出单元,被配置成通过镜像分析端口转发流量。

[0007]

第三方面,本公开的实施例提供了一种电子设备,包括存储器、处理器、总线及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所描述的流量转发方法。

[0008]

第四方面,本公开的实施例提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所描述的流量转发方法。

[0009]

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。



The invention relates to a traffic forwarding method and device, electronic equipment and a storage medium, and relates to the field of traffic control. The method comprises the following steps: in response to a received port state change signal for a target port, generating a link change signal and outputting the link change signal to a port manager state machine; reading a link state signal value output by a port manager state machine; in response to determining that the link state signal value is a first preset value, transferring the traffic output by the target port to a preset mirror image analysis port; and forwarding the traffic through the mirror image analysis port. According to the invention, the traffic input to the abnormal port can be output through the mirror image analysis port, so that the packet loss rate is reduced.



1.一种流量转发方法,包括:

响应于接收到针对目标端口的端口状态变化信号,生成链路变化信号并输出给端口管理者状态机;

读取所述端口管理者状态机输出的链路状态信号值;

响应于确定所述链路状态信号值为第一预设值,将经所述目标端口输出的流量转移到预先设置的镜像分析端口;

通过所述镜像分析端口转发所述流量。

2.根据权利要求1所述的方法,其中,所述方法还包括:

将所述目标端口从绑定端口组中删除。

3.根据权利要求1所述的方法,其中,所述方法还包括:

响应于确定所述链路状态信号值为第二预设值,通过所述目标端口转发所述流量。

4.根据权利要求1所述的方法,其中,在所述将经所述目标端口输出的流量转移到预先设置的镜像分析端口之前,所述方法还包括:

检测流量转发权限是否开放;

响应于确定所述流量转发权限开放,将经所述目标端口输出的流量转移到预先设置的镜像分析端口。

5.根据权利要求1所述的方法,其中,所述将经所述目标端口输出的流量转移到预先设置的镜像分析端口,包括:

通过镜像的方式将经所述目标端口输出的流量转移到预先设置的镜像分析端口。

6.根据权利要求1所述的方法,其中,所述方法还包括:

为输出方向的端口设置至少一个镜像分析端口。

7.一种流量转发装置,包括:

信号生成单元,被配置成响应于接收到针对目标端口的端口状态变化信号,生成链路变化信号并输出给端口管理者状态机;

信号值读取单元,被配置成读取所述端口管理者状态机输出的链路状态信号值;

流量转移单元,被配置成响应于确定所述链路状态信号值为第一预设值,将经所述目标端口输出的流量转移到预先设置的镜像分析端口;

流量输出单元,被配置成通过所述镜像分析端口转发所述流量。

8.一种电子设备,包括存储器、处理器、总线及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的流量转发方法。

9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述的流量转发方法。