Subject: [magma] RC3810: MLD Hop Limit is 1 / random reply time / exclude

From: Jeroen Massar <[email-masked]>
Date: Mon, 27 Sep 2004 14:09:52 +0200

[On request, seperatly to magma, next to ipv6]

Hi,

I was reading through the, IMHO overly complex, RFC3810 for MLDv2 making
sure that ecmh will implement it correctly and found a couple of odd
things.

First of all for MLD we set the Hop Limit to 1, while for ND we use 255
so that we are sure that the ND's are on link. Why is this not done for
MLD's too ?

Also 6.2
8<--------
   Instead of responding immediately, the node
   delays its response by a random amount of time, bounded by the
   Maximum Response Delay value derived from the Maximum Response Code
   in the received Query message. 
-------->8
but also:
8<--------
   If it does, a delay for a response is randomly selected in the range (0,
   [Maximum Response Delay]), where Maximum Response Delay is derived
   from the Maximum Response Code inserted in the received Query
   message. 
-------->8
6.3 then further notes (repeating again, but a bit more text):
8<--------
      This naive algorithm may result in bursts of packets when a node
      listens to a large number of multicast addresses.  Instead of
      using a single Interface Timer, implementations are recommended to
      spread transmission of such Report messages over the interval (0,
      [Maximum Response Delay]).  Note that any such implementation MUST
      avoid the "ack-implosion" problem, i.e., MUST NOT send a Report
      immediately upon reception of a General Query.
-------->8

Shouldn't the response thus be generated after random(3+,MRC) ?

Another item I couldn't clearly identify from the text, at least it
puzzled me, was the following situation:

Host A wants to receive ff3e:30:2001:db8:300:0:8008:ad10 IN(::)
Host B wants to receive ff3e:30:2001:db8:300:0:8008:ad10 EX(2001:db8::1)

What does the router have to send forward in this case? I assume it
would be to transit it anyway, because at least one node wants it, B can
filter out these packets and not deliver them. Is this assumption
correct?

Btw, anyone counted the number of times 'nevertheless' is in the text ?
:)

Greets,
 Jeroen

_______________________________________________
magma mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/magma

---

From: Jeroen Massar <[email-masked]>
Date: Mon, 27 Sep 2004 16:34:04 +0200

On Mon, 2004-09-27 at 14:46, Brian Haberman wrote:
> Hi Jeroen,
> 
> On Sep 27, 2004, at 5:43, Jeroen Massar wrote:
> 
> > Hi,
> >
> The hop limit of 1 is to keep MLD consistent with IGMP.

You mean IGMPv3, thus actually IPv4? But wouldn't it be better to use
255 here to make it consistent with the "we don't want remote hosts to
set a TTL to 5, let the packet hop 4 routers and tada do ND there' idea?
Even though fe80::/10 sourced stuff should (but then again who does
source filtering?) already been dropped.

<SNIP>
> I am not sure if I am parsing your question correctly.  Any single
> response should be delayed over the interval [0,MRD] where MRD
> is derived from the received MRC.

If the rand(0,MRD) results in 0, which is possible, the reply will be
sent directly, which some of the lines mentioned above say must not (in
caps) be done to overcome the ack implosion, then again it might also
become 3 and then the ack-implosion could be there.

> On a multi-access network, the router will have to forward all packets
> matching the DA=ff3e:30:2001:db8:300:0:8008:ad10 in order to
> satisfy Host A.  As you state, Host B will have to filter out the 
> unwanted packets.

Thus a router really only needs to keep a list of
destination+[n*sources], when it then wants to drop a source, because of
a timeout or a in/ex change it should query the link if there are any
others still wanting it and then at timeout time simply drop it.
RFC3810 in a nutshell ;)

> Greater than 1? :)

18 times in a very dense piece of text, when one reads it in one go you
really notice it :)

Greets,
 Jeroen

---

From: "Manfredi, Albert E" <[email-masked]>
Date: Mon, 27 Sep 2004 12:35:42 -0400

Jeroen Massar wrote:

> Brian Haberman wrote:
> You mean IGMPv3, thus actually IPv4?

MLDv2 is actually IGMPv3 modified to the IPv6 way of doing things. Just as MLDv1 was basically IGMPv2.

I think that the advantages of source filtering are somewhat less critical with IPv6. I think one of the primary reasons to add source filtering in IGMPv3 was an effort to conserve on Class D addresses used for multicasting in IPv4. It's another scheme to extend the useful life of IPv4.

> But wouldn't it be better to use

The idea with IGMP and MLD is for local hosts to inform only the last hop router(s), which must obviously be multicast routers, as to the group membership of each of their directly attached segments. The routers then relay this information up the multicast tree using multicast routing protocols, such as PIM. That's another whole subject area.

So the TTL of 1 makes sense. You don't want to clutter up multiple IP subnets with information that is meant only for the local last-hop multicast router(s). It's a scaling issue. In any event, multicast routers won't forward IGMP packets, so the TTL value is not that critical perhaps.

Bert

---

From: Rolland vida <[email-masked]>
Date: Mon, 27 Sep 2004 09:17:17 -0700 (PDT)

Hi Jeroen,

> become 3 and then the ack-implosion could be there.

If you choose randomly a value in an interval, you
assume that when you repeat several times the
procedure, you will not obtain the same value all the
time. That's the basic idea of randomness. 

> others still wanting it and then at timeout time
simply drop it.

Quite a nutshell, yes. Our goal was not to have a
document of 62 pages, but as the operation of the
protocol is quite complex, the ADs asked us to add
more and more explanations into the text, to make it
clearer. That's why we added the Protocol Overview
section as well, which is completely redundant with
the rest of the document, but it groups together the
most important issues that are later explained in more
details. 

Finally we even received comments saying that the
document was "unusually well written" :-), so we think
it was worth the effort to add these explanatory
comments.      

> 18 times in a very dense piece of text, when one
reads it in one go you

18 times in a 62 page document means around 1
appearance each 3.5 pages. It seems quite reasonable
to me :-)

Cheers,
Rolland 

__________________________________
Do you Yahoo!?
Yahoo! Mail - 50x more storage than other providers!
http://promotions.yahoo.com/new_mail