Default route or full routing table?
By Vince
When a company/enterprise is signing up with an ISP for internet access, they are able to connect in many different ways, but we are going to go over a couple of the popular methods.
NOTE: This is a brief overview to answer this one question, BGP is very powerful and programmable, so we won’t touch on most of its features.
If the company has its own ASN (Autonomous System Number) they can connect to an ISP and advertise out this number through BGP with the IP space (prefixes) they own. That way other participants in BGP can find the best path to get to that company/ASN and the IP space. Companies will typically get an ASN if they are an ISP or if they are hosting some sort of content that others need to access. You can think of content as a website, portal, video, audio, VPN, or anything else that someone else needs to connect to from somewhere else. A large majority of the time this content is “in the cloud” instead of on-premise, but many larger organizations have their own equipment and data centers to handle accessing this content.
If a company does not have an ASN and still needs others to access their local content, then it is up to the ISP to do the advertisement of IP addresses/prefixes for them. Often in this scenario a company will rent IP space from an ISP (typically called some sort of static IP service). This can present a problem if there is a requirement by the company to connect to multiple ISPs for redundancy. If one of the ISPs owns the IP space, most likely they will not let another ISP advertise it out (there are BGP security measures that can make this more difficult, for a good reason). So this can get more complicated, but that is for another article.
So now back to our original topic, default or full routing table!
If a company is only a consumer of the internet (they only request content or everything is cloud hosted) than static IP services may not be necessary. This may also mean that BGP isn’t needed. When the requirement is only to access the internet and multiple ISPs are not needed (think home internet), then a default route is what you get automatically.
If on the other hand we are using BGP, the company has an ASN, then we decide if a default route is the best option.
One of the main points of concern is what kind of router is in use? If it’s a device with a larger of memory (32GB) and the ability to handle millions of routes, then the full internet table may be an option.
Full table routing allows a company to connect to multiple ISPs and pick the best routes each of them have. This often allows better utilization of internet links since the traffic can be sent over both of them depending utilizing this best path selection.
If the router isn’t able to handle the full routing table (as of this writing its around 900,000 in just IPv4 routes), there can often be a compromise of a summary routing table. This may be a way to get some route diversity between carriers, and utilize a less expensive router at the edge. Summary routes vary but often are under 100,000 in IPv4.
If the router just can’t handle that many summary routes, then default route is the only way to go. With some hashing and good luck, the router may be able to send traffic to both paths equally. This has the downside of not being able to do much dynamic traffic engineering (send youtube traffic over ISP 1, send iCloud over ISP 2, etc) since the individual prefixes don’t get sent to you. You can do some static routing to achieve this, but that negates anything a dynamic protocol like BGP provides.
So in closing, the real answer is it depends. One of the main components, as with most things in life, is cost of the router in use. If you can afford a higher end device, I would suggest full routing tables from multiple providers. This allows redundancy, traffic engineering, and best path decisions.