First-hop gateway redundancy in network computing environments

First-hop gateway redundancy with BGP signaling and multi-chassis bonded interfaces addresses inefficiencies in leaf-spine networks, ensuring reliable and efficient data routing by automatically handling link failures.

JP7727787B2Active Publication Date: 2025-08-21ARRCUS INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024066370
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2018-08-23
Filing Date
2024-04-16
Publication Date
2025-08-21
Estimated Expiration
2039-08-23

AI Technical Summary

Technical Problem

Traditional leaf-spine network topologies face inefficiencies and data loops when leaf nodes become inactive, necessitating improved routing protocols.

Method used

Implementing first-hop gateway redundancy with multi-chassis bonded interfaces and Border Gateway Protocol (BGP) signaling between switches to ensure optimal path redundancy and efficient data routing.

Benefits of technology

Enhances network reliability and reduces data loops by providing automatic path redundancy and efficient routing in leaf-spine network topologies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007727787000001
    Figure 0007727787000001
  • Figure 0007727787000002
    Figure 0007727787000002
  • Figure 0007727787000003
    Figure 0007727787000003
Patent Text Reader

Abstract

To provide a system, a method, and a device for improved routing operations in a network computing environment.SOLUTION: A system includes a first switch T1 and a second switch T2 in a network topology, a host virtual machine communicating with at least one of the first switch and the second switch, and a routed peer link connecting the first switch to the second switch. In the system, the first switch and the second switch have the same Internet Protocol (IP) address and Media Access Control (MAC) address, and when a communication link between the host virtual machine and either the first switch or the second switch fails, the first switch and the second switch synchronize their Address Resolution Protocol (ARP) tables and advertise the IP address as a next hop for the host virtual machine.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to U.S. Provisional Patent Application No. 62 / 722,003, entitled "DATABASE SYSTEMS METHODS AND DEVICES," filed August 23, 2018, which is incorporated herein by reference in its entirety, including but not limited to, the portions specifically set forth below, with the following exception: In the event that any portion of said application conflicts with this application, the contents of this application take precedence over said application.

[0002] The present disclosure relates to computing networks, and more particularly to network topologies and routing protocols in computer network environments. [Background technology]

[0003] Network computing is a means by which multiple computers, or nodes, cooperate and communicate with each other over a network. These include wide area networks (WANs) and local area networks (LANs). Both wide area networks and local area networks allow computers to connect to each other. Local area networks are typically used for smaller, localized networks, such as homes, businesses, and schools. Wide area networks cover large areas, such as cities, and can even connect computers in different countries. Local area networks are typically faster and more secure than wide area networks, but wide area networks allow for broader connectivity. Local area networks are typically owned, controlled, and managed within the organization in which they are deployed, while wide area networks typically require the connection of two or more constituent local area networks, either via the public Internet or private connections established by a telecommunications provider.

[0004] Local and wide area networks connect computers together and allow the transfer of data and other information. Both local and wide area networks require a means of determining the path along which data should be passed from one computing instance to another. This is also known as routing. Routing is the process of selecting a path for traffic within a network, between networks, or across networks. The routing process typically directs forwarding based on routing tables, which maintain records of routes to various network destinations. Routing tables may be specified by an administrator, learned by monitoring network traffic, or constructed with the assistance of a routing protocol.

[0005] Small networks can use manually configured routing tables to determine how information is transferred from one computer to another. Routing tables can contain a list of "best paths," indicating the most efficient or most desirable paths between a starting computer and a final destination computer. Larger networks, including those connected to the public Internet, can rely on complex topologies that can change rapidly, making manual construction of routing tables impossible. Dynamic routing attempts to solve this problem by automatically constructing routing tables based on information conveyed by routing protocols. Dynamic routing allows networks to operate largely autonomously, avoiding network failures or blockages. Several routing protocols exist that provide rules or instructions for determining the best path between network devices. Dynamic routing protocols and algorithms include the Routing Information Protocol (RIP), Open Shortest Path First (OSPF), Enhanced Interior Gateway Routing Protocol (EIGRP), and Border Gateway Protocol (BGP).

[0006] In some implementations, path selection involves applying a routing metric to multiple routes to select or predict an optimal route. Most routing algorithms use only one network path at a time. Multipath routing techniques allow for the use of multiple alternative paths. In computer networks, routing algorithms can be used to predict the optimal path between two computing instances. Routing algorithms may be based on multiple factors such as bandwidth, network delay, hop count, path cost, load, maximum transmission unit, reliability, and communication cost. A routing table stores a list of optimal paths. A topology database can store a list of optimal paths and can also store additional information.

[0007] In some networks, routing is complicated by the fact that there is no single entity responsible for selecting the optimal path. Instead, multiple entities are involved in selecting the optimal path or even portions of a single path. In the context of computer networking on the Internet, the Internet is divided into autonomous systems (AS), such as Internet Service Providers (ISPs). Each AS controls the routes that encompass its network. Each AS-level path contains a set of ASs through which information packets are sent from one computing instance to another. Each AS can have multiple paths from which it can select multiple paths provided by neighboring ASs. Summary of the Invention [Problem to be solved by the invention]

[0008] There are many network topologies, each with various advantages and disadvantages for different computing applications. One network topology is a leaf-spine network topology, which includes a spine node communicating with multiple leaf nodes. Routing protocols for traditional leaf-spine network topologies have many disadvantages and can lead to inefficient data loops when leaf nodes become inactive. Therefore, improved labeling and routing protocols for leaf-spine network topologies are desirable. [Means for solving the problem]

[0009] In view of the foregoing, systems, methods, and devices are disclosed herein for improving routing operations in a network computing environment.

[0010] Non-limiting and non-exhaustive embodiments of the present disclosure are described with reference to the following figures, in which like reference numerals refer to like parts throughout the figures unless otherwise specified. Advantages of the present disclosure will be more clearly understood by referring to the following description and the accompanying drawings. [Brief explanation of the drawings]

[0011] [Figure 1] 1 is a schematic diagram of a system of networked devices communicating over the Internet. [Figure 2] 1 is a schematic diagram of a network with first-hop gateway redundancy between a first switch and a second switch. [Figure 3] 1 is a schematic diagram of a network having first-hop gateway redundancy between a first switch and a second switch implementing restoration path signaling; [Figure 4]1 is a schematic diagram of a network with first-hop gateway redundancy between a first switch and a second switch that implements Address Resolution Protocol (ARP) table synchronization (sync). [Figure 5] 1 is a schematic diagram of a network with first-hop gateway redundancy between a first switch and a second switch illustrating steady-state horizontal (East-West) flows. [Figure 6] 1 is a schematic diagram of a network with first-hop gateway redundancy between a first switch and a second switch illustrating steady-state north-south flow. [Figure 7] 1 is a schematic diagram of a network with first-hop gateway redundancy between a first switch and a second switch illustrating a link failure in a horizontal (East-West) flow; [Figure 8] 1 is a schematic diagram of a network with first-hop gateway redundancy between a first switch and a second switch illustrating a link failure in a north-south flow. [Figure 9] 1 is a schematic diagram of a network with first-hop gateway redundancy between a first switch and a second switch illustrating an Address Resolution Protocol request to an orphan Ethernet segment identifier (ESI) host. [Figure 10] 1 is a schematic diagram of a network with first-hop gateway redundancy between a first switch and a second switch illustrating a response from an isolated ESI host with an ARP. [Figure 11] FIG. 1 is a schematic diagram illustrating components of an exemplary computing device. DETAILED DESCRIPTION OF THE INVENTION

[0012] Disclosed herein are systems, methods, and devices for improved network topology, routing labeling, and routing protocols in a network computing environment. One embodiment of the disclosure is a network having first-hop gateway redundancy between a first switch and a second switch. In the network, one or more host virtual machines are connected to the first switch and the second switch via virtual interfaces. The first-hop gateway redundancy provides an optimal path redundancy solution using multi-chassis bonded interfaces.

[0013] In one embodiment, a system includes a network with first-hop gateway redundancy. The system includes a first switch and a second switch in a network topology. The system includes a host virtual machine communicating with at least one of the first switch and the second switch. The system includes a routed peer link connecting the first switch to the second switch. The system includes a first switch and a second switch having the same internet protocol (IP) address and media access control (MAC) address.

[0014] In a computer network environment, networking devices such as switches or routers can be used to transmit information from one destination to a final destination. In one embodiment, data packages and messages may be generated at a first location, such as a computer in a person's home. The data packages and messages may be generated by an individual interacting with a web browser to request or provide information from a remote server accessible via the Internet. For example, the data packages and messages may be information entered by an individual into a form accessible on an Internet-connected web page. The data packages and messages may need to be transmitted to a remote server that is geographically far away from the individual's computer. There is likely no direct communication between the router in the individual's home and the remote server. Thus, the data packages and messages must "hop" through different networking devices before reaching their final destination at the remote server. The router in the individual's home must transmit the data packages and messages through several different devices connected to the Internet to determine the route the data packages and messages must take to reach their final destination at the remote server.

[0015] The process of determining the best path from a first location to a final destination and forwarding data packages and messages to the next destination is an important function performed by networking devices such as switches or routers. The connections between networking devices in a network are called network topology. A network topology is the arrangement of elements such as links and nodes in a communication network. A network topology can include wired links, wireless links, or a combination of wired and wireless links between nodes in the network. Examples of wired links include coaxial cables, telephone lines, power lines, ribbon cables, and optical fibers. Examples of wireless links include satellites, cellular signals, radio signals, and free-space optical communications. A network topology includes indications of all nodes (e.g., computers, routers, switches, and other devices) in the network and indications of the links between the nodes. Disclosed herein are systems, methods, and devices for improving network routing and network topology.

[0016] To facilitate understanding of the present disclosure, some of the many networking computing devices and protocols will be described.

[0017] A BGP instance is a device for routing information within a network. A BGP instance may be implemented in the form of a route reflector appliance. A BGP instance may run on a switch, a router, or a BGP speaker on a switch. At a high level, a BGP instance sends all paths it has learned for a prefix to a best path controller. The best path controller responds with a set of best paths from among these paths. The best path controller is allowed to modify the next hop and attributes of any path. Upon receiving the best path, the BGP instance updates its local Routing Information Base (RIB) and advertises the best path to its neighbors.

[0018] Switches (also called switching hubs, bridging hubs, or MAC bridges) create networks. Most internal networks use switches to connect computers, printers, phones, cameras, lights, and servers within a building or campus. Switches act as controllers, allowing networked devices to communicate efficiently with each other. Switches connect devices on computer networks using packet switching, which allows data to be received, processed, and forwarded to the destination device. Network switches are multi-port network bridges that process and forward data at the data link layer (Layer 2) of the Open Systems Interconnection (OSI) model using hardware addresses. Some switches can also process data at the network layer (Layer 3) by incorporating additional routing functionality. Such switches are commonly called Layer 3 switches or multi-layer switches.

[0019] Routers connect networks. Switches and routers perform similar functions, but they perform different functions on a network. Routers are network devices that forward data packets between computer networks. Routers perform traffic directing functions on the Internet. Data sent over the Internet, such as web pages, email, or other forms of information, is sent in the form of data packets. Packets are typically forwarded from one router to another through the networks that make up an internetwork (e.g., the Internet), until they finally reach their destination node. Routers are connected to multiple data lines from different networks. When a data packet arrives on one of the lines, the router reads the network address information in the packet and determines its ultimate destination. The router then uses information in the router's routing table or routing policy to direct the packet to the next network on its journey. A BGP speaker is a router that has the Border Gateway Protocol (BGP) enabled.

[0020] A customer edge router (CE router) is a router located on the customer premises that provides the interface between the customer's LAN and the provider's core network. CE routers, provider routers, and provider edge routers are components of the Multiprotocol Label Switching architecture. Provider routers are located in the core of a provider's or carrier's network. Provider edge routers are located at the edge of the network. Customer edge routers connect to provider edge routers, which in turn connect to other provider edge routers.

[0021] A routing table or Routing Information Base (RIB) is a data table stored in a router or network computer that lists routes to specific network destinations. Routing tables may include route metrics such as distance and weight. Routing tables contain information about the topology of the network in the immediate vicinity of the router where they are stored. Building a routing table is the primary purpose of a routing protocol. Static routes are entries created in a routing table by non-automatic means; they are fixed and are not the result of some network topology discovery procedure. A routing table can contain at least three information fields, including network ID, metric, and next hop fields. The network ID is the destination subnet. The metric is the routing metric for the path the packet will travel. The route proceeds toward the gateway with the smallest metric. The next hop is the address of the next station on the packet's way to its final destination. A routing table can also contain the quality of service associated with the route, a link to a list of filtering criteria associated with the route, the interface of an Ethernet card, etc.

[0022] For purposes of explaining the concept of a routing table, a routing table can be likened to a map used to deliver packages. A routing table is like a map used to deliver packages to their final destination. When a node needs to send data to another node on the network, it must first know where to send the data. If the node cannot connect directly to the destination node, it must send the data to another node along the appropriate route to the destination node. Most nodes do not attempt to determine which route will work. Instead, nodes send IP packets to gateways in the LAN, which then determine how to route the data to the correct destination. Each gateway must keep track of how to deliver various data packages, and it uses a routing table to do so. A routing table is a database that tracks paths, like a map, and determines how to forward traffic using these paths. Gateways can also share the contents of their routing tables with other nodes that request the information.

[0023] In hop-by-hop routing, each routing table lists, for every reachable destination, the address of the next device along the path to that destination, or next hop. Assuming the routing tables are consistent, an algorithm that relays packets to the destination's next hop is sufficient to deliver data anywhere in the network. Hop-by-hop routing is a feature of the IP internetwork layer and the Open Systems Interconnection (OSI) model.

[0024] The Open Systems Interconnection (OSI) model is a conceptual model that characterizes and standardizes the communication functions of computing systems, regardless of their underlying internal structures and technologies. The goal of the OSI model is interoperability between diverse communication systems and standard communication protocols. The OSI model divides communication systems into abstract layers. Layers provide services to the layers above and receive services from the layers below. For example, a layer providing error-free communication across a network provides the path needed by applications above it and calls the next layer below to send and receive packets that constitute the content of that path. Two instances of the same layer are visualized at that layer as being connected by a horizontal connection. Communication protocols allow entities on one host to interact with corresponding entities at the same layer on another host. Service definitions, such as those in the OSI model, abstractly describe the functions provided by (N-1) layers to (N), where N is one of the protocol layers operating on the local host.

[0025] Route control is a type of network management aimed at improving Internet connectivity, reducing bandwidth costs, and reducing overall activity between networks. Some route control services include a suite of hardware- and software-based products and services that work together to improve overall Internet performance and fine-tune available Internet bandwidth at minimal cost. Route control can be successful in scenarios where a network or autonomous system procures Internet bandwidth from multiple providers. Route control can assist in selecting the optimal route for data transmission.

[0026] Some network communication systems are large, enterprise-level networks with thousands of processing nodes. These thousands of processing nodes share bandwidth from multiple Internet Service Providers (ISPs) and can handle large volumes of Internet traffic. Such systems can be very complex and must be properly configured to provide acceptable Internet performance. If the system is not properly configured for optimal data transmission, Internet access speeds can be slowed and system bandwidth consumption and traffic can increase. To address this issue, a set of services can be implemented to eliminate or mitigate these concerns. This set of services is also known as routing control.

[0027] One embodiment of the routing control mechanism is comprised of hardware and software. The routing control mechanism monitors all outgoing traffic through connections with Internet Service Providers (ISPs). The routing control mechanism assists in selecting the optimal path for efficient transmission of data. The routing control mechanism calculates the performance and efficiency of all ISPs and can select only those ISPs that perform optimally in the applicable area. The route control device can be configured according to predefined parameters regarding cost, performance, and bandwidth.

[0028] A well-known algorithm for determining the best path for data transmission is called the Border Gateway Protocol (BGP). BGP is a path-vector protocol that provides routing information for autonomous systems on the Internet. If BGP is not configured correctly, it can cause issues with server availability and security. Furthermore, by modifying BGP route information, an attacker can redirect large blocks of traffic to a specific router before the traffic reaches its intended destination. By implementing the BGP best-path algorithm, the best path to install in the Internet Protocol (IP) routing table for traffic forwarding can be determined. BGP routers can be configured to receive multiple paths to the same destination.

[0029] The BGP best path algorithm assigns the first valid path as the current best path. The BGP best path algorithm compares the best path to the next path in the list until BGP reaches the end of the list of valid paths. This list provides the rules used to determine the best path. For example, the list can contain directives such as prefer the path with the highest weight, prefer paths with no local preference, prefer paths locally originated by the network or aggregation BGP, prefer the shortest path, or prefer the path with the smallest multi-exit discriminator. The BGP best path selection process can be customized.

[0030] In the context of BGP routing, each routing domain is called an autonomous system (AS). BGP assists in selecting a path through the Internet to connect two routing domains. BGP typically selects the route that passes through the fewest number of autonomous systems, called the shortest AS path. In one embodiment, once BGP is enabled, a router pulls a list of Internet routes from its BGP neighbors, which may be ISPs. BGP then traverses the list to find the routes with the shortest AS paths. These routes may be entered into the router's routing table. Typically, the router selects the shortest path to an AS. BGP uses path attributes to determine how to route traffic to a particular network.

[0031] Equal cost multipath (ECMP) routing is a routing scheme in which next-hop packet forwarding to a single destination can occur over multiple "best paths." The multiple best paths are equivalent based on a routing metric calculation. Because routing is a hop-by-hop decision limited to a single router, multipath routing can be used with many routing protocols. Multipath routing can significantly increase bandwidth by load-balancing traffic across multiple paths. However, ECMP routing has many known problems when deploying the strategy in practice. Disclosed herein are systems, methods, and devices for improved ECMP routing.

[0032] Clos networks can be deployed in telecommunications. A Clos network is a multi-stage circuit switching network that represents an idealization of a multi-stage switching system. A Clos network contains three stages: an ingress stage, a middle stage, and an egress stage. Each stage consists of multiple crossbar switches. Each cell enters the ingress crossbar switch, which can be routed to the associated egress crossbar switch via any available middle stage crossbar switch. If both the link connecting the ingress switch to the middle stage switch and the link connecting the middle stage switch to the egress switch are free, the middle stage crossbar can be used for a particular new call.

[0033] A leaf-spine network topology can be deployed to connect nodes in a computer network. A leaf-spine topology has two layers: the leaf layer and the spine layer. The leaf layer consists of access switches that connect to devices such as servers, firewalls, load balancers, and edge routers. The spine layer consists of switches that perform routing and form the backbone of the network, with all leaf switches interconnected with each spine switch. In a leaf-spine topology, all devices are located the same number of links away from each other, resulting in a predictable and consistent amount of delay, or latency, for transmitting information.

[0034] A virtual local area network (VLAN) is a separate or divided broadcast domain within a computer network at the data link layer. A VLAN can apply tags to network frames and process these tags in a networking system to make network traffic function and appear as if it were on a single physical network, but behave as if it were separated between separate networks. VLANs allow network applications to remain separate while connected to the same physical network, without the need to deploy multiple sets of cables and networking devices.

[0035] A switched virtual interface (SVI) is a virtual interface and port on a managed switch that carries untagged VLAN packets. Traditionally, switches only send traffic to hosts within the same broadcast domain (a single VLAN), and routers handle traffic between different broadcast domains (different VLANs). In such implementations, network devices in different broadcast domains cannot communicate with each other without a router. When an SVI is implemented, a switch can use a virtual Layer 3 interface to route traffic to other Layer 3 interfaces, eliminating the need for a physical router. VLANs reduce the load on the network by dividing a LAN into smaller segments and keeping traffic local within a VLAN. However, because each VLAN has its own domain, a mechanism is needed for a VLAN to forward data to other VLANs without forwarding the data through a router. An SVI is such a mechanism. SVIs are typically found on switches (e.g., Layer 3 and Layer 2 switches). When an SVI is implemented, the switch can recognize the local packet destination of the VLAN to which it is being sent and can modify these packets destined for a different VLAN. In an embodiment, there is a one-to-one mapping between a VLAN and an SVI. In such an embodiment, only a single SVI can be mapped to a VLAN.

[0036] To promote an understanding of the principles underlying the present disclosure, reference will be made to illustrated embodiments and specific language will be used to describe the same, without intending to limit the scope of the present disclosure. Any changes and further modifications of the features of the present disclosure exemplified herein, and any additional applications of the principles of the present disclosure exemplified herein, will be readily apparent to those skilled in the art based on the present disclosure, and are encompassed by the appended claims.

[0037] Before disclosing and describing structures, systems, and methods for tracking the lifecycle of objects in a network computing environment, it is to be understood that the present disclosure is not limited to the particular structures, configurations, process steps, and materials disclosed herein, as such structures, configurations, process steps, and materials may vary. Furthermore, it is to be understood that the terminology used herein is for the purpose of describing particular embodiments only, and is not intended to be limiting, since the scope of the present disclosure is limited only by the claims and their equivalents.

[0038] In describing and claiming the subject matter of the present disclosure, the following terminology will be used in accordance with the definitions set out below.

[0039] As used in this specification and claims, the singular forms "a," "an," and "the" include plural referents unless the context clearly dictates otherwise.

[0040] As used herein, the terms "comprise," "have," "include," "featuring," and their grammatical equivalents are non-exclusive or open terms that do not exclude additional, unrecited elements or method steps.

[0041] As used herein, the phrase "consisting of" and its grammatical equivalents excludes any element or step not recited in a claim.

[0042] As used herein, the phrase "consisting essentially of" and its grammatical equivalents limit the scope of a claim to the materials or steps specified, and to materials or steps that do not materially affect the basic and novel properties or characteristics of the claimed disclosure.

[0043] The following description refers to the drawings, in which FIG. 1 is a schematic diagram of a system 100 for connecting devices to the Internet. The system 100 includes multiple local area networks 110 connected by a switch 106. Each of the multiple local area networks 110 is connectable to one another via the public Internet by a router 112. The exemplary system 100 shown in FIG. 1 has two local area networks 110. However, more local area networks 110 may be connected to one another via the public Internet. Each local area network 110 includes multiple computing devices 108 connected to one another via the switch 106. The multiple computing devices 108 may include, for example, desktop computers, laptops, printers, servers, etc. The local area networks 110 can communicate with other networks via the public Internet by a router 112. The router 112 connects the multiple networks to one another. The router 112 is connected to an Internet service provider 102, which is connected to one or more network service providers 104. The network service provider 104 communicates with other local network service providers 104 as shown in FIG.

[0044] The switch 106 connects devices within the local area network 110 using packet switching, allowing data to be received, processed, and forwarded to a destination device. The switch 106 can be configured to receive data from a computer, for example, destined for a printer. The switch 106 can receive the data, process the data, and send the data to the printer. The switch 106 may be a Layer 1 switch, a Layer 2 switch, a Layer 3 switch, a Layer 4 switch, a Layer 7 switch, etc. A Layer 1 network device forwards data but does not manage the traffic passing through the device. An example of a Layer 1 network device is an Ethernet hub. A Layer 2 network device is a multi-port device that processes and forwards data at the data link layer (Layer 2) using hardware addresses. A Layer 3 switch can perform some or all of the functions typically performed by a router. However, some network switches are limited to supporting a single type of physical network, usually Ethernet, while a router may support different types of physical networks on different ports.

[0045] The router 112 is a networking device that forwards data packets between computer networks. In the exemplary system 100 shown in FIG. 1, the router 112 forwards data packets between local area networks 110. However, the router 112 does not necessarily need to forward data packets between local area networks 110, but may also be used to forward data packets between wide area networks, etc. The router 112 performs traffic direction functions on the Internet. The router 112 may have interfaces for different types of physical layer connections, such as copper cable, optical fiber, or wireless transmission. The router 112 can support different network layer transmission standards. Each network interface can be used to forward data packets from one transmission system to another. The router 112 may also be used to connect two or more logical groups of computer devices, called subnets, each with a different network prefix. As shown in FIG. 1, the router 112 can provide connectivity within an enterprise, between an enterprise and the Internet, or between Internet service provider networks. Some routers 112 may be configured to interconnect various Internet service providers or may be used within large corporate networks. Smaller routers 112 typically provide connectivity for home and office networks to the Internet. The routers 112 shown in Figure 1 can represent any router suitable for network transmission, such as an edge router, a subscriber edge router, an inter-provider border router, a core router, an Internet backbone, a port forwarding router, a voice / data / fax / video processing router, etc.

[0046] An Internet Service Provider (ISP) 102 is an organization that provides services for access, use, or participation in the Internet. ISPs 102 can be organized in a variety of forms, such as commercial, community-owned, non-profit, or privately owned. Internet services typically provided by ISPs 102 include Internet access, Internet transit, domain name registration, web hosting, Usenet services, and colocation. ISP 102 as shown in FIG. 1 can represent any suitable ISP, such as a hosting ISP, transit ISP, virtual ISP, toll-free ISP, wireless ISP, etc.

[0047] A network service provider (NSP) 104 is an organization that provides bandwidth or network access by providing direct Internet backbone access to Internet service providers. A network service provider may provide access to a network access point (NAP). A network service provider 104 is also called a backbone provider or Internet provider. Network service providers 104 can include telecommunications providers, data carriers, wireless communication providers, Internet service providers, and cable television operators that offer high-speed Internet access. Network service providers 104 can also include information technology providers.

[0048] The system 100 shown in Figure 1 is merely exemplary, and many different configurations and systems can be constructed for transmitting data between networks and computing devices. Because networking is highly customizable, it is desirable to provide greater customizability in determining the best route for transmitting data between computers or networks. In light of the above, disclosed herein are systems, methods, and devices for offloading best path computation to an external device to provide greater customizability in determining a best path algorithm that best suits a particular grouping of computers or a particular enterprise.

[0049] 2-10 illustrate network embodiments for implementing first-hop gateway redundancy. In the embodiments, host virtual machines are connected to switches. In FIGS. 2-10, the switches are illustrated as T1 and T2. The embodiments of FIGS. 2-10 illustrate a means for establishing optimal path redundancy using multi-chassis bonded interfaces.

[0050] The topology of the embodiments of Figures 2-10 includes an interface that is extended across the host virtual machine to switches T1 and T2. This interface is part of the same bonded interface on the host virtual machine. The link terminates in a virtual local area network (VLAN) at each of switches T1 and T2. The embodiments can be deployed within a Layer 3 routing interface that functions as a first-hop gateway. In such embodiments, when a host virtual machine needs to reach another host virtual machine, communication can be facilitated by one or more switches T1 and T2. Switches T1 and T2 together function as a virtual first-hop gateway for the host virtual machine. From the perspective of the host virtual machine, switches T1 and T2 are configured with the same gateway IP address and the same gateway MAC address. Thus, from the perspective of the host virtual machine, the host virtual machine communicates with a single gateway IP rather than two gateway IPs located on two different switches T1 and T2.

[0051] Redundancy is achieved by configuring the same IP and MAC addresses on switches T1 and T2, and a routed peer link containing the IP and MAC addresses is configured between switches T1 and T2.

[0052] Switches T1 and T2 can signal each other via Border Gateway Protocol (BGP) signaling, and in an embodiment, each of switches T1 and T2 signals a restoration path to handle link failures on its side.

[0053] In an embodiment, a restoration path exists to handle link failures. For example, the link between switch T1 and a host virtual machine goes down. It is necessary to enable switch T2 to use the restoration path to redirect traffic from the host virtual machine. This enables reachability to the Ethernet segment identifier (ESI) via the routed peer link. Switch T2 can receive a BGP message from switch T1 indicating that switch T2 has reachability to the ESI via a next hop through switch T1. Any host virtual machines that switch T1 learns through binding are installed as anchor paths for directly connected host virtual machines. In the event of a link failure, an automatic restoration path is activated to send traffic through switch T2.

[0054] In an embodiment, Address Resolution Protocol (ARP) synchronization is performed for switch T1 to route packets to the host virtual machine. ARP synchronization includes synchronizing ARP tables in switches T1 and T2. If switch T1 learns a change from the host virtual machine, switch T1 can synchronize with switch T2 using Border Gateway Protocol (BGP) Ethernet Virtual Private Network (EVPN) signaling. BGP signaling can be automatically transmitted when a change occurs. When switch T1 learns an ARP binding on a host on a local area switched virtual interface (SVI), switch T1 can generate a BGP EVPN route type 2 message to switch T2 that carries the IP and the site where the IP is learned.

[0055] In an embodiment, an ARP response is generated from the isolated ESI host. The ARP response can be performed using a message between switches T1 and T2 that sends an ARP request. The ARP response can be returned using a BGP EVPN Route Type 2 message between switches T1 and T2.

[0056] In an embodiment, a link between switch T1, T2 and a host virtual machine or virtual consumer electronic device may be broken. When a link is broken, the path is removed from forwarding. A switch with a broken link automatically removes the failed path. The switch can learn all routes and aggregate all routes into a routed overlay protocol, and then the failed path is removed from these routes, so that any traffic sent to the destination is no longer sent via the failed link.

[0057] FIG. 2 is a schematic diagram of a network with first-hop gateway redundancy. The network includes T1 and T2, which represent networking devices such as switches or routers. T1 and T2 each include a switched virtual interface (SVI). A routed peer link exists between T1 and T2. T1 and T2 each include an anycast gateway IP, anycast MAC, and anycast proxy ARP. T1 advertises a local peer link called IP_t1. T2 advertises a local peer link called IP_t2. T1 advertises a medium access control (MAC) address called MAC_t1. T2 advertises a MAC address called MAC_t2. T1 and T2 communicate with the host virtual machine via the SVI connection.

[0058] The network is configured so that T1 and T2 function as redundant anycast centralized gateways. T1 and T2 are gateways for multihomed hosts via L2 LAG bundles. T1 and T2 are configured with anycast gateway MAC and SVI, along with anycast gateway IP for north-south routing. T1 and T2 are configured with a common Ethernet Virtual Private Network (EVPN) Ethernet Segment Identifier (ESI) representing the link aggregation (LAG) main port. T1 and T2 are configured with a per-VLAN EVPN instance with a Media Access Control-Virtual Routing and Forwarding Route Target (MAC-VRF RT). The MAC-VRF RT can be obtained automatically or manually configured. T1 and T2 are configured with a Layer 3-enabled peer link used for protection. In an embodiment, a BGP-EVPN session is set up between T1 and T2, advertising the local peer link IP (called IP_t1 and IP_t2) as the next hop.

[0059] In the network, there is a BGP-EVPN control plane that signals the restoration path by RT-1, which in turn signals the ARP request by RT-2 and the ARP synchronization by RT-2.

[0060] In a data center network, first-hop gateway redundancy can be provided using an Ethernet virtual private network and RT-1 based protection signaling. In this configuration, an L3 routed network north of the T1 / T2 is assumed. In this instance, IP unicast traffic and access have only L2 connectivity. In an embodiment, only L2 connectivity is permitted access.

[0061] Figure 3 illustrates a network providing restoration path signaling via EVPN RT-1. In the network, T1 and T2 peers exchange per-ESI RT-1s (Ethernet AD routes) with next hops for IP_t1 and IP_t2. This signals local ESI connectivity across redundancy group peers. Additionally, per-ESI RT-1s are configured on the ESI main port and advertised by EVI-RTs for the VLANs used to import into the MAC-VRF. This per-ESI RT-1 is utilized by redundancy group peers to signal Layer 3 restoration paths to all directly connected hosts on a given ESI.

[0062] In some embodiments, RT-1 is required for restoration path signaling because RT-2 is not always generated by both T1 and T2 depending on where the ARP is learned. In such embodiments, ESI for which no restoration path is signaled by any peer is treated as an orphan ESI.

[0063] Figure 4 is a schematic diagram of a network that provides host adjacency synchronization and repair path programming. The network can learn local information (e.g., MAC+IP and / or SVI) from the local ARP cache. This provides an EVPN context for the VLAN derived from the SVI. The network can learn local information (MAC to AC) through HW MAC learning updates within a given EVPN context derived from a MAC source. The network can further perform local MAC-to-local MAC+IP resolution to obtain the ESI and / or port for the ARP-learned MAC+IP. Once resolved, the network can advertise the EVPN MAC+IP RT-2 for the purpose of MAC+IP synchronization across redundancy group peers, e.g., from T1 to T2.

[0064] The network can refer to T2 to import MAC+IP RT-2 into MAC-VRF via EVI-RT mapping. The network can resolve MAC+IP RT-2 from T1 by lookup local ESI DB to check local connectivity of ESI for received MAC+IP and RT-1 per ESI from T1. When received ESI is local, the network can install a static ARP entry for the received IP on the local VLAN SVI interface if not dynamically learned. The FIB can be accessed to install an ARP learned neighbor route secured by the RT-1 learned next hop of the corresponding ESI.

[0065] All host adjacencies learned on the local ESI (dynamic or synchronized) are installed protected by the RT-1 learned repair path for the ESI.

[0066] The network can provide T2 ESI failure handling: in the event of a failure, the network can activate a restoration path with a redundant peer.

[0067] Figure 5 is a schematic diagram of a network with locally routed steady-state East-West flows. The network includes host virtual machines with Ethernet segment identifiers (ESIs). One group of host virtual machines is assigned to ESI-2 and the other group is assigned to ESI-1. The steady-state East-West flows include local routing for both intra-subnet and inter-subnet flows. As shown in Figure 5, there is a steady-state flow from a host virtual machine storing ESI-2 to a host virtual machine storing ESI-1. Communication occurs between multiple host virtual machines and each of T1 and T2.

[0068] The network can provide horizontal intra-subnet flows to avoid any L2 flooding or bridging of horizontal traffic flows. This can be achieved by a proxy ARP mechanism. The ARP mechanism can transmit broadcast ARP requests received from access-enabled hosts bridged to a local SVI interface. In an embodiment, ARP requests received on an SVI interface are proxy-replied with by the anycast gateway MAC. Similarly, ARP requests originating from the gateway are flooded on the local ESI and local orphan ESI ports, but not to peer gateways. Thus, an SVI interface can be configured with proxy-ARP and proxy-ND for complete hosts whose reachability is established by a remote MAC+IP RT-2 or by a local ARP / ND entry. In such an embodiment, any horizontal flows, including intra-subnet flows, can terminate at L2 on the gateway and be routed to the destination adjacency. This can be performed similarly to the north-south flows illustrated in Figure 6.

[0069] Figure 6 is a schematic diagram of a network with locally routed steady-state north-south flows. The steady-state north-south flows include local routing for north-to-south inter-subnet flows. As shown in Figure 6, there is a steady-state flow from T1 to the host virtual machine storing ESI-2 and a steady-state flow from T2 to the host virtual machine storing ESI-1. Figure 6 also illustrates steady-state north-south traffic flows to a multihomed host. Traffic received at the TOR and destined for the host IP is routed directly to the host.

[0070] Figure 7 is a schematic diagram of a network experiencing a link failure for horizontal flows. The link from T1 to host machine H2 becomes inactive and is broken. All traffic routed to hosts on the failed ESI via subnet routes can be rerouted via the peer-routed peer link. Furthermore, the network can remove (mass withdraw) RT-1 per local ESI while routed traffic flows continue to be routed via subnet routes across load-balanced T1 and T2. In this way, flows arriving at T2 are rerouted to T1 via the routed peer link, thereby routing flows directly to connected hosts on the now isolated ESI (see Figure 8).

[0071] FIG. 8 is a schematic diagram of a network experiencing a link failure in a vertical flow. The network activates a restoration path to the isolated ESI on H2 via the routed peer link to T2. The link from T1 to host machine H2 becomes inactive and is broken. As illustrated in the steady-state vertical flow of FIG. 6, flows are normally routed from T1 and / or T2 directly to the corresponding host virtual machine group. If the link from T1 to host machine H2 is broken, the flow can be routed from T1 to T2 via the routed peer link. The flow can then be routed to the appropriate host machine H2.

[0072] Additionally, flows arriving at T2 can be rerouted to T1 via the routed peer link, routing the flows directly to connected hosts on the current orphan ESI, as shown in Figure 8. The network can provide orphan ESI handling for T1. The network can commit to mass withdraw from T2 for RT-1 per ESI, which causes the local ESI to transition to an orphan state. The network can remove the restoration path programming and reprogram the forwarding by mass withdrawing from the peer.

[0073] The network can mass withdraw RT-1 from T1, causing the MAC+IP RT-2 path from T1 to become unresolved. In response, the network can remove static-source synchronous ARPs, if present as a result of MAC+IP RT-2 from T1, and inject host routes into the default routing control plane for all host adjacencies (e.g., ARP entries) learned on the isolated ESI. Once injected, this allows a more specific route for flows destined for hosts on the isolated port to aggregate onto a direct path to T1.

[0074] Figure 9 is a schematic diagram of a network that performs ARP requests for isolated ESI hosts. The network can perform "ARPing" of isolated ESI hosts, where ARP is an address resolution protocol. For example, to maintain both horizontal and vertical reachability to hosts on T1's isolated ESI via T2, T2 must be able to ARP for hosts on T1's isolated ESI. If Layer 2 extension between T1 and T2 is not performed, an alternative mechanism for ARPing isolated hosts on the peer gateway is required.

[0075] The network shown in Figure 9 resolves the isolated ESI. The network can overload BGP RT-2 and send an ARP request to the peer gateway, as shown in Figure 9. In this way, T2 receives an ARP request for host IP1 on the SVI or needs to ARP for host IP1 by gleaning. T2 can send an ARP request to T1 via MAC+IP RT-2. In response, T1 generates an ARP request on the local isolated ESI port and local ESI. T1 learns an ARP entry from local host IP1 and generates MAC+IP RT-2. T2 can install reachability to IP1 via the routed peer link, as shown in Figure 9, and can respond to the isolated ESI host (see Figure 10).

[0076] In any of the network embodiments illustrated in Figures 2-10, virtual routing and forwarding (VRF) support is provided. To facilitate VRF, networks using [VRF, ESI] RT-1 and ESI RT-2 learn the restoration paths. This is done through the L3-VPN label attribute. Due to the lack of an overlay, the restoration paths can be sent to directly connected peer links via the following per-VRF MPLS VPN encapsulation: [VRF, IP32] → Adjacency → [IP / 32, SVI] → [MAC, ESI port] (first path), or [VRF, IP32] → Adjacency → [IP_t1, P] → MAC_t1 + VPN label (backup path)

[0077] Alternatively, Layer 3 VLAN tagged sub-interfaces can be used as peer links instead of VPN labels to achieve forwarded restoration paths in a multi-tenant environment.

[0078] In embodiments, overlay VPN support and a replacement for peer links are provided. In examples, after the VXLAN overlay is enabled, the directly connected peer links are no longer required. With the loss of the peer links, the VPN overlay stretches across the redundancy group. Therefore, the L3-VNI / VSLAN encapsulation repair path advertised via the EAD RT-1 per [VRF, ESI] can be replaced with the directly connected peer link repair path.

[0079] In the example, in steady state at T2, encapsulation can be implemented as follows: [VRF, IP32] → Adjacency → [IP / 32, SVI] → [MAC, ESI port] (first path), or [VRF, IP32] → L3-VNI+VXLAN tunnel path → VTEP-T1 (backup path)

[0080] If there is a post-ESI failure on T2, traffic is routed over the overlay repair path as follows: [VRF, IP32] → L3-VNI+VXLAN tunnel path → VTEP-T1

[0081] However, when subnets are stretched across redundancy groups, reachability from remote leaf nodes is established via tunnel paths, similar to above. [VRF, IP32] → L3-VNI+VXLAN tunnel path → VTEP-T1

[0082] The gleaning process may be similar to that of an isolated ESI host disclosed above, except that the network may advertise MAC+IP RT-2 with MAC as all 1's within the stretched EVI and trigger local ARP from all ToRs participating in the EVI.

[0083] 11 is a block diagram of an exemplary computing device 1100. The computing device 1100 can be used to perform various procedures as described herein. In one embodiment, the computing device 1100 can function to perform the functions of an asynchronous object manager and can execute one or more application programs. The computing device 1100 can be any of a wide variety of computing devices, such as a desktop computer, an in-dash computer, a vehicle control system, a notebook computer, a server computer, a handheld computer, a tablet computer, etc.

[0084] The computing device 1100 includes one or more processors 1102, one or more memory devices 1104, one or more interfaces 1106, one or more mass storage devices 1108, one or more input / output devices 1110, and a display device 1130, all connected to a bus 1112. The processor 1102 includes one or more processors or controllers that execute instructions stored on the memory devices 1104 and / or the mass storage device 1108. The processor 1102 may also include various types of computer-readable media, such as cache memory.

[0085] The memory device 1104 includes a variety of computer-readable media, such as volatile memory (e.g., random access memory (RAM) 1114) and / or non-volatile memory (e.g., read-only memory (ROM) 1116). The memory device 1104 may also include re-writable ROM, such as flash memory.

[0086] The mass storage device 1108 includes various computer-readable media such as magnetic tape, magnetic disks, optical disks, solid-state memory (e.g., flash memory), etc. As shown in Figure 11, an exemplary mass storage device is a hard disk drive 1124. The mass storage device 1108 may also include various drives to allow reading from and / or writing to various computer-readable media. The mass storage device 1108 includes removable media 1126 and / or non-removable media.

[0087] The input / output (I / O) devices 1110 include various devices that allow data and / or other information to be input to or retrieved from the computing device 1100. The I / O devices 1110 include cursor control devices, a keyboard, a keypad, a microphone, a monitor or other display device, speakers, a printer, a network interface card, a modem, etc.

[0088] Display device 1130 includes any type of device capable of displaying information to one or more users of computing device 1100. Display device 1130 may include, for example, a monitor, a display terminal, a video projection device, etc.

[0089] Interface 1106 includes various interfaces that allow computing device 1100 to interact with other systems, devices, or computing environments. Interface 1106 may include any number of different network interfaces 1120, such as interfaces to a local area network (LAN), a wide area network (WAN), a wireless network, and the Internet. Other interfaces include a user interface 1118 and a peripheral device interface 1122. Interface 1106 may also include one or more user interface elements 1118. Additionally, interface 1106 may include one or more peripheral interfaces, such as an interface for a printer, a pointing device (such as a mouse, trackpad, or any suitable user interface now known to those skilled in the art or any suitable user interface later developed), a keyboard, etc.

[0090] The bus 1112 allows the processor 1102, memory device 1104, interface 1106, mass storage device 1108, and I / O device 1110 to communicate with each other and with other devices or components connected to the bus 1112. The bus 1112 may represent one or more of several types of bus structures, such as a system bus, a PCI bus, an IEEE bus, a USB bus, etc.

[0091] Although programs and other executable program components are illustrated herein as separate blocks for purposes of illustration, such programs and components may reside at various times in different storage components of computing device 1100 and be executed by processor 1102. Alternatively, the systems and procedures described herein may be implemented in hardware or a combination of hardware, software, and / or firmware. For example, one or more application specific integrated circuits (ASICs) may be programmed to perform one or more of the systems and procedures described herein.

[0092] The foregoing description has been presented for purposes of illustration and description. The present disclosure is not limited to the precise forms set forth herein. Many modifications and variations are possible in light of the above teachings. Moreover, any or all of the foregoing variations can be combined in any manner to form further combinations of the present disclosure.

[0093] Moreover, although specific embodiments of the present disclosure have been described and illustrated, the present disclosure is not limited to the specific forms or arrangements of parts so described and illustrated. The scope of the present disclosure is defined by the claims of this application or any future claims, separate applications based on this application, and their equivalents, if any. [Example]

[0094] The following examples relate to further embodiments.

[0095] Example 1 is a system. The system includes a first switch in a network topology. The system includes a second switch in the network topology. The system includes a host virtual machine that communicates with at least one of the first switch and the second switch. The system includes a routed peer link connecting the first switch to the second switch. In the system, the first switch and the second switch have the same Internet Protocol (IP) address and Media Access Control (MAC) address.

[0096] Example 2 is the system of example 1, wherein the first switch and the second switch are configured as redundant anycast centralized gateways for hosting virtual machines.

[0097] A third embodiment is the system according to any one of the first and second embodiments, in which the first switch and the second switch are configured with a common Ethernet segment identifier (ESI) that represents a main port on a host virtual machine.

[0098] Example 4 is the system of any of Examples 1 to 3, wherein each of the first switch and the second switch is configured with an Ethernet Virtual Private Network (EVPN) instance per Virtual Local Area Network (VLAN) having one or more automatically obtained Media Access Control-Virtual Routing and Forwarding Route Targets (MAC-VRF RTs) or manually configured MAC-VRF RGs.

[0099] A fifth embodiment is the system according to any one of the first to fourth embodiments, in which the routed peer link is a Layer 3 enabled peer link.

[0100] Example 6 is the system of any of Examples 1 to 5, wherein one or more of the first switch or the second switch is configured to advertise an IP address of the routed peer link as a next hop for the host virtual machine.

[0101] Example 7 is the system according to any one of Examples 1 to 6, wherein the system is an Ethernet Virtual Private Network (EVPN) using RT-1 protection signaling.

[0102] Example 8 is a system described in any of Examples 1 to 7, wherein the first switch and the second switch exchange routes per Ethernet segment identifier (ESI) via a routed peer link and signal local ESI connectivity across a redundancy group formed by the first switch and the second switch.

[0103] Example 9 is a system described in any of Examples 1 to 8, in which the route for each ESI is a recovery path used when a link between the host virtual machine and either the first switch or the second switch is broken.

[0104] A tenth embodiment is the system according to any one of the first to ninth embodiments, wherein the route for each ESI is transmitted between the first switch and the second switch as a Border Gateway Protocol (BGP) message.

[0105] An eleventh embodiment is the system of any of the first to tenth embodiments, wherein the first switch and the second switch are configured to synchronize Address Resolution Protocol (ARP) tables via a routed peer link.

[0106] Example 12 is a system described in any of Examples 1 to 11, wherein the first switch has one or more processors configured to execute instructions stored in a non-transitory computer-readable storage medium, the instructions including receiving a message from a host virtual machine indicating that an ARP table update has been performed, and sending a BGP message to signal the update to the second switch.

[0107] Example 13 is a system described in any of Examples 1 to 12, wherein the first switch and the second switch form a redundancy group, and one or more of the first switch and the second switch are configured to advertise an Ethernet Virtual Private Network (EVPN) MAC address and synchronize the redundancy group.

[0108] Example 14 is a system described in any of Examples 1 to 13, in which the first switch and the second switch form a redundant group, and traffic flowing to or from the host virtual machine is load-balanced across the first switch and the second switch.

[0109] A fifteenth embodiment is the system of any of the first to fourteenth embodiments, wherein traffic is load balanced by rerouting traffic across routed peer links.

[0110] Example 16 is the system of any of Examples 1 to 15, further including a link between the first switch and the host virtual machine, the link terminating in a virtual local area network (VLAN) on the first switch.

[0111] Example 17 is the system according to any of Examples 1 to 16, wherein the first switch and the second switch function as virtual first-hop gateways for the host virtual machine.

[0112] Example 18 is a system described in any of Examples 1 to 17, further including an Ethernet segment identifier (ESI) on the host virtual machine, and the first switch and the second switch have reachability to the ESI via a routed peer link.

[0113] Example 19 is a system described in any of Examples 1 to 18, wherein the first switch is configured to transmit a Border Gateway Protocol (BGP) message to the second switch indicating that the second switch has reachability to the ESI via a next hop through the first switch.

[0114] Example 20 is a system described in any of Examples 1 to 19, wherein the first switch is configured to automatically transmit a Border Gateway Protocol (BGP) message to the second switch via the routed peer link in response to the first switch learning an update to an Address Resolution Protocol (ARP) table on a host virtual machine.

[0115] It should be noted that any features of the above-described configurations, examples, and embodiments may be combined in a single embodiment, including any combination of features from any of the configurations, examples, and embodiments disclosed herein.

[0116] The various features disclosed herein provide important advantages and advances in the art, and the following claims are illustrative of some of these features.

[0117] In the foregoing detailed description of the present disclosure, for purposes of streamlining the disclosure, various features of the disclosure are grouped together in a single embodiment. This method of disclosure is not to be interpreted as reflecting an intention that the claimed disclosure requires more features than are expressly recited in each claim. That is, inventive aspects may feature fewer than all features of a single foregoing disclosed embodiment.

[0118] The above-described arrangements are merely illustrative of the application of the principles of the present disclosure. Many modifications and alternative arrangements may be devised by those skilled in the art without departing from the spirit and scope of the present disclosure, and the appended claims are intended to cover all such modifications and arrangements.

[0119] Thus, while the present disclosure has been illustrated in the drawings and described in detail above, it will be apparent to those skilled in the art that numerous modifications, including but not limited to variations in size, material, shape, form, function, operation, assembly, and use, may be made thereto without departing from the principles and concepts described herein.

[0120] Additionally, the functions described herein may be implemented in one or more of hardware, software, firmware, digital components, or analog components, where appropriate. For example, one or more application specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs) may be programmed to implement one or more of the systems and procedures described herein. Specific terms are used throughout the description and claims to refer to particular system components. Those skilled in the art will recognize that components may be referred to by different names. This document does not intend to distinguish between components that differ in name but function.

[0121] The foregoing description has been presented for purposes of illustration and description. The present disclosure is not limited to the precise forms set forth herein. Many modifications and variations are possible in light of the above teachings. Moreover, any or all of the foregoing variations can be combined in any manner to form further combinations of the present disclosure.

[0122] Moreover, although specific embodiments of the present disclosure have been described and illustrated, the present disclosure is not limited to the specific forms or arrangements of parts so described and illustrated. The scope of the present disclosure is defined by the claims of this application or any future claims, separate applications based on this application, and their equivalents, if any.

Claims

1. a first switch in a network topology; a second switch in the network topology; a host virtual machine having a communication link with each of the first switch and the second switch; a routed peer link connecting the first switch to the second switch; In a system including the first switch and the second switch have the same gateway Internet Protocol (IP) address and gateway Media Access Control (MAC) address, and a single virtual interface including the gateway IP address and the gateway MAC address spans both the first switch and the second switch; the first switch further has a first IP address and a first MAC address, the second switch further has a second IP address and a second MAC address, the first IP address is different from the second IP address, the first MAC address is different from the second MAC address, and The first switch and the second switch are transmitting a signal of a restoration path including the first IP address and the second IP address to each other for redirecting traffic when the communication link between the host virtual machine and either the first switch or the second switch fails; synchronizing the Address Resolution Protocol (ARP) tables of the first switch and the second switch in response to changes to the Address Resolution Protocol (ARP) tables of the first switch and the second switch received from the host virtual machine via Border Gateway Protocol (BGP) messages between the first switch and the second switch on the routed peer link; and the host virtual machine is configured to communicate with the first switch and the second switch to communicate with a single gateway IP address rather than two gateway IP addresses; A system characterized by being configured as follows.

2. 10. The system of claim 1, wherein the first switch and the second switch are configured to synchronize the ARP tables through BGP Ethernet Virtual Private Network (EVP) messages.

3. 3. The system of claim 2, wherein each of the first switch and the second switch is configured to generate the BGP-EVPN message in response to binding of the host virtual machine to a switch virtual interface (SVI) of the respective switch.

4. 4. The system of claim 3, wherein the first switch and the second switch are configured to set up the BGP-EVPN session between the first switch and the second switch to advertise the routed peer link.

5. 5. The system of claim 4, further comprising a BGP EVPN control plane configured to signal the restoration path via Route Target-1 (RT-1) and signal ARP requests and ARP synchronization via RT-2.

6. 5. The system of claim 4, wherein the first switch or the second switch is configured to exchange the first IP address and the second IP address using a Route Target-1 (RT-1) per Ethernet Segment Identifier (ESI) that includes the first IP address and the second IP address as a next hop.

7. 7. The system of claim 6, wherein the network topology is configured to utilize RT-1 per ESI for signaling Layer 3 restoration paths to all hosts directly connected to the first switch and the second switch.

8. The first switch and the second switch are signaling connectivity across the routed peer link for a local Ethernet Segment Identifier (ESI); and installing all host adjacencies learned on the local ESI with protection via the modified path; 2. The system of claim 1, wherein the system is configured to:

9. 2. The system of claim 1, wherein each of the first switch and the second switch is configured to proxy respond to an ARP request having the gateway MAC address.

10. 10. The system of claim 9, wherein each of the first switch and the second switch is configured to flood ARP requests originating from the respective switch by flooding a local Ethernet segment identifier (ESI) port without flooding any other switch of the first switch and the second switch.

11. 2. The system of claim 1, wherein the first switch and the second switch are configured to respond to a failed connection between the host virtual machine and the second switch by routing all traffic between the host virtual machine and the second switch through the routed peer link.

12. 12. The system of claim 11, wherein the first switch is further configured to inject a host route into a default routing control plane for all ARP entries learned from an Ethernet Segment Identifier (ESI) of the failed connection, the host route configured to allow flows destined for the host virtual machine to aggregate at the first switch.

13. 10. The system of claim 1, wherein the first switch and the second switch are configured to signal the restoration path over the routed peer link as an L3-Virtual Private Network (VPN) label attribute.

14. 10. The system of claim 1, wherein the first switch and the second switch are configured as redundant anycast centralized gateways for the host virtual machines.

15. 10. The system of claim 1, wherein the first switch and the second switch are configured with a common Ethernet segment identifier (ESI) that represents a main port on the host virtual machine.

16. Each of the first switch and the second switch is an automatically derived Medium Access Control - Virtual Routing and Forwarding Route Target (MAC-VRF RT), or Manually configured MAC-VRF RG, 10. The system of claim 1, wherein the system comprises an Ethernet Virtual Private Network (EVP) instance for each Virtual Local Area Network (VLAN) having one or more of:

17. 10. The system of claim 1, wherein the routed peer link is a Layer 3 enabled peer link.

18. 10. The system of claim 1, wherein the system is an Ethernet Virtual Private Network (EVP-N) that uses Route Target-1 (RT-1) protected signaling.

19. 2. The system of claim 1, further comprising an Ethernet Segment Identifier (ESI) on the host virtual machine, the first switch and the second switch having reachability to the ESI via the routed peer link.

Citation Information

Patent Citations

  • Routing announcement method and routing announcement device

    CN106878166A

  • Communication system and network repeater

    JP2014116668A

  • Distributed IP Gateway Based on Sharing a MAC Address and IP Address Concurrently Between a First Network Switching Device and a Second Network Switching Device

    US20100189117A1

  • System and method for optimizing next-hop table space in a dual-homed network environment

    US20140112122A1

  • Optimizing EVPN for data centers with redundant top-of-rack deployments

    US20170171057A1