As the global routing table increases, routers use more and more memory to hold these tables in memory. Most routers use what is called TCAM memory to hold routing tables. TCAM memory is much faster than normal RAM, which makes it ideal for accessing large routing tables on a router. However, TCAM is generally viewed as a more expensive type of memory.
According to the CIDR report, the global routing table as of April 15 2019 was 772,711 routes. But Justin, you are warning me about 768,000 routes. This is more than that already. The short answer is many providers attempt to do some sort of aggregation with prefixes, which shrinks this number.
So why is this number important? in 2014 a similar situation arose. This was called “512k day”. Many vendors released patches and advisories recommending folks to raise their limit to 768,000 routes. Why not just raise this to a million you say? Remember that TCAM memory is expensive so it’s not like normal ram. As more and more folks run IPV6, it takes away TCAM memory and allocates it to the IPV6 routing table. In the “old days” we just had to worry about one IPV4 table taking up the TCAM memory. Now we have an ever-growing IPV6 table, which takes up memory as well. 768,000 was recommended by many vendors as a decent tradeoff of memory utilization.
Many experts do not expect this 768k day to be as service impacting as 512k day was. Firmware updates, newer hardware, and increased awareness are some factors more operators are aware of. However, there is a bunch of older hardware out there. One of the biggest concerns is the TCAM memory in the Cisco 6500 and 7600 routing platforms. These platforms simply do not have more memory to allocate.
If you own a 6500/7600 platform and are taking in full routes there are a few things you can do to help mitigate this. Obviously upgrading hardware is a choice. Not everyone can do that. One of the methods of dealing with this is to receive a default route from your upstream providers in addition to the full routes. If you do this you can filter out /24 routes and decrease the routing table your router has to keep track of. Anything that is a /24, which won’t be in the routing table at this point, will be sent to the default route. You won’t have as much control over your routes to these destinations, but at least your router won’t be puking on itself.
As more and more smaller ISPs buy /24 allocations on the secondary market, we will see this problem increase. IPV4 is not going away. Smaller ISPs are buying blocks to service their growing customer base and can’t afford to buy large allocations all at once. So now we are seeing ISPs end up with four or five /24’s that can not be aggregated down like they could in the past.