Re: [Detnet] IP Solution problem: Use of DSCP and ECN fields in IP headers for detnet flow identification

"Black, David" <David.Black@dell.com> Tue, 06 November 2018 03:49 UTC

Return-Path: <David.Black@dell.com>
X-Original-To: detnet@ietfa.amsl.com
Delivered-To: detnet@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 99946130DD1 for <detnet@ietfa.amsl.com>; Mon, 5 Nov 2018 19:49:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.169
X-Spam-Level:
X-Spam-Status: No, score=-3.169 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.47, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=dell.com header.b=vTTJzA0E; dkim=fail (1024-bit key) reason="fail (message has been altered)" header.d=emc.com header.b=X/vD6/6+
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 1dXYF1czC9PU for <detnet@ietfa.amsl.com>; Mon, 5 Nov 2018 19:49:24 -0800 (PST)
Received: from esa5.dell-outbound.iphmx.com (esa5.dell-outbound.iphmx.com [68.232.153.95]) (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 01DF612D4EA for <detnet@ietf.org>; Mon, 5 Nov 2018 19:49:23 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=dell.com; i=@dell.com; q=dns/txt; s=smtpout; t=1541476163; x=1573012163; h=from:to:subject:date:message-id:references:in-reply-to: mime-version; bh=pWNvtUzKL1gJJKZna3eG+dof+Qj7+hir/K5rvMSDvOM=; b=vTTJzA0EUPFikY1XYKJFTlz1m4RBc48xH58ktNf1OcEgOSbvXK/MoPub 92rBGukfyINPQ3GSuAwS2FxVBixUbkrfIS9KoS35iaOyuCTjM8YqE9zz3 Mqi5lSr0mnd2yuwmVit5PU+9nQuDshMsAgKoNHJtLtuhPlcNqHEjpfAUH M=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A2EIAABADuFbhyWd50NbBwMcAQEBBAEBBwQBAYFRBwEBCwGBDSMlBYEQfygKjARfizqCDZctgT87CwEBLoQ+AoNSIjQNDQEDAQECAQECAQECEAEBAQoLCQgpIwyCNiQBD0svCTMBAQEBAQEBAQEBAQEBAQEBAQEXAkMTAhgBAQEEEhsTHxsPAgEIEQEDAQELFgEGBzIUAwYIAQEEARIIEwQDgn8BgR1kAZ19AoEQiVgBAQGCG4J9hy4Ii3aBWT6BEUaCHi6ERA8tHxURgm6CJoh5EneEXliFUooqAwQCAooQhxeQYJcfAgQCBAUCFIFDgg5wUIJsCYIeDgkSbAEIgTuBB4pRAW8BMIxDgR8BAQ
X-IPAS-Result: A2EIAABADuFbhyWd50NbBwMcAQEBBAEBBwQBAYFRBwEBCwGBDSMlBYEQfygKjARfizqCDZctgT87CwEBLoQ+AoNSIjQNDQEDAQECAQECAQECEAEBAQoLCQgpIwyCNiQBD0svCTMBAQEBAQEBAQEBAQEBAQEBAQEXAkMTAhgBAQEEEhsTHxsPAgEIEQEDAQELFgEGBzIUAwYIAQEEARIIEwQDgn8BgR1kAZ19AoEQiVgBAQGCG4J9hy4Ii3aBWT6BEUaCHi6ERA8tHxURgm6CJoh5EneEXliFUooqAwQCAooQhxeQYJcfAgQCBAUCFIFDgg5wUIJsCYIeDgkSbAEIgTuBB4pRAW8BMIxDgR8BAQ
Received: from mx0b-00154901.pphosted.com ([67.231.157.37]) by esa5.dell-outbound.iphmx.com with ESMTP/TLS/AES256-SHA256; 05 Nov 2018 21:49:21 -0600
Received: from pps.filterd (m0089483.ppops.net [127.0.0.1]) by mx0b-00154901.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id wA63lotK060827 for <detnet@ietf.org>; Mon, 5 Nov 2018 22:49:21 -0500
Received: from esa4.dell-outbound2.iphmx.com (esa4.dell-outbound2.iphmx.com [68.232.154.98]) by mx0b-00154901.pphosted.com with ESMTP id 2nk22w08gn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for <detnet@ietf.org>; Mon, 05 Nov 2018 22:49:21 -0500
From: "Black, David" <David.Black@dell.com>
Received: from mailuogwdur.emc.com ([128.221.224.79]) by esa4.dell-outbound2.iphmx.com with ESMTP/TLS/DHE-RSA-AES256-SHA256; 06 Nov 2018 09:49:19 +0600
Received: from maildlpprd56.lss.emc.com (maildlpprd56.lss.emc.com [10.106.48.160]) by mailuogwprd54.lss.emc.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.0) with ESMTP id wA63nHC3007677 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 5 Nov 2018 22:49:18 -0500
X-DKIM: OpenDKIM Filter v2.4.3 mailuogwprd54.lss.emc.com wA63nHC3007677
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=emc.com; s=jan2013; t=1541476159; bh=subc6x0mFKQGeVIsVRuJfbRxNt4=; h=From:To:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=X/vD6/6+870c1jDogHAlRhVfD2h9UUPrUjPyIz+5ZFoMXsp2wXCGbSu9EdhQZ+YMC 5iDro+whs53HV6TL54mdL+9rSN2xgzXoYl6wA2FUyzkBMoCVpDSJjuaKX4ii+aaMnJ sCIYY5Fq9uhyT6yHW7nYZn9F3WiUUoFORrl7Wefc=
X-DKIM: OpenDKIM Filter v2.4.3 mailuogwprd54.lss.emc.com wA63nHC3007677
Received: from mailusrhubprd53.lss.emc.com (mailusrhubprd53.lss.emc.com [10.106.48.18]) by maildlpprd56.lss.emc.com (RSA Interceptor); Mon, 5 Nov 2018 22:48:52 -0500
Received: from MXHUB320.corp.emc.com (MXHUB320.corp.emc.com [10.146.3.98]) by mailusrhubprd53.lss.emc.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.0) with ESMTP id wA63mxKp019662 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=FAIL); Mon, 5 Nov 2018 22:49:00 -0500
Received: from MX307CL04.corp.emc.com ([fe80::849f:5da2:11b:4385]) by MXHUB320.corp.emc.com ([10.146.3.98]) with mapi id 14.03.0399.000; Mon, 5 Nov 2018 22:48:59 -0500
To: Balázs Varga A <balazs.a.varga@ericsson.com>, "detnet@ietf.org" <detnet@ietf.org>
Thread-Topic: IP Solution problem: Use of DSCP and ECN fields in IP headers for detnet flow identification
Thread-Index: AdR0WNCrZGGbU8NhRgmkuzkuVax3LAAY6CVAADDbGbA=
Date: Tue, 06 Nov 2018 03:48:58 +0000
Message-ID: <CE03DB3D7B45C245BCA0D243277949363033031C@MX307CL04.corp.emc.com>
References: <CE03DB3D7B45C245BCA0D243277949363032B993@MX307CL04.corp.emc.com> <VI1PR0701MB25253F5A9AB8890CAE3A8FDCACCA0@VI1PR0701MB2525.eurprd07.prod.outlook.com>
In-Reply-To: <VI1PR0701MB25253F5A9AB8890CAE3A8FDCACCA0@VI1PR0701MB2525.eurprd07.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.36.42.62]
Content-Type: multipart/alternative; boundary="_000_CE03DB3D7B45C245BCA0D243277949363033031CMX307CL04corpem_"
MIME-Version: 1.0
X-Sentrion-Hostname: mailusrhubprd53.lss.emc.com
X-RSA-Classifications: public
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-11-06_01:, , signatures=0
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1807170000 definitions=main-1811060030
Archived-At: <https://mailarchive.ietf.org/arch/msg/detnet/_wNBczAlfp94GUdJ6bHAoaK6a-g>
Subject: Re: [Detnet] IP Solution problem: Use of DSCP and ECN fields in IP headers for detnet flow identification
X-BeenThere: detnet@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Discussions on Deterministic Networking BoF and Proposed WG <detnet.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/detnet>, <mailto:detnet-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/detnet/>
List-Post: <mailto:detnet@ietf.org>
List-Help: <mailto:detnet-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/detnet>, <mailto:detnet-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Nov 2018 03:49:27 -0000

Hi Varga,



I'm pleased that we mostly agree, and I'll be happy to discuss the PHB further.



This discussion may also provide insight into my concern about 5-tuple vs. 6-tuple flow identification - it looks like we have two different sorts of "flow identification" under discussion:

- Identification of a flow in the network in general (network flow or microflow in RFC 2475).

- Identification of a flow that undergoes DetNet processing at a DetNet node (DetNet flow).

At the moment, we're using 5-tuples (src & dst addresses, protocol, src & dst ports) for network flow identification and 6-tuples (5-tuple + DSCP) for Detnet flow identification.  In other words, we're effectively saying that a network flow (defined by a 5-tuple), becomes a DetNet flow when a DetNet DSCP is added to request DetNet forwarding by the network.  There's a level of indirection here caused by the Diffserv architecture - a DetNet DSCP designates a DetNet PHB, and any a packet marked with a DetNet DSCP receives DetNet forwarding at a DetNet node.



That said, my concern is that the 6-tuple term for a DetNet flow seems counter-intuitive to me, even though the DetNet forwarding plane in a DetNet node may well be matching on all 6 elements involved in order to decide whether to provide DetNet forwarding to each arriving packet.



IMHO, a better description would be that a network flow (5-tuple) is being uniformly marked with a DetNet DSCP to request DetNet treatment from the network (and presumably DetNet router hardware is matching on DetNet DSCPs to dispatch inbound packets to DetNet forwarding logic instead of conventional forwarding logic).   The counter-intuitivity of the 6-tuple term arises in the error case when someone uses a "clever" marking of a single 5-tuple flow with a mixture of DetNet and non-DetNet DSCPs.  I believe that the result of that "cleverness" is not multiple flows (which would be implied by the "6-tuple" term), even though it may look like that in a DetNet node implementation.  I think the result is better described as a single not-entirely-DetNet flow (defined by a 5-tuple) that receives bizarre forwarding treatment at DetNet nodes - some of the packets get DetNet forwarding treatment and some get other forwarding treatment, so in a loaded network, significant reordering is likely, and the receiver is probably not going to be happy with the resulting packet arrival order.



If this all makes sense, that "clever" mixing of DetNet and non-DetNet DSCPs in a single flow (hence mixing DetNet and non-DetNet forwarding behavior in a single flow) deserves a "SHOULD NOT" statement in the draft, with a warning about the bizarre forwarding behavior at DetNet nodes that is a likely result, which seems like a better thing to do than my original suggestion for some sort of prohibition on mixing DetNet and non-DetNet packets in the same 5-tuple.



Thanks, --David



From: Balázs Varga A [mailto:balazs.a.varga@ericsson.com]
Sent: Sunday, November 4, 2018 11:13 PM
To: Black, David; detnet@ietf.org
Subject: RE: IP Solution problem: Use of DSCP and ECN fields in IP headers for detnet flow identification



Hi David,



Many thanks for your comments and suggestions. This is definitely something we must fix.

Just two general statement as background:

- ECN was not considered so far to be useful for DetNet flows. DetNet flows expect zero congestion loss.

DetNet sources do not consider to react on ECN.

- Masking for flow identification was considered as a general rule for the "tuples" (i.e. not DSCP specific).



So, regarding your proposals

A, No usage of ECN for flow identification: AGREE

B, DSCP list instead of bitmask: AGREE, it can provide the same result.

C, New DiffServ PHB for DetNet: Agree in principle, let's discuss the details



Thanks

Bala'zs



From: detnet <detnet-bounces@ietf.org> On Behalf Of Black, David
Sent: Sunday, November 4, 2018 11:27 PM
To: detnet@ietf.org
Subject: [Detnet] IP Solution problem: Use of DSCP and ECN fields in IP headers for detnet flow identification



We have a problem here ...



The detnet IP solution draft (draft-ietf-detnet-dp-sol-ip-01.txt) has this to say about

use of DSCP and ECN fields in IP headers for detnet flow identification:



6.1.1.4.  IPv4 Type of Service and IPv6 Traffic Class Fields



   These fields are used to support Differentiated Services [RFC2474]

   and Explicit Congestion Notification [RFC3168].  Implementations of

   this document MUST support DetNet flow identification based on the

   IPv4 Type of Service field when processing IPv4 packets, and the IPv6

   Traffic Class Field when processing IPv6 packets.  Implementations

   MUST support bimask based matching, where one (1) values in the

   bitmask indicate which subset of the bits in the field are to be used

   in determining a match.  Note that a zero (0) value as a bitmask

   effectively means that these fields are ignored.



That bitmask approach won't work, as it violates both RFC 2474 and RFC 3168.



Starting with ECN (RFC 3168) - the 2-bit ECN field is intended to enable ECN functionality to be

applied to any flow, and the contents of the ECN field can be changed by any router.  Using ECN

field values to identify separate flows is wrong, see Section 5 of RFC 3168, which specifies the

current use of that field..



That leaves the 6-bit DSCP field, which is defined by RFC 2474.  The above bitmask approach is

prohibited by the following paragraph in section 3 of RFC 2474:



   Implementors should note that the DSCP field is six bits wide.  DS-

   compliant nodes MUST select PHBs by matching against the entire 6-bit

   DSCP field, e.g., by treating the value of the field as a table index

   which is used to select a particular packet handling mechanism which

   has been implemented in that device.  The value of the CU field MUST

   be ignored by PHB selection.  The DSCP field is defined as an

   unstructured field to facilitate the definition of future per-hop

   behaviors.



The CU field is now the ECN field (see RFC 3168).  My reading is that the current section 6.1.1.4 text in

the IP solutions draft has managed to violate all three "MUST" requirements in that RFC 2474

paragraph, which is impressive ... and not in a good way.



I suggest that several things be done:

a)      Abandon use of the ECN field for detnet flow identification.

b)      For the DSCP field, change from a bitmask approach to a list of DSCPs.

a.      I would note that a carefully chosen DSCP list can be implemented via a bitmask.

c)      Define one or more Diffserv PHBs that realize DetNet behavior.

a.      I suspect that much of the content needed for this already exists in the
detnet drafts, so this should not be a "from scratch" exercise.



I would also caution that the current IP solution draft text on 6-tuples for flow identification appears

to allow multiple separate detnet flows that differ only in DSCP to use the same IP 5-tuple (source &

destination addresses, transport protocol, source & destination ports).  I believe that this also ought

to be prohibited, as Diffserv uses 5-tuples for flow identification - see the definition and use of the

term "microflow" in RFC 2475.



A quick glance at the MPLS solution suggests that it does not have an analogous problem with the TC

field in labels as the TC field does not appear to be used for detnet flow identification.



Thanks, --David

----------------------------------------------------------------

David L. Black, Senior Distinguished Engineer

Dell EMC, 176 South St., Hopkinton, MA  01748

+1 (774) 350-9323 New    Mobile: +1 (978) 394-7754

David.Black@dell.com<mailto:David.Black@dell.com>

----------------------------------------------------------------