Re: A problem with RFC 6465's Uniform Format for Extension Headers

Fernando Gont <fernando@gont.com.ar> Tue, 04 February 2014 19:19 UTC

Return-Path: <fernando@gont.com.ar>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D76CC1A01C6 for <ipv6@ietfa.amsl.com>; Tue, 4 Feb 2014 11:19:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
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 7qLLow_bMY75 for <ipv6@ietfa.amsl.com>; Tue, 4 Feb 2014 11:19:15 -0800 (PST)
Received: from web01.jbserver.net (web01.jbserver.net [IPv6:2a00:d10:2000:e::3]) by ietfa.amsl.com (Postfix) with ESMTP id 7C8AF1A0127 for <6man@ietf.org>; Tue, 4 Feb 2014 11:19:15 -0800 (PST)
Received: from [2001:5c0:1000:a::d7f] by web01.jbserver.net with esmtpsa (TLSv1:DHE-RSA-CAMELLIA256-SHA:256) (Exim 4.82) (envelope-from <fernando@gont.com.ar>) id 1WAlWZ-00030y-G8; Tue, 04 Feb 2014 20:19:11 +0100
Message-ID: <52F13D1D.9050800@gont.com.ar>
Date: Tue, 04 Feb 2014 16:18:53 -0300
From: Fernando Gont <fernando@gont.com.ar>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0
MIME-Version: 1.0
To: Jen Linkova <furry13@gmail.com>, Fernando Gont <fgont@si6networks.com>
Subject: Re: A problem with RFC 6465's Uniform Format for Extension Headers
References: <20140130230740.25350.9524.idtracker@ietfa.amsl.com> <52EAF63A.7050108@si6networks.com> <CAFU7BATrYRsNJ7D4AJSy62XobNaGDgW-zTvX=yrqZea-Q67YPA@mail.gmail.com>
In-Reply-To: <CAFU7BATrYRsNJ7D4AJSy62XobNaGDgW-zTvX=yrqZea-Q67YPA@mail.gmail.com>
X-Enigmail-Version: 1.5.2
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Cc: "C. M. Heard" <heard@pobox.com>, "6man@ietf.org" <6man@ietf.org>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ipv6/>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 04 Feb 2014 19:19:19 -0000

Hi, Jen,

On 02/04/2014 11:20 AM, Jen Linkova wrote:
>> We've written a short I-D that discussed the problem, and that proposes
>> an alternative, such that we achieve the same goal without possibly
>> messing with our Transport friends. :-)
>>
>> The I-D is available at:
>> <http://www.ietf.org/internet-drafts/draft-gont-6man-ipv6-universal-extension-header-00.txt>
> 
> Somehow that proposed Universal Extension Header looks exactly like an
> Options Extension Header to me.
> Am I missing something? I'm trying to use my imagination but couldn't
> see any possible scenario when UEH would work and Options header would
> not.

Not sure what you mean.

But please let me provide an example:

Let's say that, tomorrow, the IETF standardizes the GTP (Google
Transport Protocol :-)), and it is assigned the Next Header value 0xFF
(I'm assuming this one is not currently assigned, bbut I'm not checking
the IANA registry right now).

Say a middle-box receives a packet that simply encapsulates GTP in IPv6,
and that middlebox does not yet support GTP. If the middle-box tries to
interpret the GTP header as in RFC6465, it will certainly fail.

The reason? -- RFC 6465 implicitly assumes that every new Next Header
will employ the RFC6465 format. This may be sensible for new *extension
headers*, but certainly not for new transport protocols.

And since transport protocols and extension headers share the same
namespace (see RFC7045), this is a problem.


What we did in our I-D is specify a new Extension Header, that is
assigned a Next-Header value. Let us assume that our proposal moves
forward, and the UEH is assigned the next header value 0xfe.

If a middle-box supports UEH but does not support our (fictitious) GTP
protocol above, then, if a GTP packet encapsulated in IPv6 is received,
GTP will be identified as an "upper-layer protocol", rather than as UEH
(since the Next Header value will be 0xff, rather than UEH's 0xfe).

Clearly, another way to go is to reserve part of the IANA's Next Header
namespace for RFC6465, and leave the rest for transport protocols -- as
suggested by Hagen.

What's clear is that the only way in which RFC6465 can possibly work is
if the middle-box has some a-priori knowledge that what is being
encapsulated follows RFC6465 -- whether as a result of a reserved range
(as originally proposed by Hagen) or by specifying a single UEH, and
then encoding all possible future "extension headers" as subtypes of UEH.

Please do let me know if the above clarifies our rationale...

P.S.: FWIW, we're working together with Hagen to offer 6man a more
unified document that discusses possible approaches, pro's nd con's, etc.

Thanks,
-- 
Fernando Gont
e-mail: fernando@gont.com.ar || fgont@si6networks.com
PGP Fingerprint: 7809 84F5 322E 45C7 F1C9 3945 96EE A9EF D076 FFF1