Search

EP-4738781-A1 - NETWORK DEVICE WITH SMOOTH FAILOVER OF SESSIONS

EP4738781A1EP 4738781 A1EP4738781 A1EP 4738781A1EP-4738781-A1

Abstract

Techniques are disclosed for a network device that performs gradual failover of sessions from a first link to a second link. For example, a network device forwards network traffic of a plurality of sessions over the first link. The network device determines that a performance of the first link does not satisfy a performance requirement. Based on the determination, the network device forwards network traffic of a first portion of the plurality of sessions over a second link and not the first link. The network device determines that a performance of the second link satisfies the performance requirement while carrying the network traffic of the first portion. Based on the determination, the network device forwards network traffic of a second, larger portion of the plurality of sessions over the second link and not the first link.

Inventors

  • YUNGELSON, Anna
  • McCulley, Scott
  • BAJ, MICHAEL
  • MENON, ABILASH

Assignees

  • Juniper Networks, Inc.

Dates

Publication Date
20260506
Application Date
20250930

Claims (13)

  1. A network device comprising: processing circuity in communication with storage media, the processing circuity configured to: based at least in part on determining that a performance of a first link, over which network traffic of a plurality of sessions is forwarded, does not satisfy a performance requirement, forward network traffic of a first portion of the plurality of sessions over a second link and not the first link; and based at least in part on determining that a performance of the second link, over which the network traffic of the first portion of the plurality of sessions is forwarded, satisfies the performance requirement, forward network traffic of a second portion of the plurality of sessions over the second link and not the first link, wherein the second portion is greater than the first portion.
  2. The network device of claim 1, wherein the processing circuitry is further configured to: based at least in part on determining that the performance of the second link, over which the network traffic of the first portion and the second portion of the plurality of sessions is forwarded, satisfies the performance requirement, forward network traffic of a third portion of the plurality of sessions over the second link and not the first link, wherein the third portion is greater than the second portion.
  3. The network device of claim 2, wherein the processing circuitry is configured to forward network traffic of the third portion of the plurality of sessions over the second link and not the first link despite determining that the performance of the first link has resumed satisfying the performance requirement.
  4. The network device of any of claims 1-3, wherein the processing circuitry is further configured to: after forwarding network traffic of the second portion of the plurality of sessions over the second link and not the first link, and based at least in part on determining that the performance of the first link has resumed satisfying the performance requirement, maintain an apportionment of network traffic of the plurality of sessions between the first link and the second link.
  5. The network device of any of claims 1-3, wherein the processing circuitry is further configured to: after forwarding network traffic of the second portion of the plurality of sessions over the second link and not the first link, and based at least in part on determining that the performance of the first link has resumed satisfying the performance requirement, forward network traffic of all of the plurality of sessions over the first link and not the second link.
  6. The network device of any of claims 1-5, wherein the network traffic of the second portion of the plurality of sessions represents a logarithmic increase from the network traffic of the first portion of the plurality of sessions.
  7. The network device of any of claims 1-5, wherein the network traffic of the second portion of the plurality of sessions represents one of a polynomial increase or an exponential increase from the network traffic of the first portion of the plurality of sessions.
  8. The network device of any of claims 1-5, wherein the network traffic of the second portion of the plurality of sessions represents a linear increase from the network traffic of the first portion of the plurality of sessions.
  9. The network device of any of claims 1-8, wherein the processing circuitry is configured to determine the performance of the first link by modifying network traffic of the plurality of sessions to include metadata specifying performance metrics information.
  10. The network device of any of claims 1-9, wherein the processing circuitry is configured to determine the performance of the first link by establishing a Bidirectional Forwarding Detection, BFD, session across the first link.
  11. A method comprising: based at least in part on determining that a performance of a first link, over which network traffic of a plurality of sessions is forwarded, does not satisfy a performance requirement, forwarding, by a network device, network traffic of a first portion of the plurality of sessions over a second link and not the first link; and based at least in part on determining that a performance of the second link, over which the network traffic of the first portion of the plurality of sessions is forwarded, satisfies the performance requirement, forwarding, by the network device, network traffic of a second portion of the plurality of sessions over the second link and not the first link, wherein the second portion is greater than the first portion.
  12. The method of claim 11, further comprising steps corresponding to the functionality recited in any of claims 2-10.
  13. Computer-readable media comprising instructions that, when executed by one or more programmable processors, cause the one or more programmable processors to become configured to carry out the method of any of claims 11-12.

Description

This application claims the benefit of US Patent Application No. 18/933,671, filed 31 October 2024, the entire contents of which is incorporated herein by reference. TECHNICAL FIELD This disclosure generally relates to computer networks, and, more specifically, routing packets within computer networks. BACKGROUND A computer network is a collection of interconnected computing devices that can exchange data and share resources. Example computing devices include routers, switches, and other Layer 2 (L2) network devices that operate within Layer 2 of the Open Systems Interconnection (OSI) reference model, i.e., the data link layer, and Layer 3 (L3) network devices that operate within Layer 3 of the OSI reference model, i.e., the network layer. Network devices within computer networks often include a control unit that provides control plane functionality for the network device and forwarding components for routing or switching data units. The computing devices may establish a "network session" (also referred to herein as "session") to enable communication between devices on a computer network. A session may be bidirectional in that the session includes packets traveling in both directions between a first device and a second device. For example, a session includes a forward packet flow originating from a first device and destinated for a second device and a reverse packet flow originating from the second device and destined for the first device. The forward and reverse packet flows of the session are related to one another in that the source address and source port of the forward packet flow is the same as the destination address and destination port of the reverse packet flow, and the destination address and destination port of the forward packet flow is the same as the source address and source port of the reverse packet flow. To establish a session, computing devices may use one or more communication session protocols including Transmission Control Protocol (TCP), Transport Layer Security (TLS), User Datagram Protocol (UDP), Internet Control Message Protocol (ICMP), etc. SUMMARY Particular aspects are set out in the appended independent claims. Various optional embodiments are set out in the dependent claims. In general, the disclosure describes techniques for performing a "smooth" or gradual failover of network traffic associated with sessions and forwarded by a network device over a first link to a second link, such that the network device iteratively migrates network traffic for increasing amounts of the sessions from being forwarded via the first link to being forwarded via the second link. For example, a network device as described herein forwards network traffic of a plurality of sessions over the first link. The network device determines that a performance of the first link does not satisfy a performance requirement. In some examples, the performance requirement is specified by a Service Level agreement ("SLA") for the sessions. In some examples, the performance requirement is a performance requirement for an application or service associated with the plurality of sessions. Based at least in part on the determination, the network device forwards network traffic of a first portion of the plurality of sessions over a second link and not the first link. The network device determines that a performance of the second link satisfies the performance requirement while carrying the network traffic of the first portion of the plurality of sessions. Based on the determination, the network device forwards network traffic of a second, larger portion of the plurality of sessions over the second link and not the first link. The network device continues to iteratively migrate a larger amount of the sessions from being forwarded via the first link to being forwarded via the second link and test the second link to ensure adherence to the performance requirement until the entirety of sessions are forwarded via the second link. In some examples, the network device may increase the proportion of sessions for which network traffic is forwarded over the second link according to a linear, logarithmic, geometric, exponential, or other algorithm. Thus, using the techniques of the disclosure, upon failure of the first link to adhere to performance requirements, a network device as described herein may iteratively migrate, from the first link to the second link, network traffic for greater and greater numbers of the sessions so as to progressively test the ability of the second link to adhere to the performance requirements with increasing amounts of network traffic, without overwhelming the second link with the migrated network traffic. The techniques of the disclosure may provide specific improvements to the computer-related field of computer networking that have one or more practical applications. For example, the techniques of the disclosure may enhance the ability of network devices to ensure that network traffic associated w