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.