May 12, 2006 | You arrive late for a meeting, and you want to know what you’ve missed. You launch a text editor, and it automatically discovers a shared document where one or more attendees are taking notes. You have colleagues in an adjacent meeting room who are interested in this meeting, so you IM and invite them to view the notes contributing their comments and questions. The presenter offers a copy of his slides, you accept, and a moment later he has copied his presentation to the discovered Public folder on your laptop. The meeting over, someone snaps a picture of the whiteboard and puts the picture within their photo-sharing library. Immediately this picture is accessible within everyone’s photo-viewing application. You decide to print a copy of the picture to review over lunch, you discover several local printers and choose the one labeled “Third Floor Meeting Rooms.” Someone has video recorded the presentation and puts the media in their shared music library within iTunes. You discover this shared media and synchronize it to your iPod so that you can catch the parts you missed on the plane ride back home.
This isn’t a glimpse of futuristic computing. The future is now; it’s just not evenly distributed.
Two years ago, I told you about an up and coming open network protocol called Zeroconf, embraced and branded as “Bonjour” by Apple, that provides all of the capabilities I’ve described above and is little more than a rather standard implementation of a DNS server operating over a multicast network port, where DNS records are created and queried for dynamically, along with some sensible rules to make sure the network doesn’t get too chatty.
Currently, many peripheral devices that were once connected by USB (requiring configuration and proprietary hardware drivers to enable them) such as webcams, routers, and printers are Zeroconf enabled, requiring no drivers and no configuration. All major operating systems come with support for Zeroconf, and many peripherals devices such as printers can no longer be purchased without it.
Today I’m going to tell you about Wide-Area Bonjour networking and Dynamic DNS. Together these permit the registration and discovery of dynamic services through a static URI. If you don’t immediately recognize the tremendous potential of this technology, think for a moment about other technologies that offer similar features. In the old days, when you dialed someone’s phone number, you reached a physical device with a static location (their house or office). Through the advent of cellular technology, when you dial their mobile number (a static URI), you reach them no matter where they are (for better or worse). Instant Messaging has provided a similar breakthrough in communications: No matter what computer I’m on or what network it is on, if you have my IM-handle (a static URI), you see me and can communicate with me. Wide-Area Bonjour and Dynamic DNS provide a comparable breakthrough, allowing me to expose any dynamic service from my computer’s dynamic location through a static URI.
For example, my laptop is physically on my home wireless network, behind a firewall/router, behind my cable modem sitting on the public Internet. My cable modem is known to the Internet as “thevanettens.com” thanks to ZoneEdit (a free public DNS server). However, I have configured “thevanettens.com” such that when it gets DNS queries for the subdomain “bonjour.thevanettens.com” it should redirect these queries to my cable modem. My cable modem forwards the traffic to my router, which forwards it on to the DNS server on my LAN. My laptop is exposing several well-known services (HTTP, FTP, SSH, VNC, and DAAP) to my LAN and registers these services to my local DNS server creating/updating PTR, SRV, and TXT records as needed.
As a very simple example use of this technology, you can point a Web browser at http://bvtibook.bonjour.thevanettens.com and up will come a Web page physically located within a shared Web directory on my laptop on my private network.
But it gets even better! I live in a town where the lot sizes are very small. I can see the wireless networks of three of my neighbors. If I leave my wireless network and join one of theirs, my laptop tells the DNS server operating on my LAN to update its records to point to my new location on a different private network behind a different public IP address. How cool is that? Together Wide-Area Bonjour and Dynamic DNS provide the ability to expose any dynamic service through a static endpoint. You can point to a hostname on your business card that will point to services on your laptop, whether you’re at home, at the office, or flying on United 881.