The following text is copyright 2000 by Network World, permission is hearby given for reproduction, as long as attribution is given and this notice is included.

Applying ignorance to the problem

By Scott Bradner

It is quite amazing to watch people who have just heard of some long-time technical issue assert that they have divined the true answer that has eluded everyone else. Their solutions always seem to be marvelously simple. They also seem to be attracted to forums that will maximize the audience that can properly evaluate their technical competence. (Such as the IETF mailing list - see www.ietf.org.) In the Internet arena a frequent target of these instant experts is Internet Protocol (IP) routing, they can not imagine that it can be as hard as the router vendors and the routing people at Internet service providers say it is.

IP routing sounds simple. Each router maintains a list of addresses, known as a routing table. Each address represents a network or an aggregation of networks. Associated with each entry is the address of the next router in the path towards the listed network. Whenever a router receives a packet on an incoming link it compares the destination IP address in the received packet with the entries in the routing table to find the best match. The router then forwards the packet to the next router in the path.

If that were all that there were to IP routing then it would be easy. Well it would be conceptually easy, there is still the question of making this work at the speeds that Internet backbones run and to have enough fast memory to store the routing table. But that is not all by a long shot. The contents of the routing table changes all the time. Every time that there is any change in connectivity anywhere in the Internet it may cause a change in the routing tables in the routers in your ISP. Routers have to continually exchange routing information among themselves to keep the routing tables up to date. In addition, the routing tables are derived from the input routing information and that can take quite a bit of processing. The hot spots are the size of the routing table, the amount of information exchange needed to keep it current, and the processing time needed to process the information.

The tables in the routers in the backbone ISPs have almost 90,000 entries now and are growing rapidly. (see http://www.telstra.net/ops/bgptable.html for a real-time snapshot.) One way to minimize the rate of growth is to ensure that as many networks can be aggregated under each routing table entry as possible. This requires that customers renumber their networks when they change ISPs so that the addresses of their networks can be aggregated with those of the new ISP.

Some of the newly hatched experts in Internet routing claim that this renumbering should not be needed since it should be easy to build a big enough, fast enough router to deal with much bigger tables. I assure you that if it were easy, Cisco and Juniper would have a lot more competition. It is fun, though somewhat sad, to watch cluelessness in action.

disclaimer: Harvard prefilters against cluelessness unlike the IETF list but the above is my amazement.