CN114268589B - 流量转发方法、装置及存储介质 - Google Patents

流量转发方法、装置及存储介质 Download PDF

Info

Publication number
CN114268589B
CN114268589B CN202010974837.1A CN202010974837A CN114268589B CN 114268589 B CN114268589 B CN 114268589B CN 202010974837 A CN202010974837 A CN 202010974837A CN 114268589 B CN114268589 B CN 114268589B
Authority
CN
China
Prior art keywords
link
active
active link
target
temporary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010974837.1A
Other languages
English (en)
Other versions
CN114268589A (zh
Inventor
胡建宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Huawei Digital Technologies Co Ltd
Original Assignee
Beijing Huawei Digital Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Huawei Digital Technologies Co Ltd filed Critical Beijing Huawei Digital Technologies Co Ltd
Priority to CN202010974837.1A priority Critical patent/CN114268589B/zh
Publication of CN114268589A publication Critical patent/CN114268589A/zh
Application granted granted Critical
Publication of CN114268589B publication Critical patent/CN114268589B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例公开了一种流量转发方法、装置及存储介质,属于通信领域。在本申请实施例中,目标设备在检测到第一活动链路处于拥塞状态时,通过将非活动链路切换为活动链路来辅助第一活动链路完成流量转发,这样,增加了可用转发带宽,从而缓解了第一活动链路的拥塞情况,能够有效避免第一活动链路在传输数据的过程中出现丢包。并且,通过本申请实施例提供的方法来为第一活动链路确定一个辅助进行流量转发的临时活动链路,无需再在链路聚合组中新增成员口,操作更为简便,降低了系统资源消耗。

Description

流量转发方法、装置及存储介质
技术领域
本申请实施例涉及通信领域,特别涉及一种流量转发方法、装置及存储介质。
背景技术
通过在两个转发设备之间建立链路聚合组,能够提供更高的通信带宽和通信可靠性。其中,链路聚合组是将两个转发设备之间的多条通信链路进行捆绑得到。相关技术中,两个转发设备通过互相协商将链路聚合组中的M条通信链路作为活动链路,剩余的N条通信链路则作为非活动链路。非活动链路是活动链路的备份链路。当活动链路正常时,通过活动链路进行流量转发,当活动链路故障时,能够从非活动链路中选择一条链路来替换故障链路。其中,在通过活动链路进行流量转发时,有可能因为流量突发、负载分担不均或者是网络中流量增多而导致某条活动链路出现拥塞,在这种情况下,通过该条活动链路继续进行流量转发将有可能出现丢包问题。
发明内容
本申请实施例提供了一种流量转发方法、装置及存储介质,能够降低活动链路处于拥塞状态时的丢包率。所述技术方案如下:
第一方面,提供了一种流量转发方法,所述方法包括:当检测到第一活动链路处于拥塞状态时,将链路聚合组包括的N条非活动链路中的一条链路切换为第一临时活动链路,所述第一活动链路为所述链路聚合组包括的M条活动链路中的任一条活动链路,所述M和所述N均为大于0的整数;通过所述第一临时活动链路分担转发待通过所述第一活动链路转发的目标流量。
在本申请实施例中,在检测到第一活动链路处于拥塞状态时,通过将非活动链路切换为活动链路来辅助第一活动链路完成流量转发,这样,增加了可用转发带宽,从而缓解了第一活动链路的拥塞情况,能够有效避免第一活动链路在传输数据的过程中出现丢包。并且,通过本申请实施例提供的方法来为第一活动链路确定一个辅助进行流量转发的临时活动链路,无需再在链路聚合组中新增成员口,操作更为简便,降低了系统资源消耗。
在一种实现方式中,检测第一活动链路是否处于拥塞状态的实现过程为:获取所述第一活动链路的本端接口的发包速率;如果所述第一活动链路的发包速率不小于拥塞阈值的速率,则确定所述第一活动链路处于拥塞状态,所述拥塞阈值小于所述第一活动链路的接口带宽。
其中,当本申请实施例应用于链路聚合组对应的两个转发设备中任一转发设备时,也即,当两个转发设备中的每个转发设备均能够通过本申请实施例提供的方法来检测拥塞状态以触发链路切换时,每个转发设备均可以通过检测活动链路在自身上的接口是否处于拥塞状态来判断相应活动链路是否处于拥塞状态。
在一种实现方式中,在通过所述第一临时活动链路分担转发待通过所述第一活动链路转发的目标流量之后,获取所述第一活动链路的本端接口和所述第一临时活动链路的本端接口的总发包速率;如果所述总发包速率小于解除拥塞阈值,则将所述第一临时活动链路切换为非活动链路。
在本申请实施例中,当本申请实施例应用于链路聚合组对应的两个转发设备中任一转发设备时,任一转发设备在通过第一临时活动链路分担转发待通过所述第一活动链路转发的目标流量的过程中,可以通过检测第一活动链路的拥塞状态是否已解除来决定是否将第一临时活动链路重新切换为非活动链路,以此来保证出现故障链路时能够有非活动链路作为备份链路来替换。
在一种实现方式中,检测第一活动链路是否处于拥塞状态的实现过程为:获取所述第一活动链路的本端接口的发包速率和收包速率;如果所述第一活动链路的本端接口的发包速率和收包速率中存在不小于拥塞阈值的目标速率,则确定所述第一活动链路处于拥塞状态,所述拥塞阈值小于所述第一活动链路的接口带宽。
当本申请实施例应用于链路聚合组中的两个转发设备中的主动端时,作为主动端的转发设备通过将第一活动链路的本端接口的发包速率和收包速率分别与拥塞阈值进行比较,来判断第一活动链路的本端接口和对端接口是否处于拥塞状态,进而判断第一活动链路是否处于拥塞状态。
在一种实现方式中,在通过所述第一临时活动链路分担转发待通过所述第一活动链路转发的目标流量之后,当所述目标速率为第一活动链路的本端接口的发包速率时,获取第一活动链路的本端接口和所述第一临时活动链路的本端接口的总发包速率;如果所述总发包速率小于解除拥塞阈值,则将所述第一临时活动链路切换为非活动链路。
在本申请实施例中,当本申请实施例应用于链路聚合组对应的两个转发设备中的主动端,且作为主动端的转发设备是在检测到第一活动链路的本端接口处于拥塞状态的情况下确定第一活动链路处于拥塞状态,则该转发设备在通过第一临时活动链路辅助第一活动链路转发目标流量的过程中,可以检测第一活动链路的本端接口是否已解除拥塞状态,以此来决定是否将第一临时活动链路切换为非活动链路。
在一种实现方式中,在通过所述第一临时活动链路分担转发待通过所述第一活动链路转发的目标流量之后,当所述目标速率为第一活动链路的本端接口的收包速率时,获取第一活动链路的本端接口和所述第一临时活动链路的本端接口的总收包速率;如果所述总收包速率小于解除拥塞阈值,则将所述第一临时活动链路切换为非活动链路。
在本申请实施例中,当本申请实施例应用于链路聚合组对应的两个转发设备中的主动端之分,且作为主动端的转发设备是在检测到第一活动链路的对端接口处于拥塞状态的情况下确定第一活动链路处于拥塞状态,则该转发设备在通过第一临时活动链路辅助第一活动链路转发目标流量的过程中,可以检测第一活动链路的对端接口是否已解除拥塞状态,以此来决定是否将第一临时活动链路切换为非活动链路。
在一种实现方式中,所述解除拥塞阈值小于或等于所述拥塞阈值。
在一种实现方式中,所述将链路聚合组包括的N条非活动链路中的一条链路切换为第一临时活动链路的实现过程为:根据所述N条非活动链路中每条非活动链路的优先级,选择目标链路;将所述目标链路的本端接口的状态切换为活动状态,并向所述链路聚合组对应的对端设备发送第一报文,以将所述目标链路切换为所述第一临时活动链路,所述第一报文用于指示所述对端设备将所述目标链路的对端接口的状态切换为活动状态。
在一种实现方式中,将链路聚合组包括的N条非活动链路中的一条链路切换为第一临时活动链路的实现过程为:根据N条非活动链路的接口地址,通过哈希算法从N条非活动链路中选择一条活动链路作为目标链路。将所述目标链路的本端接口的状态切换为活动状态,并向所述链路聚合组对应的对端设备发送第一报文,以将所述目标链路切换为所述第一临时活动链路,所述第一报文用于指示所述对端设备将所述目标链路的对端接口的状态切换为活动状态。
在一种实现方式中,也可以通过其他算法从N条非活动链路中选择目标链路。
在一种实现方式中,在检测到第一活动链路处于拥塞状态后,获取所述链路聚合组包括的活动链路和临时活动链路的数量总和;如果所述数量总和小于参考阈值,则执行所述将链路聚合组包括的N条非活动链路中的一条链路切换为第一临时活动链路的步骤。该参考阈值是根据该链路聚合组允许的峰值带宽预先配置的峰值活动接口数量。通过设置峰值活动接口数量,能够保证链路聚合组所使用的带宽不超过所允许的峰值带宽,从而避免丢包。
第二方面,提供了一种流量转发装置,所述流量转发装置具有实现上述第一方面中流量转发方法行为的功能。所述流量转发装置包括至少一个模块,该至少一个模块用于实现上述第一方面所提供的流量转发方法。
第三方面,提供了一种流量转发装置,所述流量转发装置的结构中包括处理器和存储器,所述存储器用于存储支持流量转发装置执行上述第一方面所提供流量转发方法的程序,以及存储用于实现上述第一方面所提供的流量转发方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述流量转发装置还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的流量转发方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的流量转发方法。
上述第二方面、第三方面、第四方面和第五方面所获得的技术效果与第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
本申请实施例提供的技术方案带来的有益效果至少包括:
在本申请实施例中,在检测到第一活动链路处于拥塞状态时,通过将非活动链路切换为活动链路来辅助第一活动链路完成流量转发,这样,增加了可用转发带宽,从而缓解了第一活动链路的拥塞情况,能够有效避免第一活动链路在传输数据的过程中出现丢包。并且,通过本申请实施例提供的方法来为第一活动链路确定一个辅助进行流量转发的临时活动链路,无需再在链路聚合组中新增成员口,操作更为简便,降低了系统资源消耗。
附图说明
图1是本申请实施例提供的一种流量转发方法所涉及的系统架构图;
图2是本申请实施例提供的一种网络设备的结构示意图;
图3是本申请实施例提供的一种流量转发方法的流程图;
图4是本申请实施例提供的另一种流量转发方法的流程图;
图5是本申请实施例提供的又一种流量转发方法的流程图;
图6是本申请实施例提供的一种流量转发装置结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在对本申请实施例提供的流量转发方法进行详细的解释说明之前,先对本申请实施例涉及的应用场景予以介绍。
链路聚合是指将两个转发设备之间的多条通信链路捆绑在一起,成为一个链路聚合组,以此来增加网络带宽和可靠性的方法。其中,两个转发设备通过互相协商将链路聚合组中的多条通信链路中的M条链路作为活动链路,剩余的N条链路作为非活动链路。非活动链路是活动链路的备份链路。也即,当活动链路正常时,通过活动链路进行流量转发,当活动链路故障时,能够从非活动链路中选择一条链路来替换故障链路。
需要说明的是,当通过M条活动链路进行流量转发时,通常可以将流量在M条活动链路上进行负载分担,在这种情况下,有可能会因为负载分担不均引起某些链路上转发的流量的数据量过多,从而造成链路拥塞,进而导致链路在传输过程中出现丢包。或者,当某条活动链路上转发的流量出现突发情况时,也即,在短时间内接收到某些业务的大量数据包时,也可能会导致该条活动链路需要转发的流量的数据量过多,处于拥塞状态,从而导致链路丢包。或者,当网络中待转发的流量增多时,也可能导致某些活动链路上要转发的流量的数据量过多,处于拥塞状态,从而导致链路丢包。基于此,本申请实施例提供了一种流量转发方法,用于在上述场景下,尽可能避免链路丢包问题的出现。
接下来对本申请实施例提供的流量转发方法所涉及的系统架构进行介绍。
图1是本申请实施例提供的流量转发方法所涉及的一种网络架构图。如图1中所示,该网络架构包括第一转发设备101和第二转发设备102。其中,第一转发设备101和第二转发设备102之间建立有多条通信链路。
如图1中所示,第一转发设备101和第二转发设备102之间的M+N条通信链路被捆绑在一起,形成一个链路聚合组。其中,M和N均为大于或等于1的正整数。该链路聚合组包括M条活动链路(如图1中的实线所示,且图1中以M=2为例)和N条非活动链路(如图1中的虚线所示,且图1中以N=2为例)。各条通信链路在第一转发设备101和第二转发设备102上均对应有物理接口,其中,活动链路在两个转发设备上对应的物理接口均为活动状态,因此称为活动接口,非活动链路在两个转发设备上对应的物理接口均为非活动状态,因此称为非活动接口。
需要说明的是,第一转发设备101和第二转发设备102在建立链路聚合组的过程中能够通过协商确定哪一端作为主动端,哪一端作为被动端。在本申请实施例提供的一种实现方式中,无论第一转发设备101和第二转发设备102中哪个设备为主动端哪个设备为被动端,二者均能够检测该链路聚合组中的各条活动链路是否处于拥塞状态,进而通过本申请实施例提供的方法来对非活动链路进行切换,以进行流量转发。
在本申请实施例提供的另一种实现方式中,由第一转发设备101和第二转发设备102中的主动端来检测该链路聚合组中的各条活动链路是否处于拥塞状态,进而通过本申请实施例提供的方法来触发自身以及被动端对非活动链路进行切换,以进行流量转发。其中,主动端可以为第一转发设备101,也可以为第二转发设备102,本申请实施例对此不作限定。
其中,第一转发设备101和第二转发设备102为诸如路由器、交换机等具有流量转发功能的网络设备,本申请实施例对此不作限定。
图2是本申请实施例提供的一种网络设备的结构示意图。图1中所示的第一转发设备101和第二转发设备102均可通过该网络设备来实现。该网络设备可以包括一个或多个处理器201、通信总线202、存储器203以及一个或多个通信接口204。
处理器201可以是一个通用中央处理器(central processing unit,CPU)、网络处理器(network processor,NP)、微处理器、或者可以是一个或多个用于实现本申请方案的集成电路,例如,专用集成电路(application-specific integrated circuit,ASIC)、可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。
通信总线202用于在上述组件之间传送信息。通信总线202可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器203可以是只读存储器(read-only memory,ROM),也可以是随机存取存储器(random access memory,RAM),也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、光盘(包括只读光盘(compact discread-only memory,CD-ROM)、压缩光盘、激光盘、数字通用光盘、蓝光光盘等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器203可以是独立存在,并通过通信总线202与处理器201相连接。存储器203也可以和处理器201集成在一起。
通信接口204使用任何收发器一类的装置,用于与其它设备或通信网络通信。通信接口204包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合等。
在一些实施例中,网络设备可以包括多个处理器,如图3中所示的处理器201和处理器205。这些处理器中的每一个可以是一个单核处理器,也可以是一个多核处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,网络设备还可以包括输出设备206和输入设备207。输出设备206和处理器201通信,可以以多种方式来显示信息。例如,输出设备206可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备207和处理器201通信,可以以多种方式接收用户的输入。例如,输入设备207可以是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器203用于存储执行本申请方案的程序代码208,处理器201可以执行存储器203中存储的程序代码208。该程序代码中可以包括一个或多个软件模块,该网络设备可以通过处理器201以及存储器203中的程序代码208,来实现下文图3实施例提供的流量转发方法。
接下来对本申请实施例提供的流量转发方法进行介绍。
图3是本申请实施例提供的一种流量转发方法的流程图。该方法应用于目标设备中,其中,该目标设备是指这两个转发设备中的任一个转发设备中,或者,该目标设备是指作为主动端的转发设备。参见图3,该方法包括以下步骤:
步骤301:检测第一活动链路是否处于拥塞状态。
其中,第一活动链路是链路聚合组包括的M条活动链路中的任一条活动链路,除此之外,该链路聚合组还包括N条非活动链路,M和N均为大于0的整数。需要说明的是,所谓活动链路是指当前能够进行流量转发的处于活动状态的通信链路。非活动链路则是指当前不能进行流量转发、处于非活动状态的通信链路。
在本申请实施例中,目标设备实时检测链路聚合组中的各条活动链路的链路状态,或者,目标设备每隔一定时间间隔检测一次链路聚合组中各条活动链路的链路状态,本申请实施例对此不作限定。当目标设备检测到链路聚合组中的任一条活动链路的链路状态为拥塞状态时,均能够采用本申请实施例的方法来从非活动链路中选择一条链路与处于拥塞状态的活动链路共同负载分担流量。在本申请实施例中以链路聚合组中的第一活动链路为例对该过程进行说明。对于链路聚合组中的其他活动链路的处理方法,均可以参考对第一活动链路的处理方法,本申请实施例后续不再赘述。
示例性地,在一种实现方式中,当目标设备为前述图1所示的两个转发设备中的任一设备时,也即,无论目标设备为主动端还是被动端时,目标设备获取第一活动链路的本端接口的发包速率,将该发包速率与存储的拥塞阈值进行比较,如果该发包速率不小于拥塞阈值,则确定第一活动链路处于拥塞状态。
其中,第一活动链路的本端接口是指第一活动链路在目标设备上的接口。另外,拥塞阈值小于第一活动链路的接口带宽。需要说明的是,该拥塞阈值是根据第一活动链路的接口带宽预先配置在目标设备中的。示例性的,该拥塞阈值为第一活动链路的接口带宽的70%或80%或90%或其他比例数值,本申请实施例在此不做限定。
如果获取的第一活动链路的本端接口的发包速率不小于拥塞阈值,则说明第一活动链路的本端接口发送数据的压力过大,当前处于拥塞状态,在这种情况下,目标设备确定第一活动链路处于拥塞状态。
可选地,在另一种实现方式中,当目标设备为两个转发设备中的主动端时,也即,当本申请实施例应用于两个转发设备中的主动端时,目标设备获取第一活动链路的本端接口的发包速率和收包速率,将该发包速率和收包速率分别与存储的拥塞阈值进行比较,如果该发包速率和收包速率中存在不小于拥塞阈值的目标速率,则确定第一活动链路处于拥塞状态。
其中,目标设备将该发包速率和收包速率分别与拥塞阈值进行比较。如果发包速率不小于该拥塞阈值,而收包速率小于该拥塞阈值,则说明第一活动链路的本端接口处于拥塞状态,第一活动链路的对端接口不处于拥塞状态,此时,目标设备确定第一活动链路处于拥塞状态。可选地,如果发包速率小于该拥塞阈值,而收包速率不小于拥塞阈值,则说明第一活动链路的对端接口当前处于拥塞状态,而本端接口不处于拥塞状态,此时,目标设备确定第一活动链路处于拥塞状态。可选地,如果发包速率和收包速率均不小于该拥塞阈值,则说明第一活动链路的本端接口和对端接口均处于拥塞状态,此时,目标设备确定第一活动链路处于拥塞状态。可选地,如果发包速率和收包速率均小于该拥塞阈值,则说明第一活动链路的本端接口和对端接口均不处于拥塞状态,此时,目标设备结束操作。其中,第一活动链路的对端接口是指第一活动链路在目标设备的对端设备上的接口。
由此可见,当目标设备为两个转发设备中的主动端时,该目标设备同时检测活动链路在本端和对端的接口是否处于拥塞状态,只要检测到一个接口处于拥塞状态,即确定该活动链路处于拥塞状态。
步骤302:当检测到第一活动链路处于拥塞状态时,将链路聚合组包括的N条非活动链路中的一条链路切换为第一临时活动链路。
当检测到第一活动链路处于拥塞状态时,目标设备从N条非活动链路中选择一条链路,之后,将选择的链路从非活动状态切换为活动状态,也即,将选择的非活动链路切换为第一临时活动链路。
示例性地,在本申请实施例中,目标设备根据N条非活动链路中每条非活动链路的优先级,选择目标链路,将目标链路的本端接口的状态切换为活动状态,并向链路聚合组对应的对端设备发送第一报文,以将目标链路切换为第一临时活动链路,第一报文用于指示对端设备将目标链路的对端接口的状态切换为活动状态。
需要说明的是,链路聚合组中的每条通信链路在目标设备上的接口均对应一个优先级,并且,每条通信链路在对端设备上的接口也均对应一个优先级。其中,同一条通信链路在目标设备和对端设备上对应的接口的优先级可能不同。由前文中的介绍可知,两个转发设备在建立链路聚合组的过程中可以通过协商确定哪个设备作为主动端。在此基础上,当通过协商确定主动端之后,主动端将链路聚合组中各条通信链路在主动端上的接口的优先级作为相应通信链路的优先级,同时向被动端发送链路聚合组中各条通信链路在主动端上的接口的优先级。被动端在接收到主动端发送的各条通信链路在主动端上的接口的优先级之后,将各条通信链路在主动端上的接口的优先级也作为相应通信链路的优先级。换句话说,在建立链路聚合组确定出主动端之后,通过主动端和被动端的交互,对于主动端和被动端来说,链路聚合组中每条通信链路的优先级均以相应通信链路在主动端上的接口优先级为准。基于此,在本申请实施例中,目标设备获取N条非活动链路中每条非活动链路的优先级,将优先级最高的一条非活动链路作为目标链路。
在获得目标链路之后,由于该目标链路为非活动链路,因此,该目标链路的本端接口和对端接口均为非活动状态。在这种情况下,目标设备将目标链路的本端接口的状态切换为活动状态,并向对端设备发送第一报文,以此来使对端设备将目标链路的对端接口也切换活动状态,从而使得目标链路切换为第一临时活动链路。
其中,当目标设备为两个转发设备中的任一设备时,目标设备通过第一活动链路向对端设备发送第一报文,该第一报文中携带有用于指示链路当前处于拥塞状态的指示信息。对端设备在通过第一活动链路接收到第一报文之后,确定第一活动链路处于拥塞状态,进而采用与前述目标设备相同的方法,从N条非活动链路中选择优先级最高的一条非活动链路。由于同一条链路在两个转发设备处的优先级均是以该条链路在主动端上的接口的优先级为准,也即,同一条链路在两个转发设备处的优先级是相同的,因此,对端设备采用相同的方法选择的非活动链路与目标设备选择的非活动链路将是同一条链路,此时,对端设备将选择的非活动链路在对端设备上的接口切换为活动状态。如此,目标链路在两个转发设备上的接口的状态均被切换为了活动状态,从而使得该目标链路变为了一条临时的活动链路,也即第一临时活动链路。
需要说明的是,第一报文可以为链路聚合控制协议(link aggregation controlprotocol,LACP)报文。LACP报文中包括3个保留字节,在这种情况下,可以利用LACP报文中的这3个保留字节中的一个或多个字节来携带上述用于指示链路当前处于拥塞状态的指示信息,本申请实施例对此不作限定。
可选地,在一些可能的情况中,目标设备也可以在确定第一活动链路之后,且还未确定目标链路之前,即通过第一活动链路向对端设备发送第一报文,本申请实施例对此不作限定。
当目标设备为两个转发设备中的主动端时,在确定目标链路之后,目标设备将目标链路的本端接口切换为活动状态。之后,目标设备通过该目标链路向对端设备发送第一报文,其中,该第一报文中携带用于指示第一活动链路处于拥塞状态的指示信息。对端设备在通过目标链路接收到第一报文之后,获知第一活动链路当前处于拥塞状态,并且能够根据传输第一报文的目标链路获知目标设备已将该目标链路选为了第一活动链路的辅助链路。在这种情况下,对端设备将目标链路在对端设备上的接口也切换为活动状态。如此,目标链路在两个转发设备上的接口的状态均被切换为了活动状态,从而使得该目标链路变为了一条临时的活动链路,也即第一临时活动链路。其中,关于第一报文的相关实现方式可以参考前文中介绍的第一报文的实现方式,本申请实施例在此不再赘述。
可选地,在一些可能的情况中,在检测到第一活动链路处于拥塞状态之后,确定目标链路之前,目标设备还可以获取链路聚合组包括的活动链路和临时活动链路的数量总和;如果该数量总和小于参考阈值,则执行将链路聚合组包括的N条非活动链路中的一条链路切换为第一临时活动链路的步骤。如果该数量总和不小于参考阈值,则结束操作。
其中,该参考阈值是根据该链路聚合组允许的峰值带宽预先配置的峰值活动接口数量。也就是说,假设参考阈值为Z,则Z条链路的带宽总和小于或等于该链路聚合组允许的峰值带宽。其中,该参考阈值小于M+N,且大于M。
在本申请实施例中,目标设备获取链路聚合组中各条链路的本端接口的接口状态,将链路聚合组中本端接口的接口状态为活动状态的链路的数量确定为该链路聚合组中包括的活动链路和临时活动链路的数量总和。如果链路聚合组中包括的活动链路和临时活动链路的数量总和小于参考阈值,则说明该链路聚合组中当前使用的带宽还未达到允许的峰值带宽,此时,目标设备则可以通过本申请实施例提供的方法继续将非活动链路切换为临时活动链路来使用。可选地,如果链路聚合组中包括的活动链路和临时活动链路的数量总和不小于参考阈值,则说明链路聚合组中当前使用的带宽已达到或即将达到所允许的峰值带宽,此时,则不再允许继续将非活动链路切换为临时活动链路来使用,因此,目标设备结束操作。由此可见,通过设置峰值活动接口数量,能够保证链路聚合组所使用的带宽不超过所允许的峰值带宽,从而避免丢包。
步骤303:通过第一临时活动链路分担转发待通过第一活动链路转发的目标流量。
在将选择的非活动链路切换为第一临时活动链路之后,目标设备即能够通过该第一临时活动链路来分担转发待通过第一活动链路转发的目标流量。
其中,待通过第一活动链路转发的目标流量可能包括多个业务流的数据包,也可能包括一个业务流的大量数据包。并且,待通过第一活动链路转发的目标流量是目标设备在接收到多个业务流之后,通过哈希算法在M条活动链路上进行负载分担时分配至第一活动链路的流量。
目标设备在获得第一临时活动链路之后,可以通过哈希算法在第一临时活动链路和第一活动链路上对该目标流量进行负载分担,从而将目标流量中的一部分流量分配给第一临时活动链路转发,另一部分流量分配给第一活动链路进行转发,由此来缓解第一活动链路的拥塞情况,从而避免丢包。
在本申请实施例中,目标设备在检测到第一活动链路处于拥塞状态时,通过将非活动链路切换为活动链路来辅助第一活动链路完成流量转发,这样,增加了可用转发带宽,从而缓解了第一活动链路的拥塞情况,能够有效避免第一活动链路在传输数据的过程中出现丢包。并且,通过本申请实施例提供的方法来为第一活动链路确定一个辅助进行流量转发的临时活动链路,无需再在链路聚合组中新增成员口,操作更为简便,降低了系统资源消耗。另外,在本申请实施例中,第一临时活动链路和第一活动链路之间可以通过哈希算法负载分担已经分配至第一活动链路的目标流量,这样,不影响其他活动链路的流量转发,对业务影响较小。
上述实施例主要介绍了目标设备在检测到第一活动链路处于拥塞状态时,通过将非活动链路切换为活动链路来辅助第一活动链路完成流量转发的实现过程。在通过第一临时活动链路辅助第一活动链路进行流量转发的过程中,通过哈希算法在M条活动链路上进行负载分担后分配至第一活动链路的目标流量有可能会逐渐减少,在这种情况下,有可能单纯靠第一活动链路来转发该目标流量也不会再拥塞,此时,目标设备则可以再将第一临时活动链路切换回非活动临时链路。也就是说,在本申请实施例中,目标设备在通过第一临时活动链路辅助第一活动链路进行流量转发的过程中,还可以检测第一活动链路的拥塞状态是否解除,如果检测到第一活动链路的拥塞状态解除,则将第一临时活动链路切换为非活动链路。
其中,当目标设备为两个转发设备中的任一设备时,也即,当本本申请实施例既能够应用于主动端也能够应用于被动端时,由前文可知,目标设备通过比较第一活动链路的本端接口的发包速率与拥塞阈值来判断第一活动链路是否处于拥塞状态。在这种情况下,在通过第一临时活动链路辅助第一活动链路进行流量转发的过程中,目标设备计算第一临时活动链路的本端接口和第一活动链路的本端接口的发包速率之和,得到总发包速率。将该总发包速率与解除拥塞阈值进行比较,如果该总发包速率小于解除拥塞阈值,则将第一临时活动链路切换为非活动链路。其中,解除拥塞阈值小于或等于拥塞阈值。
需要说明的是,如果第一活动链路的本端接口的发包速率和第一临时活动链路的本端接口的发包速率之和小于解除拥塞阈值,则说明当前需要二者共同分担转发的流量减少至了第一活动链路单独承载也不至于拥塞的状态,此时,则确定第一活动链路的拥塞状态已解除。在这种情况下,则无需第一临时活动链路继续辅助第一活动链路进行流量转发,因此,目标设备可以将第一临时活动链路切换回非活动链路。
其中,在将第一临时活动链路切换回非活动链路时,目标设备首先通过第一临时活动链路向对端设备发送第二报文,该第二报文中携带有用于指示第一活动链路的拥塞状态已解除的指示信息。之后,目标设备将第一临时活动链路的本端接口切换为非活动状态。对端设备在通过第一临时活动链路接收到第二报文之后,确定第一活动链路已解除拥塞状态,从而将第一临时活动链路在对端设备上的接口切换为非活动状态,如此,第一临时活动链路重新变为了非活动链路。
在将第一临时活动链路重新切换为非活动链路之后,原本由第一临时活动链路和第一活动链路分担转发的流量均切换至第一活动链路来转发。
当目标设备为两个转发设备中的主动端时,也即,当本申请实施例应用于两个转发设备中的主动端时,由前文可知,目标设备通过判断第一活动链路的本端接口的发包速率和收包速率中是否存在不小于拥塞阈值的目标速率来判断第一活动链路是否处于拥塞状态。基于此,在通过第一临时活动链路辅助第一活动链路进行流量转发的过程中,目标设备相应地通过以下几种不同的方式来判断第一活动链路的拥塞状态是否解除。
第一种方式:当目标速率为第一活动链路的本端接口的发包速率时,在通过第一临时活动链路辅助第一活动链路进行流量转发的过程中,目标设备获取第一活动链路的本端接口和第一临时活动链路的本端接口的总发包速率;如果总发包速率小于解除拥塞阈值,则将第一临时活动链路切换为非活动链路。
也就是说,如果目标设备是在检测到第一活动链路的本端接口处于拥塞状态的情况下判定第一活动链路处于拥塞状态的,则在通过第一临时活动链路辅助第一活动链路进行流量转发的过程中,目标设备可以检测第一活动链路的本端接口的拥塞状态是否解除。如果第一第一活动链路的本端接口和第一临时活动链路的本端接口的总发包速率小于解除拥塞阈值,则说明当前需要二者共同分担转发的流量减少至了第一活动链路单独承载也不至于拥塞的状态,此时,则确定第一活动链路的本端接口的拥塞状态已解除,也即,第一活动链路的拥塞状态解除。在这种情况下,则无需第一临时活动链路继续辅助第一活动链路进行流量转发,因此,目标设备可以将第一临时活动链路切换回非活动链路。
其中,目标设备将第一临时活动链路切换回非活动链路的实现过程请参考前文中的相关内容,本申请实施例在此不再赘述。
第二种方式:当目标速率为第一活动链路的本端接口的收包速率时,在通过第一临时活动链路辅助第一活动链路进行流量转发的过程中,目标设备获取第一活动链路的本端接口和第一临时活动链路的本端接口的总收包速率;如果总收包速率小于解除拥塞阈值,则将第一临时活动链路切换为非活动链路。
也就是说,如果目标设备是在检测到第一活动链路的对端接口处于拥塞状态的情况下判定第一活动链路处于拥塞状态的,则在通过第一临时活动链路辅助第一活动链路进行流量转发的过程中,目标设备可以检测第一活动链路的对端接口的拥塞状态是否解除。如果第一第一活动链路的本端接口和第一临时活动链路的本端接口的收包速率之和小于解除拥塞阈值,则说明当前对端设备中需要第一活动链路和第一临时活动链路共同分担转发的流量减少至了第一活动链路单独承载也不至于拥塞的状态,此时,则确定第一活动链路的对端接口的拥塞状态已解除,也即,第一活动链路的拥塞状态解除。在这种情况下,则无需第一临时活动链路继续辅助第一活动链路进行流量转发,因此,目标设备可以将第一临时活动链路切换回非活动链路。
其中,目标设备将第一临时活动链路切换回非活动链路的实现过程请参考前文中的相关内容,本申请实施例在此不再赘述。
第三种方式:当目标速率同时包括第一活动链路的本端接口的发包速率和收包速率时,在通过第一临时活动链路辅助第一活动链路进行流量转发的过程中,目标设备获取第一活动链路的本端接口和第一临时活动链路的本端接口的总发包速率和总收包速率;如果总发包速率和总收包速率均小于解除拥塞阈值,则将第一临时活动链路切换为非活动链路。
也就是说,如果第一活动链路的两端接口均处于拥塞状态,则在通过第一临时活动链路辅助第一活动链路进行流量转发的过程中,目标设备通过将第一活动链路和第一临时活动链路的本端接口的总发包速率和总收包速率分别与解除拥塞阈值比较,来同时检测第一活动链路的两端接口的拥塞状态是否解除。如果两端接口的拥塞状态均已解除,则确定第一活动链路的拥塞状态已解除,此时,则无需第一临时活动链路继续辅助第一活动链路进行流量转发,因此,目标设备可以将第一临时活动链路切换回非活动链路。
其中,目标设备将第一临时活动链路切换回非活动链路的实现过程请参考前文中的相关内容,本申请实施例在此不再赘述。
在本申请实施例中,目标设备在通过第一临时活动链路辅助第一活动链路进行流量转发的过程中,还可以检测第一活动链路的拥塞状态是否已解除,并在检测到第一活动链路的拥塞状态已解除的情况下,将第一临时活动链路重新切为非活动链路,从而保证链路聚合组中出现故障链路时,能够有非活动链路进行替换。
图4是本申请实施例给出的目标设备为两个转发设备中的任一转发设备的情况下的流量转发方法的流程图,也即,图4给出的流量转发方法应用于主动端和被动端均能检测拥塞状态以触发链路切换的场景中,参见图4,该方法包括以下步骤:
步骤401:目标设备检测第一活动链路的本端接口是否处于拥塞状态。
其中,目标设备获取第一活动链路的本端接口的发包速率,将该发包速率与存储的拥塞阈值进行比较,如果该发包速率不小于拥塞阈值,则确定第一活动链路的本端接口处于拥塞状态。
如果目标设备确定第一活动链路的本端接口处于拥塞状态,则执行步骤402和步骤403,否则,则结束操作。
步骤402:目标设备检测链路聚合组中的活动链路和临时活动链路的数量总和是否小于参考阈值。
本步骤的实现方式可以参考前述实施例中步骤302中目标设备检测链路聚合组中的活动链路和临时活动链路的数量总和是否小于参考阈值的实现方式,本申请实施例在此不再赘述。
其中,如果链路聚合组中的活动链路和临时活动链路的数量总和小于参考阈值,则目标设备执行步骤404,如果链路聚合组中的活动链路和临时活动链路的数量总和不小于参考阈值,则结束操作。
步骤403:目标设备通过第一活动链路向对端设备发送第一报文。
本步骤的实现方式可以参考前述实施例中的相关实现方式,本申请实施例在此不再赘述。
步骤404:目标设备从N条非活动链路中选择优先级最高的一条链路作为目标链路,将目标链路的本端接口切换为活动状态。
本步骤中选择目标链路的方法可以参考前述实施例中介绍的选择目标链路的方法,本申请实施例在此不再赘述。
步骤405:当对端设备接收到第一报文之后,对端设备检测链路聚合组中的活动链路和临时活动链路的数量总和是否小于参考阈值。
其中,对端设备获取链路聚合组中的各条通信链路在对端设备上的接口的状态,将在对端设备上的接口的状态为活动状态的通信链路的总数量作为链路聚合组中的活动链路和临时活动链路的数量总和。
如果对端设备检测到链路聚合组中的活动链路和临时活动链路的数量总和小于参考阈值,则执行步骤406,否则结束操作。
步骤406:对端设备从N条非活动链路中选择优先级最高的一条链路作为目标链路,将目标链路在对端设备上的接口切换为活动状态。
步骤407:目标设备通过第一活动链路和目标链路的本端接口分担转发目标流量。
其中,关于目标流量的相关解释可参考前文中关于目标流量的介绍。另外,通过第一活动链路和目标链路的本端接口分担转发目标流量的实现方式可以参考前述步骤303,本申请实施例在此不再赘述。
在本申请实施例中,目标设备在检测到第一活动链路处于拥塞状态时,通过将非活动链路切换为活动链路来辅助第一活动链路完成流量转发,这样,增加了可用转发带宽,从而缓解了第一活动链路的拥塞情况,能够有效避免第一活动链路在传输数据的过程中出现丢包。并且,通过本申请实施例提供的方法来为第一活动链路确定一个辅助进行流量转发的临时活动链路,无需再在链路聚合组中新增成员口,操作更为简便,降低了系统资源消耗。另外,在本申请实施例中,第一临时活动链路和第一活动链路之间可以通过哈希算法负载分担已经分配至第一活动链路的目标流量,这样,不影响其他活动链路的流量转发,对业务影响较小。
图5是本申请实施例给出的目标设备为主动端的情况下的流量转发方法的流程图,也即,图5中的流量转发方法应用于由主动端检测拥塞状态以触发链路切换的场景中,参见图5,该方法包括以下步骤:
步骤501:目标设备检测第一活动链路的本端接口和对端接口是否处于拥塞状态。
本步骤的实现方式可以参考前述实施例中介绍的目标设备为主动端的情况下,目标设备检测第一活动链路是否处于拥塞状态的相关实现方式,本申请实施例在此不再赘述。
如果第一活动链路的本端接口和对端接口中的任一接口处于拥塞状态,则执行步骤502,如果第一活动链路的本端接口和对端接口均不处于拥塞状态,则结束操作。
步骤502:目标设备检测链路聚合组中的活动链路和临时活动链路的数量总和是否小于参考阈值。
本步骤的实现方式可以参考前述实施例中步骤302中目标设备检测链路聚合组中的活动链路和临时活动链路的数量总和是否小于参考阈值的实现方式,本申请实施例在此不再赘述。
其中,如果链路聚合组中的活动链路和临时活动链路的数量总和小于参考阈值,则目标设备执行步骤503,如果链路聚合组中的活动链路和临时活动链路的数量总和不小于参考阈值,则结束操作。
步骤503:目标设备从N条非活动链路中选择一条链路作为目标链路,将目标链路的本端接口切换为活动状态。
其中,目标设备从N条非活动链路中选择目标链路的方法可以参考前述实施例中介绍的选择目标链路的方法,本申请实施例在此不再赘述。
步骤504:目标设备通过目标链路向对端设备发送第一报文。
其中,关于第一报文的相关介绍可以参考前述实施例,本申请实施例在此不再赘述。
步骤505:对端设备在接收到第一报文之后,将目标链路在对端设备上的接口切换为活动状态。
步骤506:目标设备通过第一活动链路和目标链路的本端接口分担转发目标流量。
其中,关于目标流量的相关解释可参考前文中关于目标流量的介绍。另外,通过第一活动链路和目标链路的本端接口分担转发目标流量的实现方式可以参考前述步骤303,本申请实施例在此不再赘述。
在本申请实施例中,目标设备在检测到第一活动链路处于拥塞状态时,通过将非活动链路切换为活动链路来辅助第一活动链路完成流量转发,这样,增加了可用转发带宽,从而缓解了第一活动链路的拥塞情况,能够有效避免第一活动链路在传输数据的过程中出现丢包。并且,通过本申请实施例提供的方法来为第一活动链路确定一个辅助进行流量转发的临时活动链路,无需再在链路聚合组中新增成员口,操作更为简便,降低了系统资源消耗。另外,在本申请实施例中,第一临时活动链路和第一活动链路之间可以通过哈希算法负载分担已经分配至第一活动链路的目标流量,这样,不影响其他活动链路的流量转发,对业务影响较小。
参见图6,本申请实施例提供了一种流量转发装置600,该装置600包括:
切换模块601,用于执行前述实施例中的步骤302;
转发模块602,用于执行前述实施例中的步骤303。
其中,切换模块601可以由前述图2所示的网络设备中的处理器来实现,转发模块602可以由前述图2所示的网络设备中的处理器控制通信接口来实现。
可选地,参见图6,该装置还包括检测模块603,检测模块603用于:
获取第一活动链路的本端接口的发包速率;
如果第一活动链路的发包速率不小于拥塞阈值的速率,则确定第一活动链路处于拥塞状态,拥塞阈值小于第一活动链路的接口带宽。
可选地,该装置600还用于:
获取第一活动链路的本端接口和第一临时活动链路的本端接口的总发包速率;
如果总发包速率小于解除拥塞阈值,则将第一临时活动链路切换为非活动链路。
可选地,参见图6,该装置还包括检测模块603,检测模块603用于:
获取第一活动链路的本端接口的发包速率和收包速率;
如果第一活动链路的本端接口的发包速率和收包速率中存在不小于拥塞阈值的目标速率,则确定第一活动链路处于拥塞状态,拥塞阈值小于第一活动链路的接口带宽。
可选地,该装置600还用于:
当目标速率为第一活动链路的本端接口的发包速率时,获取第一活动链路的本端接口和第一临时活动链路的本端接口的总发包速率;
如果总发包速率小于解除拥塞阈值,则将第一临时活动链路切换为非活动链路。
可选地,该装置600还用于:
当目标速率为第一活动链路的本端接口的收包速率时,获取第一活动链路的本端接口和第一临时活动链路的本端接口的总收包速率;
如果总收包速率小于解除拥塞阈值,则将第一临时活动链路切换为非活动链路。
可选地,解除拥塞阈值小于或等于拥塞阈值。
可选地,切换模块302用于:
根据N条非活动链路中每条非活动链路的优先级,选择目标链路;
将目标链路的本端接口的状态切换为活动状态,并向链路聚合组对应的对端设备发送第一报文,以将目标链路切换为第一临时活动链路,第一报文用于指示对端设备将目标链路的对端接口的状态切换为活动状态。
可选地,该装置600还用于:
获取链路聚合组包括的活动链路和临时活动链路的数量总和;
如果数量总和小于参考阈值,则触发切换模块执行将链路聚合组包括的N条非活动链路中的一条链路切换为第一临时活动链路的步骤。
综上所述,在本申请实施例中,目标设备在检测到第一活动链路处于拥塞状态时,通过将非活动链路切换为活动链路来辅助第一活动链路完成流量转发,这样,增加了可用转发带宽,从而缓解了第一活动链路的拥塞情况,能够有效避免第一活动链路在传输数据的过程中出现丢包。并且,通过本申请实施例提供的方法来为第一活动链路确定一个辅助进行流量转发的临时活动链路,无需再在链路聚合组中新增成员口,操作更为简便,降低了系统资源消耗。另外,在本申请实施例中,第一临时活动链路和第一活动链路之间可以通过哈希算法负载分担已经分配至第一活动链路的目标流量,这样,不影响其他活动链路的流量转发,对业务影响较小。
需要说明的是:上述实施例提供的流量转发装置在转发流量时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的流量转发装置与流量转发方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(Digital Subscriber Line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(Digital Versatile Disc,DVD))、或者半导体介质(例如:固态硬盘(Solid State Disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
应当理解的是,本文提及的“至少一个”是指一个或多个,“多个”是指两个或两个以上。在本文的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
以上所述并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。

Claims (19)

1.一种流量转发方法,其特征在于,所述方法包括:
当检测到第一活动链路处于拥塞状态时,根据链路聚合组包括的N条非活动链路中每条非活动链路的优先级,选择目标链路,所述第一活动链路为所述链路聚合组包括的M条活动链路中的任一条活动链路,所述M和所述N均为大于0的整数;
将所述目标链路的本端接口的状态切换为活动状态,并向所述链路聚合组对应的对端设备发送第一报文,以将所述目标链路切换为第一临时活动链路,所述第一报文为链路聚合控制协议LACP报文,所述LACP报文的一个或多个保留字节用于携带指示信息,所述指示信息用于指示所述第一活动链路处于拥塞状态;
在所述第一临时活动链路和所述第一活动链路上对待通过所述第一活动链路转发的目标流量进行负载分担,以通过所述第一临时活动链路分担转发所述目标流量,所述目标流量是目标设备在接收到多个业务流之后,通过哈希算法在所述M条活动链路上进行负载分担时分配至所述第一活动链路的流量。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述第一活动链路的本端接口的发包速率;
如果所述第一活动链路的发包速率不小于拥塞阈值的速率,则确定所述第一活动链路处于拥塞状态,所述拥塞阈值小于所述第一活动链路的接口带宽。
3.根据权利要求2所述的方法,其特征在于,所述通过所述第一临时活动链路分担转发所述目标流量之后,还包括:
获取所述第一活动链路的本端接口和所述第一临时活动链路的本端接口的总发包速率;
如果所述总发包速率小于解除拥塞阈值,则将所述第一临时活动链路切换为非活动链路。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述第一活动链路的本端接口的发包速率和收包速率;
如果所述第一活动链路的本端接口的发包速率和收包速率中存在不小于拥塞阈值的目标速率,则确定所述第一活动链路处于拥塞状态,所述拥塞阈值小于所述第一活动链路的接口带宽。
5.根据权利要求4所述的方法,其特征在于,所述通过所述第一临时活动链路分担转发所述目标流量之后,还包括:
当所述目标速率为第一活动链路的本端接口的发包速率时,获取第一活动链路的本端接口和所述第一临时活动链路的本端接口的总发包速率;
如果所述总发包速率小于解除拥塞阈值,则将所述第一临时活动链路切换为非活动链路。
6.根据权利要求4所述的方法,其特征在于,所述通过所述第一临时活动链路分担转发所述目标流量之后,还包括:
当所述目标速率为第一活动链路的本端接口的收包速率时,获取第一活动链路的本端接口和所述第一临时活动链路的本端接口的总收包速率;
如果所述总收包速率小于解除拥塞阈值,则将所述第一临时活动链路切换为非活动链路。
7.根据权利要求3、5或6所述的方法,其特征在于,所述解除拥塞阈值小于或等于所述拥塞阈值。
8.根据权利要求1-6任一所述的方法,其特征在于,在检测到第一活动链路处于拥塞状态后,所述方法还包括:
获取所述链路聚合组包括的活动链路和临时活动链路的数量总和;
如果所述数量总和小于参考阈值,则执行所述根据链路聚合组包括的N条非活动链路中每条非活动链路的优先级,选择目标链路的步骤。
9.根据权利要求7所述的方法,其特征在于,在检测到第一活动链路处于拥塞状态后,所述方法还包括:
获取所述链路聚合组包括的活动链路和临时活动链路的数量总和;
如果所述数量总和小于参考阈值,则执行所述根据链路聚合组包括的N条非活动链路中每条非活动链路的优先级,选择目标链路的步骤。
10.一种流量转发装置,其特征在于,所述装置包括:
切换模块,用于当检测到第一活动链路处于拥塞状态时,根据链路聚合组包括的N条非活动链路中每条非活动链路的优先级,选择目标链路,所述第一活动链路为所述链路聚合组包括的M条活动链路中的任一条活动链路,所述M和所述N均为大于0的整数;
所述切换模块,还用于将所述目标链路的本端接口的状态切换为活动状态,并向所述链路聚合组对应的对端设备发送第一报文,以将所述目标链路切换为第一临时活动链路,所述第一报文为链路聚合控制协议LACP报文,所述LACP报文的一个或多个保留字节用于携带指示信息,所述指示信息用于指示所述第一活动链路处于拥塞状态;
转发模块,用于在所述第一临时活动链路和所述第一活动链路上对待通过所述第一活动链路转发的目标流量进行负载分担,以通过所述第一临时活动链路分担转发所述目标流量,所述目标流量是目标设备在接收到多个业务流之后,通过哈希算法在所述M条活动链路上进行负载分担时分配至所述第一活动链路的流量。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括检测模块,所述检测模块用于:
获取所述第一活动链路的本端接口的发包速率;
如果所述第一活动链路的发包速率不小于拥塞阈值的速率,则确定所述第一活动链路处于拥塞状态,所述拥塞阈值小于所述第一活动链路的接口带宽。
12.根据权利要求11所述的装置,其特征在于,所述装置还用于:
获取所述第一活动链路的本端接口和所述第一临时活动链路的本端接口的总发包速率;
如果所述总发包速率小于解除拥塞阈值,则将所述第一临时活动链路切换为非活动链路。
13.根据权利要求10所述的装置,其特征在于,所述装置还包括检测模块,所述检测模块用于:
获取所述第一活动链路的本端接口的发包速率和收包速率;
如果所述第一活动链路的本端接口的发包速率和收包速率中存在不小于拥塞阈值的目标速率,则确定所述第一活动链路处于拥塞状态,所述拥塞阈值小于所述第一活动链路的接口带宽。
14.根据权利要求13所述的装置,其特征在于,所述装置还用于:
当所述目标速率为第一活动链路的本端接口的发包速率时,获取第一活动链路的本端接口和所述第一临时活动链路的本端接口的总发包速率;
如果所述总发包速率小于解除拥塞阈值,则将所述第一临时活动链路切换为非活动链路。
15.根据权利要求13所述的装置,其特征在于,所述装置还用于:
当所述目标速率为第一活动链路的本端接口的收包速率时,获取第一活动链路的本端接口和所述第一临时活动链路的本端接口的总收包速率;
如果所述总收包速率小于解除拥塞阈值,则将所述第一临时活动链路切换为非活动链路。
16.根据权利要求12、14或15所述的装置,其特征在于,所述解除拥塞阈值小于或等于所述拥塞阈值。
17.根据权利要求10-15任一所述的装置,其特征在于,所述装置还用于:
获取所述链路聚合组包括的活动链路和临时活动链路的数量总和;
如果所述数量总和小于参考阈值,则触发所述切换模块执行所述根据链路聚合组包括的N条非活动链路中每条非活动链路的优先级,选择目标链路的步骤。
18.根据权利要求16所述的装置,其特征在于,所述装置还用于:
获取所述链路聚合组包括的活动链路和临时活动链路的数量总和;
如果所述数量总和小于参考阈值,则触发所述切换模块执行所述根据链路聚合组包括的N条非活动链路中每条非活动链路的优先级,选择目标链路的步骤。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行上述权利要求1-9任一所述的流量转发方法。
CN202010974837.1A 2020-09-16 2020-09-16 流量转发方法、装置及存储介质 Active CN114268589B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010974837.1A CN114268589B (zh) 2020-09-16 2020-09-16 流量转发方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010974837.1A CN114268589B (zh) 2020-09-16 2020-09-16 流量转发方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN114268589A CN114268589A (zh) 2022-04-01
CN114268589B true CN114268589B (zh) 2024-05-03

Family

ID=80824340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010974837.1A Active CN114268589B (zh) 2020-09-16 2020-09-16 流量转发方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN114268589B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102263697A (zh) * 2011-08-03 2011-11-30 杭州华三通信技术有限公司 一种聚合链路流量分担方法和装置
CN102685007A (zh) * 2012-05-04 2012-09-19 华为技术有限公司 一种多链路捆绑链路组中成员链路的处理方法及装置
CN106533964A (zh) * 2015-09-09 2017-03-22 中兴通讯股份有限公司 一种管理链路聚合成员端口丢包的方法和装置
CN108234305A (zh) * 2016-12-22 2018-06-29 上海诺基亚贝尔股份有限公司 一种跨机框链路冗余保护的控制方法及设备
CN108337179A (zh) * 2017-01-19 2018-07-27 华为技术有限公司 链路流量控制方法及装置
CN108476175A (zh) * 2015-12-31 2018-08-31 华为技术有限公司 使用对偶变量的传送sdn流量工程方法与系统
CN109450789A (zh) * 2018-12-27 2019-03-08 杭州迪普科技股份有限公司 一种基于链路聚合的分流方法和装置
CN109936508A (zh) * 2017-12-19 2019-06-25 中国移动通信集团公司 一种网络拥塞的处理方法及装置
CN110611577A (zh) * 2018-06-14 2019-12-24 中兴通讯股份有限公司 业务快速切换方法、切换装置、网络设备和存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102263697A (zh) * 2011-08-03 2011-11-30 杭州华三通信技术有限公司 一种聚合链路流量分担方法和装置
CN102685007A (zh) * 2012-05-04 2012-09-19 华为技术有限公司 一种多链路捆绑链路组中成员链路的处理方法及装置
CN106533964A (zh) * 2015-09-09 2017-03-22 中兴通讯股份有限公司 一种管理链路聚合成员端口丢包的方法和装置
CN108476175A (zh) * 2015-12-31 2018-08-31 华为技术有限公司 使用对偶变量的传送sdn流量工程方法与系统
CN108234305A (zh) * 2016-12-22 2018-06-29 上海诺基亚贝尔股份有限公司 一种跨机框链路冗余保护的控制方法及设备
CN108337179A (zh) * 2017-01-19 2018-07-27 华为技术有限公司 链路流量控制方法及装置
CN109936508A (zh) * 2017-12-19 2019-06-25 中国移动通信集团公司 一种网络拥塞的处理方法及装置
CN110611577A (zh) * 2018-06-14 2019-12-24 中兴通讯股份有限公司 业务快速切换方法、切换装置、网络设备和存储介质
CN109450789A (zh) * 2018-12-27 2019-03-08 杭州迪普科技股份有限公司 一种基于链路聚合的分流方法和装置

Also Published As

Publication number Publication date
CN114268589A (zh) 2022-04-01

Similar Documents

Publication Publication Date Title
US10938710B2 (en) Protection switching method and system, and network device
CN112868206B (zh) 一种用于提供服务代理功能的方法、系统和计算机可读介质
CN112491700B (zh) 网络路径调整方法、系统、装置、电子设备及存储介质
US20160359642A1 (en) Flow entry generating method and apparatus
CN107135279B (zh) 一种处理长连接建立请求的方法和装置
CN109194585B (zh) 报文转发方法及网络设备
CN112311674B (zh) 报文发送方法、装置及存储介质
CN112822102B (zh) 链路切换方法、装置、设备、系统及存储介质
WO2015070383A1 (zh) 一种链路聚合的方法、装置和系统
CN113783775A (zh) 数据传输的方法和装置
US9729454B2 (en) Methods, systems, and computer readable media for balancing diameter message traffic received over long-lived diameter connections
CN114268589B (zh) 流量转发方法、装置及存储介质
CN108667640B (zh) 通信方法及设备、网络接入系统
CN107104813B (zh) 一种信息传输方法、网关及控制器
CN114615179A (zh) 报文传输方法、设备及系统
CN115208822B (zh) 一种报文转发方法、装置、设备及计算机可读存储介质
EP2953299A1 (en) Protection switching method, system and node
EP4325802A1 (en) Pfc storm detection and processing method
CN113556243B (zh) 带宽管理方法、装置及存储介质
US20220231937A1 (en) High latency link determining method, routing advertisement method, and apparatus
CN113746574B (zh) 一种信息交互方法、系统及设备
CN112655178B (zh) 一种发送链路聚合控制协议报文的方法、系统及装置
US11949597B2 (en) Platform independent on demand network management and monitoring
CN107113244B (zh) 一种数据转发的方法、装置和系统
US20240214315A1 (en) Platform independent on demand network management and monitoring

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant