Re: [babel] Adding two babel milestones

Toke Høiland-Jørgensen <toke@toke.dk> Thu, 27 May 2021 16:20 UTC

Return-Path: <toke@toke.dk>
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 DE8163A1591 for <babel@ietfa.amsl.com>; Thu, 27 May 2021 09:20:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=toke.dk
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 2SrJgXAhauQa for <babel@ietfa.amsl.com>; Thu, 27 May 2021 09:20:34 -0700 (PDT)
Received: from mail.toke.dk (mail.toke.dk [IPv6:2a0c:4d80:42:2001::664]) (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 EDE043A158B for <babel@ietf.org>; Thu, 27 May 2021 09:20:33 -0700 (PDT)
From: Toke Høiland-Jørgensen <toke@toke.dk>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=toke.dk; s=20161023; t=1622132425; bh=00/y1leFI4l9EVtSxUqF0ghO4q9VOn1nIHwsYCfO04k=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=LzeV2AD5eYedHRxQh+B5YKrQ3OiGijAwtMzvxMyiBJXUQ/6EYWUpy5zZHZTMEwym+ Ap/9YOx8u5n48o8h5r3vtzFUXMOE+RGYNlzz0IblcasUvRO/0WTodMHnac/zbP82So XF1Gs5/EYML8lMxT4KBkYxB7A6ot/FBu30dCeOjJkUTfCCkjsUn8xvXa7dQ88UrnT6 g5S8QgeOsNpvtyOn3j7cyv22iet3H1zooPNPT2tXa1U/0OChiXpJiux7WDJOU2EkqH NGdziGfpebJQ2aqx/VGQTpjKd6cJuRhhdz+3iMdIzi2KYnOYa/dKujKAZ0tIQnk4jq xryxahFhRITbA==
To: David Schinazi <dschinazi.ietf@gmail.com>, Donald Eastlake <d3e3e3@gmail.com>
Cc: Babel at IETF <babel@ietf.org>, Juliusz Chroboczek <jch@irif.fr>
In-Reply-To: <CAPDSy+7rnxrZDkfUzRGsyaj+RUFxBEyDubETrzx5huFSb3eUxw@mail.gmail.com>
References: <CAF4+nEFuQ8zvaxKTkBTqb3q_gQWTMYJDF+GQTz-A1OPPkrj1Ag@mail.gmail.com> <87v976voss.wl-jch@irif.fr> <CAF4+nEG0rJ7ykAuoUS8VoC2XvEk5VvmHiykmGMyvyPP1OcQhJQ@mail.gmail.com> <CAPDSy+61k62heXUc4SVutKKkOVoYFj+SOyWRuE-2dybaFo62xA@mail.gmail.com> <CAF4+nEEeXhuTsDR-YFBXhGUwvfFaiLmjb0+V8LZm7Ns-7y31fA@mail.gmail.com> <CAPDSy+5kA4N32ZOjKbn7r4bs1VjDhxAj-SdBeTk2UFNUyV0cYw@mail.gmail.com> <CAF4+nEHQOUu6fk9xj71FXjwTV8tMG9ZFqZeKC=5pDjkKStdPWA@mail.gmail.com> <CAPDSy+7rnxrZDkfUzRGsyaj+RUFxBEyDubETrzx5huFSb3eUxw@mail.gmail.com>
Date: Thu, 27 May 2021 18:20:24 +0200
X-Clacks-Overhead: GNU Terry Pratchett
Message-ID: <87tumogncn.fsf@toke.dk>
MIME-Version: 1.0
Content-Type: text/plain
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/GdqQW6u2q6wFA7r5GZO-DLWEeoA>
Subject: Re: [babel] Adding two babel milestones
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: Thu, 27 May 2021 16:20:46 -0000

David Schinazi <dschinazi.ietf@gmail.com> writes:

> On Thu, May 27, 2021 at 6:54 AM Donald Eastlake <d3e3e3@gmail.com> wrote:
>
>> Hi David,
>>
>> On Wed, May 26, 2021 at 2:41 PM David Schinazi <dschinazi.ietf@gmail.com>
>> wrote:
>> >
>> > On Tue, May 25, 2021 at 9:02 PM Donald Eastlake <d3e3e3@gmail.com>
>> wrote:
>> >>
>> >> Hi David,
>> >>
>> >> On Tue, May 25, 2021 at 8:24 PM David Schinazi <
>> dschinazi.ietf@gmail.com> wrote:
>> >> >
>> >> > Adding "IESG submission of IPv4 via IPv6" as a
>> >> > milestone is fine by me, because we're about to do that
>> >> > anyway. I've never found milestones to be useful, so
>> >> > I'm not sure there's any benefit in doing this as opposed
>> >> > to just submitting the draft for publication.
>> >>
>> >> I think milestones give an idea of what the WG has accomplished or may
>> >> accomplish in the future. They sort of supplement the Charter. But I'm
>> >> willing to admit that the "IESG submission of IPv4 via IPv6" doesn't
>> >> add that much. On the other hand, it's mostly the Chairs doing the
>> >> work to modify/track the set of milestones.
>> >
>> > To clarify, I don't object to the chairs creating a
>> > "IESG submission of IPv4 via IPv6" milestone.
>>
>> OK.
>>
>> >> ...
>> >>
>> >> > Regarding the "WG adoption of a Babel multicast draft"
>> >> > milestone, I would personally like to see such a draft
>> >> > written and discussed at a WG meeting before a
>> >> > milestone is added. That would ensure that we have folks
>> >> > willing to do the work for this to happen.
>> >>
>> >> I don't see why a milestone can't be aspirational.
>> >
>> > Does the aspiration reflect WG consensus? My understanding
>> > is that we're a very implementation-driven WG, and I'd prefer to
>> > have aspirations reflect what implementers aspire to build.
>> > Alternatively, hearing from someone who runs a Babel network
>> > telling us that they have a need for multicast would also be great.
>>
>> No consensus call has been made.
>>
>> >> > I disagree with Donald's statement that "a routing system that
>> >> > doesn't handle both unicast and multicast seems incomplete",
>> >> > because I have yet to find a general-purpose use-case for
>> >> > non-link-local multicast whereas unicast is general-purpose :-)
>> >>
>> >> What makes one use "general" and another "special"?
>> >
>> > I'd say "general-purpose" means there are several applications using
>> > it, whereas "special-purpose" is for a single application.
>>
>> See below for a couple of applications.
>>
>> >> What is a "link"? Say you have a network of Babel routers. Some
>> >> communicate by radio where the transmission on one of its radios by a
>> >> router may be received by zero, one, or more other routers. Some
>> >> communicate by wire/Ethernet but some of those connections are bridged
>> >> so those inter-router connections are more stable but can be
>> >> bi-lateral or multilateral. What exactly is a link in this network?
>> >
>> > My personal definition is: two devices are on the same link if they can
>> > hear each other's Babel Hellos and IHUs.
>>
>> Ahhh, so you meant a Babel link.
>>
>> >> I tend to think of multicast as being either discovery multicast or
>> >> application multicast. For application multicast, generally you can
>> >> use head end replication and unicast which is less efficient in terms
>> >> of link utilization and generally has higher latency due to multiple
>> >> copies being sent on a link but might be simpler; on the other hand,
>> >> if there are lots of sources and multicast groups, these head ends
>> >> have to all keep track of who to unicast to. For discovery, you can't
>> >> do everything with unicast because, by definition, you want to be able
>> >> to find nodes that you don't know about yet; but you can probably get
>> >> away with unicast + link local multicast for some definition of link.
>> >> So I agree you can find some way to do everything with unicast and
>> >> link local multicast but that doesn't mean it is the best way to do
>> >> everything.
>> >
>> > In my mind, the best way to perform discovery is to combine unicast
>> > and link-local multicast. That's what we use in DNSSD which is AFAIK
>> > the IETF-recommended way to perform service discovery.
>>
>> OK for discovery although I'm not aware of anything that explicitly
>> states that that is an IETF recommendation.
>>
>>  Here are the first two application multicast uses that come to mind:
>>
>> Say you have a provider network with multiple tenants attached.
>> Multicast packets arriving from a tenant need to be sent out to other
>> islands of that tenant connected to your provider network. I don't
>> want to get too bogged down in details of topology and optimizations
>> and stuff but I think that some form of tree distribution is needed to
>> scale. Interconnecting pieces of the same VLAN is similar. 802.1
>> bridging and TRILL routing are examples of complete packet forwarding
>> systems that handle unicast and multicast and build such distribution
>> trees.
>>
>
> In this example, what's the application? What application data are the
> multicast packets arriving from a tenant carrying?
>
> Another application is streaming media. IP-TV in access networks
>> pretty much always uses multicast.
>>
>
> Definitely agree with this example, I think it's the main use of
> non-link-local multicast on the Internet today.
>
> All this said, if you really want to add the milestone, I'll back off.
> I'm just commenting that this would be the first milestone we have
> that wasn't backed by support from implementers of Babel.

In my view, having multicast support in Babel would be quite cool just
for this use case. I know people who do this with spanning tree today
(although the chances of them switching to Babel are slim).

However, it would very much be an aspirational "nice to have" thing for
my part at least. As in, I sadly don't think I can commit many cycles to
actually working on adding such support... :(

-Toke