Re: I-D Action: draft-smith-6man-in-flight-eh-insertion-harmful-00.txt

Gyan Mishra <hayabusagsm@gmail.com> Sun, 13 October 2019 15:59 UTC

Return-Path: <hayabusagsm@gmail.com>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 66AAE12008B for <ipv6@ietfa.amsl.com>; Sun, 13 Oct 2019 08:59:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.997
X-Spam-Level:
X-Spam-Status: No, score=-1.997 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, MIME_QP_LONG_LINE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, 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 1cnJXVCT_5YM for <ipv6@ietfa.amsl.com>; Sun, 13 Oct 2019 08:59:36 -0700 (PDT)
Received: from mail-qk1-x734.google.com (mail-qk1-x734.google.com [IPv6:2607:f8b0:4864:20::734]) (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 35D29120105 for <ipv6@ietf.org>; Sun, 13 Oct 2019 08:59:36 -0700 (PDT)
Received: by mail-qk1-x734.google.com with SMTP id y144so13569122qkb.7 for <ipv6@ietf.org>; Sun, 13 Oct 2019 08:59:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:mime-version:subject:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=KDXBwdDAFe3Q3DQ6uaImjes0IMJqOKt9BgWN/YjOanI=; b=BeMHk5v9K0vr4ytPGrGFpskh1JaQIyzAxK7oe2YWl9VV8pRG1kuSorhsCHuxPjORlg rrp60Y7xaCYM9ovs3W+7buVSWybXPpYBrWmLlEWKUNMwaCqAH9TFmjVUZcKkS5RY8GrP g3r4NEa7tYRwx9rHHQ3ZDeAlsqAzzwi8vxUBBzMXuqYoCzy54lakj5oEooE8IpB8AqEa Ftsg4HbqcsPWUePBfWblhyLCz0Z0mxuKBy31ZipT3zqjLSCi2QyLsdJLrZqWOvsCv23V kC+z6XkbLky3HFTTDI9eV3we4FNyDQ+9rfxfcbxOE2vB80QnKYtaZpTMB6tjFkVlt09e QVyg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:mime-version:subject:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=KDXBwdDAFe3Q3DQ6uaImjes0IMJqOKt9BgWN/YjOanI=; b=oP6JkFB03nsex40a91+OcpoiXwSq+u2FqNRV4G3ddKwtPbm8o3rAgvI8fjwHBedkQd 6iLVFhIkRVwMdmlUgrsvSvoK4I+DMOy0dr1Cbw8mT+Wi01kbgwVvTQOFExCYQfGyQMm8 bwCs+SEgCLftwWrWOr4cYQqvrVwaj+gzmwadBHHdBGwSs13xqGljQkIrBoaNjzIoW7KE rI116TPK/c11LXg15nztYQkgMFuXDPaQW7HLfcicP7rNuZwMvVdZlQQtMt2zOK0s7DJQ MbQH5BhM0KnCIgGsqYrPWRqJFxQSmPa2nE5rtk4SHEh+TZR8uFOPSQMg12mH1/1v7BCM //eg==
X-Gm-Message-State: APjAAAWuox2SOfDhiscJaXj0XvFGkdhfKeo72IKZ710nv5Pp9dTLnMja bdut81DZ0wKgd1wmuINkJqWh0xZ1
X-Google-Smtp-Source: APXvYqxWB+MSnwtYQJdIFTLiTKRg/Swi+WEDeo1EVKQqWPKYCcXvP0BZUDjDQX65WWOj8CJ50xU73Q==
X-Received: by 2002:a37:ef04:: with SMTP id j4mr26693826qkk.482.1570982374473; Sun, 13 Oct 2019 08:59:34 -0700 (PDT)
Received: from [192.168.1.221] (pool-96-231-151-173.washdc.fios.verizon.net. [96.231.151.173]) by smtp.gmail.com with ESMTPSA id 54sm9417550qts.75.2019.10.13.08.59.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 13 Oct 2019 08:59:33 -0700 (PDT)
From: Gyan Mishra <hayabusagsm@gmail.com>
X-Google-Original-From: Gyan Mishra <hayabusaGSM@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail-7A6BE39B-80BC-484E-BBF0-D051D324187A"
Mime-Version: 1.0 (1.0)
Subject: Re: I-D Action: draft-smith-6man-in-flight-eh-insertion-harmful-00.txt
X-Mailer: iPhone Mail (16G102)
In-Reply-To: <51fdb3bc-3155-c0c8-a34b-f68868885a24@foobar.org>
Date: Sun, 13 Oct 2019 11:59:32 -0400
Cc: Brian E Carpenter <brian.e.carpenter@gmail.com>, 6man <ipv6@ietf.org>
Content-Transfer-Encoding: 7bit
Message-Id: <98D25580-F182-4B6A-BC3D-167628A2AB0E@gmail.com>
References: <157059901123.30422.11220423219059958820@ietfa.amsl.com> <362b80f7-fedc-7227-2931-0006e6b81812@gmail.com> <f2548b48-2d8d-01f0-f05c-0027a5cdeb91@foobar.org> <57b3a7bd-3dc3-d8be-0ac4-7218abdd94d8@gmail.com> <51fdb3bc-3155-c0c8-a34b-f68868885a24@foobar.org>
To: Nick Hilliard <nick@foobar.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/HKO4NhRV7FBkiYib5u6nd5tpwUM>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.29
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: <https://mailarchive.ietf.org/arch/browse/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: Sun, 13 Oct 2019 15:59:40 -0000

Mark

Few comments on the draft in-line and also comparison of MPLS label insertion to SRV6 EH insertion.

Sent from my iPhone

> On Oct 13, 2019, at 6:25 AM, Nick Hilliard <nick@foobar.org> wrote:
> 
> Brian E Carpenter wrote on 13/10/2019 01:36:
>> The packet is too dumb to know anything ;-). My question is how each
>> node it traverses knows. Indeed, Mark's draft describes a scenario
>> where the controlled domain argument breaks, because the exit node
>> might not know that the packet had suffered EH insertion. The
>> draft-voyer- scenario is not like that, because the affected IPv6
>> headers are created locally and identifiable as such.
> 
> the world isn't nearly this pigeonholed though.  The edge around this "controlled domain" that you're implicitly suggesting is sharply-defined is in reality more of a blurry smear.  Think tunnels, leaks, back-doors, "SD-WAN" (whatever that means), policy routing, routed VPNs, etc.
> 
> If the ietf wants to define a new ipv6-like protocol which is not guaranteed to be interoperable with 8200, there's still space in www.iana.org/assignments/version-numbers to accommodate this :-)
> 
> Nick
> 

[Gyan]

Comparing MPLS in flight label insertion to SRv6 in flight EH insertion below:

We will use the Service Provider scenario for SRv6 to compare apples to apples use case since SRv6 has a much wider scope as it pertains to IPv6 data plane traffic engineering capabilities.

Typical SP mpls core / SRv6 core with L3 VPN services CEs attached.

So for both scenarios the the packet originates from the customer network.

CE - customer edge originating packet 
PE1 - ingress PE device performing label imposition or EH insertion for SRH header 
P2 - LDP Remote LFA PLR node/path protection 
Performs LDP tunneling to PQ node by inserting MPLS label for FRR link and node protection. For SRv6 Ti-LFA PLR node performs EH SRH header insertion for the “LFA” backup protected path during a link or node failure 
P3 - PQ node tunnel for R-LFA 
P4 - egress P performing MPLS PHP pop implicit null value 3 or SRv6 PSP SRH segment pop and removal of SRH EH header type 4
PE2 - egress PE label disposition of bottom of stack L3 VPN  labels for MPLS use case

CE - PE1 - P1 - P2 - P3 - P4 - PE2 - CE

So in both cases the MPLS LDP or SRv6 domain the MPLS PE does in flight label imposition similar to SRv6 on the same ingress PE SRv6 does in flight SRv6 EH SRH Routing header type 4 insertion.

So in both cases the MPLS LDP or SRv6 domain the MPLS P2 “IP FRR PLR node”  does in flight label imposition similar to SRv6 on the same  P2 node SRv6 does in flight SRv6 EH SRH Routing header type 4 insertion as well for Ti-LFA 50ms FRR link and node protection.

So basically both MPLS and SRv6 perform in flight insertion of a header mpls 4 byte shim for mpls scenario and SRv6 EH SRH Routing header type 4 influencing the packet.

The major difference with mpls and why that in flight label insertion has never been an issue is that MPLS is considered “Layer 2 1/2” due to the label stack being placed between the L2 link layer header and the L3 header.  So impact to routing related to mpls shim not being removed or security implications don’t exist since in the mpls core you are not IP routing you are “label switching” so forwarding plane is at that “layer 2 1/2” swapping the local label with remote label along the LSP path to FEC destination.

With SRv6 since the EH headers are all inserted after the IPv6 header and before the transport header their are MAJOR security implications with EH headers not being removed as the EH headers are part of the L3 routing functionality.

One other major impact to EH insertion in flight with IPv6 is that SRv6 can be used ubiquitously in almost any scenario where traffic engineering is required.

With mpls the downside but from a security perspective upside as why mpls label imposition insertion in flight is not impacting is that with mpls state has to be maintained hop by hop for mpls data plane forwarding plane with either LDP or TE topmost label so mpls forwarding plane due to this “mpls state” LFIB dependency cannot exist outside of the mpls domain the egress P must to a PHP or if Default implicit null mpls label value type 3 is used or explicit null where the label is preserved on the egress P and popped on the egress PE along with the entire label stack is popped “label disposition” so the egress PE on the PE-CE link can forward as native IP packet.


RFC R-LFA used with MPLS LDP IP FRR

https://datatracker.ietf.org/doc/rfc7490/

What I think needs to change and we need to discuss with Spring folks is on the PLR node doing the 2nd EH insertion for Ti-LFA  to achieve link and node protection 50ms failover they need to do another IPV6 header encapsulation.

So the ingress PE in SRv6 domain would add the 1st outer layer IPv6 header but then on the Ti-LFA node now we would require from a 6MAN RFC 8200 a 2nd IPv6 encapsulation and the FRR steering would be done through the PQ node via the 2nd encapsulation and and the PQ node would remove the 2nd encapsulation which would contain the SRH Ti-LFA SID list for the traffic engineered path.

In the Voyer draft addressing EH insertion we should also have them make a bore that Ti-LFA would not exist in every scenario using SRV6 due to the ubiquitous use cases of SRv6 so that 2nd encapsulation would only be required wherever the 2nd or I guess even 3rd or every time an EH SRH type 4 routing header is added for that matter a IPv6 encapsulation is required to satisfy IPv6.

Regards 

Gyan

> --------------------------------------------------------------------
> IETF IPv6 working group mailing list
> ipv6@ietf.org
> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> --------------------------------------------------------------------