Consider:
- The primary point of RFC3307 is to make sure that you can get a unique IPv6 multicast address - The Layer 2 non-clash is a bonus. - The addresses are (probably) not taken from the spaces to which RFC3307 applies (they are 'traditional' P=0 addresses - I believe the intent was that RFC3307 only applied to addresses for which the 80 bit reserved field is 0 as defined in the RFC2373 version of the IPv6 address architecture although this is not totally clear) - All nodes have to be able to disambiguate multicast addresses at the IP level as there is already a risk of clashes at Layer 2 (however small) (e.g., between a solicited node address and an assigned dynamic address.) - The chance of a Layer 2 clash with a bad case like the all-nodes address (asuming MD5 is any good!) is not exactly large

So I think the risk of a severe performance hit is not going to be very large.

Also from a logical point of view it is not clear that these are dynamically assigned - they exist whether any node is actually using them - one could therefore argue for some other MSB values if RFC3307 applied, but I think it is fairly clear that RFC3307 does not apply to them. Although the relevant section of the addressing arch has now disappeared so exactly what the scope of 3307 ought to be is maybe no longer clear.

All in all I can't see any real justification for this change.

Regards,
Elwyn

Pashby, Ronald W CTR NSWCDD-B35 wrote:

In the second paragraph of section 5 it reads:
"Compute the MD5 hash [11] of the first label of the Subject Name -- the portion beginning with the first one-octet length field and up to, but excluding, any subsequent length field. Append the first 32 bits of that 128-bit hash to the prefix FF02:0:0:0:0: 2::/96. The resulting multicast address will be termed the "NI Group Address" for the name. A node will support an "NI Group Address" for each associated Subject Name."

This does not follow the intent of RFC3307. RFC3307 intended for dynamically assigned multicast ids be forced into the range from 0x80000000 - 0xFFFFFFFF, to avoid overlapping at the layer 2 with globally assigned addresses. Take for instance that a name hashes to 0x00000001 (there is nothing that would hinder this) then every host would receive it at the layer 2 level and would have to be processed at the IP level. Likewise, the same would occur for any other IANA assigned addresses.

RFC3307 states that if the T bit is (transient address) the MSB shall be set. It does not state that if the T bit is not set, that the MSB shall be reset. Clearly these addresses are transient addresses and should be treated as such in creating the 32 bit multicast id.

I think it should at least set the MSB of the 32 bit hash value. There is a recommendation that the high byte be set to 0xFF to keep it in the same range as the solicited node addresses (at the layer 2 boundary) since it is achieving a similar purpose.

I understand that this change will break backward compatibility, but it is better to fix it now than cause further non-conformant issues that may cause problems later.

------------------------------------------------------------------------

--------------------------------------------------------------------
IETF IPv6 working group mailing list
ipv6@ietf.org
Administrative Requests: https://www1.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

--------------------------------------------------------------------
IETF IPv6 working group mailing list
ipv6@ietf.org
Administrative Requests: https://www1.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

Reply via email to