Last week the global routing table (as seen from some perspectives) supposedly exceeded 512K routes, and weird things started to happen to some people that are using old platforms that by default support 512K IPv4 routes in the switching hardware.
I’m still wondering whether the BGP table size was the root cause of the observed outages. Cisco’s documentation (at least this document) is pretty sloppy when it comes to the fact that usually 1K = 1024, not 1000 – I’d expect the hard limit to be @ 524.288 routes … but then maybe Cisco’s hardware works with decimal arithmetic.
In any case, networks relying on boxes that support 512K IPv4 routes in their switching hardware might face interesting problems in a very near future… and the workaround is: reduce the maximum number of IPv6 routes. Isn’t that just the perfect solution for the days when most of the world already ran out of public IPv4 addresses? On the other hand, the default IPv6 table size on Cat6500 is 256K entries, and the current size of global IPv6 routing table is below 20K (HT: Renesys blog).
The same hard limits usually don’t apply to boxes that perform packet forwarding in software, for example ISR-series routers and probably also ASR1K – but don’t forget that you’ll need more memory as BGP table, RIB and FIB continue to grow.
Regardless of the platform you’re using in your Internet edge, you should ask another question: do I really need the full Internet routing table? Most edge networks don’t, and I described several techniques you can use to reduce the BGP table size.
Furthermore, you can use BGP Selective Route Download (unfortunately available only on IOS XE) or a similar Junos functionality to reduce the IP RIB and FIB sizes (see also my article on virtual aggregation).
Need more help?
Some pretty large organizations got fantastic results after one or two ExpertExpress sessions. Why wouldn’t you join them?