RIB and FIB
Routers and MLS were once centralized, cache based systems combining the control and data planes. The control plane is comprised of the technologies that create and maintain the routing table. The data plane is comprised of the technologies that move data from ingress to egress.
This architecture has since split into the RIB and FIB (Routing Information Base, and Forwarding Information Base). The RIB operates in software, and the FIB takes the RIB’s best routes and places them in it’s own data construct which resides in faster hardware resources. Cisco’s implementation of this architecture is know as CEF (Cisco Express Forwarding).
Process Switching, Fast Switching and the evolution to CEF
Process Switching requires the Router/MLS to process every packet to make a forwarding decision.
Fast Switching evolved from Process Switching, whereby the initial packet’s forwarding decision is still derived from the Route Processor, but that destination is then held in cache for subsequent forwarding precluding the processor’s involvement.
With CEF, Cisco took fast switching a step further by introducing the FIB and Adjacency tables into the equation.
The FIB is a mirror image of the IP routing table. Changes to the routing table and next hop ip’s are reflected in the FIB. Fast switching route cache maintenance is thereby eliminated.
The adjacency table is populated with l2 next hop addresses for all FIB entries, hence adjacency. When an adjacency is established, as through ARP, a link layer header for that adjacency is stored in the adjacency table.
For a thorough overview click the link below.