One of my readers sent me an interesting question:
Are you aware of any studies looking at the effectiveness of IPv6 address allocation policies? I'm specifically interested in the affects of allocation policy on RIB/FIB sizes.
Well, we haven’t solved a single BGP-inflating problem with IPv6, so expect the IPv6 BGP table to be similar to IPv4 BGP table once IPv6 is widely deployed.
There are three main reasons the global Internet table contains over 450K entries:
- Ignorance and sloppiness. The CIDR report claims we could aggregate exiting 450K entries into just over 250K entries … but why would the top offenders do that if it costs them nothing to advertise their prefixes (and who cares that everyone else is paying stupidity tax by buying more high-speed RAM).
- Multihoming. Session-level multihoming was never implemented in the TCP stack (LISP or MP-TCP could help assuming they ever get deployed).
- Traffic engineering. If you’re multihomed and want to control the use of your uplinks for inbound traffic, you have to advertise smaller chunks of your address space to individual ISPs.
IPv6 doesn’t change a thing (widespread deployment of LISP might), so even if all the prefix hogs start advertising optimized IPv6 prefixes, the absolute minimum we need to describe the current Internet topology (and routing policies expressed by its participants) is around 250K routes.
Things might actually get worse – we might see more prefixes in the IPv6 table because a lot of organizations that used PA (example: a /24 allocated by their ISP) and NAT44 today might consider PI address space to avoid the royal pain of renumbering.
Finally, there’s the noble and worthy push toward NAT-less IPv6 world. That sounds great, until you realize small organizations that use NAT-based IPv4 multihoming today might opt for provider independent IPv6 prefix (which costs around 50 EUR a year in RIPEland) … or use NPT66.
Does the IPv6 BGP table explosion matter? You might believe in the universal safety of Moore’s law, but let me point out that Cisco 7600 with RSP 720-3CXL that you bought yesterday (and won’t be able to depreciate for the next 4-5 years) supports up to 1M IPv4 routes or 512K IPv6 routes (or a mix of both) … and we’re pretty close to that limit already assuming IPv6 prefixes would match maximally-aggregated IPv4 prefix.
ASR 1000 with maximum memory fares a bit better (1M IPv4 routes or 1M IPv6 routes), and MX-80 seems to be in the same range (although I couldn’t find the exact figures anywhere in the data sheets). It might be time to leave the default-free zone if you’re not a Tier-1/2 ISP (or maybe one of the vendors will actually implement virtual aggregation).