My home network has an Apple Airport Extreme as the first stop from my cable modem, which of course provides dynamic addressing, and I run my own BIND DNS server on the Internet. I wanted a way to query the Airport Extreme for its external IP address and dynamically update a host entry on my Internet DNS server so that I could access my home network while away. I used to subscribe to a service called DynDNS (there are others as well) but I prefer to be in control for this scenario. The BIND setup is easy: I just created a TSIG key and allowed the zone that contains my home network's host address to accept dynamic updates using that key. There are several examples of this on the web.