Re: [Teas] Network slicing framework : Issue #2 : How many connectivity matrices in a slice?

Xufeng Liu <xufeng.liu.ietf@gmail.com> Thu, 07 October 2021 19:20 UTC

Return-Path: <xufeng.liu.ietf@gmail.com>
X-Original-To: teas@ietfa.amsl.com
Delivered-To: teas@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DFECB3A0DCB for <teas@ietfa.amsl.com>; Thu, 7 Oct 2021 12:20:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 2.903
X-Spam-Level: **
X-Spam-Status: No, score=2.903 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, GB_SUMOF=5, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no 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 1tYtpa-ETGgA for <teas@ietfa.amsl.com>; Thu, 7 Oct 2021 12:19:59 -0700 (PDT)
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com [IPv6:2a00:1450:4864:20::536]) (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 7AB263A0DC9 for <teas@ietf.org>; Thu, 7 Oct 2021 12:19:59 -0700 (PDT)
Received: by mail-ed1-x536.google.com with SMTP id y12so13806727eda.4 for <teas@ietf.org>; Thu, 07 Oct 2021 12:19:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=CF+y70vch3WtYeLq4dYzzs7ps+2yzwJB0YYXtSZ1QrE=; b=qblKBLSHN5vRLjM0Z9Jh10PmUbm8jheQGL+v0n1absAjLgeG0L1fpCKWZOlUE1fIos Sov77+1Lif+L6JnaHMkSk1XsfeDmNyrMG72lOG6EZbcScxCu23bMwEKJb9UM+3HiyONb UCkVE/W9WEUeunekV5fWL4+JavsARgh4mknzrpMlTFiNq+IMY6M9UebcFwRwXvdTsUKc HfhNZryMMvHZRIpPMWg54eBREHIVXoX98KaX0utfIIQntWBXdtjPqFkxRJVXgn7ztfsA xKp93Zt8uKUKOKhELsU1lXlkAo6ZLL9OO08xQIQR2spgLGwC8NQ40+dwefu6XBTsePra NKkg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=CF+y70vch3WtYeLq4dYzzs7ps+2yzwJB0YYXtSZ1QrE=; b=u6x9Fqs72GnXK5FURSOwOJ/nrxGZOEZPrt7yiXGu6OFzyzUoLh0dRk4vz9MknhVLM2 kBuuNMHUA1j5yRc79XhNp0JQ1ezPtI0JL7ZYB514fbCuu+CMkEG/wcRL8TVz04k/VSVc qMsgx85CLUxBVsZMdYZsHrrx1C6uzniF5ZtPUGDheyg8AM18KKSwnGnObG19Si2It+kf OV+LitjWkwBijyv9AVjY8ku1OYruleBRlipUG46M4P7y0k19Uh29OTSbxB7+w09CNeQx jQgDOs+mcfHlQ7ao9pQKNX8C9SikYYmbqElexrjSPiSovISOT+RVEF5W38J0XK3g3l4k fx5Q==
X-Gm-Message-State: AOAM5310B+/BPAl3tKl8UbOF8/dpWfTFgvhkmcwQLXyTXWiBwF6E1wgd bUPpV4eoZj4M/nItYM+Fo/osJk1AZwf8e5FYiDO6rQFmazI=
X-Google-Smtp-Source: ABdhPJzLmVHy45HhiC+WXhTSdlCrfhRLJXZGYJZOJlaSiqC4jCXl7cG5iEeTgomRhgjcsL5JaRKHsGR04gheNWK2YJM=
X-Received: by 2002:a17:907:7703:: with SMTP id kw3mr7695579ejc.34.1633634397408; Thu, 07 Oct 2021 12:19:57 -0700 (PDT)
MIME-Version: 1.0
References: <050601d7b3bc$bd784b80$3868e280$@olddog.co.uk> <DM5PR1901MB21500050DC76CB9EFFEB03A9FCA89@DM5PR1901MB2150.namprd19.prod.outlook.com> <06f701d7b48c$afe17b10$0fa47130$@olddog.co.uk>
In-Reply-To: <06f701d7b48c$afe17b10$0fa47130$@olddog.co.uk>
From: Xufeng Liu <xufeng.liu.ietf@gmail.com>
Date: Thu, 07 Oct 2021 15:19:45 -0400
Message-ID: <CAEz6PPT2=D1qN+n+2RjR9NweUBnAefUBhX+XMOccoOwo+BtKVQ@mail.gmail.com>
To: Adrian Farrel <adrian@olddog.co.uk>
Cc: Tarek Saad <tsaad.net@gmail.com>, TEAS WG <teas@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000f3536b05cdc82551"
Archived-At: <https://mailarchive.ietf.org/arch/msg/teas/U1HzTYxudvmA1jl8_Z5i2_zAZwI>
Subject: Re: [Teas] Network slicing framework : Issue #2 : How many connectivity matrices in a slice?
X-BeenThere: teas@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Traffic Engineering Architecture and Signaling working group discussion list <teas.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/teas>, <mailto:teas-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/teas/>
List-Post: <mailto:teas@ietf.org>
List-Help: <mailto:teas-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/teas>, <mailto:teas-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 07 Oct 2021 19:20:04 -0000

I would like to have:
- Support of one connectivity matrix per slice is mandatory

But not have:
- Support of more than one connectivity matrix per slice is in the
architecture
  but is optional to implement

Allowing the second option would unnecessarily complicate the user
experience, without providing any additional capabilities, as commented
below in-line.

Thanks,
- Xufeng

On Tue, Sep 28, 2021 at 1:17 PM Adrian Farrel <adrian@olddog.co.uk> wrote:

> Hi Tarek,
>
>
>
> You’ve called out some good cases for consideration.
>
>
>
> >> For example, a consumer may want a slice that is ultra-low latency,
> and they may know that they want to send traffic from A to B, from A to C
> and multicast from D to A, B, and C.
>
> [TS]: I agree that creating multiple matrices (per service type) to
> address the above usecase makes sense and makes it simpler for the IETF
> slice service consumer to reference a single ultra-low latency slice.
>
>    - In such case, wouldn’t the service type (unicast/multicast) be
>    enough to differentiate what connectivity matrix the traffic would pick –
>    as opposed to requiring an additional ID (one for identifying slice, and
>    one for identifying the connectivity matrix).
>
> [AF] There are two points to consider:
>
>    - How the customer specifies the connectivity supported by the slice
>    - How the implementation identifies the connectivity matrix and places
>    traffic on the matrix
>
> So, in this case, there is no traffic flow anticipated from A to D or from
> B to C, etc. Thus, it is not good enough to specify the set of endpoints,
> it is also important to specify the connectivity between those endpoints so
> that the provider knows that there is no need to provision resources for
> connectivity that will not be used.
>
> How the connectivity is actually implemented in the network (and even how
> traffic is policed, and how SLIs are measured) is up to the
> provider/implementer. If (this may be a big if) the traffic is simply
> routed, then it would not be necessary for the provider to match traffic to
> a connectivity matrix – they would simply route it, and in this case the
> provider’s network is unaware of the connectivity matrix. On the other
> hand, if some form of connection-oriented approach is taken then while the
> traffic is simply routed/classified at the ingress endpoint, there is some
> relationship between connection matrix and reserved resources (think of
> MPLS-TE).
>
> If, in all this, there is no policing at the ingress endpoint, then
> admission control or use of resources in the transit network may need to be
> more carefully associated with the “flow” i.e. the connectivity matrix.
>
>
>
>    - Does it make sense to have two “same type” connectivity matrices
>    (for example, two p2p connectivity matrices for two connections between A
>    and B)? I can see two cases:
>       - If the two parallel connections (between A and B) have same SLOs,
>       then why not aggregate into 1 connection/connectivity matrix?
>
> [AF] I think that if they have the same SLOs and the same connectivity,
> then you would probably have them as a single matrix (summing the
> bandwidth, but keeping the latency constant, for example). But you would
> not be required to do that. Again, it might depend on policing and how you
> want to manage the SLOs. For example, two parallel connectivity matrices
> from A to B each with a required throughput of X Mbps is not the same as
> one matrix from A to B with throughput 2X – this is because A is not the
> traffic source: traffic comes from upstream of the slice endpoint and may
> originate at different applications, hosts, or sites.
>
>
>
> Again consider MPLS-TE LSPs. You might, for convenience and scalability
> tunnel two parallel LSPs down one hierarchical LSP. The capacity of the
> H-LSP is the sum of the children, but the children have their own rights!
>
>
>
> Of course, in this case, the SLOs might only be identical today. They
> might be available to change tomorrow, and in that case it is a lot easier
> to have two separate (“parallel”) matrices.
>
>
>
>    - If the two parallel connections (between A and B) have different
>       SLOs, then are they still same slice? wouldn’t it be better to just have
>       them in two different slices?
>
> [AF] This is the nub of the question. It is a multi-dimensional problem
> (because of the many SLOs) with a hierarchy of ownership. Customer à
> slice à matrix. You end up with the same number of leaves in the tree,
> but the branches are at different places. And, further, you could hang the
> SLOs at any point in the tree (for example at the matrix as currently
> proposed, or at the slice).
>
[Xufeng]: If the slices can be organized hierarchically, the original
desired behavior can be achieved:  in addition to the three separate slices
described earlier, we can have a base (underlay) slice that supports all
these three slices. The base slice can serve as a construct containing all
three connectivity matrices, without introducing additional
connectivity-matrix-id.

>
>
> A part of this debate is: suppose two connectivity matrices have 98%
> agreement on their SLOs, but one SLO is fractionally different. Does that
> require two slices?
>
>
>
> But please be aware that describing the architecture is not engineering
> the YANG model! With the current proposal, I would probably still write a
> YANG model that had default SLOs per customer, with variations per slice,
> with additional variations per matrix.
>
>
>
> And also recall that how the network protocol implementations choose to
> implement adherence to SLOs is open for discussion. If they need some form
> of indicator/index to tell them what to do, this value will be “mapped”
> from {customer, slice, matrix} and it is not important (to the
> architecture) how that mapping is performed.
>
>
>
>    - it is not clear in such case what creating two matrices “of same
>       type” is solving? Is it loadbalance, redundancy, ?
>
> [AF] It is not clear to me that anyone (except for you :-) has raised the
> case of two parallel matrices with identical SLOs.  I am not convinced that
> they would be used (although my throughput example, above) is a possible
> case. But equally important to me is the question: why would we prevent
> this when it comes for free?
>
>
>
> Cheers,
>
> Adrian
>
>
>
> *From: *Teas <teas-bounces@ietf.org> on behalf of Adrian Farrel <
> adrian@olddog.co.uk>
> *Date: *Monday, September 27, 2021 at 12:29 PM
> *To: *'TEAS WG' <teas@ietf.org>
> *Subject: *[Teas] Network slicing framework : Issue #2 : How many
> connectivity matrices in a slice?
>
> Hi,
>
> Igor raised this especially in the context of how traffic is identified
> for association with a connectivity matrix that belongs to a slice.
>
> Consider the definition of connectivity matrix in the current draft and as
> discussed in issue #1.
>
> A consumer may want multiple connectivity matrices in their "contract"
> with the provider. In the example with four edge nodes (A, B, C, D), their
> may be traffic that flows between some edges, but not between others.
>
> For example, a consumer may want a slice that is ultra-low latency, and
> they may know that they want to send traffic from A to B, from A to C and
> multicast from D to A, B, and C.
>
> It is, of course, possible to express this as three separate slices. And
> this is perfectly acceptable. We must not make any definitions that prevent
> this from being the case.
>
> However, it seems likely that the consumer (and the operator) would prefer
> to talk about "the consumer's low latency slice". That is, to bundle these
> three connections into one construct. However, they are distinctly
> different connections and must be understood as such. Indeed, they may have
> some different SLOs associated (for example, A-B may require more bandwidth
> than A-C).
>
> By allowing (but not mandating) multiple connectivity matrices in a single
> slice service, we facilitate this administrative group.
>
> One could also imagine (but I do not pre-judge the network slice service
> YANG model definition) a default set of SLOs that apply to all connectivity
> matrices in a slice, and specific modified SLOs per connectivity matrix.
>
> Now, to Igor's point. This is about how traffic arriving at an edge (say a
> PE) is mapped to the correct connection. I promised a Venn diagram, but
> words are easier 😊
>
> If we take the model of a port-based VPN, then one approach might be to
> map the (virtual or physical) port number or VLAN ID to the network slice.
> But clearly (and this was Igor's point) this doesn't identify the
> connectivity matrix if there is more than one matric per slice.
>
> A solution I offered is that the VLAN ID could identify {slice,
> connectivity matrix}. At that PE, for a given AC to a CE, it is necessary
> to expose with a separate VLAN ID for each {slice, connectivity matrix}.
> That does not mean:
> - we need a global unique identifier for each connectivity matrix
> - we need a per-PE unique identifier for each connectivity matrix
>
> I am *very* cautious about discussing potential technology solutions
> because they are just that. It is not the business of a framework to direct
> solutions work. But I provide this example solution just to show that it is
> possible.
>
> Consider also, how traffic is placed on LSPs or on SFCs. The answer is
> that there is some form of classification performed at the head end. In
> many cases, this is as simple as examination of the destination address
> (traffic is "routed" onto the LSP). In other cases there is deeper analysis
> of the 5-tuple and even other packet parameters. Often this will be enough,
> but when there are multiple "parallel" connections to the same destination,
> some form of choice must be made: how that choice is made can be configured
> in an implementation, and may include looking at additional information
> (such as a VLAN ID) passed from the consumer.
>
> Note that the identity of the connectivity matrix is not needed anywhere
> except at the ingress edge node. It may be that the connectivity matrix is
> mapped to some internal network structure (such as an LSP) and that that
> provides an implicit identification of the connectivity matrix, and it may
> be that a solution technology chooses to keep an identifier of the
> connectivity matrix with each packet, but that is not a requirement of the
> architecture.
>
> I think what I have said is:
> - Support of one connectivity matrix per slice is mandatory
> - Support of more than one connectivity matrix per slice is in the
> architecture
>   but is optional to implement
> - There are ways that a protocol solution could achieve this function
> - I have heard some voices asking for the association of multiple
> connectivity
>   matrices with a single slice
> - I have not heard anyone providing examples of harm this would cause
>
> Please discuss.
>
> Adrian
>
>
>
>
> _______________________________________________
> Teas mailing list
> Teas@ietf.org
> https://www.ietf.org/mailman/listinfo/teas
> _______________________________________________
> Teas mailing list
> Teas@ietf.org
> https://www.ietf.org/mailman/listinfo/teas
>