What is the different between a routing table and a forwarding table?


In routers you normally have two separate planes, often called "control plane" and "forwarding plane".

The control plane is the "brain" of the router and handles things as management of the device and routing protocols among other things. It is sometimes called a "routing engine" or "supervisor" by vendors.

The forwarding plane is responsible for the actual packet forwarding. In bigger routers it is often implemented by specialized chips and very fast memory for route lookups.

The routing table (or more than one routing table) resides in the control plane. It contains routing information received through routing protocols (OSPF, BGP, ...) and from configuration (connected routes, static routes). There may be more than one entry for a given prefix if multiple routing information is received by the control plane.

From all these information the "best" path for a prefix is selected. This selection is then collected in the forwarding table. The forwarding table has the definitive destination information where a packet is routed for any given IP prefix (or MAC address depending on the layer). This forwarding table is then pushed into the forwarding plane of the router and often distributed into each linecard in bigger chassis based routers.


They definitely don't keep the same informations.

Routing table is a L3 table which states for X.X.X.X/Y IP destination, go through z.z.z.z router.
Forwarding table is a L2 table which states for communicating with z.z.z.z router, send packets to Mac Address aa:bb:cc:dd:ee:ff.

In your local network, you use the forwarding table to get the other hosts mac addresses and send them the packets. Your network device will have broadcast an arp whohas ip z.z.z.z tell ME packet at L2 to get the relevant mac address.

To communicate with a host in a different subnet, you should route it through a router within your local network. The routing table will tell which IP this router has. Which router you reach using the same forwarding mechanism as above.

  • 1
    I do not get why my answer deserves being downvoted while the upvoted answer is specific to router implementation. How would you define the control plane and data plane on a linux device? I have more than 10 years experience in networking industry which does not summarized to the router implementation of forwarding and routing tables in data plane or control plane. The essential point of those tables is how they act in the OSI model, not how any vendor would have implemented their handling in their own hardware. – el00ruobuob Jul 31 '18 at 21:05
  • Thank you for this answer! These two terms seem to be very often confused. I think I spent almost two hours reading different sources on the internet and not understanding anything until I found this very simple answer. – tjespe 2 days ago
  • Thank you tjespe! – el00ruobuob 2 days ago

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.