Re: [babel] Summary of the top-secret unicast Hellos meeting

David Schinazi <dschinazi@apple.com> Wed, 19 July 2017 17:05 UTC

Return-Path: <dschinazi@apple.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 40671131A7B for <babel@ietfa.amsl.com>; Wed, 19 Jul 2017 10:05:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.321
X-Spam-Level:
X-Spam-Status: No, score=-4.321 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-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=apple.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 PVFKM3qDVoWx for <babel@ietfa.amsl.com>; Wed, 19 Jul 2017 10:05:24 -0700 (PDT)
Received: from mail-in2.euro.apple.com (mail-in.euro.apple.com [17.72.148.12]) (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 D5311131686 for <babel@ietf.org>; Wed, 19 Jul 2017 10:05:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; d=apple.com; s=mailout2048s; c=relaxed/simple; q=dns/txt; i=@apple.com; t=1500483918; h=From:Sender:Reply-To:Subject:Date:Message-id:To:Cc:MIME-version:Content-type: Content-transfer-encoding:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-reply-to:References:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=Q7RLMYsi/TBkVRfI+Zjbz9CcwT2gvd2WBSROwUt4YNM=; b=QtHAPWzTFZlAIN4aR2KZg1b8hrJ7L1IaY0r98r6IZgPSgSSnP875IvmubpEmVlS5 9DwGWdEB9kt501kSH2Ctrq5XtoOXaUl2OgczmdsLf1BiW2jgGXoozYu3pbBWy9Px lyG9GwYZrAyQwY1G5PIsQFOiy4sHxeZAaaj55OkSEMdFg9U/qFKruZ8a5JDPGTjl oqZ/TsDQcpjTU9KFvOcQjwoMkE5QN8DS+PkFuZiVr0v1Jf63ppirItvVGWMRVV6O IRdHwR+hjvdeaxEWDkJUJDAMa53xs1zAnewPUNFZ5biv53kUbwqEkOjslJL0HKL9 EKlQUEHu15GDeLq/kXihAA==;
Received: from relay2.euro.apple.com (relay2.euro.apple.com [17.66.55.12]) (using TLS with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mail-in2.euro.apple.com (Symantec Mail Security) with SMTP id 47.14.06273.E419F695; Wed, 19 Jul 2017 18:05:18 +0100 (BST)
X-AuditID: 1148940c-1926f9c000001881-a4-596f914e8a58
Received: from crk-phonehomebzp-sz03.euro.apple.com ( [17.72.133.83]) by relay2.euro.apple.com (Symantec Mail Security) with SMTP id A1.D6.07255.E419F695; Wed, 19 Jul 2017 18:05:18 +0100 (BST)
MIME-version: 1.0
Content-transfer-encoding: 7bit
Content-type: text/plain; CHARSET="US-ASCII"
Received: from [IPv6:2001:67c:370:1998:99f4:374a:496d:d0c7] (nat64-58.meeting.ietf.org [31.130.238.88]) by phonehome3.euro.apple.com (Oracle Communications Messaging Server 8.0.1.2.20170222 64bit (built Feb 22 2017)) with ESMTPSA id <0OTC00384KSSY800@phonehome3.euro.apple.com>; Wed, 19 Jul 2017 18:05:18 +0100 (IST)
Sender: dschinazi@apple.com
From: David Schinazi <dschinazi@apple.com>
In-reply-to: <87mv80xv95.wl-jch@irif.fr>
Date: Wed, 19 Jul 2017 19:05:12 +0200
Cc: babel@ietf.org
Message-id: <EA172B13-F2DE-4DF4-8BCB-45782E717DE9@apple.com>
References: <87mv80xv95.wl-jch@irif.fr>
To: Juliusz Chroboczek <jch@irif.fr>
X-Mailer: Apple Mail (2.3273)
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrOLMWRmVeSWpSXmKPExsUi6GTOo+s3MT/SoPOascWWRd0sFvNbl7E5 MHksWfKTyWPxlreMAUxRXDYpqTmZZalF+nYJXBmnZ/QwFzzXqJjxxLOB8bRCFyMnh4SAicSR y3uZQGwhge1MEj8nuMHET2w5yNrFyAUUP8Qo8fbSTUaQBK+AoMSPyfdYuhg5OJgF5CUOnpcF CTMLaEl8f9TKAlF/BGjO9D1g9cIC0hJdF+6yQtiuEit3z2AF6WUDajiwxggkzCmgIbF+xVUW EJtFQFWiqXMiG8RMIYkz12aAreIVsJE4MDMG4kx1if7XG8CmiwioSCyf9owd4mRZiVuzLzGD nCAh0MEmsXbqTeYJjMKzkFw9C+HqWUiuXsDIvIpRPDcxM0c3M89IL7W0KF8vsaAgJ1UvOT93 EyMouD2m8OxgvHjQ8BCjAAejEg9vbJxvpBBrYllxZS4wdDiYlUR4hSfkRwrxpiRWVqUW5ccX leakFh9ilOZgURLnNSmVjxQSSE8sSc1OTS1ILYLJMnFwSjUwbjDvdPh/bF1Y7cb/qipSm3gU DBTCuNe3GzN5HMrMN5r989OFvyF2HX8Fv9fvNC7/o1sUnfY7Jk7iV8yv1meGEt/+H3s6+RVv xrdHa6UqjT/eVWn2n80e8f+VW5loRhHPDbMZa2eEGJxxWn9CXlDTbtF12wy9s/svzCsUWPkp +u4dn7mTZsZbKLEUZyQaajEXFScCACqYDKxqAgAA
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrALMWRmVeSWpSXmKPExsUi6NEarOs3MT/S4MkcQ4sti7pZLOa3LmNz YPJYsuQnk8fiLW8ZA5iiuGxSUnMyy1KL9O0SuDJOz+hhLniuUTHjiWcD42mFLkZODgkBE4kT Ww6ydjFycQgJHGKUeHvpJiNIgldAUOLH5HssXYwcHMwC8hIHz8uChJkFtCS+P2plgag/wiTx c/oesHphAWmJrgt3WSFsV4mVu2ewgvSyATUcWGMEEuYU0JBYv+IqC4jNIqAq0dQ5kQ1ippDE mWszwFbxCthIHJgZAxIWElCX6H+9AWy6iICKxPJpz9ghTpaVuDX7EvMERoFZSA6dhXDoLCSH LmBkXsUoWpSak1hppJdaWpSvl1hQkJOql5yfu4kRFI5O5jw7GF8dNDzEKMDBqMTD+7MtP1KI NbGsuDIXGBwczEoivHHdQCHelMTKqtSi/Pii0pzU4kOM0hwsSuK8BQ8jIoUE0hNLUrNTUwtS i2CyTBycUg2M59MWry8V3Sa3OuLw9WbvzmPWgXLJl/6ty5sQbNJVnh78bovEge7tG9+xere/ 5Xtz4Yjlaf9mrQevZG7rV+k/fxe6W/zMpQkz/Ns+XPK8UfBwamTr3MgfFbclH5wziYjvUT78 t63eKcHl4/JD9SkcnXsv/j2+64l63eUje1W/aczlexwY4nF0rhJLcUaioRZzUXEiALFRHWZD AgAA
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/B2D4tIOpTgoxeVXKDzDTKn_hiEM>
Subject: Re: [babel] Summary of the top-secret unicast Hellos meeting
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: Wed, 19 Jul 2017 17:05:26 -0000

To clarify what I think Juliusz means when he says Unicast Hellos are "optional":

- parsing both unicast and multicast (and the UNICAST flag) is a MUST
- however, how nodes reacts to these Hellos is up to implementations

(Even in 6126 a node can decide to parse a Multicast Hello and
set a cost of infinity or even ignore that neighbor)

So implementations need to be aware of both kinds of hellos, but
they do not need to form neighbor relationships with all of them.

David


> On Jul 19, 2017, at 18:10, Juliusz Chroboczek <jch@irif.fr> wrote:
> 
> Dear all,
> 
> TL;DR version: we keep unicast Hellos but make them optional.  We write
> this up in the rfc6126bis draft, and see how well it reads.  We then
> request feedback on the list.
> 
> You may now skip the rest of this mail.
> 
> First, some background.  Hellos in Babel carry a monotonically increasing
> sequence number (seqno) which must be synchronised between sender and
> receiver.  Since there is a single seqno per outgoing interface, every
> Hello MUST be sent to all neighbours on each interface -- either over
> multicast (RFC 6126) or over exhaustive unicast (allowed in rfc6126bis,
> insight due to Margaret).  There is some desire -- expressed most vocally
> by David and Toke -- to send Hellos over unicast to different neighbours
> at different times, which requires either getting rid of the seqno or
> adding a per-neighbour outgoing counter in addition to the per-interface
> counter.
> 
> Russ White sent me a series of (private) mails that gave some insight into
> the issue.  In general, the Babel protocol specifies only very loose
> coupling between sender and receiver, which makes the protocol easy to
> evolve in a compatible manner.  Not so with the Hello sub-protocol: the
> sender and receiver seqnos are tightly coupled, which makes this
> sub-protocol difficult to evolve.  I think this analysis is spot on.
> 
> We started the meeting with me giving some background into the problem
> (roughly speaking the two paragraphs above).  We then did some
> brainstorming about what solutions we see: a new type of "unicast" Hello
> (David and Toke's proposal, in the current version of the draft).  A new
> type of seqno-less Hello (my proposal, but it has a serious flaw -- Hello
> and seqno-less Hello would support different sets of sub-TLVs).  Removing
> the seqno from Hellos and bumping the protocol version number to 3
> (Matthieu's proposal, rejected since we're happy with version 2).  As well
> as some more convoluted ideas (names of the authors withheld in order to
> protect the guilty, but I'll be happy to gossip over a beer).
> 
> During this discussion, there were a few interesting insights.  Margaret
> expressed some doubts about the usefulness of different Hello intervals
> for different neighbours.  She noted that our intuition that one should
> reduce the Hello interval for marginal neighbours might be incorrect:
> quite the opposite, since with a shorter interval short-term outages might
> be spuriously detected as link drops.  Agreed, although the length of the
> window is not necessarily related to the interval.  More experimentation
> and experience is needed.
> 
> David expressed some ideas about using driver data instead of Hello drop
> rate.  We agreed that this might be mentioned in Appendix C, but is only
> reasonable for implementors that control the whole OS.  (I wonder who that
> can be.)
> 
> Matthieu suggests that we might want to test both multicast and unicast
> reachability before using a neighbour for routing, since unicast-only link
> failures happen sometimes.  David noticied that IHU does that.  Matthieu
> noticed that IHU can be sent over multicast too (and is in the reference
> implementation, ndlr).
> 
> IHU with AE 0 is used by David over unicast only.  He's in favour of
> leaving it in the protocol, but forbidding it for multicast.  I disagree,
> I'll write that up on the list.
> 
> At this point, the discussion was moving away from the Unicast hellos, so
> we decided that we don't have an idea that is significantly better than
> the current David-Toke proposal (there was one dissenting voice).  We went
> back to my mail of yesterday evening, and there was clear consensus on the
> following two points:
> 
>  - we leave unicast Hellos in (no to proposal 1);
>  - we don't delegate them to a future ducument (no to proposal 2).
> 
> Right now, the document contains a mild contradiction: you MUST be able to
> parse unicast Hellos, but you are allowed to essentially ignore them.  We
> have agreed that we're going to tweak the document to make unicast Hellos
> more optional, and see whether we can make it so it gives more convincing
> advice to the implementor.
> 
> Therefore, we'll try to write up proposal 3 -- keep the packet format, but
> make it somewhat more optional.  The actual protocol will remain mostly
> unchanges, only the level of MUST-ness will shift.
> 
> Thanks to everyone,
> 
> -- Juliusz
> 
> _______________________________________________
> babel mailing list
> babel@ietf.org
> https://www.ietf.org/mailman/listinfo/babel