Re: [mpls] Available IP version numbers.

ietf@sergey.dev Mon, 19 April 2021 22:35 UTC

Return-Path: <ietf@sergey.dev>
X-Original-To: mpls@ietfa.amsl.com
Delivered-To: mpls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 720C93A4775 for <mpls@ietfa.amsl.com>; Mon, 19 Apr 2021 15:35:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.195
X-Spam-Level:
X-Spam-Status: No, score=-0.195 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_NONE=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=sergey.dev
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 EVaTLBHcZmwF for <mpls@ietfa.amsl.com>; Mon, 19 Apr 2021 15:35:48 -0700 (PDT)
Received: from forward104o.mail.yandex.net (forward104o.mail.yandex.net [IPv6:2a02:6b8:0:1a2d::607]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7CF3F3A4735 for <mpls@ietf.org>; Mon, 19 Apr 2021 15:35:47 -0700 (PDT)
Received: from forward102q.mail.yandex.net (forward102q.mail.yandex.net [IPv6:2a02:6b8:c0e:1ba:0:640:516:4e7d]) by forward104o.mail.yandex.net (Yandex) with ESMTP id 7DC7C941844; Tue, 20 Apr 2021 01:35:44 +0300 (MSK)
Received: from vla5-7c8bfce2718b.qloud-c.yandex.net (vla5-7c8bfce2718b.qloud-c.yandex.net [IPv6:2a02:6b8:c18:348f:0:640:7c8b:fce2]) by forward102q.mail.yandex.net (Yandex) with ESMTP id 78E343A20002; Tue, 20 Apr 2021 01:35:44 +0300 (MSK)
Received: from vla1-1bc5b51c612f.qloud-c.yandex.net (vla1-1bc5b51c612f.qloud-c.yandex.net [2a02:6b8:c0d:89c:0:640:1bc5:b51c]) by vla5-7c8bfce2718b.qloud-c.yandex.net (mxback/Yandex) with ESMTP id 4SKCga5nJL-ZiJG6RUh; Tue, 20 Apr 2021 01:35:44 +0300
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sergey.dev; s=mail; t=1618871744; bh=KTp8GTPh8CL+g47SuKQM0A1XeQ2xZRy/maIkdgJ13AA=; h=Subject:Date:References:To:From:Message-ID:In-Reply-To:Cc; b=llyx9AYmXdUwUlQO3EBKssa9iYjJDb/UwHytULzLb9zaHIhj8n2aXt5/Y9AF7+ZBj T1B/EGuyW/MLWgxGtpRCiILGY+KWaSAjFRBXZH43jjOX1yZWYCKTxRCxRqZbdJQBUc ccuirglvYZ99RtmRPdQkkhmL6Q41K+1JwAZdsF+c=
Authentication-Results: vla5-7c8bfce2718b.qloud-c.yandex.net; dkim=pass header.i=@sergey.dev
Received: by vla1-1bc5b51c612f.qloud-c.yandex.net (smtp/Yandex) with ESMTPSA id qG78DpScXD-ZgKWWrre; Tue, 20 Apr 2021 01:35:43 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client certificate not present)
From: ietf@sergey.dev
To: 'Uma Chunduri' <umac.ietf@gmail.com>, 'Greg Mirsky' <gregimirsky@gmail.com>
Cc: 'mpls' <mpls@ietf.org>
References: <A5C8DFA9-3601-4838-9461-727CC40507B1@gmail.com> <003701d7354d$4810e660$d832b320$@sergey.dev> <36cdf547-47b0-09f2-c168-588477f7af1c@joelhalpern.com> <001b01d73551$47ba6520$d72f2f60$@sergey.dev> <CA+RyBmXsWqNtiLrK2scjjQUKC5j0MHi=OqHmaPi4O8DBAaoKQg@mail.gmail.com> <CAF18ct5NcrdBDvfGa=4mLjjFPZu=d56nq8bfHWKfnEepCjyORQ@mail.gmail.com>
In-Reply-To: <CAF18ct5NcrdBDvfGa=4mLjjFPZu=d56nq8bfHWKfnEepCjyORQ@mail.gmail.com>
Date: Mon, 19 Apr 2021 15:35:40 -0700
Message-ID: <007a01d7356c$555171e0$fff455a0$@sergey.dev>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_007B_01D73531.A8F3D260"
X-Mailer: Microsoft Outlook 16.0
Content-Language: en-us
Thread-Index: AQKUPgr7n0r+Iugvfy2N2vrBHUrKswHMZUEUAdyE0gIBuv4VxQFOB4pdAfF4o6ao/UFC8A==
Archived-At: <https://mailarchive.ietf.org/arch/msg/mpls/3veEAHjvGfUk34gvn4jEaBiomd8>
Subject: Re: [mpls] Available IP version numbers.
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Multi-Protocol Label Switching WG <mpls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mpls>, <mailto:mpls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mpls/>
List-Post: <mailto:mpls@ietf.org>
List-Help: <mailto:mpls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mpls>, <mailto:mpls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Apr 2021 22:35:59 -0000

Hi Greg, Uma,

 

Greg,

>Also, it could be G-ACh or BIER, respectively identified by 0x01 and 0x05 in the first nibble. 

Not quite. 

Identification by the first nibble is always a _guess_. LER always identifies payload by a label/FEC mapping (with further verifications of packet header from other protocol layers).  LSR can try to guess what’s inside by using the nibble. Nothing is guaranteed in this case.

 

> An encapsulation other than IP uses MPLS PW encapsulation. And the BoS LE is followed by PW CW or ACH. Note that RFC 8469 <https://tools.ietf.org/html/rfc8469>  RECOMMENDS using PW CW for Ethernet PWs to avoid possible misinterpretation of the payload.

An encapsulation other than IP might use, well, just about anything (just as your BIER example above).

If we want to stick to practical examples, CW is often not present (due to absence of L3-L4 ECMP LSR load-balancing in the core, or presence of entropy labels as an example). So immediately after BoS you encounter an Ethernet header (where the first nibble can be just about anything).

 

Uma,

> So it's critical to care for b (i) as has been discussed or being discussed for backward compatibility on this aspect..

0x0 fits the scenario, if nothing else is needed from this?

 

--

Sergey

 

From: Uma Chunduri <umac.ietf@gmail.com> 
Sent: Monday, April 19, 2021 1:29 PM
To: Greg Mirsky <gregimirsky@gmail.com>
Cc: ietf@sergey.dev; mpls <mpls@ietf.org>
Subject: Re: [mpls] Available IP version numbers.

 

Hi Greg,

 

+1

 

2 Broad categories here:

 

a.  If we are seeking to have a new ether type - we don't have to worry about the backward compatibility (while yes, we may seek to maintain some aspects same for reusability purposes) as upgrade is needed to process the packet header (labels + BoS stuff) with new ether type.

 

b. If the same ether type of current MPLS is sought, this is a critical piece for not impacting the existing functionality  for the not upgraded nodes. Again 2 cases here

   

    (i) If the underlying circuit is IP based - then the discussion here is completely valid and first nibble value has to be different and non-conflicting

    (ii) For non-IP circuits an existing LSR will obviously not interpret/assume it's IPv4/IPv6 packet underneath (and not use the header fields for ECMP).

 

So it's critical to care for b (i) as has been discussed or being discussed for backward compatibility on this aspect..

 

Thx!

--

Uma C.

  

 

 

On Mon, Apr 19, 2021 at 12:51 PM Greg Mirsky <gregimirsky@gmail.com <mailto:gregimirsky@gmail.com> > wrote:

Hi Sergey,

I think that when we are looking at how systems interpret MPLS payload, as I understand it, we have two scenarios - MPLS LSP and MPLS PW. In the former, an IP packet is a native payload. Thus the BoS label element (LE) is followed by an IPv4 or IPv6 packet is valid. Also, it could be G-ACh or BIER, respectively identified by 0x01 and 0x05 in the first nibble. An encapsulation other than IP uses MPLS PW encapsulation. And the BoS LE is followed by PW CW or ACH. Note that RFC 8469 <https://tools.ietf.org/html/rfc8469>  RECOMMENDS using PW CW for Ethernet PWs to avoid possible misinterpretation of the payload.

That all might not be "a standard-defined paradigm", but a de facto standard on the wire. And, in my opinion, we must consider that to ensure the backward compatibility of any change we may introduce.

 

Regards,

Greg

 

On Mon, Apr 19, 2021 at 12:22 PM <ietf@sergey.dev <mailto:ietf@sergey.dev> > wrote:

Joel,
I agree with that.

But my point it - it seems there's an implicit assumption that IP header follows an MPLS label stack, which may or may not be the case. First nibble is not a protocol identifier in a classical sense (except for LSR-guessing). 
We can't rely on a nibble as a unique identifier by itself; so is there even a point in using anything besides 0x0 (to avoid LSR-guessing)? There might be, but it is not obvious in a current form of just taking a new number.
And if we were to use a new number - it is not an IP version number (as long as we are not claiming that an IP header follows. Yes, 0x0 and 0x1 were reserved by IANA for rfc4928 usecase, but this is not, strictly speaking, a standard-defined paradigm).

--
Sergey

-----Original Message-----
From: Joel M. Halpern <jmh@joelhalpern.com <mailto:jmh@joelhalpern.com> > 
Sent: Monday, April 19, 2021 12:04 PM
To: ietf@sergey.dev <mailto:ietf@sergey.dev> ; 'Loa Andersson' <loa.pi.nu@gmail.com <mailto:loa.pi.nu@gmail.com> >; 'mpls' <mpls@ietf.org <mailto:mpls@ietf.org> >
Subject: Re: [mpls] Available IP version numbers.

If we are defining a protocol carried with its own ethertype (e.g. 
MPLS), there is no neeed for an IP version differentiation.

It can in fact be argued that IPv6 could have used a different header format, and assumed that the media woudl indicate the new protocol.
However, because we knew that it needed to interwork with, be mixed with, and be diagnosed with existing IPv4 packets it was far more robust to build the packet format in such a way that it was reliably distinguishable from IPv4.  Which means a different starting nibble.

We could have skipped it.  (Historically, we got there the other way. 
We started by thinking we would use the same ethertype for both.  And then also realized that had problems.  So we have a belt and suspenders; dual identification.  Which is often a good design paradigm.)

Yours,
Joel

PS: In the MPLS context the is further complicated by devices which look at the data after the end of the stack and try to guess what it is. 
Typically to support ECMP / LAG.

On 4/19/2021 2:53 PM, ietf@sergey.dev <mailto:ietf@sergey.dev>  wrote:
> Hi Loa,
> In an adjacent thread ("mpls open dt & the first nibble discussion") I raised a question about why do we even expect to take something from IP numbering. Would appreciate your feedback on this one.
> 
> 
> -----Original Message-----
> From: mpls <mpls-bounces@ietf.org <mailto:mpls-bounces@ietf.org> > On Behalf Of Loa Andersson
> Sent: Saturday, April 17, 2021 1:13 AM
> To: mpls <mpls@ietf.org <mailto:mpls@ietf.org> >
> Subject: [mpls] Available IP version numbers.
> 
> DT,
> 
> We had a discussion on how many IP version numbers are available.
> 
> It should be remembered that in IANA “Reserved” really means “Reserved, do not assign”.
> 
> 0,1,5,7,8,9 and 15 are reserved.
> 2,3,10,11,12,13 and 14 are unassigned
> 4 and 6 are assigned
> 
> To make the reserved requires a standard track RFC.
> 
> So we 7 IP version numbers available, that is a sufficient low number to make me nervous, if I owned the registry.
> 
> I would nit count on having more IP version numbers assigned to “us”, especially since we already have an agreement (PWE3), accepting to get two numbers and committing to not use more.
> 
> /Loa
> 
> Sent from my iPhone
> _______________________________________________
> mpls mailing list
> mpls@ietf.org <mailto:mpls@ietf.org> 
> https://www.ietf.org/mailman/listinfo/mpls
> 
> _______________________________________________
> mpls mailing list
> mpls@ietf.org <mailto:mpls@ietf.org> 
> https://www.ietf.org/mailman/listinfo/mpls
> 

_______________________________________________
mpls mailing list
mpls@ietf.org <mailto:mpls@ietf.org> 
https://www.ietf.org/mailman/listinfo/mpls

_______________________________________________
mpls mailing list
mpls@ietf.org <mailto:mpls@ietf.org> 
https://www.ietf.org/mailman/listinfo/mpls