Re: [babel] Restarting nodes and seqno requests

Toke Høiland-Jørgensen <toke@toke.dk> Mon, 30 April 2018 19:56 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 4B2CB126D0C for <babel@ietfa.amsl.com>; Mon, 30 Apr 2018 12:56:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.001
X-Spam-Level:
X-Spam-Status: No, score=-2.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, SPF_PASS=-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 iEhYIVVSw1PW for <babel@ietfa.amsl.com>; Mon, 30 Apr 2018 12:55:58 -0700 (PDT)
Received: from mail.toke.dk (mail.toke.dk [52.28.52.200]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 531AA1200B9 for <babel@ietf.org>; Mon, 30 Apr 2018 12:55:58 -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=1525118156; bh=0op/s0uSBQVzR6I9fwkLNToT6wiP6G1M0iDVd2eesC8=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=aAX0YR2PIYKUO4MwWtw9BZWWtbX0lFW71JAfUmLNn+XkV6cMBw+y+qrO+8sNx3PHn mzmpXNUwBMwQlo8FmaSU9jY+mVAs4pN9vDec8C1hKHtIk/momqK+s1KqxP/L9f55Dy xcVgNyo6UhYRij/xjVAEuEiicWTtzukznadnsXPG0XWsCNPeF/dm3fQHZBaiRf0UHW /oecVK3xyKQBFcPPekeqEZf5fUYYFnYdkPDlyEkS19US0Aks8Msu9lM4Gbv48luXzX 96AZiRwzpC7rX5QYM9PwLfaVQlJdU/8ezo6vHjmKKX4rX6fIDPJfCqGalGxST4LI3G 1SP2uSbMlngew==
To: Juliusz Chroboczek <jch@irif.fr>
Cc: babel@ietf.org
In-Reply-To: <87h8nsxyzx.wl-jch@irif.fr>
References: <87po2h2b31.fsf@toke.dk> <874ljszz54.wl-jch@irif.fr> <87k1so3kqw.fsf@toke.dk> <87wowoyfxx.wl-jch@irif.fr> <87efiw3f4p.fsf@toke.dk> <87po2gy48k.wl-jch@irif.fr> <87tvrs33ho.fsf@toke.dk> <87h8nsxyzx.wl-jch@irif.fr>
Date: Mon, 30 Apr 2018 21:55:57 +0200
X-Clacks-Overhead: GNU Terry Pratchett
Message-ID: <87h8ns31v6.fsf@toke.dk>
MIME-Version: 1.0
Content-Type: text/plain
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/tceS-p5f_VtbP706TIL7PNSSQhI>
Subject: Re: [babel] Restarting nodes and seqno requests
X-BeenThere: babel@ietf.org
X-Mailman-Version: 2.1.22
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: Mon, 30 Apr 2018 19:56:00 -0000

Juliusz Chroboczek <jch@irif.fr> writes:

>>>> My implementation of the randomisation only randomises the top 32 bits,
>>>> so there's still a stable identifier. Maybe it would make sense to
>>>> default to this behaviour?
>>> 
>>> That would break the optimisation of using the low bits of the IPv6
>>> address to encode the router-id.
>
>> Bird doesn't do that anyway.
>
> That's five lines of code, and saves almost half the traffic in pure
> IPv6 meshes.

Right, well the reason I didn't include it was that Bird already has a
notion of a router ID (from BGP), which is 32 bits and based on v4
addresses. And it would be breaking assumptions to just override that.

It could conceivably be a switch, though...

>>> I'm not sure how you'd avoid router-id collisions, though.
>
>> By chance? With 32 bits of randomness, even in a moderately sized
>> network the chance of collision is quite low (which means that it will
>> not happen until it is the most inconvenient, of course...) :)
>
> With 100 nodes, probability of collision is 10^-6.  With 1000 nodes, it's
> 10^-4.  With 2000 nodes, it's 5*10^-4.  With 5000 nodes, it's 3*10^-3.
>
> I think we're at the very edge of comfort, which is why I chose 64
> bits in the first place.

Well, the collision domain would not be all nodes, only those with the
same configured router ID (or v4 address absent any configuration).

But yeah, you're not wrong :)


BTW, in the case where there *is* a stable identifier (whether its
EUI-64 or a v4 address), randomising only parts of the router ID would
be a way to keep the stable identifier? For the v4/32 bit case,
randomising the 32 bits is the obvious solution; for EUI-64 you could
just randomise the FFFE part? That way you could gain the reboot support
but still have stable(-ish) identifiers so you could find your node?

-Toke

-Toke