Cisco FabricPath: Is it Switching, Routing or a Bit of Both?
Learn how Cisco FabricPath combines the benefits of Layer 2 Switching and Layer 3 Routing, allowing for the scalability and flexibility of Layer 2 while supporting traditional Layer 3 components such as optimal paths, equal cost multipath routing and a Time to Live (TTL) field.
Cisco FabricPath has often been described as routing at Layer 2. Anybody who has attended a networking course or read a networking book that teaches the OSI 7 layer model would surely see that statement as a contradiction. They would argue that routing is a Layer 3 function. The purpose of this white paper is to understand Cisco FabricPath and to explain why routing at Layer 2 can be an acceptable description of Cisco FabricPath. To understand why the phrase "Routing at Layer 2" is used to describe Cisco FabricPath, we first have to revisit the difference between Layer 2 which is switching and Layer 3 which is routing.
Layer 2 Switching
The only Layer 2 LAN protocol to have survived the test of time is Ethernet. It was created in the 1970s by Xerox and later promoted as the standard by DEC, Intel, and Xerox in the early 1980s. It became an IEEE 802.3 Working Group's official standard soon after.
Limitations of Layer 2 Switching
Switches make a forwarding decision by comparing the Layer 2 header to the MAC address table, but how is the MAC address table built? Recall that switches record the source MAC of every frame that comes into a switch, and the port that the frame came in on. This does present a potential problem though because the larger the Layer 2 switched network becomes, the larger the MAC address tables will become.
Remember that to forward a frame, a switch will compare the destination MAC address to the MAC address table and do one of the following with the frame
- Flood: Broadcasts, multicasts and unknown unicasts
- Forward; Known unicasts
-Filter (drop): FCS errors, port security violations, etc.
Limitations of Spanning Tree Protocol
Spanning Tree is used to resolve Layer 2 Ethernet loops by blocking one port per loop. Frames will only enter or exit a port that is in the forwarding state, not one that is in the blocking state. How do you determine which ports will be forwarding? Well, that depends on the spanning tree algorithm.
The Dreaded Broadcast Storm
Another issue with Spanning Tree is that because it relies 100 percent on special frames called bridge protocol data units (BPDUs), it "fails open." What that means is that when left at default, if a port does not receive a BPDU it will automatically transition to the forwarding state.
If for any reason a switch fails to receive a BPDU on a port because of a unidirectional link failure or issues on the neighboring switch, then the Spanning Tree algorithm would transition the port to the forwarding state, and consequently a Layer 2 frame would go round and round "forever", resulting in a broadcast storm. How long is forever? Not that long, because the Layer 2 network will become unusable.
So to summarize, the issues with Classic Ethernet Switching and Spanning Tree are:
- large MAC address tables
- no load balancing (only one best path between any pair of switches)
- suboptimal paths
- Layer 2 network fails open and broadcast storms
Layer 3 Routing
So why do we not experience these issues with Layer 3 IPv4 networks? Routers make a forwarding decision by comparing the destination IP address to the routing table. But, how is a routing table built? The only subnets that automatically go into the routing table are the directly connected subnets. Any other subnets are learnt either statically or dynamically, via a routing protocol, and both are in control of the network administrator, so indirectly, the size of the routing table can be controlled by the network administrator.
In considering one of the most common routing protocols, Open Shortest Path First (OSPF), recall it forms a neighbor relationship by using HELLO packets before advertising any subnets between the two neighbors. Therefore, if there are any issues such as an unidirectional link failure, it will not form a neighbor relationship and consequently it will "fail closed" and not advertise any subnets over that link.
Also, recall all interior gateway protocols such as OSPF, Enhanced Interior Gateway Routing Protocol (EIGRP), etc., perform equal cost multipath (ECMP) routing. Meaning, if there are multiple best paths between a pair of routers, all of those best paths will be in the routing table.