Re: [babel] New Version Notification for draft-ietf-babel-rtt-extension-06.txt

David Schinazi <dschinazi.ietf@gmail.com> Fri, 19 April 2024 17:19 UTC

Return-Path: <dschinazi.ietf@gmail.com>
X-Original-To: babel@ietfa.amsl.com
Delivered-To: babel@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C7D54C14F6BE for <babel@ietfa.amsl.com>; Fri, 19 Apr 2024 10:19:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 2.903
X-Spam-Level: **
X-Spam-Status: No, score=2.903 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, GB_SUMOF=5, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=no 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 r29Y57ScJ3QK for <babel@ietfa.amsl.com>; Fri, 19 Apr 2024 10:19:37 -0700 (PDT)
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com [IPv6:2a00:1450:4864:20::536]) (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 AE986C14F694 for <babel@ietf.org>; Fri, 19 Apr 2024 10:19:37 -0700 (PDT)
Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-571bddddbc2so1923835a12.1 for <babel@ietf.org>; Fri, 19 Apr 2024 10:19:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1713547176; x=1714151976; 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=PV4OubDZ4lDTl0RbFmXBaSwL8Rm0sPSuDxorwCMZEdo=; b=adAfVz+HXKMCOS7Zgh/zdZsBXT1yeVrDwOfyER559qjidQUTZTs2NFOlE1AAovKoZp QH48qVXjI6+MdzypWV305nMh2UV36pxsvv20+0JyaG9SKquJlFpYojPp4utlVL1RzPBo H326lDCDEpeVEpjiuUMvLAgEMk7vg0rrQIHTIkHyYIHjW7xC9aBfG8AE7jmAjEbCNvrS t7rnHpC3ZwrGdchIz9l1nhh4YbwlZMfPcFCixEzjlAifEhtzAjlHvQ0GZkZKEJJV1OpL 2TwlJMTt3xZrU/LNyk2MYAmZiEZx4Gp+nEZbon3irrr2HBoSQEbiRTJRb3VooJltMoyP Fnpw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713547176; x=1714151976; 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=PV4OubDZ4lDTl0RbFmXBaSwL8Rm0sPSuDxorwCMZEdo=; b=caPVR4FTtrl0Ixsei2+BQcE3vQRVvZ+/5cMOJfioJi/xdnh/JRoRPaFeda5P+cR7QF e9PmigOsD/3A7Gsv78wEs1GhFkx9CghR5lYgX9wu0dtMI0CGTc5cDTcwfwrZHjrrcsO/ toHaHOY/saQNudHICT0C6Lf/i798UY9itoFE4vyubkwGfyTzjrhElS8zGS3K5lYUNJ5o RIwGcs5PfgKWtNmcMwYYjwuGzf2672g+8SgMgJ0Ibd3jVAgwah4tc+XQMZm/2DHYK6vi 8CwTch+oAn6+IWIIl3iGMq4ldHDJT9pkA5XOV96HfaZovBaYhfPRlcH5l9/a3BCMiBsw C+xA==
X-Forwarded-Encrypted: i=1; AJvYcCU1ZjdjmnT6ux53wdK1suScPHoslVa0f4WJI6vIm0CjNp5baOQtR4d5jOYE8BClQvP1E25JLE4d01yricjoGg==
X-Gm-Message-State: AOJu0YwW1HuBC+POqFMmK5vtluBsMI7zlLtvGfygeEDByoKKbFuYNbIJ HmRha2gqZKfDGScUC+lbA81RW2mWZokI94flBEMlkzQqqVUqwu3/qpLHZhHxCXSUNGYCbLpD3+N inSXOfXtFx6h14TF0mUE5hbC/SERlMg==
X-Google-Smtp-Source: AGHT+IGcYabwXdxyuAlaqHNlUFkON1obBQe81EHlYAEqbTyy8+cW6let5e2ue5F3m5w4LavDWM1R+srDUk1LT6f9tPU=
X-Received: by 2002:a17:906:b0d:b0:a52:2f86:91e4 with SMTP id u13-20020a1709060b0d00b00a522f8691e4mr1767764ejg.24.1713547175699; Fri, 19 Apr 2024 10:19:35 -0700 (PDT)
MIME-Version: 1.0
References: <171328574275.28898.9111599332162642753@ietfa.amsl.com> <87v84h5k56.wl-jch@irif.fr> <87r0f5urqv.fsf@toke.dk> <87sezki0w2.wl-jch@irif.fr> <87y19bu70m.fsf@toke.dk> <87bk67ixr9.wl-jch@irif.fr> <87plunu5nb.fsf@toke.dk> <87a5lritwi.wl-jch@irif.fr> <CAPDSy+4TSZ4sSEV1XAKSuC53+0dNCv9od=5vSC1Oua3i9a8ypQ@mail.gmail.com> <87o7a6n3yg.wl-jch@irif.fr> <87le5an37f.wl-jch@irif.fr> <CAPDSy+62hv7TCqhb8-pW+3G521moHzHVwNBbm78fw4OuVS-Pbg@mail.gmail.com> <87cyqlnwsw.wl-jch@irif.fr>
In-Reply-To: <87cyqlnwsw.wl-jch@irif.fr>
From: David Schinazi <dschinazi.ietf@gmail.com>
Date: Fri, 19 Apr 2024 10:19:24 -0700
Message-ID: <CAPDSy+5DFyLny7CuiY7n3vmeKzeXpN4YEzbvEaHzQq56z-q6Vg@mail.gmail.com>
To: Juliusz Chroboczek <jch@irif.fr>
Cc: Toke Høiland-Jørgensen <toke@toke.dk>, babel@ietf.org, Pascal Thubert <pascal.thubert@gmail.com>
Content-Type: multipart/alternative; boundary="000000000000b6b1160616764a16"
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/55rgOrSMnGxC2oBLhlxcAawHpgI>
Subject: Re: [babel] New Version Notification for draft-ietf-babel-rtt-extension-06.txt
X-BeenThere: babel@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "A list for discussion of the Babel Routing Protocol." <babel.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/babel>, <mailto:babel-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/babel/>
List-Post: <mailto:babel@ietf.org>
List-Help: <mailto:babel-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/babel>, <mailto:babel-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 19 Apr 2024 17:19:39 -0000

On Fri, Apr 19, 2024 at 9:26 AM Juliusz Chroboczek <jch@irif.fr> wrote:

> I've reordered your text.
>
> > 1) ease/possibility of implementation
> > This one is important, but - if we assume that all implementations don't
> need
> > to match - then we can just say "SHOULD implement as low in the stack as
> you
> > can" and everyone can do that on whatever platform they are
>
> [...]
>
> > I guess the bit I'm not sure about is the assumption that I mentioned
> above:
> > the fact that implementations don't need to match. Is there any reason
> why
> > we'd want them to match?
>
> If two implementations don't match by a significant amount, then the
> protocol will be biased in favour of one implementation.
>
> Suppose that Linux doesn't include local queueing delay and Mac OS X does.
> Then, all other things being equal, the protocol will prefer routing
> through Linux routers rather than Mac OS X routers.  Which is probably the
> right behaviour, but it should be an explicit decision rather than
> a somewhat mysterious side-effect of an implementation detail.
>

Thanks, that's what I was imagining too. Isn't it already the case that two
different implementations could make implementation choices that would lead
one to be prefered over the other? I'm willing to bet that my since-lost
implementation had multiple bugs that would have this unintentional
behavior :-)

> 2) symmetry
> > As you point out, since RTT is the sum of both one-way delays, it will
> always
> > be symmetric :-)
>
> Well, ping is not necessarily symmetric.  If you timestamp ping packets at
> the bottom of the stack, then the RTT measured by ping includes remote
> queueing delay but not the local counterpart.  And the two queueing delays
> are not necessarily equal.
>
> Mills' algorithm, on the other hand, guarantees symmetry.  Good algorithm.
>

Good point, you're absolutely right.

> 3) scheduling jitter
> > I would assume that it's best to not count scheduling jitter since
> that'll
> > most likely pollute the measurements and not impact the actual flow of
> packets
> > along this route
>
> Agreed, but what if this contradicts requirement (1)?  We need to make
> a choice.
>

I think the two possible choices can be boiled down to:
(A) tell implementers to do the best they can
(B) pick the least common denominator that we know everyone can do

Option (B) guarantees that all implementations behave similarly, but at the
cost of less accurate measurements for everyone. Option (A) gives better
measurements, but can lead some implementations to be selected less. The
differentiator becomes: how common are these implementations that can't (or
don't, or won't) get precise receive timestamps? Every common
general-purpose OS I'm aware of has an equivalent of SO_TIMESTAMP (Linux,
macOS, *BSD, Windows). The environment I'm used to that doesn't have this
feature is ESP32/Arduino, mainly because their network stack is based on
LWIP. That said, such a platform has so many other limitations that RTT
measurements will always be quite imprecise because of how interrupts are
handled. So on that platform, we really will get implementation details
getting in the way of routing no matter what - it's just that it's OS
implementation details instead of Babel implementation details. So I would
posit that we don't need to worry about OSes that don't provide these
precise timestamps. The question becomes: do the existing Babel
implementations want to all progressively switch to more precise
timestamps, or not? From a theoretical standpoint, I prefer (A) to (B), but
at the end of the day I would recommend having the spec match what the real
implementations are doing - or planning to do.

David