Re: [Dyncast] edge capability feedback

Luigi IANNONE <luigi.iannone@huawei.com> Sat, 13 March 2021 08:38 UTC

Return-Path: <luigi.iannone@huawei.com>
X-Original-To: dyncast@ietfa.amsl.com
Delivered-To: dyncast@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B95E63A0B20 for <dyncast@ietfa.amsl.com>; Sat, 13 Mar 2021 00:38:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 uiBgt1gXLnB7 for <dyncast@ietfa.amsl.com>; Sat, 13 Mar 2021 00:38:22 -0800 (PST)
Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id ADE183A0B3F for <dyncast@ietf.org>; Sat, 13 Mar 2021 00:38:21 -0800 (PST)
Received: from fraeml705-chm.china.huawei.com (unknown [172.18.147.201]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4DyGBc3hXhz67tMK; Sat, 13 Mar 2021 16:32:08 +0800 (CST)
Received: from lhreml703-chm.china.huawei.com (10.201.108.52) by fraeml705-chm.china.huawei.com (10.206.15.54) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2106.2; Sat, 13 Mar 2021 09:38:12 +0100
Received: from lhreml737-chm.china.huawei.com (10.201.108.187) by lhreml703-chm.china.huawei.com (10.201.108.52) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2106.2; Sat, 13 Mar 2021 08:38:11 +0000
Received: from lhreml737-chm.china.huawei.com ([10.201.108.187]) by lhreml737-chm.china.huawei.com ([10.201.108.187]) with mapi id 15.01.2106.013; Sat, 13 Mar 2021 08:38:11 +0000
From: Luigi IANNONE <luigi.iannone@huawei.com>
To: Dirk Trossen <dirk.trossen@huawei.com>, Dirk Kutscher <ietf@dkutscher.net>
CC: dyncast <dyncast@ietf.org>, Joel Halpern Direct <jmh.direct@joelhalpern.com>, Carsten Bormann <cabo@tzi.org>, "Milheiro Mendes, Paulo Jorge" <paulo.mendes@airbus.com>
Thread-Topic: [Dyncast] edge capability feedback
Thread-Index: AQHXFh3mjN62IRXNL0uFoRulEIlBB6p+InaAgAFpVYKAABbvgIAAP5WAgAAUSgCAAEbIAIAAD/sAgAAeFICAAAr2gIABHsAg
Date: Sat, 13 Mar 2021 08:38:11 +0000
Message-ID: <9f5b7f65b27c46d49f7a75253b56f7de@huawei.com>
References: <20210311102435132657878@chinamobile.com> <9A6BA68B-3916-413E-BD29-62D4096DF1D3@senki.org> <00CCE76F-D3F8-49DD-8E11-29E7DBB956E1@huawei.com> <5EEEA7D8-D4E7-42AE-9D40-2DF6DF744567@chinamobile.com> <ea129e08-d5b2-5edb-a5ee-8362b12dc2b5@joelhalpern.com> <B930F50D-4A0C-4DAB-A3E5-0CD308CEB67F@tzi.org> <CAD6RcJZ-vSxzEEDBDHwwqQuMWQ9Ws=vs8j4W=cAS12m+cAMj7w@mail.gmail.com> <d85e3f5e-bbbf-757e-bd92-fac861166961@joelhalpern.com> <7dda62f741ce49cdba9892a2e7ce7077@huawei.com> <2FAAE3BE-BEC8-4534-8DFB-EC2A3FD27D24@dkutscher.net> <0423e80157724ac4975d0b987a2ce813@huawei.com>
In-Reply-To: <0423e80157724ac4975d0b987a2ce813@huawei.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.52.130.45]
Content-Type: multipart/alternative; boundary="_000_9f5b7f65b27c46d49f7a75253b56f7dehuaweicom_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/dyncast/s4RV6cRzlym8HuWTAqqqmzgit-w>
Subject: Re: [Dyncast] edge capability feedback
X-BeenThere: dyncast@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <dyncast.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dyncast>, <mailto:dyncast-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dyncast/>
List-Post: <mailto:dyncast@ietf.org>
List-Help: <mailto:dyncast-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dyncast>, <mailto:dyncast-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 13 Mar 2021 08:38:28 -0000

Hello,

Thanks Dirk K. for your feedback. I think we have more work to do in clarifying the Dyncast objectives and scope.

However, I wanted to add a couple of comments inline, but first let me cite what IMO is the key point:

The key architectural question is how get balance adding the required support to the network and avoiding application-specific knowledge in the network.

[DOT] You concisely and well summarize the key architectural question and Dyncast is exactly about this! The metric discussion is the one point where the intention is to avoid (too much) application-specific knowledge as much as possible while still allowing for reasonable support for anycast routing decisions. In what’s been discussed so far, I don’t see how application-specific knowledge (beyond binding identifiers for application instances and metrics in a form that is still being discussed) is being widely introduced into the network.
[Luigi] That is exactly the point. Dyncast is not about application-specific knowledge, it is about implementing an anycast model that allows to sending a service demand to the “most appropriate” instance of that service. Dyncast does not care “what” service is, the objective is to provide an architecture that can accommodate any type of service. Obviously we touch topic like “metrics” but it is not about which one to use. The question dyncast is trying to answer from the “metric” perspective is: how to provide a way such that instances (or another entity in their behalf) can state how much are willing to receive more demands and encode such willingness in a service agnostic way.
Dyncast does not touch  the question: “Given a Service and its instances which metrics do or are suitable to  characterize its status?” This question is application-specific and more research oriented. May be COINRG  is the place to discuss it, or may be somewhere else, but not in Dyncast. If you use Dyncast you already answered that question for your service and you want to use the infrastructure provided by Dyncast to implement it.

Other comments inline.

Ciao

L.



From: Dyncast [mailto:dyncast-bounces@ietf.org] On Behalf Of Dirk Trossen
Sent: Friday, March 12, 2021 16:07
To: Dirk Kutscher <ietf@dkutscher.net>
Cc: dyncast <dyncast@ietf.org>; Joel Halpern Direct <jmh.direct@joelhalpern.com>; Carsten Bormann <cabo@tzi.org>; Milheiro Mendes, Paulo Jorge <paulo.mendes@airbus.com>
Subject: Re: [Dyncast] edge capability feedback

Hi Dirk,

Thanks for those comments. Please see inline for comments.

Best,

Dirk

From: Dyncast [mailto:dyncast-bounces@ietf.org] On Behalf Of Dirk Kutscher
Sent: 12 March 2021 15:28
To: Dirk Trossen <dirk.trossen@huawei.com<mailto:dirk.trossen@huawei.com>>
Cc: dyncast <dyncast@ietf.org<mailto:dyncast@ietf.org>>; Joel Halpern Direct <jmh.direct@joelhalpern.com<mailto:jmh.direct@joelhalpern.com>>; Carsten Bormann <cabo@tzi.org<mailto:cabo@tzi.org>>; Milheiro Mendes, Paulo Jorge <paulo.mendes@airbus.com<mailto:paulo.mendes@airbus.com>>
Subject: Re: [Dyncast] edge capability feedback


Hi all,

I think the point that Joel is making that Dynacast, while it can be specified on paper and possibly be implemented, seems to ignore the way that 99% of all applications (including hyperscaler-driven edge) work today.

Now, that can be fine (as you say, this is for new applications), but still some of the motivation and design question are debatable:

  *   "just send": Really? It's difficult to imagine that you wouldn't setup a security context with an AR support function in the edge. For anything session-oriented, the extra RT is neglectable.
[DOT] even your session may be short and an extra RT (to what? An app server? DNS -> not just additional RT an issue?) may well be an issue for the first transaction.

  *   Metric Agent: How realistic is it that OTT services would share that info?
[DOT] we’ve only started discussion on those metrics, even to the point that those metrics may well be simple opaque values, obfuscating semantics, over an agreed action set. Even if they were ‘semantic-rich’, edge services (often done in deeper collaboration with net provider) may well share metrics, given the possible benefits from doing so in terms of performance. It is desired that those metrics are generic (as said, even to the point of being opaque values) to limit application knowledge going southbound.
[Luigi] Applications do not even need to explain the “metrics” to the network layer they just need to provide values that can be used to make a decision. It’s the essence of shortest path, you choses the shortest whether the metric expresses the number of hops, the bandwidth, or latency the algorithm does not care they are just values.

  *   D-Router: Additional per client-state, application knowledge and per-client state in the network -- not sure that's convincing
[DOT] the client state is one of the options discussed in the side meeting, but it’s not the only (and possibly not at all) way to go. Not sure what application knowledge beyond metrics (see above) you are referring to.
[Luigi] “affinity” in different forms is nothing something introduced for the first time by Dyncast. There are ways out there to deal with it. Certainly there is a scalability aspect to take care of, that is one of the reasons the D-Forwarder has been proposed. The discussion is more about what algos exists that answer the affinity requirements of Dyncast? Yes is a tough problem, but it does not mean that it cannot be solved.


IMO, the problem here is that Dynacast tries to apply a layer-3 (IP) hammer to a much bigger problem (that, today, requires a set of tools and different systems to interoperate). Now, the state of the art (OTT CDN etc.) is not ideal, for sure.

But if you think Dynacast through, you would end up with a telco-style service network -- where the telco infrastructure is heavily involved in application-relevant decision making (and would probably run the corresponding services, too) -- i.e., the opposite of what the world is converging to today.

[Luigi] I think we are mixing things here. Telcos networks do perform application-related TE, hence some efforts like APN. But it is not related to Dyncast. Dyncast is about service instance anycast, and it is a routing problem.

[DOT] I’m not seeing where you get this conclusion that dyncast would drive app/network integration. I feel that it’s strong leap from exposing additional traffic steering information to ending up in a strongly integrated telco-style service network.

I am not against discussing this (especially because there are problems in todays networks), but if you are considering a green-field approach anyway, then you wouldn't necessary start from adding application awareness to layer 3.

[DOT] We should maybe dig deeper into your understanding of application awareness here. Unlike other proposals, we are, for instance, not suggesting to stick appIDs to information being used for routing. If we had opaque metric values, little inference back to the application would be possible. In conclusion, I feel that you have an understanding of dyncast that does not match with what we intend to do.

Instead, I would think about:

  *   what are functions/services and their instances?
  *   who owns and controls them?
  *   how should service classes and service instances be named?
  *   what is the security model (this should probably be higher in the list)?
  *   How are applications actually distributed, load-balanced scaled etc.?

The key architectural question is how get balance adding the required support to the network and avoiding application-specific knowledge in the network.

[DOT] You concisely and well summarize the key architectural question and Dyncast is exactly about this! The metric discussion is the one point where the intention is to avoid (too much) application-specific knowledge as much as possible while still allowing for reasonable support for anycast routing decisions. In what’s been discussed so far, I don’t see how application-specific knowledge (beyond binding identifiers for application instances and metrics in a form that is still being discussed) is being widely introduced into the network.

Since we haven't seen answers to these questions yet, it feels premature to present Dynacast as an engineering effort -- I would expect this to be a good topic for research (and there is IRTF COINRG that is concerned with exactly this topic).

[DOT] I don’t deny that there’s a wealth of service routing questions. Some of those I raise myself in the COIN RG although I don’t see COIN specifically focused on routing questions but certainly on those around distributed, including in-network, applications. As an engineering effort, however, Dyncast is exactly aiming at improving on the existing anycast methodology by looking into a more insightful decision basis for the anycast routing decision.

BTW, even if you accept constraints from running over existing networks, there are IMO better way to map (secure) naming and smarter forwarding logic to IP (without necessarily requiring application knowledge), such as https://tools.ietf.org/html/draft-muscariello-intarea-hicn-04.

In conclusion, I really don't want to derail this work, but IMO, this requires a broader, possibly more principled approach that just adding anycast and service routing entities to an IP network -- it's more than an IP engineering problem.

Best regards,
Dirk

On 12 Mar 2021, at 13:39, Dirk Trossen wrote:

Joel,

See my response before about using a server. I am not saying you cannot use a server per se; the question is more whether or not the server is capable of providing the metric-based decision in time and efficiently - granted that efficiency may not be my concern though but given that efficiency might hit my latency budget available, I may still need to care.

As for the client state issue, the discussion in the side meeting aimed at highlighting that this is indeed a core issue since certain options to handle affinity stickiness will indeed create such client state, while solutions such as those outlined by Carsten (or option 2 for that matter) won't.

As for the involvement of the client, I am having trouble to see how we can have any solution that wouldn't involve any change at the client to start with. I'm with you on the point that I won't worry about this if the target are 'new applications' anyway.

Best,

Dirk

-----Original Message-----
From: Dyncast [mailto:dyncast-bounces@ietf.org] On Behalf Of Joel Halpern Direct
Sent: 12 March 2021 12:43
To: Milheiro Mendes, Paulo Jorge <paulo.mendes@airbus.com<mailto:paulo.mendes@airbus.com>>; Carsten Bormann <cabo@tzi.org<mailto:cabo@tzi.org>>
Cc: dyncast <dyncast@ietf.org<mailto:dyncast@ietf.org>>
Subject: Re: [Dyncast] edge capability feedback

You don't want the client to ask a server the question?
Are you planning to have these applications run without DNS?
Whether the server is actually DNS or is some other protocol that is used instead, there is no need for this problem to cause any more delay than DNS.

And saying that the server won't know the answer seems rather odd. If we design the system so that the servers get the information, then they get the information. And then can apply whatever policies, logic, calculation, etc that is needed to make the per-suer decision. In fact, since the servers can also have user poliy information if we want, they are better able than the indiivdual routers to do this kind of thing.

If we are not going to go this route, then we need to get rid of the user state requirements and recast the flow stickiness in a way that does not have forwarding routers doing flow-stateful forwarding.

Separately, if we really don't think the UE can issue the queries, then lets use an approach like LISP where we can still decouple the information from routing, and use an edge encapsulation to represent the decision.

It just seems to me that involving the UE is simpler, particularly because the problem we are trying to address is new applications, not existing ones.

Yours,
Joel

On 3/12/2021 2:29 AM, Milheiro Mendes, Paulo Jorge wrote:

I fully agree that the logistics of having a client "asking a server"
does not align with the aim of Dyncast, to the best of my understanding.
The advantage of any anycast type of solution is exactly having
clients that are agnostic of the servers that may provide an answer.
The client needs to ask the network itself. So it is up to D-routers
at the edges to get to a consensus about who should reply. Following
what Tianji said, the issue is about what are the “consensus selection criteria’
across D-routers and not numerous UEs.

Cheers

*Dr. Paulo Mendes*

Senior Scientist

Central Research and Technology, XRC

*Airbus*

---- AIRBUS AMBER ----



On Fri, Mar 12, 2021 at 7:17 AM Carsten Bormann <cabo@tzi.org
<mailto:cabo@tzi.org>> wrote:

On 12. Mar 2021, at 03:29, Joel M. Halpern <jmh@joelhalpern.com
<mailto:jmh@joelhalpern.com>> wrote:
>
> If the UE had a way to ask an informed server, there would be no
need for the UE to have a "significant amount of new logics".
> And we would not have to worry about overloading routing with
behavior and data that it does not need.  And we would naturally get
the needed stickiness.

As far as I understand dyncast, I see the following two reasons for
not simply falling back to an “ask a server” approach:

* Just-send.  See slide 35 on [1].  This assumes that saving that
round-trip is a relevant consideration for some applications.  (It
is hard to amortize the round-trip when progress (same slide) is
needed; of course the client could proactively ask at the start of
each new service period — but that creates a constant load.)
* The server may not know.  Even if the server is reached using
anycast, it may not have a way to get input from the routing system
that is knowledgeable about the specific network environment of the
client.  This becomes relevant when the “last mile” provides choices
and there is more than one edge server cluster close to the client.

It seems to me that dyncast has not previously been pursued mainly
because there weren’t that many applications that could actually
benefit from addressing these two considerations.

Grüße, Carsten

[1]
https://github.com/dyncast/ietf110/blob/main/dyncast-ietf110-side-meeting-full-deck.pdf

<https://github.com/dyncast/ietf110/blob/main/dyncast-ietf110-side-mee
ting-full-deck.pdf>

--
Dyncast mailing list
Dyncast@ietf.org<mailto:Dyncast@ietf.org> <mailto:Dyncast@ietf.org>
https://www.ietf.org/mailman/listinfo/dyncast
<https://www.ietf.org/mailman/listinfo/dyncast>

The information in this e-mail is confidential. The contents may not
be disclosed or used by anyone other than the addressee. Access to
this e-mail by anyone else is unauthorised.
If you are not the intended recipient, please notify Airbus
immediately and delete this e-mail.
Airbus cannot accept any responsibility for the accuracy or
completeness of this e-mail as it has been sent over public networks.
If you have any concerns over the content of this message or its
Accuracy or Integrity, please contact Airbus immediately.
All outgoing e-mails from Airbus are checked using regularly updated
virus scanning software but you should take whatever measures you deem
to be appropriate to ensure that this message and any attachments are
virus free.

--
Dyncast mailing list
Dyncast@ietf.org<mailto:Dyncast@ietf.org>
https://www.ietf.org/mailman/listinfo/dyncast
--
Dyncast mailing list
Dyncast@ietf.org<mailto:Dyncast@ietf.org>
https://www.ietf.org/mailman/listinfo/dyncast