Re: [Detnet] Some initial comments on draft-dt-detnet-dp-sol-00

Stewart Bryant <stewart.bryant@gmail.com> Tue, 06 June 2017 17:12 UTC

Return-Path: <stewart.bryant@gmail.com>
X-Original-To: detnet@ietfa.amsl.com
Delivered-To: detnet@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CD929128D3E; Tue, 6 Jun 2017 10:12:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.689
X-Spam-Level:
X-Spam-Status: No, score=-2.689 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, T_KAM_HTML_FONT_INVALID=0.01] 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 j3TmtLN2ceGo; Tue, 6 Jun 2017 10:12:29 -0700 (PDT)
Received: from mail-wm0-x236.google.com (mail-wm0-x236.google.com [IPv6:2a00:1450:400c:c09::236]) (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 C63CD128D69; Tue, 6 Jun 2017 10:12:28 -0700 (PDT)
Received: by mail-wm0-x236.google.com with SMTP id 7so102123324wmo.1; Tue, 06 Jun 2017 10:12:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language; bh=zrlo/+YpCnpK7gQbnY0lZCJw7c40WTkIcyoGWjxUwEw=; b=PLiobaxpBG4XwXdZXjgN8jUu38KsKuQ+oACp6T0XypM5aSDfxVv043So7OJi6p4emh GixGmtORI3J/PZmsodJfkcp+YWSQvTXMh4T8uu2sUQ3rGhP4ayF/9sBi+lvwajUrVmQL /M5voALa8kR1HClhJdQtafM7b+VwPMvCRCrTGkrmT45iryf4GjfDMz24a0sv93pNrALR a1MWncUF7CwqwNki68PHvT1IZt6Q2OQPXNBEIlX6+h61jfb6Hzbh2L+c3q8AeMp5d+iY iCNhEE4Ox906tEPMyIFFQf/RA76zT8jinmBjrrGNQXQOA+/dfBXqk9Ya4MxDWm4kcb1M KUaw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=zrlo/+YpCnpK7gQbnY0lZCJw7c40WTkIcyoGWjxUwEw=; b=h0AMMcgIN6oKR9Mgw3yn+TVvu/TzsFpl0GzZz6T5hJhQX4DwdJvFcWjaXshU2ve/c8 WKP3ta0jQUnl2Kju6dR1mnJls/fHXQ0ohy+r4zVeBZNqgLuJk9JrQK4NNO2kTVn214YW lxbxXzWBeMYBgoMbMrdA9++HXEnSoOpKfg6PrY9g0uNmvIpiJQMMXpne7IIZN/Jbuoan oNoQ8PCxFCI1keDdsmeS7aggqlyWNDURpjHlZzTYX8j9ovXLHf4KlTOWm2BXJnkjqce4 wCt/iBG4PtgaDpQWm6SIShnJjxC05C/MSIDW3fYLxuYtzS6FUuliMTnkQkVvKBIFw+wc Ivvg==
X-Gm-Message-State: AODbwcDw0SbpsZXCXRv6KEbirR0xlmMtuThpOBXJ1hzuU4Fz2IU2bNdW 2Ko9rC9JynbBZX07/z8=
X-Received: by 10.28.59.212 with SMTP id i203mr11753197wma.14.1496769146912; Tue, 06 Jun 2017 10:12:26 -0700 (PDT)
Received: from [192.168.2.126] (host213-123-124-182.in-addr.btopenworld.com. [213.123.124.182]) by smtp.gmail.com with ESMTPSA id 97sm29390410wrc.5.2017.06.06.10.12.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 06 Jun 2017 10:12:26 -0700 (PDT)
To: Balázs Varga A <balazs.a.varga@ericsson.com>, "draft-dt-detnet-dp-sol@ietf.org" <draft-dt-detnet-dp-sol@ietf.org>, "detnet@ietf.org" <detnet@ietf.org>
References: <abacca1f-a8a1-10f4-101f-f3ef08990d3f@gmail.com> <AMXPR07MB117C587758F3AE9915AC5CDACCB0@AMXPR07MB117.eurprd07.prod.outlook.com>
From: Stewart Bryant <stewart.bryant@gmail.com>
Message-ID: <cbb30ed4-8636-6dde-7214-3b924352007a@gmail.com>
Date: Tue, 06 Jun 2017 18:12:23 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1
MIME-Version: 1.0
In-Reply-To: <AMXPR07MB117C587758F3AE9915AC5CDACCB0@AMXPR07MB117.eurprd07.prod.outlook.com>
Content-Type: multipart/alternative; boundary="------------BD8409F4BCCFE907C4855660"
Content-Language: en-GB
Archived-At: <https://mailarchive.ietf.org/arch/msg/detnet/JxqZf6JFFmGSpHyFHOKBPbu4DYg>
Subject: Re: [Detnet] Some initial comments on draft-dt-detnet-dp-sol-00
X-BeenThere: detnet@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Discussions on Deterministic Networking BoF and Proposed WG <detnet.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/detnet>, <mailto:detnet-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/detnet/>
List-Post: <mailto:detnet@ietf.org>
List-Help: <mailto:detnet-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/detnet>, <mailto:detnet-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Jun 2017 17:12:33 -0000


On 06/06/2017 17:50, Balázs Varga A wrote:
>
> Hi Stewart,
>
> Thanks for the detailed review.
>
> Based on several good comments in the Chicago meeting we have started 
> to update the draft.
>
> The major changes are:
>
> 1, changing encapsulation
>
> - PW-based encapsulation: The PW-based data plane can be run over an 
> MPLS PSN.
>
> - Native-IP encapsulation: This solution is based on IP header fields, 
> namely on IPv6 Flow label
>
> and a new DetNet Control Word extension header option. It is targeted 
> for native IPv6 networks.
>

It seems a shame that it needs to be different from the MPLS design. I 
was pointing out that
PW (MPLS format) over IP had not been deployed. That does not make it not a
nice design.

> 2, PW-label specific requirement is simplified (regarding uniqueness):
>
> - DetNet flows that need to undergo PREF processing MUST have the same 
> PW Label when
>
> they arrive at the DA-*-PE node.
>

That aligns with how PWs work.

> We have also identified that sequence numbering related functions may 
> be challenging, however
>
> it is a must for the PREF (Packet Replication and Elimination 
> Function) implementation. PREF provides
>
> per packet level redundancy and not the so far defined per-PW-segment 
> redundancy.
>

I think we need to draw up some use cases to understand what constraints 
we may need
to add in to make this at all feasible.

> Similarly, your concerns on constraining DetNet packets to a path and 
> an interface in a pure IP network,
>
> is absolutely a candidate topic for further improvements.
>

The obvious solution is IP SR, but it needs to be a much lighterweight 
solution than the
solution we have on the table for V6 with one IPv6 address per specified 
hop along the
path.

Another way is to modify the routing protocol to constrain the path. We 
did that
in not-via, and could make constrain repair paths to avoid a failure, 
and could get
this to work in both link state and dv routing protocols. However we 
need the opposite.

Then I suppose RSVP was originally designed to do what you need. So I 
suppose
we could your RSVP to add explicit IP routing paths to the network.

Interesting problem.

> I will be back soon with further feedback regarding your detailed notes.
>

Well that was only a first pass, but it was somewhere to start.

BR

Stewart

> Thanks & Cheers
>
> Bala’zs
>
> *From:*Stewart Bryant [mailto:stewart.bryant@gmail.com]
> *Sent:* 2017. június 5. 22:02
> *To:* draft-dt-detnet-dp-sol@ietf.org; detnet@ietf.org
> *Subject:* Some initial comments on draft-dt-detnet-dp-sol-00
>
> I took an initial look at the detnet dp document.
> I think that PWs are certainly a good way to go, but I am concerned
> about a number of aspects of the proposal.
> My biggest concern is doing the sequence number checking. There have
> not been many attempts to do this, and from work that we have done in
> the OAM space all the feedback I get is that this is a hard problem.
> It might be useful if you constrained the packets to a path and an
> interface using MPLS-TP or MPLS-TE, however I don't see a practical
> way to do that in a pure IP network. You could of course do it
> with SR, but that is v6 only, and the packets could potentially need
> a very large SR header.
> Please see the notes inline.
> -Stewart
>   
>     The PW-based data plane can be run over either an IP
>     or MPLS [RFC4448][RFC6658] Packet Switched Network (PSN).
> SB> I comment on this in detail later
> ============
> 5.1.  DetNet Control Word
>     The DetNet control word (d-CW) is identical to the control word
>     defined for Ethernet over MPLS networks in [RFC4448].  The DetNet
>     control word is illustrated in Figure 4.
>        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
>       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>       |0 0 0 0|  reserved - set to 0  |   16 bit Sequence Number      |
>       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>                         Figure 4: DetNet Control Word
>     [Editor's note: Shoudl we care about high speed links, here 16 bits
>     of sequence number wraps fast?  For example, in a case of 100Gb/s
>     link, 16 bits of sequence number will wrap in ~6.6ms assuming 1250
>     octets of packets and ~3.3ms for 625 octets packets.  Both numbers
>     mean quite long fiber distances, though.]
> SB> This worries me. Doing read modify write on the sequence number is
> SB> difficult in the general case, particularly without path constraint
> SB> since a packet can arrive on any interface, and this interface can
> SB> change.
> SB>
> SB> Are you thinking that there will be so few DN PWs that you can
> SB> put the counters in registers? That might fly at the T-PEs, but
> SB> I would be worried at the S-PEs.
> SB>
> SB> BTW shouldn't you consider much smaller packets, or do you imagine
> SB> that DN will be constrained to applications using large packets.
> ===========
> 5.3.  DetNet encapsulation
>     The DetNet data plane follows PW encapsulation.  This document
>     specifies a single encapsulation that can be used over both MPLS and
>     IP packet switched Networks (PSN).  The DetNet data plane
>     encapsulation consists of a
>     o  DetNet control word (d-CW): contains sequencing information for
>        packet replication and duplicate elimination purposes.  There is a
>        separate sequence number space per each DetNet label.
> SB> Do you mean per DetNet flow ID, or per PW label?
>   
>   o  DetNet flow-ID (f-ID): uniquely identifies a DetNet flow within a
>        DetNet network.  Multiple DetNet PWs with different PW labels may
>        have the same f-ID, which then implies the PWs are actually
>        subflows of one compound flow.
> SB> I am not sure I understand the definition of a DetNet network yet.
> SB> I presume that it is Fig 5 from the architecture draft, which
> SB> is a tunnel between two service instances.
> SB> However I am having difficulty understanding the scope of the
> SB> uniqueness. It sounds as if it needs to be unique between a
> SB> pair of service instances is that the case, or does the
> SB> uniqueness have greater scope?
> SB> PWs are not subflows, they are "A mechanism that carries the
> SB> essential elements of an emulated service from one PE to one or
> SB> more other PEs over a PSN."
>   o  PseudoWire Label (PW Label;): a standard PW label that identifies
>        a PW Instance within a (DA-)T-PE or (DA-)S-PE device.
> SB> Just so we are all clear the PW label changes at S-PEs
> ===========
>   o  DetNet topology overlay label (L-label): an optional label used
>        between (DA-)T-PE or (DA-)S-PE nodes.  The main use of L-labels is
>        to tunnel PWs through a PE node and therefore effectively making a
>        PE node to behave like a P node.
> SB> This needs more thought. The reason that S-PEs were created
> SB> was to minimise the burden of running PWs between different
> SB> administrative domains. To make this feasible it was necessary
> SB> for the T-PEs to allocate their own PW label and have the
> SB> S-PEs swap, that way only the boundary nodes (S-PEs) needed
> SB> be worried about the mapping between the PE identity and the
> SB> PW label in the data-plane.
> SB> If a data-plane identifier is used, then we don't really need
> SB> S-PEs as such. So I think that we have to define the new
> SB> purpose of the S-PE more clearly when they are used for Detnet.
>   In a case of MPLS-based PSN, the tunnel labels between LSRs are
>     referred as T-labels.
> SB> I think that they are really LSP labels.
>   The DetNet CW and the Detnet flow-ID together constitute the DetNet
>     PseudoWire encapsulation header.
>        [Editor's note: The current design has the DetNet flow-ID as part
>        of the every DetNet flow packet.  The flow-ID identifies the flow
>        uniquely within the DetNet network and together with the sequence
>        number information from the DetNet control word is used for PREF
>        purposes.  The flow-ID makes is easy for the DA-*-PE node to
>        associate different PWs into one compound flow and perform the
>        elimination of duplicate packets.
> SB> I am not sure this is needed. The DA-*-PE knows the relationship
> SB> between the PW labels and can make the decision based on that.
>        The flow-ID would point at the
>        node internal construct that holds the received packet history for
> Korhonen, et al.       Expires September 14, 2017               [Page 8]
> Internet-Draft         DetNet data plane solution             March 2017
>        each DetNet flow of interest.  However, it could also be possible
>        to associate multiple PWs into one DetNet flow just using the
>        control plane provided information.  In this case different PWs
>        (using any PW label) would be mapped internally within a node to a
>        local-ID (or similar construct), which again points at the
>        internal per DetNet flow received packets history construct.
> SB> I think you have to do this anyway
>        The
>        explicit in-band flow-ID is easy from the processing and control
>        plane point of view.
> SB> Isn't this a bigger change to the forwarder? What normally
> SB> happens is you vector to the instructions and context using
> SB> the PW label as the identifier. So I think the flow-ID just adds
> SB> complexity. Given that it needs to be unique and known at
> SB> each PW node on the path, I do not see what has been gained in
> SB> terms of reduction in control plane activity.
>        The local-ID approach does not need the in-
>        band information (thus has less overhead) but requires more from
>        the control plane and the mapping information has to be stored
>        into the LFIB.  Current design decision is the in-band flow-ID but
>        may be changed to local-ID if there is a strong reason to do the
>        change.]
>     Figure 6 illustrates a DetNet PseudoWire encapsulation using an MPLS
>     PSN.  Similarly, Figure 7 illustrates the DetNet PseudoWire
>     encapsulation when IP PSN is used.  The encapsulation is uniform
>     above the PSN.
>     Depending on the network topology the "overlay label" (L-label) may
>     be part of the label stack.  The L-label tunnels guarantee PW labels
>     remain unchanged between DA-*-PE nodes.
> SB> Please see earlier
>     Furthermore, L-labels
>     tunnels allow selectively exposing the PW label to DA-*-PE nodes,
>     which means some overlay topologies may just pass through specific
>     DA-S-PEs without any DetNet specific processing.
> SB> They can do this anyway. At an SPE we normally just swap the
> SB> PW label, and other than for OAM reasons (trapped by TTL expiry)
> SB> we do no processing. So if you do not teach an SPE that the PW
> SB> is to be processed, it will just pass through.
> SB>
> SB> I think that you need to look seriously at deleting this component
> SB> of your design and building something much closer to a normal
> SB> PW design.
> ===============
>     When IP PSN is used, the label stack it transports is only inspected
>     when the IP packet destination address equals to the IP address of a
>     DA-*-PE or a P node.  Essentially there are one more IP tunnels
>     between a number of DA-*-PE and/or P nodes.  The LFIB and the
>     forwarding information base (FIB) combination determines whether a PW
>     gets terminated at the node or forwarded to another node within a new
>     IP tunnel.
> SB> So, setting aside for the moment the work that we are doing on
> SB> unifying SRv6 and MPLS SR, work which as yet has no official status
> SB> you should understand that there really is no deployment of
> SB> MPLS-PW over IP. All of the deployed PWs are either pure PW over
> SB> MPLS, or LT2Pv3. L2TPv3 has no concept of an S-PE.
> SB>
> SB> Now I think the unified approach is the right one, but so far
> SB> there are no real specifications.
> SB>
> SB> Also you need to think about whether you want ECMP or not, because
> SB> if you do you really do need the interstitial UDP layer (RFC7510)
> SB> shown below.
> ==============
> 6.1.  Forwarded clarifications
>     [Editor's note: The Detnet-aware "extended forwarder" does the heavy
>     lifting on maintaining the sequence numbers associated with the
>     DetNet labels.  Extended forwarder is also responsible for packet
>     replication and duplicate elimination.  See the excerpt from RFC3985
>     Section 4.2.1. about forwarder's functions.  We extend that to PREF:
>        Some applications have to forward payload elements selectively
>        from one or more ACs to one or more PWs.  In such cases, there
>        will also be a need to perform the inverse function on PWE3-PDUs
>        received by a PE from the PSN.  This is the function of the
>        forwarder.
>     ]
> SB> But note that forwarder function only appears in the T-PE, we
> SB> never included it in the S-PE which can be better thought of
> SB> as a two layer MPLS switch - it's not how it works although
> SB> a modern two label lookup MPLS system could do it like that
> SB> but all that happens in an SPE is that you swap two labels
> SB> simultaneously - the LSP label and the PW label.
>      The DetNet specific new functionality in a DA-*-PE PW processing is
>     the packet replication and duplication elimination function (PREF).
>     This functional is a part of the "extended" forwarder.  The PREF
>     processing is triggered by the LFIB actions i.e., not all PWs receive
> Korhonen, et al.       Expires September 14, 2017              [Page 11]
> Internet-Draft         DetNet data plane solution             March 2017
>     DetNet specific processing.  Basically the LFIB has to be extended
>     with a "PREF enabled" boolean configuration switch that is associated
>     with the normal label actions (e.g., swap, push, pop, ..).  The
>     output of the PREF elimination function is always a single packet.
>     The output of the PREF replication function is always one or more
>     packet (i.e., 1:M replication).  The replicated packets MUST share
>     the same DetNet PW control word sequence number and flow identity
>     word flow-id.
>     The complex part of the DetNet PREF processing is tracking the
>     history of received packets for multiple PWs.  These PWs do not have
>     the same PW label value while they still share the same PW sequence
>     number counter and the history information.  That is where the DetNet
>     encapsulation header flow-ID plays an important role and binds the
>     control word sequence number to the flow specific shared counter and
>     history information within the PREF function.
> SB> That is certainly one way of doing it, although given that you need
> SB> to provision the PW anyway, I an not sure it is needed.
>     The DetNet flow word contains a D flag bit (see Section 5.2), which
>     makes the DA-*-PE node aware of the direction the flow-ID arrived
>     from.  If the node, based on the local policy, checks for the D bit
>     setting that effectively means the sequence number history has to
>     contain also the D bit information.
> SB> I am really not sure why you need the D bit a PW received on a given PW
> SB> label only goes one way.
>   ==============
> 7.  Other DetNet considerations
> 7.1.  Class of Service
>     [Editor's note: Discuss the CoS.. and how that is archived when using
>     MPLS or IP PSN.]
> SB> Don't all your packets need to go on the highest class of service?
> ===========
> 7.3.  Time synchronization
>     o  PTP with on-path support: in this approach PTP packets are sent as
>        DetNet flows, and intermediate nodes take part in the protocol as
>        Transparent Clocks or Boundary Clocks [IEEE1588].  The on-path PTP
>        support by intermediate nodes provides a higher degree of accuracy
>        than the previous approach.  The actual accuracy depends on
>        whether all intermediate nodes are PTP-capable, or only a subset
>        of them.
> SB> RFC8169 shows how to do TC in an MPLS network.
> SB> I am not sure anyone knows how to do this in an IP network.
> ===========
> 7.4.  Bidirectional traffic
>     Some DetNet applications generate bidirectional traffic and may
>     require symmetric flows.  There are already mechanisms that can be
>     used to create bidirectional tunnels at the transport network level,
>     such as MPLS-TP.  The data plane solution SHOULD allow establishing
>     bidirectional symmetric flows.  Control plane mechanisms would need
>     to also support this, though this is out of scope of this document.
>     [Summary of existing mechanisms to create bidirectional tunnels that
>     can be used.]
> SB> PWs are always bidirectional of course.
>   
>   8.1.  PW Label assignment and distribution
>     The PW label distribution follows the same mechanisms specified for
>     MS-PW [RFC6073].
> SB> This will need extensions to support DETNET