Re: [babel] Mirja Kühlewind's Discuss on draft-ietf-babel-rfc6126bis-12: (with DISCUSS and COMMENT)

Juliusz Chroboczek <jch@irif.fr> Fri, 09 August 2019 18:06 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 25560120041; Fri, 9 Aug 2019 11:06:40 -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 Op6142MBpWpP; Fri, 9 Aug 2019 11:06:37 -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 52F96120019; Fri, 9 Aug 2019 11:06:37 -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 x79I6WCh024666; Fri, 9 Aug 2019 20:06:32 +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 286CE34416; Fri, 9 Aug 2019 20:06:35 +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 ER_Edcxnr_VJ; Fri, 9 Aug 2019 20:06:33 +0200 (CEST)
Received: from pirx.irif.fr (unknown [78.194.40.74]) (Authenticated sender: jch) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id B13C73440F; Fri, 9 Aug 2019 20:06:31 +0200 (CEST)
Date: Fri, 09 Aug 2019 20:06:31 +0200
Message-ID: <877e7m8b88.wl-jch@irif.fr>
From: Juliusz Chroboczek <jch@irif.fr>
To: Mirja Kühlewind <ietf@kuehlewind.net>
Cc: The IESG <iesg@ietf.org>, draft-ietf-babel-rfc6126bis@ietf.org, d3e3e3@gmail.com, babel-chairs@ietf.org, babel@ietf.org
In-Reply-To: <156517737995.8257.5538554979559246700.idtracker@ietfa.amsl.com>
References: <156517737995.8257.5538554979559246700.idtracker@ietfa.amsl.com>
User-Agent: Wanderlust/2.15.9
MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue")
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (korolev.univ-paris7.fr [194.254.61.138]); Fri, 09 Aug 2019 20:06:32 +0200 (CEST)
X-Miltered: at korolev with ID 5D4DB628.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)!
X-j-chkmail-Enveloppe: 5D4DB628.000 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 : 5D4DB628.000 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/ZPj_m5xcMosooSC3DOBV-BJgPkU>
Subject: Re: [babel] Mirja Kühlewind's Discuss on draft-ietf-babel-rfc6126bis-12: (with DISCUSS and COMMENT)
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: Fri, 09 Aug 2019 18:06:41 -0000

Dear Mirja,

The replies in this mail concern -13, which I haven't submitted yet (still
working on it).  My working copy is on

  https://github.com/jech/babel-drafts

> DISCUSS:
> ----------------------------------------------------------------------

> I have a couple of points that needs addressing before this document can move
> forward. Most of them should the straight forward to address. My main point is
> about network load.

I agree, that's an important point, especially when running over 802.11.

> Note that RFC8085 recommend a minimal interval of 3 seconds which
> probably is also a good hard boundary here.

As mentioned in my previous mail, RFC 8085 deals with UDP packets sent
across the Internet.  What we are discussing here is a link-local
protocol, where there are no intermediary routers to congest.  Thus, on
robust link technologies (such as Ethernet) it is enough to ensure that we
don't overwhelm sender and receiver queues; on more fragile technologies
(such as 802.11), we need to ensure we don't overwhelm the MAC.

In short, if the 3 second limitation is to be enforced, then OSPF cannot exist.

> More concretely I think there are these cases that need more guidance:

I agree.  I've added a short discussion of packet pacing at the end of
3.1, and I refer to it at suitable places.

> - Section 3.7.2. (Triggered Updates) advises to send a message multiple
> times for redundancy in case of loss. 5 and 2 are mentioned as example
> values. Please provide a normative default value and a normative maximum
> value here. Moreover the spec should also require to pace out these
> messages and avoid "tail loss" by overloading the local queue.  (See
> also section 3.8.2.1)

Done for the normative max and recommendation to avoid tail loss.
I haven't made the default values normative.

> - Section  3.8.1.1.  (Route Requests) says: "Full route dumps MAY be
> rate-limited, especially
>    if they are sent over multicast."
> I think this should at least be a SHOULD.

Agreed.

> Please also provide further guidance about to appropriately rate limit
> and think about other cases where a recommend to implement rate-limiting
> could make sense.

Done.

> - In section 4.1.1 the update interval needs a lower limit (e.g. 3 seconds)

I strongly disagree.  Sub-second convergence after a mobility event is
required in some networks.

To put things into perspective, a full-size Ethernet frame is able to
carry over 60 Babel updates (assuming 50% IPv4 + 50% IPv6 and reasonably
successful IPv6 prefix compression).  Thus, in a network with 1000 routes,
a full update occupies 16 packets.  With an update interval of 0.1
seconds, we are sending an average of 160 packets per second, which is
very reasonable for a number link technologies.

>  and a recommend default value would be could as well (Note that there
> are other part in section 3 where the update value is discussed as
> well).

Appendix B.

> - Section 3.8.2.4. mentions network load when requests are sent to all
> neighbours after reboot. Please provide more guidance about how to pace out
> these requests.

I've removed this section altogether.

> - Section 3.8.1.2.  (Seqno Requests) discusses hop count values but
> could maybe also give more concrete guidance. I would assume that the
> hop count value of the current active route is usually know. Maybe that
> knowledge could be used to pick an appropriate value?

The hop-count is a last resort mechanism intended to save your network
from catastrophic failure in case everything goes horribly wrong.  It
never triggers in normal usage.

Any value will do.  I've made that clear, and suggested the value 64
(non-normatively).

> Two other smaller discuss points/questions/comments:

> 1) Sec 4.6.8. (Next Hop): If I interpret this correctly, address compression is
> allowed for the next hop field and therefore this TLV would actually not be
> self-terminating. What do I miss?

Address compression is only allowed in Update TLVs (the only compression
mechanism allowed in NH is AE 3).  I've clarified that.

> 2) This document needs to specify a registration policy also for each of  the
> already existing registries given this document obsoletes RFC7557.

Ok.

> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------

> 1) While this point might not raise discuss-level, it would probably also be
> good to provide more concrete advise on how to implement jitter: Sec 3.1.: “  

Expanded this in 3.1.  Removed from Section 4.

> 2) Sec 4.1.2. (Router-Id) should probably state again that the router-id is
> assumed to be unique within a domain.

No, this section only defines the datatype, which is carried by Router-ID
TLVs.  It does not define the local Router-ID field, which is part of the
data structures.

> 3) Sec 4: “The most-significant bit of the sub-TLV, called the mandatory bit,
>    indicates how to handle unknown sub-TLVs.”

This has been clarified.

> I would recommend to also indicate this bit in the image.

The mandatory bit is part of the TLV Type (see the discussion with
Alvaro), this has been clarified.  I am not aware of a way to describe
that in a packet diagram.

> 4) Sec 4.4: “If a TLV has a self-terminating format, then it MAY allow
> a sequence of sub-TLVs to follow the body.”  Initially I wasn’t quite
> sure what you wanted to say here. I guess you say that the length would
> indicate a larger value that needed for the body and therefore a subTLV
> might be present? I recommend to clarify this here a bit.

Done.

Thanks,

-- Juliusz