Re: [netconf] draft-ietf-netconf-udp-notif-10

Tianran Zhou <zhoutianran@huawei.com> Sun, 06 August 2023 02:46 UTC

Return-Path: <zhoutianran@huawei.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7CC43C151098 for <netconf@ietfa.amsl.com>; Sat, 5 Aug 2023 19:46:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.903
X-Spam-Level:
X-Spam-Status: No, score=-1.903 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zpshpTXLOjSi for <netconf@ietfa.amsl.com>; Sat, 5 Aug 2023 19:46:19 -0700 (PDT)
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 E92ACC14CE2F for <netconf@ietf.org>; Sat, 5 Aug 2023 19:46:18 -0700 (PDT)
Received: from lhrpeml100001.china.huawei.com (unknown [172.18.147.200]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4RJNyv4X61z67JVD for <netconf@ietf.org>; Sun, 6 Aug 2023 10:42:31 +0800 (CST)
Received: from kwepemi100012.china.huawei.com (7.221.188.202) by lhrpeml100001.china.huawei.com (7.191.160.183) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Sun, 6 Aug 2023 03:46:15 +0100
Received: from kwepemi500012.china.huawei.com (7.221.188.12) by kwepemi100012.china.huawei.com (7.221.188.202) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Sun, 6 Aug 2023 10:46:13 +0800
Received: from kwepemi500012.china.huawei.com ([7.221.188.12]) by kwepemi500012.china.huawei.com ([7.221.188.12]) with mapi id 15.01.2507.027; Sun, 6 Aug 2023 10:46:13 +0800
From: Tianran Zhou <zhoutianran@huawei.com>
To: Andy Bierman <andy@yumaworks.com>, Jürgen Schönwälder <jschoenwaelder@constructor.university>, netconf <netconf@ietf.org>
Thread-Topic: [netconf] draft-ietf-netconf-udp-notif-10
Thread-Index: AdnID6JDyN+yiW36c02ia/XEL5h3yQ==
Date: Sun, 06 Aug 2023 02:46:13 +0000
Message-ID: <975b25f158a34fe2b61e017fce0fc2fb@huawei.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.45.199.28]
Content-Type: multipart/alternative; boundary="_000_975b25f158a34fe2b61e017fce0fc2fbhuaweicom_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/7uVspbE1h6aYuJN4csAMJJetH8U>
Subject: Re: [netconf] draft-ietf-netconf-udp-notif-10
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: NETCONF WG list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 06 Aug 2023 02:46:23 -0000

Hi Andy,

Thanks for your thoughts. I really agree with you.

>Perhaps the scope of the draft should be narrowed so it is only intended to
YANG Push or server events that do not need reliable delivery.

Yes, this is our initial thoughts. I think we can clarify it explicitly in the document.

Cheers,
Tianran


发件人: Andy Bierman <andy@yumaworks.com>
发送时间: 2023年8月5日 23:44
收件人: Jürgen Schönwälder <jschoenwaelder@constructor.university>; Tianran Zhou <zhoutianran@huawei.com>; netconf <netconf@ietf.org>
主题: Re: [netconf] draft-ietf-netconf-udp-notif-10



On Sat, Aug 5, 2023 at 2:49 AM Jürgen Schönwälder <jschoenwaelder@constructor.university<mailto:jschoenwaelder@constructor.university>> wrote:
The abstract says:

   The objective is to provide a lightweight approach to enable higher
   frequency and less performance impact on publisher and receiver
   processes compared to already established notification mechanisms.

It is not clear what 'performance impact' means here. Anyway, is there
a proof that this design accomplishes the objective and how much is
the gain over a transport that does segmentation properly, e.g., TCP?
If you worry about CPU efficiency, the first things to consider is
likely using a binary encoding. Or is the argument that linecards
still can't do TCP in 2023 and 'performce' means code size on
linecards, saving TCP but instead implementing ad-hoc fragmentations
in application-layer transports?

The big question: Is it OK to accept non-reliability for the notifications?
It depends on the notification content.

Configured subscriptions using UDP allow "SNMP style" collectors:
- This is a very real advantage over dynamic subscriptions.
- This is easier to implement with UDP than TCP.
- This avoids CallHome issues since no need for the collector to connect to the publisher at all

IMO the old SNMP design of needing to know the MTU and needing to hand-craft TRAPs
that fit within the MTU is truly awful, and now that we have streaming servers that rely
on chunking in the application protocol, we should not go backwards.

The UDP draft design supports a streaming server (the 'L' bit in sec. 4.1).
It is easy to identify the last buffer being sent.

The number of segments is likely to be 1 - 5 for a given push update report.
There are times when a full report is sent and this could be a lot of segments.
These are also the exact updates that the application cannot really ignore if lost.

The UDP draft is designed for hand-crafted, small 'push updates'.
However the scope is for all notifications, not just push updates.
In general, notification events are the least likely to be OK to ignore if lost.

Perhaps the scope of the draft should be narrowed so it is only intended to
YANG Push or server events that do not need reliable delivery.






UDP works great for small self-contained messages (and with small I
mean something up to the size of a typical MTU). For everything
requiring larger messages, you will have to invent a fragmentation and
reassembly logic that may at the end be in the same ballpark as a
light-weight TCP implementation.

Has this work ever been received review by transport area people?

To answer your question, there likely should be a 'do not use this'
recommendation unless you have full control of all components involved
(i.e., inside a box where the frontend NC/RC agent can ensure that
requests from the outside are mapped to internal communication flows
that stay within the operational limits of this transport).

/js


Andy

On Sat, Aug 05, 2023 at 09:21:45AM +0000, Tianran Zhou wrote:
> Hi Juergen,
>
> What’s your suggestion here?
> How about describing this as operational considerations?
>
> Cheers,
> Tianran
>
>
>
> ________________________________
>
> Sent from WeLink
> 发件人: Jürgen Schönwälder<jschoenwaelder@constructor.university<mailto:jschoenwaelder@constructor.university<mailto:jschoenwaelder@constructor.university>>>
> 收件人: Tianran Zhou<zhoutianran@huawei.com<mailto:zhoutianran@huawei.com><mailto:zhoutianran@huawei.com<mailto:zhoutianran@huawei.com>>>
> 抄送: Tschofenig, Hannes<hannes.tschofenig@siemens.com<mailto:hannes.tschofenig@siemens.com><mailto:hannes.tschofenig@siemens.com<mailto:hannes.tschofenig@siemens.com>>>;netconf<netconf@ietf.org<mailto:netconf@ietf.org><mailto:netconf@ietf.org<mailto:netconf@ietf.org>>>
> 主题: Re: [netconf] draft-ietf-netconf-udp-notif-10
> 时间: 2023-08-05 14:49:42
>
> On Sat, Aug 05, 2023 at 06:26:50AM +0000, Tianran Zhou wrote:
> >
> > Of course, with so many fragments the probability of discarding the entire message due to the lost of one or more UDP packets is large even if the probability of loss of an individual datagram is very small. I hope you are not going to need so many fragments in a practical application.
> >
> > ZTR> I understand your point. I agree in a practical application, too large msg should not be encouraged. But the size of the message is requested by the users. Fragmentation will not introduce more loss itself. It just provide the possibility that user can request larger message.
> >
>
> If the probability of loosing a UDP datagram is 0.1% and you need
> 100 UDP datagrams to send a larger NETCONF message, then the loss
> probability for the NETCONF message is close to 10%. Yes, your
> fragmentation scheme does not change the loss probability of UDP
> datagrams but the fact that all datagrams need to arrive correctly
> in order to deliver the NETCONF message causes the loss probability
> of NETCONF messages to go up quickly as the number of fragments
> increases. The question is whether 'the requesting users' (who is
> that?) can be assumed to understand the details and that there is
> somewhere (internal?) a UDP transport involved that has possible
> message size sclability problems.
>
> /js
>
> --
> Jürgen Schönwälder              Constructor University Bremen gGmbH
> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> Fax:   +49 421 200 3103         <https://constructor.university/>
>

--
Jürgen Schönwälder              Constructor University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <https://constructor.university/>

_______________________________________________
netconf mailing list
netconf@ietf.org<mailto:netconf@ietf.org>
https://www.ietf.org/mailman/listinfo/netconf