[tcpm] some comments on draft-gomez-tcpm-ack-rate-request-02.

Yoshifumi Nishida <nsd.ietf@gmail.com> Mon, 01 March 2021 21:12 UTC

Return-Path: <nsd.ietf@gmail.com>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B2B463A22FB for <tcpm@ietfa.amsl.com>; Mon, 1 Mar 2021 13:12:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.098
X-Spam-Level:
X-Spam-Status: No, score=-7.098 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, SPF_HELO_NONE=0.001, SPF_PASS=-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 ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8LLJiWHJf-S6 for <tcpm@ietfa.amsl.com>; Mon, 1 Mar 2021 13:12:51 -0800 (PST)
Received: from mail-qk1-x736.google.com (mail-qk1-x736.google.com [IPv6:2607:f8b0:4864:20::736]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1471F3A22F8 for <tcpm@ietf.org>; Mon, 1 Mar 2021 13:12:51 -0800 (PST)
Received: by mail-qk1-x736.google.com with SMTP id z190so18143870qka.9 for <tcpm@ietf.org>; Mon, 01 Mar 2021 13:12:51 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=8HksnNm2A3K2VBPmvkEx/bdzOrDUynYBp5H0Pt4ymiY=; b=Dqwd4BKsVcHDzsF8I1IgRl9fE6aMeYlsPcLzml9WwRC7sYVZazV9s/embGc5Z3M7+U 8m4gOd4aExZLWnGeXjgC43PxbwoBtFbO9pMCoXNjiicVO/dahtKLlLBAC+PLPkkYs4C0 yVDN7ePgjp6LQuyXi+wuCOgtOMy/SgrSR4IpdUbju4vSxq39eBdRV9kCjJhPPQSyG2CZ GYg+4vryMw8ZQxU/+xhdMSk3VB/8aSxj/t3SKB5Y16/b67KKM9fKo9gsYZUxisWvm09R LPRAratfqlgBnjvVzgmAl8pp8BiCM7hniLCHbeFkZLccD1Htxrr9HSPd4p4Tkg63yxfr M7QA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=8HksnNm2A3K2VBPmvkEx/bdzOrDUynYBp5H0Pt4ymiY=; b=pDQjfNg/ZV1IUm/UPkwShAYne7Q5jH1mHFEuleQXn4sszBUUtfCXSYJ/WwjxA4rtGY qtn7dSAPsTniqOIDC2WcnTJt9LtGWp0bwGHPXYje/80VMfFRtYPhANiJqZd0hMDlIivr 8bwDex+rI6u9i4VLtXSltnZdpLhaBxEBLbsNS3h+MrSveWZW4kJVqEJ2dFfgDqB+2mI6 t78kJLFYw/jmmOZ1lFMttiwKZ0hUoQwMoNm4BxOAgygXWrKNqzLCzv3ZnVXewFHqaeGi Xph3XpPY8FXaFU0xhioiItBKvHlb84DOzI/Mfy45N/eLXYaH7Vap942qwVEE7o5iV1bA H9tA==
X-Gm-Message-State: AOAM533NassV9fl9paTLKj9c439Z2uTygcsOJUDhpBEpscrxW89TdbnY nLA95h+iBticILjxxlikyZp74BEA/1fY5hstv2jq9AkWzKE=
X-Google-Smtp-Source: ABdhPJynwIOYQcHtD+NGPBQBJjxdbhUgQDT2AG47oK8v1P7r68YoCcbs3dvhuTCnjk8DJMiWq8fXWooEpkk9YRNxbeM=
X-Received: by 2002:a05:620a:941:: with SMTP id w1mr16396285qkw.484.1614633168937; Mon, 01 Mar 2021 13:12:48 -0800 (PST)
MIME-Version: 1.0
From: Yoshifumi Nishida <nsd.ietf@gmail.com>
Date: Mon, 01 Mar 2021 13:12:37 -0800
Message-ID: <CAAK044TYfw=N0JwSRv5xMBqfR9BeDF6LqPRNXFCvd-Hxq+oDDw@mail.gmail.com>
To: "tcpm@ietf.org Extensions" <tcpm@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000007a23e005bc80141a"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/5yovY6L3xEGLv6asC_3tzVl0bKg>
Subject: [tcpm] some comments on draft-gomez-tcpm-ack-rate-request-02.
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tcpm/>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 01 Mar 2021 21:12:53 -0000

Hi,
I've read the draft. I like the basic concept of the draft and think it's
useful in some ways. I put some comments belows.

1: In general, I would like to see some more example usages or guidances of
the features described in the draft.
    For example, one of my naive questions is how often we want to change
the frequency of ACKs.
    In 'small' or 'large' scenarios in the draft, it seems to me that it
might be sufficient to use the same ACK frequency during the connection.
    It would be good if the draft describes the needs of changing frequency.

2:  "a TARR-option-capable receiving TCP MUST modify its ACK rate to one
ACK every R full-sized received data segments from the sender, as long as
packet reordering does not occur"
    -> Do this mean if recorder happens, TARR option will be ignored?
        Let's say if you send packet 1 with TARR and packet 2 without TARR,
if packet 2 arrives earlier than packet1, the TARR option in packet1 will
be ignored?
        How about storing the highest seqno that carries TARR and compare
it when you receive packets with TARR?

3:  "If all bits of this field are set to 0, the field indicates a request
by the sender for the receiver to trigger one or more ACKs immediately. "
    -> For me, this might be read as if it can request to send back
multiple ACKs immediately. How about changing it 'without delay' or
something?

4:  "Otherwise, the field carries the binary encoding of the number of
full-sized segments"
    -> I'm not sure about the meaning of binary encoding here. does it
mean storing 1-255 values or else?

5: I have some concerns on ignoring reorder.
    In case of QUIC, even if reorder is ignored, timer-based loss detection
scheme can still find packet losses.
    However, in TCP, RACK might not be always supported, so it might take
significant amount of time to find losses if this feature is enabled.
    I think the doc needs to discuss this point and it would be good to
have some guidelines here.

6: Similar to 1:, I am a bit wondering about the use case of N field in
TARR option.
   I can imagine this would be useful if an endpoint uses Hystart++ or
similar approach.
   However, is it still useful for other cases such as plain slow-start
algorithm?
   I think it would be better to have some usage guidelines for N as well.
   Also, since N looks finite number, I'm wondering how to set R=0 for the
entire connection. Or, we shouldn't do such a thing?

Thanks,
--
Yoshi