CN113767597B - 用于基于周期的负载均衡的网络设备、系统和方法 - Google Patents
用于基于周期的负载均衡的网络设备、系统和方法 Download PDFInfo
- Publication number
- CN113767597B CN113767597B CN202080014144.6A CN202080014144A CN113767597B CN 113767597 B CN113767597 B CN 113767597B CN 202080014144 A CN202080014144 A CN 202080014144A CN 113767597 B CN113767597 B CN 113767597B
- Authority
- CN
- China
- Prior art keywords
- output
- network device
- identifier
- network
- load balancing
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/34—Source routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及传输网络、基于分组的网络系统和这类网络系统中的负载均衡的领域。更具体地,所述负载均衡是在网络周期级别上执行的。本发明提供了一种用于基于周期的负载均衡的网络设备(100),用于获取包括输入周期标识符(102)和关联的输出标识符(103)的负载均衡策略(101)。所述网络设备(100)还用于:获取所述网络设备(100)的输入周期(105)中的网络数据包(104);根据所述输入周期(105)、所述输入周期标识符(102)和所述关联的输出标识符(103)确定所述网络设备(100)的输出(106);将所述网络数据包(104)提供给所述网络设备(100)的所述输出(106)。
Description
优先权要求申明
本申请要求2020年4月3日递交的发明名称为“用于基于周期的负载均衡的网络设备、系统和方法”(NETWORK DEVICE,SYSTEM AND METHOD FOR CYCLE-BASED LOADBALANCING)的第PCT/EP2020/059573号专利合作条约专利申请案的在先申请优先权,这个在先申请的内容均以全文引入的方式并入本文本中。
技术领域
本发明涉及传输网络、基于分组的网络系统和这类网络系统中的负载均衡的领域。更具体地,所述负载均衡是在网络周期级别上执行的。具体地,提供了一种用于基于周期的负载均衡的网络设备,以及对应的系统和方法。
背景技术
在传统的网络系统中,确定性网络(deterministic networking,DetNet)和时间敏感网络(time sensitive networking,TSN)保证了服务质量(quality of service,QoS),并限制了时间关键型应用的端到端延迟和抖动。延迟定义为在源节点发送数据包与在目的地节点接收同一数据包之间的时间间隔。抖动定义为连续数据包之间端到端延迟的变化。
在传统的网络系统中,存在两种节点:运营商边缘(provider edge,PE)节点和运营商(provider,P)节点。为了控制网络节点(如PE节点或P节点)中数据包的转发,可以使用流表或分段路由(segment routing,SR)策略。在流表中,每个输入端口都与流转发到的输出端口(以及DetNet的传输周期)关联。在这种情况下,必须在处理流的所有中间设备中设置转发规则。
在SR的情况下,SR ID(也称为SID)列表由PE节点添加到数据包中,并由数据包经过的每个中间P节点或PE节点消耗。该列表(也称为标签栈)确定每跳的路由(即出端口)和调度(即输出传输队列或输出传输周期)。
但是,使用单一路径路由来自同一流的所有网络数据包会导致网络利用率低下。通常,传统的负载均衡在交换机和路由器等网元内,例如使用基于哈希的分流或加权成本多径(weighted cost multi pathing,WCMP)实现。在这两种情况下,一旦对流做出决策,来自流的所有数据包都必须遵循相同的决策(相同的路径)。还可以使用等价多径(equalcost multiple path,ECMP)或非等价多径(unequal cost multiple path,UCMP)在多条路径上对流量分流。
但是,由于传统的负载均衡只能在每条路径级别上实现,因此对端到端抖动和延迟要求严格的确定性网络流量没有负载均衡方案。此外,在网络故障或网络数据包发生突发的情况下,传统的负载均衡无法满足关于抖动和延迟严格的端到端要求。
发明内容
鉴于上述问题,本发明的实施例的目的是改进传统的负载均衡方案。
该目的或其它目的可以通过所附独立权利要求中描述的本发明的实施例实现。本发明的实施例的有利实现方式在从属权利要求中进一步定义。
具体地,本发明的实施例通过根据接收网络数据包的输入周期决定如何在确定性网络中路由和调度数据包来解决传统负载均衡的问题。具体地,网络数据包的输出端口或输出周期可以根据接收网络数据包的输入周期确定,从而满足关于抖动和延迟严格的端到端要求。
本发明的第一方面提供了一种用于基于周期的负载均衡的网络设备,用于获取包括输入周期标识符和关联的输出标识符的负载均衡策略;获取所述网络设备的输入周期中的网络数据包;根据所述输入周期、所述输入周期标识符和所述关联的输出标识符确定所述网络设备的输出;将所述网络数据包提供给所述网络设备的所述输出。
这有利于在网络链路上和网络周期内实现有效的负载均衡。此外,还能够实现对抖动和时延要求严格的确定性流量的负载均衡。
具体地,负载均衡策略还包括路由策略。
具体地,网络数据包由网络流包括。
具体地,网络设备是网络流的入口设备或网络流的中间设备。
具体地,网络流包括源地址、目的地址、源端口、目的端口和传输协议。
在第一方面的一种实现方式中,所述输出包括输出端口,所述输出标识符包括与所述输入周期标识符关联的输出端口标识符,并且所述网络设备还用于根据所述输出端口标识符确定所述输出端口。
此外,这有利于在做出负载均衡决策时,可以考虑网络设备的几个输出端口。
在第一方面的另一种实现方式中,所述负载均衡策略还包括与所述输入周期标识符关联的负载分配指示符,其中,所述网络设备还用于根据所述负载分配指示符确定所述输出。
此外,这有利于在做出负载均衡决策时,可以考虑负载分配指示符。
具体地,负载分配指示符指示数据包数量与输出之间的关系。具体地,负载分配指示符指示相对负载量与输出之间的关系。具体地,负载分配指示符指示输出处的输出负载。具体地,负载分配指示符也与输出标识符关联。
在第一方面的另一种实现方式中,所述负载均衡策略还包括流表,所述输入周期标识符包括所述流表中的输入周期字段。
此外,这有利于在做出负载均衡决策时,可以考虑流表中的输入周期字段。
在第一方面的另一种实现方式中,所述输出端口标识符包括所述流表中的输出端口字段。
此外,这有利于在做出负载均衡决策时,可以考虑流表中的输出端口字段。
在第一方面的另一种实现方式中,所述输出包括输出队列,所述输出标识符包括与所述输入周期标识符关联的输出队列标识符,并且所述网络设备还用于根据所述输出队列标识符确定所述输出队列。
此外,这有利于在做出负载均衡决策时,可以考虑输出队列。
具体地,输出队列标识符是流表中的输出队列字段。
在第一方面的另一种实现方式中,所述负载分配指示符包括所述流表中的输出负载字段,其中,所述网络设备还用于根据所述输出负载字段确定输出负载。
此外,这有利于在做出负载均衡决策时,可以考虑流表中的输出负载字段。
在第一方面的另一种实现方式中,所述负载均衡策略还包括分段路由(segmentrouting,SR)策略,所述输入周期标识符包括所述SR策略中的到达周期字段。
此外,这有利于在做出负载均衡决策时,可以考虑SR策略中的到达周期字段。
在第一方面的另一种实现方式中,所述输出标识符包括所述SR策略中的分段ID列表。
此外,这有利于在做出负载均衡决策时,可以考虑SR策略中的分段ID列表。
在第一方面的另一种实现方式中,所述输出还包括输出周期,所述输出标识符还包括输出周期标识符,并且所述网络设备还用于根据所述输出周期标识符确定所述输出周期。
这有利于使数据包可以转移到与接收数据包的输入周期不同的输出周期,从而实现负载均衡或缓解突发。
具体地,输出周期标识符是周期转移标识符。具体地,输出周期与输入周期的不同在于输入周期转移的周期数,如周期转移标识符所指示。例如,如果输入周期为“1”,周期转移标识符为“1”,则输出周期为“2”。例如,如果输入周期为“1”,周期转移标识符为“2”,则输出周期为“3”。
在第一方面的另一种实现方式中,所述负载分配指示符包括所述SR策略中的输出负载字段,并且所述网络设备还用于根据所述输出负载字段确定输出负载。
此外,这有利于在做出负载均衡决策时,可以考虑SR策略中的输出负载字段。
在第一方面的另一种实现方式中,所述负载均衡策略还包括与所述输入周期标识符关联的突发条件标识符,并且所述网络设备还用于:在接收到网络数据包的突发之后,根据所述突发条件标识符确定所述输出。
此外,这有利于在做出负载均衡决策时,可以考虑SR策略中的输出负载字段。
具体地,突发条件标识符标识负载均衡策略中适合突发保护的规则。具体地,如果超过与同一流有关的接收网络数据包的预定阈值,则接收网络数据包的突发。
在第一方面的另一种实现方式中,所述负载均衡策略还包括与所述输入周期标识符关联的故障条件标识符,其中,所述网络设备还用于:在所述网络设备确定故障条件之后,根据所述故障条件标识符确定所述输出。
此外,这有利于在做出负载均衡决策时,可以考虑故障条件标识符。因此,网络设备可以有效地响应确定的故障条件。
具体地,故障条件标识符标识负载均衡策略中适合故障保护的规则。具体地,如果确定了沿着网络数据包的预期路径的链路故障,则网络设备确定故障条件。具体地,如果网络设备无法到达网络数据包的预期路径上的节点,则确定故障条件。
在第一方面的另一种实现方式中,所述负载均衡策略还包括与所述输入周期标识符关联的负载均衡条件标识符,并且所述网络设备还用于根据所述负载均衡条件标识符确定所述输出。
此外,这有利于在做出负载均衡决策时,可以考虑负载均衡条件标识符。因此,网络设备可以根据负载均衡条件标识符进行负载均衡决策,并更有效地操作。
具体地,负载均衡条件标识符标识负载均衡策略中适合一般负载均衡的规则。具体地,负载均衡条件标识符指示负载均衡策略中在网络设备处理的网络数据包应在网络设备中进行负载均衡时适合的规则。
在第一方面的另一种实现方式中,所述网络设备还用于确定所述网络设备中的所述负载均衡策略,和/或从网络控制器获取所述负载均衡策略。
这有利于网络设备可以独立于网络控制器运行,从而提高灵活性。或者,这有利于网络设备可以与网络控制器合作工作,从而节省自己的资源。
具体地,负载均衡策略可以在网络设备中根据从分布式协议(例如OSPF)获得的信息确定。
本发明的第二方面提供了一种用于基于周期的负载均衡的方法,所述方法包括以下步骤:网络设备获取包括输入周期标识符和关联的输出标识符的负载均衡策略;所述网络设备获取所述网络设备的输入周期中的网络数据包;所述网络设备根据所述输入周期、所述输入周期标识符和所述关联的输出标识符确定所述网络设备的输出;所述网络设备将所述网络数据包提供给所述网络设备的所述输出。
在第二方面的一种实现方式中,所述输出包括输出端口,所述输出标识符包括与所述输入周期标识符关联的输出端口标识符,并且所述方法还包括所述网络设备根据所述输出端口标识符确定所述输出端口。
在第二方面的另一种实现方式中,所述负载均衡策略还包括与所述输入周期标识符关联的负载分配指示符,并且所述方法还包括所述网络设备根据所述负载分布指示符确定所述输出。
在第二方面的另一种实现方式中,所述负载均衡策略还包括流表,所述输入周期标识符包括所述流表中的输入周期字段。
在第二方面的另一种实现方式中,所述输出端口标识符包括所述流表中的输出端口字段。
在第二方面的另一种实现方式中,所述输出包括输出队列,所述输出标识符包括与所述输入周期标识符关联的输出队列标识符,并且所述方法还包括所述网络设备根据所述输出队列标识符确定所述输出队列。
在第二方面的另一种实现方式中,所述负载分配指示符包括所述流表中的输出负载字段,并且所述方法还包括所述网络设备根据所述输出负载字段确定输出负载。
在第二方面的另一种实现方式中,所述负载均衡策略还包括分段路由(segmentrouting,SR)策略,所述输入周期标识符包括所述SR策略中的到达周期字段。
在第二方面的另一种实现方式中,所述输出标识符包括所述SR策略中的分段ID列表。
在第二方面的另一种实现方式中,所述输出还包括输出周期,所述输出标识符还包括输出周期标识符,并且所述方法还包括所述网络设备根据所述输出周期标识符确定所述输出周期。
在第二方面的另一种实现方式中,所述负载分配指示符包括所述SR策略中的输出负载字段,所述方法还包括所述网络设备根据所述输出负载字段确定输出负载。
在第二方面的另一种实现方式中,所述负载均衡策略还包括与所述输入周期标识符关联的突发条件标识符,并且所述方法还包括:所述网络设备在接收到网络数据包的突发之后,根据所述突发条件标识符确定所述输出。
在第二方面的另一种实现方式中,所述负载均衡策略还包括与所述输入周期标识符关联的故障条件标识符,并且所述方法还包括:所述网络设备在所述网络设备确定故障条件之后,根据所述故障条件标识符确定所述输出。
在第二方面的另一种实现方式中,所述负载均衡策略还包括与所述输入周期标识符关联的负载均衡条件标识符,并且所述方法还包括所述网络设备根据所述负载均衡条件标识符确定所述输出。
在第二方面的另一种实现方式中,所述方法还包括所述网络设备确定所述网络设备中的所述负载均衡策略,和/或所述网络设备从网络控制器获取所述负载均衡策略。
第二方面及其实现方式包括与第一方面及其相应的实现方式相同的优点。
本发明的第三方面提供了一种非瞬时性计算机可读存储介质,包括指令,当计算机执行所述指令时,使所述计算机执行第二方面或其任何实现方式的方法的步骤。
第三方面及其实现方式包括与第二方面及其相应的实现方式相同的优点。
本发明的第四方面提供了一种计算机程序产品,包括指令,当计算机执行所述程序时,使所述计算机执行第二方面或其任何实现方式的方法的步骤。
第四方面及其实现方式包括与第二方面及其相应的实现方式相同的优点。
本发明的第五方面提供了一种用于基于周期的负载均衡的系统,包括第一方面或其任一实现方式所述的网络设备,和网络控制器,所述网络控制器用于根据所述网络控制器监控的网络流量生成所述负载均衡策略,并将所述负载均衡策略提供给所述网络设备。
具体地,网络控制器是确定性网络(deterministic networking,DetNet)网络控制器或时间敏感网络(time sensitive networking,TSN)网络控制器。
具体地,网络控制器用于通过公共控制和测量平面(common control andmeasurement plane,CCAMP)、Netflow或遥测等协议监控网络流量。
第五方面及其实现方式包括与第一方面及其相应的实现方式相同的优点。
换句话说,本发明的实施例提供了一种在多个网络路径上和多个网络周期内的确定性负载均衡方案。提供负载均衡机制,以在网络路径上和网络周期内在数据包级别对流进行分流。分流可以在网络路径的头端节点或中间节点实现。因此,本发明的实施例能够在链路上和周期内实现有效的负载均衡、防止突发的保护和网络故障后的快速恢复。负载均衡决策可以在本地或全局级别进行。可应用确定性策略以在多个路径上/周期内进行负载均衡。例如,这些策略可以在集中级别和本地级别计算。在集中级别,控制器计算新策略并将这些新策略发送到相关节点。在本地级别,入口或中间节点可以独立做出决策,以根据它们接收到的信息(例如,来自OSPF等分布式协议)调整策略。负载分配策略可以通过使用分配到入口节点的SR策略来实现,也可以通过使用流表为每个数据包指定到转发路径和传输周期的映射来实现。
需要说明的是,本申请中描述的所有设备、元件、单元和模块可以在软件或硬件元件或其任何类型的组合中实现。本申请中描述的各种实体执行的所有步骤和所描述的将由各种实体执行的功能旨在表明各个实体适于或用于执行各自的步骤和功能。虽然在以下具体实施例的描述中,由外部实体执行的特定功能或步骤没有在执行该特定步骤或功能的该实体的具体详述元件的描述中反映,但是技术人员应该清楚,这些方法和功能可以在相应的硬件或软件元件或其任意组合中实现。
附图说明
结合所附附图,下面具体实施例的描述阐述上述本发明的各方面及实现方式,其中:
图1示出了本发明的实施例提供的网络设备的示意图;
图2详细示出了本发明的实施例提供的网络设备的示意图;
图3示出了沿几条网络路径负载均衡的示意图;
图4示出了网络设备使用的流表的示意图;
图5示出了网络设备启用的故障恢复的示意图;
图6示出了网络设备使用的SR策略列表的示意图;
图7示出了LoadBalanceType TLV格式的示意图;
图8示出了ArrivalCycle TLV格式的示意图;
图9示出了CycleShift TLV格式的示意图;
图10示出了Load out TLV格式的示意图;
图11示出了具有SR策略的负载均衡场景的示意图;
图12示出了具有SR策略的突发保护场景的示意图;
图13示出了具有SR策略的故障恢复场景的示意图;
图14示出了负载均衡路径计算算法的示意图;
图15示出了突发保护路径计算算法的示意图;
图16示出了故障恢复路径计算算法的示意图;
图17示出了本发明的实施例提供的方法的示意图;
图18示出了本发明的实施例提供的系统的示意图;
图19详细示出了本发明的实施例提供的系统的示意图;
图20示出了本发明的实施例提供的系统的操作场景的示意图。
具体实施方式
图1示出了本发明的实施例提供的网络设备100的示意图。网络设备100用于基于周期的负载均衡,相应地,用于获取包括输入周期标识符102和关联的输出标识符103的负载均衡策略101。网络设备100还用于获取网络设备100的输入周期105中的网络数据包104;根据输入周期105、输入周期标识符102和关联的输出标识符103确定网络设备100的输出106。换句话说,负载均衡策略101中的输入周期标识符102使得可以根据接收网络数据包104的输入周期105处理接收到的网络数据包104。具体地,基于负载均衡策略101,根据接收网络数据包的输入周期105确定网络数据包104的输出106。最后,网络设备用于将网络数据包104提供给网络设备100的输出106。
图2详细示出了本发明的实施例提供的网络设备100的示意图。图2所示的网络设备100包括图1的网络设备100的所有特征和功能,以及以下可选特征。
如图2所示,输出106可选地可以包括输出端口201,输出标识符103可选地可以包括与输入周期标识符102关联的输出端口标识符202。可选地,网络设备100还可以用于根据输出端口标识符202确定输出端口201。换句话说,可以根据接收网络数据包104的输入周期105,在输出端口201级别确定向其提供网络数据包104的输出106。输出端口201可以是网络设备的物理端口。输出端口201也可以是网络协议中使用的输出端口。
如图2中进一步所示,负载均衡策略101可选地还可以包括与输入周期标识符102关联的负载分布指示符203。网络设备100可选地可以用于根据负载分配指示符203确定输出106。换句话说,可以根据负载分配指示符203确定在负载均衡期间转发给输出的数据包的比率或绝对数量。
如图2中进一步所示,输出106可选地可以包括输出队列204,输出标识符103可选地可以包括与输入周期标识符102关联的输出队列标识符205,网络设备100可选地还可以用于根据输出队列标识符205确定输出队列204。换句话说,输出队列标识符205使得可以根据接收网络数据包104的输入周期105确定用于发送网络数据包104的输出队列204。
如图2中进一步所示,输出106可选地可以包括输出周期206,输出标识符103可选地可以包括输出周期标识符207,网络设备100可选地可以用于根据输出周期标识符207确定输出周期206。换句话说,输出周期标识符207使得可以根据接收网络数据包104的输入周期105确定用于发送网络数据包104的输出周期206。
如图2中进一步所示,负载均衡策略101可选地可以包括与输入周期标识符102关联的突发条件标识符208,网络设备100可选地可以用于:在接收到网络数据包的突发之后,根据突发条件标识符208确定输出106。换句话说,根据突发条件,可以选择预定义输出106用于发送网络数据包104。
如图2中进一步所示,负载均衡策略101可选地可以包括与输入周期标识符102关联的故障条件标识符209,网络设备100可选地可以用于:在网络设备100确定故障条件之后,根据故障条件标识符209确定输出106。换句话说,根据故障条件,可以选择预定义输出106用于发送网络数据包104。
如图2中进一步所示,负载均衡策略100可选地可以包括与输入周期标识符102关联的负载均衡条件标识符210,其中,网络设备100可选地可以用于根据负载均衡条件标识符210确定输出106。换句话说,负载均衡条件标识符210可以指示即将来临的网络数据包104是否需要负载均衡,或者是否不需要应用负载均衡。
当负载均衡策略101是流表或SR策略时,所有上述特征都适用,例如,分别在下面的图4和图6中描述。
图3示出了由网络设备100启用的,在几条路径301、302、303和几个周期310、311、312内的负载均衡(例如DetNet或TSN流量的负载均衡)。同一网络流320的数据包可以在不同的路径301、302、303上路由和调度。在图3中,第一周期320和第三周期312内的网络流320的数据包通过路径301路由,而第二周期311中的网络流320的数据包通过路径302路由。
图4示出了可用于图2提供的网络设备100中的流表400的示意图。负载均衡策略101可选地可以包括流表400,输入周期标识符102可选地可以包括流表400中的输入周期字段401。换句话说,负载均衡策略101可以通过流表400实现,而输入周期标识102可以通过输入周期字段401实现。虽然在流表400中,只有一个输入周期字段401被标记为参考符号,但上述教导适用于图4中标记为“Cycle_in”的列中所示的任何周期。
如图4中进一步所示,输出端口标识符202可选地可以包括流表400中的输出端口字段402。换句话说,输出端口标识符可以通过输出端口字段402实现。虽然在流表400中,只有一个输出端口字段402被标记为参考符号,但上述教导适用于图4中标记为“Port_out”的列中所示的任何端口。
如图4中进一步所示,输出队列标识符205可选地可以是流表400中的输出队列字段403,网络设备100可选地还可以用于根据输出队列字段403确定输出队列204。换句话说,输出队列标识符205可以通过输出队列字段403实现。虽然在流表400中,只有一个输出队列字段403被标记为参考符号,但上述教导适用于图4中标记为“Queue out”的列中所示的任何队列。
如图4中进一步所示,负载分配指示符203可选地可以是流表400中的输出负载字段404,网络设备100可选地还可以用于根据输出负载字段404确定输出负载。换句话说,负载分配指示符203可以通过输出负载字段404实现。虽然在流表400中,只有一个输出负载字段404被标记为参考符号,但上述教导适用于图4中标记为“Load out”的列中所示的任何项目。
如图4中进一步所示,突发条件标识符208可选地可以是流表400中的突发保护字段405,网络设备100可选地可以用于根据突发保护字段405确定输出106。换句话说,突发条件标识符208可以通过突发保护字段405实现。虽然在流表400中,只有一个突发保护字段405被标记为参考符号,但上述教导适用于图4中标记为“Burst protection”的列中所示的任何项目。
如图4中进一步所示,故障条件标识符209可选地可以是流表400中的故障保护字段406,网络设备100可选地可以用于根据故障保护字段406确定输出106。换句话说,故障条件标识符208可以通过故障保护字段406实现。虽然在流表400中,只有一个故障保护字段406被标记为参考符号,但上述教导适用于图4中标记为“Segment failure”的列中所示的任何项目。
即,扩展流表400以支持周期级负载均衡。在图4中,示出了如何通过添加可以标识输入周期(Cycle_in 401)、输出队列(Queue_out 402)和目标分流比(Load out 404)的特定字段来支持周期级负载均衡。流表400描述具有多个数据包的输出负载。但是,字段“Loadout”也可以通过负载均衡权重确定,负载均衡权重表示周期容量的百分比。
根据图4所示的示例410,描述了如何实现周期级负载均衡。预期在端口3、周期1中接收的流1被分流成两条路径,在端口1、队列4上发送一个数据包,在端口2、队列2上发送一个数据包。
根据示例411,流2被分流为两个周期,通过端口2、队列1发送1个数据包,通过端口2、队列2发送1个数据包。
根据流3的示例412,从端口3、周期2接收的流量完全转发给端口1、队列1,而在端口3、周期3中接收的流量完全转发给端口2、队列5。
根据图4,在示例413中实现突发保护(标记为“Y”的规则)。在这种情况下,假设突发保护是先验已知的,是每个流的最大突发长度。因为流整形通常在网络中的入口节点执行,因此这种假设符合现实。此外,假设流中数据包的最大传输单元(maximumtransmission unit,MTU)是已知的。在这种情况下,每当检测到流量突发时,具有突发的流将按以下方式分流:2个数据包在端口2、队列1上,剩余数据包(最多3个数据包)在端口2、队列2上。基于权重的负载均衡也是如此。只需要用权重替换“Load out”列的内容(即数据包值替换为相对值,例如以百分比表示)。例如,突发检测可以通过测量流量是否超过给定阈值来实现。在这种情况下,如上所述激活突发保护规则。
例如,如图5所示,在意外事件发生后,网络故障可以在链路级别(参见图5中的“f1”)或在共享风险链路组(shared risk link group,SRLG)的级别上(即,可能一起故障的链路组)识别。在图4中,流表400中的行414中的示例可以为给定故障f1指定是否必须激活规则。即,例如,f1可以是故障条件标识符209。这与图5中的说明一致:一旦节点B检测到故障,它激活流表400的规则414,并且流2的流量(在节点B的端口3接收)从端口1重定向到端口2、队列2(从而将相应的数据包从节点B通过节点D路由到节点E)。同样的情况也适用于基于权重的负载均衡。
图6示出了可由图2的网络设备100使用的SR策略600的示意图。
如图6所示,负载均衡策略101可选地可以包括SR策略600,输入周期标识符102可选地可以包括SR策略600中的到达周期字段601。换句话说,负载均衡策略可以通过SR策略实现,输入周期标识符102可以通过到达周期字段601实现。虽然在SR策略600中,只有一个到达周期字段601被标记为参考符号,但上述教导适用于图6中标记为“ArrivalCycle”的SR策略中所示的任何到达周期。
如图6中进一步所示,输出标识符103可选地可以包括SR策略600中的分段ID列表602。换句话说,输出标识符103可以通过分段ID列表602实现。虽然在SR策略600中,只有一个分段ID列表602被标记为参考符号,但上述教导适用于在图6中标记为“SID列表”的SR策略中所示的任何分段ID列表。
如图6中进一步所示,负载分配指示符203可选地可以包括SR策略600中的输出负载字段603,网络设备100可选地可以用于根据输出负载字段601确定输出负载。换句话说,负载分配指示符203通过输出负载字段603实现。虽然在SR策略600中,只有一个输出负载字段603被标记为参考符号,但上述教导适用于图6中标记为“Load out”的SR策略中所示的任何输出负载字段。
如图6中进一步所示,输出周期标识符206可选地可以是SR策略600中的周期转移标识符604。换句话说,输出周期标识符206可以通过周期转移标识符604实现。虽然在SR策略600中,只有一个周期转移标识符604被标记为参考符号,但上述教导适用于在图6中标记为“CycleShift”的SR策略中所示的任何周期转移标识符。
如图6中进一步所示,突发条件标识符208可选地可以是SR策略600中的负载均衡类型标识符605,网络设备100可选地还可以用于根据负载均衡类型标识符605确定输出106。在这种情况下,负载均衡类型标识符605可以具有指示突发条件的预定义值(例如“1”)。换句话说,突发条件标识符208可以通过负载均衡类型标识符605实现。虽然在SR策略600中,只有一个负载均衡类型标识符605被标记为参考符号,但上述教导适用于在图6中标记为“LoadBalance Type”的SR策略600中示出的任何项目。
如图6中进一步所示,故障条件标识符209可选地可以是SR策略600中的负载均衡类型标识符605,网络设备100可选地可以用于根据负载均衡类型标识符605确定输出106。在这种情况下,负载均衡类型标识符605可以具有指示故障条件的预定义值(例如“2”)。换句话说,故障条件标识符209可以通过负载均衡类型标识符605实现。
如图6中进一步所示,负载均衡条件标识符210可选地可以是SR策略600中的负载均衡类型标识符605,网络设备100可选地可以用于根据负载均衡类型标识符605确定输出106。在这种情况下,负载均衡类型标识符605可以具有指示负载均衡条件的预定义值(例如“0”)。换句话说,负载均衡条件标识符210可以通过负载均衡类型标识符605实现。
根据上述SR策略600的扩展,支持确定性流量的基于周期级别的负载均衡。在SR策略600中引入的根据本发明的实施例的字段在图6中用黑色着色。通常,SR策略600是应用于在网络的入口节点(例如网络设备100)中进入的每个网络数据包104的决策树,用于确定待注入数据包报头的标签栈(即SID列表)。对于每个网络数据包104,根据待采取的动作的状态及其在节点(即网络设备100)内的到达周期105,选择SID列表。从而可以在网络内实现路由。根据转移和负载分配,然后网络数据包104被发送到输出端口201中的一个,并插入可用传输队列204中的一个。
现在参照图7描述负载均衡类型标识符605的示例。在图7中,负载均衡类型标识符605可以体现为LoadBalanceType类型-长度-值(Type-Length-Value,TLV),其标识SR策略600是否已经被设想用于(i)周期级负载均衡,(ii)突发管理,或(iii)故障恢复。在周期级负载均衡的情况下,关联值为“0”,在突发管理的情况下,关联值为“1”,在故障恢复的情况下,关联值为“2”。
现在参照图8描述到达周期字段601的示例。SR策略600可以根据到达周期字段601定义待使用的ID列表和关联的分流(Load out字段)。只要流可以在几个周期内发送数据包,就定义每个周期的SR列表(例如,图6中的ArrivalCycle 11-ArrivalCycle 1m)。该信息保存在ArrivalCycle TLV中,如图8所示。
现在参照图9描述周期转移标识符604的示例。SR策略还可以要求CycleShift TLV(作为周期转移标识符604)确定应用于网络节点处每个网络数据包的调度。具体地,周期转移标识符604指示相对于接收网络数据包的输入周期105,网络数据包被调度到哪个输出周期。
现在参照图10描述输出负载字段603的示例。输出负载字段603可以实现为Loadout TLV,以将同一输入周期105内的帧分流到多个输出路径和周期上。SR策略600中包含的Load out TLV可以表示为数据包的数量或周期容量的百分比。
参考图11、图12和图13,描述三个使用案例,这些使用案例可以通过网络设备100实现的周期级负载均衡机制来解决:数据包的负载均衡(图11)、突发保护(图12)和快速故障恢复(图13)。
图11示出了如何使用SR策略600解决负载均衡问题。
图11的部分1100示出了用于描述与不同周期有关的网络数据包104的表。每一列1101、1102、1103涉及不同的周期。列1101涉及周期1,包括与需求“2”有关的两个数据包和与需求“3”有关的两个数据包。列1102涉及周期2,包括与需求“1”有关的一个数据包、与需求“3”有关的一个数据包和与需求“2”有关的一个数据包。列1103涉及周期3,包括与需求“1”有关的两个数据包和与需求“2”有关的两个数据包。该表1100通常适用于图11、图12、图13、图14、图15和图16中描述的分段路由。
在部分1104中,示出了根据本发明的负载均衡分段路由。因此,根据本发明的网络设备100例如由部分1104中的节点d实现。
在部分1104中,节点b将网络数据包104发送到节点d。在周期1中发送与需求“2”有关的三个网络数据包104。在周期2中发送与需求“2”有关的另外三个网络数据包104,在周期3中发送与需求“2”有关的另外三个网络数据包104。此外,节点a将网络数据包104发送到节点d。在周期1中发送与需求“1”有关的一个网络数据包104。在周期2中发送与需求“1”有关的另一个网络数据包104,在周期3中发送与需求“1”有关的另一个网络数据包104。
即,节点d(即网络设备100)在周期1、2和3中的每一个周期中接收四个网络数据包104。SR策略600中的信息(也在图11中示出)用于将这些网络数据包104发送到节点h,其中,网络数据包104的负载在路径d、e、h和路径d、f、h上均衡。为了便于说明,所示的SR策略600仅适用于图11的需求“2”。但是,相同的工作原理也适用于需求“1”的网络数据包104。
如在部分1104中的表1101'(符合表1100的一般描述)中所示,在周期1中,与需求“2”有关的网络数据包104从节点d转发到节点f。具体地,节点d用于将该网络数据包104转发到节点f的输出106可以根据到达周期字段601和分段ID列表602(具体根据SID“20002”)选择。此外,可以根据输出负载字段603确定输出负载。由于输出负载字段603的值为“1”,因此在周期1中到达并与需求“2”有关的三个网络数据包104中的一个在周期1中被转发到节点f。图11中周期转移标识符604为“0”表示用于发送网络数据包104的输出周期206与该网络数据包104的输入周期105(即周期1)相同。
如图11的表1101'中进一步所示,在周期2中,与需求“2”有关的网络数据包104从节点d转发到节点f。具体地,节点d用于将该网络数据包104转发到节点f的输出106可以根据到达周期字段601'和分段ID列表602'(具体根据SID“20003”)选择。此外,可以根据输出负载字段603'确定输出负载。由于输出负载字段603'的值为“1”,因此在周期2中到达并与需求“2”有关的三个网络数据包104中的一个被转发到节点f。图11中周期转移标识符604'为“0”表示用于发送网络数据包104的输出周期206与该网络数据包104的输入周期105(即周期2)相同。
如图11的表1101'中进一步所示,在周期3中,与需求“3”有关的网络数据包104从节点d转发到节点f。具体地,节点d用于将该网络数据包104转发到节点f的输出106可以根据到达周期字段601”和分段ID列表602”(具体根据SID“20001”)选择。此外,可以根据输出负载字段603”确定输出负载。由于输出负载字段603”的值为“1”,因此在周期2中到达并与需求“2”有关的三个网络数据包104中的一个被转发到节点f。图11中周期转移标识符604”为“0”表示用于发送网络数据包104的输出周期206与该网络数据包104的输入周期105(即周期3)相同。
如图11的表1101'中进一步所示,如上所述的网络数据包的类似处理适用于在周期1、2和3中的每一个周期中与需求“1”有关的网络数据包104。属于需求“1”并在周期1中在节点d接收的网络数据包104在周期1中提供给节点f。属于需求“1”并在周期2中在节点d接收的网络数据包104在周期2中提供给节点f。属于需求“1”并在周期3中在节点d接收的网络数据包104在周期3中提供给节点f。
即,根据表1101'中的符号,在节点d接收的负载的一半通过路径d、f、h提供给节点h。在节点d接收的负载的另一半通过路径d、e、h提供给节点h。在图11中,这由表1101”示出。
如在部分1104中的表1101”(符合表1100的一般描述)中所示,在周期1中,与需求“2”有关的两个网络数据包104从节点d转发到节点e。具体地,节点d用于将这些网络数据包104转发到节点e的输出106可以根据到达周期字段601和分段ID列表6012(具体根据SID“40002”)选择。此外,可以根据输出负载字段6013确定输出负载。由于输出负载字段6013的值为“2”,因此在周期1中到达并与需求“2”有关的三个网络数据包104中的两个被转发到节点e。图11中周期转移标识符6014为“0”表示用于发送网络数据包104的输出周期206与该网络数据包104的输入周期105(即周期1)相同。
如图11的表1101”中进一步所示,在周期2中,与需求“2”有关的两个网络数据包104从节点d转发到节点e。具体地,节点d用于将这些网络数据包104转发到节点e的输出106可以根据到达周期字段601'和分段ID列表6012'(具体根据SID“40003”)选择。此外,可以根据输出负载字段6013'确定输出负载。由于输出负载字段6013'的值为“2”,因此在周期2中到达并与需求“2”有关的三个网络数据包104中的两个被转发到节点e。图11中周期转移标识符6014'为“0”表示用于发送网络数据包104的输出周期206与该网络数据包104的输入周期105(即周期2)相同。
如图11的表1101”中进一步所示,在周期3中,与需求“3”有关的两个网络数据包104从节点d转发到节点e。具体地,节点d用于将这些网络数据包104转发到节点e的输出106可以根据到达周期字段601”和分段ID列表6012”(具体根据SID“40001”)选择。此外,可以根据输出负载字段6013”确定输出负载。由于输出负载字段603”的值为“2”,因此在周期3中到达并与需求“2”有关的三个网络数据包104中的两个被转发到节点e。图11中周期转移标识符6014”为“0”表示用于发送网络数据包104的输出周期206与该网络数据包104的输入周期105(即周期3)相同。
需求1和2从节点f转发到节点h可以通过传统的分段路由实现。需求2从节点e转发到节点h可以通过传统的分段路由实现。
换句话说,图11中的SR策略600可以在两个不同的路径(即路径b、d、f、h和路径b、d、e、h)上对需求2的流量进行负载均衡。对于每个周期中的数据包,应用分流1-2。将对应的SID列表附加到每个数据包,以便使节点d在正确的接口上路由流量。例如,周期11(标记为参考符号601”)中的3个数据包通过以下方式分流:2个通过使用SID 40001在链路d-e上,1个通过使用SID 20001在链路d-f上。在此负载均衡决策之后,链路的负载得到更好的分配,并降低了最大链路利用率(maximum link utilization,MLU)。
图12示出了如何使用SR策略600提供突发保护。在图12中,SR策略600可由节点b(其实现网络设备100)使用,以将网络数据包104移动到与接收网络数据包的输入周期105不同的输出周期206,从而缓解网络数据包104的突发。在图12中,表1201用于描述节点b处网络数据包104的处理。图11中表1100的描述也适用于图12的表1201。
表1201包括与常规流量有关的网络数据包104的部分1202,以及在突发条件期间到达节点b(即网络设备100)的网络数据包104的部分1203。
如部分1202所示,在周期1的正常工作期间,与需求“2”有关的三个数据包到达节点b。在周期2中,也有与需求“2”有关的三个数据包到达节点b。最后,在周期3中,同样有与需求“2”有关的三个数据包到达节点b。换句话说,在正常工作条件下,需求“2”的流量为3|3|3。
但是,当突发条件出现时(如部分1202和部分1203中一起所示),与需求“2”有关的六个数据包在周期1到达节点b,而与需求“2”有关的三个数据包在周期2到达,与需求“2”有关的三个数据包在周期3到达。换句话说,除了常规流量为3|3|3之外,传入突发为0|0|3。根据本发明,由突发引起的超出流量可以分配到这些周期,在这些周期中,没有接收到网络数据包104的突发。
如在部分1203中所示,与需求“2”有关并在突发条件期间接收的三个网络数据包104中的一个从周期1移动到周期2。即,该网络数据包104在第一输入周期105中接收,并在第二输出周期206中输出。节点b(即网络设备100)可以具体基于SR策略600的到达周期字段601和周期转移标识符604进行此决策。周期转移标识符604设置为“1”具体表示网络数据包104从第一输入周期105转移“1”到第二输出周期206。
如在部分1203中进一步所示,与需求“2”有关并在突发条件期间接收的三个网络数据包104中的另一个从周期1移动到周期3。即,该网络数据包104在第一输入周期105中接收,并在第三输出周期206中输出。节点b(即网络设备100)可以具体基于图12所示的SR策略600的到达周期字段601和周期转移标识符604'进行此决策。周期转移标识符604'设置为“2”具体表示网络数据包104从第一输入周期105转移“2”到第三输出周期206。
因此,根据网络数据包104各自的输入周期105,将网络数据包104转移到输出周期206。
如图12中进一步所示,负载均衡类型标识符605设置为“1”,表示图12的SR策略600用于突发保护。为了便于说明,图12的SR策略600仅涵盖需求“2”。
换句话说,突发的超出流量分配在3个周期内,每个周期1个数据包。根据SR策略600,然后在d-e和d-f链路之间平均分流流量。例如,这根据图11中描述的操作方式来完成。
如果没有网络设备100提供的方案,由于需求1的存在,不能在链路d-f上接收突发。在多个周期上分散突发的可能性可以提高链路利用率。
图13示出了如何使用实现周期级负载均衡的SR策略600提供故障保护。SR策略600用于在检测到节点d和节点e之间的故障f1时,将流量从d-e链路切换到d-g链路。
如图13中所示,负载均衡类型标识符605设置为“2”,表示图13的SR策略600用于故障保护。即,负载均衡类型标识符605可以是故障条件标识符209。换句话说,在网络设备100确定故障条件f1后,使用包括故障条件标识符209的SR策略600。
在图13中,通过表1301示出了在故障条件下转发网络数据包104。图11中表1100的描述也适用于图13的表1301。
一旦节点d(即网络设备100)检测到故障条件f1,SR策略的负载均衡类型标识符605设置为“2”,表示该SR策略600用于缓解故障条件。
如表1301所示,在周期1中,与需求“2”有关的两个网络数据包104从节点d转发到节点g。节点d可以具体基于到达周期字段601和SID列表602(具体是SID“60002”)进行此决策。输出负载字段603为“2”,表示在周期1中发送两个网络数据包104。
如表1301进一步所示,在周期2中,与需求“2”有关的两个网络数据包104从节点d转发到节点g。节点d可以具体基于到达周期字段601'和SID列表602'(具体是SID“60003”)进行此决策。输出负载字段603'为“2”,表示在周期2中发送两个网络数据包104。
如表1301进一步所示,在周期3中,与需求“2”有关的两个网络数据包104从节点d转发到节点g。节点d可以具体基于到达周期字段601”和SID列表602”(具体是SID“60004”)进行此决策。输出负载字段603”为“2”,表示在周期3中发送两个网络数据包104。
换句话说,SR策略600可以在故障条件f1的情况下根据输入周期105指定使用哪个SID列表602、602'、602”。
图14示出了一种可用于负载均衡的路径计算算法。如图14所示,对于每个需求d,算法执行以下步骤:
-计算关于预定义QoS/QoE、具有最大周期长度的路径p;
-对于路径p中的每对节点,计算k个子路径Pp(例如,k个最短路径或k个最大不相交最短路径),所述k个子路径Pp关于与这两个节点之间的路径p相关的QoS/QoE,其中,所有计算的路径Pp都有效,以通过使用缓冲区确保重排序来确保没有抖动和丢包;
-在选择的子路径上分配流量,使所有链路的最大周期利用率最小,并限制使用的子路径的数量;
-将所得到的负载均衡策略101发送到网络设备100,用于分别更新流表400、SR策略600。
例如,待设置的突发大小计算为按周期的最大数据包数×(周期长度(主路径)–周期长度(最小备份路径)–(DetNet的队列数量–1))。
图15示出了需求d1、d2和d3的分段路由(在部分1501中)和缓解需求d2的突发条件(在部分1502中)。
在部分1501所示的网络中,需求d1从节点a路由到节点h,在周期1、2和3中的每一个中携带三个网络数据包104。在同一网络中,需求d2从节点b路由到节点h,在周期1、2和3中的每一个中携带两个网络数据包104。此外,需求d3从节点c路由到节点h,在周期1、2和3中的每一个中携带三个网络数据包104。路由具体与图11的描述,更具体地与部分1100一致地执行。
如部分1502所示,在节点d(其实现网络设备100)处,需求d2出现网络数据包104的突发。虽然在部分1501中,两个网络数据包104存在于需求d2的周期1中,但在部分1502中,需要在节点d处在周期1中转发六个网络数据包104。通过将图12的教导应用于需求d2-第一次在节点d,第二次在节点f,缓解六个网络数据包104的突发。每次一个网络数据包从周期1转移到周期2,另一个网络数据包从周期1转移到周期3。这由图15中的参考符号1201、1202和1203示出。因此,突发得到缓解,并且不影响节点h。
例如,以下突发保护路径计算算法可以与图12或图15的教导一致地应用。可以执行以下步骤进行路径计算(其中,例如,Pd可以是在根据图14的算法中计算的需求d的一组备选子路径):
-对于Pd中的每个路径p,计算最大突发吸收;
-如果突发出现在需求d上,则对需求d的突发进行负载均衡,使得突发吸收仍然最小;
-将所得到的负载均衡策略101发送到网络设备100,用于分别更新流表400、SR策略600。
图16示出了需求d1、d2和d3的分段路由(在部分1601中)和缓解需求d2的网络故障(在部分1602中)。
在部分1601所示的网络中,需求d1从节点a路由到节点h,在周期1中携带零个网络数据包104,在周期2中携带一个网络数据包104,在周期3中携带两个网络数据包104。在同一网络中,需求d2从节点b路由到节点h,在周期1中携带两个网络数据包104,在周期2中携带一个网络数据包104,在周期3中携带两个网络数据包104。此外,需求d3从节点c路由到节点h,在周期1中携带两个网络数据包104,在周期2中携带一个网络数据包104,在周期3中携带零个网络数据包104。路由具体与图11的描述,更具体地与部分1100一致地执行。
如部分1602所示,在从节点d(其实现网络设备100)开始并通过节点f到达节点h的路径中,出现故障f1。通过通过节点d、e和h重新路由需求d1和d3,并通过节点d、g和h重路由需求d2,可以缓解此故障。在这两种情况下,通过应用图13的教导来实现重路由。
以下故障恢复路径计算算法可以与图13或图16的教导一致地应用。可以执行以下步骤(其中,例如,Pd可以是在根据图14的算法中计算的需求d的一组备选路径):
-对于包括故障链路集的所有路径,调用重路由过程;
-对需求d的路径p执行重路由过程,以避开故障链路集;
-在Pd中寻找备份路径p',以避开故障链路集;
-按照网络数据包的序列,在备份路径p'的集合上重路由受故障链路集影响的d的所有网络数据包;
-将所得到的负载均衡策略101发送到网络设备100,用于分别更新流表400、SR策略600。
例如,负载均衡策略101可以根据上述任一种算法在网络设备100中确定。根据这些算法,负载均衡策略101也可以在网络设备100外部,例如在网络控制器中获得。然后,可以在网络设备100中从网络控制器接收负载均衡策略101。
图17示出了本发明的实施例提供的用于基于周期的负载均衡的方法1700。用于基于周期的负载均衡的方法1700包括第一步骤:网络设备100获取1701包括输入周期标识符102和关联的输出标识符103的负载均衡策略101。方法1700包括第二步骤:网络设备100在网络设备100的输入周期105中获取1702网络数据包104。方法1700包括第三步骤:网络设备100根据输入周期105、输入周期标识符102和关联的输出标识符103确定1703网络设备100的输出。方法1700以最后步骤结束:网络设备100将网络数据包104提供1704给网络设备100的输出106。
图18示出了用于基于周期的负载均衡的系统1800。系统1800包括如上图1和图2中的任一个所述的网络设备100。系统1800还包括网络控制器1801,用于根据由网络控制器1801监控的网络流量1802生成负载均衡策略101,并将负载均衡策略101提供给网络设备100。
系统1800的更详细方式如图19所示,在下文描述。
图19详细示出了用于基于周期的负载均衡的系统1800。在图19中,控制器1801(例如,可以是DetNet或TSN网络控制器)使用如公共控制和测量平面(common control andmeasurement plane,CCAMP)、NetFlow或遥测等标准协议从网络收集(例如通过周期性统计收集(periodic statistic collection,PSC)模块1901)流量或流量统计。流量统计可以包括有关新传入流的信息,或有关队列和带宽利用率的信息。网络流量和/或流量统计也可以从网络设备100接收。为此,网络设备100使用网络统计和流量收集模块1904,该模块可以将该信息发送到控制器1801。
通过使用流量或流量统计,控制器1801的负载均衡策略计算模块1902可以确定新配置(即,负载均衡策略101,例如用于流表400更新或SR策略600更新)。例如,确定这些配置可以由事件(例如来自节点(例如网络设备100)的请求)触发。然后,例如,新配置可以通过负载均衡策略分配模块1903部署到网络设备100。负载均衡策略分配模块1903负责更新相关网络设备100的负载均衡策略101(例如包括流表400或SR策略600)。这些负载均衡策略101可以通过标准消息发送到网络设备100(例如,在DetNet或TSN设备中实现)。
一旦网络设备100接收到新的负载均衡策略101,它就可以相应地更新其本地负载均衡策略101(例如其流表400或SR策略600)。网络设备100可以检查网络流量中的流模式、链路状态或端口条件,并且可以决定应用从网络控制器1801接收的负载均衡策略101,并根据测量到的环境网络条件应用该负载均衡策略。应用负载均衡策略101在图19的部分1905和部分1906中具体示出。部分1905和1906具体示出了周期2的网络数据包104如何在路径B、D、F上负载均衡。网络设备100还负责监控端口利用率并向控制器报告所收集的统计信息(例如,由网络统计和流量收集模块1904完成)。
图20示出了用于决定是否需要应用以及需要应用哪个负载均衡策略101的一般过程。在步骤2001中,网络控制器1801主动计算新的或更新的负载均衡策略101并将其发送给PE节点(即,发送给网络节点100)。新的负载均衡策略101的计算基于网络统计,可以用于解决负载均衡、突发保护或故障恢复问题。由于网络控制器1801具有全网络视图,它必须确保负载均衡策略101不会在流之间引入干扰。在步骤2002中,将新的负载均衡策略101存储在网络节点(即网络设备100)中,以备将来使用。根据当前观察到的统计,网络设备100决定在步骤2003中应用的策略。在步骤2004中,也负责收集统计信息的节点向网络控制器1801发送关于所监控流量的更新信息。这可以定期完成,也可以由特定事件触发,所述特定事件例如新传入流的负载均衡策略101的缺失。
在特定实施例中,本地节点(即本地网络设备100)可以计算其本地负载均衡策略101并修改其流量路由。这可以在假设本地节点具有足够的信息(例如来自网络控制器1801)来做出保证网络确定性性能的决策的情况下完成。在流表400的情况下,中间节点可以修改转发规则,而在SR策略600的情况下,节点可以通过弹出操作修改SR报头列表。
已经结合作为示例的不同实施例以及实现方式描述了本发明。但是,根据对附图、本发明和独立权利要求的研究,本领域技术人员在实践所要求保护的发明时,能够理解和实现其它变化。在权利要求书以及说明书中,词语“包括”不排除其它元件或步骤,且不定冠词“一个”不排除多个。单个元件或其它单元可满足权利要求书中所叙述的若干实体或项目的功能。在互不相同的从属权利要求中列举某些措施并不表示这些措施的组合不能用于有益的实现方式。
Claims (18)
1.一种用于基于周期的负载均衡的网络设备(100),其特征在于,用于:
获取包括输入周期标识符(102)和关联的输出标识符(103)的负载均衡策略(101);
获取所述网络设备(100)的输入周期(105)中的网络数据包(104);
根据所述输入周期(105)、所述输入周期标识符(102)和所述关联的输出标识符(103)确定所述网络设备(100)的输出(106);
将所述网络数据包(104)提供给所述网络设备(100)的所述输出(106)。
2.根据权利要求1所述的网络设备(100),其特征在于,所述输出(106)包括输出端口(201),所述输出标识符(103)包括与所述输入周期标识符(102)关联的输出端口标识符(202),并且所述网络设备(100)还用于根据所述输出端口标识符(202)确定所述输出端口(201)。
3.根据权利要求1所述的网络设备(100),其特征在于,所述负载均衡策略(101)还包括与所述输入周期标识符(102)关联的负载分配指示符(203),其中,所述网络设备(100)还用于根据所述负载分配指示符(203)确定所述输出(106)。
4.根据权利要求1至3任一项所述的网络设备(100),其特征在于,所述负载均衡策略(101)还包括流表(400),所述输入周期标识符(102)包括所述流表(400)中的输入周期字段(401)。
5.根据权利要求4所述的网络设备(100),其特征在于,所述输出端口标识符(202)包括所述流表(400)中的输出端口字段(402)。
6.根据权利要求1至3任一项或权利要求5所述的网络设备(100),其特征在于,所述输出(106)包括输出队列(204),所述输出标识符(103)包括与所述输入周期标识符(102)关联的输出队列标识符(205),并且所述网络设备(100)还用于根据所述输出队列标识符(205)确定所述输出队列(204)。
7.根据权利要求3所述的网络设备(100),其特征在于,所述负载均衡策略(101)还包括流表(400),所述负载分配指示符(203)包括所述流表(400)中的输出负载字段(404),其中,所述网络设备(100)还用于根据所述输出负载字段(404)确定输出负载。
8.根据权利要求1至3任一项所述的网络设备(100),其特征在于,所述负载均衡策略(101)还包括分段路由(segment routing,SR)策略(600),所述输入周期标识符(102)包括所述SR策略(600)中的到达周期字段(601)。
9.根据权利要求8所述的网络设备(100),其特征在于,所述输出标识符(103)包括所述SR策略(600)中的分段ID列表(602)。
10.根据权利要求1至3任一项或权利要求9所述的网络设备(100),其特征在于,所述输出(106)还包括输出周期(206),所述输出标识符(103)还包括输出周期标识符(207),其中,所述网络设备(100)还用于根据所述输出周期标识符(207)确定所述输出周期(206)。
11.根据权利要求3所述的网络设备(100),其特征在于,所述负载均衡策略(101)还包括SR策略(600),所述负载分配指示符(203)包括所述SR策略(600)中的输出负载字段(603),其中,所述网络设备(100)还用于根据所述输出负载字段(603)确定输出负载。
12.根据权利要求1至3任一项、或权利要求5、或权利要求9所述的网络设备(100),其特征在于,所述负载均衡策略(101)还包括与所述输入周期标识符(102)关联的突发条件标识符(208),其中,所述网络设备(100)还用于:在接收到网络数据包的突发之后,根据所述突发条件标识符(208)确定所述输出(106)。
13.根据权利要求1至3任一项、或权利要求5、或权利要求9所述的网络设备(100),其特征在于,所述负载均衡策略(101)还包括与所述输入周期标识符(102)关联的故障条件标识符(209),其中,所述网络设备(100)还用于:在所述网络设备(100)确定故障条件之后,根据所述故障条件标识符(209)确定所述输出(106)。
14.根据权利要求1至3任一项、或权利要求5、或权利要求9所述的网络设备(100),其特征在于,所述负载均衡策略(101)还包括与所述输入周期标识符(102)关联的负载均衡条件标识符(210),其中,所述网络设备(100)还用于根据所述负载均衡条件标识符(210)确定所述输出(106)。
15.根据权利要求1至3任一项、或权利要求5、或权利要求9所述的网络设备(100),其特征在于,还用于确定所述网络设备(100)中的所述负载均衡策略(101),和/或从网络控制器(1801)获取所述负载均衡策略(101)。
16.一种用于基于周期的负载均衡的方法(1700),其特征在于,所述方法(1700)包括以下步骤:
网络设备(100)获取包括输入周期标识符(102)和关联的输出标识符(103)的负载均衡策略(101);
所述网络设备(100)获取所述网络设备(100)的输入周期(105)中的网络数据包(104);
所述网络设备(100)根据所述输入周期(105)、所述输入周期标识符(102)和所述关联的输出标识符(103)确定所述网络设备(100)的输出;
所述网络设备(100)将所述网络数据包(104)提供给所述网络设备(100)的所述输出(106)。
17.一种非瞬时性计算机可读存储介质,其特征在于,包括指令,当计算机执行所述指令时,使所述计算机执行根据权利要求16所述的方法(1700)的步骤。
18.一种用于基于周期的负载均衡的系统(1800),其特征在于,所述系统包括:
根据权利要求1至15中任一项所述的网络设备(100);
网络控制器(1801),用于根据由所述网络控制器(1801)监控的网络流量(1802)生成所述负载均衡策略(101),并将所述负载均衡策略(101)提供给所述网络设备(100)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211265161.4A CN115865814A (zh) | 2020-04-03 | 2020-04-03 | 用于基于周期的负载均衡的网络设备、系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2020/059573 WO2021197617A1 (en) | 2020-04-03 | 2020-04-03 | Network device, system and method for cycle-based load balancing |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211265161.4A Division CN115865814A (zh) | 2020-04-03 | 2020-04-03 | 用于基于周期的负载均衡的网络设备、系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113767597A CN113767597A (zh) | 2021-12-07 |
CN113767597B true CN113767597B (zh) | 2022-10-25 |
Family
ID=70285639
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211265161.4A Pending CN115865814A (zh) | 2020-04-03 | 2020-04-03 | 用于基于周期的负载均衡的网络设备、系统和方法 |
CN202080014144.6A Active CN113767597B (zh) | 2020-04-03 | 2020-04-03 | 用于基于周期的负载均衡的网络设备、系统和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211265161.4A Pending CN115865814A (zh) | 2020-04-03 | 2020-04-03 | 用于基于周期的负载均衡的网络设备、系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230017561A1 (zh) |
EP (1) | EP4115565A1 (zh) |
JP (1) | JP7512415B2 (zh) |
CN (2) | CN115865814A (zh) |
WO (1) | WO2021197617A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023147884A1 (en) * | 2022-02-07 | 2023-08-10 | Huawei Technologies Co., Ltd. | Network device and network manager for a network and methods for load balancing in a network |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105959399A (zh) * | 2016-06-17 | 2016-09-21 | 华为技术有限公司 | 一种负载分配的方法和装置 |
CN110557340A (zh) * | 2018-06-04 | 2019-12-10 | 中兴通讯股份有限公司 | 一种负载均衡方法、系统及输入设备 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4083169B2 (ja) | 2002-11-29 | 2008-04-30 | 富士通株式会社 | 通信装置、制御方法及びプログラム |
US7339948B2 (en) * | 2003-01-22 | 2008-03-04 | Rockwell Automation Technologies, Inc. | Industrial controller providing deterministic communication on ethernet |
US20060155862A1 (en) * | 2005-01-06 | 2006-07-13 | Hari Kathi | Data traffic load balancing based on application layer messages |
US8693488B2 (en) | 2005-09-13 | 2014-04-08 | Nxp B.V. | Method of transmitting messages |
CN102098094A (zh) * | 2010-11-04 | 2011-06-15 | 董仕 | 信号周期伸缩及超快速行列变换的方法与器件 |
US8467294B2 (en) * | 2011-02-11 | 2013-06-18 | Cisco Technology, Inc. | Dynamic load balancing for port groups |
JP2012235409A (ja) | 2011-05-09 | 2012-11-29 | Sumitomo Electric Ind Ltd | 光回線ユニット、局側装置および通信経路制御方法 |
JP5681123B2 (ja) | 2012-01-10 | 2015-03-04 | 日本電信電話株式会社 | 通信制御システム、接続ルート設定装置、電源制御装置、負荷分散装置および通信制御方法 |
JP5952780B2 (ja) | 2013-06-03 | 2016-07-13 | 株式会社日立製作所 | 伝送システム、パス構築方法、及び網管理装置 |
CN104702521A (zh) * | 2013-12-06 | 2015-06-10 | 中兴通讯股份有限公司 | 负载均衡方法和装置 |
US20150326473A1 (en) * | 2014-05-09 | 2015-11-12 | Futurewei Technologies, Inc. | Service Chain Path Route Reservations |
US9705737B2 (en) * | 2014-07-21 | 2017-07-11 | Cisco Technology, Inc. | Deterministic control loop scheduling |
US10454821B2 (en) | 2016-10-14 | 2019-10-22 | Cisco Technology, Inc. | Creating and maintaining segment routed traffic engineering policies via border gateway protocol |
CN108243113B (zh) * | 2016-12-26 | 2020-06-16 | 深圳市中兴微电子技术有限公司 | 随机负载均衡的方法及装置 |
CN109391556B (zh) * | 2017-08-10 | 2022-02-18 | 深圳市中兴微电子技术有限公司 | 一种报文调度方法、装置及存储介质 |
US20190253357A1 (en) * | 2018-10-15 | 2019-08-15 | Intel Corporation | Load balancing based on packet processing loads |
-
2020
- 2020-04-03 EP EP20718598.4A patent/EP4115565A1/en active Pending
- 2020-04-03 CN CN202211265161.4A patent/CN115865814A/zh active Pending
- 2020-04-03 WO PCT/EP2020/059573 patent/WO2021197617A1/en unknown
- 2020-04-03 CN CN202080014144.6A patent/CN113767597B/zh active Active
- 2020-04-03 JP JP2022560133A patent/JP7512415B2/ja active Active
-
2022
- 2022-09-28 US US17/936,337 patent/US20230017561A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105959399A (zh) * | 2016-06-17 | 2016-09-21 | 华为技术有限公司 | 一种负载分配的方法和装置 |
CN110557340A (zh) * | 2018-06-04 | 2019-12-10 | 中兴通讯股份有限公司 | 一种负载均衡方法、系统及输入设备 |
Non-Patent Citations (2)
Title |
---|
Design of RapidIO logical core based on safety arbitration mechanisms;Wu Fengfeng;《2010 Asia Pacific Conference on Postgraduate Research in Microelectronics and Electronics(PrimeAsia)》;20101018;全文 * |
一种空间信息网多径路由算法;刘军等;《东北大学学报(自然科学版)》;20110615(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2021197617A1 (en) | 2021-10-07 |
CN113767597A (zh) | 2021-12-07 |
US20230017561A1 (en) | 2023-01-19 |
JP7512415B2 (ja) | 2024-07-08 |
EP4115565A1 (en) | 2023-01-11 |
JP2023521027A (ja) | 2023-05-23 |
CN115865814A (zh) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3949293B1 (en) | Slice-based routing | |
US11134011B2 (en) | Communication system, control device, communication method, and program | |
US8427958B2 (en) | Dynamic latency-based rerouting | |
US8995277B2 (en) | Method for dynamic load balancing of network flows on LAG interfaces | |
US8625426B2 (en) | Network flow termination | |
US7961602B2 (en) | Method and device using a backup communication path to transmit excess traffic | |
US7835279B1 (en) | Method and apparatus for shared shaping | |
US20090303882A1 (en) | Mechanism for implementing load balancing in a network | |
US20020176363A1 (en) | Method for load balancing in routers of a network using overflow paths | |
US20090304007A1 (en) | Mechanism for determining a congestion metric for a path in a network | |
US20120075999A1 (en) | Dynamic latency-based rerouting | |
US20080069114A1 (en) | Communication device and method | |
US9379991B2 (en) | Communication node, a receiving node and methods therein | |
CN103329490A (zh) | 用于提高基于分组的通信网络中的数据传输的质量的方法 | |
CN109088822B (zh) | 数据流量转发方法、装置、系统、计算机设备及存储介质 | |
US11831549B2 (en) | Device and method for load balancing | |
Chiang et al. | A multipath transmission scheme for the improvement of throughput over SDN | |
US20230017561A1 (en) | Network Device, System and Method For Cycle-Based Load Balancing | |
CN112825512A (zh) | 负载均衡方法及装置 | |
US8139499B2 (en) | Method and arrangement for determining transmission delay differences | |
JP2006197473A (ja) | ノード | |
Kanagavelu et al. | A pro-active and adaptive mechanism for fast failure recovery in SDN data centers | |
JP4222422B2 (ja) | ノード、通信システムおよびノード用プログラム | |
KR20130085541A (ko) | 패킷 전송 장치 및 패킷 전송 방법 | |
WO2018179922A1 (ja) | 通信装置、通信制御方法、及び通信システム |
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 |