Re: [mpls] How to indicate the existence of an explicit protocol field immediately after the MPLS label stack?

Stewart Bryant <stewart.bryant@gmail.com> Thu, 13 October 2016 12:53 UTC

Return-Path: <stewart.bryant@gmail.com>
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 C07FB129767; Thu, 13 Oct 2016 05:53:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 W42XirAnjof6; Thu, 13 Oct 2016 05:53:48 -0700 (PDT)
Received: from mail-lf0-x22e.google.com (mail-lf0-x22e.google.com [IPv6:2a00:1450:4010:c07::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5AB0C129764; Thu, 13 Oct 2016 05:53:47 -0700 (PDT)
Received: by mail-lf0-x22e.google.com with SMTP id x79so138332751lff.0; Thu, 13 Oct 2016 05:53:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to; bh=GKZfT0GIALufJszPw40C9R+f2AZleu0sJpl3XBDOTvE=; b=DnZBzySuLh3F4M6ObhFbNMMY6fhGT/zH8FrMJmX1rWpIc947wjywTtTuYmzzT1gOnn Lmo/eXGV75GVB+GqkZr7Q0sraM8UUcdndrXcnI8iHpNihJKiIt3RaLCAkoDssHOQNtQ+ PFxsK2GmU1f5A5HPm6N835I2AegWTlGhsd1zxUIoxTaZ60k5PVDfQyOJhIEdImwktQrK DaLT1kjXhne8cjhO1vU9pgbP2C8JjgKT6ScT+IXQZIaNSUbMnFOHv+VAJeaIsSdawuF8 ZZALjsBFgIX0QpkRQ2tskjzFy4L/DjENuB/haIuM/Pvoho2tc2jwNe7bedKeLM4Bk5om viQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to; bh=GKZfT0GIALufJszPw40C9R+f2AZleu0sJpl3XBDOTvE=; b=QDzEUeT+o/uWhwAQTJGxVnfjjyAvrMieIJ23fz38bG2J+ps7dI2Nv395oR/0QdZcMD Wu7tf2p1hZeGwanzlTLJGVEnWxoZ0bJ/sEUHoKqiLpuyJdZAomjKaO3GoQ2cYVLLvOfD yNk5MVcblHDz2c2OwNWIToLyQfwpiLaScF4nQZ4oyitxTkZrzdgPf4ihihJ4iHAweMqE FqwFiTXTekNDlhUXbotc0nNc4bWrI6I/ah5bJDGZEUvGO+BhPjHHLt5iAP1KbiqkT3HQ fJjMRZ3bETbFhOEu87/hKVEoQgBDm1MkIyXMIo6kDTScsyGMQRUhMSFM6OYGwg/uxh+1 r3Dw==
X-Gm-Message-State: AA6/9RkI5xVLP+qzUZ0MEFRA+f1G60dT/A0QZEkDezS4sHr1O6Vduvu8dLG0aDVu1D40Bw==
X-Received: by 10.25.7.201 with SMTP id 192mr9834694lfh.170.1476363225430; Thu, 13 Oct 2016 05:53:45 -0700 (PDT)
Received: from [192.168.2.127] (host213-123-124-182.in-addr.btopenworld.com. [213.123.124.182]) by smtp.gmail.com with ESMTPSA id r16sm3722391lfe.38.2016.10.13.05.53.43 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Oct 2016 05:53:44 -0700 (PDT)
To: Alexander Vainshtein <Alexander.Vainshtein@ecitele.com>, Xuxiaohu <xuxiaohu@huawei.com>, "mpls@ietf.org" <mpls@ietf.org>
References: <1FEE3F8F5CCDE64C9A8E8F4AD27C19EE2BB21A78@NKGEML515-MBX.china.huawei.com> <HE1PR0301MB22666341F0FC2F76AFEBF6DB9DDC0@HE1PR0301MB2266.eurprd03.prod.outlook.com>
From: Stewart Bryant <stewart.bryant@gmail.com>
Message-ID: <71ee24c7-7702-093f-2595-af18f2539a60@gmail.com>
Date: Thu, 13 Oct 2016 13:53:41 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0
MIME-Version: 1.0
In-Reply-To: <HE1PR0301MB22666341F0FC2F76AFEBF6DB9DDC0@HE1PR0301MB2266.eurprd03.prod.outlook.com>
Content-Type: multipart/alternative; boundary="------------584D86D38972B862E24FD4FD"
Archived-At: <https://mailarchive.ietf.org/arch/msg/mpls/H7tJVSGLkrtQfIdMGi7Th0gocSQ>
Cc: "bier@ietf.org" <bier@ietf.org>, "sfc@ietf.org" <sfc@ietf.org>
Subject: Re: [mpls] How to indicate the existence of an explicit protocol field immediately after the MPLS label stack?
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.17
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: Thu, 13 Oct 2016 12:53:51 -0000

Sasha is correct, and I seem to remember a PW system that did meet an 
Ethernet packet with IPv4 as the first nibble and made such a mistake.


You can only use the first nibble as a disambiguator for example to 
distinguish IPv4 and IPv6 if you have some supplementary information 
telling you that the packet can only be either type IPv4 or IPv6.


Stewart



On 13/10/2016 06:36, Alexander Vainshtein wrote:
>
> Xiaohu and all,
>
> I respectfully disagree with your statement "*/the first nibble of the 
> MPLS payload has actually been used as an implicit protocol identifier 
> for some payloads/*". In the case of PWs the CW (with this first 
> nibble) may be not present at all, but even when it is present, its 
> first nibble is only used for disambiguation of the PW packets (so 
> that they cannot be mistakenly treated as IPv4 or IPv6 packets by the 
> ECMP mechanisms).
>
>
> My 2c,
>
> Sasha
>
>
>
>
>
>
>
> ------------------------------------------------------------------------
> *From:* mpls <mpls-bounces@ietf.org> on behalf of Xuxiaohu 
> <xuxiaohu@huawei.com>
> *Sent:* Thursday, October 13, 2016 6:49 AM
> *To:* mpls@ietf.org
> *Cc:* bier@ietf.org; sfc@ietf.org
> *Subject:* [mpls] How to indicate the existence of an explicit 
> protocol field immediately after the MPLS label stack?
> Hi all,
>
> It's well-known that the MPLS label stack has no EXPLICIT protocol 
> identifier field to indicate the protocol type of the MPLS payload. 
> However, the first nibble of the MPLS payload has actually been used 
> as an implicit protocol identifier for some payloads, such as IPv4 
> (0100), IPv6(0110) and MPLS-BIER (0101, for more details, please see 
> https://tools.ietf.org/html/draft-ietf-bier-mpls-encapsulation-05#page-5). 
> Unfortunately, the first nibble space is not enough for the 
> sustainable development of new encapsulation headers which may happen 
> to be encapsulated with an MPLS header. Furthermore, the remaining 
> first nibble space available for payload indication is only 0111 due 
> to the NSH specification 
> (https://tools.ietf.org/html/draft-ietf-sfc-nsh-10#page-7) unless the 
> NSH is restricted from being transported directly over the MPLS 
> transport (in this case the NSH is sadly not transport independent 
> anymore).
>
> Hence, it's seem necessary for us to consider the approach of 
> inserting an EXPLICIT protocol identifier field within the MPLS packet 
> as early as possible. The following are two possible ways of inserting 
> an EXPLICIT protocol identifier field within the MPLS packet:
>
> One is to use an SPL (or even ESPL) as described 
> (https://tools.ietf.org/html/draft-xu-mpls-payload-protocol-identifier-01). 
> See the following figure:
>
>      0                   1 2                   3
>      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>      |                 PIL                   | EXP |1|      TTL      |
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>      |0 0 0 0|       Reserved          |        Protocol Type        |
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>      | Payload                          |
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>
> Another is to set the first nibble of the 4-octet entry containing the 
> protocol field to a dedicated value (e.g., 1111), as shown in the 
> following figure. In this case, there is no need to insert additional 
> label (s) (i.e., SPL or ESPL) anymore. The logic of the latter 
> approach is that the first nibble of the MPLS payload has been 
> implicitly used as a protocol id (e.g., in the case where the payload 
> is IPv4 or IPv6 packet), and since the 4-bit (implicit) protocol id 
> field is not extensible, we introduce a longer (explicit) protocol id 
> field as per the approach of ESPL.
>        0                   1 2                   3
>        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>        |             Bottom Label              | EXP |1|      TTL      |
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>        |0 1 1 1|       Reserved          | Protocol Type        |
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>        | Payload                          |
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>
> IMHO, the benefits of introducing an explicit protocol id into the 
> MPLS packet include but not limited to: 1) provide a sustainable way 
> of indicating new MPLS payload types without any need of inserting one 
> additional label indicating the MPLS payloads (e.g., considering how 
> to transport NSH over MPLS networks); 2) there is no need any more for 
> each new encapsulation header to deal with the notorious first nibble 
> issue associated with MPLS individually. More specifically, there is 
> no need to intentionally avoid the first nibble of each new 
> encapsulation header from being 0100 (IPv4) or 0110 (IPv6).
>
> Any comments and suggestions are welcome.
>
> Best regards,
> Xiaohu
>
> _______________________________________________
> mpls mailing list
> mpls@ietf.org
> https://www.ietf.org/mailman/listinfo/mpls
> mpls Info Page - Internet Engineering Task Force 
> <https://www.ietf.org/mailman/listinfo/mpls>
> www.ietf.org
> For information about the MPLS working group, see 
> http://www.ietf.org/html.charters/mpls-charter.html. To see the 
> collection of prior postings to the list, visit ...
>
>
>
>
>
> _______________________________________________
> mpls mailing list
> mpls@ietf.org
> https://www.ietf.org/mailman/listinfo/mpls