Re: [v6ops] MAC and IP multicast addresses in vehicular networks

Alexandre Petrescu <alexandre.petrescu@gmail.com> Fri, 08 July 2016 13:52 UTC

Return-Path: <alexandre.petrescu@gmail.com>
X-Original-To: v6ops@ietfa.amsl.com
Delivered-To: v6ops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9188712D695 for <v6ops@ietfa.amsl.com>; Fri, 8 Jul 2016 06:52:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.353
X-Spam-Level:
X-Spam-Status: No, score=-5.353 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001, FREEMAIL_FROM=0.001, NML_ADSP_CUSTOM_MED=0.9, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_SOFTFAIL=0.665] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UvY4Tjc-UlrM for <v6ops@ietfa.amsl.com>; Fri, 8 Jul 2016 06:52:34 -0700 (PDT)
Received: from oxalide-out.extra.cea.fr (oxalide-out.extra.cea.fr [132.168.224.8]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9963312D6A2 for <v6ops@ietf.org>; Fri, 8 Jul 2016 06:52:23 -0700 (PDT)
Received: from pisaure.intra.cea.fr (pisaure.intra.cea.fr [132.166.88.21]) by oxalide.extra.cea.fr (8.15.2/8.15.2/CEAnet-Internet-out-2.4) with ESMTP id u68DqGBe010592; Fri, 8 Jul 2016 15:52:16 +0200
Received: from pisaure.intra.cea.fr (localhost [127.0.0.1]) by localhost (Postfix) with SMTP id 67E2A209054; Fri, 8 Jul 2016 15:52:16 +0200 (CEST)
Received: from muguet2.intra.cea.fr (muguet2.intra.cea.fr [132.166.192.7]) by pisaure.intra.cea.fr (Postfix) with ESMTP id 58852208F58; Fri, 8 Jul 2016 15:52:16 +0200 (CEST)
Received: from [10.8.34.184] (is227335.intra.cea.fr [10.8.34.184]) by muguet2.intra.cea.fr (8.15.2/8.15.2/CEAnet-Intranet-out-1.4) with ESMTP id u68DqGF3020503; Fri, 8 Jul 2016 15:52:16 +0200
To: Joe Touch <touch@isi.edu>, Owen DeLong <owen@delong.com>
References: <alpine.DEB.2.02.1606030810050.28955@uplift.swm.pp.se> <67F4BB77-B492-40AA-848D-39579A3AC671@delong.com> <e6f319b5-21f0-695f-ceb1-838458a16b2f@gmail.com> <CAFU7BAS1y=mR3pkT7eV-UbdSFjQ-9bzS4D35M2kx2HzxMQyN8g@mail.gmail.com> <c303da69-922b-3f84-63d8-2131495c542c@gmail.com> <CAJrNOvGaQwBOigo4S+TLf7ZuqTHswjf9QCLi699QzMmbEJzTNg@mail.gmail.com> <8c91f195-e2a0-8713-5a7d-0d5d4b60853a@gmail.com> <9AA77CE7-FF01-4140-974E-E7A5A46D8A78@delong.com> <5218533c-6853-55e4-bab7-34ffecb2feb3@gmail.com> <76E49E82-018C-461D-8F85-414F4E98801B@del! ong.com> <6c8ba45c-2fca-0b8c-4159-877bcf0a16f4@gmail.com> <4A552EFF-B16E-4872-933B-9244F7057DA0@delong.com> <fd6b0d96-44ae-fa06-! 83fb-1b24df47cf2d@gmail.com> <801C4630-FF52-4E92-AB1C-CD314BFD72ED@delong.com> <310dfb5e-dc65-777f-6bf5-77e8fbf5da79@isi.edu> <31c0de4a-ecb0-9c11-4e8d-a701c8311a75@gmail.com> <577BE854.2050002@isi.edu> <9f6d961a-1a31-6f4e-ee85-2c23a09ef052@gmail.com> <577ED2D0.1030706@isi.edu>
From: Alexandre Petrescu <alexandre.petrescu@gmail.com>
Message-ID: <447b1e9f-d621-f24f-c822-3a59e9f03a47@gmail.com>
Date: Fri, 08 Jul 2016 15:52:15 +0200
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1
MIME-Version: 1.0
In-Reply-To: <577ED2D0.1030706@isi.edu>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/05qxWSVbvg_4UE20hCtDMSrxfrY>
Cc: "v6ops@ietf.org" <v6ops@ietf.org>
Subject: Re: [v6ops] MAC and IP multicast addresses in vehicular networks
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: v6ops discussion list <v6ops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/v6ops>, <mailto:v6ops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/v6ops/>
List-Post: <mailto:v6ops@ietf.org>
List-Help: <mailto:v6ops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/v6ops>, <mailto:v6ops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 08 Jul 2016 13:52:37 -0000

Hi Joe,

Le 08/07/2016 à 00:08, Joe Touch a écrit :
>
>
> On 7/7/2016 5:19 AM, Alexandre Petrescu wrote:
>>
>>
>> Le 05/07/2016 à 19:03, Joe Touch a écrit :
>>>
>>>
>>> On 7/4/2016 11:16 AM, Alexandre Petrescu wrote:
>>>>
>>>>
>>>> Le 23/06/2016 à 22:51, Joe Touch a écrit :
>>>>> ... IMO, it'd be better to say you're using "all nodes" and
>>>>> cite RFC2464 rather than opaquely using the MAC that
>>>>> results.
>>>>
>>>> Well "all nodes" direction sounds better compared to previous
>>>> "all cars".  But RFC2464 does not define such MAC address,
>>>> neither such IP address, so one wouldnt cite RFC2464
>>>> meaningfully.
>>>>
>>>> The Group ID "all nodes" for an IP address is defined in
>>>> RFC4291 and the allocations are managed at
>>>> http://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtml
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>  But "all nodes" means actually any IP-capable node, not
>>>> necessarily those that run 802.11-OCB (aka 802.11p) - i.e.
>>>> WiFi, LTE and others.
>>>
>>> That's because IP multicast addresses are assigned based on
>>> protocols that run OVER IP, not those that operate underneath.
>>
>> Yes, IP multicast addresses are so assigned.
>>
>> But some IP multicast addresses correspond to some MAC group
>> addresses, on a 1-to-1 basis:  for the 'all-nodes' link-scoped IP
>> multicast address there is a 'all-nodes' MAC group address.
>>
>> The other way around too: for a 'all-nodes' MAC group address
>> there is an IP multicast address called 'all-nodes' with link
>> scope.
>
> That's not really "the other way around"; that happened because the
> corresponding IP multicast "all nodes" address within link scope was
>  defined as such.

I suppose it's not a coincidence that IEEE and IETF both call these
addresses "all-nodes" but I have no trace of that.

>> And, over 802.11p too a MAC multicast address corresponds to an IP
>>  multicast address.
>
> AFAICT, IP multicast addresses are explicitly assigned. That's why
> the table here includes corresponding IPv6 addresses for only a
> subset of Ethernet multiacast addresses:
> https://en.wikipedia.org/wiki/Multicast_address#IPv6

Thank you for the wikipedia pointer but I am trying to keep away as much
as possible.

I am trying to identify the precise IEEE authoritative reference that
says "33-33-0-0-0-1" is the MAC 'all-nodes' address but I cant.

Worse, if you look at the wikipedia page it says "802.11 wireless
networks use the same 01:00:5E:xx:xx:xx and 33:33:xx:xx:xx:xx MAC
addresses for multicasting as Ethernet."  This is obviously an error for
at least two reasons: there should be only _one_ such address for 
interoperability, and 2nd I never saw this "01:00" address in a IP/wifi 
capture, it's always "33:33:...".  This is an error that wikipedia 
should correct.

Additionally, the IEEE lists multicast addresses there:
https://standards.ieee.org/develop/regauth/grpmac/public.html
(and there is no "01:00:" address either).

So I stay away from wikipedia on these matters.

>>>> I could not find a MAC address "all nodes" defined at IEEE.
>>>
>>> That's usually what all 1's is used for. At the link layer,
>>> there isn't much difference between broadcast and multicast "all
>>> nodes".
>>
>> No no, there _is_ a difference.  IPv6 does not work with all 1s MAC
>> broadcast address, it only works with 33-33-0-0-0-1 MAC multicast
>> address.  IPv4 only works with all 1s MAC broadcast address.
>
> I was speaking of "all 1's" as representing "link broadcast", i.e.,
> as behaving like all 1's in IPv4. Yes, that's not the address used
> for IPv6.

Ah I see, ok.

>>>> At IEEE I found a 48bit "All Multicast Capable End Systems
>>>> Address" 01-80-C2-00-00-1B; it is listed there:
>>>> https://standards.ieee.org/develop/regauth/grpmac/public.html
>>>
>>> That's listed as LLDP too - and that makes sense if you want to
>>> use a link address over which to find 802.11p-capable nodes.
>>
>> A-ha, it makes sense.  So the question is: which group MAC address
>>  should IPv6-over-80211p use:
>>
>> - ff:ff:ff:ff:ff:ff - obviously the answer is no.
>
> But the correct corresponding "all nodes" might be appropriate:
> ff02::1

Yes, this IP "all-nodes" is very appropriate, I agree.

>> - 33:33:00:00:00:01 - like IPv6-over-WiFi does
>
> All of the 33:33:: addresses are IPv6 multicast, as per RFC 2464,
> but I don't see anywhere where any of these addresses are assigned
> (or assignable) to a single protocol.

Well, there are multiple things here.

The 6-byte "33:33::" addresses are MAC addresses (not 16-byte IP addresses).

Curiously enough, they are defined in an IETF RFC (RFC 2464
"IPv6-over-Ethernet" lists hexa "3333").  I can not find them defined at
IEEE even though there is an IEEE place listing IEEE MAC multicast
addresses:
https://standards.ieee.org/develop/regauth/grpmac/public.html

It is curious because IETF should not define MAC address formats or
contents, right?

As an additional curiosity, the well-known 'cavebear' registry lists
33-33 as an Ethernet Multicast Address:
http://www.cavebear.com/archive/cavebear/Ethernet/multicast.html
as an "IPv6 Neighbor Discovery" explanation.

It is curious because this "33-33-" MAC address is used below other IPv6
protocols like DHCPv6, not only Neighbor Discovery.

To correct all these, the following can be proposed:

- IETF define notation "33:33:0:0:0:0:1" (and not "33-33-0-0-0-0-1") to
   mean a 6-byte MAC address, and not an IPv6 address, despite the
   column use.
- IEEE tells where is this "3333" address defined so we can see it
   publicly.
- wikipedia stops writing wrong articles.
- RFC2464 gets update to mean it also works on WiFi not only on
   Ethernet.
- cavebear tells "33" to mean all IPv6 not only ND.

Unfortunately none of these is my goals here.  I am trying to just
identify the right MAC multicast address for 802.11p below IPv6 (or
IPv6-over-80211p if you wish).

>> - 01-80-C2-00-00-1B - like LLDP does - request a new one?
>>
>>>> Remark (1) I have never seen this 48bit IEEE address in
>>>> vehicular network trials and (2) it is not a
>>>> "33-33-XX-XX-XX-XX" address, which _is_ present in some IPv6
>>>> vehicular prototypes.
>>>>
>>>> In this context, I believe it can make sense to think of
>>>> requesting IANA (rather than IEEE) for an allocation of a
>>>> 112bit Group ID named "All 802.11-OCB interfaces";
>>>
>>> There are no other IPv6 multicast addresses that group nodes by
>>> link type. This sort of request doesn't make sense to me at all;
>>> it's a bit backwards.
>>
>> I agree there are no other IPv6 multicast addresses that group the
>>  nodes by link type (you dont have an address called "all Ethernet
>>  nodes" for example).  However, 802.11p is not really a particular
>> link type - it is WiFi.
>
> To IP, WiFi is a link type. Granted, it may have a variety of
> physical layers underneath and include various subsets of
> extensions, but WiFi is not a network-layer protocol or higher-layer
> (e.g., app-layer) service, e.g., as routing or DHCP are.

I agree.

>> Moreover, we are not concerned here with a request to IEEE.  An
>> IPv6-over-foo I-D describes _mappings_, i.e. what number gets
>> mapped from IETF to IEEE identifier.
>
> It's exactly because you'd need this assigned by IETF that it makes
> no sense.

But an IETF stds track document should tell which is the MAC multicast
address on which to map some IP address.  And it should be only one, and
agreed by IEEE.

>> As such, it is reasonable to request at IETF a 112bit Group
>> Identifier, parts of which may get mapped to some bytes of a group
>>  multicast address.
>
> In a general sense, yes, IANA would be the right party to assign a
> group ID here, but that assumes that a group ID should be allocated
> to a link type. There is no precedent for that.

Then we should go with "all-nodes" address (not all-OCB-nodes).  But we
need to know whether that is "33" MAC prefix or some other prefix.

And the fact that RFC2464 says it's "33" prefix it's not sufficient -
RFC2464 is for Ethernet (wired) not for WiFi.  802.11OCB (aka 802.11p)
is a kind of WiFi not a kind of Ethernet.

Unless maybe IEEE tells we should use this "33" MAC prefix.

>> The overall goal is that people stop using the MAC broadcast
>> address on 802.11p (all 1s) and start using a single MAC group
>> address (not various).
>
> Although I understand your goal, I don't see why a separate *IP*
> multicast group is the right way to solve it.

In order to get rid of all the above doubts (wikipedia, cavebear, IEEE
and RFC2464 seem each contradictory to each other) and start afresh.

Just get a new allocation fresh only for vehicular communications, and
advertise that in an RFC.  Not care about fixing old problems like wired
Ethernet and wikipedia.

> If you want to reach all nodes, you already can on IPv6 using
> ff02::1

YEs.

> If you want to reach all 802.11p nodes, you need to define an
> IP-visible service that selects for that property, and ask for a
> group ID *for that service*, IMO.

In a sense yes, but the 'service' layer is much higher than a networking
layer which would send a Router Advertisement.

It would be a chicken and egg problem: before establishing network
connectivity one would need to set up app-layer multicast groups.

>>> AFAICT, you either really want to use LLDP at the link layer or
>>> the existing SSDP IPv6 multicast address to identify your
>>> service.
>>
>> YEs, later, when we discuss application-level services that is a
>> very good direction.  For example we need to identify a group of
>> all taxis in a cell to send them a call.
>>
>> But for now we need a group MAC address on 802.11p on which we can
>>  send network-layer messages like Router Advertisements.
>
> If you want to send router advertisements, send them to ff02::2 (all
>  routers).

If I do so, what does the dst field in the MAC header contain?

"33:33:0:0:0:2"?  What is the authoritative reference for that "3333"?

> If you want to specify a subset of those routers, you really ought
> to do so the same way as everyone else - by the IP-layer *routing
> protocol* spoken (e.g., OSPF, RIP, etc.).

OSPF also sends HELLOs to "allSPFrouters" ff02::5 IPv6 multicast
address.  I guess such HELLO gets carried by a MAC header with MAC dst
address 33:33:0:0:0:5, even though this 3333 prefix is not specified by
IEEE, and even though cavebear says it's for IPv6 ND only (not OSPF).

But OSPF is not my problem at this time.

Alex

>
> Joe
>