Anti-affinity service flow scheduling method, apparatus and device, and storage medium

CN116545935BActive Publication Date: 2026-10-13NEW H3C TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310608655.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-27
Publication Date
2026-10-13
Estimated Expiration
2043-05-27

AI Technical Summary

Technical Problem

[0014]利用MPLS-TE隧道的亲和属性对业务流量进行路径选择时,在某些情况下会产生一些弊端,例如,可能会将众多相同类型的应用和服务质量要求的业务流量引入到同一个TE隧道中,导致业务流量聚集,隧道负载过大

Benefits of technology

[0053]本发明提供一种反亲和业务流调度方法、装置、设备及存储介质,用于解决SDN网络中反亲和业务流调度问题。本发明为流量工程隧道引入反亲和属性,SDN控制器对流量工程隧道中的业务流进行实时监控,当某个隧道路径存在网络拥塞,SDN控制器及时对拥塞隧道路径上的业务流进行反亲和业务流鉴别,对鉴别的反亲和业务流进行重路由计算,基于预设的机制将部分反亲和业务流调度到其它隧道路径上去。通过本发明能够减少由于拥塞丢包而发生网络重传的情况发生,提升网络整体带宽的利用率。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116545935B_ABST
    Figure CN116545935B_ABST
Patent Text Reader

Abstract

The application provides an anti-affinity service flow scheduling method, device and equipment and a storage medium, and is used for solving the anti-affinity service flow scheduling problem in an SDN network. The application introduces an anti-affinity attribute for a traffic engineering tunnel, and an SDN controller performs real-time monitoring on service flows in the traffic engineering tunnel. When network congestion exists in a certain tunnel path, the SDN controller performs anti-affinity service flow identification on the service flows on the congested tunnel path in a timely manner, performs re-routing calculation on the identified anti-affinity service flows, and schedules part of the anti-affinity service flows to other tunnel paths based on a preset mechanism. Through the application, the network retransmission caused by congestion packet loss can be reduced, and the utilization rate of the overall network bandwidth is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of communication and technology, and in particular to an anti-affinity service flow scheduling method, apparatus, device and storage medium. Background Technology

[0002] SDN (Software Defined Network) is a new type of innovative network architecture. Its core idea is to separate the control plane and forwarding plane of network devices to achieve flexible control of network traffic and provide a good platform for innovation in core networks and applications.

[0003] Network congestion is a major problem affecting backbone network performance. Congestion can be caused by insufficient network resources or by localized congestion due to uneven network resource load. Traffic Engineering (TE) is used to resolve congestion caused by uneven load.

[0004] Traffic Engineering (TE) dynamically adjusts traffic management parameters, routing parameters, and resource constraint parameters by monitoring network traffic and network unit load in real time. This helps to migrate the network to an ideal operating state, optimize the use of network resources, and avoid congestion caused by load imbalance.

[0005] In general, the performance metrics of flow engineering include two aspects:

[0006] (1) Business-oriented performance indicators: enhance the QoS (Quality of Service) performance of services, such as the impact on packet loss, latency, throughput and SLA (Service Level Agreement).

[0007] (2) Resource-oriented performance indicators: Optimize resource utilization. Bandwidth is an important resource, and efficient management of bandwidth resources is a central task of traffic engineering.

[0008] Multi-Protocol Label Switching-Traffic Engineering (MPLS-TE) combines MPLS technology with traffic engineering techniques. It reserves resources by establishing Label Switch Path (LSP) tunnels to a specified path, allowing network traffic to bypass congested nodes and achieve network traffic balance. Multiple LSP tunnels may be needed when deploying rerouting or transmitting traffic through multiple paths. In TE, such a set of LSP tunnels is called a TE tunnel (Traffic Engineered Tunnel).

[0009] An MPLS-TE tunnel is a virtual point-to-point connection from the head node to the destination node. Typically, an MPLS-TE tunnel consists of a single Constraint-based Routed Label Switched Path (CRLSP). However, in situations where traffic needs to be transmitted through multiple paths, multiple CRLSPs need to be established for the same type of traffic; in such cases, an MPLS-TE tunnel consists of a set of CRLSPs.

[0010] The affinity attribute of an MPLS-TE tunnel determines the links used by the tunnel. Working in conjunction with the link management group, the affinity attribute determines which links the tunnel can use. An affinity attribute is a 32-bit vector describing the characteristics of the links required by the MPLS-TE tunnel, along with a 32-bit mask (similar to an IPv4 address and subnet mask). The affinity attribute is configured on the tunnel interface of the ingress node and is carried in the Resource Reservation Protocol-Traffic Engineering (RSVP-TE) signaling. It can affect the Label Switched Path (LSP) already established for the tunnel by the current device, allowing the system to recalculate and select new link paths for the tunnel.

[0011] Link management group attributes, also known as management group attributes, are 32-bit vectors representing link attributes and are configured at the physical interface level of each link. Each bit in the link attribute represents an attribute, which can be set or omitted, or associated with any desired meaning, such as link bandwidth, performance, or management policy. Link attributes only apply to LSPs newly created through this interface and do not affect existing LSPs.

[0012] After configuring affinity attributes for an MPLS-TE tunnel, the tunnel compares the affinity attributes with the link's management group attributes when calculating the path, deciding whether to select or avoid links with certain attributes. MPLS-TE tunnels use a 32-bit mask to represent the bits to be compared. By performing a bitwise AND operation between the link management group and the tunnel's affinity attributes and the mask, if the results are the same, the tunnel selects that path; otherwise, it discards it.

[0013] For example, during tunnel path selection, the RSVP-TE signaling issued by the tunnel ingress node, along with the flooding of OSPF-TE or ISIS-TE routing information, requires selecting a suitable path to continue transmission towards the destination at each node, based on the affinity attributes configured for this tunnel. The selection method involves comparing the tunnel affinity attributes carried in the signaling with the link management group attributes of each MPLS-TE-enabled link on the current forwarding device, and selecting the path with matching attributes as the path chosen by that tunnel at this node.

[0014] When using the affinity attribute of MPLS-TE tunnels to select paths for service traffic, some drawbacks may occur in certain situations. For example, it may lead to the introduction of service traffic from many similar applications and with the same quality of service requirements into the same TE tunnel, resulting in traffic aggregation and excessive tunnel load.

[0015] A common workaround to address these issues is to configure the TE tunnel as a multi-LSP path for load balancing. However, the hash algorithm used for load balancing is statically executed. When the forwarding device performs hash calculations on service flow packets, it can easily hash multiple service flows with the same affinity to the same next hop, failing to fundamentally balance these service flows. Even if the hash algorithm of the forwarding device is modified, the packet hashing results may not be as uniform as expected, and the TCP / UDP fields in the service flow packet header frequently change, making it difficult for a static hash algorithm to achieve real-time uniform distribution of service flows.

[0016] Another common workaround is for the SDN controller to directly issue policy routes for each service flow, so that the service flow is evenly distributed. However, this will inevitably consume too much hardware policy routing resources, place too high demands on forwarding devices, require too many policy routes to be configured, have too high maintenance costs, and have too low feasibility. Summary of the Invention

[0017] In view of this, the present invention provides an anti-affinity service flow scheduling method, apparatus, device and storage medium to solve the technical problem of anti-affinity service flow scheduling in SDN networks.

[0018] Based on one aspect of the embodiments of the present invention, the present invention provides an anti-affinity service flow scheduling method, which is applied to a software-defined network (SDN) controller, and the method includes:

[0019] The SDN controller monitors the flow in real time on multiple tunnel paths within the flow engineering tunnel, and these multiple tunnel paths are configured with affinity attributes.

[0020] When the SDN controller detects that a tunnel path on a forwarding device is congested, it performs anti-affinity service flow identification on the service flow transmitted on the congested tunnel path to determine the anti-affinity service flow.

[0021] Based on a preset priority order, the SDN controller performs rerouting pre-calculation on some service flows in the anti-affinity service flow, and selects a service flow scheduling scheme that will not cause congestion in other tunnel paths based on the results of the rerouting pre-calculation.

[0022] Based on the selected service flow scheduling scheme, the new route of the selected service flow will be sent to the forwarding device so that the forwarding device can update the routing table and schedule the selected service flow to other tunnel paths for transmission.

[0023] Furthermore, the method by which the SDN controller performs real-time monitoring of traffic on multiple tunnel paths within the traffic engineering tunnel is as follows:

[0024] Based on the managed traffic engineering tunnel information and routing information, the SDN controller monitors the service flow status of each tunnel path on each forwarding device in real time through a traffic monitoring mechanism. When congestion occurs in a tunnel path, the SDN controller triggers the anti-affinity service flow identification processing step according to the congestion alarm reported by the forwarding device.

[0025] Furthermore, the method for identifying the anti-affinity service flow is as follows:

[0026] The SDN controller acquires the traffic transmission characteristics of service flows on the congested tunnel path, performs correlation analysis on the service flows based on the traffic transmission characteristics, calculates the correlation between service flows, and determines the two service flows as anti-affinity service flows when the correlation between two service flows is greater than a preset threshold.

[0027] Furthermore, the method for obtaining the traffic transmission characteristics of service flows on the congested tunnel path is as follows:

[0028] The SDN controller obtains a historical fluctuation curve reflecting the service flow based on the traffic sampling data of the service flow. It then uses this historical fluctuation curve to obtain one or more of the following characteristics of the service flow: average flow rate, traffic bandwidth fluctuation amplitude, fluctuation frequency, and fluctuation duration, as the traffic transmission characteristics.

[0029] Furthermore, the method for performing rerouting pre-calculation to obtain the selected service flow scheduling scheme is as follows: select the target service flow from the anti-affinity service flow according to the preset selection strategy, determine the remaining service flows as candidate service flows, exclude the next hop of the tunnel path corresponding to the candidate service flow, and select an optimal path as the target path from the remaining tunnel paths based on the preset path selection strategy.

[0030] The next hop of the target path is used as the next hop of the target service flow. It is determined whether the service flow scheduling scheme of scheduling the target service flow to the target path will cause congestion of the target path. If it is determined that it will not cause congestion, the target service flow and the next hop route corresponding to the target path are used as the selected service flow scheduling scheme.

[0031] Furthermore, when it is determined that congestion will occur, a different service flow is reselected from the anti-affinity service flow according to the preset selection strategy as the target service flow and the target path selection step is executed again until a target path that will not cause congestion is selected. The finally selected target service flow and the next-hop route corresponding to the target path are used as the selected service flow scheduling scheme.

[0032] If none of the combinations of target service flows and target paths can ultimately meet the condition of not causing congestion on the target path, then the selection of the service flow scheduling scheme will be terminated, and the current scheduling process will end.

[0033] Furthermore, the method for selecting an optimal path as the target path from the remaining tunnel paths based on a preset path selection strategy is as follows:

[0034] Select the tunnel path with the best affinity attribute match from the remaining tunnel paths as the target path; or

[0035] Among the remaining tunnel paths, the target path is selected based on a combination of affinity attributes and link load, which meets both the affinity attributes of the tunnel path and can balance the link load.

[0036] Furthermore, the multiple tunnel paths within the flow engineering tunnel include equivalent paths;

[0037] When the tunnel path corresponding to the candidate service flow is an equivalent path, the step of excluding the next hop of the tunnel path corresponding to the candidate service flow specifically means: excluding all equivalent next hops of the tunnel path corresponding to the candidate service flow.

[0038] Based on another aspect of the embodiments of the present invention, the present invention also provides an anti-affinity service flow scheduling device, which can be implemented in software, hardware, or a combination of both. When implemented as a software module, the program code of the software module is loaded into the storage medium of the device, and the processor reads and executes the program code in the storage medium to realize the functions of each component module in the device. This device is applied to a software-defined network (SDN) controller, and includes:

[0039] The monitoring module is used to monitor the flow in real time on multiple tunnel paths within the flow engineering tunnel, and the multiple tunnel paths are configured with affinity attributes;

[0040] The anti-affinity service flow determination module is used to identify the anti-affinity service flow transmitted on the congested tunnel path when the monitoring module detects that a certain tunnel path on a certain forwarding device is congested, and to determine the anti-affinity service flow.

[0041] The scheduling scheme determination module is used to perform rerouting pre-calculation on a portion of the service flows in the anti-affinity service flow based on a preset priority order, and select a service flow scheduling scheme that will not cause congestion in other tunnel paths based on the results of the rerouting pre-calculation.

[0042] The routing module is used to send the new route of the selected service flow to the forwarding device based on the selected service flow scheduling scheme, so that the forwarding device updates the routing table and schedules the selected service flow to other tunnel paths for transmission.

[0043] Furthermore, the monitoring module monitors the service flow status of each tunnel path on each forwarding device in real time based on the managed traffic engineering tunnel information and routing information through the traffic monitoring mechanism. When congestion occurs in the tunnel path, the anti-affinity service flow determination module is triggered to identify the anti-affinity service flow based on the congestion alarm reported by the forwarding device.

[0044] Furthermore, the anti-affinity service flow determination module includes:

[0045] The feature acquisition unit is used to obtain a historical fluctuation curve reflecting the service flow based on the traffic sampling data of the service flow, and to obtain one or more of the following features of the service flow: average flow rate, traffic bandwidth fluctuation amplitude, fluctuation frequency and fluctuation duration, as the traffic transmission feature:

[0046] The anti-affinity service flow determination unit is used to perform correlation analysis on the service flows based on the traffic transmission characteristics, calculate the correlation between the service flows, and determine the two service flows as anti-affinity service flows when the correlation between the two service flows is greater than a preset threshold.

[0047] Furthermore, the scheduling scheme determination module includes:

[0048] The target service flow and target path determination unit is used to select the target service flow from the anti-affinity service flow according to a preset selection strategy, determine the remaining service flows as candidate service flows, exclude the next hop of the tunnel path corresponding to the candidate service flow, and select an optimal path as the target path from the remaining tunnel paths based on a preset path selection strategy.

[0049] The service flow scheduling scheme determination unit is used to take the next hop of the target path as the next hop of the target service flow, determine whether the service flow scheduling scheme of scheduling the target service flow to the target path will cause congestion of the target path, and when it is determined that it will not cause congestion, take the target service flow and the next hop route corresponding to the target path as the selected service flow scheduling scheme.

[0050] Furthermore, the target service flow and target path determination unit selects the tunnel path with the best affinity attribute among the remaining tunnel paths as the target path; or selects the tunnel path that meets both the affinity attribute of the tunnel path and can balance the link load among the remaining tunnel paths based on the affinity attribute and link load.

[0051] Furthermore, the multiple tunnel paths within the flow engineering tunnel include equivalent paths;

[0052] When the target service flow and target path determination unit finds that the tunnel path corresponding to the candidate service flow is an equivalent path, it will exclude all equivalent next hops of the tunnel path corresponding to the candidate service flow.

[0053] This invention provides an anti-affinity service flow scheduling method, apparatus, device, and storage medium to solve the anti-affinity service flow scheduling problem in SDN networks. This invention introduces anti-affinity attributes into traffic engineering tunnels. The SDN controller monitors the service flows in the traffic engineering tunnels in real time. When network congestion occurs on a certain tunnel path, the SDN controller promptly identifies anti-affinity service flows on the congested tunnel path, performs rerouting calculations on the identified anti-affinity service flows, and schedules some anti-affinity service flows to other tunnel paths based on a preset mechanism. This invention can reduce network retransmissions due to congestion and packet loss, improving the overall bandwidth utilization of the network. Attached Figure Description

[0054] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments of the present invention or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the present invention. For those skilled in the art, other drawings can be obtained from these drawings of the embodiments of the present invention.

[0055] Figure 1 An example diagram illustrates a network application scenario that causes congestion in a traffic engineering tunnel.

[0056] Figure 2 This is a schematic diagram of a network application scenario in which host service traffic scheduling is implemented using an anti-affinity traffic scheduling method according to an embodiment of the present invention;

[0057] Figure 3 This is a flowchart illustrating the steps of an anti-affinity service flow scheduling method according to an embodiment of the present invention;

[0058] Figure 4 This is a schematic diagram of an electronic device structure for implementing the anti-affinity service flow scheduling method provided by the present invention, according to an embodiment of the present invention. Detailed Implementation

[0059] The terminology used in this embodiment of the invention is for the purpose of describing specific embodiments only and is not intended to limit the embodiments of the invention. The singular forms “a,” “the,” and “the” used in this embodiment are also intended to include the plural forms unless the context clearly indicates otherwise. It should be understood that although the terms first, second, third, etc., may be used to describe various information in this embodiment, this information should not be limited to these terms. These terms are only used to distinguish similar information, entities, or steps, and not to describe a specific order or sequence. For example, without departing from the scope of this embodiment, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Furthermore, the word “if” used can be interpreted as “when…”, “when…”, or “in response to a determination.” The term “and / or” in this invention is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone, where A and B can be singular or plural. And, in the description of this invention, unless otherwise stated, “multiple” means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or multiple items. For example, at least one of a, b, or c can be expressed as: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.

[0060] This invention addresses the technical problem of traffic aggregation and excessive tunnel path load in SDN networks when redirecting traffic with affinity attributes to TE tunnels. It provides an anti-affinity traffic scheduling scheme. The core idea is to introduce an anti-affinity attribute into the traffic engineering tunnel. The SDN controller monitors the traffic flows within the tunnel in real time. When network congestion occurs on a tunnel path, the SDN controller promptly identifies the anti-affinity traffic flows on the congested tunnel path, performs rerouting calculations on the identified anti-affinity flows, and schedules some of the anti-affinity traffic flows to other tunnel paths based on a preset mechanism. This invention reduces network retransmissions due to congestion and packet loss, improving the overall network bandwidth utilization.

[0061] The anti-affinity attribute in this invention is used to define the mutual exclusion characteristics of service flows in the traffic engineering tunnel. When the traffic transmission characteristics of multiple service flows are very similar, these flows may generate a large burst of traffic when they are superimposed. This invention reduces network congestion by setting the anti-affinity attribute of the traffic engineering tunnel, which will mutually exclude some service flows that meet the anti-affinity attribute and adjust them to be transmitted on different tunnel paths when the network is congested.

[0062] The traffic engineering tunnels applicable to the technical solution of this invention are not limited to MPLS-TE tunnels, but also applicable to all tunnels with traffic engineering attributes that can achieve traffic scheduling, such as Segment Routing-Traffic Engineering (SR-TE) tunnels. This invention does not make any specific limitations.

[0063] To more clearly analyze and explain the technical problem that this invention aims to solve, Figure 1 This example illustrates a network application scenario that causes congestion in traffic engineering tunnels. For instance... Figure 1 In the SDN network shown, a traffic engineering tunnel is created between Leaf1 and Leaf2. Multiple tunnel paths exist between Leaf1 and Leaf2, and the controller defines multiple affinity attributes for each path of the traffic engineering tunnel. When Leaf1 routes service flows, it selects tunnel paths whose service flow characteristics are close to the affinity attributes of the tunnel path for transmission. For example, the tunnel paths between Leaf1-Spine1-Leaf2 and Leaf1-Spine2-Leaf2 have low latency and high burst affinity attributes, while the tunnel path between Leaf1-Spine3-Leaf2 has low latency and high reliability affinity attributes. However, the latency affinity attribute weight is not as high as the previous two tunnel paths. Multiple service interactions exist between Leaf1 and Leaf2. When implementing traffic redirection strategies for low-latency service flows, the paths Leaf1-Spine1-Leaf2 and Leaf1-Spine2-Leaf2, which better match the tunnel affinity attributes, are used. The controller monitors the traffic status of each device node in real time, and counts the forwarding status of each service flow on each node.

[0064] After a period of time, the SDN controller's flow monitoring module detected traffic loss on the Spine2-Leaf2 link path and congestion at the Spine2-Leaf2 outgoing port. Assume the affected service flows are host10->host20 and host11->host21. The controller detected that these two service flows belong to the same data center network segment. The affinity attribute algorithm on Leaf1 selects an equivalent path outgoing port for both service flows. However, during addressing, the two service flows are assigned to the same path (Leaf1-Spine2-Leaf2) through hash calculation. When the traffic surges of the two service flows overlap, it may cause congestion on the Spine2-Leaf2 outgoing link. Modifying the path affinity attribute at this point will not solve the problem, as the equivalent path hash algorithm is fixed, and modifying it will affect the entire network.

[0065] The SDN controller in this invention can perform fine-grained control of service flows, and the flow monitoring module can monitor the service flow status of each tunnel path between Leaf devices, analyze the traffic transmission characteristics of each service flow, and when link congestion is detected, extract service flows with similar traffic transmission characteristics for anti-affinity attribute identification. Anti-affinity attributes are set for service flows with highly similar traffic transmission characteristics, so that these service flows can choose different tunnel paths as much as possible when performing routing scheduling.

[0066] The traffic transmission characteristics described in this invention refer to characteristics that can reflect traffic trends and states, such as a combination of one or more characteristics including average flow rate of the service flow, traffic bandwidth fluctuation amplitude (peak and trough values), fluctuation frequency, and fluctuation duration.

[0067] The optional anti-affinity algorithm, taking hosts host10 and host11 on the Leaf1 device as an example, selects tunnel paths Leaf1-Spine1-Leaf2 and Leaf1-Spine2-Leaf2 according to path priority and affinity rules. Host11 selects the same tunnel path as Host10 according to path priority and affinity rules. If the traffic flows of the two hosts overlap, causing tunnel path congestion, the SDN controller determines that the two traffic flows meet the anti-affinity mutual exclusion condition based on traffic transmission characteristics. The controller then selects one of the two traffic flows for rerouting, excluding the next-hop address of the other traffic flow, and then selects the path according to the affinity settings of the tunnel. Figure 1For example, suppose the traffic flow of host11 is rerouted. First, the next hop of the equivalent path of the traffic flow of host10, Spine1 and Spine2, is excluded. Then, the same path method as before is used to select a tunnel path for the traffic of host11 in the remaining path of the traffic engineering tunnel, so that the tunnel path between Leaf1-Spine3-Leaf2 is selected for forwarding.

[0068] Figure 2 This is a schematic diagram illustrating a network application scenario where host service traffic scheduling is implemented using an anti-affinity traffic scheduling method according to an embodiment of the present invention. Figure 2 In the data center network shown, Leaf1 has hosts 10, 11, and 12 connected to it, and Leaf2 has hosts 20, 21, and 22 connected to it. A traffic engineering tunnel is established between Leaf1 and Leaf2, which includes three tunnel paths:

[0069] First path: Leaf1-Spine1-Leaf2

[0070] Second path: Leaf1-Spine2-Leaf2

[0071] Third path: Leaf1-Spine3-Leaf2

[0072] In this invention, the first and second paths are equivalent paths, while the path cost of the third path is greater than that of the first and second paths. This invention is also applicable to application scenarios where all tunnel paths are non-equivalent paths. The purpose of using application scenarios including equivalent paths as examples is to highlight the technical problems and effects that this invention aims to solve. The numbers marked on the forwarding devices (including Leaf and Spine) in the figure represent the physical port numbers of the devices.

[0073] Figure 2 In the example embodiment, the controller can monitor service flows on any tunnel path in real time. When tunnel path congestion is detected, the SDN controller performs anti-kinship-based routing calculations based on the monitoring results and issues new routes to the Leaf devices. This allows the Leaf devices to schedule one or more service flows whose traffic transmission characteristics match the anti-kinship attribute to other tunnel paths, thereby alleviating link congestion and ensuring the quality of service requirements of the service flows. This method avoids issuing a large number of policy routes or flow table entries to the Leaf devices, thus reducing the impact on the Leaf devices. At the same time, it can fully utilize the controller's flow monitoring capabilities. The controller can predict in advance whether the target tunnel path can carry the scheduled service flow, thereby achieving more reasonable and intelligent traffic scheduling.

[0074] Figure 3This is a flowchart illustrating the steps of an anti-affinity service flow scheduling method according to an embodiment of the present invention. The method includes:

[0075] Step 301. The SDN controller monitors the traffic on multiple tunnel paths within the traffic engineering tunnel in real time, and the multiple tunnel paths are configured with affinity attributes;

[0076] As an intelligent management device for the network, the SDN controller maintains traffic engineering tunnel information and routing information on each forwarding device within the network. It can monitor the service flow status on each physical link of each forwarding device in real time through a traffic monitoring mechanism, and can monitor the traffic status of each service flow as it passes through physical devices. The SDN controller can also obtain the traffic transmission characteristics of each service flow through statistical analysis based on its historical and current traffic status. Obtaining these characteristics is a necessary condition for anti-affinity attribute traffic scheduling. This information can be generated by a dedicated monitoring and analysis component or system by recording service flow logs, from which the SDN controller can retrieve the data.

[0077] Initially, the first and second paths have lower overhead and are prioritized for routing based on affinity attributes over the third path. For example, the tunnel paths corresponding to the first and second paths are configured with low latency and high burst affinity attributes, while the tunnel path corresponding to the third path is configured with low latency and high reliability affinity attributes. However, the latency affinity attribute weight of the third path is not as high as that of the latency affinity attributes of the first and second tunnel paths. After Leaf1 performs routing calculations based on affinity attributes, it will prioritize transmitting service data flows through the equivalent paths, i.e., the first and second paths, for the service flows of the downstream hosts.

[0078] After receiving the host service flow packets from Host10->host20 and host11->host21, Leaf1 performs route calculation based on the affinity attribute of the tunnel path. This results in two next hops for the equivalent path, corresponding to Spine1 and Spine2 respectively. Leaf1 uses the header information of the service flow packets (e.g., source IP + port or destination IP + port) to perform hash calculation. The hash result may hash both service flows to the same outgoing port (port 1 of Leaf1 in the figure), i.e., selecting the first path for forwarding.

[0079] The controller can monitor the service traffic from host10 to host20 and from host11 to host21. The service traffic from host10 to host20 enters through the downstream port of Leaf1 and exits through port 1; it enters through port 1 of Spine1 and exits through port 2; and it enters through port 3 of Leaf2 and exits through the downstream port. This tunnel path can be simplified as follows:

[0080] (Downstream port)Leaf1(1)-(1)Spine1(2)-(3)Leaf2(Downstream port);

[0081] Using the same expression, the forwarding path for the service flow from host11 to host21 is also as follows:

[0082] (Downstream port)Leaf1(1)-(1)Spine1(2)-(3)Leaf2(Downstream port);

[0083] When Leaf1 routes two service flows with highly similar transmission characteristics to the same tunnel path, if the combined burst of the two flows exceeds the bandwidth of the tunnel path, it will cause packet congestion or even packet loss in the tunnel path.

[0084] Step 302. When the SDN controller detects that a certain tunnel path on a certain forwarding device is congested, it performs anti-affinity service flow identification on the service flow transmitted on the congested tunnel path to determine the anti-affinity service flow;

[0085] For example, at a certain moment, the SDN controller detects congestion or packet loss in the outbound direction of port 2 of Spine1 on the Spine1(2)-(3)Leaf2 path. Based on the traffic engineering tunnel information, routing information, and service flow status of each forwarding device in the network it maintains, the SDN controller can obtain information about the service traffic passing through the link from port 2 of Spine1 to port 3 of Leaf2, including the service traffic from host10 to host20 and the service traffic from host11 to host21. After obtaining the service flow information on the congested path, the SDN controller performs anti-affinity service flow identification on the service flow.

[0086] The identification method for anti-affinity service flows can be as follows: the SDN controller obtains the traffic transmission characteristics of service flows on the congested tunnel path, performs correlation analysis on the service flows based on the traffic transmission characteristics, calculates the correlation between service flows, and determines the two service flows as anti-affinity service flows when the correlation between two service flows is greater than a preset threshold.

[0087] In this invention, the traffic transmission characteristics of a service flow can be understood as a curve obtained based on the traffic sampling data of that service flow, reflecting the historical fluctuations of that service flow. This historical fluctuation curve provides one or more of the following characteristics: average flow rate, bandwidth fluctuation amplitude (peak and trough values), fluctuation frequency, and fluctuation duration, which together constitute the traffic transmission characteristics of the service flow. The SDN controller can analyze the correlation between the historical fluctuation curves of two service flows over a period of time before congestion occurs using a trained artificial intelligence model or correlation analysis function.

[0088] refer to Figure 2 For example, suppose there are three service flows forwarded through the first path of the traffic engineering tunnel: one from host10 to host20, one from host11 to host21, and one from host12 to host22. When congestion occurs in the tunnel path between Spine1 and Leaf2, Spine1 reports a congestion alarm to the SDN controller. Based on the monitored and maintained information about the tunnel path and service flows carried by Spine1, the SDN controller identifies anti-affinity service flows in the tunnel path and performs pairwise correlation analysis on the three service flows. Service flows with highly correlated traffic transmission characteristics are identified as anti-affinity service flows. If only two service flows are carried on the tunnel path, these two service flows can be directly identified as anti-affinity service flows when congestion occurs in that tunnel path.

[0089] If no two or more business flows are found to meet the criteria for anti-affinity business flow after the anti-affinity business flow identification process, the scheduling and processing steps for this anti-affinity business flow will be abandoned.

[0090] Step 303. Based on a preset priority order, the SDN controller performs rerouting pre-calculation on some service flows in the anti-affinity service flow, and selects a service flow scheduling scheme that will not cause congestion in other tunnel paths based on the results of the rerouting pre-calculation.

[0091] One method for selecting a service flow scheduling scheme is:

[0092] The target service flow is selected from the anti-affinity service flow according to a preset selection strategy. The remaining service flows are identified as candidate service flows. After excluding the next hop of the tunnel path corresponding to the candidate service flow in the traffic engineering tunnel, an optimal path is selected from the remaining tunnel paths based on a preset path selection strategy as the target path. The next hop of the target path is taken as the next hop of the target service flow. It is determined whether scheduling the target service flow based on the rerouting pre-calculation result will cause congestion on the target path. If congestion will occur, a different service flow is selected from the anti-affinity service flow according to the preset selection strategy as the target service flow, and the above target path selection steps are repeated until a target path that will not cause congestion is selected. The finally selected target service flow and the next hop route corresponding to the target path are taken as the selected service flow scheduling scheme.

[0093] Furthermore, the method for selecting an optimal path as the target path from the remaining tunnel paths based on a preset path selection strategy is as follows:

[0094] Select the tunnel path with the best affinity match from the remaining tunnel paths as the target path; or,

[0095] Among the remaining tunnel paths, the target path is selected based on a combination of affinity attributes and link load, which meets both the affinity attributes of the tunnel path and can balance the link load.

[0096] refer to Figure 2For example, in one embodiment of the present invention, assume that there are three service flows forwarded through the first path of the traffic engineering tunnel: the first service flow: host10->host20, the second service flow: host11->host21, and the third service flow: host12->host22. The link costs of the first, second, and third paths are different (in the case of no equivalent path). Link 1 has the best affinity matching degree with the three service flows, while the second and third paths have the second best affinity matching degree and are the same. Initially, all three service flows take the first path. At a certain moment, congestion occurs at the egress port from the Spin1 node to Leaf2 of the first path. After the SDN controller performs anti-affinity service flow identification for the tunnel ingress node Leaf1, it determines that all three flows are anti-affinity service flows. The SDN controller selects one service flow from the three anti-affinity service flows based on a preset priority order (e.g., randomly select one service flow, or select the service flow with the lowest average flow rate) as the target service flow, and forwards the other services. Assuming the first service flow is selected as the target service flow, and the second and third service flows are selected as alternative service flows, the SDN controller excludes the next hop Spine1 of the tunnel path corresponding to the alternative service flows. From the remaining tunnel paths, namely the second and third paths, it selects the optimal path as the target path based on a preset path selection strategy. Since the second and third paths have the same affinity attribute, one of these two paths can be randomly selected or the path with the lower average flow rate can be selected as the target path. Assuming the second path is selected as the target path, the selected target service flow and target path are the first service flow and the second path, respectively. The SDN controller uses the next hop of the target second path as the next hop of the target first service flow and determines whether scheduling the target first service flow based on the rerouting pre-calculation result will cause congestion on the target second path. If it will not cause congestion, the route of the finally selected target first service flow and the next hop (Spine2) of the target second path is sent to Leaf1 as the selected service flow scheduling scheme. If congestion is likely to occur, the SDN controller will reselect a different service flow from the anti-affinity service flows as the target service flow according to a preset selection strategy and repeat the target path selection steps described above until a target path that will not cause congestion is selected. The finally selected target service flow and the next-hop route corresponding to the target path will be used as the selected service flow scheduling scheme. If selecting any of the three service flows as the target service flow cannot meet the condition of not causing congestion on the target path, the current service flow scheduling scheme selection process will be terminated, and the current scheduling process will end. After terminating the current scheduling process, scheduling can be restarted after a preset scheduling period or upon receiving another congestion alarm.

[0097] like Figure 2For example, in an application scenario where the first and second paths are equivalent paths, and the third path is a non-equivalent path, and the affinity attribute matching degree of the first and second paths is higher than that of the third path, assuming the first service flow is host10->host20 and the second service flow is host11->host2, initially both will follow the first path. After congestion occurs at the outgoing port from the Spin1 node to Leaf2 of the first path, the SDN controller performs anti-affinity service flow identification for the tunnel ingress node Leaf1 and determines that the first and second service flows are anti-affinity service flows. Based on a preset priority order, the SDN controller selects the first service flow as the target service flow from the two anti-affinity service flows, and uses the second service flow as a candidate service flow. After excluding the equivalent next hops Spine1 and Spine2 of the tunnel path corresponding to the second service flow, only the third path can be selected as the target path. The SDN controller determines whether scheduling the first service flow based on the rerouting pre-calculation result will cause congestion on the third path. If no congestion occurs, the selected first service flow and the corresponding next-hop (Spine3) route of the third path are sent to Leaf1 as the selected service flow scheduling scheme. If congestion occurs, the SDN controller reselects the second service flow as the target service flow and executes the above target path selection steps again. The third path will also be selected as the target path. The controller then determines whether scheduling the second service flow onto the third path will cause congestion. If no congestion occurs, the selected second service flow and the corresponding next-hop (Spine3) route of the third path are sent to Leaf1 as the selected service flow scheduling scheme. If selecting either the first or second service flow as the target service flow fails to meet the condition of not causing congestion on the third path, the current service flow scheduling scheme selection process is terminated, and the current scheduling process ends.

[0098] Step 304. Based on the selected service flow scheduling scheme, the new route of the selected service flow is sent to the forwarding device so that the forwarding device updates the routing table and schedules the selected service flow to other tunnel paths for transmission.

[0099] In such Figure 2 In application scenarios with equivalent paths, the route of the first service flow and the next hop (Spine3) corresponding to the third path is finally selected as the selected service flow scheduling scheme. Based on the selected service flow scheduling scheme, the SDN controller sends the new route of the third path (next hop is Spine3) of the selected first service flow to the forwarding device Leaf1, so that Leaf1 updates the routing table based on the new route and schedules the selected first service flow to be transmitted on the third path.

[0100] The SDN controller, through the technical solution provided by this invention, can perform real-time balanced scheduling of service flows in the data center network, avoiding high burst packet loss caused by overlapping service traffic. It uses anti-affinity features to change the routing results, avoiding the use of policy routing for everything, reducing the issuance of policy rules, greatly saving hardware resources of switch equipment, and reducing maintenance costs.

[0101] Figure 4 This is a schematic diagram of an electronic device structure for implementing the anti-affinity traffic flow scheduling method provided by the present invention, according to an embodiment of the present invention. The device 400 includes a processor 410, such as a central processing unit (CPU), a communication bus 420, a communication interface 440, and a memory 430. The processor 410 and the memory 430 can communicate with each other via the communication bus 420. The memory 430 stores a computer program, which, when executed by the processor 410, implements one or more steps of the anti-affinity traffic flow scheduling method provided by the present invention.

[0102] Memory refers to a device based on a storage medium used to store computer programs and / or data. It can be volatile memory (VM, often called main memory) or non-volatile memory (NVM). Main memory refers to internal storage that directly exchanges data with the processor. It can read and write data at any time and at high speed, serving as a storage medium for temporary data of the operating system and other running programs. Main memory can be Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), etc. Non-volatile memory refers to memory that uses persistent storage media, characterized by large capacity and persistent data retention. It can be Storage Class Memory (SCM), Solid State Drive (SSD), NAND flash memory, hard disks, etc. SCM is an industry term for a new type of storage medium that falls between main memory and flash memory. It is a composite storage technology that combines the characteristics of persistent storage and main memory, with access speeds slower than DRAM but faster than SSDs.

[0103] The processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.

[0104] It should be recognized that embodiments of the present invention can be implemented or carried out by computer hardware, a combination of hardware and software, or by computer instructions stored in non-transitory (or non-persistent) memory. The method can be implemented using standard programming techniques, including a non-transitory storage medium configured with a computer program within the computer program, wherein such a storage medium causes the computer to operate in a specific and predefined manner. Each program can be implemented in a high-level procedural or object-oriented programming language to communicate with the computer system. However, if desired, the program can be implemented in assembly or machine language. In any case, the language can be a compiled or interpreted language. Furthermore, for this purpose, the program can run on a programmed application-specific integrated circuit. Moreover, the operations of the processes described in this invention can be performed in any suitable order unless otherwise indicated by the invention or otherwise clearly contradicted by the context. The processes (or variations and / or combinations thereof) described in this invention can be executed under the control of one or more computer systems configured with executable instructions and can be implemented by hardware or a combination thereof as code (e.g., executable instructions, one or more computer programs, or one or more applications) that commonly executes on one or more processors. The computer program includes a plurality of instructions executable by one or more processors.

[0105] Furthermore, the method can be implemented in any suitable type of computing platform, including but not limited to personal computers, minicomputers, mainframes, workstations, networked or distributed computing environments, standalone or integrated computer platforms, or in communication with charged particle tools or other imaging devices. Aspects of the invention can be implemented as machine-readable code stored on a non-transitory storage medium or device, whether removable or integrated into a computing platform, such as a hard disk, optical read and / or write storage medium, RAM, ROM, etc., such that it is readable by a programmable computer, and when the storage medium or device is read by the computer, it can be used to configure and operate the computer to perform the processes described herein. Furthermore, the machine-readable code, or portions thereof, can be transmitted via wired or wireless networks. The invention includes these and other different types of non-transitory computer-readable storage media when such media comprises instructions or programs that implement the steps described above in conjunction with a microprocessor or other data processor. When programmed according to the methods and techniques described in the invention, the invention also includes the computer itself.

[0106] The above description is merely an embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principle of the present invention should be included within the scope of protection of the present invention.

Claims

1. A method for scheduling anti-affinity service flows, characterized in that, This method is applied to a software-defined networking (SDN) controller, and includes: The SDN controller monitors the flow in real time on multiple tunnel paths within the flow engineering tunnel, and these multiple tunnel paths are configured with affinity attributes. When the SDN controller detects that a tunnel path on a forwarding device is congested, it performs anti-affinity service flow identification on the service flow transmitted on the congested tunnel path to determine the anti-affinity service flow. The SDN controller performs rerouting pre-calculation on a portion of the anti-affinity service flows based on a preset priority order, and selects a service flow scheduling scheme that will not cause congestion in other tunnel paths based on the results of the rerouting pre-calculation. Based on the selected service flow scheduling scheme, the new route of the selected service flow will be sent to the forwarding device so that the forwarding device can update the routing table and schedule the selected service flow to other tunnel paths for transmission.

2. The method according to claim 1, characterized in that, The method by which the SDN controller monitors the traffic on multiple tunnel paths within the traffic engineering tunnel in real time is as follows: Based on the managed traffic engineering tunnel information and routing information, the SDN controller monitors the service flow status of each tunnel path on each forwarding device in real time through a traffic monitoring mechanism. When congestion occurs in a tunnel path, the SDN controller triggers the anti-affinity service flow identification processing step according to the congestion alarm reported by the forwarding device.

3. The method according to claim 1, characterized in that, The method for identifying the anti-affinity service flow is as follows: The SDN controller acquires the traffic transmission characteristics of service flows on the congested tunnel path, performs correlation analysis on the service flows based on the traffic transmission characteristics, calculates the correlation between service flows, and determines the two service flows as anti-affinity service flows when the correlation between two service flows is greater than a preset threshold.

4. The method according to claim 3, characterized in that, The method for obtaining the traffic transmission characteristics of service flows on the congested tunnel path is as follows: The SDN controller obtains a historical fluctuation curve reflecting the service flow based on the traffic sampling data of the service flow. It then uses this historical fluctuation curve to obtain one or more of the following characteristics of the service flow: average flow rate, traffic bandwidth fluctuation amplitude, fluctuation frequency, and fluctuation duration, as the traffic transmission characteristics.

5. The method according to claim 1, characterized in that, The process involves performing rerouting pre-calculation and selecting a service flow scheduling scheme that will not cause congestion in other tunnel paths based on the results of the rerouting pre-calculation. The target service flow is selected from the anti-affinity service flow according to the preset selection strategy. The remaining service flows are determined as candidate service flows. After excluding the next hop of the tunnel path corresponding to the candidate service flow, the optimal path is selected from the remaining tunnel paths as the target path based on the preset path selection strategy. The next hop of the target path is used as the next hop of the target service flow. It is determined whether the service flow scheduling scheme of scheduling the target service flow to the target path will cause congestion of the target path. If it is determined that it will not cause congestion, the target service flow and the next hop route corresponding to the target path are used as the selected service flow scheduling scheme.

6. The method according to claim 5, characterized in that, When it is determined that congestion will occur, a different service flow is reselected from the anti-affinity service flow according to the preset selection strategy as the target service flow and the target path selection step is executed again until a target path that will not cause congestion is selected. The finally selected target service flow and the next-hop route corresponding to the target path are used as the selected service flow scheduling scheme. If none of the combinations of target service flows and target paths can ultimately meet the condition of not causing congestion on the target path, then the selection process for choosing a service flow scheduling scheme will be terminated, and the current scheduling process will end.

7. The method according to claim 5, characterized in that, The method for selecting an optimal path as the target path from the remaining tunnel paths based on a preset path selection strategy is as follows: Select the tunnel path with the best affinity attribute from the remaining tunnel paths as the target path; or Among the remaining tunnel paths, the target path is selected based on a combination of affinity attributes and link load, which meets both the affinity attributes of the tunnel path and can balance the link load.

8. The method according to claim 5, characterized in that, The multiple tunnel paths within the flow engineering tunnel include equivalent paths; When the tunnel path corresponding to the candidate service flow is an equivalent path, the step of excluding the next hop of the tunnel path corresponding to the candidate service flow specifically means: excluding all equivalent next hops of the tunnel path corresponding to the candidate service flow.

9. An anti-affinity service flow scheduling device, characterized in that, This device is used in a software-defined networking (SDN) controller and includes: The monitoring module is used to monitor the flow in real time on multiple tunnel paths within the flow engineering tunnel, and the multiple tunnel paths are configured with affinity attributes; The anti-affinity service flow determination module is used to identify the anti-affinity service flow transmitted on the congested tunnel path when the monitoring module detects that a certain tunnel path on a certain forwarding device is congested, and to determine the anti-affinity service flow. The scheduling scheme determination module is used to perform rerouting pre-calculation on a portion of the service flows in the anti-affinity service flow based on a preset priority order, and select a service flow scheduling scheme that will not cause congestion in other tunnel paths based on the results of the rerouting pre-calculation. The routing module is used to send the new route of the selected service flow to the forwarding device based on the selected service flow scheduling scheme, so that the forwarding device updates the routing table and schedules the selected service flow to other tunnel paths for transmission.

10. The apparatus according to claim 9, characterized in that, The monitoring module monitors the service flow status of each tunnel path on each forwarding device in real time based on the managed traffic engineering tunnel information and routing information through the traffic monitoring mechanism. When congestion occurs in the tunnel path, the anti-affinity service flow determination module is triggered to identify the anti-affinity service flow based on the congestion alarm reported by the forwarding device.

11. The apparatus according to claim 9, characterized in that, The anti-affinity service flow determination module includes: The feature acquisition unit is used to obtain a historical fluctuation curve reflecting the service flow based on the traffic sampling data of the service flow, and to obtain one or more of the following features of the service flow: average flow rate, traffic bandwidth fluctuation amplitude, fluctuation frequency and fluctuation duration, as traffic transmission features. The anti-affinity service flow determination unit is used to perform correlation analysis on the service flows based on the traffic transmission characteristics, calculate the correlation between the service flows, and determine the two service flows as anti-affinity service flows when the correlation between the two service flows is greater than a preset threshold.

12. The apparatus according to claim 9, characterized in that, The scheduling scheme determination module includes: The target service flow and target path determination unit is used to select the target service flow from the anti-affinity service flow according to a preset selection strategy, determine the remaining service flows as candidate service flows, exclude the next hop of the tunnel path corresponding to the candidate service flow, and select an optimal path as the target path from the remaining tunnel paths based on a preset path selection strategy. The service flow scheduling scheme determination unit is used to take the next hop of the target path as the next hop of the target service flow, determine whether the service flow scheduling scheme of scheduling the target service flow to the target path will cause congestion of the target path, and when it is determined that it will not cause congestion, take the target service flow and the next hop route corresponding to the target path as the selected service flow scheduling scheme.

13. The apparatus according to claim 12, characterized in that, The target service flow and target path determination unit selects the tunnel path with the best affinity attribute from the remaining tunnel paths as the target path; or selects the tunnel path that meets both the affinity attribute of the tunnel path and can balance the link load from the remaining tunnel paths based on the affinity attribute and link load.

14. The apparatus according to claim 12, characterized in that, The multiple tunnel paths within the flow engineering tunnel include equivalent paths; When the target service flow and target path determination unit finds that the tunnel path corresponding to the candidate service flow is an equivalent path, it will exclude all equivalent next hops of the tunnel path corresponding to the candidate service flow.

15. An electronic device, characterized in that, It includes a processor, a communication interface, a storage medium, and a communication bus, wherein the processor, the communication interface, and the storage medium communicate with each other through the communication bus; Storage medium used to store computer programs; A processor, when executing a computer program stored on a storage medium, performs the method steps of any one of claims 1-8.

16. A storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it performs the method as described in any one of claims 1 to 8.

Citation Information

Patent Citations

  • System and method for affinity-based network configuration

    CN106462538A

  • Method and device for realizing rerouting

    CN112039764A