Subject: [Mipshop] draft-ietf-mipshop-mos-dns-discovery-06 DNS issue

From: Alfred Hönes <[email-masked]>
Date: Thu, 25 Jun 2009 19:17:59 -0000

Hello,
I apologize for being very late with the comment below, but
during other discussions in DNSEXT, it became clear to me
that Section 2.3 of draft-ietf-mipshop-mos-dns-discovery-06
is based on misguided assumptions on DNS SRV resource records.
Currently, the draft directly contradicts RFC 2782 (SRV RR).

The draft says:

------snip------
2.3 Determining the IP address and port

   Once the server providing the desired service and the transport
   protocol has been determined, the next step is to determine the IP
   address and port.

|  If TARGET is a numeric IP address, the MN uses that IP address and
|  the already chosen transport to contact the server providing the
|  desired service.
|
|  If the TARGET was not a numeric IP address, then the MN performs an
|  A and/or AAAA record lookup of the domain name, as appropriate. The
   result will be a list of IP addresses, each of which can be
   contacted using the transport protocol determined previously.

   If the result of the SRV query contains a port number, then the MN
   SHOULD contact the server at that port number. If the SRV record did
   not contain a port number then the MN SHOULD contact the server at
   the default port number of that particular service. A default port
   number for MIH services is requested from IANA in [ID.ietf-mipshop-
   mstp-solution].
------snip------

Issue #1:
========

  TARGET can never be an IP address.
  The specification in RFC 2782 (on page 4) clearly says:

------snip------
   Target
        The domain name of the target host.  There MUST be one or more
        address records for this name, the name MUST NOT be an alias (in
        the sense of RFC 1034 or RFC 2181).  Implementors are urged, but
        not required, to return the address record(s) in the Additional
        Data section.  Unless and until permitted by future standards
        action, name compression is not to be used for this field.

        A Target of "." means that the service is decidedly not
        available at this domain.
------snip------

This turns moot the second and third paragraph in Section 2.3
of the draft (as quoted above) !

Issue #1:
========

  There is no possibility to omit the port number from the SRV RDATA.
  The specification in RFC 2782 (on page 4) clearly says:

------snip------
   Port
        The port on this target host of this service.  The range is 0-
        65535.  This is a 16 bit unsigned integer in network byte order.
        This is often as specified in Assigned Numbers but need not be.
------snip------

This turns moot the last paragraph in Section 2.3 of the draft !

A possible replacement text might be:

------snip------
2.3 Determining the IP address and port

   Once the server providing the desired service and the transport
   protocol has been determined, the next step is to determine the IP
   address and port.

|  The response to the SRV DNS query contains the port number in the
|  Port field of the SRV RDATA.
|
|  According to the specification of SRV RRs in [RFC2782], the TARGET
|  filed is a fully qualified domain name (FQDN) which MUST have one ore
|  more address records; the FQDN must not be an alias, i.e., there MUST
|  NOT be a CNAME or DNAME RR at this name.  Unless the SRV DNS query
|  already has reported a sufficient number of these address records in
|  the Additional Data section of the DNS response (as recommended by
|  [RFC2782]), the MN needs to perform A and/or AAAA record lookup(s) of
   the domain name, as appropriate.  The result will be a list of IP
   addresses, each of which can be contacted using the transport
   protocol determined previously.
|
------snip------

Kind regards,
  Alfred Hönes.

-- 

+------------------------+--------------------------------------------+
| TR-Sys Alfred Hoenes   |  Alfred Hoenes   Dipl.-Math., Dipl.-Phys.  |
| Gerlinger Strasse 12   |  Phone: (+49)7156/9635-0, Fax: -18         |
| D-71254  Ditzingen     |  E-Mail:  [email-masked]                     |
+------------------------+--------------------------------------------+