Internet DRAFT - draft-guttman-dhc-mdns-enable

draft-guttman-dhc-mdns-enable





Internet Engineering Task Force                            Erik Guttman
INTERNET DRAFT                                         Sun Microsystems
Intended for Standards Track
July 20, 2001
Expires in six months

                        DHCP mDNS Enable Option
                  draft-guttman-dhc-mdns-enable-01.txt

Status of this Memo

   This document is an individual contribution for consideration by
   the Internet Engineering Task Force.  Comments should be submitted
   to the author and the DHC and DNSEXT mailing lists, as appropriate.

   Distribution of this memo is unlimited.

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of [RFC 2026]. 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.

   Copyright   (C) The Internet Society 2001.  All Rights Reserved.

Abstract

   The Dynamic Host Configuration Protocol [RFC 2131] allows network
   administrators to determine host configuration parameters.  This
   document defines a new DHCP option [RFC 2132] specifically to enable
   and control multicast DNS behavior.  This is an alternative to using
   the Domain Search Option [DOMSEARCH] to configure mDNS behavior, as
   has been proposed.

1.0 Introduction

   When the DNS protocol [RFC 1034] is transported via multicast (termed
   'mDNS'), it is well suited for ad-hoc network environments lacking



E. Guttman              Expires: 20 January 2002                [Page 1]

Internet Draft         DHC Option to Enable mDNS               July 2001


   administration and services [ZEROCONF].  When mDNS enabled hosts
   become available, it is vital that they behave as expected in
   administered, configured networks.  DNS resolvers must determine if
   mDNS should be used at all, exclusively or in addition to standard
   DNS.

   The simplest way to achieve the current DNS resolver behavior would
   be to not use mDNS if a host is configured via DHCP at all or the
   host had DNS configuration (manual or otherwise).  Just as hosts
   neither respond to mDNS requests nor issue them today, they wouldn't
   do so after becoming configured via DHCP.  Only in the absence of
   such configuration would a host use mDNS (this is the ZeroConf
   scenario [ZEROCONF]).

   This simplistic approach disallows cases in which it would be
   extremely useful to enable mDNS.

     (1) A host may have access to both a configured network and an
         unadministered LAN (such as a home office).  The devices
         in the home office may not have either domain names nor
         global address configuration. A host could continue to be
         able to resolve locally using mDNS as well as use a
         back-end DNS resolver.

     (2) A host which uses mDNS to resolve a name locally should
         not (necessarily) fail to be able to after it has obtained
         DNS server configuration.

     (3) A host may no longer be able to contact the DNS server(s) it
         has been configured to use. A host could use mDNS to continue
         to resolve domain names locally, increasing the availability
         of local networking services substantially.

   This document accepts that the default behavior for a host which has
   DNS server configuration (whether from DHCP or some other source) is
   that it MUST NOT use mDNS.  The exception to this is if the DNS
   client receives a mDNS Enable Option as well.  This document does not
   specify host behavior if mDNS support can be manually configured.

   An alternative approach suggested in [LINKLOCAL-MDNS] is to use the
   domain search list (obtained, for instance, using the Domain Search
   Option [DOMSEARCH]) for the same purpose.  The differences between
   these approaches are discussed below.

1.1 Terminology

   The key words "MUST", "MUST NOT", "SHOULD", "SHOULD NOT" and "MAY"
   used in this document are to be interpreted as specified in [RFC
   2119].  Other terms used in this document are defined in the DNS
   specification [RFC 1034].



E. Guttman              Expires: 20 January 2002                [Page 2]

Internet Draft         DHC Option to Enable mDNS               July 2001


2.0 DHCP Enable mDNS Option Format

       Code   Len  Scope
      +-----+-----+-----+-----+
      | TBD |  n  | Scp | ...
      +-----+-----+-----+-----+

2.1 Specifying the multicast scope and order to use DNS and mDNS

   The value of n is set to the number of Scp entries which follow.
   Each Scp entry is one byte long and is interpreted separately.

   The value of 'Scp' determines the scope of the multicast used by
   mDNS. This field has only two defined values at the present time.

   Scp = 0 means that unicast DNS (to DNS servers whose locations are
   known to the resolver) is to be used.

   Scp = 1 indicates that LINKLOCAL multicast DNS be used, as defined in
   [LINKLOCAL-MDNS].

   If mDNS is specified for additional multicast scopes in the future,
   additional values for the bits in Scp may be defined.  These will be
   associated with standards track specifications of multicast DNS at
   that scope.

   The order in which the Scp values are given is the order in which
   hosts attempt to get a response for a given request.  Only if the
   replies are not returned by the mechanism at one scope, is the next
   mechanism in the list attempted.

3.0 mDNS host behavior

   mDNS behavior depends upon configuration obtained by DHCP.  As noted
   in Section 3.6 of [RFC 2131], "A client with multiple network
   interfaces must use DHCP through each interface independently to
   obtain configuration information parameters for those separate
   interfaces."

   Each interface is enabled to use mDNS separately.  This makes good
   sense.  For example, a telecommuter may use a multihomed host, one
   interface attached to a LAN in a home office, the other attached via
   a WAN to a corporate network.  The interface connected to the LAN
   will issue requests using mDNS, while the interface connected to the
   WAN, configured by DHCP, does not have mDNS enabled.

   A mDNS enabled host SHOULD issue requests and respond to them from
   each multicast enabled interface, by default, if it lacks any DNS or
   DHCP configuration.

   A mDNS enabled host which has manual DNS configuration or receives


E. Guttman              Expires: 20 January 2002                [Page 3]

Internet Draft         DHC Option to Enable mDNS               July 2001


   DHCP configuration MUST NOT issue mDNS requests or respond to them
   (from the configured interface) unless it receives an mDNS Enable
   option.  In this case, the host which SHOULD issue mDNS requests
   respond to them on interface upon which the DHCP option was received,
   according to the parameters provided in the mDNS Enable option.

   If a host offers manual configuraration to enable mDNS on an
   interface, the host's behavior is left unspecified by this document.

4.0 Comparison between the Enable mDNS and search list approaches

   Both options allow an administrator to explicitly enable the use of
   mDNS - leaving it disabled by default when DHCP configuration occurs.

   The Domain Search Option [DOMSEARCH] provides a much needed mechanism
   for configuring resolvers' search list parameter using DHCP.

   The LINKLOCAL mDNS specification [LINKLOCAL-MDNS] interprets the
   domain search list (whether configured manually or via the Domain
   Search Option) to control mDNS behavior.  Hosts respond to mDNS
   requests and issue mDNS requests only if the domain name
   ".local.arpa" is present.  This domain name implies special treatment
   - requests for this name are always sent using mDNS, never via DNS.

   This approach implies the following:

     - mDNS requests will only be sent for names ending in '.local.arpa'

     - Names ending in '.local.arpa' will not be accessible via DNS
        though they are via mDNS.

     - A mDNS server must fashion a name by appending '.local.arpa' to
        its domain name instead of responding to its own actual domain
        name.

     - Use of the search list to control DNS transmission behavior and
        especially to enable local services (the mDNS responder) is
        highly unusual and will surely confuse many users and
        administrators.

   In contrast the mDNS Enable option has none of these implications.

   The mDNS Enable option additionally specifies which multicast scope
   to use, which could be useful in the future if mDNS is standardized
   to use scopes beyond LINKLOCAL.  The only way this could be achieved
   in the future by the 'search list' approach would be to define a new
   domain name for special treatment, like 'local2.arpa' for the IPv4
   Local Scope, for example.





E. Guttman              Expires: 20 January 2002                [Page 4]

Internet Draft         DHC Option to Enable mDNS               July 2001


4.1 Conclusion

   The search list option requires special case treatment of certain
   domain names, overloads the notion of a DNS search list, creates
   arbitrary limitations on which names can be used with mDNS and how
   and poses challenges for extensibility of mDNS to scopes beyond
   LINKLOCAL.  The Enable mDNS option approach should be adopted as the
   mechanism to control mDNS host behavior instead.

5.0 IANA Considerations

   New values for the Scp fields will be determined by IETF Consensus.
   [RFC 2434]  An IANA registry will be set up listing the assigned
   values.

   A new DHC option ID assignment will only occur if this document is
   accepted after review by an IETF working group (in this case either
   DHC or DNSEXT) and the IESG.  This is the policy for all proposed DHC
   options. [RFC 2939]

6.0 Security Considerations

   Security considerations for LINKLOCAL multicast DNS are discussed in
   [LINKLOCAL-MDNS].  Security considerations for DHCP are considered in
   [RFC 2131] and addressed in [RFC 3118].

   The mDNS enable option itself could be abused by an attacker to
   enable the use of mDNS on a network where the network administrators
   do not intend it to be used.  Once enabled, an attacker's mDNS server
   could respond to requests for names it has no authority for,
   masquerading as them or misdirecting hosts to use some other host.
   As hosts may use mDNS to resolve names which the DNS provides no
   results, an attacker could respond to non-existent names (such as
   resulting from slightly mistyped URLs, etc).

Acknowledgments

   The author thanks kre, Bernard Aboba and Stuart Cheshire for their
   comments.

References

  [RFC 2026] Bradner, S., "The Internet Standards Process -- Revision
      3", RFC 2026, October 1996.

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

  [RFC 2132] Alexander, S., Droms, R., "DHCP Options and BOOTP Vendor
      Extensions", RFC 2132, March 1997.



E. Guttman              Expires: 20 January 2002                [Page 5]

Internet Draft         DHC Option to Enable mDNS               July 2001


  [DOMSEARCH] Aboba, B., "DHCP Domain Search Option", draft-aboba-dhc-
      domsearch-02.txt, June 2001, A work in progress

  [RFC 1034] Mockapetris, P., "DOMAIN NAMES - CONCEPTS AND FACILITIES",
      RFC 1034, November 1987.

  [ZEROCONF] Hattig, M., "ZeroConf Requirements", draft-ietf-zeroconf-
      reqts-08.txt, June 2001, A work in progress

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

  [LINKLOCAL-MDNS] Ebisov, L., Aboba, B., Thaler, D., "Multicast DNS",
      draft-ietf-dnsext-01.txt, June 2001, A work in progress.

  [RFC 2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an
      IANA Considerations Section in RFCs", BCP 26, RFC 2434, October
      1998.

  [RFC 2939] Droms, R., "Procedures for New DHCP Options", BCP 29, RFC
      2939, September 2000.

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

Author's Address

               Erik Guttman
               Sun Microsystems
               Eichhoelzelstr. 7
               74915 Waibstadt
               Germany

   Phone:     +49 7263 911 701
   Messages:  +49 6221 356 202
   Email:      erik.guttman@sun.com

















E. Guttman              Expires: 20 January 2002                [Page 6]