Subject: Proposed Resolution to LLMNR Issue 59: Miscellaneous Issues

From: Bernard Aboba <[email-masked]>
Date: Wed, 24 Dec 2003 12:58:23 -0800 (PST)

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

Accept the proposed changes.

Insert the following section:

"2.8. LLMNR packet format

LLMNR utilizes the DNS packet format defined in [RFC1035] and [RFC2535],
as illustrated below:

                                1  1  1  1  1  1
  0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                      ID                       |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|QR|   Opcode  |AA|TC|RD|RA| Z|AD|CD|   RCODE   |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                   QDCOUNT                     |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                   ANCOUNT                     |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                   NSCOUNT                     |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                   ARCOUNT                     |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

where:

ID A 16 bit identifier assigned by the program that generates any kind
of query. This identifier is copied the corresponding reply and
can be used by the requester to match up replies to outstanding
queries.

QR A one bit field that specifies whether this message is an LLMNR
query (0), or an LLMNR response (1).

OPCODE
A four bit field that specifies kind of query in this message.
This value is set by the originator of a query and copied into the
response. The values are defined in [RFC1035].

AA Authoritative Answer. The AA bit MUST be set in LLMNR responses.
If a sender receives a response with the header containing the AA
bit set, the responder MUST ignore the AA bit.

TC TrunCation - specifies that this message was truncated due to
length greater than that permitted on the transmission channel.
Use of the TC bit is described in Section 2.3.

RD Recursion Desired. The RD bit MUST NOT be set in an LLMNR query.
If a responder receives a query with the header containing the RD
bit set, the responder MUST ignore the RD bit.

RA Recursion Available. The RA bit in an LLMNR response MUST NOT be
set. If the RA bit is set in an LLMNR response, the sender MUST
ignore the RA bit.

Z Reserved for future use. MUST be zero in all LLMNR queries and
responses. If these bits are set in an LLMNR query or response,
they MUST be ignored.

AD Authentic Data. The AD bit, defined in [RFC2535], MUST NOT be set
in an LLMNR response. If the AD bit is set in an LLMNR query or
response, it MUST be ignored.

CD Checking Disabled. The CD bit, defined in [RFC2535], MUST NOT be
set in an LLMNR query. If a responder receives a query with the CD
bit set, the responder MUST ignore the CD bit.

RCODE
Response code - this 4 bit field is set as part of LLMNR responses.
A response to an LLMNR query MUST have RCODE set to zero. A sender
receiving an LLMNR response with RCODE not set to zero MUST ignore
the RCODE value.

QDCOUNT
An unsigned 16 bit integer specifying the number of entries in the
question section.

ANCOUNT
An unsigned 16 bit integer specifying the number of resource
records in the answer section.

NSCOUNT
An unsigned 16 bit integer specifying the number of name server
resource records in the authority records section. Authority
record section processing is described in Section 2.9.

ARCOUNT
An unsigned 16 bit integer specifying the number of resource
records in the additional records section. Additional record
section processing is described in Section 2.9."

-----------------------------------------------------------------------
Issue 59: Miscellaneous Issues
Submitter name: Olafur Gudmundsson
Submitter email address: [email-masked]
Date first submitted: December 17, 2003
Reference:
http://ops.ietf.org/lists/namedroppers/namedroppers.2003/msg02305.html
Document: LLMNR-27
Comment type: T
Priority: S
Section: Various
Rationale/Explanation of issue:

The draft could benefit from addition of a section gathering
in one place all the requirements relating to the use of the
DNS packet format for LLMNR. For example, use of the TC bit
is not defined and neither are the AD and CD bits (which I
assume are set to zero).

In Section 2.2, change:

"In conventional DNS terminology a DNS server authoritative for a zone is
authoritative for all the domain names under the zone root except for
the branches delegated into separate zones. Contrary to conventional
DNS terminology, an LLMNR responder is authoritative only for the zone
root."

To:

"In conventional DNS terminology a DNS server authoritative for a zone is
authoritative for all the domain names under the zone appex except for
the branches delegated into separate zones. Contrary to conventional
DNS terminology, an LLMNR responder is authoritative only for the zone
appex."

In Section 2.2, change:

"Responders SHOULD respond to LLMNR queries for names and addresses
they are authoritative for. This applies to both forward and
reverse lookups."

To:

"Responders MUST respond to LLMNR queries for names and addresses
they are authoritative for. This applies to both forward and
reverse lookups."

Add the following paragraph to Section 2.2:

"Upon configuring an IP address responders typically will
synthesize corresponding A, AAAA and PTR RRs so
as to be able to respond to LLMNR queries for these
RRs. An SOA RR is synthesized only when a responder
has another RR as well; the SOA RR MUST NOT be the only
RR that a responder has.
However, in general whether RRs are manually or
automatically created is an implementation decision."

Change Section 2.7 from:

"The responder should use a pre-configured TTL value in the records
returned in the LLMNR query response. A default value of 0 is
recommended in highly dynamic environments (such as mobile ad-hoc
networks). In less dynamic environments, LLMNR traffic can be reduced
by setting the TTL to a higher value.

Due to the TTL minimalization necessary when caching an RRset, all TTLs
in an RRset MUST be set to the same value."

To:

"The responder should use a pre-configured TTL value in the records
returned in the LLMNR query response. A default value of 30 seconds
is RECOMMENDED. In highly dynamic environments (such as mobile ad-hoc
networks), the TTL value may need to be reduced.

Due to the TTL minimalization necessary when caching an RRset, all TTLs
in an RRset MUST be set to the same value."

--
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/>