TECHNICAL FIELD

The disclosure relates to computer networks and, more specifically, to software-defined networking in a wide area network (SD-WAN).

BACKGROUND

A computer network is a collection of interconnected computing devices that can exchange data and share resources. In a packet-based network, such as the Internet, the computing devices communicate data by dividing the data into variable-length blocks called packets, which are individually routed across the network from a source device to a destination device. The destination device extracts the data from the packets and assembles the data into its original form.

Network providers and enterprises may use software-defined networking in a wide area network (SD-WAN) to manage network connectivity among distributed locations, such as remote branch or central offices or data centers. SD-WAN extends SDN to enable businesses to create connections quickly and efficiently over the WAN, which may include the Internet or other transport networks that offer various WAN connection types, such as Multi-Protocol Label Switching (MPLS)-based connections, mobile network connections (e.g., 3G, Long-Term Evolution (LTE), 5G), Asymmetric Digital Subscriber Line (ADSL), and so forth. Such connections are typically referred to as “WAN links” or, more simply, as “links.” SD-WAN is considered a connectivity solution that is implemented with WAN links as an overlay on top of traditional WAN access, making use of the above or other WAN connection types.

An SD-WAN service enables users, such as enterprises, to use the WAN links to meet business and customer needs. In an SD-WAN environment, low-priority traffic can use the lower-cost Internet-based WAN link(s), while more important traffic can travel across better quality WAN links (such as those provided by an MPLS network). WAN link usage can also be assigned per application. With an SD-WAN solution, an enterprise customer can mix and match cost optimization with SLA requirements as they see fit. Users may expect their applications to experience connectivity having an acceptable level of quality, commonly referred to as Quality of Experience (QoE). The QoE may be measured based on various performance metrics of a link, including latency, delay (inter frame gap), jitter, packet loss, and/or throughput. The user may define desired levels for one or more of the metrics for the QoE that the users expect in service contracts, e.g., service level agreements (SLAs), with the service provider. SLA metrics are typically user configurable values and are derived through trial-and-error methodologies or benchmark test environment versus user experience or realistic best application metrics.

SUMMARY

In general, the disclosure describes techniques for WAN link selection within an SD-WAN system based on available bandwidth for WAN links and/or SLA priorities for SLA rules.

In some aspects of this disclosure, a service orchestrator stores SLA rules that can have associated SLA priorities. For example, a first SLA rule may have a first priority, and a second SLA rule may have a second priority that is a lower priority than the first priority. In this example, the second SLA rule therefore has lower priority than the first SLA rule, while the first SLA rule has higher priority than the second SLA rule. Service orchestrator may configure SD-WAN edges with information to apply the SLA rules.

The SD-WAN system may use SLA priorities for the SLA rules to move higher priority applications (that match higher priority SLA rules) to higher priority links, such as in case of SLA violations. For example, a first SLA rule that matches a first application may have a relatively higher SLA priority, while a second SLA that matches a second application may have a relatively lower SLA priority. In some cases, where both the first application and the second application are placed on a particular WAN link, in response to subsequently determining the first SLA rule is violated, the SD-WAN system may move the second application to a different WAN link, rather than the moving the first application that matches the first SLA rule to a different WAN link. An SD-WAN edge device then switches the first and second applications on WAN links determined by SD-WAN system for the first and second applications.

In another aspect of this disclosure, which may be used in combination with other aspects described herein, the techniques may include selecting WAN links for application based in part on available bandwidths on the WAN links. For example, an SD-WAN system may select a WAN link for an application based in part on available bandwidths on the WAN links for an SD-WAN service that are acceptable based on the SLA for the application. SD-WAN edge devices may obtain link data that indicates bandwidth usage of each of the WAN links, and SD-WAN edge devices may compute the available bandwidth for each of the WAN links. The SD-WAN system may then select WAN links to assign applications based in part on the available bandwidths.

The techniques may provide one or more technical advantages that result in at least one practical application. For example, the techniques may facilitate meeting SLA targets for applications with an SD-WAN service. Higher-priority applications should generally have fewer SLA violations and be prioritized for WAN link placement to take them out of an SLA violated state over and above relatively lower-priority applications, and an SD-WAN service orchestrator applying techniques described herein may facilitate this goal by more frequently satisfying SLA rules with higher priorities. As another example, using the available bandwidth of WAN links as one of the WAN link selection criteria for an application and placing the application to a WAN link that has sufficient bandwidth for the application, and in some cases to a WAN link that has maximum available bandwidth of the otherwise satisfactory WAN links for the application, will tend to reduce SLA violations within the SD-WAN service over existing link selection techniques, for the service orchestrator is less likely when considering available bandwidth to select a link that is near or even over its bandwidth capacity.

In an example, a software-defined wide area network (SD-WAN) system includes a service orchestrator comprising processing circuitry; a first SD-WAN edge device comprising processing circuitry and configured with a plurality of a wide area network (WAN) links to a second SD-WAN edge device, wherein the service orchestrator and the first SD-WAN edge device are configured to: obtain a first service level agreement (SLA) rule that matches a first application, the first SLA rule having a first priority that indicates a priority of the first application; obtain a second SLA rule that matches a second application, the second SLA rule having a second priority that indicates a priority of the second application; assign the first application and the second application to a first WAN link of the plurality of WAN links; and in response to a determination that the first WAN link has violated the first SLA rule that matches the first application, assign the second application to a second WAN link of the plurality of WAN links.

In an example, a software-defined wide area network (SD-WAN) edge device includes configuration data configuring respective interfaces for a plurality of a wide area network (WAN) links to an SD-WAN service; and an SD-WAN application executing on processing circuitry and configured to: obtain a first service level agreement (SLA) rule that matches a first application, the first SLA rule having a first priority that indicates a priority of the first application; obtain a second SLA rule that matches a second application, the second SLA rule having a second priority that indicates a priority of the second application; assign the first application and the second application to a first WAN link of the plurality of WAN links; and, in response to a determination that the first WAN link has violated the first SLA rule that matches the first application, assign the second application to a second WAN link of the plurality of WAN links.

In an example, a method includes obtaining, for a software-defined wide area network (SD-WAN) system having a plurality of a wide area network (WAN) links for an SD-WAN service, a first service level agreement (SLA) rule that matches a first application, the first SLA rule having a first priority that indicates a priority of the first application; obtaining, for the SD-WAN system, a second SLA rule that matches a second application, the second SLA rule having a second priority that indicates a priority of the second application; assigning, for the SD-WAN system, the first application and the second application to a first WAN link of the plurality of WAN links; and in response to determining that the first WAN link has violated the first SLA rule that matches the first application, assigning, by the SD-WAN system, the second application to a second WAN link of the plurality of WAN links.

The details of one or more examples are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims.

