< draft-ietf-zeroconf-ipv4-linklocal-16.txt   draft-ietf-zeroconf-ipv4-linklocal-17.txt >
ZEROCONF Working Group Stuart Cheshire ZEROCONF Working Group Stuart Cheshire
INTERNET-DRAFT Apple Computer INTERNET-DRAFT Apple Computer
Category: Standards Track Bernard Aboba Category: Standards Track Bernard Aboba
<draft-ietf-zeroconf-ipv4-linklocal-16.txt> Microsoft Corporation <draft-ietf-zeroconf-ipv4-linklocal-17.txt> Microsoft Corporation
1 July 2004 Erik Guttman 8 July 2004 Erik Guttman
Sun Microsystems Sun Microsystems
Dynamic Configuration of IPv4 Link-Local Addresses Dynamic Configuration of IPv4 Link-Local Addresses
By submitting this Internet-Draft, I certify that any applicable By submitting this Internet-Draft, I certify that any applicable
patent or other IPR claims of which I am aware have been disclosed, patent or other IPR claims of which I am aware have been disclosed,
and any of which I become aware will be disclosed, in accordance with and any of which I become aware will be disclosed, in accordance with
RFC 3668. RFC 3668.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that other Task Force (IETF), its areas, and its working groups. Note that
groups may also distribute working documents as Internet-Drafts. other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at http:// The list of current Internet-Drafts can be accessed at
www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on January 2, 2005.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society 2004. This document is subject to Copyright (C) The Internet Society 2004. All rights reserved.
the rights, licenses and restrictions contained in BCP 78, and except
as set forth therein, the authors retain all their rights.
Abstract Abstract
To participate in wide-area IP networking, a host needs to be To participate in wide-area IP networking, a host needs to be
configured with IP addresses for its interfaces, either manually by configured with IP addresses for its interfaces, either manually by
the user or automatically from a source on the network such as a DHCP the user or automatically from a source on the network such as a DHCP
server. Unfortunately, such address configuration information may not server. Unfortunately, such address configuration information may not
always be available. It is therefore beneficial for a host to be able always be available. It is therefore beneficial for a host to be able
to depend on a useful subset of IP networking functions even when no to depend on a useful subset of IP networking functions even when no
address configuration is available. This document describes how a address configuration is available. This document describes how a
skipping to change at page 2, line 10 skipping to change at page 2, line 14
IPv4 Link-Local addresses are not suitable for communication with IPv4 Link-Local addresses are not suitable for communication with
devices not directly connected to the same physical (or logical) devices not directly connected to the same physical (or logical)
link, and are only used where stable, routable addresses are not link, and are only used where stable, routable addresses are not
available (such as on ad hoc or isolated networks). This document available (such as on ad hoc or isolated networks). This document
does not recommend that IPv4 Link-Local addresses and routable does not recommend that IPv4 Link-Local addresses and routable
addresses be configured simultaneously on the same interface. addresses be configured simultaneously on the same interface.
Table of Contents Table of Contents
1. Introduction.............................................. 3 1. Introduction.............................................. 4
1.1 Requirements ....................................... 3 1.1 Requirements ....................................... 4
1.2 Terminology ........................................ 3 1.2 Terminology ........................................ 4
1.3 Applicability....................................... 4 1.3 Applicability....................................... 5
1.4 Application Layer Protocol Considerations........... 5 1.4 Application Layer Protocol Considerations........... 6
1.5 Autoconfiguration Issues ........................... 6 1.5 Autoconfiguration Issues ........................... 7
1.6 Alternate Use Prohibition .......................... 7 1.6 Alternate Use Prohibition .......................... 8
1.7 Multiple Interfaces ................................ 7 1.7 Multiple Interfaces ................................ 8
1.8 Communication with Routable Addresses............... 7 1.8 Communication with Routable Addresses............... 8
1.9 When to configure an IPv4 Link-Local Address ....... 7 1.9 When to configure an IPv4 Link-Local Address ....... 8
2. Address Selection, Defense and Delivery................... 9 2. Address Selection, Defense and Delivery................... 10
2.1 Link-Local Address Selection........................ 9 2.1 Link-Local Address Selection........................ 10
2.2 Claiming a Link-Local Address....................... 10 2.2 Claiming a Link-Local Address....................... 11
2.3 Shorter Timeouts ................................... 12 2.3 Shorter Timeouts ................................... 13
2.4 Announcing an Address............................... 12 2.4 Announcing an Address............................... 13
2.5 Conflict Detection and Defense...................... 12 2.5 Conflict Detection and Defense...................... 13
2.6 Address Usage and Forwarding Rules.................. 13 2.6 Address Usage and Forwarding Rules.................. 14
2.7 Link-Local Packets Are Not Forwarded................ 15 2.7 Link-Local Packets Are Not Forwarded................ 16
2.8 Link-Local Packets are Local........................ 15 2.8 Link-Local Packets are Local........................ 16
2.9 Higher-Layer Protocol Considerations................ 15 2.9 Higher-Layer Protocol Considerations................ 16
2.10 Privacy Concerns.................................... 16 2.10 Privacy Concerns.................................... 17
2.11 Interaction between DHCPv4 and IPv4 Link-Local 2.11 Interaction between DHCPv4 and IPv4 Link-Local
State Machines ..................................... 16 State Machines ..................................... 17
3. Considerations for Multiple Interfaces.................... 16 3. Considerations for Multiple Interfaces.................... 17
3.1 Scoped Addresses.................................... 17 3.1 Scoped Addresses.................................... 18
3.2 Address Ambiguity................................... 18 3.2 Address Ambiguity................................... 19
3.3 Interaction with Hosts with Routable Addresses...... 18 3.3 Interaction with Hosts with Routable Addresses...... 19
3.4 Unintentional Autoimmune Response................... 19 3.4 Unintentional Autoimmune Response................... 20
4. Healing of Network Partitions ............................ 20 4. Healing of Network Partitions ............................ 21
5. Security Considerations................................... 21 5. Security Considerations................................... 22
6. Application Programming Considerations.................... 22 6. Application Programming Considerations.................... 23
6.1 Address Changes, Failure and Recovery............... 22 6.1 Address Changes, Failure and Recovery............... 23
6.2 Limited Forwarding of Locators...................... 22 6.2 Limited Forwarding of Locators...................... 23
6.3 Address Ambiguity................................... 22 6.3 Address Ambiguity................................... 23
7. Router Considerations..................................... 23 7. Router Considerations..................................... 24
8. IANA Considerations....................................... 23 8. IANA Considerations....................................... 24
9. Constants ................................................ 23 9. Constants ................................................ 24
10. References ............................................... 24 10. References ............................................... 25
10.1 Normative References ............................... 24 10.1 Normative References ............................... 25
10.2 Informative References ............................. 24 10.2 Informative References ............................. 25
Acknowledgments .............................................. 25 Acknowledgments .............................................. 26
Authors' Addresses ........................................... 25 Authors' Addresses ........................................... 26
Appendix A - Prior Implementations............................ 26 Appendix A - Prior Implementations............................ 27
Intellectual Property Statement .............................. 29 Intellectual Property Statement .............................. 30
Full Copyright Statement ..................................... 30 Disclaimer of Validity ....................................... 31
Full Copyright Statement ..................................... 31
1. Introduction 1. Introduction
As the Internet Protocol continues to grow in popularity, it becomes As the Internet Protocol continues to grow in popularity, it becomes
increasingly valuable to be able to use familiar IP tools such as FTP increasingly valuable to be able to use familiar IP tools such as FTP
not only for global communication, but for local communication as not only for global communication, but for local communication as
well. For example, two people with laptop computers supporting IEEE well. For example, two people with laptop computers supporting IEEE
802.11 Wireless LANs [802.11] may meet and wish to exchange files. 802.11 Wireless LANs [802.11] may meet and wish to exchange files.
It is desirable for these people to be able to use IP application It is desirable for these people to be able to use IP application
software without the inconvenience of having to manually configure software without the inconvenience of having to manually configure
static IP addresses or set up a DHCP server [RFC2131]. static IP addresses or set up a DHCP server [RFC2131].
skipping to change at page 5, line 24 skipping to change at page 6, line 24
see PROBE_NUM, PROBE_MIN, PROBE_MAX defined in Section 2.2.1 see PROBE_NUM, PROBE_MIN, PROBE_MAX defined in Section 2.2.1
(b) the number of, and interval between, ARP announcements, (b) the number of, and interval between, ARP announcements,
see ANNOUNCE_NUM and ANNOUNCE_INTERVAL defined in Section 2.4 see ANNOUNCE_NUM and ANNOUNCE_INTERVAL defined in Section 2.4
(c) the maximum rate at which address claiming may be attempted, (c) the maximum rate at which address claiming may be attempted,
see RATE_LIMIT_INTERVAL and MAX_COLLISIONS defined in Section 2.2.1 see RATE_LIMIT_INTERVAL and MAX_COLLISIONS defined in Section 2.2.1
(d) the time interval between conflicting ARPs below which a host (d) the time interval between conflicting ARPs below which a host
MUST reconfigure instead of attempting to defend its address, MUST reconfigure instead of attempting to defend its address,
see DEFENSE_WINDOW defined in Section 2.5 see DEFEND_INTERVAL defined in Section 2.5
Link-layer technologies that do not support ARP may be able to use Link-layer technologies that do not support ARP may be able to use
other techniques for determining whether a particular IP address is other techniques for determining whether a particular IP address is
currently in use. However, the application of claim-and-defend currently in use. However, the application of claim-and-defend
mechanisms to such networks is outside the scope of this document. mechanisms to such networks is outside the scope of this document.
This specification is intended for use with small ad-hoc networks - a This specification is intended for use with small ad-hoc networks - a
single link containing only a few hosts. Although 65024 IPv4 Link- single link containing only a few hosts. Although 65024 IPv4 Link-
Local addresses are available in principle, attempting to use all Local addresses are available in principle, attempting to use all
those addresses on a single link would result a high probability of those addresses on a single link would result a high probability of
skipping to change at page 12, line 46 skipping to change at page 13, line 46
A host MUST respond to a conflicting ARP packet as described in A host MUST respond to a conflicting ARP packet as described in
either (a) or (b) below: either (a) or (b) below:
(a) Upon receiving a conflicting ARP packet, a host MAY elect to (a) Upon receiving a conflicting ARP packet, a host MAY elect to
immediately configure a new IPv4 Link-Local address as described immediately configure a new IPv4 Link-Local address as described
above, or above, or
(b) If a host currently has active TCP connections or other reasons (b) If a host currently has active TCP connections or other reasons
to prefer to keep the same IPv4 address, and it has not seen any to prefer to keep the same IPv4 address, and it has not seen any
other conflicting ARP packets recently, within the last other conflicting ARP packets recently, within the last
DEFENSE_WINDOW seconds, then it MAY elect to attempt to defend its DEFEND_INTERVAL seconds, then it MAY elect to attempt to defend its
address, by recording the time that the conflicting ARP packet was address, by recording the time that the conflicting ARP packet was
received, and then broadcasting one single ARP announcement, giving received, and then broadcasting one single ARP announcement, giving
its own IP and hardware addresses as the sender addresses of the ARP. its own IP and hardware addresses as the sender addresses of the ARP.
Having done this, the host can then continue to use the address Having done this, the host can then continue to use the address
normally without any further special action. However, if this is not normally without any further special action. However, if this is not
the first conflicting ARP packet the host has seen, and the time the first conflicting ARP packet the host has seen, and the time
recorded for the previous conflicting ARP packet is recent, within recorded for the previous conflicting ARP packet is recent, within
DEFENSE_WINDOW, then the host MUST immediately cease using this DEFEND_INTERVAL, then the host MUST immediately cease using this
address and configure a new IPv4 Link-Local address as described address and configure a new IPv4 Link-Local address as described
above. This is necessary to ensure that two hosts do not get stuck above. This is necessary to ensure that two hosts do not get stuck
in an endless loop with both hosts trying to defend the same address. in an endless loop with both hosts trying to defend the same address.
A host MUST respond to conflicting ARP packets as described in either A host MUST respond to conflicting ARP packets as described in either
(a) or (b) above. A host MUST NOT ignore conflicting ARP packets. (a) or (b) above. A host MUST NOT ignore conflicting ARP packets.
Forced address reconfiguration may be disruptive, causing TCP Forced address reconfiguration may be disruptive, causing TCP
connections to be broken. However, it is expected that such connections to be broken. However, it is expected that such
disruptions will be rare, and if inadvertent address duplication disruptions will be rare, and if inadvertent address duplication
skipping to change at page 23, line 33 skipping to change at page 24, line 33
configured or is configured with a different address than the configured or is configured with a different address than the
destination of the packet MUST NOT forward the packet. This prevents destination of the packet MUST NOT forward the packet. This prevents
forwarding of packets back onto the network segment from which they forwarding of packets back onto the network segment from which they
originated, or to any other segment. originated, or to any other segment.
8. IANA Considerations 8. IANA Considerations
The IANA has allocated the prefix 169.254/16 for the use described in The IANA has allocated the prefix 169.254/16 for the use described in
this document. The first and last 256 addresses in this range this document. The first and last 256 addresses in this range
(169.254.0.x and 169.254.255.x) are allocated by Standards Action, as (169.254.0.x and 169.254.255.x) are allocated by Standards Action, as
defined in [RFC2434] BCP 26. No other IANA services are required by defined in [RFC2434] BCP 26. No other IANA services are required by
this document. this document.
9. Constants 9. Constants
The following timing constants are used in this protocol; they are The following timing constants are used in this protocol; they are
not intended to be user configurable. not intended to be user configurable.
PROBE_WAIT 1 second (initial random delay) PROBE_WAIT 1 second (initial random delay)
PROBE_MIN 1 second (minimum delay till repeated probe) PROBE_MIN 1 second (minimum delay till repeated probe)
PROBE_MAX 2 seconds (maximum delay till repeated probe) PROBE_MAX 2 seconds (maximum delay till repeated probe)
PROBE_NUM 3 (number of probe packets) PROBE_NUM 3 (number of probe packets)
ANNOUNCE_NUM 2 (number of announcement packets) ANNOUNCE_NUM 2 (number of announcement packets)
ANNOUNCE_INTERVAL 2 seconds (time between announcement packets) ANNOUNCE_INTERVAL 2 seconds (time between announcement packets)
ANNOUNCE_WAIT 2 seconds (delay before announcing) ANNOUNCE_WAIT 2 seconds (delay before announcing)
MAX_COLLISIONS 10 (max collisions before rate limiting) MAX_COLLISIONS 10 (max collisions before rate limiting)
RATE_LIMIT_INTERVAL 60 seconds (delay between successive attempts) RATE_LIMIT_INTERVAL 60 seconds (delay between successive attempts)
DEFENSE_WINDOW 10 seconds (time to continue to defend your DEFEND_INTERVAL 10 seconds (minimum interval between defensive
address, for IEEE 802 networks. For ARPs).
other network types this value is
currently unspecified.)
10. References 10. References
10.1. Normative References 10.1. Normative References
[RFC792] Postel, J., "Internet Control Message Protocol", RFC 792, [RFC792] Postel, J., "Internet Control Message Protocol", RFC 792,
September 1981. September 1981.
[RFC826] D. Plummer, "An Ethernet Address Resolution Protocol -or- [RFC826] D. Plummer, "An Ethernet Address Resolution Protocol -or-
Converting Network Addresses to 48-bit Ethernet Address for Converting Network Addresses to 48-bit Ethernet Address for
skipping to change at page 29, line 39 skipping to change at page 30, line 39
respect to address allocation and NATing of Link-Local prefixes. respect to address allocation and NATing of Link-Local prefixes.
Intellectual Property Statement Intellectual Property Statement
The IETF has been notified of intellectual property rights claimed in The IETF has been notified of intellectual property rights claimed in
regard to some or all of the specification contained in this regard to some or all of the specification contained in this
document. For more information consult the online list of claimed document. For more information consult the online list of claimed
rights. rights.
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it might or might not be available; nor does it represent that it has
has made any effort to identify any such rights. Information on the made any independent effort to identify any such rights. Information
IETF's procedures with respect to rights in standards-track and on the procedures with respect to rights in RFC documents can be
standards-related documentation can be found in BCP-11. Copies of found in BCP 78 and BCP 79.
claims of rights made available for publication and any assurances of
licenses to be made available, or the result of an attempt made to Copies of IPR disclosures made to the IETF Secretariat and any
obtain a general license or permission for the use of such assurances of licenses to be made available, or the result of an
proprietary rights by implementers or users of this specification can attempt made to obtain a general license or permission for the use of
be obtained from the IETF Secretariat. such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to practice rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF Executive this standard. Please address the information to the IETF at ietf-
Director. ipr@ietf.org.
Full Copyright Statement
Copyright (C) The Internet Society (2004). This document is subject Disclaimer of Validity
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
This document and the information contained herein are provided on an This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2004). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Open Issues Open Issues
Open issues with this specification are tracked on the following web Open issues with this specification are tracked on the following web
site: site:
http://www.drizzle.com/~aboba/ZEROCONF/issues.html http://www.drizzle.com/~aboba/ZEROCONF/issues.html
 End of changes. 19 change blocks. 
81 lines changed or deleted 84 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/