Re: Tsvart last call review of draft-ietf-core-too-many-reqs-04

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thank you for the review Jana!

Please see inline.

> On 19 Oct 2018, at 3.57, Jana Iyengar <jri.ietf@xxxxxxxxx> wrote:
> 
> Reviewer: Jana Iyengar
> Review result: Ready with Nits
> 
> I've reviewed this document as part of the transport area review team's ongoing
> effort to review key IETF documents. These comments were written primarily for
> the benefit of the transport area directors. Document editors and WG chairs
> should treat these comments just like any other last call comments.
> 
> This is a simple document that defines a new response code for CoAP servers to
> use when under overload. The response code ("4.29 Too Many Requests") is used
> as a flow control signal to indicate to a client that it needs to stop sending
> more "similar" requests. The amount of time that the client needs to back off
> is encoded in the response.
> 
> This is a straightforward document and I see no major issues, but I have a
> couple of suggestions that might help implementers.
> 
> 1. There should be text suggesting what a server MAY do if the client doesn't
> respect the backoff period indicated in the response. For instance, a server
> MAY drop all incoming requests from a client for an extended period of time if
> the client sends a request without waiting for the duration of the backoff
> period (or some such).

Simply dropping incoming requests results likely in retransmissions, which could be counter-productive for reducing load. I think the best way for the server is to answer with a different error code since if it is a well-behaving client, likely the reason for it to not respect the backoff is that it didn’t simply recognize the error code and understand what to do with Max-Age. 

I’m thinking of adding text in “CoAP server behavior” section along the lines of:

  If a client repeats a request that was answered with 4.29 before Max-Age time has passed, it is possible the client did not recognize the error code and the server MAY respond with a more generic error code (e.g., 5.03).

> 2. There should be some text suggesting that the server does not have to (and
> probably should not) respond to every incoming request during overload with
> this response. Even when the server wants to ask clients to back off, it does
> not need to do that on every incoming request from a client. For instance, a
> server can choose to respond to each client once in every estimated round-trip 
> time.

So this would be mainly for the case when client sends multiple requests before it has a chance to receive the 4.29 to an earlier request? For that once every RTT seems indeed reasonable.

> 3. Is the expectation that the client waits for the back off time starting from
> when the response is received? That seems like the most obvious way to do it,
> but it might be useful to clarify precisely when the client's backoff period
> starts.

RFC7252 says that Max-Age is intended to be current at the time of transmission. But since the precision of Max-Age is at the level of seconds, starting a timer when response is received sounds like a fair approximation. 


Cheers,
Ari

<<attachment: smime.p7s>>


[Index of Archives]     [IETF Annoucements]     [IETF]     [IP Storage]     [Yosemite News]     [Linux SCTP]     [Linux Newbies]     [Mhonarc]     [Fedora Users]

  Powered by Linux