[babel] Open issues with draft-ietf-babel-rtt-extension

Juliusz Chroboczek <jch@irif.fr> Wed, 24 July 2019 21:46 UTC

Return-Path: <jch@irif.fr>
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 721DB120689 for <babel@ietfa.amsl.com>; Wed, 24 Jul 2019 14:46:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-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 MJaBuEdfiSu9 for <babel@ietfa.amsl.com>; Wed, 24 Jul 2019 14:46:39 -0700 (PDT)
Received: from korolev.univ-paris7.fr (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 32D3C120690 for <babel@ietf.org>; Wed, 24 Jul 2019 14:46:39 -0700 (PDT)
Received: from mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [81.194.30.253]) by korolev.univ-paris7.fr (8.14.4/8.14.4/relay1/82085) with ESMTP id x6OLkYOx023066; Wed, 24 Jul 2019 23:46:34 +0200
Received: from mailhub.math.univ-paris-diderot.fr (localhost [127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTP id 8E1983786D; Wed, 24 Jul 2019 23:46:37 +0200 (CEST)
X-Virus-Scanned: amavisd-new at math.univ-paris-diderot.fr
Received: from mailhub.math.univ-paris-diderot.fr ([127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id jRPpTOwaMsLo; Wed, 24 Jul 2019 23:46:36 +0200 (CEST)
Received: from pirx.irif.fr (82-64-141-196.subs.proxad.net [82.64.141.196]) (Authenticated sender: jch) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id 8C99F3786B; Wed, 24 Jul 2019 23:46:36 +0200 (CEST)
Date: Wed, 24 Jul 2019 23:46:38 +0200
Message-ID: <87k1c75cn5.wl-jch@irif.fr>
From: Juliusz Chroboczek <jch@irif.fr>
To: babel@ietf.org
CC: Baptiste Jonglez <baptiste.jonglez@imag.fr>
User-Agent: Wanderlust/2.15.9
MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue")
Content-Type: text/plain; charset="US-ASCII"
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (korolev.univ-paris7.fr [194.254.61.138]); Wed, 24 Jul 2019 23:46:34 +0200 (CEST)
X-Miltered: at korolev with ID 5D38D1BA.001 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)!
X-j-chkmail-Enveloppe: 5D38D1BA.001 from mailhub.math.univ-paris-diderot.fr/mailhub.math.univ-paris-diderot.fr/null/mailhub.math.univ-paris-diderot.fr/<jch@irif.fr>
X-j-chkmail-Score: MSGID : 5D38D1BA.001 on korolev.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000
X-j-chkmail-Status: Ham
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/GfMpwHPRZ_A8ibZ-aVN-jw6Ckm8>
Subject: [babel] Open issues with draft-ietf-babel-rtt-extension
X-BeenThere: babel@ietf.org
X-Mailman-Version: 2.1.29
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: Wed, 24 Jul 2019 21:46:45 -0000

Here's my personal take on the issues outlined during Baptiste's talk.

1. Nanosecond granularity

Originally, Baptiste's extension used centiseconds in a 16-bit field,
which gave a granularity of 10ms.  Under Dave Taht's pressure, who was at
the time interested in measuring bufferbloat, Baptiste switched to
microseconds in a 32-bit field.

We still don't have a good example of why this increased prefision is
needed -- in the networks that use this extension in production, the time
scales under consideration are on the order of tens or hundreds of
milliseconds.

Switching to nanoseconds would require switching to 48-bit fields, since
the timestamps must not wrap between two successfully received Hello or
IHU TLVs.  Not a big deal, but a slight implementation issue -- I'd like
to be convinced that this is necessary.

We will be able to switch formats without a flag day.  We first define
a new sub-TLV with nanosecond granularity, and start sending both.  We
wait for a year or so, until most deployed implementations understand the
new format, then we deprecate the old format.  If any old implementations
remain, they will ignore the new sub-TLV, and simply fail to perform any
RTT estimation, falling back to the base protocol.

2. Decoupling timestamps from Hello

Currently, the timestamp data is sent in two pieces:

  - Hello contains the transmit timestamp, which is the same for all
    neighbours;
  - IHU contains the receive timestamp and the timestamp echo, which are
    per-neighbour.

This makes a lot of sense -- after all, IHUs contain per-neighbour data,
while sender data is contained in Hellos.  OTOH, it means that an IHU's
timestamp can only be interpreted if it is sent in a packet that contains
a Hello TLV.

Baptiste outlined two solutions:

  (a) require that all IHUs be sent in packets with a Hello;
  (b) define a new TLV that contains just a timestamp.

In RFC 6126bis, we defined Unicast Hellos and Unscheduled Hellos, which
should in principle make approach (a) easy to implement.  I'd be very
grateful if people could look very carefully at the new kinds of Hello,
and decide whether these mechanisms are enough, or whether we need a new
kind of TLV so we can avoid sending spurious Hellos.

-- Juliusz