Subject: Re: [Int-area] Per-Application Networking Considerations

From: "Luis M. Contreras" <[email-masked]>
Date: Thu, 18 Feb 2021 10:45:37 +0100

Hi all,

I have gone through the document and I would like to share some comments
on it.

.- Introduction / regarding the examples provided: These cases could not
have the same regulatory treatment. This is an important consideration
because there could be limitations in some cases/situations.

.- Specifically regarding the zero rating example: In my view this is more
administrative than technical, in the sense that the networking behavior
does not change. It is only a matter of OSS/BSS to account that traffic as
chargeable or not.

.- Introduction / “Thus, if an application is to receive different
treatment, the host or the application itself should be involved in
requesting specific network treatment”: This has different implications.
For instance, if the application itself takes the decision without
knowledge/approval of the user, it could impact / interfere in other
applications in the same device / access line. How this potential problem
can be controlled?

.- Section 2 / in the 1st paragraph you provide the idea of applications
requesting and obtaining particular treatment: (1) how do you foresee the
application requesting differentiation?; and (2) how such differentiation
is verified?. Probably good to dig into for the different mechanisms
listed, but also for whatever new that could be defined from this effort.
Additionally, the applications could have other mechanisms in place such as
congestion control. Maybe necessary to differentiate effects from some
mechanisms and the ohers (and/or to see how to gracefully coordinate them).

.- Section 3 / “In a situation where the network operator has influence on
the   implementation of the user host”: To be fair, probably the same
comment should be made with respect to the operating systems on the devices
(for instance, with respect to congestion control mechanisms implemented).

.- Section 3 / “… by ensuring that the mechanism used to communicate
requests to the network only specifies traffic classes and not individual
applications.”: This is important. The actual model, based on best effort
and/or overprovisioning does not scale. Having view of traffic classes is
great, but not all the applications can be high-priority. Somehow there
should be some capacity (quota?) allocated per traffic class. But again it
could be the case that such capacity is exhausted. What happens then? I
mean, there are two points to discuss: (1) interchange information for
assisting on stable situations, and (2) how to handle congestion because
e.g. network failures, sudden demands, or even over-prioritization from the
applications.

.- Section 4 / reference to “appropriate policies” in the 1st paragraph:
The policies are implemented based on identifiers, e.g. origin-destination,
labels, etc. Now new kind of policies could be required based on the class
of service (so the “identifier” would be now the class of service, not the
application itself, due to privacy and other concerns described later).

.- Section 4 / “… instead of the application originating the traffic” & “…
specify general    categories ”: The same should be required in the host or
device.

.- Section 5 / regarding categories of traffic that “… need to be
sufficiently broad … ”: The broader, the less informative would be. The
risk is to give room to (mis)interpretations. A proper balance of
prescription and description is needed to ensure the expected behavior in
the network.

.- Section 6 / “if the host's user is informed that particular applications
are seeking or designated for particular treatment and consents to it.”:
This can only be done by the application. The operating system of the
device does not necessarily knows what is the treatment required by a given
application.
Maybe would be necessary to distinguish what should/must/can be done by the
application, the host/device, and the network

.- Section 7 / “Any API should not involve revealing an application or user
identity to the network via metadata without network authentication.”: This
could be problematic for charging purposes in e.g. wholesale scenarios.

.- Section 7 / “"this is my application identifier "”: however in the
sentence before you refer to “my app” anyway.

Thanks

Luis

El mar, 17 nov 2020 a las 5:22, Tommy Pauly (<tpauly=
[email-masked]>) escribió:

> Hello INTAREA,
>
> We published a draft this week that we’d like to briefly introduce for
> discussion within the intarea WG, draft-per-app-networking-considerations.
> This is an informational document that discusses the implications of a
> trend we’ve noticed towards putting more application identifiers or
> per-application logic in the network layers. Many different proposals touch
> on the idea of differentiating traffic based on application, but we believe
> it would be useful to have a general statement about the privacy trade-offs
> and design considerations in this space. Moreover, we think that a broad
> technical group like intarea may be the right place to discuss and review
> this work.
>
>
> https://www.ietf.org/archive/id/draft-per-app-networking-considerations-00.html
>
> Your reviews and thoughts are appreciated!
>
> Best,
> Tommy & Lorenzo
>
> Begin forwarded message:
>
> *From: [email-masked]
> *Subject: **New Version Notification for
> draft-per-app-networking-considerations-00.txt*
> *Date: *November 15, 2020 at 8:02:12 PM PST
> *To: *Lorenzo Colitti <[email-masked]>, Tommy Pauly <[email-masked]>
>
>
> A new version of I-D, draft-per-app-networking-considerations-00.txt
> has been successfully submitted by Tommy Pauly and posted to the
> IETF repository.
>
> Name: draft-per-app-networking-considerations
> Revision: 00
> Title: Per-Application Networking Considerations
> Document date: 2020-11-15
> Group: Individual Submission
> Pages: 7
> URL:
> https://www.ietf.org/archive/id/draft-per-app-networking-considerations-00.txt
> Status:
> https://datatracker.ietf.org/doc/draft-per-app-networking-considerations/
> Html:
> https://www.ietf.org/archive/id/draft-per-app-networking-considerations-00.html
> Htmlized:
> https://tools.ietf.org/html/draft-per-app-networking-considerations-00
>
>
> Abstract:
>   This document describes considerations for and implications of using
>   application identifiers as a method of differentiating traffic on
>   networks.  Specifically, it discusses privacy considerations,
>   possible mitigations, and considerations for user experience and API
>   design.
>
> Discussion Venues
>
>   This note is to be removed before publishing as an RFC.
>
>   Source for this draft and an issue tracker can be found at
>   https://github.com/tfpauly/per-app-networking-considerations.
>
>
>
>
> Please note that it may take a couple of minutes from the time of
> submission
> until the htmlized version and diff are available at tools.ietf.org.
>
> The IETF Secretariat
>
>
>
> _______________________________________________
> Int-area mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/int-area
>

-- 
___________________________________________
Luis M. Contreras
[email-masked]
[email-masked]
Global CTIO unit / Telefonica

---

From: Toerless Eckert <[email-masked]>
Date: Thu, 18 Feb 2021 22:51:35 +0100

Hi Tommy, Lorenzo

Thanks for this work. Its always good trying to make _any_ progress on this subject matter.

This is a huge can of really interesting worms many of us have been thinking
about for a long time in various aspects, so i have to constrain myself. Not sure i succeed.

The one most high-level concern is that of scope and actually considering the scope
where these technologies are not something to fear, but where they actually are crucial
to the use case.

For example, the end-to-end security model to counter pervasive monitoring is
exactly what i personally likely want for my internet browsing activity, but when
i would have to build the network & compute infrastructure for a big complex
system, like a manufacturing or power plant, it is maybe almost the opposite
of what i need, but because of scope misinterpretation and creep of IETF principles
such as those PM goals, i might not be able to get the software solutions anymore
to build the ideal solution because all endpoints SDKs are only providing let's say TLS 1.3.

For example: In an embedded network, most of the hosts are unrustworthy stupid machines
sensors/actors with absolutely no privacy rights that regularily misbehave and endanger the reliabilty
of the overall system, they also have absolutely no revenue model to permit the quite expensive
crypto agility operational model, but need to be stockable for 30 years. On the other hand,
almost every forwarder in the network serves an orchestration, control and/or surveillance
function, and i would like all my data flowing through the network to be authenticated but not
encrypted so i can most easily perform all these verification, orchestration and control functions.
Oh, and i have shitloads of physical security. 

Of course, this is a simplistic exaggeration, but i think it would be prudent to the ongoing
wider reach of IETF solutions to acknowledge that we have to support a continuum
betwen maybe those two extremes: The network as the nervuous system of what
ultimately is a big distributed application on one extreme over to the "Internet browsing"
as maybe the other extreme. Of course expecting a one-dimensional problem space is also simplistic,
but at last it is one dimension more than assuming that all our problems are around the
zero-dimensional problem space of Internet browsing (OTT service consumption).

To that extend, one suggestion for 110 is to ask bringing up the subject at iotops WG
too in the hope to find feedback from more IETF participants working outside the
"Internet Browsing" use case.

One other point for now: 

Nobody loves DPI, but when i presented draft-eckert-intarea-flow-metadata-framework into
the IEF during probably the height of the PM work (2014) to overcome DPI and to easier allow for
end-to-end encryption without removing the ability to support the application objectives best,
the reaction was pretty single minded rejecting anything that didnt serve the PM goal, with feedback
like this:

"An application should never be given an opportunity to even willfully disseminate
 any information to a network, because we can not trust application code to do anything"
(of course the sentence didn't go on saying "beside passing all possible user information 
 into a data-center without any user consent", but hey, it was 2014).

In fact, that whole draft design was based on the recognition that applications indeed are
often too stupid to understand what they need from the network to give them the 
best experience, and that is an important problem to solve, but it has never been a problem
that Internet cloud application providers where interested in, because all their past
network facing design was based on attracting the most users even in the face of the worst
 network (design against worst 20%) instead of spending any development cycles on supporting
better experiences for the top 20% that would be able to get better differentiated network
services. Especially given that the network service providers offering those better network
services are commercial competitors of said internet cloud application providers.
And i am not putting blame anywhere, i just think we need to openly talk about the commercial
interests that we do want or not want to represent in the work. Its the elephant in the room:

As long as we have such a huge disconnect in economic interest between key 
stakeholder in the IETF, we are just going to see technical solutions based on who
has more influence to push their side of a divisive agenda.

Btw (and i hope i remember this correctly): Even back in the days of early windows NT (around or
before XP), the API was not to let poor applications figure out what they should request from the
network (application: "WTF is a DSCP, and why do i need to care ?"), but instead it was a policy
layer provisioned by the windows domain operator that did that. And accordingly mapped
application traffic flows to appropriate DSCP and/or RSVP signalings. That type of layered approach
would allow to create different policies and resulting different degrees of exposure of
information for the same application if its either deployed in that nuclear power plant
vs. a home for internet browsing. Add appropriate authentication and better than RSVP/DSCP signaling,
add encryption for the Internet use-case, jada jada - and we would get towards good technical
solutions...  (IMHO).

Cheers
    Toerless

On Mon, Nov 16, 2020 at 08:22:22PM -0800, Tommy Pauly wrote:
> Hello INTAREA,
> 
> We published a draft this week that we???d like to briefly introduce for discussion within the intarea WG, draft-per-app-networking-considerations. This is an informational document that discusses the implications of a trend we???ve noticed towards putting more application identifiers or per-application logic in the network layers. Many different proposals touch on the idea of differentiating traffic based on application, but we believe it would be useful to have a general statement about the privacy trade-offs and design considerations in this space. Moreover, we think that a broad technical group like intarea may be the right place to discuss and review this work.
> 
> > From: [email-masked]
> > Subject: New Version Notification for draft-per-app-networking-considerations-00.txt
> > Date: November 15, 2020 at 8:02:12 PM PST
> > To: Lorenzo Colitti <[email-masked]>, Tommy Pauly <[email-masked]>
> > 
> > 
> > URL:            https://www.ietf.org/archive/id/draft-per-app-networking-considerations-00.txt
> > Status:         https://datatracker.ietf.org/doc/draft-per-app-networking-considerations/
> > Html:           https://www.ietf.org/archive/id/draft-per-app-networking-considerations-00.html
> > Htmlized:       https://tools.ietf.org/html/draft-per-app-networking-considerations-00
> > 
> > 
> > Abstract:
> > Please note that it may take a couple of minutes from the time of submission

-- 
---
[email-masked]