TECHNICAL FIELD

The disclosure relates to computer networks and, more particularly, to forwarding packets within virtual networks.

BACKGROUND

In a typical cloud data center environment, there is a large collection of interconnected servers that provide computing (e.g., compute nodes) and/or storage capacity to run various applications. For example, a data center comprises a facility that hosts applications and services for customers of the data center. The data center for example, hosts all the infrastructure equipment, such as networking and storage systems, redundant power supplies, and environmental controls. In a typical data center, clusters of storage systems and application servers are interconnected via high-speed switch fabric provided by one or more tiers of physical network switches and routers. More sophisticated data centers provide infrastructure spread throughout the world with subscriber support equipment located in various physical hosting facilities.

Network convergence and fast failover have become instrumental in high performance service provider networking due to the increasing deployment of sensitive applications (e.g., real-time). Software Defined Networking (SDN) platforms may be used in data centers, and in some cases, may use a logically centralized and physically distributed SDN controller, and a distributed forwarding plane in virtual routers that extend the network from physical routers and switches in the data center into a virtual overlay network hosted in virtualized servers (referred to as compute nodes). The SDN controller provides management, control, and analytics functions of a virtualized network and orchestrates the virtual routers by communicating with the virtual routers.

Losing communication between the SDN controller and the virtual routers of the compute nodes may result in degraded or non-functional cloud-based services within the data center environment. Similarly, losing communication between the SDN controller and an SDN gateway may also disrupt delivery of the cloud-based services. The SDN controller may take some time to detect when a compute node or SDN gateway has failed, and once the SDN controller detects the failure, it takes time for the SDN controller to communicate route updates reflecting the failure to other compute nodes and SDN gateways. Meanwhile, other devices in the overlay network will continue sending traffic to the failed compute node or SDN gateway, and that traffic will be dropped, an issue referred to as “blackholing.”

SUMMARY

In general, this disclosure describes techniques for decreasing disruption to traffic flow within Software Defined Networking (SDN) platforms when communication is lost between an SDN controller and devices of an underlay network. The underlay network is made up of physical devices and connections over which an overlay network provides network virtualization. The underlay network may be made up of physical nodes including one or more gateway routers (also referred to herein as SDN gateways), compute nodes, and leaf switches and spine switches of a switch-based Internet Protocol (IP) fabric (also referred to herein as a data center switch fabric) that communicatively couples the compute nodes and the SDN controller. Compute nodes may be servers that execute virtual routers implementing a distributed forwarding plane for one or more virtual networks. The SDN controller and the virtual router of the compute node communicate to share information to control forwarding of tenant traffic within the virtual networks to reach network destinations.

In accordance with the techniques of this disclosure, nodes of the IP fabric are configured to propagate compute node routes to the SDN controller. The SDN controller maintains an overlay routing table that stores overlay network routes (e.g., VPN routes) that are advertised to the SDN controller directly by virtual routers of the compute nodes and/or gateways routers of the data center. The SDN controller also maintains an underlay routing table that stores underlay network routes obtained by the SDN controller as it synchronizes underlay network routing state with the IP fabric by exchanging routing protocol messages with nodes of the IP fabric. The SDN controller performs next hop reachability checks based on the synchronized underlay network routing state before forwarding network traffic using overlay network routes received directly from the compute nodes. In this way, the presence or absence of an underlay network route is a trigger for controlling the distribution or withdrawal of overlay network routes in the overlay network.

This disclosure describes techniques for leveraging a routing protocol to propagate a static underlay network route for reaching the compute node (e.g., a node locator prefix of the compute node, such as an IPv4 or IPv6 prefix of the compute node) from a leaf node (e.g., top-of-rack switch) of the switch fabric. The nodes of the IP fabric distribute the static underlay network route for the compute node, using the network protocol, to the SDN controller. The SDN controller then associates the existence of the static, underlay route to the compute node with “reachability” or “liveness” of the compute node, and is configured to perform a next hop reachability check by first checking whether a route exists in stored routing information before forwarding network traffic to an overlay route associated with the compute node. In this manner, the presence of underlay network routes at the SDN controller are triggers for the SDN controller distributing overlay network routes to peers in the overlay network.

As described in this disclosure, leaf nodes in the IP fabric are configured to run a fault detection protocol session, such as a Bidirectional Forwarding Detection (BFD), between a forwarding plane of each of the leaf nodes and a virtual router of a respective compute node. In this manner, the leaf nodes in the IP fabric can quickly detect when communication with a compute node via the leaf node of the underlay network has failed. In some examples, the BFD session is associated with a Border Gateway Protocol session between the leaf node and the virtual router of the compute node. If the fault detection protocol session of the leaf node detects that communication to the virtual router of the compute node has failed, the leaf node communicates the failure of the underlay network by sending a routing protocol message to a spine node in the IP fabric, withdrawing the underlay network route associated with the compute node. The spine node in turn communicates the underlay network route withdrawal to the SDN controller, and the SDN controller updates its underlay network routing table to withdraw the underlay network route for the unreachable virtual router or compute node. The SDN controller then sends messages to other compute nodes, SDN gateways, or other devices to withdraw the static, underlay routes associated with the failed underlay communication for the compute node.

In this way, the SDN controller is configured to tie advertisement of the overlay network routes (VPN routes) to the presence or absence of the static, underlay network route. The SDN controller only advertises an overlay network route, for a given virtual router, to the other virtual routers of the overlay if the static underlay network route exists. By triggering and controlling the withdrawal of the underlay network route via BFD, the SDN controller controls the advertisement of the overlay routes, which otherwise cannot be tied to liveliness detection by BFD.

In this manner, the techniques of this disclosure may improve the availability of SDN-based services. The techniques of this disclosure may provide one or more advantages. For example, the techniques of this disclosure may provide better integration of the compute nodes with the IP fabric. This approach considers various elements of a virtualized infrastructure: the network virtualization solution (including the SDN controller and virtual routers/virtual agents on compute nodes), the underlay switching layer (e.g., switch-based IP Fabric), as well as the SDN Gateway (e.g. routers). In some aspects, the disclosure provides an approach for integration between the overlay network and the IP fabric, and addresses certain complexities that arise with this approach.

For example, the techniques may avoid traffic blackholing and provide better routing consistency, by more quickly converging the forwarding state with the actual state of the network topology. In some aspects, using micro BFD on all member links of a link aggregation group can help provide faster failure detection. The techniques may provide for good stability of the SDN controller control plane, because only the data plane is checked, in the form of next hop reachability checks to confirm tunnel endpoint liveness. The techniques may also avoid a false positive situation due to underlay failure, which could potentially lead to a double failure in the overlay network (e.g., primary and backup down at the same time).

In one example aspect, a method includes storing, by a Software Defined Networking (SDN) controller, an underlay routing table having a set of routes for an underlay network of a data center and an overlay routing table having a set of routes for at least one virtual network of an overlay network for the data center, wherein the underlay network includes a plurality of physical network switches, gateway routers, and a set of virtual routers executing on respective compute nodes of the data center; installing, within the underlay routing table of the SDN controller, a route to a destination address assigned to a particular one of the virtual routers as an indicator of a reachability status to the particular virtual router in the underlay network; and controlling, with the SDN controller and based on the presence or absence of the route within the underlay routing table to the particular one of the virtual routers, advertisement of one or more of the routes for the at least one virtual network of the overlay network.

In a further example aspect, an SDN controller includes processing circuitry in communication with a memory, the processing circuitry being configured to: store an underlay routing table having a set of routes for an underlay network of a data center and an overlay routing table having a set of routes for at least one virtual network of an overlay network for the data center, wherein the underlay network includes a plurality of physical network switches, gateway routers, and a set of virtual routers executing on respective compute nodes of the data center; install, within the underlay routing table of the SDN controller, a route to a destination address assigned to a particular one of the virtual routers as an indicator of a reachability status to the particular virtual router in the underlay network; and control, based on the presence or absence of the route within the underlay routing table to the particular one of the virtual routers, advertisement of one or more of the routes for the at least one virtual network of the overlay network.

In another example, a method includes installing, within a routing table of a leaf switch of an Internet Protocol (IP) fabric of an underlay network of a data center, an underlay network route to a destination address assigned to a virtual router executing on a compute node, wherein the underlay route provides an indicator of a reachability status to the particular virtual router; and determining, by the leaf switch and via a fault detection protocol session established between the leaf switch and the virtual router, that the virtual router is not responding on the fault detection protocol session; and in response to determining that the virtual router is not responding on the fault detection protocol session, sending, by the leaf switch and toward a spine node that peers with an SDN controller that manages an overlay network, a route withdrawal message withdrawing the underlay network route associated with the virtual router to indicate communication failure with the virtual router.

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

