At the recent FutureNet conference, one of the three major topics was the future of the Internet. Nemertes Research, the host of FutureNet, brought a very impressive group of Internet experts to the conference to discuss the issue.
Johna Till Johnson, president of Nemertes and moderator of a spirited round table discussion about the Internet at FutureNet, wrote about the Internet's forecast earlier this week, predicting "snow days." A couple other stories were also written this week about issue, one using another weather metaphor and another using a Chicken Little-like sky-is-falling description.
I thought I'd give a simpler description of the issue, with a router-jockey view.
Two big issues:
#1 - We are running out of IPv4 space (we knew that).
#2 - The global Internet routing table is too big now and getting bigger fast.
First, we've heard for years about the lack of IPv4 space. This was the main driver for IPv6's development in the 1990s. However, this problem has been mitigated, for a while, by NAT. Pure network engineers don't like NAT, but let's be honest - it works! However, even with NAT, there is still a growing need for public IPv4 space for companies and organisations. And, while there are 4,294,967,296 IPv4 addresses, poor address allocations over the last 30 years have led to a much smaller pool.
Enter IPv6 with its 340,282,366,920,938,000,000,000,000,000,000,000,000 addresses. Problem solved, right? Well....
But, for now, let's discuss problem #2, which is caused by problem #1. Since there is a smaller and smaller pool of IPv4 addresses, companies are getting smaller and smaller public IPv4 assignments. For example, let's say your company gets its own /20. But, that's for your whole company, and you have 16 global sites that need to use that public IPv4 space. So you break-up your /20 into /24s and give each site, in different parts of the world connected to different ISPs, a /24.
Oh, and don't forget, you're a good network engineer so each of those sites is multi-homed to two carriers, so that /24 is advertised twice - once to each carrier. Your company, which had a nice, single /20 public IP range, has just created 32 more routes in the global Internet routing table. Ouch. Now, imagine thousands of companies and organisations around the world doing that. Double Ouch.
That leads to today's extremely large, and growing every day, Internet routing table:
Neighbour V AS Up/Down State/PfxRcd
[removed] 4 [removed] 8w6d 247868
The point of the experts at the conference was 250,000 routes is so large the Internet doesn't fully converge today, which leads to constant fluctuations and brown-outs. And it keeps getting larger. At some point, core routers on the Internet will not be able to hold that many routes in the forwarding table silicon (TCAMs). So, no convergence and, even if it did converge, the routers couldn't hold the routing table anyways.
But, before we melt down the Internet, we need to discuss issue #3 - which is issue #1 + #2. As we move into the near future, public IPv4 space starts to run out even more. So, you can't get a /20 anymore, you get a /24 (maybe). But you still have 16 sites in your company. So now, instead of sending 32 /24s in the Internet routing table you start sending in 32 /28s. Now the routing table starts to grow faster...exponentially. Now those 250,000 routes becomes 1,000,000 routes....maybe more. Now there are more routes to converge and more to store in the TCAMs. At what point does it start to break down?
A Juniper engineer spoke a little later in the conference about Internet scalability and mentioned that Juniper's earlier core routers (from the late 1990s) could handle today's Internet routing table. So, it appears we have some time on that point. The question is how much time? And what about older, smaller routers that can't handle that size table?
So, I know what you're thinking. Just configure IPv6 which will bring balance to the force. I'm not going to delve into that, but we all know that a conversion to IPv6 is tough. Plus, NAT-PT is a joke. Customers - the people who pay the ISPs - don't want IPv6 yet, so it doesn't get built.
So, let's start a pool. How many routes in the global routing table before things start to break? I'm going for 6,130,808 routes. What do you think?