Re: [netconf] Issues with draft-ietf-netconf-udp-notif-04

Pierre Francois <pierre.francois.ietf@gmail.com> Wed, 17 November 2021 11:03 UTC

Return-Path: <pierre.francois.ietf@gmail.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 F309B3A0C15 for <netconf@ietfa.amsl.com>; Wed, 17 Nov 2021 03:03:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 jqgZcBe2TxTu for <netconf@ietfa.amsl.com>; Wed, 17 Nov 2021 03:03:15 -0800 (PST)
Received: from mail-yb1-xb35.google.com (mail-yb1-xb35.google.com [IPv6:2607:f8b0:4864:20::b35]) (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 033903A0C14 for <netconf@ietf.org>; Wed, 17 Nov 2021 03:03:14 -0800 (PST)
Received: by mail-yb1-xb35.google.com with SMTP id i194so6291166yba.6 for <netconf@ietf.org>; Wed, 17 Nov 2021 03:03:14 -0800 (PST)
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=UK3uo167GsnEHGbnlCYI1x+8G79JvfRwdjIfblV8qrw=; b=ossytCQ821K9FuZ17gTq2mInB67dWOZ2xJhE6bQRQyWA1347neKaLUTwYzEjPrqd1v tVKNUd3isFCjroV2fOeytPvoNafVJI+H6nCh0YzC2YYqbzMtjjGr4WPIOjnrrWwWKEAm KbHissTfx0exBbhoOIJaGYu1Idte2tfHKF0CjDo2wzem1H4yKb3RgvOiH4KlMDi/zxUh noRHv1FwJT4cEK7aM+tc7/3UsjqEb7M/TiVqF2hSNLzRF9GRe5tdgTKKCrClOqK89MUj aBA7RT0+Iy/R8qcK+jLsRgE8c6zwqyu93sn/DtWIMmluXbtZz3ntb1zqVj1LgxeoXEB4 niIw==
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=UK3uo167GsnEHGbnlCYI1x+8G79JvfRwdjIfblV8qrw=; b=BjsDX1PHjRxN2zgSygoG4x8b9PKPr2TVWM9gVQb7r3XlYDl0QXbc+weMTQ2Uemu10A IZ7LoiUUDDC5ToqmvgQpXkBOjWlPYmPJ4H3Ng8d7pozpdlYlC7YimQgM9aUxia9b4o/p Oe9thgU+rCE37K2Q44DyXrd0Supj3g5DWBn6ZRg1rfy9aVPnGqTiBcAlMuGa7I96/JA3 181GkrE3Z8D3m+3S/BWIh/2bFKIGh/HvjbEymcXQIsIZt4bz7WNdVR3qbGuYpMAxQzeS V4+FPbezZY0suNGA1Xc6rSxlVcIJBwoxJHC2mWdib5DJJ1fvw7KngngHLjZlJs5gktsv xfnA==
X-Gm-Message-State: AOAM531TZO/9BbPD9hpmmLkepwD1lEb71EC0fPob2cRUg6pf3GtXel5x PoLGZaawO3SOk/tqSPNHPsuL3/BqUgz5CJFcJ7o=
X-Google-Smtp-Source: ABdhPJxU1WjtkOVmzBsQp80Ybkf0X831jb7niVu/r5zOWwdC/4iWCpcjbpFk/uYzGkEfkPV2j8f175j2+ZyZQhbM740=
X-Received: by 2002:a25:d895:: with SMTP id p143mr15487489ybg.513.1637146993562; Wed, 17 Nov 2021 03:03:13 -0800 (PST)
MIME-Version: 1.0
References: <CABCOCHTnEh-d00ZDumUFZcwEjim3GCrgR85-+8n_g=XyEhXQbg@mail.gmail.com>
In-Reply-To: <CABCOCHTnEh-d00ZDumUFZcwEjim3GCrgR85-+8n_g=XyEhXQbg@mail.gmail.com>
From: Pierre Francois <pierre.francois.ietf@gmail.com>
Date: Wed, 17 Nov 2021 12:03:07 +0100
Message-ID: <CAFNmoOFMLSDkKb5CW2gU2mZQwWfhLs2pmuT9Qc-UNaEr1hXk6Q@mail.gmail.com>
To: Andy Bierman <andy@yumaworks.com>
Cc: Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000ff1aa205d0f9fc52"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/zuXZE_JMxoX1lPg80vwNT6xPwxY>
Subject: Re: [netconf] Issues with draft-ietf-netconf-udp-notif-04
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
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: Wed, 17 Nov 2021 11:03:20 -0000

Hello Andy,

Thanks for the feedback, answers inline.

Le mar. 16 nov. 2021 à 04:45, Andy Bierman <andy@yumaworks.com> a écrit :

> Hi,
>
> I am wondering if there implementations of this draft already.
> IMO there are problems with in that prevent reasonable and
> optimal implementations.
>

There is support of udp-notif publisher in VRP.
There is a C collector lib for udp-notif in
https://github.com/insa-unyte/udp-notif-c-collector


> 1) Use of UDP as the Application Message Framing
> UDP is a transport protocol.  Tightly coupling one
> NETCONF notification message to one UDP frame (+ fragments)
> is not very optimal.
>

There is a segmentation option in the protocol, so a udp notif message is
not tightly coupled to a UDP frame.


>
> 1A) wastes space in the UDP frame if the NETCONF notification
>     happens to be short
>

I don't get it, I'm sorry. To me a UDP header + small udp-notif header is
rather short.


> 1B) imposes an application-level max-message-size
>

Not with the segmentation option, do we agree?


>
> 2) Not Efficient for Streaming Servers (no Message Chunking)
> The application framing in NETCONF and RESTCONF (HTTP) is not
> coupled to any transport protocol. Instead, a sender may emit as
> many message chunks as desired. This is how a streaming server works.
> Content comes from many different sources and it is sent on-the-fly
> in chunks, instead of constructing large replies.
>
>     - Application framing allows multiple notifications in one UDP frame
>     - Application framing does not need a max-message-size.
>       Streaming servers often do not know the size of the data that will
> be sent
>       in a notification.
>

I think we meet these goals. Let me think about this further.


>
> Q1) Should proprietary encoding be used to support application-layer
> framing
>        or should the standard support it?
>

I think we'd need to meet on this or else it will end up with thousands of
long emails ;)


>
> 3) Protocol Message Encoding for CBOR
> The NETCONF notification message is not modelled in YANG.
> This is an open issue for YANG to CBOR encoding.
> https://github.com/core-wg/yang-cbor/issues/96
>
> The "notification" and "eventTime" elements do not have YANG definitions.
> SID assignments for these elements will be needed.
> This draft is the likely place for these SID assignment requests to
> the IESG and IANA.
>

Shouldn't these be transport agnostic? I don't see why this would be bound
to udp-notif only and not, say, https-notif.


>
> 4) Subscription-ID Missing from Header
> It is quite possible for one message generator to create
> messages for multiple subscriptions.  The subscription-ID
> will be needed to dispatch notifications to subscribers correctly.
> The Observation-Domain-ID is not sufficient.
>

Same answer as above, we understand obs-domain-id to be used in the
transport to meet load-balancing goals, but thought it would violate layers
to place subscription-IDs in the transport itself.


>
> 5) Private Encoding Option does not seem interoperable
>
The "Enc. Descr" field is completely opaque.
>

Correct.


> This field could be structured to provide the "ET number space owner"
> e.g, urn [wsp description]
>

Mmm it's a valid option. Our opinion was that once you want it
interoperable, you should make it standard instead of private.
If the wg thinks we should kinda standardize private options, I'm
personally okay to add that to the draft.


>
> Andy
>

Thanks a lot for your comments,

Pierre.

Le mar. 16 nov. 2021 à 04:45, Andy Bierman <andy@yumaworks.com> a écrit :

> Hi,
>
> I am wondering if there implementations of this draft already.
> IMO there are problems with in that prevent reasonable and
> optimal implementations.
>
> 1) Use of UDP as the Application Message Framing
> UDP is a transport protocol.  Tightly coupling one
> NETCONF notification message to one UDP frame (+ fragments)
> is not very optimal.
>
> 1A) wastes space in the UDP frame if the NETCONF notification
>     happens to be short
> 1B) imposes an application-level max-message-size
>
> 2) Not Efficient for Streaming Servers (no Message Chunking)
> The application framing in NETCONF and RESTCONF (HTTP) is not
> coupled to any transport protocol. Instead, a sender may emit as
> many message chunks as desired. This is how a streaming server works.
> Content comes from many different sources and it is sent on-the-fly
> in chunks, instead of constructing large replies.
>
>     - Application framing allows multiple notifications in one UDP frame
>     - Application framing does not need a max-message-size.
>       Streaming servers often do not know the size of the data that will
> be sent
>       in a notification.
>
> Q1) Should proprietary encoding be used to support application-layer
> framing
>        or should the standard support it?
>
> 3) Protocol Message Encoding for CBOR
> The NETCONF notification message is not modelled in YANG.
> This is an open issue for YANG to CBOR encoding.
> https://github.com/core-wg/yang-cbor/issues/96
>
> The "notification" and "eventTime" elements do not have YANG definitions.
> SID assignments for these elements will be needed.
> This draft is the likely place for these SID assignment requests to
> the IESG and IANA.
>
> 4) Subscription-ID Missing from Header
> It is quite possible for one message generator to create
> messages for multiple subscriptions.  The subscription-ID
> will be needed to dispatch notifications to subscribers correctly.
> The Observation-Domain-ID is not sufficient.
>
> 5) Private Encoding Option does not seem interoperable
> The "Enc. Descr" field is completely opaque.
> This field could be structured to provide the "ET number space owner"
> e.g, urn [wsp description]
>
>
> Andy
>
>
>
> _______________________________________________
> netconf mailing list
> netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
>