Re: [dhcwg] Review of Service-Discovery-Type options in DHCP

Erik Guttman <Erik.Guttman@Sun.COM> Wed, 17 July 2002 13:25 UTC

Received: from optimus.ietf.org (ietf.org [132.151.1.19] (may be forged)) by ietf.org (8.9.1a/8.9.1a) with ESMTP id JAA15856 for <dhcwg-archive@odin.ietf.org>; Wed, 17 Jul 2002 09:25:36 -0400 (EDT)
Received: (from daemon@localhost) by optimus.ietf.org (8.9.1a/8.9.1) id JAA08344 for dhcwg-archive@odin.ietf.org; Wed, 17 Jul 2002 09:26:35 -0400 (EDT)
Received: from optimus.ietf.org (localhost [127.0.0.1]) by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id JAA07966; Wed, 17 Jul 2002 09:20:05 -0400 (EDT)
Received: from ietf.org (odin [132.151.1.176]) by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id GAA27423 for <dhcwg@optimus.ietf.org>; Wed, 17 Jul 2002 06:29:59 -0400 (EDT)
Received: from nwkea-mail-1.sun.com (nwkea-mail-1.sun.com [192.18.42.13]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id GAA11664 for <dhcwg@ietf.org>; Wed, 17 Jul 2002 06:29:02 -0400 (EDT)
Received: from hs-ehdb03-01.Germany.Sun.COM ([129.157.142.201]) by nwkea-mail-1.sun.com (8.9.3+Sun/8.9.3) with ESMTP id DAA10126; Wed, 17 Jul 2002 03:29:25 -0700 (PDT)
Received: from field (field [129.157.142.146]) by hs-ehdb03-01.Germany.Sun.COM (8.10.2+Sun/8.10.2/ENSMAIL,v2.2) with SMTP id g6HATOb25033; Wed, 17 Jul 2002 12:29:24 +0200 (MEST)
Date: Wed, 17 Jul 2002 12:28:43 +0200
From: Erik Guttman <Erik.Guttman@Sun.COM>
X-Sender: erikg@field
To: DHCP discussion list <dhcwg@ietf.org>
cc: Stuart Cheshire <cheshire@apple.com>
Subject: Re: [dhcwg] Review of Service-Discovery-Type options in DHCP
In-Reply-To: <C3A368E7-9947-11D6-8431-00039317663C@nominum.com>
Message-ID: <Pine.SOL.3.96.1020717113429.22315B-100000@field>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"
Sender: dhcwg-admin@ietf.org
Errors-To: dhcwg-admin@ietf.org
X-Mailman-Version: 1.0
Precedence: bulk
List-Id: <dhcwg.ietf.org>
X-BeenThere: dhcwg@ietf.org

Folks,

Here's my take on this topic.

---

DHCP and DNS are reasonably equivalent for the purpose of service discovery.

 * DHCP associates a type of service (ie. an option id) with an address.

 * DNS SRV RRs associate a server name with a host name, and
   that name, using an A RR, with an address.

Both DHCP and DNS are centrally administered, so neither is 'more natural'
a place to administer service type to service location mappings, inside
a single enterprise.   In the Internet as a whole, however, DNS SRV RRs
clearly supply a function which DHCP lacks - namely, obtaining the 
locations of services *in other administrative domains.*

---

In dynamic environments, it would be nice if the *availability* of the
service would imply its discoverability.  

SLP achieves this by requiring an agent to 'register' the service when 
the service is available.  When the service goes down, the agent
can deregister it, or let the soft-state registration expire.  With 
multicast SLP, agents respond directly - potentially one 'agent' per
service (running in a thread of the service process, even).

Other possibilities include:

  * An agent registering the service with an LDAP server using LDAP.

  * An agent registering the service with DNS using DNS dynamic update
    of an SRV RR.

  * A management framework (SNMP, CIM/WBEM, JINI, etc) which allows
    service information to be made available.  The network management
    protocol can then be used to generate a map of which services are
    available where, and push this information to clients, somehow.

  * An agent could respond to 'stateless DHCPv6' requests, as per
    draft-droms-dhcpv6-stateless-guide-00.txt

  * An agent could respond to multicast DNS requests for SRV RRs,
    as per 
        Stuart Cheshire's suggestions (drafts expired)
     OR draft-ietf-dnsext-opcode-discover-00.txt
     OR draft-ietf-dnsext-mdns-10.txt

In summary, neither DNS nor DHCP have any standard mechanism for
supporting dynamic registration of services based upon their 
availability.  One could standardize such a mechanism and the
basic mechanisms to support this are already under discussion.

---

Other mechanisms, such as LDAP or SLP allow service information
to be obtained by a client on the basis of *attributes* and not
simply by an id # or service name.  For applications which require
'locate-by-characteristic' service discovery instead of 
'locate-by-type', DHCP and DNS are not sufficient.  Examples of 
these types of service (for which SLP has *actually been used*) are:

  * Management agents (which can be managed by a particular kind of
    manager)

  * Printers with distinguishing characteristics

  * File services exported with distinguishing characteristics

  * Databases with distinguishing characteristics (only certain
    users or groups can access them)

  * Coarse grain dynamic load balancing applications (see RFC 3049)

---

Using DHCPINFORM, a client can request a particular option.  Note
however, the DHCPINFORM cannot set the 'lease expiration time.'
See RFC 2131, Section 4.3.5.  This is unfortunate, as it is useful
to tag a cache timeout for service location information.  This can
be done with DNS SRV RRs (TTL) and SLP (lifetime) or in an LDAP
entry (for example, with a 'valid until' timestamp attribute).

A DHCP server could use RECONFIGURE to signal DHCP clients to 
request new service information when necessary, but this only
partially makes up for the lack of a time limit on server address
options.

---

Summary:

My feeling is there are many approaches to service discovery being
pursued and this is not a service to the user and administrator
communities.  I believe that while no approach has all the features
that everyone wants, we should try to rally arround a single approach.

Proposal:

Many working groups create DHCP options for service discovery.
Others are specifying use of DNS SRV RRs.  What if we specify a
simple mapping between the two and create a registration process:

  IETF Standards Track Service => DHCP Option # and DNS SRV Name

As far as the consistency of the list of service locations which DHCP 
and DNS servers assign to clients - that could be solved by tighter
integration of DNS and DHCP.  This has long been considered for
the relationship between A and PTR records for DHCP assigned
addresses.  We could start a parallel effort to consider the
relationship between SRV RRs and DHCP assigned server options -
so they are the same list.  This would be especially useful when
'Stateless DHCPv6' and 'multicast DNS' mature as standards and
are supported on the same host.

Should I write this proposal up as an internet draft? 

---

Best regards,

Erik




_______________________________________________
dhcwg mailing list
dhcwg@ietf.org
https://www1.ietf.org/mailman/listinfo/dhcwg