US20220060408A1 - Systems and Methods for Determining FHRP Switchover - Google Patents
Systems and Methods for Determining FHRP Switchover Download PDFInfo
- Publication number
- US20220060408A1 US20220060408A1 US16/997,203 US202016997203A US2022060408A1 US 20220060408 A1 US20220060408 A1 US 20220060408A1 US 202016997203 A US202016997203 A US 202016997203A US 2022060408 A1 US2022060408 A1 US 2022060408A1
- Authority
- US
- United States
- Prior art keywords
- router
- sla
- fhrp
- priority
- determining
- 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.)
- Granted
Links
Images
Classifications
-
- 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/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5019—Ensuring fulfilment of SLA
-
- 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/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- 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/22—Alternate routing
-
- 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/302—Route determination based on requested QoS
- H04L45/308—Route determination based on user's profile, e.g. premium users
-
- 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/58—Association of routers
-
- 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/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- 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/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5009—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/20—Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
Definitions
- the present disclosure relates generally to network switchovers, and more specifically to systems and methods for determining First Hop Redundancy Protocol (FHRP) switchover.
- FHRP First Hop Redundancy Protocol
- Application-aware routing tracks network and path characteristics between network components and uses the collected information to compute optimal paths for data traffic.
- the path taken by application data traffic through the network may be directed to network links that support the application's performance requirements. If performance issues are discovered from the collected information, the application data traffic may be dropped or take a worst path.
- FIG. 1 illustrates an example system for determining FHRP switchover
- FIG. 2 illustrates an example method for determining FHRP switchover
- FIG. 3 illustrates an example computer system that may be used by the systems and methods described herein.
- a first router includes one or more processors and one or more computer-readable non-transitory storage media coupled to the one or more processors.
- the one or more computer-readable non-transitory storage media include instructions that, when executed by the one or more processors, cause the first router to perform operations including determining service level agreement (SLA) requirements for an application and generating first SLA characteristics for the first router.
- SLA service level agreement
- the first router may be in an active mode within a network.
- the operations also include comparing the first SLA characteristics for the first router to the SLA requirements and determining second SLA characteristics for a second router.
- the second router may be in a standby mode within the network.
- the operations further include comparing the second SLA characteristics for the second router to the SLA requirements and determining whether to lower an FHRP priority of the first router.
- the operations include determining that the first SLA characteristics for the first router fail to satisfy the SLA requirements, determining that the second SLA characteristics for the second router satisfy the SLA requirements, lowering the FHRP priority of the first router such that the FHRP priority of the first router is less than the FHRP priority of the second router, and switching, based on the FHRP priority of the first router and the second router, the first router from the active mode to the standby mode within the network.
- the operations include determining that transport location (TLOC) extensions are configured between the first router and the second router, determining to switch, based on the FHRP priority of the first router being less than the FHRP priority of the second router, the second router from the standby mode to the active mode within the network, and determining to increase a TLOC preference for the second router.
- TLOC transport location
- the operations include, while the first router is in the active mode: receiving outgoing traffic associated with the application from a host server, communicating the outgoing traffic associated with the application to a destination server, receiving incoming traffic from the destination server, and communicating the incoming traffic to the host server.
- the operations include determining that the first SLA characteristics for the first router fail to satisfy the SLA requirements, determining that the second SLA characteristics for the second router fail to satisfy the SLA requirements, and lowering the FHRP priority of the first router such that the FHRP priority of the first router and the FHRP priority of the second are set to a same value.
- the SLA requirements comprise threshold values for jitter, latency, and packet loss
- the first SLA characteristics and the second SLA characteristics include performance metrics associated with jitter, latency, and packet loss.
- the network is a software-defined wide area network (SD-WAN)
- the FHRP priority is a Virtual Router Redundancy Protocol (VRRP) priority
- the first router and the second router are located in a data center.
- SD-WAN software-defined wide area network
- VRRP Virtual Router Redundancy Protocol
- a method includes determining, by a first router, SLA requirements for an application and generating, by the first router, first SLA characteristics for the first router.
- the first router may be in an active mode within a network.
- the method also includes comparing, by the first router, the first SLA characteristics for the first router to the SLA requirements and determining, by the first router, second SLA characteristics for a second router.
- the second router may be in a standby mode within the network.
- the method further includes comparing, by the first router, the second SLA characteristics for the second router to the SLA requirements and determining, by the first router, whether to lower a FHRP priority of the first router.
- one or more computer-readable non-transitory storage media embody instructions that, when executed by a processor, cause the processor to perform operations including determining service level agreement (SLA) requirements for an application and generating first SLA characteristics for a first router.
- the first router may be in an active mode within a network.
- the operations also include comparing the first SLA characteristics for the first router to the SLA requirements and determining second SLA characteristics for a second router.
- the second router may be in a standby mode within the network.
- the operations further include comparing the second SLA characteristics for the second router to the SLA requirements and determining whether to lower a FHRP priority of the first router.
- This disclosure describes systems and methods for determining FHRP switchover based on network tunnel SLA characteristics, which may prevent application data traffic from being dropped or taking a worst path. For example, if the SLA characteristics for an active router within a network fail to satisfy the SLA requirements associated with an application, but the SLA characteristics for a standby router within the network satisfy the SLA requirements, the FHRP priority of the active router may be lowered to initiate an FHRP switchover between the active router and the standby router.
- Certain systems and methods described herein prevent/reduce asymmetric routing by directing outgoing and incoming traffic through the same network path. For example, in certain systems and methods described herein, a TLOC preference may be increased for a newly assigned active router after the occurrence of an FHRP switchover such that the newly assigned active router can attract WAN-side traffic.
- FHRP is a computer networking protocol that allows two or more routers to provide backup for an active router.
- One router within the network is designated as an active router and at least one other router within the network is designated as a standby router. If the active router fails and/or underperforms, the standby router takes over the network address.
- FIG. 1 shows an example system for determining FHRP switchover
- FIG. 2 shows an example method for FHRP switchover.
- FIG. 3 shows an example computer system that may be used by the systems and methods described herein.
- FIG. 1 illustrates an example system 100 for determining FHRP switchover.
- System 100 or portions thereof may be associated with an entity, which may include any entity, such as a business or company that determines FHRP switchover.
- the components of system 100 may include any suitable combination of hardware, firmware, and software.
- the components of system 100 may use one or more elements of the computer system of FIG. 3 .
- System 100 of FIG. 1 includes a network 110 , servers 120 , a switch 130 , routers 140 , tunnels 150 , and TLOC extensions 160 .
- Network 110 of system 100 is any type of network that facilitates communication between components of system 100 .
- Network 110 may connect one or more components of system 100 .
- One or more portions of network 110 may include an ad-hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless WAN (WWAN), an SD-WAN, a metropolitan area network (MAN), a portion of the Internet, a portion of the Public Switched Telephone Network (PSTN), a cellular telephone network, a Digital Subscriber Line (DSL), a 3G network, a 4G network, a 5G network, a Long Term Evolution (LTE) network, a combination of two or more of these, or other suitable types of networks.
- VPN virtual private network
- LAN local area network
- WLAN wireless LAN
- WAN wide area network
- WWAN wireless WAN
- SD-WAN Secure Digital Subscriber Line
- MAN metropolitan area
- Network 110 may include one or more different types of networks.
- Network 110 may be any communications network, such as a private network, a public network, a connection through Internet, a mobile network, a WI-FI network, etc.
- One or more components of system 100 may communicate over network 110 .
- Network 110 may include a core network (e.g., the Internet), an access network of a service provider, an Internet service provider (ISP) network, and the like.
- ISP Internet service provider
- network 110 is an SD-WAN.
- Servers 120 of system 100 represent any suitable network components that can manage network resources.
- Servers 120 may include one or more network servers, database servers, print servers, file servers, a combination thereof, or any other suitable type of server.
- servers 120 receive, create, process, store, and/or send traffic to other components within network 110 .
- Servers 120 may be controlled by an entity (e.g., a network service provider).
- servers 120 include server 120 a , server 120 b , server 120 c , server 120 d , and server 120 e .
- One or more servers 120 may operate as host servers or destination servers.
- servers 120 a , 120 b , and 120 c may operate as host servers within network 110
- server 120 d may operate as a destination server within network 110
- a host server requests services (e.g., application services) from one or more components of system 100
- a destination server provides the requested services to the host server.
- server 120 a of system 100 may act as a host server and transmit a request via network 110 for an application service
- server 120 d of system 100 may act as a destination server to provide the requested application service to server 120 a via network 110 .
- Switch 130 of system 100 represents any suitable network component that can connect devices on network 110 .
- switch 130 connects components within network 110 by using packet switching to receive and forward data to a destination component.
- switch 130 may receive data packets from server 120 a and communicate the data packets (via one or more routers 140 ) to server 120 d .
- switch 130 may receive data packets from server 120 d (via one or more routers 140 ) and communicate the data packets to server 120 a .
- Switch 130 may receive, create, process, store, and/or send traffic to other components within network 110 .
- Switch 130 may be controlled by an entity (e.g., a network service provider).
- Routers 140 of system 100 represent any suitable network components that can forward data packets between components of network 110 .
- Routers 140 may include one or more edge routers (e.g., a subscriber edge router, a label edge router, etc.), Border Gateway Protocol (BGP) routers, wired routers, wireless routers, virtual routers, core routers, gateways, a combination thereof, or any other suitable types of routers.
- edge routers e.g., a subscriber edge router, a label edge router, etc.
- Border Gateway Protocol (BGP) routers Border Gateway Protocol
- wired routers e.g., wireless routers, virtual routers, core routers, gateways, a combination thereof, or any other suitable types of routers.
- routers 140 receive, create, process, store, and/or send traffic to other components within network 110 .
- One or more routers 140 may be controlled by one or more entities (e.g., a network service provider). In the illustrated embodiment of FIG.
- routers 140 include active router 140 a , standby router 140 b , router 140 c , router 140 d , and router 140 e .
- One or more routers 140 may be located in one or more data centers, remote branches, or any other suitable location.
- active router 140 a and standby router 140 b may be located in a data center
- routers 140 c , 140 d , and 140 e may be located in a remote branch.
- a data center is a building, a group of buildings, or a dedicated space within a building that houses computer components (e.g., routers, servers, etc.).
- a remote branch is a site located at a predetermined distance from an organization's headquarters or main office.
- one or more routers 140 within network 110 may be designated as an active router or a standby router.
- active router 140 a may be designated as an active router such that active router 140 a operates in an active mode.
- Active mode indicates that router 140 is receiving and forwarding particular traffic (e.g., application data traffic) within network 110 .
- standby router 140 b may be designated as a standby router such that standby router 140 b operates in a standby (e.g., bypass) mode. Standby mode indicates that router 140 is not receiving and forwarding particular traffic (e.g., application data traffic) within network 110 .
- Active router 140 a while operating in active mode, may forward packets (e.g., Internet Protocol (IP) packets) from a host server (e.g., server 120 a , server 120 b , or server 120 c ) to a destination server (e.g., server 120 d ).
- IP Internet Protocol
- Standby router while operating in standby mode, serves as a backup to active router 140 a .
- active router 140 a fails to satisfy one or more requirements (e.g., SLA requirements)
- standby router 140 b may be configured to have a higher FHRP priority than active router 140 a to initiate a switchover between active router 140 a and standby router 140 b . After the switchover occurs, standby router 140 b operates in active mode to provide uninterrupted service for the host server.
- active router 140 a and standby router 140 b are part of an IP routing redundancy group.
- active router 140 a and standby router 140 b may share a single, virtual IP address that is configured on each end user's device as a default gateway address.
- Active router 140 a may be initially elected to handle all requests sent to the virtual IP address, and standby router 140 b may serve as a backup to active router 140 a .
- Router 140 c , router 140 d , and router 140 e may be located remotely (e.g., in another data center, branch office, city, state, and/or country) from active router 140 a and standby router 140 b .
- active router 140 a and standby router 140 b may be located in a data center or branch office in San Francisco
- router 140 c may be located in London
- router 140 d may be located in Paris
- router 140 e may be located in Bangalore.
- active router 140 a receives outgoing traffic associated with an application from a host server (e.g., server 120 a , server 120 b , or server 120 c ) and communicates the outgoing traffic associated with the application to a destination server (e.g., server 120 d ).
- active router 140 a receives incoming traffic from destination server 120 d and communicates the incoming traffic to host server (e.g., server 120 a , server 120 b , or server 120 c ).
- host server e.g., server 120 a , server 120 b , or server 120 c
- TLOC extensions 160 are configured between one or more routers 140 .
- a TLOC is an attachment point where router 140 (e.g., a WAN edge router) connects to network 110 (e.g., a WAN transport network).
- the TLOC is uniquely identified and represented by a three-tuple (i.e., a system IP address, link color, and encapsulation (Generic Routing Encapsulation (GRE), IPsec, etc.)).
- GRE Generic Routing Encapsulation
- IPsec IPsec
- a TLOC preference for one or more TLOCs may be set to a specific value to influence traffic flow.
- the TLOC preference for standby router 140 b may be increased by a predetermined value (e.g., 1, 10, 20, etc.) to attract WAN-side traffic (e.g., traffic from destination server 120 d ) directly to standby router 140 b .
- a predetermined value e.g. 1, 10, 20, etc.
- WAN-side traffic e.g., traffic from destination server 120 d
- symmetric routing is provided for the traffic since the traffic follows the same path through standby router 140 b , round trip.
- FHRP is configured on one or more routers 140 .
- FHRP may be configured on active router 140 a and standby router 140 b to attract LAN-side traffic.
- FHRP is used for site redundancy and acts as a default gateway for servers 120 .
- Examples of FHRP include VRRP, Hot Standby Router Protocol (HSRP), Common Address Redundancy Protocol (CARP), Extreme Standby Router Protocol (ESRP), Gateway Load Balancing Protocol (GLBP), Routed Split multi-link trunking (R-SMLT), NetScreen Redundancy Protocol (NSRP), and Chassis Cluster Redundant Ethernet.
- an FHRP priority (e.g., a VRRP priority) from 1 to 254 ( 100 may be the default) is configured on one or more routers 140 .
- router 140 with the highest FHRP priority within a redundancy group is elected as active (e.g., master) FHRP router. For example, if active router 140 a has an FHRP priority of 100 and standby router 140 b has an FHRP priority of 90, active router 140 a may be elected as active FHRP router.
- active router 140 a has an FHRP priority of 90 and standby router 140 b has an FHRP priority of 100
- a switchover may occur such that active router 140 a operates in standby (e.g., bypass) mode and standby router 140 b operates in active (e.g., master) mode.
- standby router 140 b operates in active (e.g., master) mode.
- router 140 with the higher IP address e.g., LAN IP address
- an AAR policy which is a type of centralized data policy, is configured on a controller (e.g., a smart controller) within system 100 .
- the controller may automatically push the AAR policy to one or more routers 140 .
- AAR may be configured on one or more tunnels 150 between routers 140 .
- Tunnels 150 are point-to-point links between components of network 110 .
- tunnels 150 allow private network data to be communicated across a public network (e.g., the Internet).
- Tunnels 150 may include one or more SD-WAN tunnels, VPN tunnels, IP Security (IPSec) tunnels, SLA tunnels, GRE tunnels, a combination thereof, or any other suitable type of tunnel.
- tunnels 150 include tunnel 150 a and tunnel 150 b .
- Tunnel 150 a provides a link between active router 140 a and router 140 c of network 110 .
- Tunnel 150 b provides a link between standby router 140 b and router 140 c of network 110 .
- the AAR tracks network and path characteristics.
- the network and path characteristics may include packet loss, latency, jitter, a load of a link, a cost of a link, the bandwidth of a link, and/or any other suitable network or path characteristic.
- the AAR characteristics may be used to compute optimal paths for data traffic in network 110 .
- the network and path characteristics may supplement standard routing parameters (e.g., route prefixes, metrics, link-state information, etc.) in determining traffic paths through network 110 .
- the AAR policy specifies performance characteristics (e.g., data plane tunnel performance characteristics) in the form an SLA.
- SLA defines the required packet loss, latency, and/or jitter conditions on a data plane connection that trigger the policy to take effect.
- AAR may be created/configured as follows: (1) configure an SLA class, which defines the required latency and loss for the traffic that is to be affected by a given application-aware routing policy; (2) configure an AAR policy, which specifies the traffic that is to belong to the SLA class; and (3) apply the AAR policy towards the desired overlay network sites.
- AAR directs traffic based on an application's predetermined SLA and/or application profiles (e.g., user-defined application profiles). For example, traffic may be sent to tunnels 150 within network 110 that have the required SLA characteristics to support an application.
- the SLA characteristics may include measurements for packet loss, latency, packet sequencing, connectivity, network availability, network performance, Domain Name System (DNS) lookup time, etc.
- AAR tracks the SLA characteristics of tunnels 150 (e.g., data plane SD-WAN tunnels) between routers 140 (e.g., SD-WAN routers).
- the collected SLA characteristics may be used to compute optimal paths for data traffic.
- the SLA characteristics are tracked, measured, and/or recorded by Bidirectional Forwarding Detection (BFD).
- BFD Bidirectional Forwarding Detection
- an SLA next hop may be chosen for a given application based on the SLA characteristics associated with tunnels 150 .
- one or more routers 140 may determine SLA characteristics for its associated tunnels 150 .
- active router 140 a may measure SLA characteristics (e.g., loss, latency, and jitter) for tunnel 150 a located between active router 140 a and router 140 c .
- standby router 140 b may measure SLA characteristics (e.g., loss, latency, and jitter) for tunnel 150 b located between standby router 140 b and router 140 c .
- One or more routers 140 of system 100 may determine SLA characteristics for its associated tunnels 150 in real-time, near real-time, or in any suitable interval (e.g., 1 second, 10 seconds, 10 minutes, etc.).
- active router 140 a determines SLA requirements for an application.
- the SLA requirements may provide a form of guarantee to customers with regard to a level of user experience.
- the SLA requirements may be specific to each application. For example, different types of applications (e.g., business-critical applications, enterprise resource management applications, customer relationship management applications, material requirements planning (mrp) applications, portals, client-server applications, etc.) may have different SLA requirements based on different business objectives.
- the SLA requirements may include requirements (e.g., threshold values) for delay, packet loss, jitter, packet sequencing, connectivity, network availability, network performance, DNS lookup time, and the like.
- Active router 140 a may determine SLA characteristics associated with tunnel 150 a for active router 140 a . Active router 140 a may compare the SLA characteristics for active router 140 a to the SLA requirements. Active router 140 a may determine SLA characteristics associated with tunnel 150 b for standby router 140 b . Active router 140 a may compare the SLA characteristics for standby router 140 b to the SLA requirements. Active router 140 a may then determine, based on the comparisons, which SLA characteristics satisfy the SLA requirements. Based on this determination, active router 140 a may decide whether to lower its FHRP priority (e.g., VRRP priority).
- FHRP priority e.g., VRRP priority
- active router 140 a determines that the SLA characteristics for active router 140 a fail to satisfy the SLA requirements, and that the SLA characteristics for standby router 140 b satisfy the SLA requirements. In response to this determination, the FHRP priority of active router 140 a may be lowered by one or more components of system 100 . For example, the FHRP priority of active router 140 a may be lowered by an increment of 10 from a first configured value (e.g., 100) to a second configured value (e.g., 90).
- a first configured value e.g. 100
- a second configured value e.g. 90
- lowering the VRRP priority of active router 140 a switches active router 140 a from active (e.g., master) mode to standby (e.g., bypass) mode within network 110 .
- active router 140 a may automatically switch from active to standby mode
- standby router 140 b may automatically switch from standby to active mode.
- the TLOC preference for standby router 140 b may be increased such that standby router 140 b attracts WAN-side traffic directly while standby router 140 b is operating in active mode.
- network traffic may flow from host server 120 a , through standby router 140 b , through router 140 c , and to server 120 d .
- the network traffic may then flow in reverse from destination server 120 d , through router 140 c , through standby router 140 b , and to host server 120 a without passing through active router 140 a , which provides for symmetrical routing.
- one or more network components of system 100 determines that the SLA characteristics for active router 140 a fail to satisfy the SLA requirements, and that the SLA characteristics for standby router 140 b also fail to satisfy the SLA requirements. In response to this determination, one or more network components of system 100 may set the FHRP priority of active router 140 a and the FHRP priority of standby router 140 b to a same value.
- one or more network components of system 100 may lower the FHRP priority of active router 140 a to a particular value such that the FHRP priority of active router 140 a (e.g., 90 ) and the FHRP priority of standby router 140 b 9 (e.g., 90 ) are the same. Setting the FHRP priorities of active router 140 a and standby router 140 b to the same value allows an FHRP election algorithm to automatically designate active router 140 a and standby router 140 b as either active or standby.
- the FHRP priorities for active router 140 a and standby router 140 b of system 100 are each initially set to 100.
- An FHRP election algorithm elects active router 140 a as the active (e.g., master) router and standby router 140 b as the standby (e.g., bypass) router.
- Active router 140 a determines SLA requirements (e.g., threshold values for jitter, latency, and packet loss) for an application.
- Active router 140 a determines SLA characteristics associated with active router 140 a . For example, active router 140 a may determine performance metrics for jitter, latency, and packet loss) for tunnel 150 a located between active router 140 a and router 140 c of system 100 .
- Active router 140 a compares the SLA characteristics associated with active router 140 a to the SLA requirements and determines that the SLA characteristics associated with active router 140 a fail to satisfy the SLA requirements. Active router 140 a determines SLA characteristics associated with standby router 140 b , compares the SLA characteristics associated with standby router 140 b to the SLA requirements, and determines that the SLA characteristics associated with standby router 140 b satisfy the SLA requirements. In response to these determinations, active router 140 a lowers its FHRP priority to a value lower than the FHRP priority value of standby router 140 b , which initiates an FHRP switchover. After the switchover, active router 140 a becomes standby and standby router 140 b becomes active within network 110 .
- the TLOC preference of standby router 140 b is increased by a predetermined value (e.g., 20) to attract WAN-side traffic (e.g., traffic from router 140 c ) to standby router 140 b , which may provide for symmetric routing.
- a predetermined value e.g. 20
- FIG. 1 illustrates a particular arrangement of network 110 , servers 120 , switch 130 , routers 140 , tunnels 150 , and TLOC extensions 160
- this disclosure contemplates any suitable arrangement of network 110 , servers 120 , switch 130 , routers 140 , tunnels 150 , and TLOC extensions 160 .
- server 120 d may be connected to router 140 d or router 140 e .
- active router 140 a may operate as a standby router.
- standby router 140 b may operate as an active router.
- system 100 may include more or less than three servers 120 , more than one switch 130 , and/or more than five routers 140 .
- FIG. 2 illustrates an example method 200 for determining a FHRP switchover.
- Method 200 begins at step 205 .
- a network component e.g., active router 140 a of FIG. 1 determines SLA requirements for an application.
- the SLA requirements may include threshold values for jitter, latency, and packet loss for the application.
- Method 200 then moves from step 210 to step 215 , where the network component establishes a first router (e.g., active router 140 a of FIG. 1 ) operating in an active (e.g., master) mode within a network (e.g., network 110 of FIG. 1 ).
- the network component increases the TLOC preference of the first router.
- the network component may increase the TLOC preference from a TLOC default value (e.g., 1) to the TLOC default value plus 1 (e.g., 2 ).
- Method 200 then moves from step 215 to step 220 .
- the network component establishes a second router (e.g., standby router 140 b of FIG. 1 ) operating in a standby (e.g., bypass) mode within the network.
- the TLOC preference of the second router is the TLOC default value (e.g., 1).
- Method 200 then moves from step 220 to step 225 , where the network component generates first SLA characteristics for the first router while the first router is operating in active mode within the network.
- the first router may have an FHRP priority (e.g., a VRRP priority) set to a first predetermined value (e.g., 100).
- the first SLA characteristics may include performance metrics associated with jitter, latency, and packet loss for one or more tunnels (e.g., tunnel 150 a of FIG. 1 ) associated with the first router.
- Method 200 then moves from step 225 to step 230 , where the network component compares the first SLA characteristics for the first router to the SLA requirements.
- Method 200 then moves from step 230 to step 235 .
- the network component determines second SLA characteristics for the second router while the second router is operating in standby (e.g., bypass) mode within the network.
- the second SLA characteristics may include performance metrics associated with jitter, latency, and packet loss for one or more tunnels (e.g., tunnel 150 b of FIG. 1 ) associated with the second router.
- the second router may have an FHRP priority (e.g., a VRRP priority) set to the first predetermined value (e.g., 100).
- FHRP priority e.g., a VRRP priority
- Method 200 then moves from step 235 to step 240 , where the network component compares the second SLA characteristics for the second router to the SLA requirements.
- Method 200 then moves from step 240 to step 245 .
- the network component determines whether the first SLA characteristics for the first router satisfy the SLA requirements. If the network component determines that the first SLA characteristics for the first router satisfy the SLA requirements, method 200 advances from step 245 to step 275 , where method 200 ends. If, at step 245 , the network component determines that the first SLA characteristics for the first router fail to satisfy the SLA requirements, method 200 moves from step 245 to step 250 , where the network component lowers the FHRP priority of the first router. For example, the network component may lower the FHRP priority of the first router from the first predetermined value (e.g., 100) to a second predetermined value (e.g., 90). Method 200 then moves from step 250 to step 255 .
- the first predetermined value e.g. 100
- a second predetermined value e.g. 90
- the network component determines whether the second SLA characteristics for the second router satisfy the SLA requirements. If the network component determines that the second SLA characteristics for the second router fail to satisfy the SLA requirements, method 200 movers from step 255 to step 260 , where the network component lowers the FHRP priority of the second router. For example, the network component may lower the FHRP priority of the second router from the first predetermined value (e.g., 100) to the second predetermined value (e.g., 90) such the that FHRP priority of the second router is set to the same value as the FHRP priority of the first router. Setting the VRRP priorities to the same value allows the FHRP election algorithm to automatically designate the first router and the second router as active/standby. Method 200 then moves from step 265 to step 275 , where method 200 ends.
- the first predetermined value e.g. 100
- the second predetermined value e.g. 90
- Method 200 advances from step 255 to step 265 , where the first router automatically switches from active (e.g., master) mode to standby (e.g., bypass) mode.
- the network component lowers the TLOC preference of the first router. For example, the network component may lower the TLOC preference from the TLOC default value plus 1 (e.g., 2) to the TLOC default value (e.g., 1).
- Method 200 moves from step 265 to step 270 , where the second router automatically switches from standby (e.g., bypass) mode to active (e.g., master) mode.
- the network component increases the TLOC preference of the second router.
- the network component may increase the TLOC preference from the TLOC default value (e.g., 1) to the TLOC default value plus 1 (e.g., 2).
- TLOC default value e.g. 1
- Method 200 then moves from step 270 to step 275 , where method 200 ends.
- this disclosure describes and illustrates particular steps of the method of FIG. 2 as occurring in a particular order, this disclosure contemplates any suitable steps of the method of FIG. 2 occurring in any suitable order. For example, steps 265 and 270 may be switched, or may occur simultaneously, in certain embodiments.
- this disclosure describes and illustrates an example method for determining FHRP switchover including the particular steps of the method of FIG. 2
- this disclosure contemplates any suitable method for determining FHRP switchover including any suitable steps, which may include all, some, or none of the steps of the method of FIG. 2 , where appropriate.
- this disclosure describes and illustrates particular components, devices, or systems carrying out particular steps of the method of FIG. 2
- this disclosure contemplates any suitable combination of any suitable components, devices, or systems carrying out any suitable steps of the method of FIG. 2 .
- FIG. 3 illustrates an example computer system 300 .
- one or more computer systems 300 perform one or more steps of one or more methods described or illustrated herein.
- one or more computer systems 300 provide functionality described or illustrated herein.
- software running on one or more computer systems 300 performs one or more steps of one or more methods described or illustrated herein or provides functionality described or illustrated herein.
- Particular embodiments include one or more portions of one or more computer systems 300 .
- reference to a computer system may encompass a computing device, and vice versa, where appropriate.
- reference to a computer system may encompass one or more computer systems, where appropriate.
- computer system 300 may be an embedded computer system, a system-on-chip (SOC), a single-board computer system (SBC) (such as, for example, a computer-on-module (COM) or system-on-module (SOM)), a desktop computer system, a laptop or notebook computer system, an interactive kiosk, a mainframe, a mesh of computer systems, a mobile telephone, a personal digital assistant (PDA), a server, a tablet computer system, an augmented/virtual reality device, or a combination of two or more of these.
- SOC system-on-chip
- SBC single-board computer system
- COM computer-on-module
- SOM system-on-module
- computer system 300 may include one or more computer systems 300 ; be unitary or distributed; span multiple locations; span multiple machines; span multiple data centers; or reside in a cloud, which may include one or more cloud components in one or more networks.
- one or more computer systems 300 may perform without substantial spatial or temporal limitation one or more steps of one or more methods described or illustrated herein.
- one or more computer systems 300 may perform in real time or in batch mode one or more steps of one or more methods described or illustrated herein.
- One or more computer systems 300 may perform at different times or at different locations one or more steps of one or more methods described or illustrated herein, where appropriate.
- computer system 300 includes a processor 302 , memory 304 , storage 306 , an input/output (I/O) interface 308 , a communication interface 310 , and a bus 312 .
- I/O input/output
- this disclosure describes and illustrates a particular computer system having a particular number of particular components in a particular arrangement, this disclosure contemplates any suitable computer system having any suitable number of any suitable components in any suitable arrangement.
- processor 302 includes hardware for executing instructions, such as those making up a computer program.
- processor 302 may retrieve (or fetch) the instructions from an internal register, an internal cache, memory 304 , or storage 306 ; decode and execute them; and then write one or more results to an internal register, an internal cache, memory 304 , or storage 306 .
- processor 302 may include one or more internal caches for data, instructions, or addresses. This disclosure contemplates processor 302 including any suitable number of any suitable internal caches, where appropriate.
- processor 302 may include one or more instruction caches, one or more data caches, and one or more translation lookaside buffers (TLBs). Instructions in the instruction caches may be copies of instructions in memory 304 or storage 306 , and the instruction caches may speed up retrieval of those instructions by processor 302 . Data in the data caches may be copies of data in memory 304 or storage 306 for instructions executing at processor 302 to operate on; the results of previous instructions executed at processor 302 for access by subsequent instructions executing at processor 302 or for writing to memory 304 or storage 306 ; or other suitable data. The data caches may speed up read or write operations by processor 302 . The TLBs may speed up virtual-address translation for processor 302 .
- TLBs translation lookaside buffers
- processor 302 may include one or more internal registers for data, instructions, or addresses. This disclosure contemplates processor 302 including any suitable number of any suitable internal registers, where appropriate. Where appropriate, processor 302 may include one or more arithmetic logic units (ALUs); be a multi-core processor; or include one or more processors 302 . Although this disclosure describes and illustrates a particular processor, this disclosure contemplates any suitable processor.
- ALUs arithmetic logic units
- memory 304 includes main memory for storing instructions for processor 302 to execute or data for processor 302 to operate on.
- computer system 300 may load instructions from storage 306 or another source (such as, for example, another computer system 300 ) to memory 304 .
- Processor 302 may then load the instructions from memory 304 to an internal register or internal cache.
- processor 302 may retrieve the instructions from the internal register or internal cache and decode them.
- processor 302 may write one or more results (which may be intermediate or final results) to the internal register or internal cache.
- Processor 302 may then write one or more of those results to memory 304 .
- processor 302 executes only instructions in one or more internal registers or internal caches or in memory 304 (as opposed to storage 306 or elsewhere) and operates only on data in one or more internal registers or internal caches or in memory 304 (as opposed to storage 306 or elsewhere).
- One or more memory buses (which may each include an address bus and a data bus) may couple processor 302 to memory 304 .
- Bus 312 may include one or more memory buses, as described below.
- one or more memory management units reside between processor 302 and memory 304 and facilitate accesses to memory 304 requested by processor 302 .
- memory 304 includes random access memory (RAM). This RAM may be volatile memory, where appropriate.
- this RAM may be dynamic RAM (DRAM) or static RAM (SRAM). Moreover, where appropriate, this RAM may be single-ported or multi-ported RAM.
- Memory 304 may include one or more memories 304 , where appropriate. Although this disclosure describes and illustrates particular memory, this disclosure contemplates any suitable memory.
- storage 306 includes mass storage for data or instructions.
- storage 306 may include a hard disk drive (HDD), a floppy disk drive, flash memory, an optical disc, a magneto-optical disc, magnetic tape, or a Universal Serial Bus (USB) drive or a combination of two or more of these.
- Storage 306 may include removable or non-removable (or fixed) media, where appropriate.
- Storage 306 may be internal or external to computer system 300 , where appropriate.
- storage 306 is non-volatile, solid-state memory.
- storage 306 includes read-only memory (ROM).
- this ROM may be mask-programmed ROM, programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), electrically alterable ROM (EAROM), or flash memory or a combination of two or more of these.
- This disclosure contemplates mass storage 306 taking any suitable physical form.
- Storage 306 may include one or more storage control units facilitating communication between processor 302 and storage 306 , where appropriate.
- storage 306 may include one or more storages 306 .
- this disclosure describes and illustrates particular storage, this disclosure contemplates any suitable storage.
- I/O interface 308 includes hardware, software, or both, providing one or more interfaces for communication between computer system 300 and one or more I/O devices.
- Computer system 300 may include one or more of these I/O devices, where appropriate.
- One or more of these I/O devices may enable communication between a person and computer system 300 .
- an I/O device may include a keyboard, keypad, microphone, monitor, mouse, printer, scanner, speaker, still camera, stylus, tablet, touch screen, trackball, video camera, another suitable I/O device or a combination of two or more of these.
- An I/O device may include one or more sensors. This disclosure contemplates any suitable I/O devices and any suitable I/O interfaces 308 for them.
- I/O interface 308 may include one or more device or software drivers enabling processor 302 to drive one or more of these I/O devices.
- I/O interface 308 may include one or more I/O interfaces 308 , where appropriate. Although this disclosure describes and illustrates a particular I/O interface, this disclosure contemplates any suitable I/O interface.
- communication interface 310 includes hardware, software, or both providing one or more interfaces for communication (such as, for example, packet-based communication) between computer system 300 and one or more other computer systems 300 or one or more networks.
- communication interface 310 may include a network interface controller (NIC) or network adapter for communicating with an Ethernet or other wire-based network or a wireless NIC (WNIC) or wireless adapter for communicating with a wireless network, such as a WI-FI network.
- NIC network interface controller
- WNIC wireless NIC
- WI-FI network wireless network
- computer system 300 may communicate with an ad hoc network, a personal area network (PAN), a LAN, a WAN, a MAN, or one or more portions of the Internet or a combination of two or more of these.
- PAN personal area network
- LAN local area network
- WAN wide area network
- MAN metropolitan area network
- One or more portions of one or more of these networks may be wired or wireless.
- computer system 300 may communicate with a wireless PAN (WPAN) (such as, for example, a BLUETOOTH WPAN), a WI-FI network, a WI-MAX network, a cellular telephone network (such as, for example, a Global System for Mobile Communications (GSM) network, a 3G network, a 4G network, a 5G network, an LTE network, or other suitable wireless network or a combination of two or more of these.
- WPAN wireless PAN
- WI-FI such as, for example, a BLUETOOTH WPAN
- WI-MAX such as, for example, a Global System for Mobile Communications (GSM) network
- GSM Global System for Mobile Communications
- 3G network 3G network
- 4G 4G network
- 5G network such as Long Term Evolution
- LTE Long Term Evolution
- Computer system 300 may include any suitable communication interface 310 for any of these networks, where appropriate.
- Communication interface 310 may include one or more communication interfaces 310 , where appropriate.
- bus 312 includes hardware, software, or both coupling components of computer system 300 to each other.
- bus 312 may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a front-side bus (FSB), a HYPERTRANSPORT (HT) interconnect, an Industry Standard Architecture (ISA) bus, an INFINIBAND interconnect, a low-pin-count (LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCIe) bus, a serial advanced technology attachment (SATA) bus, a Video Electronics Standards Association local (VLB) bus, or another suitable bus or a combination of two or more of these.
- Bus 312 may include one or more buses 312 , where appropriate.
- a computer-readable non-transitory storage medium or media may include one or more semiconductor-based or other integrated circuits (ICs) (such, as for example, field-programmable gate arrays (FPGAs) or application-specific ICs (ASICs)), hard disk drives (HDDs), hybrid hard drives (HHDs), optical discs, optical disc drives (ODDs), magneto-optical discs, magneto-optical drives, floppy diskettes, floppy disk drives (FDDs), magnetic tapes, solid-state drives (SSDs), RAM-drives, SECURE DIGITAL cards or drives, any other suitable computer-readable non-transitory storage media, or any suitable combination of two or more of these, where appropriate.
- ICs such, as for example, field-programmable gate arrays (FPGAs) or application-specific ICs (ASICs)
- HDDs hard disk drives
- HHDs hybrid hard drives
- ODDs optical disc drives
- magneto-optical discs magneto-optical drives
- references in the appended claims to an apparatus or system or a component of an apparatus or system being adapted to, arranged to, capable of, configured to, enabled to, operable to, or operative to perform a particular function encompasses that apparatus, system, component, whether or not it or that particular function is activated, turned on, or unlocked, as long as that apparatus, system, or component is so adapted, arranged, capable, configured, enabled, operable, or operative. Additionally, although this disclosure describes or illustrates particular embodiments as providing particular advantages, particular embodiments may provide none, some, or all of these advantages.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
In one embodiment, a method includes determining, by a first router, service level agreement (SLA) requirements for an application and generating, by the first router, first SLA characteristics for the first router. The first router is in an active mode within a network. The method also includes comparing, by the first router, the first SLA characteristics for the first router to the SLA requirements and determining, by the first router, second SLA characteristics for a second router. The second router is in a standby mode within the network. The method further includes comparing, by the first router, the second SLA characteristics for the second router to the SLA requirements and determining, by the first router, whether to lower a first hop redundancy protocol (FHRP) priority of the first router.
Description
- The present disclosure relates generally to network switchovers, and more specifically to systems and methods for determining First Hop Redundancy Protocol (FHRP) switchover.
- Application-aware routing (AAR) tracks network and path characteristics between network components and uses the collected information to compute optimal paths for data traffic. The path taken by application data traffic through the network may be directed to network links that support the application's performance requirements. If performance issues are discovered from the collected information, the application data traffic may be dropped or take a worst path.
-
FIG. 1 illustrates an example system for determining FHRP switchover; -
FIG. 2 illustrates an example method for determining FHRP switchover; and -
FIG. 3 illustrates an example computer system that may be used by the systems and methods described herein. - According to an embodiment, a first router includes one or more processors and one or more computer-readable non-transitory storage media coupled to the one or more processors. The one or more computer-readable non-transitory storage media include instructions that, when executed by the one or more processors, cause the first router to perform operations including determining service level agreement (SLA) requirements for an application and generating first SLA characteristics for the first router. The first router may be in an active mode within a network. The operations also include comparing the first SLA characteristics for the first router to the SLA requirements and determining second SLA characteristics for a second router. The second router may be in a standby mode within the network. The operations further include comparing the second SLA characteristics for the second router to the SLA requirements and determining whether to lower an FHRP priority of the first router.
- In certain embodiments, the operations include determining that the first SLA characteristics for the first router fail to satisfy the SLA requirements, determining that the second SLA characteristics for the second router satisfy the SLA requirements, lowering the FHRP priority of the first router such that the FHRP priority of the first router is less than the FHRP priority of the second router, and switching, based on the FHRP priority of the first router and the second router, the first router from the active mode to the standby mode within the network.
- In some embodiments, the operations include determining that transport location (TLOC) extensions are configured between the first router and the second router, determining to switch, based on the FHRP priority of the first router being less than the FHRP priority of the second router, the second router from the standby mode to the active mode within the network, and determining to increase a TLOC preference for the second router.
- In certain embodiments, the operations include, while the first router is in the active mode: receiving outgoing traffic associated with the application from a host server, communicating the outgoing traffic associated with the application to a destination server, receiving incoming traffic from the destination server, and communicating the incoming traffic to the host server.
- In some embodiments, the operations include determining that the first SLA characteristics for the first router fail to satisfy the SLA requirements, determining that the second SLA characteristics for the second router fail to satisfy the SLA requirements, and lowering the FHRP priority of the first router such that the FHRP priority of the first router and the FHRP priority of the second are set to a same value.
- In certain embodiments, the SLA requirements comprise threshold values for jitter, latency, and packet loss, and the first SLA characteristics and the second SLA characteristics include performance metrics associated with jitter, latency, and packet loss. In some embodiments, the network is a software-defined wide area network (SD-WAN), the FHRP priority is a Virtual Router Redundancy Protocol (VRRP) priority, and/or the first router and the second router are located in a data center.
- According to another embodiment, a method includes determining, by a first router, SLA requirements for an application and generating, by the first router, first SLA characteristics for the first router. The first router may be in an active mode within a network. The method also includes comparing, by the first router, the first SLA characteristics for the first router to the SLA requirements and determining, by the first router, second SLA characteristics for a second router. The second router may be in a standby mode within the network. The method further includes comparing, by the first router, the second SLA characteristics for the second router to the SLA requirements and determining, by the first router, whether to lower a FHRP priority of the first router.
- According to yet another embodiment, one or more computer-readable non-transitory storage media embody instructions that, when executed by a processor, cause the processor to perform operations including determining service level agreement (SLA) requirements for an application and generating first SLA characteristics for a first router. The first router may be in an active mode within a network. The operations also include comparing the first SLA characteristics for the first router to the SLA requirements and determining second SLA characteristics for a second router. The second router may be in a standby mode within the network. The operations further include comparing the second SLA characteristics for the second router to the SLA requirements and determining whether to lower a FHRP priority of the first router.
- Technical advantages of certain embodiments of this disclosure may include one or more of the following. This disclosure describes systems and methods for determining FHRP switchover based on network tunnel SLA characteristics, which may prevent application data traffic from being dropped or taking a worst path. For example, if the SLA characteristics for an active router within a network fail to satisfy the SLA requirements associated with an application, but the SLA characteristics for a standby router within the network satisfy the SLA requirements, the FHRP priority of the active router may be lowered to initiate an FHRP switchover between the active router and the standby router. Certain systems and methods described herein prevent/reduce asymmetric routing by directing outgoing and incoming traffic through the same network path. For example, in certain systems and methods described herein, a TLOC preference may be increased for a newly assigned active router after the occurrence of an FHRP switchover such that the newly assigned active router can attract WAN-side traffic.
- Other technical advantages will be readily apparent to one skilled in the art from the following figures, descriptions, and claims. Moreover, while specific advantages have been enumerated above, various embodiments may include all, some, or none of the enumerated advantages.
- This disclosure describes systems and methods for determining FHRP switchover. FHRP is a computer networking protocol that allows two or more routers to provide backup for an active router. One router within the network is designated as an active router and at least one other router within the network is designated as a standby router. If the active router fails and/or underperforms, the standby router takes over the network address.
FIG. 1 shows an example system for determining FHRP switchover, andFIG. 2 shows an example method for FHRP switchover.FIG. 3 shows an example computer system that may be used by the systems and methods described herein. -
FIG. 1 illustrates anexample system 100 for determining FHRP switchover.System 100 or portions thereof may be associated with an entity, which may include any entity, such as a business or company that determines FHRP switchover. The components ofsystem 100 may include any suitable combination of hardware, firmware, and software. For example, the components ofsystem 100 may use one or more elements of the computer system ofFIG. 3 .System 100 ofFIG. 1 includes anetwork 110,servers 120, aswitch 130,routers 140,tunnels 150, andTLOC extensions 160. - Network 110 of
system 100 is any type of network that facilitates communication between components ofsystem 100. Network 110 may connect one or more components ofsystem 100. One or more portions ofnetwork 110 may include an ad-hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless WAN (WWAN), an SD-WAN, a metropolitan area network (MAN), a portion of the Internet, a portion of the Public Switched Telephone Network (PSTN), a cellular telephone network, a Digital Subscriber Line (DSL), a 3G network, a 4G network, a 5G network, a Long Term Evolution (LTE) network, a combination of two or more of these, or other suitable types of networks. Network 110 may include one or more different types of networks. Network 110 may be any communications network, such as a private network, a public network, a connection through Internet, a mobile network, a WI-FI network, etc. One or more components ofsystem 100 may communicate overnetwork 110. Network 110 may include a core network (e.g., the Internet), an access network of a service provider, an Internet service provider (ISP) network, and the like. In the illustrated embodiment ofFIG. 1 ,network 110 is an SD-WAN. -
Servers 120 ofsystem 100 represent any suitable network components that can manage network resources.Servers 120 may include one or more network servers, database servers, print servers, file servers, a combination thereof, or any other suitable type of server. In certain embodiments,servers 120 receive, create, process, store, and/or send traffic to other components withinnetwork 110.Servers 120 may be controlled by an entity (e.g., a network service provider). In the illustrated embodiment ofFIG. 1 ,servers 120 includeserver 120 a,server 120 b,server 120 c,server 120 d, and server 120 e. One ormore servers 120 may operate as host servers or destination servers. For example,servers network 110, andserver 120 d may operate as a destination server withinnetwork 110. In certain embodiments, a host server requests services (e.g., application services) from one or more components ofsystem 100, and a destination server provides the requested services to the host server. For example,server 120 a ofsystem 100 may act as a host server and transmit a request vianetwork 110 for an application service, andserver 120 d ofsystem 100 may act as a destination server to provide the requested application service toserver 120 a vianetwork 110. - Switch 130 of
system 100 represents any suitable network component that can connect devices onnetwork 110. In certain embodiments,switch 130 connects components withinnetwork 110 by using packet switching to receive and forward data to a destination component. For example, switch 130 may receive data packets fromserver 120 a and communicate the data packets (via one or more routers 140) toserver 120 d. As another example, switch 130 may receive data packets fromserver 120 d (via one or more routers 140) and communicate the data packets toserver 120 a.Switch 130 may receive, create, process, store, and/or send traffic to other components withinnetwork 110.Switch 130 may be controlled by an entity (e.g., a network service provider). -
Routers 140 ofsystem 100 represent any suitable network components that can forward data packets between components ofnetwork 110.Routers 140 may include one or more edge routers (e.g., a subscriber edge router, a label edge router, etc.), Border Gateway Protocol (BGP) routers, wired routers, wireless routers, virtual routers, core routers, gateways, a combination thereof, or any other suitable types of routers. In certain embodiments,routers 140 receive, create, process, store, and/or send traffic to other components withinnetwork 110. One ormore routers 140 may be controlled by one or more entities (e.g., a network service provider). In the illustrated embodiment ofFIG. 1 ,routers 140 includeactive router 140 a,standby router 140 b,router 140 c,router 140 d, androuter 140 e. One ormore routers 140 may be located in one or more data centers, remote branches, or any other suitable location. For example,active router 140 a andstandby router 140 b may be located in a data center, androuters - In certain embodiments, one or
more routers 140 withinnetwork 110 may be designated as an active router or a standby router. For example,active router 140 a may be designated as an active router such thatactive router 140 a operates in an active mode. Active mode indicates thatrouter 140 is receiving and forwarding particular traffic (e.g., application data traffic) withinnetwork 110. As another example,standby router 140 b may be designated as a standby router such thatstandby router 140 b operates in a standby (e.g., bypass) mode. Standby mode indicates thatrouter 140 is not receiving and forwarding particular traffic (e.g., application data traffic) withinnetwork 110.Active router 140 a, while operating in active mode, may forward packets (e.g., Internet Protocol (IP) packets) from a host server (e.g.,server 120 a,server 120 b, orserver 120 c) to a destination server (e.g.,server 120 d). Standby router, while operating in standby mode, serves as a backup toactive router 140 a. For example, ifactive router 140 a fails to satisfy one or more requirements (e.g., SLA requirements),standby router 140 b may be configured to have a higher FHRP priority thanactive router 140 a to initiate a switchover betweenactive router 140 a andstandby router 140 b. After the switchover occurs,standby router 140 b operates in active mode to provide uninterrupted service for the host server. - In certain embodiments,
active router 140 a andstandby router 140 b are part of an IP routing redundancy group. In some embodiments,active router 140 a andstandby router 140 b may share a single, virtual IP address that is configured on each end user's device as a default gateway address.Active router 140 a may be initially elected to handle all requests sent to the virtual IP address, andstandby router 140 b may serve as a backup toactive router 140 a.Router 140 c,router 140 d, androuter 140 e may be located remotely (e.g., in another data center, branch office, city, state, and/or country) fromactive router 140 a andstandby router 140 b. For example,active router 140 a andstandby router 140 b may be located in a data center or branch office in San Francisco,router 140 c may be located in London,router 140 d may be located in Paris, androuter 140 e may be located in Bangalore. - In some embodiments,
active router 140 a (while in active mode) receives outgoing traffic associated with an application from a host server (e.g.,server 120 a,server 120 b, orserver 120 c) and communicates the outgoing traffic associated with the application to a destination server (e.g.,server 120 d). In certain embodiments,active router 140 a (while in active mode) receives incoming traffic fromdestination server 120 d and communicates the incoming traffic to host server (e.g.,server 120 a,server 120 b, orserver 120 c). As such, symmetric routing is provided for the outgoing and incoming traffic since the traffic follows the same path throughactive router 140 a, round trip. - In certain embodiments,
TLOC extensions 160 are configured between one ormore routers 140. A TLOC is an attachment point where router 140 (e.g., a WAN edge router) connects to network 110 (e.g., a WAN transport network). In certain embodiments, the TLOC is uniquely identified and represented by a three-tuple (i.e., a system IP address, link color, and encapsulation (Generic Routing Encapsulation (GRE), IPsec, etc.)). A TLOC preference for one or more TLOCs may be set to a specific value to influence traffic flow. For example, in the event thatactive router 140 a andstandby router 140 b switch modes such thatstandby router 140 b operates in active mode andactive router 140 a operates in standby (e.g., bypass) mode, the TLOC preference forstandby router 140 b may be increased by a predetermined value (e.g., 1, 10, 20, etc.) to attract WAN-side traffic (e.g., traffic fromdestination server 120 d) directly tostandby router 140 b. As such, symmetric routing is provided for the traffic since the traffic follows the same path throughstandby router 140 b, round trip. - In some embodiments, FHRP is configured on one or
more routers 140. For example, FHRP may be configured onactive router 140 a andstandby router 140 b to attract LAN-side traffic. In certain embodiments, FHRP is used for site redundancy and acts as a default gateway forservers 120. Examples of FHRP include VRRP, Hot Standby Router Protocol (HSRP), Common Address Redundancy Protocol (CARP), Extreme Standby Router Protocol (ESRP), Gateway Load Balancing Protocol (GLBP), Routed Split multi-link trunking (R-SMLT), NetScreen Redundancy Protocol (NSRP), and Chassis Cluster Redundant Ethernet. - In certain embodiments, an FHRP priority (e.g., a VRRP priority) from 1 to 254 (100 may be the default) is configured on one or
more routers 140. In certain embodiments,router 140 with the highest FHRP priority within a redundancy group is elected as active (e.g., master) FHRP router. For example, ifactive router 140 a has an FHRP priority of 100 andstandby router 140 b has an FHRP priority of 90,active router 140 a may be elected as active FHRP router. As another example, ifactive router 140 a has an FHRP priority of 90 andstandby router 140 b has an FHRP priority of 100, a switchover may occur such thatactive router 140 a operates in standby (e.g., bypass) mode andstandby router 140 b operates in active (e.g., master) mode. If the FHRP priority ofactive router 140 a andstandby router 140 b is the same, thenrouter 140 with the higher IP address (e.g., LAN IP address) may be elected active router. - One or more portions of
system 100 may implement AAR. In certain embodiments, an AAR policy, which is a type of centralized data policy, is configured on a controller (e.g., a smart controller) withinsystem 100. The controller may automatically push the AAR policy to one ormore routers 140. In certain embodiments, AAR may be configured on one ormore tunnels 150 betweenrouters 140.Tunnels 150 are point-to-point links between components ofnetwork 110. In certain embodiments,tunnels 150 allow private network data to be communicated across a public network (e.g., the Internet).Tunnels 150 may include one or more SD-WAN tunnels, VPN tunnels, IP Security (IPSec) tunnels, SLA tunnels, GRE tunnels, a combination thereof, or any other suitable type of tunnel. In the illustrated embodiment ofFIG. 1 ,tunnels 150 includetunnel 150 a andtunnel 150 b.Tunnel 150 a provides a link betweenactive router 140 a androuter 140 c ofnetwork 110.Tunnel 150 b provides a link betweenstandby router 140 b androuter 140 c ofnetwork 110. - AAR tracks network and path characteristics. The network and path characteristics may include packet loss, latency, jitter, a load of a link, a cost of a link, the bandwidth of a link, and/or any other suitable network or path characteristic. The AAR characteristics may be used to compute optimal paths for data traffic in
network 110. The network and path characteristics may supplement standard routing parameters (e.g., route prefixes, metrics, link-state information, etc.) in determining traffic paths throughnetwork 110. - In certain embodiments, the AAR policy specifies performance characteristics (e.g., data plane tunnel performance characteristics) in the form an SLA. SLA defines the required packet loss, latency, and/or jitter conditions on a data plane connection that trigger the policy to take effect. AAR may be created/configured as follows: (1) configure an SLA class, which defines the required latency and loss for the traffic that is to be affected by a given application-aware routing policy; (2) configure an AAR policy, which specifies the traffic that is to belong to the SLA class; and (3) apply the AAR policy towards the desired overlay network sites.
- In some embodiments, AAR directs traffic based on an application's predetermined SLA and/or application profiles (e.g., user-defined application profiles). For example, traffic may be sent to
tunnels 150 withinnetwork 110 that have the required SLA characteristics to support an application. The SLA characteristics may include measurements for packet loss, latency, packet sequencing, connectivity, network availability, network performance, Domain Name System (DNS) lookup time, etc. In certain embodiments, AAR tracks the SLA characteristics of tunnels 150 (e.g., data plane SD-WAN tunnels) between routers 140 (e.g., SD-WAN routers). The collected SLA characteristics may be used to compute optimal paths for data traffic. In certain embodiments, the SLA characteristics are tracked, measured, and/or recorded by Bidirectional Forwarding Detection (BFD). In certain embodiments, an SLA next hop may be chosen for a given application based on the SLA characteristics associated withtunnels 150. - In certain embodiments, one or
more routers 140 may determine SLA characteristics for its associatedtunnels 150. For example,active router 140 a may measure SLA characteristics (e.g., loss, latency, and jitter) fortunnel 150 a located betweenactive router 140 a androuter 140 c. As another example,standby router 140 b may measure SLA characteristics (e.g., loss, latency, and jitter) fortunnel 150 b located betweenstandby router 140 b androuter 140 c. One ormore routers 140 ofsystem 100 may determine SLA characteristics for its associatedtunnels 150 in real-time, near real-time, or in any suitable interval (e.g., 1 second, 10 seconds, 10 minutes, etc.). - In certain embodiments,
active router 140 a determines SLA requirements for an application. The SLA requirements may provide a form of guarantee to customers with regard to a level of user experience. The SLA requirements may be specific to each application. For example, different types of applications (e.g., business-critical applications, enterprise resource management applications, customer relationship management applications, material requirements planning (mrp) applications, portals, client-server applications, etc.) may have different SLA requirements based on different business objectives. The SLA requirements may include requirements (e.g., threshold values) for delay, packet loss, jitter, packet sequencing, connectivity, network availability, network performance, DNS lookup time, and the like. -
Active router 140 a may determine SLA characteristics associated withtunnel 150 a foractive router 140 a.Active router 140 a may compare the SLA characteristics foractive router 140 a to the SLA requirements.Active router 140 a may determine SLA characteristics associated withtunnel 150 b forstandby router 140 b.Active router 140 a may compare the SLA characteristics forstandby router 140 b to the SLA requirements.Active router 140 a may then determine, based on the comparisons, which SLA characteristics satisfy the SLA requirements. Based on this determination,active router 140 a may decide whether to lower its FHRP priority (e.g., VRRP priority). - In certain embodiments,
active router 140 a determines that the SLA characteristics foractive router 140 a fail to satisfy the SLA requirements, and that the SLA characteristics forstandby router 140 b satisfy the SLA requirements. In response to this determination, the FHRP priority ofactive router 140 a may be lowered by one or more components ofsystem 100. For example, the FHRP priority ofactive router 140 a may be lowered by an increment of 10 from a first configured value (e.g., 100) to a second configured value (e.g., 90). - In certain embodiments, lowering the VRRP priority of
active router 140 a switchesactive router 140 a from active (e.g., master) mode to standby (e.g., bypass) mode withinnetwork 110. For example, if the VRRP priority ofactive router 140 a is lowered to a value that is less than the VRRP priority ofstandby router 140 b,active router 140 a may automatically switch from active to standby mode, andstandby router 140 b may automatically switch from standby to active mode. - In certain embodiments, if TLOC extensions are configured between
active router 140 a andstandby router 140 b, the TLOC preference forstandby router 140 b may be increased such thatstandby router 140 b attracts WAN-side traffic directly whilestandby router 140 b is operating in active mode. For example, network traffic may flow fromhost server 120 a, throughstandby router 140 b, throughrouter 140 c, and toserver 120 d. The network traffic may then flow in reverse fromdestination server 120 d, throughrouter 140 c, throughstandby router 140 b, and to hostserver 120 a without passing throughactive router 140 a, which provides for symmetrical routing. - In some embodiments, one or more network components of system 100 (e.g.,
active router 140 a) determines that the SLA characteristics foractive router 140 a fail to satisfy the SLA requirements, and that the SLA characteristics forstandby router 140 b also fail to satisfy the SLA requirements. In response to this determination, one or more network components ofsystem 100 may set the FHRP priority ofactive router 140 a and the FHRP priority ofstandby router 140 b to a same value. For example, one or more network components ofsystem 100 may lower the FHRP priority ofactive router 140 a to a particular value such that the FHRP priority ofactive router 140 a (e.g., 90) and the FHRP priority ofstandby router 140 b 9 (e.g., 90) are the same. Setting the FHRP priorities ofactive router 140 a andstandby router 140 b to the same value allows an FHRP election algorithm to automatically designateactive router 140 a andstandby router 140 b as either active or standby. - In operation, the FHRP priorities for
active router 140 a andstandby router 140 b ofsystem 100 are each initially set to 100. An FHRP election algorithm electsactive router 140 a as the active (e.g., master) router andstandby router 140 b as the standby (e.g., bypass) router.Active router 140 a determines SLA requirements (e.g., threshold values for jitter, latency, and packet loss) for an application.Active router 140 a determines SLA characteristics associated withactive router 140 a. For example,active router 140 a may determine performance metrics for jitter, latency, and packet loss) fortunnel 150 a located betweenactive router 140 a androuter 140 c ofsystem 100.Active router 140 a compares the SLA characteristics associated withactive router 140 a to the SLA requirements and determines that the SLA characteristics associated withactive router 140 a fail to satisfy the SLA requirements.Active router 140 a determines SLA characteristics associated withstandby router 140 b, compares the SLA characteristics associated withstandby router 140 b to the SLA requirements, and determines that the SLA characteristics associated withstandby router 140 b satisfy the SLA requirements. In response to these determinations,active router 140 a lowers its FHRP priority to a value lower than the FHRP priority value ofstandby router 140 b, which initiates an FHRP switchover. After the switchover,active router 140 a becomes standby andstandby router 140 b becomes active withinnetwork 110. If TLOC extensions are configured betweenactive router 140 a andstandby router 140 b, the TLOC preference ofstandby router 140 b is increased by a predetermined value (e.g., 20) to attract WAN-side traffic (e.g., traffic fromrouter 140 c) tostandby router 140 b, which may provide for symmetric routing. - Although
FIG. 1 illustrates a particular arrangement ofnetwork 110,servers 120,switch 130,routers 140,tunnels 150, andTLOC extensions 160, this disclosure contemplates any suitable arrangement ofnetwork 110,servers 120,switch 130,routers 140,tunnels 150, andTLOC extensions 160. For example,server 120 d may be connected torouter 140 d orrouter 140 e. As another example, in certain embodiments,active router 140 a may operate as a standby router. As still another example,standby router 140 b may operate as an active router. AlthoughFIG. 1 illustrates a particular number ofnetworks 110,servers 120, switches 130,routers 140,tunnels 150, andTLOC extensions 160, this disclosure contemplates any suitable number ofnetworks 110,servers 120, switches 130,routers 140,tunnels 150, andTLOC extensions 160. For example,system 100 may include more or less than threeservers 120, more than oneswitch 130, and/or more than fiverouters 140. -
FIG. 2 illustrates anexample method 200 for determining a FHRP switchover.Method 200 begins atstep 205. Atstep 210, a network component (e.g.,active router 140 a ofFIG. 1 ) determines SLA requirements for an application. The SLA requirements may include threshold values for jitter, latency, and packet loss for the application.Method 200 then moves fromstep 210 to step 215, where the network component establishes a first router (e.g.,active router 140 a ofFIG. 1 ) operating in an active (e.g., master) mode within a network (e.g.,network 110 ofFIG. 1 ). In certain embodiments, the network component increases the TLOC preference of the first router. For example, the network component may increase the TLOC preference from a TLOC default value (e.g., 1) to the TLOC default value plus 1 (e.g., 2).Method 200 then moves fromstep 215 to step 220. - At
step 220 ofmethod 200, the network component establishes a second router (e.g.,standby router 140 b ofFIG. 1 ) operating in a standby (e.g., bypass) mode within the network. In certain embodiments, the TLOC preference of the second router is the TLOC default value (e.g., 1).Method 200 then moves fromstep 220 to step 225, where the network component generates first SLA characteristics for the first router while the first router is operating in active mode within the network. The first router may have an FHRP priority (e.g., a VRRP priority) set to a first predetermined value (e.g., 100). The first SLA characteristics may include performance metrics associated with jitter, latency, and packet loss for one or more tunnels (e.g.,tunnel 150 a ofFIG. 1 ) associated with the first router.Method 200 then moves fromstep 225 to step 230, where the network component compares the first SLA characteristics for the first router to the SLA requirements.Method 200 then moves fromstep 230 to step 235. - At
step 235 ofmethod 200, the network component determines second SLA characteristics for the second router while the second router is operating in standby (e.g., bypass) mode within the network. The second SLA characteristics may include performance metrics associated with jitter, latency, and packet loss for one or more tunnels (e.g.,tunnel 150 b ofFIG. 1 ) associated with the second router. The second router may have an FHRP priority (e.g., a VRRP priority) set to the first predetermined value (e.g., 100).Method 200 then moves fromstep 235 to step 240, where the network component compares the second SLA characteristics for the second router to the SLA requirements.Method 200 then moves fromstep 240 to step 245. - At
step 245 ofmethod 200, the network component determines whether the first SLA characteristics for the first router satisfy the SLA requirements. If the network component determines that the first SLA characteristics for the first router satisfy the SLA requirements,method 200 advances fromstep 245 to step 275, wheremethod 200 ends. If, atstep 245, the network component determines that the first SLA characteristics for the first router fail to satisfy the SLA requirements,method 200 moves fromstep 245 to step 250, where the network component lowers the FHRP priority of the first router. For example, the network component may lower the FHRP priority of the first router from the first predetermined value (e.g., 100) to a second predetermined value (e.g., 90).Method 200 then moves fromstep 250 to step 255. - At
step 255 ofmethod 200, the network component determines whether the second SLA characteristics for the second router satisfy the SLA requirements. If the network component determines that the second SLA characteristics for the second router fail to satisfy the SLA requirements,method 200 movers fromstep 255 to step 260, where the network component lowers the FHRP priority of the second router. For example, the network component may lower the FHRP priority of the second router from the first predetermined value (e.g., 100) to the second predetermined value (e.g., 90) such the that FHRP priority of the second router is set to the same value as the FHRP priority of the first router. Setting the VRRP priorities to the same value allows the FHRP election algorithm to automatically designate the first router and the second router as active/standby.Method 200 then moves fromstep 265 to step 275, wheremethod 200 ends. - If, at
step 255, the second SLA characteristics for the second router satisfy the SLA requirements, an FHRP switchover is initiated in response to the FHRP priority of the first router being less than the FHRP priority of the second router.Method 200 advances fromstep 255 to step 265, where the first router automatically switches from active (e.g., master) mode to standby (e.g., bypass) mode. In certain embodiments, atstep 265, the network component lowers the TLOC preference of the first router. For example, the network component may lower the TLOC preference from the TLOC default value plus 1 (e.g., 2) to the TLOC default value (e.g., 1).Method 200 moves fromstep 265 to step 270, where the second router automatically switches from standby (e.g., bypass) mode to active (e.g., master) mode. In certain embodiments, atstep 270, the network component increases the TLOC preference of the second router. For example, the network component may increase the TLOC preference from the TLOC default value (e.g., 1) to the TLOC default value plus 1 (e.g., 2). Increasing the TLOC preference for the second router to a value higher than the TLOC preference of the first router allows the second router to attract WAN-side traffic while the second router is in active mode, which may provide for symmetric routing.Method 200 then moves fromstep 270 to step 275, wheremethod 200 ends. - Although this disclosure describes and illustrates particular steps of the method of
FIG. 2 as occurring in a particular order, this disclosure contemplates any suitable steps of the method ofFIG. 2 occurring in any suitable order. For example, steps 265 and 270 may be switched, or may occur simultaneously, in certain embodiments. Moreover, although this disclosure describes and illustrates an example method for determining FHRP switchover including the particular steps of the method ofFIG. 2 , this disclosure contemplates any suitable method for determining FHRP switchover including any suitable steps, which may include all, some, or none of the steps of the method ofFIG. 2 , where appropriate. Furthermore, although this disclosure describes and illustrates particular components, devices, or systems carrying out particular steps of the method ofFIG. 2 , this disclosure contemplates any suitable combination of any suitable components, devices, or systems carrying out any suitable steps of the method ofFIG. 2 . -
FIG. 3 illustrates anexample computer system 300. In particular embodiments, one ormore computer systems 300 perform one or more steps of one or more methods described or illustrated herein. In particular embodiments, one ormore computer systems 300 provide functionality described or illustrated herein. In particular embodiments, software running on one ormore computer systems 300 performs one or more steps of one or more methods described or illustrated herein or provides functionality described or illustrated herein. Particular embodiments include one or more portions of one ormore computer systems 300. Herein, reference to a computer system may encompass a computing device, and vice versa, where appropriate. Moreover, reference to a computer system may encompass one or more computer systems, where appropriate. - This disclosure contemplates any suitable number of
computer systems 300. This disclosure contemplatescomputer system 300 taking any suitable physical form. As example and not by way of limitation,computer system 300 may be an embedded computer system, a system-on-chip (SOC), a single-board computer system (SBC) (such as, for example, a computer-on-module (COM) or system-on-module (SOM)), a desktop computer system, a laptop or notebook computer system, an interactive kiosk, a mainframe, a mesh of computer systems, a mobile telephone, a personal digital assistant (PDA), a server, a tablet computer system, an augmented/virtual reality device, or a combination of two or more of these. Where appropriate,computer system 300 may include one ormore computer systems 300; be unitary or distributed; span multiple locations; span multiple machines; span multiple data centers; or reside in a cloud, which may include one or more cloud components in one or more networks. Where appropriate, one ormore computer systems 300 may perform without substantial spatial or temporal limitation one or more steps of one or more methods described or illustrated herein. As an example and not by way of limitation, one ormore computer systems 300 may perform in real time or in batch mode one or more steps of one or more methods described or illustrated herein. One ormore computer systems 300 may perform at different times or at different locations one or more steps of one or more methods described or illustrated herein, where appropriate. - In particular embodiments,
computer system 300 includes aprocessor 302,memory 304,storage 306, an input/output (I/O)interface 308, acommunication interface 310, and abus 312. Although this disclosure describes and illustrates a particular computer system having a particular number of particular components in a particular arrangement, this disclosure contemplates any suitable computer system having any suitable number of any suitable components in any suitable arrangement. - In particular embodiments,
processor 302 includes hardware for executing instructions, such as those making up a computer program. As an example and not by way of limitation, to execute instructions,processor 302 may retrieve (or fetch) the instructions from an internal register, an internal cache,memory 304, orstorage 306; decode and execute them; and then write one or more results to an internal register, an internal cache,memory 304, orstorage 306. In particular embodiments,processor 302 may include one or more internal caches for data, instructions, or addresses. This disclosure contemplatesprocessor 302 including any suitable number of any suitable internal caches, where appropriate. As an example and not by way of limitation,processor 302 may include one or more instruction caches, one or more data caches, and one or more translation lookaside buffers (TLBs). Instructions in the instruction caches may be copies of instructions inmemory 304 orstorage 306, and the instruction caches may speed up retrieval of those instructions byprocessor 302. Data in the data caches may be copies of data inmemory 304 orstorage 306 for instructions executing atprocessor 302 to operate on; the results of previous instructions executed atprocessor 302 for access by subsequent instructions executing atprocessor 302 or for writing tomemory 304 orstorage 306; or other suitable data. The data caches may speed up read or write operations byprocessor 302. The TLBs may speed up virtual-address translation forprocessor 302. In particular embodiments,processor 302 may include one or more internal registers for data, instructions, or addresses. This disclosure contemplatesprocessor 302 including any suitable number of any suitable internal registers, where appropriate. Where appropriate,processor 302 may include one or more arithmetic logic units (ALUs); be a multi-core processor; or include one ormore processors 302. Although this disclosure describes and illustrates a particular processor, this disclosure contemplates any suitable processor. - In particular embodiments,
memory 304 includes main memory for storing instructions forprocessor 302 to execute or data forprocessor 302 to operate on. As an example and not by way of limitation,computer system 300 may load instructions fromstorage 306 or another source (such as, for example, another computer system 300) tomemory 304.Processor 302 may then load the instructions frommemory 304 to an internal register or internal cache. To execute the instructions,processor 302 may retrieve the instructions from the internal register or internal cache and decode them. During or after execution of the instructions,processor 302 may write one or more results (which may be intermediate or final results) to the internal register or internal cache.Processor 302 may then write one or more of those results tomemory 304. In particular embodiments,processor 302 executes only instructions in one or more internal registers or internal caches or in memory 304 (as opposed tostorage 306 or elsewhere) and operates only on data in one or more internal registers or internal caches or in memory 304 (as opposed tostorage 306 or elsewhere). One or more memory buses (which may each include an address bus and a data bus) may coupleprocessor 302 tomemory 304.Bus 312 may include one or more memory buses, as described below. In particular embodiments, one or more memory management units (MMUs) reside betweenprocessor 302 andmemory 304 and facilitate accesses tomemory 304 requested byprocessor 302. In particular embodiments,memory 304 includes random access memory (RAM). This RAM may be volatile memory, where appropriate. Where appropriate, this RAM may be dynamic RAM (DRAM) or static RAM (SRAM). Moreover, where appropriate, this RAM may be single-ported or multi-ported RAM. This disclosure contemplates any suitable RAM.Memory 304 may include one ormore memories 304, where appropriate. Although this disclosure describes and illustrates particular memory, this disclosure contemplates any suitable memory. - In particular embodiments,
storage 306 includes mass storage for data or instructions. As an example and not by way of limitation,storage 306 may include a hard disk drive (HDD), a floppy disk drive, flash memory, an optical disc, a magneto-optical disc, magnetic tape, or a Universal Serial Bus (USB) drive or a combination of two or more of these.Storage 306 may include removable or non-removable (or fixed) media, where appropriate.Storage 306 may be internal or external tocomputer system 300, where appropriate. In particular embodiments,storage 306 is non-volatile, solid-state memory. In particular embodiments,storage 306 includes read-only memory (ROM). Where appropriate, this ROM may be mask-programmed ROM, programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), electrically alterable ROM (EAROM), or flash memory or a combination of two or more of these. This disclosure contemplatesmass storage 306 taking any suitable physical form.Storage 306 may include one or more storage control units facilitating communication betweenprocessor 302 andstorage 306, where appropriate. Where appropriate,storage 306 may include one ormore storages 306. Although this disclosure describes and illustrates particular storage, this disclosure contemplates any suitable storage. - In particular embodiments, I/
O interface 308 includes hardware, software, or both, providing one or more interfaces for communication betweencomputer system 300 and one or more I/O devices.Computer system 300 may include one or more of these I/O devices, where appropriate. One or more of these I/O devices may enable communication between a person andcomputer system 300. As an example and not by way of limitation, an I/O device may include a keyboard, keypad, microphone, monitor, mouse, printer, scanner, speaker, still camera, stylus, tablet, touch screen, trackball, video camera, another suitable I/O device or a combination of two or more of these. An I/O device may include one or more sensors. This disclosure contemplates any suitable I/O devices and any suitable I/O interfaces 308 for them. Where appropriate, I/O interface 308 may include one or more device or softwaredrivers enabling processor 302 to drive one or more of these I/O devices. I/O interface 308 may include one or more I/O interfaces 308, where appropriate. Although this disclosure describes and illustrates a particular I/O interface, this disclosure contemplates any suitable I/O interface. - In particular embodiments,
communication interface 310 includes hardware, software, or both providing one or more interfaces for communication (such as, for example, packet-based communication) betweencomputer system 300 and one or moreother computer systems 300 or one or more networks. As an example and not by way of limitation,communication interface 310 may include a network interface controller (NIC) or network adapter for communicating with an Ethernet or other wire-based network or a wireless NIC (WNIC) or wireless adapter for communicating with a wireless network, such as a WI-FI network. This disclosure contemplates any suitable network and anysuitable communication interface 310 for it. As an example and not by way of limitation,computer system 300 may communicate with an ad hoc network, a personal area network (PAN), a LAN, a WAN, a MAN, or one or more portions of the Internet or a combination of two or more of these. One or more portions of one or more of these networks may be wired or wireless. As an example,computer system 300 may communicate with a wireless PAN (WPAN) (such as, for example, a BLUETOOTH WPAN), a WI-FI network, a WI-MAX network, a cellular telephone network (such as, for example, a Global System for Mobile Communications (GSM) network, a 3G network, a 4G network, a 5G network, an LTE network, or other suitable wireless network or a combination of two or more of these.Computer system 300 may include anysuitable communication interface 310 for any of these networks, where appropriate.Communication interface 310 may include one ormore communication interfaces 310, where appropriate. Although this disclosure describes and illustrates a particular communication interface, this disclosure contemplates any suitable communication interface. - In particular embodiments,
bus 312 includes hardware, software, or both coupling components ofcomputer system 300 to each other. As an example and not by way of limitation,bus 312 may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a front-side bus (FSB), a HYPERTRANSPORT (HT) interconnect, an Industry Standard Architecture (ISA) bus, an INFINIBAND interconnect, a low-pin-count (LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCIe) bus, a serial advanced technology attachment (SATA) bus, a Video Electronics Standards Association local (VLB) bus, or another suitable bus or a combination of two or more of these.Bus 312 may include one ormore buses 312, where appropriate. Although this disclosure describes and illustrates a particular bus, this disclosure contemplates any suitable bus or interconnect. - Herein, a computer-readable non-transitory storage medium or media may include one or more semiconductor-based or other integrated circuits (ICs) (such, as for example, field-programmable gate arrays (FPGAs) or application-specific ICs (ASICs)), hard disk drives (HDDs), hybrid hard drives (HHDs), optical discs, optical disc drives (ODDs), magneto-optical discs, magneto-optical drives, floppy diskettes, floppy disk drives (FDDs), magnetic tapes, solid-state drives (SSDs), RAM-drives, SECURE DIGITAL cards or drives, any other suitable computer-readable non-transitory storage media, or any suitable combination of two or more of these, where appropriate. A computer-readable non-transitory storage medium may be volatile, non-volatile, or a combination of volatile and non-volatile, where appropriate.
- Herein, “or” is inclusive and not exclusive, unless expressly indicated otherwise or indicated otherwise by context. Therefore, herein, “A or B” means “A, B, or both,” unless expressly indicated otherwise or indicated otherwise by context. Moreover, “and” is both joint and several, unless expressly indicated otherwise or indicated otherwise by context. Therefore, herein, “A and B” means “A and B, jointly or severally,” unless expressly indicated otherwise or indicated otherwise by context.
- The scope of this disclosure encompasses all changes, substitutions, variations, alterations, and modifications to the example embodiments described or illustrated herein that a person having ordinary skill in the art would comprehend. The scope of this disclosure is not limited to the example embodiments described or illustrated herein. Moreover, although this disclosure describes and illustrates respective embodiments herein as including particular components, elements, feature, functions, operations, or steps, any of these embodiments may include any combination or permutation of any of the components, elements, features, functions, operations, or steps described or illustrated anywhere herein that a person having ordinary skill in the art would comprehend. Furthermore, reference in the appended claims to an apparatus or system or a component of an apparatus or system being adapted to, arranged to, capable of, configured to, enabled to, operable to, or operative to perform a particular function encompasses that apparatus, system, component, whether or not it or that particular function is activated, turned on, or unlocked, as long as that apparatus, system, or component is so adapted, arranged, capable, configured, enabled, operable, or operative. Additionally, although this disclosure describes or illustrates particular embodiments as providing particular advantages, particular embodiments may provide none, some, or all of these advantages.
Claims (20)
1. A first router, comprising:
one or more processors; and
one or more computer-readable non-transitory storage media coupled to the one or more processors and comprising instructions that, when executed by the one or more processors, cause the first router to perform operations comprising:
determining service level agreement (SLA) requirements for an application;
generating first SLA characteristics for the first router, wherein the first router is in an active mode within a network;
comparing the first SLA characteristics for the first router to the SLA requirements;
determining second SLA characteristics for a second router, wherein the second router is in a standby mode within the network;
comparing the second SLA characteristics for the second router to the SLA requirements;
determining that the first SLA characteristics for the first router fail to satisfy the SLA requirements; and
determining, in response to determining that the first SLA characteristics for the first router fail to satisfy the SLA requirements, to lower a first hop redundancy protocol (FHRP) priority of the first router.
2. The first router of claim 1 , the operations further comprising:
determining that the second SLA characteristics for the second router satisfy the SLA requirements;
lowering the FHRP priority of the first router such that the FHRP priority of the first router is less than the FHRP priority of the second router; and
switching, based on the FHRP priority of the first router and the second router, the first router from the active mode to the standby mode within the network.
3. The first router of claim 2 , the operations further comprising:
determining that transport location (TLOC) extensions are configured between the first router and the second router;
determining to switch, based on the FHRP priority of the first router being less than the FHRP priority of the second router, the second router from the standby mode to the active mode within the network; and
determining to increase a TLOC preference for the second router.
4. The first router of claim 1 , the operations further comprising, while the first router is in the active mode:
receiving outgoing traffic associated with the application from a host server;
communicating the outgoing traffic associated with the application to a destination server;
receiving incoming traffic from the destination server; and
communicating the incoming traffic to the host server.
5. The first router of claim 1 , the operations further comprising:
determining that the second SLA characteristics for the second router fail to satisfy the SLA requirements; and
lowering the FHRP priority of the first router such that the FHRP priority of the first router and the FHRP priority of the second are set to a same value.
6. The first router of claim 1 , wherein:
the SLA requirements comprise threshold values for jitter, latency, and packet loss; and
the first SLA characteristics and the second SLA characteristics comprise performance metrics associated with jitter, latency, and packet loss.
7. The first router of claim 1 , wherein:
the network is a software-defined wide area network (SD-WAN);
the FHRP priority is a Virtual Router Redundancy Protocol (VRRP) priority; and
the first router and the second router are located in a data center.
8. A method, comprising:
determining, by a first router, service level agreement (SLA) requirements for an application;
generating, by the first router, first SLA characteristics for the first router, wherein the first router is in an active mode within a network;
comparing, by the first router, the first SLA characteristics for the first router to the SLA requirements;
determining, by the first router, second SLA characteristics for a second router, wherein the second router is in a standby mode within the network;
comparing, by the first router, the second SLA characteristics for the second router to the SLA requirements;
determining, by the first router, that the first SLA characteristics for the first router fail to satisfy the SLA requirements; and
determining, by the first router and in response to determining that the first SLA characteristics for the first router fail to satisfy the SLA requirements, to lower a first hop redundancy protocol (FHRP) priority of the first router.
9. The method of claim 8 , further comprising:
determining that the second SLA characteristics for the second router satisfy the SLA requirements;
lowering the FHRP priority of the first router such that the FHRP priority of the first router is less than the FHRP priority of the second router; and
switching, by the first router and based on the FHRP priority of the first router and the second router, the first router from the active mode to the standby mode within the network.
10. The method of claim 9 , further comprising:
determining that transport location (TLOC) extensions are configured between the first router and the second router;
determining to switch, based on the FHRP priority of the first router being less than the FHRP priority of the second router, the second router from the standby mode to the active mode within the network; and
determining to increase a TLOC preference for the second router.
11. The method of claim 8 , further comprising, while the first router is in the active mode:
receiving, by the first router, outgoing traffic associated with the application from a host server;
communicating, by the first router, the outgoing traffic associated with the application to a destination server;
receiving, by the first router, incoming traffic from the destination server; and
communicating the incoming traffic to the host server.
12. The method of claim 8 , further comprising:
determining, by the first router, that the second SLA characteristics for the second router fail to satisfy the SLA requirements; and
lowering, by the first router, the FHRP priority of the first router such that the FHRP priority of the first router and the FHRP priority of the second are set to a same value.
13. The method of claim 8 , wherein:
the SLA requirements comprise threshold values for jitter, latency, and packet loss; and
the first SLA characteristics and the second SLA characteristics comprise performance metrics associated with jitter, latency, and packet loss.
14. The method of claim 8 , wherein:
the network is a software-defined wide area network (SD-WAN);
the FHRP priority is a Virtual Router Redundancy Protocol (VRRP) priority; and
the first router and the second router are located in a data center.
15. One or more computer-readable non-transitory storage media embodying instructions that, when executed by a processor, cause the processor to perform operations comprising:
determining service level agreement (SLA) requirements for an application;
generating first SLA characteristics for a first router, wherein the first router is in an active mode within a network;
comparing the first SLA characteristics for the first router to the SLA requirements;
determining second SLA characteristics for a second router, wherein the second router is in a standby mode within the network;
comparing the second SLA characteristics for the second router to the SLA requirements;
determining that the first SLA characteristics for the first router fail to satisfy the SLA requirements; and
determining, in response to determining that the first SLA characteristics for the first router fail to satisfy the SLA requirements, to lower a first hop redundancy protocol (FHRP) priority of the first router.
16. The one or more computer-readable non-transitory storage media of claim 15 , the operations further comprising:
determining that the second SLA characteristics for the second router satisfy the SLA requirements;
lowering the FHRP priority of the first router such that the FHRP priority of the first router is less than the FHRP priority of the second router; and
switching, based on the FHRP priority of the first router and the second router, the first router from the active mode to the standby mode within the network.
17. The one or more computer-readable non-transitory storage media of claim 16 , the operations further comprising:
determining that transport location (TLOC) extensions are configured between the first router and the second router;
determining to switch, based on the FHRP priority of the first router being less than the FHRP priority of the second router, the second router from the standby mode to the active mode within the network; and
determining to increase a TLOC preference for the second router.
18. The one or more computer-readable non-transitory storage media of claim 15 , the operations further comprising, while the first router is in the active mode:
receiving outgoing traffic associated with the application from a host server;
communicating the outgoing traffic associated with the application to a destination server;
receiving incoming traffic from the destination server; and
communicating the incoming traffic to the host server.
19. The one or more computer-readable non-transitory storage media of claim 15 , the operations further comprising:
determining that the second SLA characteristics for the second router fail to satisfy the SLA requirements; and
lowering the FHRP priority of the first router such that the FHRP priority of the first router and the FHRP priority of the second are set to a same value.
20. The one or more computer-readable non-transitory storage media of claim 15 , wherein:
the SLA requirements comprise threshold values for jitter, latency, and packet loss; and
the first SLA characteristics and the second SLA characteristics comprise performance metrics associated with jitter, latency, and packet loss.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/997,203 US11265240B1 (en) | 2020-08-19 | 2020-08-19 | Systems and methods for determining FHRP switchover |
US17/681,911 US11716279B2 (en) | 2020-08-19 | 2022-02-28 | Systems and methods for determining FHRP switchover |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/997,203 US11265240B1 (en) | 2020-08-19 | 2020-08-19 | Systems and methods for determining FHRP switchover |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/681,911 Continuation US11716279B2 (en) | 2020-08-19 | 2022-02-28 | Systems and methods for determining FHRP switchover |
Publications (2)
Publication Number | Publication Date |
---|---|
US20220060408A1 true US20220060408A1 (en) | 2022-02-24 |
US11265240B1 US11265240B1 (en) | 2022-03-01 |
Family
ID=80270236
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/997,203 Active US11265240B1 (en) | 2020-08-19 | 2020-08-19 | Systems and methods for determining FHRP switchover |
US17/681,911 Active US11716279B2 (en) | 2020-08-19 | 2022-02-28 | Systems and methods for determining FHRP switchover |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/681,911 Active US11716279B2 (en) | 2020-08-19 | 2022-02-28 | Systems and methods for determining FHRP switchover |
Country Status (1)
Country | Link |
---|---|
US (2) | US11265240B1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11374849B1 (en) * | 2020-12-18 | 2022-06-28 | Versa Networks, Inc. | High availability router switchover decision using monitoring and policies |
US20230059537A1 (en) * | 2021-08-19 | 2023-02-23 | Versa Networks, Inc. | Path selection for data traffic within a software-defined wide area network using traffic metrics |
CN116248581A (en) * | 2022-12-29 | 2023-06-09 | 天翼云科技有限公司 | Cloud scene gateway cluster master-slave switching method and system based on SDN |
US20230198830A1 (en) * | 2021-12-14 | 2023-06-22 | Celona, Inc. | Method and Apparatus for Implementation and Use of High Availability Clusters |
WO2024049853A1 (en) * | 2022-08-29 | 2024-03-07 | Vmware, Inc. | Split control plane for private mobile network |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11929849B1 (en) | 2023-03-28 | 2024-03-12 | Cisco Technology, Inc. | Symmetric routing in software-defined networks |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7702732B1 (en) * | 1999-09-29 | 2010-04-20 | Nortel Networks Limited | Methods for auto-configuring a router on an IP subnet |
US7990852B1 (en) * | 2008-08-14 | 2011-08-02 | Tellabs San Jose, Inc. | Methods and apparatus for improving network communication using BFD and VRRP tracking system |
US9055139B1 (en) * | 2012-03-12 | 2015-06-09 | Cisco Technology, Inc. | Display protocol interception in the network for services and network-based multimedia support for VDI |
US9571603B2 (en) * | 2013-09-17 | 2017-02-14 | Cisco Technology, Inc. | Redundancy network protocol system |
JP6160446B2 (en) * | 2013-10-31 | 2017-07-12 | 富士通株式会社 | Information processing apparatus, information processing system, and information processing method |
US9497104B2 (en) * | 2014-01-14 | 2016-11-15 | Cisco Technology, Inc. | Dynamic update of routing metric for use in routing return traffic in FHRP environment |
US9887874B2 (en) * | 2014-05-13 | 2018-02-06 | Cisco Technology, Inc. | Soft rerouting in a network using predictive reliability metrics |
CN107078921A (en) | 2014-09-16 | 2017-08-18 | 云端吉尼斯公司 | The method and system for characterizing, monitoring and controlling for the Network that strategy is driven based on commercial intention |
US9985875B1 (en) | 2015-03-31 | 2018-05-29 | Juniper Networks, Inc. | Route signalling based resilient application overlay network |
US10298490B2 (en) * | 2015-12-09 | 2019-05-21 | Cisco Technology, Inc. | Coexistence and migration of legacy ethernet and overlay networks |
WO2017144957A1 (en) * | 2016-02-26 | 2017-08-31 | Telefonaktiebolaget Lm Ericsson (Publ) | Dynamic re-route in a redundant system of a packet network |
CN106100987B (en) | 2016-08-08 | 2019-06-07 | 杭州迪普科技股份有限公司 | A kind of active router based on VRRP agreement switches the method and device of secondary router |
US10567252B1 (en) * | 2016-12-28 | 2020-02-18 | Equinix, Inc. | Network connection service high availability evaluation for co-location facilities |
US20190036814A1 (en) * | 2017-07-31 | 2019-01-31 | Cisco Technology, Inc. | Traffic steering with path ordering |
US10681091B2 (en) | 2018-07-31 | 2020-06-09 | Juniper Networks, Inc. | N:1 stateful application gateway redundancy model |
-
2020
- 2020-08-19 US US16/997,203 patent/US11265240B1/en active Active
-
2022
- 2022-02-28 US US17/681,911 patent/US11716279B2/en active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11374849B1 (en) * | 2020-12-18 | 2022-06-28 | Versa Networks, Inc. | High availability router switchover decision using monitoring and policies |
US20230059537A1 (en) * | 2021-08-19 | 2023-02-23 | Versa Networks, Inc. | Path selection for data traffic within a software-defined wide area network using traffic metrics |
US11956142B2 (en) * | 2021-08-19 | 2024-04-09 | Versa Networks, Inc. | Path selection for data traffic within a software-defined wide area network using traffic metrics |
US20230198830A1 (en) * | 2021-12-14 | 2023-06-22 | Celona, Inc. | Method and Apparatus for Implementation and Use of High Availability Clusters |
WO2024049853A1 (en) * | 2022-08-29 | 2024-03-07 | Vmware, Inc. | Split control plane for private mobile network |
CN116248581A (en) * | 2022-12-29 | 2023-06-09 | 天翼云科技有限公司 | Cloud scene gateway cluster master-slave switching method and system based on SDN |
Also Published As
Publication number | Publication date |
---|---|
US11716279B2 (en) | 2023-08-01 |
US11265240B1 (en) | 2022-03-01 |
US20220182313A1 (en) | 2022-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11716279B2 (en) | Systems and methods for determining FHRP switchover | |
US11258628B2 (en) | Plug and play at sites using TLOC-extension | |
US20230261981A1 (en) | Group-based policies for inter-domain traffic | |
US20220337499A1 (en) | Systems and methods for determining network component scores using bandwidth capacity | |
US11882034B2 (en) | Systems and methods for determining energy efficiency quotients | |
US20240205138A1 (en) | Systems and methods for determining problematic paths between interest points in a multi-cloud environment | |
US11336549B2 (en) | Systems and methods for dynamically optimizing TCP flow in WAN networks | |
US11582137B1 (en) | Systems and methods for extending application-aware routing to improve site encryption throughput performance | |
US20210377221A1 (en) | Systems and Methods for Costing In Nodes after Policy Plane Convergence | |
US11546247B2 (en) | Fast convergence in access networks | |
US11824770B2 (en) | Systems and methods for asymmetrical peer forwarding in an SD-WAN environment | |
US20230188460A1 (en) | Ultimate Regional Fallback Path for Hierarchical SD-WAN | |
US20240056379A1 (en) | System and Method for EVPN Multicast Optimization for Source Handling | |
US11778038B2 (en) | Systems and methods for sharing a control connection | |
US20230336480A1 (en) | Efficient Handling of Fragmented Packets in Multi-Node All-Active Clusters | |
US12021746B2 (en) | Inter-working of a software-defined wide-area network (SD-WAN) domain and a segment routing (SR) domain | |
WO2023107850A1 (en) | Systems and methods for asymmetrical peer forwarding in an sd-wan environment | |
US20230327994A1 (en) | Systems and Methods for Handling Asymmetric SDWAN Traffic Flows | |
WO2023107827A1 (en) | Ultimate regional fallback path for hierarchical sd-wan | |
WO2023204984A1 (en) | Efficient handling of fragmented packets in multi-node all-active clusters | |
WO2023114649A1 (en) | Method for sharing a control connection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CISCO TECHNOLOGY, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MANICKAM, ARUL MURUGAN;HALAPPA, BASAVARAJU M.;CHIGURUPATI, PRASAD;AND OTHERS;REEL/FRAME:053538/0541 Effective date: 20200813 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |