Re: [6lo] Call for feedback to draft-wachter-6lo-can-00

Alexander Wachter <alexander@wachter.cloud> Mon, 21 October 2019 16:21 UTC

Return-Path: <alexander@wachter.cloud>
X-Original-To: 6lo@ietfa.amsl.com
Delivered-To: 6lo@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E3148120071 for <6lo@ietfa.amsl.com>; Mon, 21 Oct 2019 09:21:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001] 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 GH3Zx-5kb1Bi for <6lo@ietfa.amsl.com>; Mon, 21 Oct 2019 09:21:25 -0700 (PDT)
Received: from gienah.uberspace.de (gienah.uberspace.de [185.26.156.43]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D4ED0120044 for <6lo@ietf.org>; Mon, 21 Oct 2019 09:21:24 -0700 (PDT)
Received: (qmail 4085 invoked from network); 21 Oct 2019 16:21:22 -0000
Received: from localhost (HELO ?129.27.230.55?) (127.0.0.1) by gienah.uberspace.de with SMTP; 21 Oct 2019 16:21:22 -0000
To: Alexandre Petrescu <alexandre.petrescu@gmail.com>
References: <7de413c1-726e-8595-fe21-0a6f3fe97dcd@wachter.cloud> <db9a4c9d-0e54-aafb-d506-f0b859c46d31@gmail.com>
From: Alexander Wachter <alexander@wachter.cloud>
Cc: 6lo@ietf.org
Message-ID: <4da9eab4-c120-ee88-04dd-3beba1e40c61@wachter.cloud>
Date: Mon, 21 Oct 2019 18:22:28 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.1.2
MIME-Version: 1.0
In-Reply-To: <db9a4c9d-0e54-aafb-d506-f0b859c46d31@gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/6lo/0jbOf5UbPwKfjKxVfMZ6Kajd2Co>
Subject: Re: [6lo] Call for feedback to draft-wachter-6lo-can-00
X-BeenThere: 6lo@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Mailing list for the 6lo WG for Internet Area issues in IPv6 over constrained node networks." <6lo.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/6lo>, <mailto:6lo-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/6lo/>
List-Post: <mailto:6lo@ietf.org>
List-Help: <mailto:6lo-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/6lo>, <mailto:6lo-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 21 Oct 2019 16:21:28 -0000

Dear Alex,

On 21.10.19 15:56, Alexandre Petrescu wrote:
> Hi,
> 
> Might be appropriate to run this through the IPWAVE WG, too.

Although CAN is mostly known for its use in the automotive domain, I 
didn't target automotive applications. I got the idea for 6LoCAN while I 
was thinking about using CAN for building automation. Nevertheless, 
posting a message about the draft to the IPWAVE group is a good idea.
Thanks for pointing me towards this WG.

> One question that comes to mind is how to make sure that the QoS of an 
> IP packet on 802.11-OCB (wireless outside the car) is mapped to the 
> right QoS of an IP packet on CAN inside the car.  This would help to 
> send an IP packet from a Remote Controller straight into the brake of 
> the car, with the appropriate priority and given the necessary credentials.

Generally, CAN frames are prioritized by their frame identifier.
Lower number identifiers have precedence over higher numbers.
The identifier is composed by the destination "node address" and the 
sender "node address" and does not contain any QoS measurements.
There is a time-slicing protocol called TTCAN (Time-Triggered CAN), 
where hard real-time can be assured. 6LoCAN does not consider TTCAN and 
therefore has no guarantees for a reliable QoS.

> I want to ask you whether the CAN has a notion of CAN address and if 
> yes, on how many bits is it represented (16?)?  This might help in 
> thinking about how to form an Interface ID to be used with SLAAC on CAN. 
>   One may think that should be 64bit, but I think not necessarily.

Usually, CAN uses identifiers, identifying the content of the frame 
instead of address identifying nodes. These identifiers can either have 
a length of 11 bits or 29 bits. 6LoCAN uses 29 bits identifiers only.
Section 2 (Addressing) defines the way to form identifiers from the 
destination- and source-node-address. The node address has a length of 
14 bits. M is the multicast-bit and indicates to threat the first 14-bit 
field as a multicast-group instead of a destination address.

     0|0            1|1            2|
     0|1            4|5            8|
    +-+--------------+--------------+
    |M|     DEST     |     SRC      |
    +-+--------------+--------------+
Figure 1: Addressing Scheme

Section 4 (Stateless Address Autoconfiguration) specifies how the 
interface ID is formed from the 14-bit node-address. See RFC4291 for 
more details.
The reason why 6LoCAN uses a 14-bit node-address is that a 
frame-identifier must always be unique on the bus. A unique identifier 
can be guaranteed by combining the unique source- and 
destination-node-address.
A violation of this rule would cause collisions outside the arbitration 
field that can't be resolved.

Despite this limited address-space of 14 bits, a random address 
assignment is possible due to a Link-Layer Duplicate Address Detection 
(LLDAD), defined in section 3.

> I want to ask you whether you think that the end to end principle is a 
> good thing for the Internet, and if yes, whether Ethernet Border 
> Translators might have an impact on that principle.

The Ethernet Border Translator is optional for a 6LoCAN network.
I designed the Border Translator out of the lack of router capabilities 
of the Zephyr RTOS. This principle allows pushing complexity towards 
already existing network equipment and infrastructure.

Sincerely,

Alexander


> Le 17/10/2019 à 17:25, Alexander Wachter a écrit :
>> Dear 6Lo WG,
>>
>> I recently submitted a draft for IPv6 over Controller Area Network and 
>> would like to call for adoption by the 6Lo WG.
>> The title of the document is draft-wachter-6lo-can-00 [1].
>>
>> Controller Area Network (CAN) is a widely used field bus initially 
>> designed for the automotive domain. It has a payload length of eight 
>> bytes for classic CAN and 64 bytes for CAN-FD. CAN only describes the 
>> data-link-layer, but various protocols already exist on top. The 
>> submitted draft introduces IPv6 over CAN (6LoCAN),  a 
>> 6lo-adaption-layer to send IPv6 packets over the constrained CAN-bus. 
>> 6LoCAN uses a subset of the already widely used ISO-TP standard for 
>> fragmentation and reassembly to meet the 1280 minimum MTU requirement 
>> of IPv6. It also uses the IPHC (RFC6282) to reduce the protocol 
>> overhead of IPv6.
>>
>> A broad range of devices, from small and cheap MCUs to big application 
>> processors, already have CAN controllers onboard. With 6LoCAN, it is 
>> possible to create networks of resource-constrained MCUs that can 
>> leverage the broad range of protocols and security mechanisms built on 
>> top of the IP.
>> Additionally, multiple 6LoCAN networks can be connected together or 
>> even to the internet by utilizing the routing capabilities of IP 
>> networks.
>>
>> A reference implementation of 6LoCAN already exists in the mainline 
>> Zephyrproject RTOS [2] tree. It includes a sample server-client 
>> application. The source for it is located under [3] and can be used on 
>> any boards supporting CAN.
>>
>> I am looking forward to your comments on the draft.
>>
>> Kind regards,
>> Alexander
>>
>> [1] https://datatracker.ietf.org/doc/draft-wachter-6lo-can/
>> [2] https://www.zephyrproject.org/
>> [3] 
>> https://github.com/zephyrproject-rtos/zephyr/tree/master/samples/net/sockets/echo_client 
>>
>>
> 
> _______________________________________________
> 6lo mailing list
> 6lo@ietf.org
> https://www.ietf.org/mailman/listinfo/6lo