BGP Routing – Difference Between Default Route, Partial and Full Routing Table

bgp

What is the difference between default route, partial and full routing table for a BGP session? Does it affect the routes bird (or another BGP client connected to the session) sees?

Best Answer

  • A default route is the route that will be used if there's no other route that matches the destination in the router's forwarding table.

  • A full routing table is a table which contain all the routes the BGP neighbor is aware of.

  • A partial table is a table filtered (with route map, community...) so that only some specific routes are exchanged.

If you are connected to the Internet through a single ISP, a default route is enough, since there's only one possible path, so there's no point in having 500,000 routes in memory that all point to the same next-hop.

If you are connected through several ISPs with BGP and want to always use the "best" path, then a full routing table makes sense. In this case the default route will (almost) never be used since the router knows every possible destination with a specific route.

However a full routing table take some memory and also more CPU power (and time) to perform a lookup for each destination among the 500,000 known routes.

When the vast majority of your traffic will take one path and only some specific destinations will take another path, a partial table is more efficient.