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

Alex Huang Feng <alex.huang-feng@insa-lyon.fr> Fri, 26 January 2024 06:43 UTC

Return-Path: <alex.huang-feng@insa-lyon.fr>
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 ABE56C14F714; Thu, 25 Jan 2024 22:43:12 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.528
X-Spam-Level:
X-Spam-Status: No, score=-4.528 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_HELO_IP_MISMATCH=2.368, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, T_SPF_PERMERROR=0.01, 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 2bkCaW5Rz4dR; Thu, 25 Jan 2024 22:43:08 -0800 (PST)
Received: from smtpout01-ext2.partage.renater.fr (smtpout01-ext2.partage.renater.fr [194.254.240.33]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EFC4CC14F6AF; Thu, 25 Jan 2024 22:43:03 -0800 (PST)
Received: from zmtaauth01.partage.renater.fr (zmtaauth01.partage.renater.fr [194.254.240.25]) by smtpout10.partage.renater.fr (Postfix) with ESMTP id 69A28659D7; Fri, 26 Jan 2024 07:42:56 +0100 (CET)
Received: from zmtaauth01.partage.renater.fr (localhost [127.0.0.1]) by zmtaauth01.partage.renater.fr (Postfix) with ESMTPS id 2A2EF140020; Fri, 26 Jan 2024 07:42:56 +0100 (CET)
Received: from localhost (localhost [127.0.0.1]) by zmtaauth01.partage.renater.fr (Postfix) with ESMTP id 2269314001D; Fri, 26 Jan 2024 07:42:56 +0100 (CET)
Received: from zmtaauth01.partage.renater.fr ([127.0.0.1]) by localhost (zmtaauth01.partage.renater.fr [127.0.0.1]) (amavis, port 10026) with ESMTP id U77UG_x8f7Si; Fri, 26 Jan 2024 07:42:56 +0100 (CET)
Received: from 150.100.50.80 (unknown [194.254.241.249]) by zmtaauth01.partage.renater.fr (Postfix) with ESMTPA id 4F43C1400EE; Fri, 26 Jan 2024 07:42:54 +0100 (CET)
From: Alex Huang Feng <alex.huang-feng@insa-lyon.fr>
Message-Id: <1B205157-8C35-483D-BEC1-03B12D4B8E05@insa-lyon.fr>
Content-Type: multipart/alternative; boundary="Apple-Mail=_586FE30E-BAAD-4ABA-88D8-CA346AA6505B"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\))
Date: Fri, 26 Jan 2024 15:42:42 +0900
In-Reply-To: <28C6863E-7F50-4A7B-8CF4-A9D297407F53@gmail.com>
Cc: Michael Tüxen <tuexen@fh-muenster.de>, tsv-art@ietf.org, draft-ietf-netconf-udp-notif.all@ietf.org, netconf@ietf.org
To: Mahesh Jethanandani <mjethanandani@gmail.com>
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> <28C6863E-7F50-4A7B-8CF4-A9D297407F53@gmail.com>
X-Mailer: Apple Mail (2.3731.700.6)
X-Virus-Scanned: clamav-milter 0.103.8 at clamav03
X-Virus-Status: Clean
X-Renater-Ptge-SpamState: clean
X-Renater-Ptge-SpamScore: -100
X-Renater-Ptge-SpamCause: gggruggvucftvghtrhhoucdtuddrgedvkedrvdeliedgleeiucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecutffgpfetvffgtfenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffktgggufffjgevvfhfofesrgdtmherhhdtjeenucfhrhhomheptehlvgigucfjuhgrnhhgucfhvghnghcuoegrlhgvgidrhhhurghnghdqfhgvnhhgsehinhhsrgdqlhihohhnrdhfrheqnecuggftrfgrthhtvghrnhepuddugeekfeefkeeihfehkeeihedtteeivdejfeelgeeukeejheeitdeiueefueeunecuffhomhgrihhnpehivghtfhdrohhrghdprhhftgdqvgguihhtohhrrdhorhhgnecukfhppeduleegrddvheegrddvgedurddvgeelnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepudelgedrvdehgedrvdeguddrvdegledphhgvlhhopeduhedtrddutddtrdehtddrkedtpdhmrghilhhfrhhomheptehlvgigucfjuhgrnhhgucfhvghnghcuoegrlhgvgidrhhhurghnghdqfhgvnhhgsehinhhsrgdqlhihohhnrdhfrheqpdhnsggprhgtphhtthhopeehpdhrtghpthhtohepmhhjvghthhgrnhgrnhgurghnihesghhmrghilhdrtghomhdprhgtphhtthhopehtuhgvgigvnhesfhhhqdhmuhgvnhhsthgvrhdruggvpdhrtghpthhtohepthhsvhdqrghrthesihgvthhfrdhorhhgpdhrtghpthhtohepughr rghfthdqihgvthhfqdhnvghttghonhhfqdhuughpqdhnohhtihhfrdgrlhhlsehivghtfhdrohhrghdprhgtphhtthhopehnvghttghonhhfsehivghtfhdrohhrgh
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/J8YeAHqnqIiyj-QqXdBx4nToXUw>
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: Fri, 26 Jan 2024 06:43:12 -0000

Hi Mahesh,

Thanks for the comments.

See inline,

> On 25 Jan 2024, at 11:02, Mahesh Jethanandani <mjethanandani@gmail.com> wrote:
> 
> 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 <mailto:alex.huang-feng@insa-lyon.fr>> wrote:
>> 
>> Hi Mahesh,
>> 
>> See inline,
>> 
>>> On 23 Jan 2024, at 06:36, Mahesh Jethanandani <mjethanandani@gmail.com <mailto: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
>>>> - Diff: 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.

What errors do you have in mind?
For me, in UDP, the packets can either be received by the collector or dropped. Do you see other use case we would need to address?

For such cases, there is Section 5 where we state that losses should be reported by the collector:
	"The main use case of the proposed mechanism is the collection of statistical metrics for accounting purposes, where potential loss is not a concern, but should however be reported (such as IPFIX Flow Records exported with 	UDP [RFC7011])."

> 
>> 
>> 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). 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?

The way I see UDP-notif deployed is: the operator configures transport and then checks the streamed data.
If he receives an <rpc-error>, then he needs to debug the NETCONF node (check capabilities or error messages).
If he does not see any data at the collector, he can debug the sender, the collector or/and the network. 

> 
> 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?

I would expect so. That is the trade-off of using UDP as a transport and separating management from data collection.
Yet, the operator can always use the statistics from their collectors to check if UDP-notif are being dropped and implement actions to fix their bottlenecks.

Alex

> 
>> 
>>> 
>>>> 
>>>> * 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
>>> 
>>> [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
>> 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
>>>> 
>>> 
>>> 
>>> Mahesh Jethanandani
>>> mjethanandani@gmail.com <mailto:mjethanandani@gmail.com>
> 
> Mahesh Jethanandani
> mjethanandani@gmail.com <mailto:mjethanandani@gmail.com>