Subject: Re: [core] WG Last Call on draft-ietf-core-new-block (Congestion Control)

From: <[email-masked]>
Date: Wed, 23 Dec 2020 09:14:09 +0000

Re-,

You are completely right that the default probing-rate is to be increased for the DOTS case. FYI, this is why we went with the following in RFC8782:

      |  Given that the size of the heartbeat request cannot exceed
      |  ('heartbeat-interval' * 'probing-rate') bytes, 'probing-rate'
      |  should be set appropriately to avoid slowing down heartbeat
      |  exchanges.  For example, 'probing-rate' may be set to 2 *
      |  ("size of encrypted DOTS heartbeat request"/'heartbeat-
      |  interval') or (("size of encrypted DOTS heartbeat request" +
      |  "average size of an encrypted mitigation request")/'heartbeat-
      |  interval').  Absent any explicit configuration or inability to
      |  dynamically adjust 'probing-rate' values (Section 4.8.1 of
      |  [RFC7252]), DOTS agents use 5 bytes/second as a default
      |  'probing-rate' value.

We also allow DOTS peers to negotiate the transmission parameters (and probing rate) with the following as default: 

   "The RECOMMENDED values of
   transmission parameter values are 'ack-timeout' (2 seconds), 'max-
   retransmit' (3), and 'ack-random-factor' (1.5).  In addition to those
   parameters, the RECOMMENDED specific DOTS transmission parameter
   values are 'heartbeat-interval' (30 seconds) and 'missing-hb-allowed'
   (15)."

We avoided to include a pointer to these details as these are application-specific and that, even if the draft is motivated by the DOTS use case, other applications can make use of the new block functionality. 

For NSTART, we already have the following: 

  " NSTART will also need to be increased from the default
   (1) to get faster transmission rates."

Cheers,
Med

> -----Message d'origine-----
> De : Christian Amsüss [mailto:[email-masked]]
> Envoyé : mercredi 23 décembre 2020 06:01
> À : [email-masked]
> Cc : [email-masked] WG ([email-masked]) <[email-masked]>; [email-masked]
> Objet : Re: [core] WG Last Call on draft-ietf-core-new-block
> 
> * Also on parameters: This document is describing flow control stuff
>   around a situation CoAP was not originally designed for. Wouldn't
> it
>   make sense to include a set of parameters (PROBING_RATE,
> MAX_LATENCY,
>   ACK_TIMEOUT) that's suitable for the DOTS use case? I doubt that
>   PROBING_RATE will be left to 1 byte/second for any DOTS
> application
>   using this (for sending 10KiB in the initial 10-package
> MAX_PAYLOADS
>   burst would mark that connection as unusable for about 3 hours if
> they
>   all get lost), so better give justifiable numbers here than rely
> on
>   implemnetors to come up with unreviewed numbers or disregard
>   PROBING_RATE altogether.
> 
>   I don't know if it needs additional justification, but an
> increased
>   N_START may be justifiable there.
> 

_________________________________________________________________________________________________________________________

Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.

---

From: Christian Amsüss <[email-masked]>
Date: Wed, 23 Dec 2020 11:39:25 +0100

Hello,

On Wed, Dec 23, 2020 at 09:14:09AM +0000, [email-masked] wrote:
> You are completely right that the default probing-rate is to be
> increased for the DOTS case. FYI, this is why we went with the
> following in RFC8782:
>
> We avoided to include a pointer to these details as these are
> application-specific and that, even if the draft is motivated by the
> DOTS use case, other applications can make use of the new block
> functionality. 

At least a one-line reference into there would be helpful when reading
the congestion control section. It can be phrased as an example ("For
the particular use case of DOTS, these parameters are negotiated; even
when not negotiated, that application uses altered defaults as in
[ref-into-dots]") to avoid the impression of general applicability, but
some example *should* be given, for without changed parameters the
Q-Block mechanism is useless (3 hour wait if all 10 initial messages are
lost).

>   "NSTART will also need to be increased from the default

It would enhance readability if that were mentioned in the congestion
control section.

It may help to draw the parallel to the MAX_PAYLOADS of the
non-confirmable case, or to talk more about the hybrid transmission
(CON only after some blocks; does that have a name? see also comment
around "seems to imply that the full exchange").

Does DOTS have an altered default here? Without having *anything* about
non-1 NSTART, the all-CON case may not even be worth having in an
example, as there's nothing even referenced where it could make sense.

Best regards
Christian

-- 
To use raw power is to make yourself infinitely vulnerable to greater powers.
  -- Bene Gesserit axiom

---

From: <[email-masked]>
Date: Wed, 23 Dec 2020 14:27:22 +0000

Re-,

Please see inline.

Cheers,
Med

> Envoyé : mercredi 23 décembre 2020 11:39
> À : BOUCADAIR Mohamed TGI/OLN <[email-masked]>
> Cc : [email-masked]; [email-masked] WG
> ([email-masked]) <[email-masked]>; [email-masked]
> (Congestion Control)
> At least a one-line reference into there would be helpful when
> reading the congestion control section. It can be phrased as an
> example ("For the particular use case of DOTS, these parameters are
> negotiated; even when not negotiated, that application uses altered
> defaults as in
> [ref-into-dots]") to avoid the impression of general applicability,
> but some example *should* be given, for without changed parameters
> the Q-Block mechanism is useless (3 hour wait if all 10 initial
> messages are lost).

[Med] OK. I added this note: 

      Note: For the particular DOTS application, PROBING_RATE and other
      transmission parameters are negotiated between peers.  Even when
      not negotiated, the DOTS application uses customized defaults as
      discussed in Section 4.5.2 of [RFC8782].

> It would enhance readability if that were mentioned in the
> congestion control section.

[Med] Good point. 

> 
> It may help to draw the parallel to the MAX_PAYLOADS of the non-
> confirmable case, or to talk more about the hybrid transmission (CON
> only after some blocks; does that have a name? see also comment
> Does DOTS have an altered default here?

[Med] No. 

 Without having *anything*
> about

[Med] We do already say the following for the CON examples:

"These examples assume NSTART has been increased to at least 4."

Again, these examples are here to generalize the procedure rather than keeping it DOTS-centric.