Subject: LLMNR Issue 72 (AD Review): MAYs

From: Bernard Aboba <[email-masked]>
Date: Thu, 2 Sep 2004 10:50:54 -0700 (PDT)

The list of current LLMNR issues and resolution is available here:
http://www.drizzle.com/~aboba/DNSEXT/llmnrissues.html

The text of Issue 72 is enclosed below.  The proposed resolution is as
follows:

In Section 2.3, change:

"Responses SHOULD always be sent from the port to which they were
directed."

To:

"Responses MUST always be sent from the port to which they were directed."

In Section 2.3, change:

"If a responder is authoritative for a name, it MAY respond with RCODE=0
and an empty answer section, if the type of query does not match a RR
that the responder has."

To:

"If a responder is authoritative for a name, it SHOULD respond with
RCODE=0 and an empty answer section, if the type of query does not match
a RR that the responder has."

In Section 2.7, change:

"  If an LLMNR query sent over UDP is not resolved within LLMNR_TIMEOUT,
   then a sender MAY repeat the transmission of the query in order to
   assure that it was received by a host capable of responding to it."

To:

"  If an LLMNR query sent over UDP is not resolved within LLMNR_TIMEOUT,
   then a sender SHOULD repeat the transmission of the query in order to
   assure that it was received by a host capable of responding to it."

In Section 2.7, change:

"   An LLMNR sender SHOULD dynamically compute the value of LLMNR_TIMEOUT
   for each transmission.  It is suggested that the computation of
   LLMNR_TIMEOUT be based on the response times for earlier LLMNR
   queries sent on the same interface.

   For example, the algorithms described in RFC 2988 [RFC2988]
   (including exponential backoff) compute an RTO, which is used as the
   value of LLMNR_TIMEOUT.  Smaller values MAY be used for the initial
   RTO (discussed in Section 2 of [RFC2988], paragraph 2.1), the minimum
   RTO (discussed in Section 2 of [RFC2988], paragraph 2.4), and the
   maximum RTO (discussed in Section 2 of [RFC2988], paragraph 2.5).

   Recommended values are an initial RTO of 1 second, a minimum RTO of
   200ms, and a maximum RTO of 5 seconds."

To:

"An LLMNR sender SHOULD dynamically compute the value of LLMNR_TIMEOUT for
each transmission.  For example, the algorithms described in RFC 2988 [RFC2988]
(including exponential backoff) compute an RTO, which is used as the
value of LLMNR_TIMEOUT.  Smaller values MAY be used for the initial
RTO (discussed in Section 2 of [RFC2988], paragraph 2.1), the minimum
RTO (discussed in Section 2 of [RFC2988], paragraph 2.4), and the
maximum RTO (discussed in Section 2 of [RFC2988], paragraph 2.5).

Recommended values are an initial RTO of 500 ms, a minimum RTO of
100ms, and a maximum RTO of 5 seconds."

------------------------------------------------------------------------
Issue 72: MAYs
Submitter: Thomas Narten
Submitter email address: [email-masked]
Date first submitted: August 27, 2004
Reference:
Document: LLMNR-34
Comment type: T
Priority: S
Section:  Various
Rationale/Explanation of issue:

> [b] Responders MUST direct responses to the port from which the query
> was sent. When queries are received via TCP this is an inherent
> part of the transport protocol. For queries received by UDP the
> responder MUST take note of the source port and use that as the
> destination port in the response. Responses SHOULD always be sent
> from the port to which they were directed.

SHOULD is no good here, unless you also specify what sender MUST do.

> [g] If a responder is authoritative for a name, it MAY respond with
> RCODE=0 and an empty answer section, if the type of query does not
> match a RR that the responder has.

why the MAY? Is this useful? What impact does this have on a recipient??

> As an example, a host configured to respond to LLMNR queries for the
> name "foo.example.com." is authoritative for the name
> "foo.example.com.". On receiving an LLMNR query for an A RR with the
> name "foo.example.com." the host authoritatively responds with A
> RR(s) that contain IP address(es) in the RDATA of the resource
> record. If the responder has a AAAA RR, but no A RR, and an A RR
> query is received, the responder would respond with RCODE=0 and an
> empty answer section.

above won't happen if [g] is only a MAY....

> If an LLMNR query sent over UDP is not resolved within LLMNR_TIMEOUT,
> then a sender MAY repeat the transmission of the query in order to
> assure that it was received by a host capable of responding to it.

MAY? Come on, this should be a SHOULD/MUST. It's hardly robust to do
this query exactly one time.

--
to unsubscribe send a message to [email-masked] with
the word 'unsubscribe' in a single line as the message text body.
archive: <http://ops.ietf.org/lists/namedroppers/>