System and apparatus for synchronizing entries between redundant centralized gateways in overlay network

By introducing a provider edge synchronizer into the overlay network and using a lookup table to manage host mapping, the problem of difficult synchronization of redundant centralized gateways is solved, and correct forwarding of traffic and avoidance of loss are achieved.

CN119366163APending Publication Date: 2025-01-24GOOGLE LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380014224.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-05-23
Filing Date
2023-10-19
Publication Date
2025-01-24

AI Technical Summary

Technical Problem

In an overlay network, synchronization between redundant centralized gateways is difficult, resulting in traffic loss because the host's mapped reply may be sent to the wrong redundant centralized gateway.

Method used

The provider edge synchronizer uses the search table to determine and maintain the mapping of the host in the network. When the redundant centralized gateway sends a request, the synchronizer generates response and sends it to the correct gateway to ensure that the traffic is reposted correctly.

Benefits of technology

Avoid traffic loss by eliminating inconsistencies between redundant centralized gateways, ensuring packets are received and forwarded correctly.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119366163A_ABST
    Figure CN119366163A_ABST
Patent Text Reader

Abstract

Aspects of the present disclosure are directed to provider edge synchronizers for coordinating entries in an overlay network. A provider edge synchronizer may use a lookup table to determine and maintain mappings for hosts in an overlay network. When a provider edge in an overlay network sends a request, a provider edge synchronizer may generate a response based on a lookup table, and then may send the response to all gateways, particularly redundant centralized gateways.
Need to check novelty before this filing date? Find Prior Art

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application is a continuation of U.S. patent application No. 18 / 200,639 filed on May 23, 2023, the disclosure of which is incorporated herein by reference. Background Art

[0002] In an overlay network, packet routing between tiers may be performed by a centralized gateway. Overlay networks may deploy redundant centralized gateways, for example, for resiliency reasons. However, deploying redundant centralized gateways can cause synchronization difficulties between the redundant centralized gateways. For example, if a redundant centralized gateway does not have a mapping for a host, the redundant centralized gateway may request a mapping from the host. However, the host may send a reply with the mapping to another redundant centralized gateway, which may or may not already have a mapping. This can result in traffic loss, as packets are dropped due to the incorrect redundant centralized gateway receiving the mapping for the host. Summary of the invention

[0003] Various aspects of the present disclosure relate to a provider edge synchronizer for coordinating entries in an overlay network. The provider edge synchronizer can use a lookup table to determine and maintain a mapping of hosts in the overlay network. When a provider edge gateway in the overlay network sends a request, the provider edge synchronizer can generate a response based on the lookup table, and then the response can be sent to gateways in the overlay network, such as all gateways.

[0004] One aspect of the present disclosure provides a method for synchronizing redundant centralized gateways in an overlay network, comprising: receiving one or more traffic requests from one or more redundant centralized gateways by one or more processors; determining by the one or more processors whether the corresponding protocols of the one or more traffic requests are stored in one or more lookup tables for each of the one or more traffic requests; generating by the one or more processors corresponding traffic replies associated with each of the one or more traffic requests, the one or more traffic requests being determined to have the corresponding protocols stored in the one or more lookup tables; and sending by the one or more processors the traffic replies to the one or more redundant centralized gateways.

[0005] In one instance, the method further includes: sending, by the one or more processors, a corresponding additional traffic request to a target host associated with each of the one or more traffic requests, the one or more traffic requests being determined to not have the corresponding protocol stored in the one or more lookup tables; and receiving, by the one or more processors, a corresponding response from the target host, the target host including a protocol for storage in the one or more lookup tables. In another example, the method further includes: generating, by the one or more processors, a corresponding additional traffic reply based on the response from the target host; and sending, by the one or more processors, the additional traffic reply to the one or more redundant centralized gateways. In yet another example, the method further includes updating, by the one or more processors, the one or more lookup tables with the protocol from the target host.

[0006] In yet another example, the method further includes: identifying, by the one or more processors, the one or more redundant centralized gateways by receiving a protocol announcement; and generating, by the one or more processors, the one or more lookup tables using the protocol announcement. In yet another example, the protocol announcement includes at least one of a routing type (RT)-2 announcement or an RT-3 announcement.

[0007] In yet another example, the one or more lookup tables include mappings of media access control (MAC) addresses and internet protocol (IP) addresses of the one or more redundant centralized gateways.In yet another example, the one or more traffic requests include address resolution protocol (ARP) / neighbor discovery (ND) requests, and the traffic replies include ARP / ND replies.

[0008] Another aspect of the present disclosure provides a system, comprising: one or more processors; and one or more storage devices, the one or more storage devices being coupled to the one or more processors and storing instructions, which, when executed by the one or more processors, cause the one or more processors to perform operations for synchronizing redundant centralized gateways in an overlay network. The operations include: receiving one or more traffic requests from one or more redundant centralized gateways; for each of the one or more traffic requests, determining whether the corresponding protocols of the one or more traffic requests are stored in one or more lookup tables; generating corresponding traffic replies associated with each of the one or more traffic requests, the one or more traffic requests being determined to have the corresponding protocols stored in the one or more lookup tables; and sending the traffic replies to the one or more redundant centralized gateways.

[0009] In one example, the operation further includes: sending a corresponding additional flow request to a target host associated with each of the one or more flow requests, the one or more flow requests being determined to not have the corresponding protocol stored in the one or more lookup tables; and receiving a corresponding response from the target host, the target host including a protocol for storage in the one or more lookup tables. In another example, the operation further includes: generating a corresponding additional flow reply based on the response from the target host; and sending the additional flow reply to the one or more redundant centralized gateways. In yet another example, the operation includes updating the one or more lookup tables with the protocol from the target host.

[0010] In yet another example, the operations further include: identifying the one or more redundant centralized gateways by receiving a protocol announcement; and using the protocol announcement to generate the one or more lookup tables. In yet another example, the protocol announcement includes at least one of a routing type (RT)-2 announcement or an RT-3 announcement.

[0011] In yet another example, the one or more lookup tables include mappings of media access control (MAC) addresses and internet protocol (IP) addresses of the one or more redundant centralized gateways.In yet another example, the one or more traffic requests include address resolution protocol (ARP) / neighbor discovery (ND) requests, and the traffic replies include ARP / ND replies.

[0012] Another aspect of the present disclosure provides a non-transitory computer-readable medium for storing instructions, which, when executed by one or more processors, causes the one or more processors to perform operations for synchronizing redundant centralized gateways in an overlay network. The operations include: receiving one or more flow requests from one or more redundant centralized gateways; for each of the one or more flow requests, determining whether the corresponding protocols of the one or more flow requests are stored in one or more lookup tables; generating corresponding flow replies associated with each of the one or more flow requests, the one or more flow requests being determined to have the corresponding protocols stored in the one or more lookup tables; and sending the flow replies to the one or more redundant centralized gateways.

[0013] In one example, the operation further includes: sending a corresponding additional flow request to a target host associated with each of the one or more flow requests, the one or more flow requests being determined to not have the corresponding protocol stored in the one or more lookup tables; receiving a corresponding response received from the target host, the target host including a protocol for storing in the one or more lookup tables; generating a corresponding additional flow reply based on the response from the target host; and sending the additional flow reply to the one or more redundant centralized gateways. In another example, the operation includes updating the one or more lookup tables with the protocol from the target host.

[0014] In yet another example, the one or more lookup tables include a mapping of media access control (MAC) addresses and internet protocol (IP) addresses of the one or more redundant centralized gateways. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Figure 1 Depicted is a block diagram of an example overlay network in accordance with aspects of the present disclosure.

[0016] Figure 2 Depicted is a block diagram of an example provider edge (PE) synchronizer for an overlay network in accordance with aspects of the present disclosure.

[0017] Figure 3 Depicted is an example lookup table generated by a controller of a PE synchronizer according to aspects of the present disclosure.

[0018] Figure 4 Depicted is a flow diagram of an example process for synchronizing redundant centralized gateways in an overlay network according to aspects of the present disclosure.

[0019] Figure 5 Depicted is a flow diagram of an example process for synchronizing redundant centralized gateways in an overlay network according to aspects of the present disclosure.

[0020] Figure 6 A block diagram of an example network device of a network according to aspects of the present disclosure is depicted. DETAILED DESCRIPTION

[0021] The present technology generally relates to a provider edge (PE) synchronizer configured to coordinate requests and / or replies in an overlay network. The PE synchronizer uses a lookup table to learn and maintain mappings of hosts of the overlay network, such as Internet Protocol (IP) and / or Media Access Control (MAC) addresses. The PE synchronizer identifies the PE based on protocol messages. When a PE in the overlay network sends a request, if the request comes from a gateway, the PE synchronizer generates a response based on the lookup table. The PE synchronizer sends a response, such as sending a response to all gateways in the overlay network. The PE synchronizer can eliminate any potential inconsistencies between redundant centralized gateways in the overlay network so that traffic is forwarded correctly by any redundant centralized gateway. The PE synchronizer can allow traffic loss caused by host replies to incorrect redundant centralized gateways to be avoided.

[0022] An overlay network can correspond to a virtual network overlaid on an underlying physical network. A physical network can correspond to an underlying network. An overlay network can use tunnels and forwarding tables to provide virtualization and tenant isolation. Each tenant can have its own host, called a tenant system.

[0023] A PE may correspond to a node in an overlay network that performs encapsulation and / or decapsulation to enter and / or exit the overlay network, respectively, through a tunnel. An example PE may be a gateway that connects the overlay network to another network. A gateway may be centralized, redundantly centralized, or distributed.

[0024] A PE synchronizer is implemented to avoid inconsistencies between redundant centralized gateways. The PE synchronizer includes a controller and a data plane. The controller is configured to send messages to or receive messages from PEs participating in a traffic instance. The controller is further configured to receive, generate and / or inject control packets into the data plane. The PE synchronizer can also be configured to participate in underlying routing to establish reachability to other PEs. The data plane is configured to reject traffic except for traffic that the controller is configured to inspect. The data plane is configured to encapsulate packets injected by the controller and route the encapsulated packets to their destinations. The data plane includes multiple bridging tables (BTs) to store MAC and / or IP addresses for synchronizing redundant centralized gateways.

[0025] A controller on a PE synchronizer may be added to a floodlist for each overlay instance. The controller uses protocol advertisements from the PE to build one or more lookup tables of MAC addresses, IP addresses, and / or virtual tunnel endpoint (VTEP) information for the PE. For example, the controller may listen to protocol advertisements from the PE and traffic requests / replies from the host, and may build one or more lookup tables containing mappings of IP addresses and MAC addresses. The data plane is configured to send a message to the controller to generate or update the lookup table.

[0026] Example lookup tables may include a tunnel endpoint table and a MAC-IP table. The controller may build a tunnel endpoint table for each overlay segment or Ethernet virtual private network (EVPN) instance, which may be abbreviated as EVI. The tunnel endpoint table may be populated using routing type 3 (RT-3) announcements. When an RT-3 announcement is received, the controller may populate the table with the IP address and tunnel identifier from the routing entry. If the endpoint is a gateway, it may be marked using routing type 2 (RT-2) announcements. The next-hop IP from RT-2 may be used as a key to find the tunnel endpoint in the table. The controller may maintain a MAC-IP table for each overlay segment / EVI instance. The controller may generate and update mappings of IP addresses and MAC addresses based on address resolution protocol (ARP) / neighbor discovery (ND) requests and replies and RT-2 announcements.

[0027] When the centralized redundant gateway sends a flow request, the controller of the PE synchronizer receives the flow request. The controller performs a lookup in one or more of its tables. If the IP address of the flow request matches, the controller generates a flow reply containing an IP to MAC address mapping and sends the flow reply to the centralized redundant gateway, such as all the centralized redundant gateways in the overlay network. If the flow request does not match, the controller sends another flow request to the actual target, receives a response from the target host including the flow protocol, and generates a flow reply, which is sent to the redundant centralized gateway, such as all the redundant centralized gateways in the overlay network.

[0028] Figure 1 A block diagram of an example overlay network 100 is depicted. The overlay network 100 may correspond to one or more virtual networks located above the host physical network. An overlay network may also be referred to as a network virtualization overlay (NVO) or a tenant network. Example overlay networks may include a virtual local area network (VLAN), a software defined network (SDN), or an Ethernet virtual private network (EVPN) / virtual extensible local area network (VXLAN). EVPN may correspond to a control plane protocol, and VXLAN may correspond to a data plane tunneling protocol. The control plane may determine how data should be managed, routed, and / or processed over the network, and the data plane may perform data management, routing, and / or processing based on instructions from the control plane.

[0029] The overlay network 100 may include a tunnel 102 and / or a forwarding table 104 to provide virtualization and tenant isolation. The forwarding table 104 may store the next hop for each network and forward received packets to the next hop through the tunnel 102. Example tunnels may include VXLAN, Network Virtualization using Generic Routing Encapsulation (NVGRE), or Generic Network Virtualization Encapsulation (GENEVE).

[0030] The overlay network 100 may further include a plurality of provider edges (PEs) 106 connected via tunnels 102. Although for simplicity, Figure 1 Three PEs 106 are depicted, but the overlay network 100 may include any number of PEs 106. The PEs 106 may encapsulate and / or decapsulate to enter and / or exit the overlay network 100, respectively, through the tunnels 102, acting as virtual tunnel endpoints (VTEPs). The PEs 106 may also connect to other PEs within the overlay network 100 through the tunnels 102 to send and / or receive packets. Example PEs may include switches or routers. The PEs 106 may include a bridging table (BT) 110 and / or an integrated routing and bridging (IRB) 112, the BT 110 and the IRB 112 being configured to store MAC and / or IP addresses of hosts of the overlay network 100. The BT 110 and the IRB 112 may provide layer-2 isolation between different tenants via MAC-virtual routing and forwarding (VRF). The BT 110 and the IRB 112 may also provide layer-3 isolation between different tenants via IP-VRF.

[0031] PE 106 may correspond to a gateway that connects overlay network 100 to another network 108 outside of overlay network 100. The gateway may be centralized, redundant centralized, or distributed. When the overlay network includes a single gateway that will be a centralized gateway for entering and exiting the overlay network, the gateway may be a centralized gateway. When the overlay network includes two or more gateways that will be centralized redundant gateways for entering and exiting the overlay network, the gateway may be a redundant centralized gateway. When the overlay network includes each PE as a gateway for entering and exiting the overlay network, the gateway may be a distributed gateway. Figure 1 As depicted in FIG, PE1 and PE2 are redundant centralized gateways, while PE3 is not a gateway. Since PE3 is not a gateway, PE3 does not include an IRB. PE3 only performs bridging, not bridging and routing.

[0032] The redundant centralized gateways may have the same anycast MAC and / or IP address and may be advertised as RT-2 (e.g., EVPN RT-2) to other PEs 106. PEs 106 may select one or more advertisements from the redundant centralized gateways and may program their forwarding tables 104 such that traffic encapsulated with the destination MAC address of the redundant centralized gateway is forwarded to one of the redundant centralized gateways.

[0033] In an example, one redundant centralized gateway may have an IP to MAC mapping for a host, but another redundant centralized gateway may not have an IP to MAC mapping. This may occur because the Address Resolution Protocol (ARP) / Neighbor Discovery (ND) cache entries are not synchronized between the redundant centralized gateways. If traffic from another network to the host arrives at a redundant centralized gateway that does not have an IP to MAC mapping, the redundant centralized gateway that does not have an IP to MAC mapping will attempt to resolve the MAC for the host. If the host sends an ARP / ND reply to another redundant centralized gateway, this operation may not be successful, resulting in traffic loss. The overlay network 100 includes a PE synchronizer 114 having a controller 116 and a data plane 118 to avoid such potential redundant centralized gateway inconsistencies. The PE synchronizer 114 can be connected to the PE 106 via a tunnel 102 to synchronize any redundant centralized gateways in the overlay network 100.

[0034] Figure 2 A block diagram of an example PE synchronizer 200 for an overlay network is depicted. The PE synchronizer 200 may correspond to Figure 1 1. The PE synchronizer 200 may be connected to any redundant centralized gateway via a tunnel 202. The PE synchronizer 200 may include a controller 204 and a data plane 206. The data plane 206 may include a plurality of BTs 208, each of which has a corresponding BT in a PE of the overlay network. For example, if the overlay network has three PEs, each of which includes its own BT, then the PE synchronizer 200 may include three BTs 208 in the data plane 206. The BTs 208 may store MAC and / or IP addresses for synchronizing the redundant centralized gateways.

[0035] The controller 204 may send a message to any PE participating in the traffic instance. The controller 204 may also receive a message from any PE participating in the traffic instance. If the controller 204 receives a message from a redundant centralized gateway, the controller 204 may respond with a MAC address corresponding to the IP address in the message. Other messages received by the controller 204 (e.g., ARP / ND requests / replies from other hosts) may be used to update the lookup table of the PE synchronizer 200. For example, the controller 204 may be configured to send an EVPN message to a PE participating in an EVPN instance (EVI) or to receive an EVPN message from a PE participating in an EVPN instance (EVI). The controller 204 may also generate a control packet and inject it into the data plane 206, as well as receive a control packet from the data plane 206. For example, the controller 204 may be configured to generate, inject and / or receive an ARP / NS to or from the data plane 206.

[0036] PE synchronizer 200 can further determine which PEs are within reach by participating in underlying routing. For example, data plane 206 can accept traffic that controller 204 plans to inspect while rejecting other traffic. Data plane 206 can encapsulate traffic based on inspections from controller 204 and then route the encapsulated traffic to their destinations.

[0037] The PEs may add the controller 204 to their respective flood lists for each traffic instance. The flood list may correspond to a list of all identifiers of PEs participating in a particular broadcast domain or overlay segment advertised using RT-3 advertisements. For example, the flood list may include the IP addresses of the PEs participating in the traffic instance. The controller 204 may generate an RT-3 advertisement announcing itself as a VTEP. PEs receiving the RT-3 advertisement may add the PE synchronizer 200 to their respective flood lists.

[0038] The controller 204 may generate one or more lookup tables using protocol announcements (e.g., RT-2 or RT-3 announcements) from the PE. The controller 204 may store the lookup tables in its memory. The lookup tables may include mappings of IP addresses, MAC addresses, and / or VTEP information. The controller 204 may generate one or more lookup tables by monitoring protocol announcements from the PE and traffic requests or replies from the host (e.g., ARP / ND requests or replies received via the data plane 206). As the controller 204 continues to monitor protocol announcements and traffic requests or replies, it may further update the one or more lookup tables.

[0039] Figure 3 Describes the PE synchronizer (such as Figure 1 14. The example lookup table 300 generated by the controller of the PE synchronizer 114 depicted in FIG. The lookup table 300 may include a tunnel endpoint table 302 and a MAC-IP table 304. The tunnel endpoint table 302 may include fields for the tunnel endpoint IP address, tunnel identifier, and / or whether the tunnel is a gateway to another network. The MAC-IP table 304 may include fields for the MAC address and the IP address.

[0040] The controller can generate and maintain the tunnel endpoint table 302 using each overlay segment or EVI by populating the tunnel endpoint table 302 based on protocol announcements (e.g., RT-3 announcements and RT-2 announcements). When the controller receives an RT-3 announcement, the controller can populate the table with the IP address and tunnel identifier from the routing entry. When the controller receives an RT-2 announcement, the controller can determine whether the endpoint is a gateway based on the next-hop IP address and populate the table accordingly.

[0041] The controller may generate and maintain a MAC-IP table 304 for each overlay segment or EVI. The controller may generate and update mappings of IP addresses and MAC addresses based on traffic requests and replies and protocol announcements. For example, the controller may populate the MAC-IP table 304 using ARP / ND requests or replies and RT-2 announcements.

[0042] When a redundant centralized gateway sends a flow request, the controller of the PE synchronizer may receive the flow request. The controller may look it up in one or more of its tables. If the IP address of the flow request matches, the controller may generate a flow reply containing an IP to MAC address mapping, and may send the flow reply to any redundant centralized gateway. If the flow request does not match, the controller may send another flow request to the actual target, receive a response from the target host including the flow protocol, and generate a flow reply that is sent to any redundant centralized gateway.

[0043] Figure 4 A flow chart of an example process 400 for synchronizing redundant centralized gateways in an overlay network is depicted. The example process 400 may be performed on a system of one or more processors located in one or more locations, such as Figure 1 An example PE synchronizer 114 is depicted in FIG.

[0044] As shown in block 405, the PE synchronizer 114 receives the packet. As shown in block 410, the PE synchronizer 114 determines whether the packet is an RT-3 announcement, for example, by identifying the packet type from one or more fields of the packet encapsulation or the packet frame. The one or more fields may correspond to a protocol encoding. If the packet is an RT-3 announcement, the PE synchronizer 114 may update the tunnel endpoint table of its lookup table, as shown in block 415. For example, the PE synchronizer 114 may update or populate the tunnel endpoint IP address and tunnel identifier fields of the tunnel endpoint table.

[0045] If the packet is not an RT-3 announcement, as shown in box 420, the PE synchronizer 114 determines whether the packet is an RT-2 announcement, for example by identifying the packet type from one or more fields of the packet encapsulation or the packet frame. If the packet is an RT-2 announcement, as shown in box 425, the PE synchronizer 114 determines whether the packet has a gateway (GW) community, for example by identifying whether a gateway community exists in one or more fields of the packet encapsulation or the packet frame. The GW community may refer to a set of redundant gateways. If the packet has a gateway community, as shown in box 430, the PE synchronizer 114 may update its lookup table. For example, the PE synchronizer 114 may update the tunnel endpoint table to indicate that the corresponding entry is a gateway. As another example, the PE synchronizer 114 may update the MAC-IP table with a MAC to IP address mapping.

[0046] If the packet does not have a gateway community, then, as shown in block 435, the PE synchronizer 114 determines whether the packet has an IP address, such as by identifying whether an IP address is present in one or more fields of the packet encapsulation or packet frame. If the packet has an IP address, then, as shown in block 440, the PE synchronizer 114 may update a MAC-IP table in its lookup table. For example, the PE synchronizer 114 may generate or update an IP address in an entry in a MAC to IP address mapping for the packet. If the packet does not have an IP address, then, as shown in block 445, the PE synchronizer 114 may discard the packet.

[0047] Referring back to block 420, if the PE synchronizer 114 determines that the packet is not an RT-2 announcement, the PE synchronizer 114 determines whether the packet is an ARP / ND request, such as by identifying the packet type from one or more fields of the packet encapsulation or packet frame, as shown in block 450. If the packet is not an ARP / ND request, the PE synchronizer 114 may discard the packet, as shown in block 455.

[0048] If the packet is an ARP / ND request, the PE synchronizer 114 determines whether the ARP / ND request is from a gateway, such as from a tunnel source IP address or MAC address source of the ARP / ND request, as shown in block 460. If the ARP / ND request is not from a gateway, the PE synchronizer 114 may update a MAC-IP table of its lookup table, as shown in block 465. For example, the PE synchronizer 114 may update the MAC-IP table to indicate that the corresponding entry is not a gateway.

[0049] If the ARP / ND request is from a gateway, as shown in box 470, the PE synchronizer 114 determines whether there is a corresponding entry for the ARP / ND request in the MAC-IP table. If the ARP / ND request has a corresponding entry in the MAC-IP table, as shown in box 475, the PE synchronizer 114 can construct an ARP / ND reply to send to all gateways of the overlay network. If the ARP / ND request does not have a corresponding entry in the MAC-IP table, as shown in box 480, the PE synchronizer 114 can send the ARP / ND request to the host of the overlay network corresponding to the target of the packet. As shown in box 485, the PE synchronizer 114 can receive a response from the host. As shown in box 490, the PE synchronizer 114 can construct an ARP / ND reply based on the response from the host to send to all gateways of the overlay network. The PE synchronizer 114 can also update the MAC-IP table to generate a corresponding entry.

[0050] Figure 5 A flow chart of an example process 500 for synchronizing redundant centralized gateways in an overlay network is depicted. The example process 500 may be performed on a system of one or more processors located in one or more locations, such as Figure 1An example PE synchronizer 114 is depicted in FIG.

[0051] As shown in block 510, the PE synchronizer 114 receives one or more traffic requests from one or more redundant centralized gateways. The one or more traffic requests may include an ARP / ND request.

[0052] As shown in block 520, the PE synchronizer 114 determines whether a corresponding protocol for the one or more traffic requests is stored in one or more lookup tables. The protocol may include a MAC address, an IP address, and / or VTEP information, and the one or more lookup tables may include a mapping of MAC addresses, IP addresses, and / or VTEP information for one or more redundant centralized gateways.

[0053] For flow requests determined to be stored in one or more lookup tables for their corresponding protocols, the PE synchronizer 114 may generate one or more flow replies based on the stored protocols, as shown in block 530. The one or more flow replies may include ARP / ND replies. As shown in block 540, the PE synchronizer 114 may send the one or more flow replies to the redundant centralized gateways to synchronize them.

[0054] For traffic requests that are determined to have their corresponding protocols not stored in one or more lookup tables, as shown in box 550, the PE synchronizer 114 may send additional traffic requests to the corresponding target host. The additional traffic requests may include ARP / ND requests. As shown in box 560, the PE synchronizer 114 may receive a response from the target host including a protocol for one or more lookup tables. The response may include a mapped MAC address, IP address, and / or VTEP information for updating one or more lookup tables of the redundant centralized gateway. As shown in box 570, the PE synchronizer 114 may generate one or more traffic replies based on the response from the target host. As shown in box 580, the PE synchronizer 114 may send one or more traffic replies to the redundant centralized gateways to synchronize them. As shown in box 590, the PE synchronizer 114 may update one or more lookup tables with the protocol received in the response from the target host.

[0055] Figure 6 A block diagram of an example network device 600 of a network is depicted. The network device 600 may correspond to Figure 1 106 or one of the PE synchronizers 114 of the overlay network 100 depicted in FIG. 100. The network device 600 can participate in the network as a data source, a data destination, or a data sink, and / or an intermediate device (e.g., a switch, a router, and / or a gateway that propagates data from a source to a destination through the network). The network device 600 can be connected to other network devices within the network via network links.

[0056] The network can facilitate interaction and / or information transmission between the network device 600 and other network devices. Example networks include the Internet, a local area network, a network structure, or any other local area network or wide area network. The network can include multiple connected subnets or autonomous networks. The network can be a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), an interconnected network such as the Internet, or a peer-to-peer network. The network can use any type and / or form of data network and / or communication network. The network can be a public network, a private network, or a combination of a public network and a private network.

[0057] The network device 600 may include one or more processors 602 in communication with a memory 604, at least one network interface controller 606, input / output (I / O) components 608, and other components 610. The processor 602 may communicate or be connected to the memory 604, the network interface controller 606, the I / O components 608, and / or other components 610 via a bus 612. The processor 602 may be associated with or connected to a buffer memory 614. In some examples, instructions are read from the memory 604 into the buffer memory 614 and executed by the processor 602 from the buffer memory 614.

[0058] Processor 602 can be any logic circuit that executes instructions obtained from memory 604 or cache 614. Processor 602 can be a microprocessor unit or a dedicated processor. Network device 600 can be based on any processor or processor set capable of operation as described herein. Processor 602 can be a single-core processor or a multi-core processor. Processor 602 can be a plurality of different processors. Processor 602 can be implemented as a circuit on one or more chips. As an example, processor 602 may include one or more central processing units (CPUs), graphics processing units (GPUs), field programmable gate arrays (FPGAs), and / or application-specific integrated circuits (ASICs), such as tensor processing units (TPUs).

[0059] Memory 604 may be any temporary computer-readable medium or non-temporary computer-readable medium for storing computer-readable data, such as volatile memory or non-volatile memory. Memory 604 may be fixed memory or removable memory. Examples may include hard drives, solid-state drives, tape drives, optical storage, memory cards, ROM, RAM, DVD, CD-ROM, writable memory, and read-only memory. Memory 604 may include instructions 616 and data 618.

[0060] Instructions 616 may include one or more instructions that, when executed by processor 602, cause one or more processors to perform actions defined by instructions 616. Instructions 616 may be stored in an object code format so that they are directly processed by processor 602, or in other formats, including a collection of interpretable scripts or independent source code modules that are interpreted on demand or pre-compiled. Instructions 616 may include instructions for synchronizing redundant centralized gateways of an overlay network. Instructions 616 may be executed using processor 602 and / or using other processors that are remote from network device 600.

[0061] Processor 602 may retrieve, store, or modify data 618 in accordance with instructions 616. Data 618 may be stored in a computer register, as a table with a plurality of different fields and records, or in a relational or non-relational database as a JSON, YAML, proto, or XML document. Data 618 may also be formatted in a computer readable format, such as, but not limited to, binary values, ASCII, or Unicode. In addition, data 618 may include information sufficient to identify the relevant information, such as numbers, descriptive text, proprietary codes, pointers, references to data stored in other memories (including other network locations), or information used by a function to calculate the relevant data.

[0062] Cache memory 614 may be a form of computer memory placed near processor 602 for fast access. Cache memory 614 may be part of processor 602 or on the same chip as processor 602. There may be multiple levels of cache 614, such as a second and third level cache layer.

[0063] The network interface controller 606 may manage data exchanges via the network interface 620. The network interface controller 606 may handle the physical layer and the data link layer of the open system interconnection (OSI) model for network communications. Some tasks of the network interface controller 606 may be handled by one or more processors 602. The network interface controller 606 may be incorporated into the processor 602, such as a circuit on the same chip.

[0064] The network device 600 may have multiple network interfaces 620 controlled by a single controller 606 or multiple network interface controllers 606. Each network interface 620 may be a connection point for a physical network link (e.g., a cat-5 or cat-6 Ethernet link). The network interface controller 606 may support wireless network connections, and the interface port 620 may be a wireless (e.g., radio) receiver / transmitter. The network interface controller 606 may implement one or more network protocols, such as Ethernet. The network device 600 may exchange data with other network devices via a physical link or a wireless link through the network interface 620. The network interface 620 may be directly linked to another device or linked to another device via an intermediate device, such as a hub, a bridge, a switch, or a router, which connects the network device 600 to a data network such as the Internet.

[0065] Network device 600 may include or provide an interface for one or more input or output (I / O) components 608. As examples, input devices may include keyboards, microphones, touch screens, sensors, and pointing devices, such as a mouse or trackball. Output devices may include video displays, speakers, and printers, among others.

[0066] Other components 610 may include I / O interfaces, external serial device ports, and any additional coprocessors. For example, network device 600 may include interfaces, such as a universal serial bus (USB) interface, for connecting input devices, output devices, or additional storage devices, such as a portable flash drive or an external media drive. Network device 600 may include additional coprocessors, such as a math coprocessor, to assist processor 602 in performing high-precision or complex calculations.

[0067] Aspects of the present disclosure may be implemented in digital circuits, computer-readable storage media, one or more computer programs, or a combination of one or more of the foregoing programs. The computer-readable storage medium may be non-transitory, for example, as one or more instructions executable by a cloud computing platform and stored on a tangible storage device.

[0068] The phrase "configured to" is used in different contexts in relation to a portion of a computer system, hardware, or computer program. When a system is configured to perform one or more operations, it means that the system has appropriate software, firmware, and / or hardware installed on the system that, when run, causes the system to perform the one or more operations. When certain hardware is referred to as being configured to perform one or more operations, it means that the hardware includes one or more circuits that, when run, receive inputs and generate outputs based on the inputs and corresponding to the one or more operations. When a computer program is referred to as being configured to perform one or more operations, it means that the computer program includes one or more program instructions that, when executed by one or more computers, cause the one or more computers to perform the one or more operations.

[0069] Unless otherwise stated, the above alternative examples are not mutually exclusive, but can be implemented in various combinations to achieve unique advantages. Since these and other variations and combinations of the above features can be utilized without departing from the subject matter defined by the claims, the foregoing description of the embodiments should be regarded as an illustration rather than a limitation of the subject matter defined by the claims. In addition, the provision of examples described herein and the terms "for example," "including," etc. should not be interpreted as limiting the subject matter of the claims to specific examples; on the contrary, these examples are intended to illustrate only one of many possible embodiments. In addition, the same reference numerals in different figures may identify the same or similar elements.

Claims

1. A method for synchronizing redundant centralized gateways in an overlay network, characterized in that: include: Receiving, by one or more processors, one or more traffic requests from one or more redundant centralized gateways; determining, by the one or more processors, for each of the one or more traffic requests, whether a corresponding protocol of the one or more traffic requests is stored in one or more lookup tables; generating, by the one or more processors, a respective flow reply associated with each of the one or more flow requests determined to have the respective protocol stored in the one or more lookup tables; as well as The traffic reply is sent by the one or more processors to the one or more redundant centralized gateways.

2. The method according to claim 1, characterized in that Further including: sending, by the one or more processors, a corresponding additional flow request to a target host associated with each of the one or more flow requests, the one or more flow requests being determined to not have the corresponding protocol stored in the one or more lookup tables; as well as A corresponding response is received by the one or more processors from the target host, the target host including a protocol for storage in the one or more lookup tables.

3. The method according to claim 2, characterized in that Further including: generating, by the one or more processors, a corresponding additional traffic reply based on the response from the target host; as well as The additional traffic reply is sent by the one or more processors to the one or more redundant centralized gateways.

4. The method according to claim 2, characterized in that: Further included is updating, by the one or more processors, the one or more lookup tables with the protocol from the target host.

5. The method according to claim 1, characterized in that: Further including: identifying, by the one or more processors, the one or more redundant centralized gateways by receiving a protocol advertisement; as well as The one or more lookup tables are generated by the one or more processors using the protocol advertisements.

6. The method according to claim 5, characterized in that The protocol advertisement includes at least one of a routing type (RT)-2 advertisement or a RT-3 advertisement.

7. The method according to claim 1, characterized in that The one or more lookup tables include mappings of media access control (MAC) addresses and internet protocol (IP) addresses of the one or more redundant centralized gateways.

8. The method according to claim 1, characterized in that: The one or more traffic requests include an Address Resolution Protocol (ARP) / Neighbor Discovery (ND) request, and the traffic reply includes an ARP / ND reply.

9. A system, characterized in that: include: one or more processors; as well as One or more storage devices, the one or more storage devices being coupled to the one or more processors and storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations for synchronizing redundant centralized gateways in an overlay network, the operations comprising: receiving one or more traffic requests from one or more redundant centralized gateways; determining, for each of the one or more flow requests, whether a corresponding protocol of the one or more flow requests is stored in one or more lookup tables; generating a respective flow reply associated with each of the one or more flow requests determined to have the respective protocol stored in the one or more lookup tables; and The traffic reply is sent to the one or more redundant centralized gateways.

10. The system according to claim 9, characterized in that The operations further include: sending a corresponding additional traffic request to a target host associated with each of the one or more traffic requests that are determined not to have the corresponding protocol stored in the one or more lookup tables; and A corresponding response is received from the target host, the target host including a protocol for storage in the one or more lookup tables.

11. The system according to claim 10, characterized in that The operations further include: generating a corresponding additional traffic reply based on the response from the target host; and The additional traffic reply is sent to the one or more redundant centralized gateways.

12. The system according to claim 10, characterized in that The operations include updating the one or more lookup tables with the protocol from the target host.

13. The system according to claim 9, characterized in that The operations further include: identifying the one or more redundant centralized gateways by receiving a protocol advertisement; and The one or more lookup tables are generated using the protocol advertisement.

14. The system according to claim 13, characterized in that The protocol advertisement includes at least one of a routing type (RT)-2 advertisement or a RT-3 advertisement.

15. The system according to claim 9, characterized in that The one or more lookup tables include mappings of media access control (MAC) addresses and internet protocol (IP) addresses of the one or more redundant centralized gateways.

16. The system according to claim 9, characterized in that The one or more traffic requests include an Address Resolution Protocol (ARP) / Neighbor Discovery (ND) request, and the traffic reply includes an ARP / ND reply.

17. A non-transitory computer-readable medium for storing instructions, characterized in that: When the instructions are executed by one or more processors, the one or more processors are caused to perform operations for synchronizing redundant centralized gateways in an overlay network, the operations comprising: receiving one or more traffic requests from one or more redundant centralized gateways; determining, for each of the one or more flow requests, whether a corresponding protocol of the one or more flow requests is stored in one or more lookup tables; generating a respective flow reply associated with each of the one or more flow requests determined to have the respective protocol stored in the one or more lookup tables; and The traffic reply is sent to the one or more redundant centralized gateways.

18. The non-transitory computer readable medium of claim 17, wherein: The operations further include: sending a corresponding additional flow request to a target host associated with each of the one or more flow requests that are determined not to have the corresponding protocol stored in the one or more lookup tables; receiving a corresponding response from the target host, the target host including a protocol for storage in the one or more lookup tables; generating a corresponding additional traffic reply based on the response from the target host; and The additional traffic reply is sent to the one or more redundant centralized gateways.

19. The non-transitory computer readable medium of claim 18, wherein: The operations include updating the one or more lookup tables with the protocol from the target host.

20. The non-transitory computer readable medium of claim 17, wherein: The one or more lookup tables include mappings of media access control (MAC) addresses and internet protocol (IP) addresses of the one or more redundant centralized gateways.