Subject: Proposed Resolution to Issue 80: Multi-protocol conflicts

From: Bernard Aboba <[email-masked]>
Date: Sun, 13 Mar 2005 06:36:08 -0800 (PST)

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

In Section 2.6, add clause [d]:

" [d] When LLMNR is implemented on a dual stack host, LLMNR SHOULD
be supported on both IPv4 and IPv6. An implementation only
supporting LLMNR over IPv6 SHOULD NOT return IPv4 addresses;
an implementation only supporting LLMNR over IPv4 SHOULD NOT
return IPv6 addresses."

------------------------------------------------------------------
Issue 80: Multi-Protocol Conflicts
Submitter: Bernard Aboba
Submitter email address: [email-masked]
Date first submitted: March 3, 2005
Reference:
Document: LLMNR-38
Comment type: T
Priority: 1
Section:  4.2
Rationale/Explanation of issue:
When LLMNR messages are sent over multiple protocols (IPv4 and IPv6),
some interesting conflict scenarios can arise.

For example:
Host A supports both IPv4 and IPv6 but only sends and responds to LLMNR
queries over IPv6. Host B supports IPv4 only and sends and responds to LLMNR
queries only over IPv4. What happens if Host A and B configure the same
name?

A sender (Host C) will send an LLMNR query and will get a single response,
whether the query is sent over IPv4 or IPv6. However, when it sends a
query over IPv6, Host A could respond with an A RR conflicting with the A
RR that Host B would respond with if the query were sent over IPv4.

Since the sender only gets a single response, it never sends a query with
the 'C' bit set. The responders never detect a conflict via the uniqueness
verification mechanism.

Yet a conflict does exist.

[Bernard Aboba] My suggestion is that a host should only respond with
resource records corresponding to protocols that it supports for use with
LLMNR.  If Host A only supports LLMNR over IPv6, it should not configure
an A RR, even if it has an IPv4 address. Similarly, if Host A only
supports LLMNR over IPv4, it should not configure a AAAA RR.

[Markku Savela]
The only icky case is when one host has only IPv6 and another has only
IPv4. In such case they don't see each others queries or replies. They
are as if they were on different interfaces/links. This is probably ok
situation.

If one has either IPv4 or IPv6 only, and other has both, then conflict
is detected, because the one with both IPv4 and IPv6 will always reply
(and will do uniqueness test for both IPv4 and IPv6).
There is one caution: currently, there is a special kludge for A
and AAAA queries. A query is sent only over IPv4, and AAAA query is sent
only over IPv6. Thus, uniqueness test on IPv4+6 host would have to

a) avoid using A,AAAA in test query (use ANY, or some other)

b) take care to send the test over IPv4 with A, and over IPv6 with AAAA

[I'm not sure where this kludge came from, and whether it is still
requirement on the current version (I guess I need to reread it
:-). As far as real DNS is concerned, A/AAAA and the link type over
which queries are sent, are independent.]

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