Subject: LLMNR Issue 99: Multiprotocol and Multihoming

From: Bernard Aboba <[email-masked]>
Date: Mon, 29 Aug 2005 21:57:44 -0700 (PDT)

LLMNR Issue 99 (Multiprotocol and Multihoming) was submitted in IETF last 
call.  The text of the issue is enclosed below.   The proposed resolution 
is as follows:

Add the following to Section 2.2:

"A sender can handle duplicate responses by
discarding responses with a source IP address and
ID field that duplicate a response already received."

In Section 4.1, change:

"If a response is received, the sender MUST
check if the source address matches the address of any of its
interfaces; if so, then the response is not considered a conflict,
since it originates from the sender."

To:

"If a response is received, the sender MUST
check if the source address matches the address of any of its
interfaces; if so, then the response is not considered a conflict,
since it originates from the sender. To avoid triggering
conflict detection, a responder that detects that it is
connected to the same link on multiple interfaces SHOULD
set the 'C' bit in responses."

In Section 4.2, change:

"If the query is for a UNIQUE name, then the responder MUST send its
own query for the same name, type and class, with the 'C' bit clear.
If a response is received, then a conflict has been detected."

To:

"If the query is for a UNIQUE name, then the responder MUST send its
own query for the same name, type and class, with the 'C' bit clear.
If a response is received, the sender MUST check if the source
address matches the address of any of its interfaces;
if so, then the response is not considered a conflict,
since it originates from the sender.  To avoid triggering
conflict detection, a responder that detects that it is
connected to the same link on multiple interfaces SHOULD
set the 'C' bit in responses."

--------------------------------------------------------------------------
Issue 99: Multiprotocol and Multihoming
Submitter: Yi Zhao
Submitter email address: [email-masked]
Date first submitted: August 18, 2005
Reference:
Document: LLMNR-42
Comment type: T
Priority: S
Section: Various
Rationale/Explanation of issue: 

[YZ] In the case where a sender is multihomed and both interfaces
are connected to the same link, a number of problems can arise:

          A
          |
--------------------
        |    |
         Host

a) A UNIQUENess verification test by Host on one interface
can return a response from another interface.

b) An LLMNR query sent out both interfaces by Host will result in A
sending back two similar responses.

c) A can send an LLMNR query and receive a response from
Host on each interface. A will then detect a conflict and
resend the query with the 'C' bit set. How does Host
respond to this?

[BA]  a) Section 4.1 states:

"If a response is received, the sender MUST
check if the source address matches the address of any of its
interfaces; if so, then the response is not considered a conflict,
since it originates from the sender."

b) Conflicts are only detected with respect to a single query,
sent out a single interface.

c) If UNIQUENESS verification discloses that a responder is connected
to the same link on multiple interfaces, then the responder SHOULD
set the 'C' bit on responses, to avoid triggering conflict detection
on senders. If a responder receives a query with the 'C' bit
set, and on investigating the potential conflict, discovers that
it has multiple interfaces connected to the same link, then the
responder SHOULD set the 'C' bit in responses from that point
forward.

[YZ]  If a single resolver call results in two LLMNR queries, one for
an A RR and another for a AAAA RR, it is possible for one response
to be received for each query.  Is this a conflict?

[BA] Since only a single response is received for each query, it is 
possible that we have two responders with the same name, one of which is
IPv4-only and the other which is IPv6-only. However, I'm not clear how
we can distinguish this from the case where the same host is responding
to both queries.

The LLMNR spec says that a responder SHOULD implement LLMNR on all
protocols that it supports in order to avoid the "ships in the night"
case. Receiving a single response to a query is not considered a
conflict except for UNIQUEness verification. Either the same
responder sends responses to both the A and AAAA queries, or
two different responders respond, one to each query. In the
latter case, we can assume that we have two hosts who do not
speak the same protocol; otherwise we would have gotten two
responses to at least one of the queries. If the two hosts
don't speak the same protocol, sending a query with the 'C'
bit set will not help the hosts discover the conflict and
resolve it; this is the "ships in the night" scenario. If only
a single host responds to both queries, then sending a query
with the 'C' bit set also provides little benefit. Of course,
if you receive multiple responses to the same query, the
situation is different.

[YZ] How are duplicate responses detected? Is it necessary to
compare all fields in the response packet?

[BA] A sender can discard responses with a source IP
address and ID field that has previously been received for a
given request. There is no need to compare the rest of the
packet.

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