Routing table statistics

  1. What is this about?
  2. How can I help?
  3. Where will results be posted
  4. What code are you using?

What is this about?

Recently I found myself looking for a friendly backbone ISP that might be willing to share the contents of their routing table. We have been working on QoS enabled routing table algorithms, and wanted to test against a real live routing table, instead of the things that we were generating.

In the course of this, I wound up talking to a couple of other network simulation/theory people in the hope that they might have some guidelines for generating reasonable routing tables. I asked the following questions:

  1. distribution of prefix lengths
  2. percentage of overlap of networks of differing prefixes? (i.e. 1.2.3.0/16->2.3.4.5 and 1.2.3.0/24->3.4.5.6)
  3. number of distinct next hops, what is the distribution of them? (clearly this is very ISP dependant, but gigapops should have fairly clear distributions)
  4. amount of redundancy in network routes (i.e. multiple paths of equal weight to a given end network)

The response that I got from Radia Perlman was:

"The things you ask for would be fabulously interesting.... And I'd love to see the results. It would make a great RFC."

So, I've started to work on collecting this information, and writing some scripts to analyse the results.

How can I help?

If you are an ISP with a big routing table, you can help by capturing a snapshot of your routing table and send it to me at tables@research.solidum.com

Many ISPs are hesistant about giving this information out. But, I'm not interested in the routing table per-se, but rather in the patterns in it. I have a script that will take the output from a CISCO ip show route, and shroud it by doing a simple substitution cipher on each octet of the IP addresses. The script should be easily adapted to other router vendor's output, and I'd be happy to do so if you send me a sample.

Substitution ciphers are 1:1 ciphers, so they maintain the relative frequencies of each. This is why they are not used in modern cryptographic systems.

To use this script:

  1. Get the script: cisco-show-ip-to-table
  2. Run script and telnet to your router.
  3. Login to your router, do ip show route
  4. Logout of the the router
  5. Exit from script
  6. Run perl cisco-show-ip-to-table typescript
  7. Examine the output in typescript-routes
  8. Send me the output.

Other options: if you have Math::TrulyRandom installed, then set $strongrandom to true, and uncomment the line that includes it.

Where will the results be posted

I will post the results on this web page. If you want to notified about the results, then please indicate so in an email.

I will likely be writing this into an RFC form once I've consulted with some more theory oriented people.

Evaluation code

None is written yet. (1998/10/02)