Re: [tsvwg] Draft diffuser to QCI v04 posted

"Holland, Jake" <jholland@akamai.com> Mon, 27 April 2020 20:04 UTC

Return-Path: <jholland@akamai.com>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F005C3A1BA8 for <tsvwg@ietfa.amsl.com>; Mon, 27 Apr 2020 13:04:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=akamai.com
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 XPIyDezE6g67 for <tsvwg@ietfa.amsl.com>; Mon, 27 Apr 2020 13:04:12 -0700 (PDT)
Received: from mx0b-00190b01.pphosted.com (mx0b-00190b01.pphosted.com [IPv6:2620:100:9005:57f::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E6EA43A1BA7 for <tsvwg@ietf.org>; Mon, 27 Apr 2020 13:04:11 -0700 (PDT)
Received: from pps.filterd (m0050102.ppops.net [127.0.0.1]) by m0050102.ppops.net-00190b01. (8.16.0.42/8.16.0.42) with SMTP id 03RK1xn9027206; Mon, 27 Apr 2020 21:04:10 +0100
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akamai.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=jan2016.eng; bh=TxtOaIFPu/QeOfa/uew8MQia9Fl/FYFzYcxE1i2XP7M=; b=U35p5S6i6x3YcLPnsSirilbiPapvc/QQrxMcpxCqWngU2fa7JrDUV2vKHt0ImugL6my9 s6UrhmQP5iHk1Kw3Z8HodqseF277SmamMnYATJ//ge0j4tAq//QMqQ3Fy+Vi3PSRYN6t GFg3CC8F2UD8CHG6gQjOyWcqW+guUwrHhoe7LYKfgmSPNvd8fNs1KuGvyh6Uv67Unqoy jFo0TvTPX1pGIimGm4UCd6u5MmOBFxB7C1VPd5QZUpJwR4/ExvhISJpmDc7o0KBGDTsF xjEBq/qv4vp46fSclc1PiEKlmgFds/sTgBmZE5OZ9lkfgC9vQDfVvV1Cp7fyMJKtBa6k Kg==
Received: from prod-mail-ppoint2 (prod-mail-ppoint2.akamai.com [184.51.33.19] (may be forged)) by m0050102.ppops.net-00190b01. with ESMTP id 30ma9e2cxs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 27 Apr 2020 21:04:09 +0100
Received: from pps.filterd (prod-mail-ppoint2.akamai.com [127.0.0.1]) by prod-mail-ppoint2.akamai.com (8.16.0.27/8.16.0.27) with SMTP id 03RK43is013587; Mon, 27 Apr 2020 16:04:09 -0400
Received: from email.msg.corp.akamai.com ([172.27.123.32]) by prod-mail-ppoint2.akamai.com with ESMTP id 30mghw3mfe-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Mon, 27 Apr 2020 16:04:08 -0400
Received: from usma1ex-dag1mb6.msg.corp.akamai.com (172.27.123.65) by usma1ex-dag1mb2.msg.corp.akamai.com (172.27.123.102) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 27 Apr 2020 16:03:53 -0400
Received: from usma1ex-dag1mb6.msg.corp.akamai.com ([172.27.123.65]) by usma1ex-dag1mb6.msg.corp.akamai.com ([172.27.123.65]) with mapi id 15.00.1497.006; Mon, 27 Apr 2020 16:03:54 -0400
From: "Holland, Jake" <jholland@akamai.com>
To: "Jerome Henry (jerhenry)" <jerhenry@cisco.com>
CC: "tsvwg@ietf.org" <tsvwg@ietf.org>
Thread-Topic: [tsvwg] Draft diffuser to QCI v04 posted
Thread-Index: AQHWEoNqe/kEXabRhEaw+W3E1C0XrKiBxJDwgABXAICABOl2gIAGHSCAgAAkioA=
Date: Mon, 27 Apr 2020 20:03:54 +0000
Message-ID: <0EA65098-DA68-439F-8251-56337147FCF5@akamai.com>
References: <A3DECAE1-8FB1-4F56-BF72-C92E5024D620@akamai.com> <FRAPR01MB0130EC4555CDE92C9DC28C1B9CD40@FRAPR01MB0130.DEUPRD01.PROD.OUTLOOK.DE> <0E0BB1F2-C22F-43B9-9579-9FE025AD7A6F@cisco.com> <BB29B8CD-959B-4EC6-9261-C0D4AD57761A@akamai.com> <66E37B3C-56BB-43CA-A6AB-8AB6FD87B6C4@cisco.com>
In-Reply-To: <66E37B3C-56BB-43CA-A6AB-8AB6FD87B6C4@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.36.20041300
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [172.19.90.25]
Content-Type: multipart/alternative; boundary="_000_0EA65098DA68439F825156337147FCF5akamaicom_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.676 definitions=2020-04-27_15:2020-04-27, 2020-04-27 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-2002250000 definitions=main-2004270163
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.676 definitions=2020-04-27_14:2020-04-27, 2020-04-27 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 priorityscore=1501 mlxlogscore=999 phishscore=0 lowpriorityscore=0 spamscore=0 malwarescore=0 clxscore=1015 impostorscore=0 bulkscore=0 mlxscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2004270161
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/DWfY6FBQVpHoVfnFulxdzjax2TE>
Subject: Re: [tsvwg] Draft diffuser to QCI v04 posted
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 27 Apr 2020 20:04:16 -0000

Hi Jerome,

I guess it depends what clamor you’re hearing.

I thought I understood you’re hearing clamoring for a need to coordinate the use of classes of service across different networks.

In response to that clamoring, I thought you came with a suggestion to solve it by doing some static codepoint assignments (or suggested values, at least) to achieve the coordination of classes of service.

Because we’ve seen before how poorly it goes when we try to suggest static codepoint assignments in the limited DSCP space, I thought I’d suggest addressing the need by letting networks continue to use local codepoint assignments without suggesting specific static values, and instead provide a standardized way to communicate the meaning of the localized assignments, so that service classes could still be coordinated between networks.

I guess if you don’t hear clamoring for the need to coordinate classes of service across networks, I’m not sure I understood your presentation.

The main premise of my responses in this thread is that I think the idea of static codepoint mappings seem doomed from the start and not worth working on here.

Of course dynamic mapping also is doomed if nobody is interested enough to invest in solving the underlying problem, but to me it seems less doomed because it wouldn’t mess up anyone’s existing assignments, and it would only need voluntary adoption where it’s useful, so incremental deployment would be possible wherever anybody chooses to roll it out, and vendors could develop solutions that would work for multiple different interconnects.  I assume only networks that have the need you described (to coordinate the use of service classes across networks) would be interested.

Anyway, I don’t mean to belabor the point, or to spend undue time and list space on fleshing out a brainstorming idea that doesn’t sound useful to you, I just wanted to offer the suggestion as a possible path forward, rather than suggesting that you abandon hope of finding a way to coordinate the classes of service across networks.

But best of luck with the problem, however you choose to approach it.

Best,
Jake

PS: In case it’s useful, in answer to your technical question:

I would imagine that to support different markings on different interfaces for a multi-homed mobile device, you would need a per-interface mapping that applies markings for the desired class differently to connections that use different outbound interfaces (or even sub-connections if there are multipath connections).  Or if there’s an overlay layer that hides the multi-homing from the app, the mapping would have to be handled there instead.

There are certainly technical complexities here that would need fleshing out in prototypes and testing in the networks that have a need to coordinate service classes, and the only reason I would consider suggesting it is because it’s less complex than convincing all the carriers to agree to a specific static mapping of codepoints.

I think enterprises with specific apps that need to work and specific carriers they’re integrating with can achieve this without operating a lookup service by statically building their apps to use hardcoded codepoints that work for their carriers, and negotiating with their carriers to get the interconnections and codepoints worked out in whatever way works for them.

But if this were easy for enterprises to arrange, I wouldn’t think you’d be reporting the need to solve the coordination problem I thought you were describing.

But like I said, I don’t want to push this idea if it doesn’t sound useful, so I’ll bow out now, hoping I’ve made myself adequately understood, with best wishes and a thank-you for the intriguing conversation.


From: "Jerome Henry (jerhenry)" <jerhenry@cisco.com>
Date: Monday, April 27, 2020 at 11:53 AM
To: "Holland, Jake" <jholland@akamai.com>
Cc: "tsvwg@ietf.org" <tsvwg@ietf.org>
Subject: Re: [tsvwg] Draft diffuser to QCI v04 posted

Thank you Jake,

I think that I understand the logic better now , thank you for taking the time to explain. I think that the proposal has a lot of merit, and I wonder if it is a replacement, or an addition/customization of our current proposal.
There may be some difficulties of course, like with any scheme. One particular that comes to mind (causing the previous sentence) is a use case as follows (trying to be cautious so as not to expose customer-specific information):
Suppose a location where maintenance of large objects is performed. A/R is used to display the internal expected map and state of particular pieces of equipment (tablet with AR). Because the objects are large, multiple contractors are on the floor working on their respective parts. Several of them use dual path, through the local Wi-Fi and through LTE, each through the carrier(s) the individual contractor company  contracted with.
Wouldn’t we face the risk to see on the local network AR marked differently based on which carrier the contractor is using?
(this could be limited if there were a common marking reference the enterprise could turn to).

Also, on a personal note, I am of the impression that such service would be very useful, but is not something I hear carriers asking for (but my visibility is limited). I am not sure how enthusiastic the carrier community would be to have to implement a service in order to share a marking scheme (vs 101 negotiation with enterprises, or applying standard schemes, e.g. IR 34 or others). Would you have views on this point?

Take care

Jerome


From: "Holland, Jake" <jholland@akamai.com>
Date: Thursday, April 23, 2020 at 4:31 PM
To: "Jerome Henry (jerhenry)" <jerhenry=40cisco.com@dmarc.ietf.org>
Cc: "Jerome Henry (jerhenry)" <jerhenry@cisco.com>, "tsvwg@ietf.org" <tsvwg@ietf.org>
Subject: Re: [tsvwg] Draft diffuser to QCI v04 posted

Hi Jerome,

I’m glad it’s possibly helpful.  I’ll try to answer your questions and expand a bit on the vision I had in mind, responses are inline with <JH></JH>


From: "Jerome Henry (jerhenry)" <jerhenry=40cisco.com@dmarc.ietf.org>
Date: Monday, April 20, 2020 at 11:31 AM
To: "Holland, Jake" <jholland@akamai.com>
Cc: "jerhenry=40cisco.com@dmarc.ietf.org" <jerhenry@cisco.com>, "tsvwg@ietf.org" <tsvwg@ietf.org>
Subject: Re: [tsvwg] Draft diffuser to QCI v04 posted

Hi Jake,

This is very useful feedback. In this effort, it seems that we want to arbitrate between different needs. In the scenario we envision, an enterprise has a series of assets of various types, and they leverage a dual connection (MPTCP, QUIC etc) between cellular and unlicensed (let’s call it Wi-FI, although it can be something else). As traffic reaches the other side (application server with at least a Diffserv path to the asset), the hope is that both sides would have treated the packets in an approximatively comparable fashion.

Would you mind exploring your idea a bit further? In all cases, the actor is likely an enterprise IT. They can negotiate an SLA with the carrier(s) they work with. This could result in a series of QCIs attached to the various traffic they would send. Now, their goal is to attempt to get the same intent on both legs. They may not be LTE experts.

<JH>
The “(s)” in “carrier(s)” is the trickiest part here, I think, and a major driver for proposing a dynamic approach.

I assume here that the different carriers might have different markings for similar PHBs that might be hard for them to change. (For instance, the choices might be from hardware-driven constraints from their vendors, or perhaps due to things like legacy internal use cases within the carrier that drove an assignment some time ago, which now can’t be easily changed.)

The proposal is intended as a way that the carrier has the ability, with a relatively simple deployment of a simple service, to advertise the right markings that should be used for that network, and that these can be different from network-to-network, yet still usable by hosts, with apps that have a use for specific, named PHBs for their traffic.
</JH>

In your proposal, how would the choreography work? Would the enterprise create their own mapping between the LCIs their carrier suggested and some DSCP, chosen from unaffected values?
(Would they need any guidance on what these QCIs represent? Do we assume that they are comfortable or familiar with the various IETF QoS RFCs?) Would they then use the service.domain logic below to ask the carrier to mark the matching traffic at the interconnect? Or would the host/asset mark the DIffserv side, based on putting in a library somewhere, that the host can access, a service/socket to DSCP table?

<JH>
I think the answer to these depends on exactly how the mobile devices are connected, and how the enterprise network is structured, and whether the enterprise itself has any constraints on the DSCP values.

I imagine the most typical (or at least simplest) case being a transparent pass-through, where the lookup service is operated by the carrier, and it provides carrier-chosen values, and all the enterprise does is propagate the search domain from the carrier and the appropriate DNS entries for service discovery, and then passes through the DSCP markings.

I imagine that for enterprises with more complex networks, it could get more complex.  One can certainly imagine enterprises with expertise who would choose to run their own mapping and their own classes of service, especially for internal connections.  These may or may not come with enterprise constraints on the markings that may or may not match the carrier’s constraints, so there would perhaps be a marking translation config at the interconnect (where inside markings are translated back and forth to outside markings for the same class of service), and this would either be manually configured based on reviewing the SLAs, or might be automatable using the same sort of discovery logic (or the bgp interconnect, if preferred).  In this kind of scenario, the enterprise would operate its own search domain and provide its own mapping service for the mobile devices to use, and it would take more expertise, but it would only be required if the enterprise has its own uses for the codepoints.  (I imagine in practice there’d be vendors providing some kind of integration here, but some shops employing experts and doing it themselves.)

Whether the host connects to an enterprise-owned service (by discovering the service in an enterprise-owned search domain), or the carrier-owned service (by the enterprise passing through the carrier’s search domain to the end hosts), if the service messaging for the traffic_class_name->codepoint lookup is defined with the same messaging between host and service (for instance, it could perhaps be done as a RESTCONF server using a YANG model defined in the spec, or if there’s some reason could instead define a specific set of messages and version detection, etc.).

But the point of the service would be that the host would be able to look up the codepoint to use in order to get a named PHB for the packets it’s sending.  If the traffic class names come from a registry that map them to PHBs (probably a “specification required” registry, I would think), then collisions can be avoided in the traffic class names, and the hosts will know what name to use to attempt to get a certain kind of PHB from the network, and whether they can in fact meaningfully use that class of service within the network they’re connected to (The ability to provide a null result will be important in this service.)

So with this approach, the host would always mark the DSCP according to what it learned from the service.

The simple deployment would just pass it through transparently (both the markings and the mapping service discovery), whereas a complex deployment could if necessary provide a translation layer (by providing their own mapping service, and configuring an interconnect that remaps codepoints where necessary).  So the place the host learns the mapping from would be the control point, and setting up the right search domain so that the host discovers the right service would need to be configured in the host’s dhcp server to match the intended operation for that network.

I hope that makes some sense and helps clarify the suggestion.  It’s of course not a fully specified proposal, so of course there are many unspecified details.

For instance, just like with the bgp carrier interconnect proposal, maybe there could be different available classes of service based on the intended destination, and maybe these need to be handled as part of the mapping service (so maybe the lookup needs to use a destination, as well, and maybe maintaining the service is not trivial in all cases).  As another complicating factor, maybe there’s different permissions on different hosts’ access to the classes of service for different individuals, which might need to be handled in some enterprises with some sort of 802.x-based enforcement on the allowed markings from that host, and/or with client identity via client certs for the mapping service connection.

Describing these details and how to make them satisfy the needed use cases are left as an exercise for the prospective authors of this proposal, but to my mind (without having tried to write it all out) there seem like reasonable and tractable approaches that can be defined in the same way as for other services, or listed as out-of-scope details that may or may not be required for implementations to support.

All that said, I should give a disclaimer and clarify that it’s possible some of these underspecified details might make the whole approach non-viable for some reason I haven’t thought of yet.  This is really just a brainstorming idea at this stage, not a fully realized proposal, so caveat emptor.  I don’t vouch for it entirely, I only claim that it sounds easier to me and more likely to succeed than making a static mapping actually work.

Best,
Jake
</JH>