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

Lorenzo Colitti <lorenzo@google.com> Tue, 09 July 2013 15:21 UTC

Return-Path: <lorenzo@google.com>
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 2BD6C21F9D5C for <homenet@ietfa.amsl.com>; Tue, 9 Jul 2013 08:21:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.511
X-Spam-Level:
X-Spam-Status: No, score=-1.511 tagged_above=-999 required=5 tests=[AWL=-0.134, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, J_CHICKENPOX_33=0.6, NO_RELAYS=-0.001]
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 X35S0fPZORKe for <homenet@ietfa.amsl.com>; Tue, 9 Jul 2013 08:21:42 -0700 (PDT)
Received: from mail-ve0-x231.google.com (mail-ve0-x231.google.com [IPv6:2607:f8b0:400c:c01::231]) by ietfa.amsl.com (Postfix) with ESMTP id 26A6021F9968 for <homenet@ietf.org>; Tue, 9 Jul 2013 08:21:41 -0700 (PDT)
Received: by mail-ve0-f177.google.com with SMTP id cz10so4672949veb.22 for <homenet@ietf.org>; Tue, 09 Jul 2013 08:21:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=AciJPDhRv/YHN9RBLC3FGZyjJhTsglxmiuBuNLd6KUs=; b=a26wMUgr9YMpi90vROIs4x3jnIT7jLgMcc/Tc3Nv79vglDr/GlL+cfE7+0mzPmQw2o tnCpMyr9Wwlt50+veNKxi0Kkqwbd61PlKAlrDfyfKb4HDQn+ntUa1MFhyPVb+9Oi9ELY KxenGREo3RNf//XiKGn/zT8oIdq0qQgiVzz4/kY1JLZYMkOX3zlFLFcvvabPXtsHKwWo RWaoRX+sz7qAKq8fGm1F95jaRYTZMNBbz7h9DSp9SnjZ7RBWzlBH2O1h5QXXF6ssNKbE dyd6BuaHZi26KpXwbdJDXjQLbD0u5qW2QwIXy27+OqAKpdjaQDUzI7FdNAD5dE1leXEV QSGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:x-gm-message-state; bh=AciJPDhRv/YHN9RBLC3FGZyjJhTsglxmiuBuNLd6KUs=; b=Wv5WMLVdsAH0cM6IUZWUQ4pBAC/w3sxm7/5pSFhdTynUKvtM0ZiufWWgQ0pXIvdCUn 9s8Sbi+cm6yp2KoKeTCO0g59s4awNh3Sr66I2GJoWF47Vo60q9E8TgmVrO+4dhOXjU4b uwQm3mkArRmjUOprfMb1OmFmYjqn6KraS5QzKyyt5P4tNm+kdlHoflAzYvtjXdHbSAvP BRg8MMUPx/gGyzUlCOR20vaG/ZaC2V04TFWUmfZCpPBFkh7aEJhYoSL+A4UC035KCfKW /iov8tud56lt2lWdmlpk3uPAik7wVgcDv6xypZZk0Ob/KktlnEVODJ62ejsKczDvg7E6 VJLg==
X-Received: by 10.220.68.144 with SMTP id v16mr16737271vci.76.1373383298917; Tue, 09 Jul 2013 08:21:38 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.217.141 with HTTP; Tue, 9 Jul 2013 08:21:18 -0700 (PDT)
In-Reply-To: <87bo6bwzxn.wl%jch@pps.univ-paris-diderot.fr>
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> <87bo6bwzxn.wl%jch@pps.univ-paris-diderot.fr>
From: Lorenzo Colitti <lorenzo@google.com>
Date: Wed, 10 Jul 2013 00:21:18 +0900
Message-ID: <CAKD1Yr3ELPTgMThisRRxO0WVTobAs5rgBiWVFJkGb=wy_Us93w@mail.gmail.com>
To: Juliusz Chroboczek <jch@pps.univ-paris-diderot.fr>
Content-Type: multipart/alternative; boundary="047d7b3a9386ac4c2304e115b744"
X-Gm-Message-State: ALoCoQmtEyXz35yqMy8XoYuEf94p79RryPvlVwphovUsdoLwNoOqYYom/yu9yRDeqyTQlUMPymecCAH2FUxH1BRtA4CjnI2aXpxvH5P4IB2TBOLaeM0+IzHMcxPKILFMb8DQk8/yNb4maFBU7SMtWGapqFQ4ilxIJZqov+EkXuq15c/sFKoOd+kJVqxbPSZINX8G5cBaxULs
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 15:21:43 -0000

On Tue, Jul 9, 2013 at 11:49 PM, Juliusz Chroboczek <
jch@pps.univ-paris-diderot.fr> wrote:

> > 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.
>

The intent was to document something that did not unnecessarily constrain
implementations but was detailed enough to be clear unambiguous. I agree
it's not universe-harmonizingly elegant, but on the other hand, the
documents have to be understood by implementers who aren't always experts
in graph theory.

I do think there's a decent balance there, but of course it could always be
improved. We welcome suggestions.


> 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.
>

Personally, I think you're being a bit too optimistic on what is possible
in the real world. I do think it's good to document the circumstances under
which things are likely to work, but I fear that we won't actually be able
to take advantage of them because we won't be able to know if we're in one
of the working cases. So if we end up in a broken topology, most of the
time routing is dead in the water anyway.


> 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.


If we can achieve this in a sufficiently large set of topologies.
Otherwise, it's possible that it's better to explicitly not support this
mode rather than attempt to support it only if the topology works.


> Do we want to allow TOS-specific and flow-id-specific?


Personally, I don't think so. I think source+destination routing is about
as much as we can reasonably pull off in the real world. Others may
disagree (and I know many people believe that even just src+dst is
impossible to deploy in the real world).


> > 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.
>

I'm just repeating what you wrote.


> 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.
>

Then perhaps the problem is that instead of an implementation report, it
reads a bit like a scientific paper, with its own introduction and
characterization of the problem (which overlap with the existing work in
this working group), and partly like a specification (but an underspecified
one - for example, it doesn't say what the disambiguation looks like). And
the implementation report itself is unofrtunately lacking crucial details
like what the limitations of current OSes are and what "disambiguation
routes" need to look like, how often they appear in practice, etc.)

I have no problem with the implementation report - in fact, I look forward
to more details when you write them up. But I do think that the part of
your draft that is the implementation report should its own document,
separate from anything else, and I do think that the characterization part
should be in a separate document, either [TROAN], to which the authors do
welcome constructive criticism, or, if the working group thinks otherwise,
something else.

But putting everything in one document is not a good idea. It's true that
this is not how most documents, including as scientific papers, are
written, but on the other hand, IETF RFCs are a more collaborative
environment than your average scientific journal.