[babel] Rationale for mixed unicast/multicast Hellos
Juliusz Chroboczek <jch@irif.fr> Sat, 08 April 2017 15:29 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 AF39C1243F3 for <babel@ietfa.amsl.com>; Sat, 8 Apr 2017 08:29:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.001
X-Spam-Level:
X-Spam-Status: No, score=-0.001 tagged_above=-999 required=5 tests=[RCVD_IN_DNSWL_NONE=-0.0001, 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 YFSYiVxIQKdv for <babel@ietfa.amsl.com>; Sat, 8 Apr 2017 08:29:51 -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 35D531201F8 for <babel@ietf.org>; Sat, 8 Apr 2017 08:29:51 -0700 (PDT)
Received: from potemkin.univ-paris7.fr (potemkin.univ-paris7.fr [IPv6:2001:660:3301:8000::1:1]) by korolev.univ-paris7.fr (8.14.4/8.14.4/relay1/56228) with ESMTP id v38FTm9U021026 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sat, 8 Apr 2017 17:29:49 +0200
Received: from mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [81.194.30.253]) by potemkin.univ-paris7.fr (8.14.4/8.14.4/relay2/56228) with ESMTP id v38FTmo4013455; Sat, 8 Apr 2017 17:29:48 +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 AE351D78B7; Sat, 8 Apr 2017 17:29:48 +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 Xm3v31P2IIYf; Sat, 8 Apr 2017 17:29:47 +0200 (CEST)
Received: from trurl.irif.fr (unknown [78.194.40.74]) (Authenticated sender: jch) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id 72FAAD78C3; Sat, 8 Apr 2017 17:29:47 +0200 (CEST)
Date: Sat, 08 Apr 2017 17:29:49 +0200
Message-ID: <87inme29zm.wl-jch@irif.fr>
From: Juliusz Chroboczek <jch@irif.fr>
To: mrcullen42@gmail.com
Cc: babel@ietf.org
In-Reply-To: <73C8A005-98F7-4E0F-AF96-D083905EBD22@gmail.com>
References: <87y3vcuuv8.wl-jch@irif.fr> <1344FE29-570C-4ECA-83C4-8AC400A347D6@inf-net.nl> <73C8A005-98F7-4E0F-AF96-D083905EBD22@gmail.com>
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 [IPv6:2001:660:3301:8000::1:2]); Sat, 08 Apr 2017 17:29:49 +0200 (CEST)
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (potemkin.univ-paris7.fr [194.254.61.141]); Sat, 08 Apr 2017 17:29:48 +0200 (CEST)
X-Miltered: at korolev with ID 58E901EC.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)!
X-Miltered: at potemkin with ID 58E901EC.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)!
X-j-chkmail-Enveloppe: 58E901EC.000 from potemkin.univ-paris7.fr/potemkin.univ-paris7.fr/null/potemkin.univ-paris7.fr/<jch@irif.fr>
X-j-chkmail-Enveloppe: 58E901EC.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 : 58E901EC.000 on korolev.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000
X-j-chkmail-Score: MSGID : 58E901EC.000 on potemkin.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000
X-j-chkmail-Status: Ham
X-j-chkmail-Status: Ham
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/BJwFoozwmNBEqsRKmvoTYQ5ZYys>
Subject: [babel] Rationale for mixed unicast/multicast Hellos
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: Sat, 08 Apr 2017 15:29:54 -0000
> I still think we would do better, in the limited cases where Unicast > hellos are needed because broadcast/multicast hellos are not possible > (secure links between neighbors or NBMA links) to just serialize any > hellos that would have been broadcast on those links with the > serialization feature enabled on a link-by-link basis. I know that's your use case, Margaret, but I'm trying to design a protocol extension that meets the three uses cases outlined in my mail dated 3 April 2017. I'll get into a little more detail below. > It has the benefit of being very simple to implement, and being > completely compatible with the current protocol. Agreed. > Why do we want to support a mix of unicast and multicast hellos on > a single link? The basic issue is that multicast Hellos are the only way to perform in-band discovery. (Not a concern for you, Margaret, since you do out-of-band discovery in your implementation.) Consider an implementation that performs authentication by sending all the protocol traffic over unicast and protecting it with DTLS. Such an implementation would send updates aggregated into large unicast packets, and occasionally piggyback a Hello/IHU pair into such a unicast packet. However, it would still want to announce itself to any new peers, so occasionally it would send an unauthentified multicast Hello on each interface. Now it would be possible to require that Hellos be sent to all peers on an interface, whether over multicast or multiple unicast, so that seqnos remain in sync. (I believe you're the one who suggested that, Margaret, or at least you're the person who gave me the idea.) I've considered that, but it has four problems: it complicates the implementation by adding a special case to the packet scheduler, it requires sending extra traffic to some unicast peers (think battery-powered devices that have a higher update interval than other peers), it breaks multicast link-quality estimation (in 802.11, ETX only works well over multicast), and finally it breaks the RTT extension (which is only effective if Hello and IHU are sent in the same packet, so the receiver can correlate timestamps). Altogether, I think that adding a new packet type for Unicast Hellos is the right tradeoff: it makes a weakly compatible protocol change (legacy implementations will fail to associate with unicast-only peers, but nothing will break), and finally it's conceptually manageable, without any fragile special cases. -- Juliusz
- [babel] Unicast Hellos -- conclusions so far Juliusz Chroboczek
- Re: [babel] Unicast Hellos -- conclusions so far David Schinazi
- Re: [babel] Unicast Hellos -- conclusions so far Teco Boot
- Re: [babel] Unicast Hellos -- conclusions so far Juliusz Chroboczek
- Re: [babel] Unicast Hellos -- conclusions so far mrcullen42
- [babel] Rationale for mixed unicast/multicast Hel… Juliusz Chroboczek
- Re: [babel] Rationale for mixed unicast/multicast… Ted Lemon
- Re: [babel] Rationale for mixed unicast/multicast… Juliusz Chroboczek
- Re: [babel] Rationale for mixed unicast/multicast… Ted Lemon
- Re: [babel] Unicast Hellos -- conclusions so far Gabriel Kerneis
- Re: [babel] Unicast Hellos -- conclusions so far Juliusz Chroboczek