The subject matter described herein relates to performing layer 3 routing using topology information derived from layer 2.
In a layer 2 topology domain, such as a shortest path bridging (SPB) or spanning tree protocol (STP) domain, layer 2 nodes perform layer 2 packet forwarding to directly connected devices. In order to perform layer 3 routing in such a network, the layer 2 nodes forward packets to a layer 3 router, which typically routes packets between VLANs. As a result, a packet must traverse the layer 2 topology domain to the layer 3 router, from the layer 3 router back through the layer 2 topology domain, and to the destination. Such double traversal of the layer 2 network is undesirable as it increases the time required to forward each packet. In addition, a router redundancy protocol may be run on the layer 3 routers to provide redundancy for hosts and servers in the network. In a network supporting tens of thousands of users over thousands of VLANs, running a router redundancy protocol on potentially all of the VLANs can be debilitating and reduce network performance as well as increase CPU utilization on routers running the protocol.
Accordingly, there exists a need for improved methods, systems, and computer readable media for virtual fabric routing.
The subject matter described herein includes methods, systems, and computer readable media for virtual fabric routing. One system includes at least one virtual fabric routing (VFR) service router agent for providing access to layer 3 routing. The system further includes at least one VFR proxy forwarder device, for performing layer 3 routing for packets traversing virtual local area networks (VLANs) within a virtual fabric routing domain and for forwarding, to an address provided by the at least one VFR service router agent, packets for which a layer 3 address resolution fails.
As used herein, the term “VFR domain” refers to all or a subset of VFR proxy forwarder devices and associated service routers that perform virtual fabric routing as described herein. Nodes within a VFR domain may participate in a layer 2 topology discovery protocol to learn about other nodes in the domain.
The subject matter described herein can be implemented using a non-transitory computer readable medium having stored thereon executable instructions that when executed by the processor of a computer control the computer to perform steps. Exemplary computer readable media for implementing the subject matter described herein may include chip memory devices, disk memory devices, programmable logical devices, and application specific integrated circuits. In addition, a computer readable medium that implements the subject matter described herein may be located on a single device or computing platform or may be distributed across plural devices or computing platforms.
Preferred embodiments of the subject matter described herein will now be described with reference to the accompanying drawings of which:
Virtual Fabric Routing—The subject matter described herein provides highly scalable and efficient virtualized layer 3 routing over any layer 2 network infrastructure. The fabric can scale from a single chassis to a large collection of devices that use any layer 2 protocol to form its topology. The layer 2 topology protocol can be one that forms a single path, like spanning tree or a multipath service like Shortest Path Bridging (SPB). In one implementation of the subject matter described herein, a layer 2 service proliferates all VLANs to the packet forwarding devices, referred to as VFR proxy forwarders, within the VFR domain. One aspect of the subject matter described herein is to offer a routing solution that most efficiently utilizes the layer 2 infrastructure by leveraging its topology protocols in place of layer 3 topology protocols. Of interest are those layer 2 services that support multiple egress paths, have knowledge of all VLANS, and allow hosts to freely move throughout a layer 2 domain. Virtual fabric routing supports the establishment of a network-wide, distributed virtual routing system where all of the devices in the system work as a single and collective layer 3 forwarding mechanism. In such an implementation, routing becomes an integrated service of the layer 2 domain and packet forwarding from source to final destination is more optimized.
For example, Shortest Path Bridging or SPB is a layer 2 technology defined by IEEE 802 that augments the IEEE 802 spanning tree protocol to utilize multiple paths and defines SPBV, a type of SPB, to service multiple VLANs. In an SPBV network, routers attach at the edge of the SPBV network to forward traffic between customer VLANS. The routers at the edge of the network receive IP packets from the nodes in the network, route the packets, determine the appropriate VLANs for the packets, and forward the packets back into the layer 2 network on different VLANS. The packet forwarding nodes within the layer 2 network do not have any layer 3 routing capabilities. Because the router receives packets and forwards the packets back into the same layer 2 network, the router is often referred to as a “one-armed router”. Although this one-armed routing function is workable, it does not provide the most direct path through the network.
As shown in
In
A similar routing scenario occurs for packets originating from host A 118. In the example illustrated in
Thus, in
The path from host C 122 to host E 124 is even less efficient than the previous examples. In
In addition to the routing inefficiencies illustrated in
VFR provides an integrated routing service in that VFR proxy forwarders have layer 3 routing capabilities for directly connected nodes. VFR leverages layer 2 features, such as VLAN propagation, multipath topology, fast convergence, and MAC reachability to provide a simpler and efficient routing service that eliminates or reduces the need for routing protocols. By eliminating or reducing the need for routing protocols, the subject matter described herein can scale to support routing across the thousands of VLAN interfaces that may be present in a complex L2 domain. The elimination of or reduced need for L3 routing protocols also eliminates or reduces the need for interactions which occur between L2 topology changes and L3 topology changes.
Virtual fabric routing operates on the principle that hosts within a layer 2 domain are at most one routed hop away from other hosts. Assuming all VLAN interfaces are on every edge device, VFR proxy forwarders can route directly to their destinations using layer 2 services to perform the multipath and MAC reachability. Only when a VFR proxy forwarder cannot route must it forward to a border or service router that can. In a sense this method distributes limited routing throughout the SPB domain leaving full IP forwarding on a few selected service routers for packets which exit the VFR domain.
The term “service router” as used herein, refers to a device that includes both layer 3 routing functionality and VFR service router agent functionality (defined below). The term “router” refers to a device that includes layer 3 routing functionality but that does not necessarily include VFR service router agent functionality. A router becomes a service router when VFR service router agent functionality is added to the router.
VFR proxy forwarder devices may utilize virtual IP addressing concepts described by VRRP allowing for simple and shared routing configurations to be deployed on participating devices.
Although a VFR enabled device can coexist with routing protocols allowing routed packets to transit through a layer 2 domain, the VFR service is best suited for edge routing scenarios typically used in enterprise networks and datacenters that require routing, including configuration using multiple VLANs.
Furthermore, the routing capabilities information that is carried by the layer 2 topology or other protocol may contain a priority field allowing VFR proxy forwarders 100A, 106A, and 108A to consider when selecting a router MAC in the forwarding plane. In the SPBV example above, the layer 2 topology protocol used to carry the router capabilities is intermediate system to intermediate system (IS-IS) which supports the parameters for the router.
Virtual fabric routing differs from traditional routing configurations in that VFR proxy forwarders 100A, 106A, and 108A run a layer 2 topology protocol and may have the exact same router interface configuration to each VLAN on each device. Traditional routing setups require each interface on each router to have a different IP address, an active redundancy protocol like VRRP, and/or static route configuration, and/or L3 topology protocols like open shortest path first (OSPF).
In
The packets from host B 110 to host D 114 traverse 2 hops (one layer 3 router hop and one layer 2 bridging hop) using VFR forwarding. This can be contrasted with the example in
In another example, when host A 118 sends packets on VLAN 122 to VFR proxy forwarder device 100A that are layer 3 addressed to destination G 120, VFR proxy forwarder device 100A attempts to perform a layer 3 address lookup and determines that it does not have a layer 3 address provisioned for destination G. Accordingly, VFR proxy forwarder device 100A forwards the packets to service router 102A on the same VLAN, VLAN 1. Service router 102A performs a layer 3 address lookup for the packets, resolves the IP address of the packets, and forwards the packets to destination G 120 The operations performed by VFR proxy forwarder device 100A in forwarding packets whose IP addresses cannot be resolved to service router 102A is different from the forwarding mechanism illustrated in
In another routing example, packets leaving host C 122 that are layer 3 addressed to host E 124 only go through a single hop in the network because VFR proxy 108A performs the layer 3 address lookup for the packets and forwards the packets from host C to host E. This can be contrasted with the traditional case illustrated in
It should be noted that for packets entering the VFR domain from outside of the VFR domain, the first hop will be a layer 3 router hop (either to a router, a VFR proxy, or to a destination host (as in the C-E case above). In the SPB network illustrated in
Another difference between the architectures illustrated in
The following are exemplary features of the subject matter described herein. However, the subject matter described herein is not limited to a device, system, or method that includes any combination of these features.
(1) Concept of VFR Proxy Forwarding
(2) Common Routing Interface Configuration
(3) Discovery of Router MAC Addresses
(4) Virtualized Default Gateways to Support Mobility of Users, Hosts, Clients, and Servers within the Switch Fabric Domain.
(5) Eliminate Layer 3 Routing Protocols
In the illustrated example, the VFR proxy forwarder further includes a layer 2 topology protocol module 306, such as SPB, to build the underlying layer 2 topology. The L2 topology protocol module 306 may utilize a layer 2 topology discovery protocol, such as IS-IS, to learn the MAC address of the service router. This module also may contain the L2 forwarding database (FDB).
In one embodiment, the VFR proxy forwarding module 304 may use an extension to IS-IS to learn the MAC and/or IP address of the service router. For example, the service router agent may insert its VFR capabilities information into an IS-IS LSP-0 message as experimental TLV 250 and send the message to VFR proxy forwarder devices in the layer 2 domain. The TLV may be present with the virtual fabric routing flag set to not-in-service or the TLV may be not present at all. The case where TLV is present but the VFR flag is set to not-in-service may be used when the feature is de-configured and sent for a period of several (perhaps three) LSP refresh intervals. Table 1 below illustrates exemplary fields that may be included in TLV 250 to support VFR. Table 2 illustrates exemplary flag bits for the flag field of TLV 250 to support VFR. Table 3 illustrates values for non-reserved flag bits to support VFR.
In Table 3, if bit 5 of the flag bits for TLV 250 is set to “in service”, and bit 6 is set to “IPv6 address is present”, then the receiving VFR proxy forwarder device 100A, 106A, or 108A knows that the IS-IS experimental TLV 250 contains an IPv6 address. The IPv6 address will be carried in bytes 14-33 of the IS-IS experimental TLV 250. When VFR proxy forwarder device 100A, 106A, or 108A receives such an IS-IS TLV, the receiving VFR proxy forwarder device 100A, 106A, or 108A updates its layer 3 address table to associate the IPv6 address of the service router with the router default MAC address, which may be statically configured within VFR proxy forwarder 100A, 106A, or 108A.
To avoid flooding of unknown MAC addresses from downstream VFR proxy forwarder devices within the VFR network or domain, service routers may periodically send gratuitous ARP requests to VFR proxy forwarder devices to keep the MAC addresses of the service routers in the filter databases, which hold learned MAC addresses along with the physical port on which the addresses are learned. Without such gratuitous ARP requests, the MAC addresses used by the routers for ARP messages and maintained by the VFR proxy forwarder devices would age out and be deleted. Unwanted flooding can occur as a result of the age out.
The gratuitous ARP requests may be sent on VFR facing interfaces only to maintain their MAC address with downstream forwarding devices. The interval between the gratuitous ARP requests may be synchronized with FDB age-out timers minus a predetermined time period designed to ensure that the MAC router address is updated in each VFR proxy forwarder device before the age-out timer expires. The interval may update after the next timer fires on any change to FDB age-out and may cease when VFR is disabled. In addition, unicast ARP requests may be sent to the service router's router-id by the VFR proxy forwarder devices when the service router's FDB entry is not found. These are efforts to maintain a service router's MAC address in the forwarding database of each VFR proxy forwarder per VLAN ID (VID) and avoid flooding of unknown MACs commonly found in asymmetrical routing scenarios.
In one implementation of the subject matter described herein, a VFR proxy forwarder device may invoke a process, referred to as a “custom user exit” when another VFR proxy forwarder device joins or leaves the VFR topology.
The IS-IS LSP-0 or LSP-1 message with TLV 250 will be received by the VFR proxy forwarders. IS-IS running on the VFR proxy forwarder device may call the custom user exit to decode the TLV. The service router information is passed along to the L3 forwarding element of the VFR proxy forwarder device using an “Update” call. (Action, Router-ID, SYSID (MAC))
Action—0 is delete, 1 is update (new or changed).
Router-id must be present and unique throughout the SPB network.
The VFR proxy forwarder device obtains the router MAC address from the SYSID of the node obtained from TLV 250 and may be the same for all VLAN interfaces.
The custom user exit may be called with the delete action if the TLV is no longer present or the not-in-service flag is set. The SPB code may store a VFR status flag for each SYSID to speed up the processing and to know when to make the user exit call.
The subject matter described herein is not limited to using the layer 2 topology discovery protocol to communicate the service router MAC address to the VFR proxy forwarders. In an alternate embodiment, an existing or new (e.g., a proprietary protocol) may be used to communicate the service router MAC address to the VFR proxy forwarder devices. In yet another alternate embodiment, the VFR proxy forwarders may be configured with the MAC address of the service router.
Service router 102A or 104A may also include a layer 2 topology protocol module 306 that runs the same layer 2 topology protocol as the VFR proxy forwarder devices so that service router 102A or 104A can learn the topology of the layer 2 domain. This module may also contain the L2 forwarding database (FDB). Service router 102A or 104A may use the IS-IS extension described above or any of the alternate mechanisms described herein to communicate its MAC address and VFR service capabilities to the VFR proxy forwarder devices.
VFR service router agent 407 provides access to layer 3 routing services of service router 102A or 104A by making the MAC address of service router 102A or 104A available to the VFR proxy forwarders. VFR service router agent 407 may make the MAC address available to the VFR proxy forwarders in any suitable manner, such as a layer 2 topology discovery protocol.
Although in the illustrated example VFR service router agent 407 is a component of service router 102A or 104A, the subject matter described herein is not limited to such an embodiment. VFR service router agent 407 may operate on a device, such as a computing platform having a processor and a memory that is separate from a layer 3 router. The term “VFR service router agent device” is used herein to refer generally to the device on which the VFR service router agent executes, whether the device is a router, another network node, or server device.
VFR service router agent 407 includes the above-mentioned layer 3 redundancy protocol module 408 (which is optional) and announcement protocol module 409 that announces the router's MAC address (received from module 404 to VFR proxy forwarder devices. This is typically done by providing the layer 2 address of the layer 3 router's interface in an announcement protocol, including, but not limited to the aforementioned layer 2 topology discovery protocol. Proprietary or extensible protocols (such as IS-IS) or manual operations may be used to provide the interface information to the VFR proxy forwarder devices. VFR service router agent 407 further includes VFR service function 404. VFR service function 404 identifies an interface to the router providing layer 3 services for the VFR domain. Overall, VFR service router agent 407 comprises a facility or software that embodies some or all of components 404, 408 and 409. These components can be added to a traditional router to create a service router. Alternatively, VFR service router agent 407 may be added in part or in whole to other devices of the network system.
The example illustrated in
VFR proxy forwarding improves the technological fields of layer 2 and layer 3 packet forwarding by reducing latency when routing within VFR domain. L3 forwarding tables of the VFR proxy forwarder devices are smaller than traditional routers would need in the same size network. The L3 forwarding tables in the VFR proxy forwarding devices need not include forwarding table entries for devices or networks outside of the VFR domain. Configuration is greatly lessened over traditional networks, as the VFR proxy forwarders may have identical routing configurations for each interface. VLAN forwarding within the VFR domain is easier than in the traditional network (see
One advantage of the VFR forwarding function being distributed throughout the layer 2 or VFR domain is that such distribution improves overall path costs when compared with traditional routing approaches. By directly forwarding from the VFR proxy forwarder devices, the sum of link metrics in the possible forwarding paths in the VFR domain will never be greater than the traditional approach. Furthermore, the sum of all path costs from all client hosts to every other client host will have lower aggregate path cost when the number of client hosts is greater than the number of bridge nodes in the network. This lower path cost will result in equal or lower latency than in the corresponding traditional topology where a one-armed router is used (see
It will be understood that various details of the presently disclosed subject matter may be changed without departing from the scope of the presently disclosed subject matter. Furthermore, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation.
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 62/044,161, filed Aug. 29, 2014, the disclosure of which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62044161 | Aug 2014 | US |