Re: [lp-wan] Architecture

Carles Gomez Montenegro <carlesgo@entel.upc.edu> Thu, 30 June 2022 15:01 UTC

Return-Path: <carlesgo@entel.upc.edu>
X-Original-To: lp-wan@ietfa.amsl.com
Delivered-To: lp-wan@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0BAD9C15CF36 for <lp-wan@ietfa.amsl.com>; Thu, 30 Jun 2022 08:01:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.905
X-Spam-Level:
X-Spam-Status: No, score=-1.905 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2MmoQp55wP6e for <lp-wan@ietfa.amsl.com>; Thu, 30 Jun 2022 08:01:12 -0700 (PDT)
Received: from violet.upc.es (violet.upc.es [147.83.2.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0576BC13CDB1 for <lp-wan@ietf.org>; Thu, 30 Jun 2022 08:01:11 -0700 (PDT)
Received: from entelserver.upc.edu (entelserver.upc.es [147.83.40.4]) by violet.upc.es (8.14.4/8.14.4/Debian-4.1ubuntu1.1) with ESMTP id 25UF13Pf044211; Thu, 30 Jun 2022 17:01:03 +0200
Received: from webmail.entel.upc.edu (webmail.entel.upc.edu [147.83.40.6]) by entelserver.upc.edu (Postfix) with ESMTP id AB1BB1D53C1; Thu, 30 Jun 2022 17:00:03 +0200 (CEST)
Received: from 79.159.90.85 by webmail.entel.upc.edu with HTTP; Thu, 30 Jun 2022 17:01:44 +0200
Message-ID: <805ec22b83d75e4e61524eae48d70243.squirrel@webmail.entel.upc.edu>
In-Reply-To: <CO1PR11MB4881CD37CDD9D95DFB906896D8BA9@CO1PR11MB4881.namprd11.prod.outlook.com>
References: <CABONVQb+OwCTsLzMtnkakHsCaGpfg03rVihgegRD3Jf0zG=LMg@mail.gmail.com> <b055f22a8a27d16bc5f043eeebb55968.squirrel@webmail.entel.upc.edu> <CO1PR11MB48815411A2700651EE201EDCD8BB9@CO1PR11MB4881.namprd11.prod.outlook.com> <CO1PR11MB4881CD37CDD9D95DFB906896D8BA9@CO1PR11MB4881.namprd11.prod.outlook.com>
Date: Thu, 30 Jun 2022 17:01:44 +0200
From: Carles Gomez Montenegro <carlesgo@entel.upc.edu>
To: "Pascal Thubert (pthubert)" <pthubert@cisco.com>
Cc: Laurent Toutain <laurent.toutain@imt-atlantique.fr>, lp-wan <lp-wan@ietf.org>
User-Agent: SquirrelMail/1.4.21-1.fc14
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
X-Priority: 3 (Normal)
Importance: Normal
X-Virus-Scanned: clamav-milter 0.103.6 at violet
X-Virus-Status: Clean
X-Greylist: Delayed for 59:10:07 by milter-greylist-4.3.9 (violet.upc.es [147.83.2.51]); Thu, 30 Jun 2022 17:01:04 +0200 (CEST)
Archived-At: <https://mailarchive.ietf.org/arch/msg/lp-wan/H-or9yz6JjKZZKKByDZ5V6tPeOI>
Subject: Re: [lp-wan] Architecture
X-BeenThere: lp-wan@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Low-Power Wide Area Networking \(LP-WAN\), also known as LPWA or Low-Rate WAN \(LR-WAN\)" <lp-wan.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/lp-wan>, <mailto:lp-wan-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/lp-wan/>
List-Post: <mailto:lp-wan@ietf.org>
List-Help: <mailto:lp-wan-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lp-wan>, <mailto:lp-wan-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 30 Jun 2022 15:01:17 -0000

Hi Pascal,

Thanks for the proposed text!

Please find below my inline comments:

> OK, so let me propose some text here:
>
> 1) In the endpoints section, change to
>
> "
> Typically, an LPWAN network topology is star-oriented, which means that
> all
> packets between the same source-destination pair follow the same path
> from/to a
> central point. In that model, highly constrained Devices (Dev) exchange
> information with LPWAN Application Servers (App) through a central
> Network
> Gateway (NGW), which can be powered and is typically a lot less
> constrained than
> the Devices.
> Because Devices embed built-in applications, the traffic flows to be
> compressed
> are known in advance and the location of the C/D and F/R functions
> (e.g., at the Dev and NGW), and the associated rules, can be pre
> provisioned
>  in the system before use.
>
> The SCHC operation requires a shared sense of which SCHC Device is uplink
> and
> which is downlink.

I am a bit concerned about the use of "uplink" and "downlink" in this text.

RFC 8724 defines "Uplink" and "Downlink", and while they are related with
what I understand is meant in your proposed text (and while I agree with
the intent of the text), they are not exactly the same.

Why don't we just use "Dev" and "App", which are the terms defined already
in RFC 8376 and reused in RFC 8724?

> In a star deployment, the hub is always considered uplink and the spokes
> are
> downlink. The expectation is that the hub and spoke derive knowledge of
> their
> role from the network configuration and SCHC does not need to signal which
> is
> hub thus uplink vs. which is spoke thus downlink. In other words, the
> link
> direction is determined from extrinsic properties, and is not advertised
> in the
> protocol.
>
> Nevertheless, SCHC is very generic and its applicability is not limited
> to
> star-oriented deployments and/or to use cases where applications are very
> static
> and the state provisioned in advance.

Note, just for info: the current proposal/assumption for the updated SCHC
HC over 802.15.4 draft (to be submitted soon) is that applications and
state can be provisioned in advance.

> In particular, a peer-to-peer (P2P) SCHC Instance (see {{Instances}}) may
> be set
> up between peers of equivalent capabilities, and the link direction cannot
> be
> inferred, either from the network topology nor from the device
> capability.
> In that case, by convention, the device that initiates the SCHC Instance
> is considered downlink. This convention can be reversed, e.g., by
> configuration,
> but for proper SCHC operation, it is required that the method used ensures
> that
> both ends are aware of their role, and then again this determination is
> based
> on extrinsic properties.
> "

I like the idea of having a default behavior as expressed in the paragraph
above, e.g. for cases where there is no star topology and/or
applications/state cannot be provisioned in advance.

However, I was wondering: how is the SCHC Instance initiated? Is it
initiated by the device that transmits first? If yes, what happens if that
transmission (from, say, node A) is not received by the other endpoint
(node B), but then node B successfully transmits to node A?  Does node A
still believe that it was the initiator?

> And
> 2) add a new section on SCHC Instances like:
>
>
> "
> RFC8724 defines a protocol operation between a pair of peers. A session
> called a SCHC Instance is established and SCHC maintains a state and
> timers
> associated to that Instance.
>
> When the SCHC Device is a highly constrained unit, there is typically only
> one
> Instance for that Device, and all the traffic from and to the device is
> exchanged with the same Network Gateway. All the traffic can thus be
> implicitly
> associated with the single Instance that the device supports, and the
> Device
> does not need to manipulate the concept.
>
> For that reason, SCHC avoids to
> signal
> explicitly the Instance identification in its data packets.
>
> The Network Gateway, on the other hand, maintains multiple Instances, one
> per
> SCHC Device. The Instance is derived from the lower layer, typically the
> source
> of an incoming SCHC packet. The Instance is used in particular to select
> from
> the rule database the set of rules that apply to the SCHC Device, and the
> current state of their exchange, e.g., timers and previous fragments.
>
> This architecture

Perhaps s/architecture/architecture document

> generalizes the model to any kind of peers. In the case
> of
> more capable devices, a SCHC Device may maintain more than one Instance
> with the
> same peer, or a set of different peers.
> Since SCHC does not signal the Instance in its packets, the information
> must be
> derived from a lower layer point to point information.
> For instance, the SCHC session can be associated one-to-one with a tunnel,
> a TLS
> session, or a TCP or a PPP connection.
>
> For instance, <!-- existing text on SCHC o PPP here)
>
> In that case, the SCHC Instance is derived from the PPP connection. This
> means that there can be only one Instance per PPP connection, and that all
> the
> flow and only the flow of that Instance is exchanged within the PPP
> connection.

Thanks again for the proposed text, and let's hope we can converge soon!

Cheers,

Carles


> "
> I staged at the git, ready to publish...
>
> Works?
>
> Pascal
>
>
>> -----Original Message-----
>> From: Pascal Thubert (pthubert)
>> Sent: mercredi 29 juin 2022 16:53
>> To: 'Carles Gomez Montenegro' <carlesgo@entel.upc.edu>; Laurent Toutain
>> <laurent.toutain@imt-atlantique.fr>
>> Cc: lp-wan <lp-wan@ietf.org>
>> Subject: RE: [lp-wan] Architecture
>>
>> Agreed 😊
>>
>> We need to republish a version of the architecture. Maybe I can add that
>> the
>> topologies are covered and that in Hub and Spoke the hub in uplink?
>> Then for a P2P, one end has to be declared uplink. Typically a session
>> is
>> formed by one node calling the other e.g., establishing a SCHC session
>> over
>> P2P.
>> Could we define that the caller is downlink and the called party is
>> uplink?
>> This was we'd abstain from impacting SCHC itself. The determination of
>> up and
>> down is needed but external to the protocol.
>>
>> What do you guys think?
>>
>> Pascal
>>
>> > -----Original Message-----
>> > From: lp-wan <lp-wan-bounces@ietf.org> On Behalf Of Carles Gomez
>> > Montenegro
>> > Sent: mardi 28 juin 2022 18:35
>> > To: Laurent Toutain <laurent.toutain@imt-atlantique.fr>
>> > Cc: lp-wan <lp-wan@ietf.org>
>> > Subject: Re: [lp-wan] Architecture
>> >
>> > Hi Laurent,
>> >
>> > Thanks a lot for bringing up this topic!
>> >
>> > Please find below some inline comments:
>> >
>> > <snip>
>> >
>> > > Carles raised the need to study a more generic approach for mesh
>> > > network where the notion of device and SCHC core do not exists
>> > > anymore and rules are more an association between a device and a
>> > > core. This may be solved by identifying the set of rules by a device
>> ID
>> and a core ID.
>> >
>> > I think your proposal is equivalent to determining which is the role
>> > (Dev or
>> > App) of each endpoint for a given Rule.
>> >
>> > In fact, we will soon submit a revised version of
>> > draft-gomez-6lo-schc- 15dot4-02. In -03, the idea to address the
>> > Dev/App problem (i.e., which is the Dev or App role of a node in a
>> > mesh or peer-to-peer network) is simply to stick to what we called
>> > Option 1 in IETF 113 (i.e., sticking to the RFC 8724
>> > terms) and define/configure beforehand who will be Dev and who will
>> be
>> > App when a Rule is written (since the Rule is written beforehand
>> anyway).
>> >
>> > So I understand that we are aligned!
>> >
>> > <snip>
>> >
>> > > In my opinion, we should specify on the architecture document, a
>> > > more generic model covering PPP, star and mesh and also more
>> > > precisely the interaction between them. From that, we will be able
>> > > to define an augmentation of the basic data model.
>> >
>> > I was thinking the same. The architecture document needs to cover all
>> > these topologies.
>> >
>> > > The way we include a mesh model with SCHC can be an interesting
>> > > thing to investigate during the hackathon.
>> >
>> > Cool! :)
>> >
>> > Cheers,
>> >
>> > Carles
>> >
>> >
>> > > See you,
>> > >
>> > > Laurent
>> > > _______________________________________________
>> > > lp-wan mailing list
>> > > lp-wan@ietf.org
>> > > https://www.ietf.org/mailman/listinfo/lp-wan
>> > >
>> >
>> >
>> > _______________________________________________
>> > lp-wan mailing list
>> > lp-wan@ietf.org
>> > https://www.ietf.org/mailman/listinfo/lp-wan
>