UPnP Design by Example: A Software Developer's Guide to Universal Plug and Play

Hallo, Rabbit, said Pooh, is that you?
Let s pretend it isn t, said Rabbit, and see what happens.
A. A. Milne, Winnie-the-Pooh
Postcards are a simple means of communication. You write your message on a card, address it, put on a stamp, and then drop it in the mailbox. However, if the address you wrote on a postcard was not unique, you might end up sending the card to someone you did not intend. In any communication delivery system, communicating endpoints need to be able to clearly identify to whom they wish to send data. To do so, each endpoint must have a unique address. How UPnP devices acquire, manage, and release addresses is called addressing. Addressing is the first step in UPnP networking; without an address, a device cannot proceed with subsequent UPnP phases, such as discovery where it offers its services to control points on the network.
UPnP devices are built upon the foundation of the TCP/IP protocol suite, which provides the network layer connectivity devices needed to communicate. Each endpoint on an IP network has an address that uniquely identifies it among all of the endpoints on the network. There are two addressing protocols used by UPnP devices, the Dynamic Host Configuration Protocol (DHCP) and the Dynamic Configuration of IPv4
Link-Local Addresses ( Auto-IP ). This chapter briefly covers how each of these protocols operates, under...