Re: [babel] Alvaro Retana's Discuss on draft-ietf-babel-rfc6126bis-12: (with DISCUSS and COMMENT)

Alvaro Retana <aretana.ietf@gmail.com> Wed, 07 August 2019 19:34 UTC

Return-Path: <aretana.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 B0FD0120694; Wed, 7 Aug 2019 12:34:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.903
X-Spam-Level:
X-Spam-Status: No, score=-1.903 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, HTML_OBFUSCATE_10_20=0.093, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001, URIBL_BLOCKED=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 ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Y8CumcGv6CMo; Wed, 7 Aug 2019 12:34:33 -0700 (PDT)
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com [IPv6:2a00:1450:4864:20::535]) (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 8D62B120693; Wed, 7 Aug 2019 12:34:33 -0700 (PDT)
Received: by mail-ed1-x535.google.com with SMTP id s49so52771905edb.1; Wed, 07 Aug 2019 12:34:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:in-reply-to:references:mime-version:date:message-id:subject:to :cc; bh=kgW9TU7+aLljogBqjLpXWjbF2sJ2fecLWkiiLKrH8lE=; b=Y7JXO629ZtTv1WIHaASyvhPr910/fQHQ4JjJDsawnvpr0g6ONshJ0dUyoWab3Km6ZP N7VPsGsn+L3YB/AErQNRwpW6tz62djHKwTXw9fhJwKcphrgkpbCJHTBeN3MUWuruymSP jzKvMFxGYdox3GMsYSbCl9iRWq8bjsITnFwrRMq6DRmh5QdWcQdVdXGJt8Nu0QTntenb ImXHeOTAiWxEFMWOkfslgYTFB9ZQ+0hAbVwcQAtrR7G0u3jbeMDesvkosnZ+txqRQTpz fV1cy5NhQK7uzYNEXC+iPc2MUYdFjAbYZVZthEJBhdRlzjj4YldHwKl3WBIq2oEHjrN3 ZcMg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc; bh=kgW9TU7+aLljogBqjLpXWjbF2sJ2fecLWkiiLKrH8lE=; b=meu1hzmh6mrOnnyWyuMlCN97uzsX5bONrJ0SctG8TJvkuVsfoVsmQItGYAELuPSoAu 7OL5XX9rLRzzlTQ1/8W/urg+dOHZUtlsiYmc8QZ7eOMotkJFPggxHJN+78hNjzCAPFxQ HDTZNj2nEQx/SSAEVt3zfexq+6XWm8VpJJSM5S2ZR3hRDIWskcTAeracXahG1SS9cKmI VB/av+HwydaYXIqRHreLhMXcrztY1mjxg6PT/OX1MQSV8wce9UX1AoXucGvaDnvLsy1c lBwQbEmNATZFlBpHXhiOQdP4Y5i89xwg1Q2WNXdH2eUDZK5CNzqdQpmkId1bVpFe27bc 0Qbw==
X-Gm-Message-State: APjAAAVvpmkjF1Mvrcu48nG7m+iz7NF/4Zh0W2+VU7tzlND45lprs8yG CQ1wlC1b5axN1ZTic4yE4w2rT7l2AyUmCb3dO9HaFMW1
X-Google-Smtp-Source: APXvYqwC4mtmkq94l8MVkptO7Qee4uO2j2EWJM9Qz8ATeX9TfwlDcNMe4K+28xCFrKrWjGFXTB4QC3i0k4AAIFr/eNg=
X-Received: by 2002:a17:906:264a:: with SMTP id i10mr9979970ejc.10.1565206472010; Wed, 07 Aug 2019 12:34:32 -0700 (PDT)
Received: from 1058052472880 named unknown by gmailapi.google.com with HTTPREST; Wed, 7 Aug 2019 12:34:30 -0700
From: Alvaro Retana <aretana.ietf@gmail.com>
In-Reply-To: <875zn9htem.wl-jch@irif.fr>
References: <156518456148.8400.6644665367614468260.idtracker@ietfa.amsl.com> <875zn9htem.wl-jch@irif.fr>
MIME-Version: 1.0
Date: Wed, 07 Aug 2019 12:34:30 -0700
Message-ID: <CAMMESszAEQasww4J1RhMLt4MYmzYmfSyB1aw5vha-1FboPPK4Q@mail.gmail.com>
To: Juliusz Chroboczek <jch@irif.fr>
Cc: babel-chairs@ietf.org, babel@ietf.org, Donald Eastlake <d3e3e3@gmail.com>, The IESG <iesg@ietf.org>, draft-ietf-babel-rfc6126bis@ietf.org
Content-Type: multipart/alternative; boundary="000000000000c3b06b058f8c0762"
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/Bkzx-P9GtORZZnLt4Tf0tcYopM4>
Subject: Re: [babel] Alvaro Retana'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: Wed, 07 Aug 2019 19:34:36 -0000

On August 7, 2019 at 11:44:34 AM, Juliusz Chroboczek (jch@irif.fr) wrote:

Dear Juliusz:

Hi!


> (A) Clear Defaults and Operational Guidance

> While I appreciate Babel's flexibility in terms of the ability to use
> different strategies, I believe that both defaults and clear guidance
> should be provided.

You'll doubtless agree that we must be careful here. We are in a universe
in which there exist perfectly good routing protocols that operators are
already comfortable with (notably OSPF and IS-IS). Babel's niche is the
ability to adapt to environments where OSPF and IS-IS do not work well; if
we restrict this flexibility too much, our niche vanishes.

> Given that "not all...strategies will give good results" and that in
> most cases these are listed as possible choices, I don't think that this
> document "has resolved known design choices" [BCP9/rfc7127]. The
> cost/metric computation and route selection specially concern me because
> I believe that a robust/clear specification is at the heart of any
> routing protocol.

The point here is that Babel will still converge and will still behave in
a loop-free manner whatever the algorithm chosen, as long as the conditions
described in Section 3.5.2 hold. (This is provably true in the case where
the metric is left-distributive, and believed to hold even if it is not.)

I'll expand on the description of the suggested algorithms in Sections 3.5.2

and 3.6. However, I shall not make it a MUST, for the reasons outlined
above.
I hope that's okay with you.

It doesn’t have to be a MUST, but I would really want to see something
RECOMMENDED.


> (A1) Clear defaults. For example, Appendix B talks about constants/default

> values. I would assume that, given the existing experience, that the
values
> there are probably sensible defaults. Is that not the case?

I liken this to BFD. RFC 5880 does not give any default values for its
timers, since the suitable values depend so much on the environment.

Look at rfc7419; it Updates rfc5880 to define a set of Common Intervals.
>From the Shepherd writeup: "While the draft recommends a number of timer
values, they are suggested for interoperability while not mandating that
any particular value be supported."



The values suggested in Appendix B are suitable for a reasonably stable
network where outages on the order of 6 to 10 seconds are acceptable. In
mobile networks, Hello intervals of 0.5 yield better results. To the
contrary, people running Babel over stable tunnels have been using much
larger intervals.

This is exactly what I’m looking for.  You don’t need to absolutely mandate
(MUST) specific settings, but can say “for these conditions (just like
above) then the RECOMMENDED settings are...”.   This opens the door because
“there may exist valid reasons in particular circumstances to ignore a
particular item, but the full implications must be understood and carefully
weighed before choosing a different course” [rfc2119], which is where the
second part (below) comes in.

> (A2) Operational Considerations. Given that Babel can be (and is) used
> in different environments, I would like to see guidance to operators as
> they deploy the protocol in their networks. An example of the type of
> discussion I would like to see expanded is: "a mobile node that is low
> on battery may choose to use larger time constants (hello and update
> intervals, etc.) than a node that has access to wall power" (§1.1).
> Consider §2 in rfc5706 (Operational Considerations - How Will the New
> Protocol Fit into the Current Environment?).

This is not clear to me. What exactly are you requesting here?

What should be the Operational Considerations for different environments
that (without explicitly mandating anything) will guide the operator to
change the recommended defaults?  For example, you mentioned above that
"people running Babel over stable tunnels have been using much larger
intervals”…ok, that’s good…why?  What are the characteristics of that type
of deployment that would make an operator consider different values?
Specifically, what would make them consider much larger intervals?  What
are the advantages?  What are possible disadvantages of not doing so?

IOW, if someone other than the implementers decide to deploy Babel, what
should they take into account when selecting a strategy or setting?


I hope this makes sense.

Thanks!

Alvaro.