[tcpm] Re: using SACK info for RTTM?
Yoshifumi Nishida <nsd.ietf@gmail.com> Mon, 03 June 2024 20:28 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 238EEC180B63 for <tcpm@ietfa.amsl.com>; Mon, 3 Jun 2024 13:28:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.094
X-Spam-Level:
X-Spam-Status: No, score=-2.094 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_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=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 ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Mzsx3aOIeUn3 for <tcpm@ietfa.amsl.com>; Mon, 3 Jun 2024 13:28:55 -0700 (PDT)
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 48614C14F698 for <tcpm@ietf.org>; Mon, 3 Jun 2024 13:28:55 -0700 (PDT)
Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-35dbfe31905so337171f8f.2 for <tcpm@ietf.org>; Mon, 03 Jun 2024 13:28:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717446533; x=1718051333; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=olUm0+tNtHRkVuOpTnKOYUhjXqq2xxA3qQB5TMws1+Q=; b=UI5gnTcgZpYzGTQ91Nr2SJ4TGj2iKyTiPL5LXelmu+tAP40aKZso77bvK+sn2e6Eo4 h6PlMd/fPneENlDPceCFJQftxI/H9k+vGVI6XLRoZLQ6NYdReXJM4xwfyKvNqHcT1afa k4oAfBUZUG6wz6Cf/IWtLAtFli/ID3pbnWzPEq0tBhU+yYnimw3DZ31qg6jP1ZxBTHJP +vWERuTBdd3Kuje1PyjmPS9TgRNX4Fpk3bSFHTjYO17XecCGFk189jyQfxKJAQW2+Bvk j1Eny2iotGoHvfOqweYllKwBIgiyGcpKJzKutxRZawI/aq3vsG+oomC9MPGf/+IjWiBI fvWw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717446533; x=1718051333; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=olUm0+tNtHRkVuOpTnKOYUhjXqq2xxA3qQB5TMws1+Q=; b=Y0z7zOCuuL0lUwTxUNFTGulTe0liu6IUTNEnX535UKbfrJnsYptQuIkLL3FZ6ykyoy I3v6kpI702ujSW60rPbOrdCXGG5beFSFbMVNLdmKFAVlIWh1Pp7l4y+JwaskEEkMGdG/ Ua6h9T1XaPtziviuP70uLPy14bjv9ncKGnAyTi4jO0AthDppvsfaP5vjcMO7soFF3Po4 Y8rFYPi7xEzXbQexcfWB5yIitME5MmgSRT5i4VFV7NqI7VqrdFrtzB+K9NtxcjrxavkT a9JE89CmdcyrLYOvwnkvzkhZ/djqXz3NdQ+Hs6AMa9KudsHC3B4LIquYe5L4GAkP2F7o OSkA==
X-Gm-Message-State: AOJu0YxnPyQiT2aAWGqAk+a6rmbr4sKcu+VhSEwMEO/XgWwkFjlZuTIA i4tljrFyhfEaVV+Kd5LFKNVgGuw2N2eTczDv9nWaZ5JH5bMPj7WIK+Q75elLTESvhd2aUxklSEm MU1rCEa7HG4uvIiDsF588bz1ofuT8ODUF
X-Google-Smtp-Source: AGHT+IEMj0tkEp1co5fJxh4FVBXofeqUpQXOQBXvVc+Jr8//pSAzIUbiAqIfCAtVrM+/hz0/t2H/tH/orbDjDCpZE/8=
X-Received: by 2002:a05:6000:1a8e:b0:35e:60e6:c896 with SMTP id ffacd0b85a97d-35e60e6ca18mr2319363f8f.38.1717446532892; Mon, 03 Jun 2024 13:28:52 -0700 (PDT)
MIME-Version: 1.0
References: <CAAK044QOLRucPZBzeTRBj=m83aXVsFq83zJQgmvYuVVwKTHzFA@mail.gmail.com> <CADVnQy=4Lqsbx_cMgK05ydrYNUbg-tiX8r3ZDmTkZVPTyCZJRg@mail.gmail.com>
In-Reply-To: <CADVnQy=4Lqsbx_cMgK05ydrYNUbg-tiX8r3ZDmTkZVPTyCZJRg@mail.gmail.com>
From: Yoshifumi Nishida <nsd.ietf@gmail.com>
Date: Mon, 03 Jun 2024 13:24:50 -0700
Message-ID: <CAAK044R5eA622EMPFu2p1hmA_tDHrYdCa5S+r6OSWzCKcsQmSw@mail.gmail.com>
To: Neal Cardwell <ncardwell@google.com>
Content-Type: multipart/alternative; boundary="0000000000008395fe061a022e14"
Message-ID-Hash: 3IXF4S4KOD7UNTO7UZWAJXBAQWWL6BAN
X-Message-ID-Hash: 3IXF4S4KOD7UNTO7UZWAJXBAQWWL6BAN
X-MailFrom: nsd.ietf@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-tcpm.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: "tcpm@ietf.org Extensions" <tcpm@ietf.org>
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [tcpm] Re: using SACK info for RTTM?
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/Bivd5nFbHWGL8sEXmQq3nPt2m-0>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tcpm>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Owner: <mailto:tcpm-owner@ietf.org>
List-Post: <mailto:tcpm@ietf.org>
List-Subscribe: <mailto:tcpm-join@ietf.org>
List-Unsubscribe: <mailto:tcpm-leave@ietf.org>
Hi Neal, thank you so much for the comments. The linux algorithm you've described makes sense to me and it seems the scheme doesn't require timestamp options. However, as far as I've read linux code, it seems that linux still uses timestamp options for RTT measurement to some extent. I'm curious why linux is mixing two schemes for RTTM. -- Yoshi On Mon, Jun 3, 2024 at 8:57 AM Neal Cardwell <ncardwell@google.com> wrote: > > > On Mon, Jun 3, 2024 at 11:02 AM Yoshifumi Nishida <nsd.ietf@gmail.com> > wrote: > >> Hi folks, >> >> While I was checking RFC7323, I found the following sentence. >> >> RTTM update processing explicitly excludes segments not updating >> SND.UNA. The original text could be interpreted to allow taking >> RTT samples when SACK acknowledges some new, non-continuous >> data. >> >> I am a bit curious about the rationale of this sentence. >> It seems to me that we cannot measure RTT when we have a gap in packet sequence with this rule. >> >> > Yes, that rule forbids using RFC7323 timestamps for calculating RTT > samples for SACKed sequence ranges. > > The rationale: AFAIK this rule is a necessary consequence of the > conditions under which TS.Recent is updated. > > The rules for updating TS.Recent are in sec 4.3, "Which Timestamp to Echo": > https://datatracker.ietf.org/doc/html/rfc7323#section-4.3 > Rule (2) in sec 4.3 says: > If: > SEG.TSval >= TS.Recent and SEG.SEQ <= Last.ACK.sent > then SEG.TSval is copied to TS.Recent; otherwise, it is ignored. > > Since out-of-order sequence ranges that are SACKed will fail the SEG.SEQ > <= Last.ACK.sent check, SACKed sequence ranges will not update TS.Recent. > So using TS.Recent to calculate an RTT sample for a SACKed sequence range > could, in general, give a vastly overestimated RTT sample. So that's why > it's forbidden by the RFC. > > However, in practice usually this does not need to be a big deal. For > example, Linux TCP still obtains an RTT sample for every non-retransmitted > SACKed sequence range, by: > > (a) recording the transmit time of every sequence range > (b) recording whether that sequence range was retransmitted, and then > (c) using those two pieces of information when that sequence range is > cumulatively or selectively ACKed, to calculate an RTT sample (rtt_sample = > now - transmit_timestamp) if the sequence range was never retransmitted. > > So, in Linux TCP, SACKed sequence ranges fail to generate an RTT sample > only when they were previously retransmitted. > > best regards, > neal > > >> Thanks, >> -- >> Yoshi >> >> _______________________________________________ >> tcpm mailing list -- tcpm@ietf.org >> To unsubscribe send an email to tcpm-leave@ietf.org >> >
- [tcpm] using SACK info for RTTM? Yoshifumi Nishida
- [tcpm] Re: using SACK info for RTTM? Neal Cardwell
- [tcpm] Re: using SACK info for RTTM? Yoshifumi Nishida
- [tcpm] Re: using SACK info for RTTM? Yuchung Cheng
- [tcpm] Re: using SACK info for RTTM? Yoshifumi Nishida
- [tcpm] Re: using SACK info for RTTM? Neal Cardwell
- [tcpm] Re: using SACK info for RTTM? Yuchung Cheng
- [tcpm] Re: using SACK info for RTTM? Yoshifumi Nishida
- [tcpm] Re: using SACK info for RTTM? Neal Cardwell
- [tcpm] Re: using SACK info for RTTM? Yuchung Cheng
- [tcpm] Re: using SACK info for RTTM? rs.ietf