Subject: question about solicited node multicast addresses

From: Karl Auer <[email-masked]>
Date: Tue, 01 Mar 2011 22:28:55 +1030

How come solicited node multicast addresses use only 24 bits of the
host's IPv6 address? It looks like there is space for many more; 64 more
at a pinch. Using more bits from the host address would decrease even
further the likelihood of two nodes sharing the same SNM address.

See RFC 4291, section 2.7.1, page 16.

I can see why at least one bit is needed to discriminate between
all-nodes and SNM addresses[1], but why use so many bits (8)?

The only plausible theory I have is that after 8 bits of "ff" and 16
bits of ethernet multicast prefix (0x3333) are factored in, there is
only room at layer 2 for 24 more bits, so there is no point having more
bits in layer 3. This is not a satisfying theory because it appears to
tie layer 3 multicast to a specific layer 2 technology (ethernet, with
its 48-bit MAC addresses).

Regards, K.

[1] All-nodes L2 multicast                   33:33:00:00:00:01
    SNM L2 multicast of 2001:db8:100:200::1  33:33:ff:00:00:01
    SNM L2 with 32 bits instead of 24 bits   33:33:00:00:00:01

-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Karl Auer ([email-masked])                   +61-2-64957160 (h)
http://www.biplane.com.au/kauer/                   +61-428-957160 (mob)

GPG fingerprint: DA41 51B1 1481 16E1 F7E2 B2E9 3007 14ED 5736 F687
Old fingerprint: B386 7819 B227 2961 8301 C5A9 2EBC 754B CD97 0156

---

From: TJ <[email-masked]>
Date: Tue, 1 Mar 2011 08:21:02 -0500

On Tue, Mar 1, 2011 at 06:58, Karl Auer <[email-masked]> wrote:
> tie layer 3 multicast to a specific layer 2 technology (Ethernet, with

"This is not a satisfying theory because it appears to tie layer 3 multicast
to a specific layer 2 technology (Ethernet, with its 48-bit MAC addresses)."

Factoring reality in to any decision typically yields better results, yes?
More importantly - what problem are you really trying to solve?  Do you
expect to have lots of collisions in this 24 bit space on a given link?

/TJ

---

From: Suresh Krishnan <[email-masked]>
Date: Tue, 1 Mar 2011 10:59:15 -0500

Hi Karl,
  The solicited node multicast address is just a pre-filter. Any collision that will be detected with your proposed 32 bit solicited node multicast address will also be detected with a 24 bit solicited node multicast address. How many nodes do you expect to have on your link?

Cheers
Suresh

> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]] On 
> Behalf Of Karl Auer
> Sent: Tuesday, March 01, 2011 3:59 AM
> To: IETF IPv6
> Subject: question about solicited node multicast addresses
> 
> How come solicited node multicast addresses use only 24 bits 
> of the host's IPv6 address? It looks like there is space for 
> many more; 64 more at a pinch. Using more bits from the host 
> address would decrease even further the likelihood of two 
> nodes sharing the same SNM address.
> 
> I can see why at least one bit is needed to discriminate 
> between all-nodes and SNM addresses[1], but why use so many bits (8)?
> 
> The only plausible theory I have is that after 8 bits of "ff" 
> and 16 bits of ethernet multicast prefix (0x3333) are 
> factored in, there is only room at layer 2 for 24 more bits, 
> so there is no point having more bits in layer 3. This is not 
> a satisfying theory because it appears to tie layer 3 
> multicast to a specific layer 2 technology (ethernet, with 
> GPG fingerprint: DA41 51B1 1481 16E1 F7E2 B2E9 3007 14ED 5736 
> F687 Old fingerprint: B386 7819 B227 2961 8301 C5A9 2EBC 754B 
> CD97 0156
>

---

From: Philip Homburg <[email-masked]>
Date: Tue, 01 Mar 2011 17:14:33 +0100

>further the likelihood of two nodes sharing the same SNM address.

Assuming that the lower part of the IPv6 address is random, the birthday
paradox suggests that you can expect a collision when there are about 
2048 hosts in a single broadcast domain. And that is just a single collision,
two hosts that happen to have the same SNM.

On average, the amount of traffic a hosts sees due to collisions is one
16 millionth of the total ND traffic.

I don't think allocating more bits will have any kind of impact.

Of course, if addresses are not chosen randomly, all bets are off. But that
doesn't change if you use more bits.

---

From: Karl Auer <[email-masked]>
Date: Wed, 02 Mar 2011 08:19:57 +1030

On Tue, 2011-03-01 at 08:21 -0500, TJ wrote:
> This is not a satisfying theory because it appears to tie layer 3
> multicast to a specific layer 2 technology (Ethernet, with its 48-bit
> MAC addresses).
> 

Sure.

> More importantly - what problem are you really trying to solve?  Do
> you expect to have lots of collisions in this 24 bit space on a given
> link?

I'm not trying to solve a problem. I'm seeking to understand why a thing
is the way it is.

At this stage I have received as answers only rhetorical questions and
the statement that 24 is enough bits. 24 certainly is enough bits - I'm
just wondering why 24 was chosen, as any greater number up to about 100
would also be "enough", and would cost no more to paste into the SNM
address. There is space for more (up to 31) of those bits in the
underlying layer 2 multicast address (for ethernet at least), which
would be "better" than 24 in some senses, though I can see that returns
are starting to diminish.

So from anyone who actually knows - why 24 bits? And why spend 8 bits of
the ethernet multicast address on what appears to be a simple
discrimination between the all-nodes multicast address and SNM
addresses? For example, it might be easier and faster to check for "all
ones" in a whole octet than to test a single bit - that would explain
why ff was used as the discriminator instead of just one bit, and the
need for that octet would explain why 24 instead of 31 bits were used
from the SNM address. But again, that's just a theory, I have no clue as
to whether this is actually the case.

I repeat - this is not a criticism, it is a simply desire to know. To
me, it's an interesting question.

Regards, K.

---

From: Francis Dupont <[email-masked]>
Date: Wed, 02 Mar 2011 14:29:19 +0100

In your previous mail you wrote:

=> there are two parts:
 - why was it accepted? As I was involved in IPv6 design at that stage
  I can answer:
   * the proposal looked sane (i.e., it did what we wanted)
   * collisions were rare and not annoying (needs 4096 (2^(24/2)) nodes
    to get .5 probability)
   * fits well to Ethernet (which was the far most common shared link at
    this time, and perhaps even more common today :-)
   * 8 bit boundary, i.e., clearly straightforward to implement
   * no other proposal (IMHO the main point! :-)
  so nobody raised a concern and it reached rough consensus in one step.

 - what is exactly the idea behind the design?
 You should try to find the author of the initial I-D, wish (s)he is not
 dead or retired, or perhaps switch to the ih (Internet History) mailing
 list (perhaps too soon for IPv6 but BTW your question is not really
 technical, is it?).

Thanks

[email-masked]