Re: [Apn] Problem statement

"Pengshuping (Peng Shuping)" <pengshuping@huawei.com> Fri, 19 May 2023 23:28 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 EE243C151062 for <apn@ietfa.amsl.com>; Fri, 19 May 2023 16:28:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.196
X-Spam-Level:
X-Spam-Status: No, score=-4.196 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-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 I2YM4XPM0g_s for <apn@ietfa.amsl.com>; Fri, 19 May 2023 16:28:24 -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 11075C14CE31 for <apn@ietf.org>; Fri, 19 May 2023 16:28:24 -0700 (PDT)
Received: from lhrpeml500005.china.huawei.com (unknown [172.18.147.200]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4QNNFq3FPmz6J6th for <apn@ietf.org>; Sat, 20 May 2023 07:23:59 +0800 (CST)
Received: from canpemm500006.china.huawei.com (7.192.105.130) by lhrpeml500005.china.huawei.com (7.191.163.240) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Sat, 20 May 2023 00:28:20 +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; Sat, 20 May 2023 07:28:18 +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; Sat, 20 May 2023 07:28:18 +0800
From: "Pengshuping (Peng Shuping)" <pengshuping@huawei.com>
To: Ted Hardie <ted.ietf@gmail.com>
CC: "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//vD0tA=
Date: Fri, 19 May 2023 23:28:18 +0000
Message-ID: <32e9f8dc38294878bc762d7c34d6595e@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>
In-Reply-To: <CA+9kkMBjaHaie91fRtXdujLZii6suFR3qauZHcWrJ0XT-nYwCg@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.153.194.131]
Content-Type: multipart/alternative; boundary="_000_32e9f8dc38294878bc762d7c34d6595ehuaweicom_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/apn/gVW8KFYkrQ_6_LVe99wdqdABl0k>
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: Fri, 19 May 2023 23:28:27 -0000

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>
Cc: adrian@olddog.co.uk; 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