Forwarding Information Base (FIB)
The Forwarding Information Base (FIB) is the routing data structure in CCNP that maps content name prefixes to next-hop network interfaces. It is one of the three primary data structures in CCNP routers (alongside the Content Store and Pending Interest Table) and forms the foundation of content-centric routing.
Role in CCNP
When a router receives an interest packet requesting content, it must determine where to forward that interest. The Forwarding Information Base provides this decision-making capability by maintaining mappings from name prefixes to reachable content sources. Unlike traditional IP routing tables that map destination addresses to next-hop addresses, the FIB maps name prefixes to one or more next-hop faces.
This design reflects CCNP's fundamental shift from host-centric to content-centric networking. Rather than routing to a specific server, the FIB enables routing toward any source that has the requested content. This flexibility is essential to CCNP's caching model—content can be retrieved from any router that has a cached copy.
Data Structure
Each entry in the FIB contains:
- Name Prefix: The content name or name prefix this entry serves. Prefixes can range from single components (like
/com) to full content names. - Next-Hop Faces: One or more network interfaces toward content sources. Multiple faces enable multipath forwarding and failover.
- Metrics: Information about path quality, including latency estimates, available bandwidth, and cost metrics.
- Timestamp: When the entry was last updated, enabling staleness detection.
- Flags: Optional metadata including QoS parameters and forwarding hints.
The FIB supports longest-prefix-match lookup, the same algorithm used in IP routing. When multiple entries match a content name, the entry with the longest (most specific) prefix is selected.
Population and Maintenance
The FIB is populated by the CCNP routing protocol, which exchanges reachability information between routers. Unlike traditional link-state protocols that flood complete topology information, CCNP routing operates on name-prefix reachability.
Routers periodically advertise the name prefixes for which they can satisfy requests. These advertisements propagate through the network, building FIB entries at each hop. The mechanism is analogous to distance-vector routing but with content names rather than addresses.
Routing updates are typically incremental. Rather than broadcasting complete FIB state, routers exchange delta updates—changes to reachability that have occurred since the last update. This approach reduces overhead and improves convergence time.
Interaction with Other Structures
The FIB works in conjunction with two other CCNP data structures:
Content Store (CS): The CS contains cached content. When processing an interest, the router checks the CS first—content in cache requires no FIB lookup. The FIB is consulted only when content is not locally available.
Pending Interest Table (PIT): The PIT tracks outstanding interests. If an interest cannot be satisfied from cache and the FIB provides no route, the router records the interest in the PIT and floods the interest to all matching FIB entries.
The three structures form a processing pipeline:
- CS lookup → satisfied from cache?
- PIT lookup → identical interest pending?
- FIB lookup → route for forwarding?
Forwarding Decision Process
When the FIB contains multiple next-hop faces for a content name, the router applies decision logic to select among them. Default behavior uses shortest-path routing based on metric values. Advanced configurations enable preference-based routing that considers:
- Link quality: Historical packet loss and latency
- Available bandwidth: Capacity at each next hop
- Cache state: Preference for next hops with cached content
- Geographic proximity: Reducing physical distance
- Cost: Financial considerations for transit links
Multipath forwarding can send duplicate interests to multiple faces, improving response time through parallelism. The network handles duplicated data through PIT state aggregation.
Scalability
The FIB presents significant scaling challenges. With millions of possible content names, a flat FIB would be impossibly large. CCNP addresses this through hierarchy and aggregation:
- Prefix aggregation: Multiple specific names can be aggregated under a common prefix. An entry for
/com/examplecovers all names beginning with/com/example. - Hierarchical namespace: The namespace structure naturally enables aggregation at namespace boundaries.
- Default-free zones: Not every router maintains full FIB state. Edge routers maintain specific routes to locally relevant content, relying on default routes toward aggregation points.
Large backbone routers may maintain FIBs with millions of entries, while edge routers might have only thousands. The hierarchy ensures that content can always be reached, even if not every router knows every possible name.
Security Considerations
The FIB is a critical infrastructure component. Attacks that corrupt FIB entries can redirect content requests to malicious sources or cause denial of service. CCNP includes protections:
- Routing authentication: Routing updates are signed cryptographically
- Route validation: Routers verify received updates before incorporating into FIB
- Monitoring: Anomalies in FIB state trigger alerts and countermeasures