Russ Nelson's blog

[ Home | RSS 2.0 | ATOM 1.0 ]

Thu, 15 Nov 2007

A market for IPv4 routes

John Curran (which is unfortunately just a stub, and I can't even remember all the stuff John has done, so I can't improve it) read my earlier posting No IPv4 Address Exhaustion, and writes to remind me that an IPv4 address is only as useful as its route, and that a bare IPv4 address is as useful as knowing that I live at number 521.

IPv4 Routing

If you know what an IPv4 route is, skip this section. You know how to get to my house not because you know my house number, 521. You know how to get to it because you know how to get to New York State, and then Potsdam, and then Pleasant Valley Rd. An IP address is split up in a similar manner, using a network number, and then one or more subnets. If you're in Canada, you know New York is to the south or east. If you're in Georgia you may have only a vague idea that New York is Yankee-land up north. That's the start of your route. IP packets travel the same way. Once they get closer to their destination, the subnet is used for more exact routing.

Hosts on the Internet are reachable by other hosts because every host has a route to every other host. The vast majority of hosts are on a network with only one connection to the Internet, so they have a "default route". The router they route to may have its own default route. For example, your PC has a route to your wireless router, which is only connected to your DSL or cablemodem so it also has a default route. Larger routers may have multiple connections. They know which hosts lie in one direction, and which in another and they route packets out the appropriate connection.

The trouble with IP routes is that ultimately, you need to reach a machine which has no default route -- which contains a route to every machine on the Internet. It needs to be able to look up this route in less than a millisecond. Thus, the route table needs to be able to fit into memory. Routers with large amounts of memory and high speed interfaces are not commodity items and are thus expensive.

A market for IPv4 routes

In an economically rational world, everything that has a cost also has a price. We don't live in that world. The people who own the core routers (there are many, owned by different companies) don't get to control the size of the routing table. That gets set by the number of routing announcements. The people who get to make routing announcements run ISPs. So, rather than having a market, everyone involved understands that the routing table needs to be kept small. Nobody wants to be the party that broke "the Internet", so everyone is cooperative. Community norms regulate the size of the routing table.

John's fear is that a market for IPv4 addresses will cause networks to be split up and sold in increasingly smaller chunks. In order to route them, each chunk will need a routing table entry. I accept John's fear as rational. So, I say that any market for IPv4 addresses must include a market for IPv4 routes as well. This makes things more complicated. Let's take an example: Clarkson and SUNY Potsdam. They each have a class B, of which they're using approximately 1/10th of the capacity. They could easily sell 3/5ths of their addresses, but how to get them routed?

Clarkson and SUNY Potsdam have the same network provider (or if I'm wrong about that then in principle, they could, since they're only a mile apart). One way for them to sell their IP addresses is for one of them to renumber to the other's network, share a routing announcement, and then collectively sell the other network along with its routing announcement, the renumberer taking the greater portion for their extra effort.

John's fear is that the community norms will not force this kind of behavior. Once there's a lot of money to be made, some parties may feel free to add "just one more" routing announcement. If the norms are not strong enough to stop this, then nobody will bother to abide by the norms, and the Internet will quickly become unreliable as routes fall off the end of the routing table.

But since routing announcements are 1) public information, and 2) blockable, I think that community norms will suffice to ensure that trade in IP addresses will not result in more routing announcements.

posted at: 20:07 | path: /economics | permanent link to this entry

Made with Pyblosxom