MPLS Control and Data Plane Components

Cisco Express Forwarding (CEF) is the foundation on which MPLS and its services operate on a Cisco router. Therefore, CEF is a prerequisite to implement MPLS on all Cisco platforms except traditional ATM switches that support only data plane functionality. CEF is a proprietary switching mechanism used on Cisco routers that enhances the simplicity and the IPv4 forwarding performance of a router manifold.

CEF avoids the overhead of cache rewrites in the IP Core environment by using a Forwarding Information Base (FIB) for the destination switching decision, which mirrors the entire contents of the IP routing table. There is a one-to-one mapping between FIB table and routing table entries.

When CEF is used on a router, the router maintains, at a minimum, an FIB, which contains a mapping of destination networks in the routing table to appropriate next-hop adjacencies. Adjacencies are network nodes that can reach one another with a single hop across the link layer. This FIB resides in the data plane, which is the forwarding engine for packets processed by the router.

In addition to the FIB, two other structures on the router are maintained, which are the Label Information Base (LIB) and Label Forwarding Information Base (LFIB). The distribution protocol in use between adjacent MPLS neighbors is responsible for the creation of entries in the LIB and LFIB.

The LIB functions in the control plane and is used by the label distribution protocol where IP destination prefixes in the routing table are mapped to next-hop labels that are received from downstream neighbors, as well as local labels generated by the label distribution protocol.

The LFIB resides in the data plane and contains a local label to next-hop label mapping along with the outgoing interface, which is used to forward labeled packets.

Information about reachability to destination networks from routing protocols is used to populate the Routing Information Base (RIB) or the routing table. The routing table, in turn, provides information for the FIB. The LIB is populated using information from the label distribution protocol and from the LIB along with information from the FIB that is used to populate the LFIB.

Figure 1-9 shows the interoperation of the various tables maintained on a router.