Re: [netconf] Tsvart early review of draft-ietf-netconf-udp-notif-11

Mahesh Jethanandani <mjethanandani@gmail.com> Thu, 25 January 2024 02:02 UTC

Return-Path: <mjethanandani@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 11A09C151083; Wed, 24 Jan 2024 18:02:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.105
X-Spam-Level:
X-Spam-Status: No, score=-7.105 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, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=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 ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Wg3PBSvpxPIw; Wed, 24 Jan 2024 18:02:48 -0800 (PST)
Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com [IPv6:2607:f8b0:4864:20::62b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 521F8C14CEF9; Wed, 24 Jan 2024 18:02:48 -0800 (PST)
Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-1d72f71f222so26791125ad.1; Wed, 24 Jan 2024 18:02:48 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706148167; x=1706752967; darn=ietf.org; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:from:to:cc:subject:date:message-id:reply-to; bh=kSZtzyx31YSfasGWctAzYXzbv+lME4Yroo1z+kZLd34=; b=E3/B24yKeTq+xvtaoxIyU9CdrpWZMOlz56auu/JqFAu4nQpUSS3fhmoN8Fm2+Mxlop GHZYX+MwTkf6lFks4puDXMUNFmFiTHsc93LkWmIlkUw/vb/F3qiN6uiCTUCtGgKoKgec hj7OecYbxBvDd7m0CUTlS3lkPNBoerJ91qVy1qBUUxEQbohUWiuXQgpQpBuk/U1i1zY0 +d3Jv3Gt4pzetMhK7pHC8nEg5QdByC+flYU09F3bSRjnhhidVZIFRt+u4sujcco1Iish judxa6DWx2DAVGjfbhJ1eAzKsBH9yDPRDkTkKXEMNgr5YtYbZI5MX8cgcel+7BHwKsQS ya2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706148167; x=1706752967; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=kSZtzyx31YSfasGWctAzYXzbv+lME4Yroo1z+kZLd34=; b=ocW4DOSlwaFWP74ZpQAWpq8PEMnCSH8iaVWsBmwku6Xp/g5KFMpVOn+YDdPAEl613Q RXTmw8tZ/X0rZDSQtqe/+61prpyYpJbNsW77aXWAAmKtPk9yMjXRRIOdJUOcDEPM22WO ExRibsTOnjhvtQlkRwbKSNyEXSoEmpap7GdAB6BGDwKW79OL11tNMkTReewE/8qJOg0b sC5Zxvy96DzeIjB3AOHaB2etQY4eHmKvFIR6XtOrpuEGtYymzzaA3pIwdF6wJg/6gGly GJ3600L/Y7YHee931Vxzooq8rHYs+3h360OFzUNSTpivcfV4IBRpkYW10UDVUgAv+vRh ZRQw==
X-Gm-Message-State: AOJu0YyIveVFeXEks/ygqD3fandaJsBVUFlCMkOHLzvCG2inMtBgBVsh DRxATv4kLUtXhlt96zefW7NB+kPKF90Ao5VMR2Tzu+ERBPBUGzlM
X-Google-Smtp-Source: AGHT+IF3Kp8lmI8e6f0QQv8qbKzHjvASD8R/h4bNINhC/rQG6flSrnrw+ctW5zP4HEqlWu2GSRPCiQ==
X-Received: by 2002:a17:902:e541:b0:1d4:2330:85a3 with SMTP id n1-20020a170902e54100b001d4233085a3mr354825plf.20.1706148166333; Wed, 24 Jan 2024 18:02:46 -0800 (PST)
Received: from smtpclient.apple ([70.234.233.187]) by smtp.gmail.com with ESMTPSA id s4-20020a170902988400b001d7180b107fsm9563284plp.228.2024.01.24.18.02.45 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 24 Jan 2024 18:02:45 -0800 (PST)
From: Mahesh Jethanandani <mjethanandani@gmail.com>
Message-Id: <28C6863E-7F50-4A7B-8CF4-A9D297407F53@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_A6B4266D-BF65-4231-AE7F-4B4C00487FE4"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\))
Date: Wed, 24 Jan 2024 18:02:44 -0800
In-Reply-To: <C53D7281-8859-4134-B974-7EFD075B7783@insa-lyon.fr>
Cc: Michael Tüxen <tuexen@fh-muenster.de>, tsv-art@ietf.org, draft-ietf-netconf-udp-notif.all@ietf.org, netconf@ietf.org
To: Alex Huang Feng <alex.huang-feng@insa-lyon.fr>
References: <170006128089.20545.9787644071978443627@ietfa.amsl.com> <2F7D6971-8A3A-4DCA-824B-3482148FBDEF@gmail.com> <A00B77E0-2D43-4FA3-8646-85EEF5AA3204@fh-muenster.de> <0DA44491-C18A-4848-AA5B-7B4E81E6C807@gmail.com> <8F324146-3BAF-4E6B-AD70-20DB8EE812AB@fh-muenster.de> <EC62EC02-5EFF-465B-ADCE-E9CA29E3CC30@insa-lyon.fr> <1A026182-C99E-4E59-9E83-FAC92D92AAFF@gmail.com> <C53D7281-8859-4134-B974-7EFD075B7783@insa-lyon.fr>
X-Mailer: Apple Mail (2.3654.120.0.1.15)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/Ej3dZ7pcw8wXuC-RiFBncuITUko>
Subject: Re: [netconf] Tsvart early review of draft-ietf-netconf-udp-notif-11
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: Thu, 25 Jan 2024 02:02:52 -0000

Hi Alex,

The question really should be for Micheal, I was chiming in because I tended to agree with his concerns. But since you are asking ...

> On Jan 23, 2024, at 9:46 PM, Alex Huang Feng <alex.huang-feng@insa-lyon.fr> wrote:
> 
> Hi Mahesh,
> 
> See inline,
> 
>> On 23 Jan 2024, at 06:36, Mahesh Jethanandani <mjethanandani@gmail.com> wrote:
>> 
>> Hi Michael, thanks for your review.
>> 
>> Alex,
>> 
>> See inline.
>> 
>>> On Jan 21, 2024, at 11:40 PM, Alex Huang Feng <alex.huang-feng@insa-lyon.fr <mailto:alex.huang-feng@insa-lyon.fr>> wrote:
>>> 
>>> Dear Michael,
>>> 
>>> Thanks for all the comments and raised issues. 
>>> Thanks Mahesh for arranging the tsvdir review.
>>> 
>>> We have submitted a new version of the draft addressing the raised issues: 
>>> - https://datatracker.ietf.org/doc/html/draft-ietf-netconf-udp-notif-12 <https://datatracker.ietf.org/doc/html/draft-ietf-netconf-udp-notif-12>
>>> - Diff: https://author-tools.ietf.org/iddiff?url1=draft-ietf-netconf-udp-notif-11&url2=draft-ietf-netconf-udp-notif-12&difftype=--html <https://author-tools.ietf.org/iddiff?url1=draft-ietf-netconf-udp-notif-11&url2=draft-ietf-netconf-udp-notif-12&difftype=--html>
>>> 
>>> We also have some comments regarding some raised points:
>>> 
>>> * I wonder how the sender side knows, what the receiver is able to process.
>>>   It might make sense to exchange this information at the beginning of
>>>   the communication.
>>> AHF: UDP-notif is designed for “Configured Subscriptions”, meaning it is expected that the operator configures transport in the exporter node and the collector.
>> 
>> [mj] We had a similar issue brought up in HTTPS Notif draft also. I think it would be helpful to have some text that explains that the idea of UDP notif is a lightweight process that can start sending notifications without knowing too much about what the receiver is capable of. This is being done primarily to distinguish from current mechanisms where a session has to be established before the first notification can be sent. However, at the same time, the sender has to be prepared to deal with any errors that it might receive, if the receiver does not like what it is getting, and wants to push back.
> 
> AHF: Would this text help? (To be added at the end of Section 2)
> 
> "Note also that the receiver nodes can be different from the nodes managing the subscription. Therefore, publishers MAY NOT be aware of the capabilities supported by the receivers."

[mj] This text is fine, but it should specifically address the question of what happens in an error case.

> 
> Regarding managing capabilities and errors at the sender, I don’t think it should be part of UDP-notif given that:
> 1) it is the operator who configures it and therefore knows what is supported and what not in their publishers and receivers.
> 2) the receiver (collector) can be a different node/process from the management node (see https://datatracker.ietf.org/doc/html/draft-ietf-netconf-distributed-notif-08#name-solution-overview <https://datatracker.ietf.org/doc/html/draft-ietf-netconf-distributed-notif-08#name-solution-overview>). And given that it is UDP, the only options between the publisher and the receiver would be receiving or dropping the packets. I don’t expect the sender to receive feedback from the collector.
> 
> Errors should be managed at NETCONF independently from the transport, IMO.

[mj] But errors are at the transport level. How would NETCONF or the node managing the subscription be able to help?

Also, I think it a stretch to assume that all the operator would know what is supported down to the capabilities level. Worse still, how will they debug it, if the receiver does not receive the messages. Also, if there is no feedback, does it continue to send notifications regardless of whether the receiver is able to receive it?

> 
>> 
>>> 
>>> * Using the suggested protocol results in a high bandwidth using UDP based
>>>   communication. It is really suggested to use some sort of congestion
>>>   control. However, the document arguments that this is not needed, since
>>>   the protocol is used only on "managed networks" as stated in Section 5.1.
>>>   What confuses me is that in Section 6, the document discusses the use
>>>   of the protocol in "open or unsecured" networks. How does this relates
>>>   to "managed networks"? In my understanding, this does not fit. Do you
>>>   really not need some congestion controller?
>>>   I would expect to see some sort of circuit breaker, but have not seen
>>>   a description of it.
>>> AHF: We have removed “open networks” from the draft. UDP-notif is designed to be deployed in controlled environments provisioned for the purpose of monitoring, not the General Internet as defined in https://www.rfc-editor.org/rfc/rfc8085.html#section-3.6 <https://www.rfc-editor.org/rfc/rfc8085.html#section-3.6>
>> [mj] The section you cite says:
>> 
>>       The application traffic may then be managed to avoid
>>       congestion, rather than relying on built-in mechanisms, which are
>>       required when operating over the general Internet.
>> 
>> Where in document do you talk about managing congestion?
> AHF: We have section 5.1: https://datatracker.ietf.org/doc/html/draft-ietf-netconf-udp-notif-12#name-congestion-control <https://datatracker.ietf.org/doc/html/draft-ietf-netconf-udp-notif-12#name-congestion-control>
> Is this sufficient?

[mj] I am good with this, but I will let Michael comment on his original comment.

Thanks for addressing my comments.

> 
> Cheers,
> Alex
> 
>> 
>> Thanks.
>> 
>>> 
>>> * Section 4.2
>>>   What should happen if the Private Encoding Option is present, but the S-bit is
>>>   not set? What should happen if the S-bit is set, but the Private Encoding Option
>>>   is not present?
>>> AHF: The private Encoding Option is informative, the operator can configure the collector anticipating the collection of a private encoding.
>>> We have added that when S is set, the private option SHOULD be present.
>>> 
>>> Cheers,
>>> 
>>> Alex, on behalf of the authors
>>> 
>>> 
>>>> On 17 Nov 2023, at 17:52, tuexen@fh-muenster.de <mailto:tuexen@fh-muenster.de> wrote:
>>>> 
>>>>> On Nov 16, 2023, at 01:37, Mahesh Jethanandani <mjethanandani@gmail.com <mailto:mjethanandani@gmail.com>> wrote:
>>>>> 
>>>>> 
>>>>> 
>>>>>> On Nov 15, 2023, at 2:17 PM, tuexen@fh-muenster.de <mailto:tuexen@fh-muenster.de> wrote:
>>>>>> 
>>>>>>> On Nov 15, 2023, at 22:47, Mahesh Jethanandani <mjethanandani@gmail.com <mailto:mjethanandani@gmail.com>> wrote:
>>>>>>> 
>>>>>>> Hi Michael,
>>>>>>> 
>>>>>>> Thanks for your review of the document.
>>>>>>> 
>>>>>>> One of the discussions before the WG was on what the draft calls out as “segmentation”. The draft proposes this solution to deal with UDP packets that are larger than the path MTU, and will result in fragmentation at the IP level. Note, the end application requires that packets be received in sequence and be complete for the application to process. Otherwise, the packet needs to be discarded. Also to note is that there is no retransmission of the frame if the packet is discarded for any reason.
>>>>>>> 
>>>>>>> Did you have any comments from a transport perspective, on applications that run over UDP, and propose to use fragmentation (segmentation in this draft) and reassembly logic at the application level with no retransmission?
>>>>>> Hi Mahesh,
>>>>>> 
>>>>>> what user message sizes or number of fragments per user message do you expect?
>>>>> 
>>>>> The discussion was for max-size UDP message - 64K.
>>>> I updated the review. Sorry for missing to read the comment in the review request.
>>>> 
>>>> If you have further questions, please let me know.
>>>> 
>>>> Best regards
>>>> Michael
>>>>> 
>>>>> Thanks
>>>>> 
>>>>>> 
>>>>>> Best regards
>>>>>> Michael
>>>>>>> 
>>>>>>> Thanks.
>>>>>>> 
>>>>>>>> On Nov 15, 2023, at 7:14 AM, Michael Tüxen via Datatracker <noreply@ietf.org <mailto:noreply@ietf.org>> wrote:
>>>>>>>> 
>>>>>>>> Reviewer: Michael Tüxen
>>>>>>>> Review result: Not Ready
>>>>>>>> 
>>>>>>>> Major issue:
>>>>>>>> Using the suggested protocol results in a high bandwidth using UDP based
>>>>>>>> communication. It is really suggested to use some sort of congestion
>>>>>>>> control. However, the document arguments that this is not needed, since
>>>>>>>> the protocol is used only on "managed networks" as stated in Section 5.1.
>>>>>>>> What confuses me is that in Section 6, the document discusses the use
>>>>>>>> of the protocol in "open or unsecured" networks. How does this relates
>>>>>>>> to "managed networks"? In my understanding, this does not fit. Do you
>>>>>>>> really not need some congestion controller?
>>>>>>>> I would expect to see some sort of circuit breaker, but have not seen
>>>>>>>> a description of it.
>>>>>>>> 
>>>>>>>> Minor issues:
>>>>>>>> * Section 3.2
>>>>>>>> I guess all binary fields in the header shown are expected to be transmitted
>>>>>>>> and received in network byte order (big endian), but I would prefer to make
>>>>>>>> this explicit.
>>>>>>>> * Section 3.2
>>>>>>>> Is it allowed that the Message ID wraps around? It seems so, but I think it is
>>>>>>>> better to make that explicit.
>>>>>>>> * Section 4.1
>>>>>>>> The length field in the UDP header is limited to 65535 bytes, therefore the
>>>>>>>> UDP payload is limited to 65535 - 8 bytes, which is 65527 bytes. This is smaller
>>>>>>>> than stated in the first sentence. In addition to that, when using IPv4, the size
>>>>>>>> is even 20 bytes smaller, since the IPv6 header contains a 16-bit field holding
>>>>>>>> the total length of the IPv4 packet.
>>>>>>>> * Section 4.2
>>>>>>>> What should happen if the Private Encoding Option is present, but the S-bit is
>>>>>>>> not set? What should happen if the S-bit is set, but the Private Encoding Option
>>>>>>>> is not present?
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> Mahesh Jethanandani
>>>>>>> mjethanandani@gmail.com <mailto:mjethanandani@gmail.com>
>>>>> 
>>>>> 
>>>>> 
>>>>> Mahesh Jethanandani
>>>>> mjethanandani@gmail.com <mailto:mjethanandani@gmail.com>
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>> 
>>>> _______________________________________________
>>>> netconf mailing list
>>>> netconf@ietf.org <mailto:netconf@ietf.org>
>>>> https://www.ietf.org/mailman/listinfo/netconf <https://www.ietf.org/mailman/listinfo/netconf>
>> 
>> 
>> Mahesh Jethanandani
>> mjethanandani@gmail.com <mailto:mjethanandani@gmail.com>

Mahesh Jethanandani
mjethanandani@gmail.com