As far I know,

  • CAM table is Content Addressable Memory table where MAC address is stored
  • FIB table is Forward Information Base table which is a dynamic table that maps MAC addresses to ports.

Both seems does the same work. So whats the difference between these two?

  • 1
    related: Switch FIB and router FIB
    – JFL
    Commented Mar 6, 2018 at 9:33
  • already read and +1 your answer. It was helpful.
    – arif
    Commented Mar 6, 2018 at 9:35

2 Answers 2


The CAM table is the place where the MAC addresses are stored. It is used by the layer 2 control to forward incoming frames to their destination ports, something like this:

enter image description here

The FIB table contains all the layer 3 routes, something like this:

enter image description here

  • So CAM table used in switch and FIB table used in layer 3 switch and router?
    – arif
    Commented Mar 6, 2018 at 9:01
  • @muhammad Yes. They are separate tables, one for layer 2 forwarding and the other one for layer 3 routing.
    – jcbermu
    Commented Mar 6, 2018 at 9:03

CAM specifies a special type of memory (you can address it by using the "thing" you're looking for as an address), so a FIB could be implemented in CAM (but doesn't have to). "CAM table" and "FIB" can mean multiple things or the same thing, depending on vendor and/or hardware. Nowadays CAM is more and more replaced by faster memory with "normal" addressing.

For example on Juniper gear you have your routing tables (RIB) and MAC tables, both get combined in a forwarding table which holds both L3 and L2 "routes". This is pushed to the linecards where it is programmed into hardware memory.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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