Re: [homenet] draft-boutier-homenet-source-specific-routing-00

Juliusz Chroboczek <jch@pps.univ-paris-diderot.fr> Tue, 09 July 2013 14:50 UTC

Return-Path: <jch@pps.univ-paris-diderot.fr>
X-Original-To: homenet@ietfa.amsl.com
Delivered-To: homenet@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BB61E21F961F for <homenet@ietfa.amsl.com>; Tue, 9 Jul 2013 07:50:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.249
X-Spam-Level:
X-Spam-Status: No, score=-2.249 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_FR=0.35]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id srMRkNL1qPEp for <homenet@ietfa.amsl.com>; Tue, 9 Jul 2013 07:50:04 -0700 (PDT)
Received: from potemkin.univ-paris7.fr (potemkin.univ-paris7.fr [IPv6:2001:660:3301:8000::1:1]) by ietfa.amsl.com (Postfix) with ESMTP id A092221F8265 for <homenet@ietf.org>; Tue, 9 Jul 2013 07:50:03 -0700 (PDT)
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/38117) with ESMTP id r69EnwC0022606; Tue, 9 Jul 2013 16:49:58 +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 965094FABD; Tue, 9 Jul 2013 16:49:58 +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 QNRmEjWm9xcv; Tue, 9 Jul 2013 16:49:57 +0200 (CEST)
Received: from pirx.pps.jussieu.fr (bob75-6-82-238-73-9.fbx.proxad.net [82.238.73.9]) (Authenticated sender: jch) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id EAF534FAB8; Tue, 9 Jul 2013 16:49:56 +0200 (CEST)
Received: from localhost ([127.0.0.1] helo=pirx.pps.jussieu.fr) by pirx.pps.jussieu.fr with esmtp (Exim 4.80) (envelope-from <jch@pps.univ-paris-diderot.fr>) id 1UwZEq-0001DM-EP; Tue, 09 Jul 2013 16:49:56 +0200
Date: Tue, 09 Jul 2013 16:49:56 +0200
Message-ID: <87bo6bwzxn.wl%jch@pps.univ-paris-diderot.fr>
From: Juliusz Chroboczek <jch@pps.univ-paris-diderot.fr>
To: Lorenzo Colitti <lorenzo@google.com>
In-Reply-To: <CAKD1Yr1knC76T14bcGY3kbYBMNfhvC9vACjguNaWCdRXxZ-4UA@mail.gmail.com>
References: <7ippuz4fb8.wl%jch@pps.univ-paris-diderot.fr> <CAKD1Yr3HZOJecNP6hE1yOBdGAxxXzMb5W23aPm9XhZv0fzKBUQ@mail.gmail.com> <7ibo6iw7ch.wl%jch@pps.univ-paris-diderot.fr> <CAKD1Yr0_yZsvw58hwjY++9RJT9urkKbX33zzwTjyWGTKK7RoVg@mail.gmail.com> <87ehbdi33a.wl%jch@pps.univ-paris-diderot.fr> <CAKD1Yr0x=j0tvkM2X8bGw4T538mnm7CV592GBHO76dSVhGLE7w@mail.gmail.com> <87wqp0lal6.wl%jch@pps.univ-paris-diderot.fr> <CAKD1Yr1knC76T14bcGY3kbYBMNfhvC9vACjguNaWCdRXxZ-4UA@mail.gmail.com>
User-Agent: Wanderlust/2.15.9
MIME-Version: 1.0 (generated by SEMI 1.14.7 - "Harue")
Content-Type: text/plain; charset="US-ASCII"
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (potemkin.univ-paris7.fr [194.254.61.141]); Tue, 09 Jul 2013 16:49:58 +0200 (CEST)
Cc: "homenet@ietf.org" <homenet@ietf.org>
Subject: Re: [homenet] draft-boutier-homenet-source-specific-routing-00
X-BeenThere: homenet@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: <homenet.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/homenet>, <mailto:homenet-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/homenet>
List-Post: <mailto:homenet@ietf.org>
List-Help: <mailto:homenet-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/homenet>, <mailto:homenet-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 09 Jul 2013 14:50:10 -0000

> While I'm sure "lexicographic product of the longer-prefix
> orderings" is an elegant way of stating this, I doubt that the IETF
> would publish an RFC that says so, because its intended audience
> might not understand that language

Yes.  I've tried to avoid mathematical jargon in our draft, but I was
in a rush, and the formulation is somewhat clumsy (beginning of 2.2.2).
I think I've done a better job in RFC 6126 paragraph 3.5.1, where
I use a similar construction, we'll try to do something similar in the
next version of draft-boutier-homenet-source-specific-routing.

> This is the IETF, so you're certainly free (within reason) to trash
> him for writing something that you assert cannot be implemented,

This is not my objection.

Either you are describing the visible behaviour of routers, in which
case you should use a description sufficiently abstract to be useful
to reason about forwarding behaviours.  Or you're describing an
existing implementation, in which case you should describe the actual
algorithm.  It appears to me that your draft does neither -- it uses
fairly complex data structures while not claiming to describe an
actual implementation.

> Since we have now agreed that the two solutions are in fact the
> same, then any formulation that achieves the consensus of the
> working group is acceptable, as long as there is only one and not
> two.

We certainly don't want homenet routers to be too strongly constrained
(e.g. by a concrete algorithm).  There are three questions to ask:

1. Do different forwarding behaviours interoperate?

The general answer is no -- incompatible forwarding behaviours cause
persistent routing loops (Section 2.2.2).  However, there are
particular cases where everything works out, most importantly mixing
source-specific and ordinary next-hop routing (Section 4.1).  (Please
do not underestimate the importance of this property -- what it says
is that you can mix "legacy" routers with source-specific ones.)

2. Can we characterise a class of interoperable forwarding behaviours?

The hard property -- which we're currently working on reformulating in
a manner that avoids mathematical jargon -- is that a set of routers
will interoperate without persistent routing loops as long as their
forwarding behaviours have a common linearisation.  (This is actually
an equivalence -- you can construct topologies that yield a persistent
routing loop unless there exists a linearisation.  Which is a rather
cool property.)

The softer, engineering answer is given in Section 4.2.  The
formulation there is admittedly clumsy, we're working on it.

3. What class of forwarding behaviours do we want to allow in Homenet?

Clearly, we want to allow both source-specific, destination first
routing, and classical next-hop routing to live in the same routing
domain.  Do we want to allow TOS-specific and flow-id-specific?  Do we
want to allow doubly-specific strategies (e.g. both source- and
TOS-specific)?  (I call these "three-dimensional forwarding
behaviours", you'll understand why when you see the pretty pictures
I'm preparing for Berlin.)

I hope we can define a class of interoperable forwarding behaviours
that is both large enough to cover all of the above, and simple enough
that it can be expressed in comprehensible RFC-ese.

> Perhaps, but on the other hand, "this is the right thing to do because Fred
> Baker says so in private email" is not appropriate justification either.

This is a somewhat disingenious way of describing Section 2.2.2.

> Oh no, I'm not asking you to reformulate your work. I will, however, make the
> suggestion that if you would like the working group to adopt your work,

I think there's a misunderstanding here.
draft-boutier-homenet-source-specific-routing-00 is a description of
a working implementation of source-specific routing, that has the
"obviously right" behaviour, and that has been implemented over an
off-the-shelf operating system.  This draft was published in order to
request a slot at the Berlin meeting where I want to present this
work, describe a few of the remaining open problems, prompt further
discussion, and hopefully convince people to attempt their own
implementation.

I am very much surprised at spending so much time justifying the
existence of a draft outlining a working implementation of
a technology that is badly needed for the Homenet effort.

-- Juliusz