— 17 —
a) Immediately configure a new link-local IP address as described above; or,
b) If the device or control point currently has active TCP connections or other reasons to
prefer to keep the same IP address, and has not seen any other conflicting ARP packets
recently (e.g., within the last ten seconds) then it is allowed to elect to attempt to defend
its address once, by recording the time that the conflicting ARP packet was received, and
then broadcasting one single gratuitous ARP, giving its own IP and hardware addresses
as the source addresses of the ARP. However, if another conflicting ARP packet is
received within a short time after that (e.g., within ten seconds) then the device or control
point shall immediately configure a new Auto-IP address as described above.
The device or control point shall respond to conflicting ARP packets as described in either a)
or b) above; it shall NOT ignore conflicting ARP packets. If a new address is selected, the
device or control point shall cancel previous advertisements and re-advertise with the new
address.
After successfully configuring an Auto-IP address, all subsequent ARP packets (replies as
well as requests) containing an Auto-IP source address shall be sent using link-level
broadcast instead of link-level unicast, in order to facilitate timely detection of duplicate
addresses.
0.4 Forwarding rules
IP packets whose source or destination addresses are in the 169.254/16 range shall NOT be
sent to any router for forwarding. Instead, the senders shall ARP for the destination address
and then send the packets directly to the destination on the same link. IP datagrams with a
multicast destination address and an Auto-IP source address shall NOT be forwarded off the
local link. Devices and control points are allowed to assume that all 169.254/16 destination
addresses are on-link and directly reachable. The 169.254/16 address range shall not be
subnetted.
0.5 Periodic checking for dynamic address availability
A device or control point that has auto-configured an IP address shall periodically check for
the existence of a DHCP server. This is accomplished by sending DHCPDISCOVER
messages. How often this check is made is implementation dependent, but checking every 5
minutes would maintain a balance between network bandwidth required and connectivity
maintenance. If a DHCPOFFER is received, the device or control point shall proceed with
dynamic address allocation. Once a DHCP assigned address is in place, the device or control
point is allowed to release the auto-configured address, but is also allowed to choose to
maintain this address for a period of time (or indefinitely) to maintain connectivity.
To switch over from one IP address to a new one, the device should, if possible, cancel any
outstanding advertisements made on the previous address and shall issue new
advertisements on the new address. The clause on Discovery explains advertisements and
their cancellations. In addition, any event subscriptions are deleted by the device (see clause
on Eventing).
For a multi-homed device with multiple IP addresses, to switch one of the IP addresses to a
new one, the device should cancel any outstanding advertisements made on the previous IP
address, and shall issue new advertisements on the new IP addresses. Furthermore, it shall
also issue appropriate update advertisements on all unaffected IP addresses. The clause on
Discovery explains advertisements, their cancellations and updates. The clause on Eventing
explains the effect on event subscriptions.
0.6 Device naming and DNS interaction
Once a device has a valid IP address for the network, it can be located and referenced on that
network through that address. There may be situations where the end user needs to locate
and identify a device. In these situations, a friendly name for the device is much easier for a
human to use than an IP address. If a device chooses to provide a host name to a DHCP
© 2015 UPnP Forum. All Rights Reserved.