I've been reading about FIB and tried to understand the design, I read that FIB and RIB have one-to-one correlation.

1.What does it mean they have one-to-one correlation?

2.In my understanding - most routers have flat FIB, why is that? for example, why wouldn't one prefer having a hierarchical FIB ? In a paper I've read, having a hierarchical FIB reduces the table size and improves performance

  • This sounds a lot like a homework question. There are ways in which hardware forwarding tables can actually vary within modes of a particular -platform- let alone the massive variability between different types of hardware and different vendors. It's also not necessarily the case that there's a 1:1 correlation between RIB and FIB or that there is only a single RIB / FIB. – rnxrx Dec 25 '16 at 5:12
  • It actually isn't a question of homework. I am just trying to understand the FIB design and design constraints / considerations, not much is said about FIB's, I have read most fib are flat and that having some kind of hierarchy can significantly improve performance and reduce table size. So, I would like to be referenced to an article or a debate arguing and speaking of FIB's design and architectures, as well maybe something that can answer both of my questions in the original post. – seman Dec 26 '16 at 11:31
  • Did any answer help you? If so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you could provide and accept your own answer. – Ron Maupin Aug 15 '17 at 16:58

I'll briefly answer the question.

The RIB (routing information base) contains all of the knowledge the router has obtained about how to reach destination networks. For example, it may have two different paths to reach the same network, both stored in the FIB. Or it might have learned the path the same network via two different routing protocols. Again, they would be unique, separate entries in the main RIB.

The router extracts the best entries from the RIB and inserts them into the FIB (forwarding information base.) For example, the router might be configured to prefer paths learned via one protocol over another, therefore leaving behind one of them and not inserting it into the FIB since it prefers the path via BGP vs. OSPF. There could also be a tie, and it takes two equal paths and inserts them into the FIB.

Bottom line, the router applies policy to extract the best paths from the RIB and insert them into the FIB. The FIB is generally composed of high speed memory that is used to build "hardware shortcuts" that allows the unit to switch packets at high speed.

A hierarchical FIB seeks to eliminate duplication of fields/data in each FIB entry. See http://newnog.net/meetings/nanog40/presentations/ClarenceFilsfils-BGP.pdf

Hope this helps.

  • The first time you say FIB, don't you mean RIB? – JeanPierre Dec 28 '16 at 21:12
  • That was certainly a good explanation that helped me realize much better. After going through the link you referenced I feel I strongly understand the advantages of hierarchical FIB, therefore I asked why routers do not have such FIB by default? – seman Dec 30 '16 at 0:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.