Re: [Int-area] Comments on draft-ietf-intarea-frag-fragile-06

"Templin (US), Fred L" <Fred.L.Templin@boeing.com> Wed, 30 January 2019 18:39 UTC

Return-Path: <Fred.L.Templin@boeing.com>
X-Original-To: int-area@ietfa.amsl.com
Delivered-To: int-area@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8ADA7131358 for <int-area@ietfa.amsl.com>; Wed, 30 Jan 2019 10:39:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.189
X-Spam-Level:
X-Spam-Status: No, score=-4.189 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 uyHCysrTPtk2 for <int-area@ietfa.amsl.com>; Wed, 30 Jan 2019 10:39:12 -0800 (PST)
Received: from clt-mbsout-01.mbs.boeing.net (clt-mbsout-01.mbs.boeing.net [130.76.144.162]) (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 48F71131340 for <int-area@ietf.org>; Wed, 30 Jan 2019 10:39:12 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by clt-mbsout-01.mbs.boeing.net (8.14.4/8.14.4/DOWNSTREAM_MBSOUT) with SMTP id x0UId99V022000; Wed, 30 Jan 2019 13:39:09 -0500
Received: from XCH16-07-12.nos.boeing.com (xch16-07-12.nos.boeing.com [144.115.66.114]) by clt-mbsout-01.mbs.boeing.net (8.14.4/8.14.4/UPSTREAM_MBSOUT) with ESMTP id x0UId09n020770 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=FAIL); Wed, 30 Jan 2019 13:39:00 -0500
Received: from XCH16-07-10.nos.boeing.com (144.115.66.112) by XCH16-07-12.nos.boeing.com (144.115.66.114) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.1.1591.10; Wed, 30 Jan 2019 10:38:59 -0800
Received: from XCH16-07-10.nos.boeing.com ([fe80::e065:4e77:ac47:d9a8]) by XCH16-07-10.nos.boeing.com ([fe80::e065:4e77:ac47:d9a8%2]) with mapi id 15.01.1591.012; Wed, 30 Jan 2019 10:38:59 -0800
From: "Templin (US), Fred L" <Fred.L.Templin@boeing.com>
To: Stewart Bryant <stewart.bryant@gmail.com>, Fred Baker <fredbaker.ietf@gmail.com>, Tom Herbert <tom@herbertland.com>
CC: int-area <int-area@ietf.org>
Thread-Topic: [Int-area] Comments on draft-ietf-intarea-frag-fragile-06
Thread-Index: AQHUuCuxLuPn/vC+bky5xmwg6zRJFKXIYdIA//+kMiCAAJ8tAP//fVEwgACIOgD//3pzkA==
Date: Wed, 30 Jan 2019 18:38:59 +0000
Message-ID: <c578dcf90f09482e9ca8ba190aeffd7a@boeing.com>
References: <CALx6S35kwvHL5iE4Ci10LQbPzun3k1C-T4m5B55yAyL+nP4sdQ@mail.gmail.com> <3B29EAA5-5989-4A8F-857B-3DEF63A7FEA7@gmail.com> <538a3580-dd3a-a778-dda0-bfc30f749bd9@gmail.com> <751bf1d2e6f94e98a5f9bafad3b27bf4@boeing.com> <a3136fb8-2c5b-5c53-bde1-f29cd55641e2@gmail.com> <6adb543c1bb447f5931450d74484027b@boeing.com> <40859995-4cc6-9758-f1b4-2a2404768f30@gmail.com>
In-Reply-To: <40859995-4cc6-9758-f1b4-2a2404768f30@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [137.137.12.6]
x-tm-snts-smtp: EE8FE93689BC6CC928BB2716F6BAFF827FD703DB7504BF095BA12D0A93F2D4702000:8
Content-Type: multipart/alternative; boundary="_000_c578dcf90f09482e9ca8ba190aeffd7aboeingcom_"
MIME-Version: 1.0
X-TM-AS-GCONF: 00
Archived-At: <https://mailarchive.ietf.org/arch/msg/int-area/TX9s42vZXYjSo87LbxCpmEeNlag>
Subject: Re: [Int-area] Comments on draft-ietf-intarea-frag-fragile-06
X-BeenThere: int-area@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF Internet Area Mailing List <int-area.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/int-area>, <mailto:int-area-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/int-area/>
List-Post: <mailto:int-area@ietf.org>
List-Help: <mailto:int-area-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/int-area>, <mailto:int-area-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 30 Jan 2019 18:39:20 -0000

Right, but when considering bringing an encapsulation protocol on board, why not
bring in a mature one like GUE and use either GUE fragmentation or Joe Touch's
UDP trailer idea?

Fred

From: Stewart Bryant [mailto:stewart.bryant@gmail.com]
Sent: Wednesday, January 30, 2019 10:35 AM
To: Templin (US), Fred L <Fred.L.Templin@boeing.com>om>; Fred Baker <fredbaker.ietf@gmail.com>om>; Tom Herbert <tom@herbertland.com>
Cc: int-area <int-area@ietf.org>
Subject: Re: [Int-area] Comments on draft-ietf-intarea-frag-fragile-06


I think pretty much anything would need that wouldn't it?

- Stewart
On 30/01/2019 18:29, Templin (US), Fred L wrote:
Hi Stewart,

Sounds like that would require some sort of encapsulation protocol and
low-level code in the kernel or hardware to strip the UDP headers, right?

Fred

From: Stewart Bryant [mailto:stewart.bryant@gmail.com]
Sent: Wednesday, January 30, 2019 10:15 AM
To: Templin (US), Fred L <Fred.L.Templin@boeing.com><mailto:Fred.L.Templin@boeing.com>; Fred Baker <fredbaker.ietf@gmail.com><mailto:fredbaker.ietf@gmail.com>; Tom Herbert <tom@herbertland.com><mailto:tom@herbertland.com>
Cc: int-area <int-area@ietf.org><mailto:int-area@ietf.org>
Subject: Re: [Int-area] Comments on draft-ietf-intarea-frag-fragile-06


Hi Fred

I had something quite simple in mind:

Fragment the IP packet just as you do today and send each fragment as opaque data in a simple 8 byte basic UDP payload with port set to IP. Set the source port based on a hash of the 5 tuple. Then resemble the IP just like you always would.

- Stewart


On 30/01/2019 16:55, Templin (US), Fred L wrote:
Hi Stewart,

>> It we really need to fragment a packet, it would be better to stick the fragments inside a common UDP/IP(no frag) shim.

I agree. Two different approaches for UDP fragmentation that avoid IP fragmentation
are currently under consideration:

https://datatracker.ietf.org/doc/draft-ietf-intarea-gue-extensions/
https://datatracker.ietf.org/doc/draft-ietf-tsvwg-udp-options/

Thanks - Fred


From: Int-area [mailto:int-area-bounces@ietf.org] On Behalf Of Stewart Bryant
Sent: Wednesday, January 30, 2019 6:14 AM
To: Fred Baker <fredbaker.ietf@gmail.com><mailto:fredbaker.ietf@gmail.com>; Tom Herbert <tom@herbertland.com><mailto:tom@herbertland.com>
Cc: int-area <int-area@ietf.org><mailto:int-area@ietf.org>
Subject: Re: [Int-area] Comments on draft-ietf-intarea-frag-fragile-06



On 29/01/2019 23:37, Fred Baker wrote:





Section 4.5:

"IP fragmentation causes problems for some routers that support Equal

Cost Multipath (ECMP). Many routers that support ECMP execute the

algorithm described in Section 4.4 in order to perform flow based

forwarding;



As far as I know, routers that hash fields in the IP header to select a en ECMP next hop do so because all packets in a flow will hash the same way (modulo the issues with the transport port number), not because they are doing per-flow forwarding. The do so explicitly to avoid having to maintain per-flow state and yet make all fragments of a message follow the same path.

I agree with Fred. ECMP is normally done to distribute the load over the available next hops on a best effort basis. Originally it was done per packet, but that gave problems with out of order packet delivery, so the routers moved to doing it based on the five tuple described in this draft. It is a stateless best effort ECMP process with no regard to specific flows and the path for any five tuple may move arbitrarily if routing changes its mind on the ECMP set.

Fragmented packets are really bad news in networks that need ECMP. There is not enough entropy in the SA/DA/Protocol triplet and anything else results in misorder. But if ECMP is not done this overloads the default path.

MPLS is also stateless but there are more options, although the most common is to look past BoS to the five tuple, however some "features" make mistakes and look at a non-existent five tuple despite hints in the packet that thus is a bad idea.



therefore, the exhibit they same problematic behaviors

described in Section 4.4. In IPv6, the flow label may alternatively

used as input to the algorithm as opposed to parsing the transport

layer of packets to discern port numbers. The flow label should be

consistently set for a packets of flow including fragments, such that

a device does not need to parse packets beyond the IP header for the

purposes of ECMP."



Add to section 7.3:



"Routers SHOULD use IPv6 flow label for ECMP routing as described in [RFC6438]."

If we want to migrate to the FL then we really need to state that the FL MUST be set by the sender. Without, that we are never going to wean routers off looking at the five tuple, if indeed we ever succeed in doing that.

It we really need to fragment a packet, it would be better to stick the fragments inside a common UDP/IP(no frag) shim. Then the forwarders could carry on just as they are. We would never get misorder and we would not be faced with the impossible problem of changing the Internet core forwarding behaviour to a single consistent model.

- Stewart





_______________________________________________

Int-area mailing list

Int-area@ietf.org<mailto:Int-area@ietf.org>

https://www.ietf.org/mailman/listinfo/int-area



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

Victorious warriors win first and then go to war,

Defeated warriors go to war first and then seek to win.

     Sun Tzu







_______________________________________________

Int-area mailing list

Int-area@ietf.org<mailto:Int-area@ietf.org>

https://www.ietf.org/mailman/listinfo/int-area