Re: [lp-wan] need for MAX_ACK_REQUESTS?
Arun <arun@ackl.io> Wed, 19 July 2017 16:35 UTC
Return-Path: <arun@ackl.io>
X-Original-To: lp-wan@ietfa.amsl.com
Delivered-To: lp-wan@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AACFA12F3CB for <lp-wan@ietfa.amsl.com>; Wed, 19 Jul 2017 09:35:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.619
X-Spam-Level:
X-Spam-Status: No, score=-2.619 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 JEHEwqPGgJJz for <lp-wan@ietfa.amsl.com>; Wed, 19 Jul 2017 09:35:36 -0700 (PDT)
Received: from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net [217.70.183.195]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3D8E0127077 for <lp-wan@ietf.org>; Wed, 19 Jul 2017 09:35:36 -0700 (PDT)
Received: from mfilter11-d.gandi.net (mfilter11-d.gandi.net [217.70.178.131]) by relay3-d.mail.gandi.net (Postfix) with ESMTP id 9E347A80F5; Wed, 19 Jul 2017 18:35:34 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at mfilter11-d.gandi.net
Received: from relay3-d.mail.gandi.net ([IPv6:::ffff:217.70.183.195]) by mfilter11-d.gandi.net (mfilter11-d.gandi.net [::ffff:10.0.15.180]) (amavisd-new, port 10024) with ESMTP id J-AMO23R_hwj; Wed, 19 Jul 2017 18:35:33 +0200 (CEST)
X-Originating-IP: 192.44.77.204
Received: from [192.168.1.158] (nat-asr-incub-b204.rennes.enst-bretagne.fr [192.44.77.204]) (Authenticated sender: arun@acklio.com) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 4A7EBA80CE; Wed, 19 Jul 2017 18:35:32 +0200 (CEST)
To: Carles Gomez Montenegro <carlesgo@entel.upc.edu>
Cc: lp-wan <lp-wan@ietf.org>, BARTHEL Dominique IMT/OLPS <dominique.barthel@orange.com>
References: <f06b79ed-9b06-8ba0-79da-d091b9270d4e@ackl.io> <c53f65f77e2bef71d2b8598cd4c72dfc.squirrel@webmail.entel.upc.edu> <d89f5ae6-2d9d-56ff-71c7-c8624563a002@ackl.io> <6627d2074d9c4fc56c035b7d283acf19.squirrel@webmail.entel.upc.edu>
From: Arun <arun@ackl.io>
Message-ID: <8cf063e5-b0cc-ba05-98ec-1de7b4de336d@ackl.io>
Date: Wed, 19 Jul 2017 18:35:28 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1
MIME-Version: 1.0
In-Reply-To: <6627d2074d9c4fc56c035b7d283acf19.squirrel@webmail.entel.upc.edu>
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="0BrflpmC5N2bDSLNGTFPhrxjqfocMjOkW"
Archived-At: <https://mailarchive.ietf.org/arch/msg/lp-wan/Gg3-UKqStQXhP0tuB7N0IzNZKqw>
Subject: Re: [lp-wan] need for MAX_ACK_REQUESTS?
X-BeenThere: lp-wan@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "Low-Power Wide Area Networking \(LP-WAN\), also known as LPWA or Low-Rate WAN \(LR-WAN\)" <lp-wan.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/lp-wan>, <mailto:lp-wan-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/lp-wan/>
List-Post: <mailto:lp-wan@ietf.org>
List-Help: <mailto:lp-wan-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lp-wan>, <mailto:lp-wan-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 19 Jul 2017 16:35:39 -0000
Thanks Carles for the explanation. Yes, I agree. Keeping a lower value of retries seems reasonable in case of large window. I prefer to have simpler option, MAX_ACK_REQUEST to decide when to abort but will wait for inputs from others as well. On 19/07/2017 17:20, Carles Gomez Montenegro wrote: > Hi Arun, > > Thanks for your response. > > Yes, I understand your example is correct. On your question, the same > problem will happen anyway when any applicable "MAX_" parameter is > reached. > > The main reason I can see for having two separate parameters is that a > sender may want to resend the last fragment "many times" (say, e.g. 5) to > request for an ACK. But when the ACK is received, maybe a sender cannot > afford to resend as many times each specific fragment reported to be lost > (imagine a "large window", say of 30 fragments where 8 out of those need > to be resent). Maybe doing up to 5 retries for each lost fragment is too > much, but a lower number of retries could be acceptable. > > Maybe a more simple option is to reduce the number of "MAX_" parameters to > only 1 (you favor that to be MAX_ACK_REQUESTS), and if a sender determines > from an ACK that there have been too many losses (and maybe it is not > worth trying to recover all of them since link quality appears to be low), > it can always abort. > > Thoughts? > > Carles > > > > >> Hi Carles, >> I'm not clear about the purpose of having retry counter for each >> fragments. >> >> My understanding is as follows (w.r.t. ACK always) : >> - whenever there is a retransmission the receiver would expect the >> ACK_REQUEST packet to be least the CFN in the bitmap. >> we resend (at the same time increment retry counter for this fragment) >> only last fragment in case of timer expiry. when the counter reaches >> MAX_FRAG_RETRIES for CFN =1, what do we do? >> we cannot try resending CFN !=1 (in this case cfn=4) because the >> receiver would still expect CFN=1 for ACK_REQUEST or to send bitmap. >> So, I think it would be good to have only variable, can be >> MAX_ACK_REQUEST. >> >> >> >> Tx Rx >> + + >> | | >> | cfn=6 | expected >> ACK_REQ_PACKET = cfn_0 >> +-------------------------> >> | cfn=5 | >> +-------------------------> >> | cfn=4 | >> +--------------------X----> >> | cfn=3 | >> +--------------------X----> >> | cfn=2 | >> +-------------------------> >> | cfn=1 | >> +--------------------X----> >> | cfn=0 | >> +-------------------------> >> | ACK:11001011 |expected >> ACK_REQ_PACKET = cfn_1 >> <-------------------------+ >> | cfn=4 | >> +-------------------X-----> >> | cfn=3 | >> +-------------------------> >> | cfn=1 | >> +-------------------X-----> >> timer expired | ACK:11011011 |expected >> ACK_REQ_PACKET = cfn_1 >> <--X----------------------+ >> | cfn=1 | >> +-------------------------> >> timer expired | ACK:11011011 |expected >> ACK_REQ_PACKET = cfn_1 >> <--X----------------------+ >> reached MAX_ACK_REQ | | >> discard cfn=1 | cfn=4?? | >> +-------------------------> wait until cfn=1 to >> send ACK >> | | >> | | >> regards, >> >> On 19/07/2017 13:58, Carles Gomez Montenegro wrote: >>> Hi Arun, >>> >>> Thanks for commenting on this. >>> >>> Currently, MAX_ACK_REQUESTS applies only to the last fragment in a >>> window, >>> which can be viewed also as an "ACK request". MAX_FRAG_RETRIES applies >>> to >>> the previous fragments in the window. >>> >>> I have been thinking about this several times, and I see two options: >>> >>> 1.- Keep the two parameters. There might be reasons for setting >>> MAX_ACK_REQUESTS to a higher value than MAX_FRAG_RETRIES. It may be >>> specially critical to get an ACK (which gives feedback on the delivery >>> of >>> all fragments in the window), while one might want to be careful >>> regarding >>> how many times a fragment (from the rest of fragments in the window) is >>> resent. In addition, it is possible to set the two parameters to the >>> same >>> value if desired. >>> >>> 2.- Remove MAX_ACK_REQUESTS and have just MAX_FRAG_RETRIES applying to >>> all >>> fragments. >>> >>> Which are your (and other) opinions on this? >>> >>> Thanks, >>> >>> Carles >>> >>> >>> >>>> Hi Carles, all, >>>> >>>> Do we still need this variable MAX_ACK_REQUESTS ? >>>> MAX_FRAG_RETRIES is going to be the same (during retransmission we >>>> only >>>> send the last fragment of the received bitmap which would be considered >>>> as ACK REQUEST). correct? >>>> >>>> if this is already discussed in the thread of Dominique's review >>>> please >>>> point me to the same. >>>> >>>> thanks, >>>> >>>> -- >>>> >>>> Arunprabhu Kandasamy >>>> arun at ackl.io >> -- >> Arunprabhu Kandasamy >> arun at ackl.io >> >> 2 bis rue de la Châtaigneraie >> 35510 Cesson-Sévigné >> France >> Phone: +33 (0)2.99.12.24.14 >> >> >> > -- Arunprabhu Kandasamy arun at ackl.io 2 bis rue de la Châtaigneraie 35510 Cesson-Sévigné France Phone: +33 (0)2.99.12.24.14
- [lp-wan] need for MAX_ACK_REQUESTS? Arun
- Re: [lp-wan] need for MAX_ACK_REQUESTS? Carles Gomez Montenegro
- Re: [lp-wan] need for MAX_ACK_REQUESTS? Arun
- Re: [lp-wan] need for MAX_ACK_REQUESTS? Carles Gomez Montenegro
- Re: [lp-wan] need for MAX_ACK_REQUESTS? Arun