Re: [Apn] Problem statement

"Pengshuping (Peng Shuping)" <pengshuping@huawei.com> Wed, 31 May 2023 02:05 UTC

Return-Path: <pengshuping@huawei.com>
X-Original-To: apn@ietfa.amsl.com
Delivered-To: apn@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BAF7BC14CE4B for <apn@ietfa.amsl.com>; Tue, 30 May 2023 19:05:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.892
X-Spam-Level:
X-Spam-Status: No, score=-1.892 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, 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 7LL7kK6eFqw6 for <apn@ietfa.amsl.com>; Tue, 30 May 2023 19:05:20 -0700 (PDT)
Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 852F3C14CE42 for <apn@ietf.org>; Tue, 30 May 2023 19:05:19 -0700 (PDT)
Received: from lhrpeml500004.china.huawei.com (unknown [172.18.147.200]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4QWCGP06Vgz67Xv4 for <apn@ietf.org>; Wed, 31 May 2023 10:03:08 +0800 (CST)
Received: from canpemm500006.china.huawei.com (7.192.105.130) by lhrpeml500004.china.huawei.com (7.191.163.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 31 May 2023 03:05:15 +0100
Received: from canpemm500008.china.huawei.com (7.192.105.151) by canpemm500006.china.huawei.com (7.192.105.130) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 31 May 2023 10:05:13 +0800
Received: from canpemm500008.china.huawei.com ([7.192.105.151]) by canpemm500008.china.huawei.com ([7.192.105.151]) with mapi id 15.01.2507.023; Wed, 31 May 2023 10:05:13 +0800
From: "Pengshuping (Peng Shuping)" <pengshuping@huawei.com>
To: Ted Hardie <ted.ietf@gmail.com>
CC: Joel Halpern <jmh@joelhalpern.com>, "adrian@olddog.co.uk" <adrian@olddog.co.uk>, "apn@ietf.org" <apn@ietf.org>
Thread-Topic: [Apn] Problem statement
Thread-Index: Adl+J33SOEYjCPzjRXyHXvv/CLDBU///5bQAgACz0AD//WiuQIAWtB2A//vD0tCACDsYAP/3uU3gAhhlagD//pUuUA==
Date: Wed, 31 May 2023 02:05:13 +0000
Message-ID: <5a5e4d2f50294fdda6b50b8c9c7c7691@huawei.com>
References: <484bb9971aff4810ae45a756e849420a@huawei.com> <CA+9kkMD7HxsoFemfAjYhJHNsp3RNn3-TeDvewpnMHQy+1bHZGw@mail.gmail.com> <025101d97eb7$4ef7fc10$ece7f430$@olddog.co.uk> <4c31fbbd69724a72952bbd563c22697e@huawei.com> <CA+9kkMBjaHaie91fRtXdujLZii6suFR3qauZHcWrJ0XT-nYwCg@mail.gmail.com> <32e9f8dc38294878bc762d7c34d6595e@huawei.com> <97a4fdeb-5c9a-a8aa-0aa3-069b23830543@joelhalpern.com> <75aac5f29b414555893640b31edfd85a@huawei.com> <CA+9kkMBt1z9EU=Wu4V5dV_rijbfoPAJiZG6RzLfZ0SkBGD1yHQ@mail.gmail.com>
In-Reply-To: <CA+9kkMBt1z9EU=Wu4V5dV_rijbfoPAJiZG6RzLfZ0SkBGD1yHQ@mail.gmail.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.47.120.79]
Content-Type: multipart/alternative; boundary="_000_5a5e4d2f50294fdda6b50b8c9c7c7691huaweicom_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/apn/F4wkUCb3M7wc_DAbYCM-1upuP4M>
Subject: Re: [Apn] Problem statement
X-BeenThere: apn@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Application-aware Networking <apn.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/apn>, <mailto:apn-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/apn/>
List-Post: <mailto:apn@ietf.org>
List-Help: <mailto:apn-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/apn>, <mailto:apn-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 31 May 2023 02:05:25 -0000

Hi Ted,

Thank you! Please find in line.

From: Ted Hardie [mailto:ted.ietf@gmail.com]
Sent: Thursday, May 25, 2023 8:21 PM
To: Pengshuping (Peng Shuping) <pengshuping@huawei.com>
Cc: Joel Halpern <jmh@joelhalpern.com>; adrian@olddog.co.uk; apn@ietf.org
Subject: Re: [Apn] Problem statement

Hi Shuping,

Some comments in-line.

On Thu, May 25, 2023 at 10:55 AM Pengshuping (Peng Shuping) <pengshuping@huawei.com<mailto:pengshuping@huawei.com>> wrote:
Hi Joel, all,

Considering the suggestions received so far, the text was further updated as below.

“In a network operator controlled domain, the ingress edge devices usually have access to rich information, such as VLAN/QinQ, VPN ID, and access interface, which is used to classify the packets into fine granular virtual groups of flows at the edge. However, after the packets enter the network operator’s domain, all such information is not immediately visible at transit nodes: it may be hidden inside encapsulation, masked by encryption, mapped to other protocol fields, or stripped from the packets completely. Furthermore, many mapping schemes, where they are used, lose some level of granularity from the information available at the network edge. For example, when the information is mapped into small fields like DSCP (6 bits) or MPLS EXP (3 bits) the result is that only relatively coarse grained QoS treatment can be provided.

The packet treatments needed may vary at different parts of the packet’s path within the domain, and enough information is needed to determine these treatments such as steering, triggering, and identifying in an efficient way, that is, to efficiently realize a composite network service provisioning along the path. For example, at the headend to steer into corresponding path, at the midpoint to collect corresponding performance measurement data, and at the service function to execute particular policies flexibly.

Collecting performance data seems to be a new discussion point--are you anticipating using this field like a spin-bit?  Or do you mean that some other performance mechanism would be used, but that it would recognize differential treatment has been applied based on the APN marks (whatever they may be)?

Shuping> The information to be added in the packet is used to identify the traffic whose performance needs to be measured. It can help make the granularity of the traffic to be measured more flexible. Moreover, it can offer another handler to achieve hierarchical performance measurement, e.g. the tunnel level and the flow level at the same time.

I also note that the scope of this endeavor has been set to within a single operators network and that the application of these three different treatments to a single flow both presumes a very highly coordinated or orchestrated network (exactly the networks which can currently derive this data or apply these treatments using other means) and a potentially complex structure to any dataplane field.  That kind of complex structure can easily turn into a fingerprint, so its use should be carefully balanced against the privacy issues which are already a concern.

Shuping> The aim is to ease the whole process. With the information being carried in the data plane the policies are triggered at nodes along the path. Otherwise, if we use the orchestrated way to inform the intermediate nodes about the information of the edge nodes, it will make things very complex.
The structure/format of the information to be added is a valid item to be worked on. The structured information can enable programmability.
This information is being created and used within the network’s administrated domain. The involved privacy issues can be taken as a work item.
This information can be carried directly in the packet or achieved through a mapping from an opaque tag.

In the paragraphs above, you note some of the difficulties of using mapping schemes.  Some consideration of how a mapping scheme could avoid that same set of problems if used here seems warranted as a result.

Shuping> This is another valid topic to be worked on, that is, the creation of the information to be carried.

Existing protocols such as SFC/NSH, SR/SRv6, MPLS, VXLAN, and IPv6, can be taken as implementation basis, but in each case the protocol may need extensions.”

If the intent is to avoid a proliferation of standards (https://xkcd.com/927/) by limiting the work of the group to extensions of existing standards, it might be useful to say so directly.  As it stands, this could be read to allow for the creation of yet another approach.

This list also tends to reinforce my concern on the utility of this effort.  I do not yet see in the problem statement any use case that cannot be handled by one of the existing approaches.  It's easy to prefer an ideal approach that has not yet been sullied by deployment and compromise, but the reality is that anything that starts as an ideal to handle all available use cases may have to make all those same compromises again.  As the comic implies, it's easy to go through that time and trouble and just end up with, well, number 15.  I'm not sure that I understand how this effort avoids that fate and the resulting impact on the technical ecosystem.

Shuping> I like the comic. Just here the tunnels are existing technologies in the networking/routing area and they are taken as the ways to carry the information in corresponding network deployment scenarios. In order to carry the new information these existing tunnels need some extensions to be defined, e.g. a new type of TLV.

Best Regards,
Shuping



best regards,

Ted



Best Regards,
Shuping



From: Joel Halpern [mailto:jmh@joelhalpern.com<mailto:jmh@joelhalpern.com>]
Sent: Saturday, May 20, 2023 10:46 AM
To: Pengshuping (Peng Shuping) <pengshuping@huawei.com<mailto:pengshuping@huawei.com>>; Ted Hardie <ted.ietf@gmail.com<mailto:ted.ietf@gmail.com>>
Cc: adrian@olddog.co.uk<mailto:adrian@olddog.co.uk>; apn@ietf.org<mailto:apn@ietf.org>
Subject: Re: [Apn] Problem statement


As Jim likes to point out to me, SFC can steer to whatever you want.  So I think it is important to specify what problem we have that SFC does not address.  Targeting specific queues on specific nodes is clearly within SFC.  Targeting specific classes of service across all nodes is DSCP.

Yours,

Joel
On 5/19/2023 7:28 PM, Pengshuping (Peng Shuping) wrote:
Hi,

I agree with your capture, that is, it is more like a SFC-like approach. The current SFC is the chain of service functions, but here we want to do more than just service functions. Actually both underlay and overlay network elements are involved, including network nodes and service functions.

Regarding particular uses, I am thinking whether we could categorize them into several types, for example,

1.  Steering: into queues of nodes, or paths going through nodes and service functions, or virtual instance on each service function

2.  Triggering: certain services such as various performance measurement mechanisms

3.  Identifying: the packets belonging to which traffic groups in the middle of the network, i.e. VPN, sites, access interfaces, to enforce group-level policies efficiently

Please find more responses in line. Thank you!


From: Ted Hardie [mailto:ted.ietf@gmail.com]
Sent: Wednesday, May 17, 2023 9:44 PM
To: Pengshuping (Peng Shuping) <pengshuping@huawei.com><mailto:pengshuping@huawei.com>
Cc: adrian@olddog.co.uk<mailto:adrian@olddog.co.uk>; apn@ietf.org<mailto:apn@ietf.org>
Subject: Re: [Apn] Problem statement

My apologies for taking so long to reply; I started a reply and lost track after I  put it aside.

Some comments in-line.

On Sat, May 6, 2023 at 11:25 AM Pengshuping (Peng Shuping) <pengshuping@huawei.com<mailto:pengshuping@huawei.com>> wrote:
Hi,

These are very good points and suggestions. Thank you!

I try to first summarize the current discussions, which actually lead to three key questions that need to be answered.


1.      What are the core problem?

2.      What are the uses?

3.      What are the key items?


I think this is missing a critical question:  what is it about this set of uses that makes an omnibus solution the right approach?  Unless I have missed something basic, this appears to encompass a fairly broad swath of potential use cases, some of which already have well-established alternate approaches outside the data plane.  Some description of why these signals belong together is necessary, unless you are suggesting that the eventual scope will be a single use case.

Shuping> The thing is that we would need to somehow keep the description more abstract. Considering the uses people have explained so far in the mailing list and previous discussions. Whether it would be good if we could categorize the uses into types, as I listed before: steering, triggering, identifying, …


Let’s focus on them one by one.


1.      What are the core problem?

Maybe we could first try to use one sentence to describe this core problem. Considering the discussions, I am thinking that this sentence would be something like “How to maintain continuously the fine granularity within the network in an efficient manner”. Please suggest better wording.

I like the following paragraph extended by Adrian and further add this summary sentence at the end. Your comments and suggestions are welcome.

“In a network operator controlled domain, the ingress edge devices usually have access to rich information, such as VLAN/QinQ, VPN ID, and access interface, which is used to classify the packets into fine granular virtual groups of flows at the edge. However, after the packets enter the network operator’s domain, all such information is not immediately visible at transit nodes: it may be hidden inside encapsulation, masked by encryption, mapped to other protocol fields, or stripped from the packets completely. Furthermore, many mapping schemes, where they are used, lose some level of granularity from the information available at the network edge. For example, when the information is mapped into small fields like DSCP (6 bits) or MPLS EXP (3 bits) the result is that only relatively coarse grained QoS treatment can be provided. How to maintain continuously the fine granularity within the network in an efficient manner is the core problem to focus upon. ”


2.      What are the uses?

I fully agree with both of you on making the uses clear.

First of all, I need to clarify that “to affect queuing behaviours” is not my main focus. Queuing is at the node level, but I look more at the network level, like traffic steering along appropriate paths or slices. On the contrary, this sentence of Adrian is in my scope, “this information might be used to supplement routing information and help send traffic from different flows onto different paths according to the capabilities of the network and the demands of the traffic”


How fine grained will this actually be?  It cannot realistically be more fine grained than the number of paths with differing capabilities.  That's why there has been an aggregation step in production networks for a long time. If the boxes along the path don't have the ability to queue these differently, this ends up being more like service function chaining than differential network capabilities, right?

Shuping> “Fine” may be a bit misleading? “Flexible” might be a good word? I found that when we talk about “Fine”, people will relate it immediately with QoS. We are actually targeting more uses than QoS. Even for QoS, the actual case is that the nodes have much high capability, not only a few queues, just this capability is not fully utilized yet. Something needs to be done here to change this status.

Shuping> It is indeed more like a SFC-like approach, just not only including SF. Thank you!

Basically, as we listed before, “to apply various policies in different nodes along a network path onto a traffic flow altogether, for example, at the headend to steer into corresponding path, at the midpoint to collect corresponding performance measurement data, and at the service function to execute particular policies. Currently there is still no way to efficiently realize this composite network service provisioning along the path.”

Therefore, I further extend this sentence as the followings. Please let me know how you think.

“The packet treatments needed may vary at different parts of the packet’s path within the domain, and generic enough information is needed to determine these treatments in an efficient and unified way. Thus, the continuous fine grained network services within the network domain cannot be provided efficiently.  For example, at the headend to steer into corresponding path, at the midpoint to collect corresponding performance measurement data, and at the service function to execute particular policies. Currently there is still no way to efficiently realize this composite network service provisioning along the path.

Does packet treatment always mean steer, or does it have other meanings?

Shuping> Steering, triggering, identifying… what I have summarized above, please suggest more or revisions.


I'm also afraid that "Currently there is still no way to efficiently realize this composite network service provisioning along the path" falls into a fairly common charter trap: presuming that the new thing is better than the existing thing before you have built it and assessed the trade-offs.

This information can be carried directly in the packet or achieved through a mapping from an opaque tag. Existing protocols such as SFC/NSH, SR/SRv6, MPLS, VXLAN, and IPv6, can be taken as implementation basis, but in each case the protocol may need extensions.”


Could I ask for an example of what extension MPLS might need to accomplish this traffic engineering?  Or did you have a different packet treatment in mind?

Shuping> The required MPLS extensions are up to the MPLS folks to explore. Currently there are on-going activities in IETF. The work here was also considered as one of their use cases.



3.      What are the key items?

Yes, considerations on privacy and security need to be taken as the key work items. We will need to specify the potential privacy and security aspects, mitigation mechanisms, and principles with particular emphasis on reducing the exposure of confidential/private information outside the network.

Please also suggest other work items.

Best Regards,
Shuping


Sorry again for the long delay in replies.

Ted

Thank you!

Best Regards,
Shuping


From: Adrian Farrel [mailto:adrian@olddog.co.uk<mailto:adrian@olddog.co.uk>]
Sent: Friday, May 5, 2023 2:36 AM
To: 'Ted Hardie' <ted.ietf@gmail.com<mailto:ted.ietf@gmail.com>>; Pengshuping (Peng Shuping) <pengshuping@huawei.com<mailto:pengshuping@huawei.com>>
Cc: apn@ietf.org<mailto:apn@ietf.org>
Subject: RE: [Apn] Problem statement

Hi all,

Reasonable points, Ted.

In a network operator controlled domain, the ingress edge devices usually have access to much richer information, such as VLAN/QinQ, VPN, and access interface, which is used to classify the packets into fine granular virtual groups of flows at the edge. However, after the packets enter the network operator’s domain, all such information is lost together with the continuous fine granularity within the network.

"all such information is lost together with the continuous fine granularity within the network" seems to be the core of the problem statement.  I think it is not quite correct as stated, in that the information is not lost; it is distributed.  Because this is within a single operator's domain, the operator can construct the network to map data like VLAN to specific address announcements or DHCP assignments; even if there is a later NAT or CGNAT, the operator should control all of the devices which implement those mappings.  That means the operator has (or can have) this information now; it's just distributed through the network.

I think you need to be clear about this because it makes it more obvious that you are describing a potential optimization, rather than truly new functionality.

In a network operator controlled domain, the ingress edge devices usually have access to much richer information, such as VLAN/QinQ, VPN, and access interface, which is used to classify the packets into fine granular virtual groups of flows at the edge. However, after the packets enter the network operator’s domain, all such information is lost together with the continuous fine granularity within the network. But maybe we should avoid trying to solve the problem statement and just focus on clarifying it.

But, anyway, you’re right that “lost” is the wrong word. Rather than “lost” we might have “not immediately visible”. But perhaps a few more words would help draw out this fundamental part of the problem statement and make clear the potential limitations of existing approaches (which leads on to the comment about “fine grained information”). So, perhaps…

In a network operator controlled domain, the ingress edge devices usually have access to rich information, such as VLAN/QinQ, VPN ID, and access interface, which is used to classify the packets into fine granular virtual groups of flows at the edge. However, after the packets enter the network operator’s domain, all such information is not immediately visible at transit nodes: it may be hidden inside encapsulation, masked by encryption, mapped to other protocol fields, or stripped from the packets completely. Furthermore, many mapping schemes, where they are used, lose some level of granularity from the information available at the network edge. For example, when the information is mapped into small fields like DSCP (6 bits) or MPLS EXP (3 bits) the result is that only relatively coarse grained QoS treatment can be provided.

The packet treatments needed may vary at different parts of the packet’s path within the domain, and enough information is needed to determine these treatments. Thus, the continuous fine grained network services within the network domain cannot be provided efficiently. This information can be carried directly in the packet or achieved through a mapping from an opaque tag. Existing protocols such as SFC/NSH, SR/SRv6, MPLS, VXLAN, and IPv6, can be taken as implementation basis, but in each case the protocol may need extensions.

I also believe that you need to include a statement about what the network is going to do with the "fine grained information", because you can't judge whether a proposal serves the purpose adequately without that.   If your aim is to carry it to an orchestrator inside an operator network for action (as in the source quench example Adrian came up with), then this is a way of getting data to that orchestrator rather than using a set of database dips.  That has one set of characteristics, and my personal guess is that it would look much like service function chaining.

If your aim is to affect research consumption within the network, then you'd both need different data and you need the entire network to provide queues at the level of granularity that you're proposing.  As you point out, most things currently get mapped to things like DSCP or EXP, and I invite you to consider the tradeoff between complex queue management and additional capacity in that reality.

s/research/resource/

I think this is a fundamental point as well. Obviously(?) if there is no specific planned use for the information, then there is no point in making it available.
One of my previous thoughts was that this information might be used to supplement routing information and help send traffic from different flows onto different paths according to the capabilities of the network and the demands of the traffic, but I think that this is not in scope of Shuping’s proposal.
More in scope, from what I understand, is to affect queuing behaviours.
Now, as you say, “complex queue management” has historically been a significant drain on processing and hard to manage. There is a claim, however, that newer hardware can support very many queues and achieve fine-grained and complex scheduling and prioritisation.

But the message here is that the text needs to say what the purpose of the information is. I do believe that this is somewhat covered by the paragraph you quoted below (and I folded into my green text, above), but maybe it is not clear and clean enough what the use cases are. We need to be careful not to invent a tool and then look for uses: we need to have clear uses that drive the invention of the tool. (Of course, future uses may be discovered, and we should try to make the tool as generic as possible without losing the benefits of specialisation).

I also thought there was consensus that this proposal needed to have privacy considerations so that the same data that carries ingress port information did not carry information specific to the user.  While I am sure that the proponents are clear on this limitation, I think it would be appropriate to repeat that in the problem statement text, as that would help new participants understand that it is firmly out of scope.

I completely agree with this. I think it is very important to continue to make this clear because it is such a sensitive point for so many people.

Best,
Adrian

best regards,

Ted Hardie

Indeed, the information is mapped into small fields like DSCP (6 bits) or MPLS EXP (3 bits). However, such small fields are only able to provide relatively coarse grained QoS treatment. The packet treatments needed may vary at different parts of the packet’s path within the domain, and enough information is needed to determine these treatments. Thus, the continuous fine grained network services within the network domain cannot be provided efficiently. This information can be carried directly in the packet or achieved through a mapping from an opaque tag. Existing protocols such as SFC/NSH, SR/SRv6, MPLS, VXLAN, and IPv6, can be taken as implementation basis, but in each case the protocol may need extensions.

=================

Best Regards,
Shuping
--
Apn mailing list
Apn@ietf.org<mailto:Apn@ietf.org>
https://www.ietf.org/mailman/listinfo/apn