Baldur Norddahl wrote on 5/17/2019 11:05 AM:
On Fri, May 17, 2019 at 3:28 PM Blake Hudson <blake@ispn.net <mailto:blake@ispn.net>> wrote:
From my perspective one's ability to intelligently route IP traffic is directly correlated to the data they have available (their routing protocol and table)
One point perhaps being missed by some is that routing decisions are not always best made in the very last moment when you have a packet and need to decide on the destination. The culling of routing table I wanted to do is on a full feed from my upstream providers. I am not taking a default, but I may add a default manually.
Think about this way to save at least half the size of the FIB with two transit providers: Find out which provider has the most prefixes going their way. Make a default to them and a route-map that drops every route. For the other provider, keep only the routes where they have better routing. This way you only use FIB space for the smaller provider. Everything else goes by default through the larger provider.
Now doing that in practice is hard because router vendors did generally not make route-map or similar constructs flexible enough for the needed logic.
But we can do other things, some of which have already been proposed in this thread. Like before have a default to the "best" of your transit providers and using culling to drop routes. Are we not all doing something like that already, with route maps to give some routes higher priority instead of always going strict shortest AS-path? Only difference is that you can fully drop the routes from FIB if you install defaults to handle it instead.
Or what if I know that one of my transit providers are really good with Asia? I just want traffic to Asia by default go to them. I can install my own covering routes from the APNIC address space and then save a ton of FIB space by dropping routes within that space. I can have exceptions if needed.
The above does not give you poorer routing decisions and may give you better.
Regards,
Baldur
Baldur, I believe most routing platforms already make use of clever shortcuts or techniques to reduce their FIB usage, but I don't think anyone has found a good, reliable method of reducing their RIB at zero cost. For example, what happens in your above configuration when your "better/default" transit provider is down due to maintenance or outage and your equipment continues to use its default route to direct traffic that direction? What happens if the transit provider that you normally only retain the best paths for becomes the best path for all destinations (for example if your connection to the better/default transit provider is down for maintenance or there is an upsteam peering change) and your router that normally only has a few thousand routes in RIB suddenly gets tasked with a 768k-1M route RIB? I would argue that one can generally safely add information to his or her router's RIB (such as adding a local preference, weight, or advertising with prepends to direct traffic toward a better performing, less utilized, or lower cost peer), but that removing information from a router's RIB always comes at some cost (and some may find this cost perfectly acceptable).