DHC Working Group                                          Bernard Aboba
INTERNET-DRAFT                                     Microsoft Corporation
Category: Proposed Standard
<draft-ietf-dhc-dna-ipv4-16.txt>
23 September 2005



               Detecting Network Attachment (DNA) in IPv4

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on April 10, 2006.

Copyright Notice

   Copyright (C) The Internet Society 2005.

Abstract

   The time required to detect movement between networks, and to obtain
   (or continue to use) an IPv4 configuration may be significant as a
   fraction of the total handover latency in moving between points of
   attachment.  This document synthesizes from experience in the
   deployment of hosts supporting ARP, DHCP, and IPv4 Link-Local
   addresses a set of steps known as Detecting Network Attachment for
   IPv4 (DNAv4), in order to decrease the handover latency in moving
   between points of attachment.




Aboba                       Proposed Standard                   [Page 1]


INTERNET-DRAFT                    DNAv4                25 September 2005


Table of Contents

1.  Introduction..............................................    3
      1.1    Requirements ....................................    3
      1.2    Terminology .....................................    3
2.  Overview .................................................    4
      2.1    Reachability Test ...............................    5
      2.2    IPv4 Address Acquisition ........................    7
      2.3    IPv4 Link-Local Addresses .......................    8
3.  Constants ................................................    9
4.  IANA Considerations ......................................    9
5.  Security Considerations ..................................    9
6.  References ...............................................   10
      6.1    Normative references ............................   10
      6.2    Informative references ..........................   10
Acknowledgments ..............................................   10
Authors' Addresses ...........................................   11
Intellectual Property Statement ..............................   11
Disclaimer of Validity .......................................   11
Copyright Statement ..........................................   12































Aboba                       Proposed Standard                   [Page 2]


INTERNET-DRAFT                    DNAv4                25 September 2005


1.  Introduction

   The time required to detect movement between networks and to obtain
   (or continue to use) an operable IPv4 configuration may be
   significant as a fraction of the total handover latency in moving
   between points of attachment.

   This document synthesizes from experience in the deployment of hosts
   supporting ARP [RFC826], DHCP [RFC2131], and IPv4 Link-Local
   addresses [RFC3927] a set of steps known as Detecting Network
   Attachment for IPv4 (DNAv4).  DNAv4 optimizes the (common) case of
   reattachment to a network that one has been connected to previously
   by attempting to re-use a previous (but still valid) configuration,
   reducing the reattachment time to a few milliseconds on LANs.  Since
   this procedure is dependent on the ARP protocol, it is not suitable
   for use on media that do not support ARP.

1.1.  Requirements

   In this document, several words are used to signify the requirements
   of the specification.  The key words "MUST", "MUST NOT", "REQUIRED",
   "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY",
   and "OPTIONAL" in this document are to be interpreted as described in
   [RFC2119].

1.2.  Terminology

This document uses the following terms:

ar$sha
     ARP packet field: Sender Hardware Address [RFC826]. The hardware
     (MAC) address of the originator of an ARP packet.

ar$spa
     ARP packet field: Sender Protocol Address [RFC826].  For IP Address
     Resolution this is the IPv4 address of the sender of the ARP
     packet.

ar$tha
     ARP packet field: Target Hardware Address [RFC826].  The hardware
     (MAC) address of the target of an ARP packet.

ar$tpa
     ARP packet field: Target Protocol Address [RFC826].  For IPv4
     Address Resolution, the IPv4 address for which one desires to know
     the hardware address.





Aboba                       Proposed Standard                   [Page 3]


INTERNET-DRAFT                    DNAv4                25 September 2005


DHCP client
     A DHCP client or "client" is an Internet host using the Dynamic
     Host Configuration protocol (DHCP) [RFC2131] to obtain
     configuration parameters such as a network address.

DHCP server
     A DHCP server or "server" is an Internet host that returns
     configuration parameters to DHCP clients.

Link A communication facility or medium over which network nodes can
     communicate.  Each link is associated with a minimum of two
     endpoints.  Each link endpoint has a unique link-layer identifier.

Link Down
     An event provided by the link layer that signifies a state change
     associated with the interface no longer being capable of
     communicating data frames; transient periods of high frame loss are
     not sufficient.  DNAv4 does not utilize "Link Down" indications.

Link Layer
     Conceptual layer of control or processing logic that is responsible
     for maintaining control of the data link.  The data link layer
     functions provide an interface between the higher-layer logic and
     the data link.  The link layer is the layer immediately below IP.

Link Up
     An event provided by the link layer that signifies a state change
     associated with the interface becoming capable of communicating
     data frames.

Point of Attachment
     The link endpoint on the link to which the host is currently
     connected.

Routable address
     In this specification, the term "routable address" refers to any
     IPv4 address other than an IPv4 Link-Local address.  This includes
     private addresses as specified in [RFC1918].

Operable address
     In this specification, the term "operable address" refers to either
     a static IPv4 address, or an address assigned via DHCPv4 which has
     not been relinquished, and whose lease has not yet expired.

2.  Overview

   On connecting to a new point of attachment, the host responds to a
   "Link Up" indication from the link layer by carrying out the DNAv4



Aboba                       Proposed Standard                   [Page 4]


INTERNET-DRAFT                    DNAv4                25 September 2005


   procedure.

   For each network that it connects to, it is assumed that the host
   saves to stable storage the following parameters:

    [1] The IPv4 and MAC address of the default gateway(s)

    [2] The IPv4 configuration parameters, including
        the assigned address and lease expiration time

   From the set of networks which have operable IPv4 address(es)
   associated with them, the host selects a subset, and attempts to
   confirm the configuration for each network, using the reachability
   test described in Section 2.1.

   If the reachability test is successful, verifying bi-directional
   connectivity to the default gateway(s), the host SHOULD continue to
   use the operable routable IPv4 address associated with the confirmed
   network, without needing to re-acquire it, allowing the host to
   bypass Duplicate Address Detection (DAD).

   If a DHCPv4 client is operational, it is RECOMMENDED that the host
   attempt to obtain IPv4 configuration via DHCPv4 in parallel with the
   reachability tests, with the host using the first answer returned.
   This ensures that the DNAv4 procedure will not result in additional
   delay in the case where reachability test(s) fail, or where sending a
   DHCPREQUEST from the INIT-REBOOT state, as described in [RFC2131]
   Section 3.2 and 4.3.2 completes more quickly than the reachability
   test(s).

   DNAv4 does not increase the likelihood of an address conflict.  The
   reachability test is only carried out for a network when the host has
   previously completed duplicate address detection and obtained an
   operable IPv4 configuration on that network.  Restrictions on sending
   ARP Requests and Responses are described in Section 2.1.1.

2.1.  Reachability Test

   The host skips the reachability test for a network if any of the
   following conditions are true:

   [a] The host does not have an operable routable IPv4
       address on that network. In this case, the reachability
       test cannot confirm that the host has an operable
       routable IPv4 address, so completing the
       reachability test would serve no purpose.
       A host MUST NOT use the reachability test to
       confirm configuration of an IPv4 Link-Local



Aboba                       Proposed Standard                   [Page 5]


INTERNET-DRAFT                    DNAv4                25 September 2005


       address or a statically assigned IPv4 address.

   [b] The host does not know the default gateway(s) on
       that network.  In this case, insufficient information
       is available to carry out the reachability test.

   [c] If secure detection of network attachment is required.
       The reachability test utilizes ARP which is insecure.

   For a particular network, the host MAY test reachability to the
   primary default gateway, or it MAY test reachability to both the
   primary and secondary default gateways, in series or in parallel.  In
   order to ensure configuration validity,  the host SHOULD only
   configure default gateway(s) which pass the reachability test.

   In situations where more than one network is available on a given
   link, or the network configuration has changed, it is possible for
   the host to confirm more than one configuration.  For example, it is
   possible that one or more reachability test(s) succeed, and in
   addition, configuration is provided via DHCPv4.  In this case, a
   DNAv4 implementation SHOULD prefer the configuration provided via
   DHCPv4.

2.1.1.  Packet Format

   The reachability test is performed by sending an ARP Request.  The
   host MUST set the target protocol address (ar$tpa) to the IPv4
   address of the default gateway being tested, and the sender protocol
   address field (ar$spa) to its own IPv4 address.  The ARP Request MUST
   use the host MAC address as the source, and the default gateway MAC
   address as the destination.  The host includes its MAC address in the
   sender hardware address field (ar$sha), and sets the target hardware
   address field (ar$tha) to 0.

   If a valid ARP Reply is received, the MAC address in the sender
   hardware address field (ar$sha) in the ARP Reply is matched against
   the target hardware address field (ar$tpa) in the ARP Request, and
   the IPv4 address in the sender protocol address field (ar$spa) of the
   ARP Reply is matched against the target protocol address field
   (ar$tpa) in the ARP Request.  If a match is found, then the host
   continues to use that IPv4 address, subject to the lease re-
   acquisition and expiration behavior described in [RFC2131], Section
   4.4.5.

   The risk of an address conflict is greatest when the host moves
   between private networks, since in this case the completion of
   Duplicate Address Detection on the former network does not provide
   assurance against an address conflict on the new network.  Until a



Aboba                       Proposed Standard                   [Page 6]


INTERNET-DRAFT                    DNAv4                25 September 2005


   host with a private address has confirmed the operability of its IPv4
   configuration, it SHOULD NOT respond to ARP Requests, and SHOULD NOT
   broadcast ARP Requests containing its address within the sender
   protocol address field (ar$spa).  However, where the host has an
   operable routable non-private address on a network, it MAY send ARP
   Requests using its address within the sender protocol address field
   (ar$spa) prior to confirming its IPv4 configuration, and MAY respond
   to ARP Requests.

   Sending an ICMP Echo Request [RFC792] to the default gateway IPv4
   address does not provide the same level of assurance since this may
   require an ARP Request/Reply exchange.  Where the host has moved
   between two private networks, this could result in ARP cache
   pollution.

   Where a host moves from one private network to another, an ICMP Echo
   Request can result in an ICMP Echo Response even when the default
   gateway has changed, as long as the IPv4 address remains the same.
   This can occur,  for example, where a host moves from one home
   network using prefix 192.168/16 to another one.  In addition, if the
   ping is sent with TTL > 1, then an ICMP Echo Response can be received
   from an off-link gateway.  As a result, if the MAC address of the
   default gateway is not checked, the host can mistakenly confirm
   attachment, potentially resulting in an address conflict.  As a
   result, sending of an ICMP Echo Request SHOULD NOT be used as a
   substitute for the reachability test.

   In order to prevent synchronization, ARP Requests are delayed by a
   random interval uniformly distributed on 0 to JITTER_INTERVAL.  If
   the initial ARP Request does not elicit a response, the host waits
   for REACHABILITY_TIMEOUT.  The timeout value is doubled with each
   retransmission.  It is RECOMMENDED that a host retransmit no more
   than twice.  To provide damping in the case of spurious "Link Up"
   indications, it is recommended that the DNAv4 procedure be carried
   out no more than once a second.

2.2.  IPv4 Address Acquisition

   If the host has an operable routable IPv4 address on one or more
   networks, and DHCPv4 is enabled on the interface, the host SHOULD
   attempt to acquire an IPv4 configuration using DHCPv4, in parallel
   with one or more reachability tests.  This is accomplished by
   entering the INIT-REBOOT state, and sending a DHCPREQUEST to the
   broadcast address as specified in [RFC2131] Section 4.4.2.

   If the host does not have an operable routable IPv4 address on any
   network, the host enters the INIT state and sends a DHCPDISCOVER
   packet to the broadcast address, as described in [RFC2131] Section



Aboba                       Proposed Standard                   [Page 7]


INTERNET-DRAFT                    DNAv4                25 September 2005


   4.4.1.  If the host supports the Rapid Commit Option [RFC4039], it is
   possible that the exchange can be shortened from a 4-message exchange
   to a 2-message exchange.

   If the host does not receive a response to a DHCPREQUEST or
   DHCPDISCOVER, then it retransmits as specified in [RFC2131] Section
   4.1.

   As discussed in [RFC2131], Section 4.4.4, a host in INIT or REBOOTING
   state that knows the address of a DHCP server may use that address in
   the DHCPDISCOVER or DHCPREQUEST rather than the IPv4 broadcast
   address.  In the INIT-REBOOT state a DHCPREQUEST is sent to the
   broadcast address so that the host will receive a response regardless
   of whether the previously configured IPv4 address is correct for the
   network to which it has connected.

   Sending a DHCPREQUEST to the unicast address in INIT-REBOOT state is
   not appropriate, since if the DHCP client has moved to another
   subnet,  a DHCP server response cannot be routed back to the client
   since the DHCPREQUEST will bypass the DHCP relay and will contain an
   invalid source address.

2.3.  IPv4 Link-Local Addresses

   Where the host does not have an operable routable IPv4 address on any
   network, the host MAY configure an IPv4 Link-Local address prior to
   entering the INIT state and sending a DHCPDISCOVER packet, as
   described in [RFC2131] Section 2.3.  Where a host can confirm that it
   remains connected to a network on which it possesses an operable
   routable IPv4 address, that address should be used and the IPv4 Link-
   Local address is deprecated, as noted in [RFC3927] Section 1.9.

   Where a host has an operable routable IPv4 address on one or more
   networks, but the reachability test cannot confirm the configuration
   and the DHCPv4 client does not receive a response after employing the
   retransmission algorithm, [RFC2131] Section 3.2 states that the
   client MAY choose to use the previously allocated network address and
   configuration parameters for the remainder of the unexpired lease.

   As described in [RFC3927] Appendix A, once a Link-Local IPv4 address
   is assigned, existing implementations do not query the DHCPv4 server
   again for five minutes.  This behavior violates [RFC2131] Section
   4.1:

       The retransmission delay SHOULD be doubled with
       subsequent retransmissions up to a maximum of 64 seconds.

   Instead of waiting for five minutes, a DHCP client should continue to



Aboba                       Proposed Standard                   [Page 8]


INTERNET-DRAFT                    DNAv4                25 September 2005


   retry every 64 seconds, even after allocating a IPv4 Link-Local
   address.  If the DHCP client succeeds in obtaining a routable
   address, then the IPv4 Link-Local address is deprecated, as noted in
   [RFC3927] Section 1.9.

   In order to enable communication with hosts that have assigned IPv4
   Link-Local addresses, hosts with routable IPv4 addresses need to be
   able to respond to peers with IPv4 Link-Local addresses, as per
   [RFC3927] Section 1.8.  For example, a host configured with a
   routable address may receive a datagram from a link-local source
   address.  In order to respond, the host will use ARP to resolve the
   target hardware address and send the datagram directly, not to a
   router for forwarding.

3.  Constants

   The suggested default value of REACHABILITY_TIMEOUT is 200 ms.  This
   value was chosen so as to accommodate the maximum retransmission
   timer likely to be experienced on an Ethernet network. The default
   value of JITTER_INTERVAL is 120ms.

4.  IANA Considerations

   This specification does not request the creation of any new parameter
   registries, nor does it require any other IANA assignments.

5.  Security Considerations

   Detecting Network Attachment for IPv4 (DNAv4) is based on ARP and
   DHCP and inherits the security vulnerabilities of these two
   protocols.

   ARP [RFC826] traffic is not secured, so that an attacker gaining
   access to the network can spoof a response to the reachability test
   described in Section 2.2, leading the querier to falsely conclude
   that it is attached to a network that it is not connected to.

   Similarly, where DHCPv4 traffic is not secured, an attacker could
   masquerade as a DHCPv4 server, in order to convince the host that it
   was attached to a particular network.  This and other threats
   relating to DHCPv4 are described in "Authentication for DHCP
   Messages" [RFC3118].

   The effect of these attacks will typically be limited to denial of
   service, unless the host utilizes its IP configuration for other
   purposes, such as security configuration or location determination.
   For example, a host that disables its personal firewall based on
   evidence that it had attached to a home network could be compromised



Aboba                       Proposed Standard                   [Page 9]


INTERNET-DRAFT                    DNAv4                25 September 2005


   by spoofing of the DNAv4 reachability test.  In general, adjustment
   of the security configuration based on DNAv4 is NOT RECOMMENDED.

   Hosts that depend on secure IP configuration SHOULD NOT use DNAv4,
   but SHOULD instead utilize DHCP authentication [RFC3118], possibly in
   combination with the Rapid Commit Option [RFC4039].

6.  References

6.1.  Normative References

[RFC792]  Postel, J., "Internet Control Message Protocol", RFC 792,
          USC/Information Sciences Institute, September 1981.

[RFC826]  D. Plummer, "An Ethernet Address Resolution Protocol -or-
          Converting Network Addresses to 48-bit Ethernet Address for
          Transmission on Ethernet Hardware", STD 37, RFC 826, November
          1982.

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
          Requirement Levels", RFC 2119, March, 1997.

[RFC2131] Droms, R., "Dynamic Host Configuration Protocol", RFC 2131,
          March 1997.

[RFC3118] Droms, R. and W. Arbaugh, "Authentication for DHCP Messages",
          RFC 3118, June 2001.

[RFC3927] Cheshire, S., Aboba, B. and E. Guttman, "Dynamic Configuration
          of IPv4 Link-Local Addresses",  RFC 3927, May 2005.

6.2.  Informative References

[RFC1918] Rekhter, Y.,  Moskowitz, B., Karrenberg, D., de Groot, G. and
          E. Lear, "Address Allocation for Private Internets", RFC 1918,
          February 1996.

[RFC4039] Park, S., Kim, P., and B. Volz, "Rapid Commit Option for the
          Dynamic Host Configuration Protocol version 4 (DHCPv4)", RFC
          4039, March 2005.

Acknowledgments

   The authors would like to acknowledge Greg Daley of Monash
   University, Erik Guttman, James Carlson and Erik Nordmark of Sun
   Microsystems, Ralph Droms of Cisco Systems, Ted Lemon of Nominum,
   Stuart Cheshire of Apple Computer, John Loughney of Nokia, Thomas
   Narten of IBM and David Hankins of ISC for contributions to this



Aboba                       Proposed Standard                  [Page 10]


INTERNET-DRAFT                    DNAv4                25 September 2005


   document.

Authors' Addresses

   Bernard Aboba
   Microsoft Corporation
   One Microsoft Way
   Redmond, WA 98052

   EMail: bernarda@microsoft.com
   Phone: +1 425 818 4011
   Fax:   +1 425 936 7329

Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   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
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.

Disclaimer of Validity

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.





Aboba                       Proposed Standard                  [Page 11]


INTERNET-DRAFT                    DNAv4                25 September 2005


Copyright Statement

   Copyright (C) The Internet Society (2005).  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.

Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.

Open issues

   Open issues relating to this specification are tracked
   on the following web site:

   http://www.drizzle.com/~aboba/DNA/


































Aboba                       Proposed Standard                  [Page 12]