IP Addresses, Past and Present

Internet Protocol, version 4 (IPv4) specifies among other things that the unique addresses machines will need to contact each other via the internet will take the "dotted quad" form: N.N.N.N, where the integers N can range from 0-255.

Thus there are 256^4 possible IP addresses available in the IPv4 ocean.

4,294,967,296 addresses. Over 4 Billion. Plenty. WHEN it was deployed in the 1980s.

At the time, who ever imagined that in the near future there would be:
- computing clusters of hundreds of machines in one little room--each needing an IP address?
- "virtual" machines in which one enormous "super-computer" affects to be hundreds of individual machines--each needing an IP address?
- digital clocks, and oscilliscopes, and vending machines, and electron microscopes--each needing an IP address?
- hundreds of millions of new computer-using citizens coming online--eaching needing an IP address?

And, what really scared the pants off those charged with predicting the future of the internet:
- cellphones--each needing...

To make things slightly worse, part of the protocol reserves blocks of those addresses for dedicated uses, so the world is actually required to use fewer than 4.29 billion.

Gasp. Enter IPv6. Though apparently defined back in 1995, the IT types have been able to postpone the rendezvous with destiny by a multitude of clever tricks. However, the crunch will soon be upon us, and IPv6 is going to save us. The Chinese are already using it, and only it, because there were already too few IPv4 addresses left to serve their need.

IPv6 specifies using 128 binary bits for each address (4 times the number used for v4), and the potential for 3.403×1038 addresses. From roughly a 4 Billion (9 zeroes) to around 3 Billion Billion Billion Billion: a 3 followed by 38 zeroes.

It's debatable whether that's "Too Many," but it's sure to be enough for a while. The designers decided, "Let's do this once."

What's the holdup? Why don't we just switch over this afternoon, and be done with it?

The only problem is network hardware: switches and routers have to be able to "parse" (understand) v6 traffic. They are available and widely deployed. The only other only problem is software: websites and other network applications that cannot be reached by IPv6 means. However, those are arriving, even as the realization sinks in that "we will always have IPv4 with us, until the last million-dollar device that only-does-v4 expires."

Luckily, it's easy to run machines "dual-stack" (talking both IPv4 and IPv6 protocols).

What's to be done until then?

Well, IPv6 is available now. If you've used CAE machines, you've used IPv6. It's up, and working, on them. If you've bought a new machine lately, it probably has IPv6 enabled by default as well, and will try to use it to communicate when it can.

Meanwhile, IPv4 plods along with more and more devices connecting to the network and expecting to be able to use it--which means they expect to "get" an IP address.

What's a College or a University to Do?

In a word? Share.

In old days, when IP addresses were as the sands of the sea, no one cared about "conserving" IP space: need an IP? Grab a NEW one! These days, if a machine isn't using an IP address it was assigned long ago (which used to mean "2 years" but now is more like "6 months"), the IP needs to be recovered for others to use.

IP Recovery

The University led the way by searching through "blocks" of addresses allocated to all the entities around campus and identifying blocks which had not been used, and arranging for their return for re-allocation to needier groups (e.g., sponsored-research clusters, wireless iPods).

Dynamic Addresses

For devices "only passing through" the idea of "leasing" an IP address "temporarily" from an IP-address-hander-outer (DHCP server), meant it would not be necessary to assign IP addresses long-term which everyone realizes would only be used rarely. In a way reminiscent of an airline-industry practice, a DHCP server can be set up to assign addresses randomly from a "pool," on demand, to a larger group of "client" requester machines. The bet is that they won't all be on-campus making the request at the same time.

Wireless connections are almost always handled this way. (BTW, if a machine's lease time is "up," it only has to "re-request" to continue using it.) To the extent that machines which CAN use the dynamic pool of addresses DO use it, machines which cannot still have the option of using so-called "static" addresses (because a larger number of machines are organized to share a smaller number of addresses, we're less likely to run out, and more likely to have a few left to serve the non-capable).

The principal downside of using a "pooled" address is that machines get different addresses over time: this is important if they need to be "contacted." The address they had last week is likely to be in use by a different machine this week. "It would be nice" if somebody would write something to tell the "nameserver"
(the machine in charge of remembering which machine names have which IP addresses) which dynamic IP address the DHCP server handed out to which machine. (CAE's working on it.)

Private Address Space

The University also loosened the definition of one of the blocks historically reserved in the IPv4 specification as "private" addresses to free up those addresses for use on-campus for devices which don't need to communicate beyond the campus boundary. Routers are the machines responsible for taking communications ("traffic") from one network's IP addresses and putting it onto another. Ordinarily however
exceptions are made for traffic from so-called "private" IP addresses: meaning that routers agree to leave that traffic on the network where it is found, and refuse to propagate it.

Here's a capsule picture of the difference between public and private IP addresses. A public address is like, 100 Elm St., Midvale, Ohio: the point is that there should be one and only one in the world, if you ever hope to deliver mail there. A private address makes sense only in the context of the "local" neighborhood; e.g., "the first house on the block." That'll make sense in almost any neighborhood, but would be useless to get a package across the country. So, private addresses have only local meaning, and routers refuse to confuse other routers by passing traffic intended to "stay in the neighborhood".

Well, the clever folks at DoIT changed the definition of "local" slightly to expand the meaning of "neighborhood" of (some) private addresses to enclose all of campus. That means things like printers and oscilloscopes can be reached from anywhere on campus, without bothering the rest of the world
with what would otherwise be a confusing definition. The UW routers are all in on it, and the routers on the edge know not to let it out.

Every public IP address freed up by a machine which can be moved to a private IP potentially increases the size of the dynamic-address pool (and increasing the likelihood that requesters will receive a lease) or goes on to serve a machine that's less flexible.

IPv4 addresses are a dwindling resource; these are ways in which the College and the University are "being green."