If you're not a network geek, this post will probably put you to sleep. But it is something I think is interesting, and potentially problematic, as the Internet continues to grow and expand.
IP addresses, the series of numbers that computers use to talk to one another both on internal company networks, and on the Internet, are a finite resource - there are only so many available. Well, that is until IPV6 becomes widely adopted, years from now I'm sure.
Anyway, CIDR (classless inter-domain routing, pronounced like cider in apple cider) was introduced back in the early 90's as a way to avoid wasteful IP address assignments. CIDR allows one to use VLSM (variable length subnet masks) to chop up their IP address blocks into convenient sizes, as opposed to rigid class-based chunks.
For example, if your network doesn't employ VLSM, you can only break your networks into subnetworks of equal size.
So, if you have a single class C address range, and you want to break it into two sub-networks for some purpose, your option would be two blocks of equal size: two networks of 128 addresses each (actually, 126 because the network address and the broadcast address don't count as usable.... Like I said, if you're not a network geek, this is getting really boring). You could also break up the block into four networks of 64 (really 62 usable) each, eight networks of 32 (30 usable), etc. all the way down to 64 networks of 2 usable addresses each. The point is, it's rigid - without variable length subnet masks, once you chop a network into smaller blocks for some purpose, the entire network is chopped into identical sizes.
This can get wasteful pretty quick. And remember, we said IP addresses were in limited supply. So, you don't want to waste addresses if it can be avoided.
VLSM lets you pick different size networks for the same large network block. So, perhaps you want your engineering department, which consists of 4 people, on a distinct network so you can throttle their bandwidth differently than you would for your sales guys, who number a dozen. With VLSM, you could break the network up to give engineering perhaps 14 usable addresses (a subnet of /28) while giving your sales department a subnet of /27, or 30 usable addresses.
The key is, you're not tied to equal sized blocks. Which means you waste less address space. However, if you're sloppy about programming your routers, you can really bloat the size of your routing tables, because each of those separate subnetworks could potentially be advertised in the routing tables.
Internally, that isn't a major problem - unless your network is huge, you're probably not going to have enough entries to task the memory of your average router. Externally, however, it is problematic.
If you have a few networks subnetted for various purposes, you're supposed to aggregate that network announcement to the outside world into the smallest possible number of routes.
To use our example above, even though engineering and sales are different networks internally, to the outside world, there is no need to advertise them as such. In real world applications there may be a need to do that, but for example purposes, lets assume there isn't.
Instead of announcing a /27 and a /28, along with whatever other networks you're using, you can announce a single /24. (For the network geeks reading this, I know that we don't generally announce /24s - remember, this is a simple example!)
Now, to the point I'm attempting to make. I receive a report every week, courtesy of the kind folks at CIDR Report (www.cidr-report.org) that analyzes the number of routes advertised on the Internet, and how many can be aggregated without affecting routability.
In the latest report (parts of it copied below), there are 250,499 routes advertised across the global Internet. The algorithm that CIDR report uses to compute the potential aggregation is explained by them as:
Aggregation Summary
The algorithm used in this report proposes aggregation only
when there is a precise match using the AS path, so as
to preserve traffic transit policies. Aggregation is also
proposed across non-advertised address space ('holes').
Based on that policy, they are calculating the routing table could be reduced to 160,924 routes, which represents a savings of more than 35%.
There may be some valid reasons some network operators don't aggregate certain traffic, but a bloat of 35% across the entire Internet really tells me that there's a great amount of sloppy network design going on out there. Some systems have more than 90% aggregation possible. That's a lot.
To the point: I think it is really interesting that if managed and aggregated properly, the global BGP routing tables would shrink by more than 35% overnight. I wonder what that would do to the speed of some of the older core and border routers out there. To sum it up another way.... Cisco and Juniper must love BGP table bloat!
AS Summary
27461 Number of ASes in routing system
11562 Number of ASes announcing only one prefix
1577 Largest number of prefixes announced by an AS
AS4755 : VSNL-AS Videsh Sanchar Nigam Ltd. Autonomous System
88894720 Largest address span announced by an AS (/32s)
AS721 : DISA-ASNBLK - DoD Network Information Center
Aggregation Summary
The algorithm used in this report proposes aggregation only
when there is a precise match using the AS path, so as
to preserve traffic transit policies. Aggregation is also
proposed across non-advertised address space ('holes').
--- 15Feb08 ---
ASnum NetsNow NetsAggr NetGain % Gain Description
Table 250499 160924 89575 35.8% All ASes
AS4755 1577 388 1189 75.4% VSNL-AS Videsh Sanchar Nigam
Ltd. Autonomous System
AS9498 1156 106 1050 90.8% BBIL-AP BHARTI BT INTERNET
LTD.
AS4323 1386 507 879 63.4% TWTC - Time Warner Telecom,
Inc.
AS18566 1042 253 789 75.7% COVAD - Covad Communications
Co.
AS22773 859 87 772 89.9% CCINET-2 - Cox Communications
Inc.
AS11492 1215 447 768 63.2% CABLEONE - CABLE ONE
AS19262 879 148 731 83.2% VZGNI-TRANSIT - Verizon
Internet Services Inc.
AS8151 1153 495 658 57.1% Uninet S.A. de C.V.
AS17488 983 402 581 59.1% HATHWAY-NET-AP Hathway IP Over
Cable Internet
AS6478 927 380 547 59.0% ATT-INTERNET3 - AT&T WorldNet
Services
AS2386 1362 847 515 37.8% INS-AS - AT&T Data
Communications Services
AS15270 647 137 510 78.8% AS-PAETEC-NET - PaeTec
Communications, Inc.
AS6197 1032 538 494 47.9% BATI-ATL - BellSouth Network
Solutions, Inc
AS18101 715 241 474 66.3% RIL-IDC Reliance Infocom Ltd
Internet Data Centre,
AS4766 853 391 462 54.2% KIXS-AS-KR Korea Telecom
AS4812 552 94 458 83.0% CHINANET-SH-AP China Telecom
(Group)
AS4668 524 71 453 86.5% LGNET-AS-KR LG CNS
AS7018 1454 1007 447 30.7% ATT-INTERNET4 - AT&T WorldNet
Services
AS7011 1054 609 445 42.2% FRONTIER-AND-CITIZENS -
Frontier Communications of
America, Inc.
AS855 554 112 442 79.8% CANET-ASN-4 - Bell Aliant
AS4808 527 129 398 75.5% CHINA169-BJ CNCGROUP IP
network China169 Beijing
Province Network
AS7545 490 112 378 77.1% TPG-INTERNET-AP TPG Internet
Pty Ltd
AS9443 451 76 375 83.1% INTERNETPRIMUS-AS-AP Primus
Telecommunications
AS17676 506 134 372 73.5% GIGAINFRA BB TECHNOLOGY Corp.
AS6198 647 278 369 57.0% BATI-MIA - BellSouth Network
Solutions, Inc
AS6140 603 238 365 60.5% IMPSAT-USA - ImpSat USA, Inc.
AS19916 556 202 354 63.7% ASTRUM-0001 - OLM LLC
AS16814 427 75 352 82.4% NSS S.A.
AS3356 844 500 344 40.8% LEVEL3 Level 3 Communications
AS4134 863 521 342 39.6% CHINANET-BACKBONE
No.31,Jin-rong Street
Total 25838 9525 16313 63.1% Top 30 total