Sunday, May 10, 2009

The Unsung Wonder Called DHCP

Some of the best features of the Internet are unglamorous. DNS, for example. We would be typing in raw IP addresses into our browsers and keeping personal directories of our favourite websites' IP addresses without DNS to derive them from more human-friendly domain names.

I realised the worth of another such humble Internet protocol last week, when I helped a friend install Ubuntu onto his laptop. His motive was fairly standard and increasingly common - growing exasperation with the number of viruses and malware that regularly infected his Windows laptop.

At any rate, what amazed me was not the ease with which I was able to install Linux on a machine. Ubuntu's friendliness and speed of installation (under 30 minutes) no longer surprise me, although they're still pretty impressive.

He brought his laptop to my house and I hooked it up to my network when I installed Ubuntu 9.04. Ubuntu quietly detected the network, reached out into the Internet and downloaded all the updates that had been released after the release of 9.04, then announced that it was all done. So far, nothing extraordinary (although it's a poke in the eye to those who claim Linux still isn't friendly enough or "there yet" - try installing Windows with as much ease.)

The real wonder was when he went home with his laptop, plugged it into his network and booted it up. Everything worked straightaway. He was online immediately.

It was then that the power of DHCP (Dynamic Host Configuration Protocol) struck me with full force. I didn't have to configure his laptop's IP address. DHCP allowed the laptop to pull its IP address from a server on the network. In the case of both his home network and mine, the DHCP server was the cable modem/router.

This episode reinforced two important lessons for me:

1. Open standards are very powerful. DHCP is an open protocol owned by no proprietary vendor. The manufacturer of his router and mine just don't matter. Mine's NetGear. I know it because I happened to look at the name on the box. I didn't have to know it in order to set up anything. I still don't know what make his router is. And everything still works.

2. If it wasn't already blindingly obvious, loose coupling is perhaps the greatest factor that facilitates ease of integration. DHCP makes it unnecessary to configure IP addresses statically. What if his private IP network is 192.168.0.x and mine is 10.x.x.x? It just doesn't matter. The D in DHCP stands for "Dynamic". The "late binding" that it allows makes all the difference between a smooth installation and one with frustrating setup and numerous support calls.

Though I'm a tech-head who would normally be expected to favour "cool" technology, I'm beginning to think technology actually needs to be boring in order to work well. Boring is the new cool.

1 comment:

Gabriel said...

It reminds me one sentence taht we always says in a soccer match : "A good referee is the one don't draw attention on him"