Re: [homenet] Homenet protocol decisions

Dave Taht <dave.taht@gmail.com> Sun, 02 February 2014 19:20 UTC

Return-Path: <dave.taht@gmail.com>
X-Original-To: homenet@ietfa.amsl.com
Delivered-To: homenet@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5440E1A0100 for <homenet@ietfa.amsl.com>; Sun, 2 Feb 2014 11:20:48 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0
X-Spam-Level:
X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[BAYES_05=-0.5, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, J_CHICKENPOX_21=0.6, SPF_PASS=-0.001] autolearn=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 5swAFVlCyerP for <homenet@ietfa.amsl.com>; Sun, 2 Feb 2014 11:20:44 -0800 (PST)
Received: from mail-qc0-x235.google.com (mail-qc0-x235.google.com [IPv6:2607:f8b0:400d:c01::235]) by ietfa.amsl.com (Postfix) with ESMTP id 777C81A00FF for <homenet@ietf.org>; Sun, 2 Feb 2014 11:20:44 -0800 (PST)
Received: by mail-qc0-f181.google.com with SMTP id e9so9811306qcy.40 for <homenet@ietf.org>; Sun, 02 Feb 2014 11:20:40 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=fDOOs25VLMxUQz8YJ0Jji2z5EGlooYPSrFH+OiAc+II=; b=d9jyCx2vaRN2WRDaHdUtBu7IvOVqEZmrTxTpT7osborHrfXPvbhyPJbfvhobtC4WxW iHOYl89NS1/tLDGqoFX4HMX9ujd1iH6NEofagguU21i1+nQO9cJSSH18qkduXz62RFyk 4DSuTQYRCY9+Hp78/+F+ZwyXOAECZLW91MZ2QGs4ZAMRyGCAQtp0yZTUFzyCzPp/nzqW mJj8Qbsn4OGkp5ujUBLbx5rWniTE6rSVAZM49QiSymviXedMaVD7Zjxkwh8fYzq7OTg2 uoejpDM2n2BItLPSK88EnOipsRe/XQ7r4/j/Ge9ARBnwSIXdEBzx4rNUbKzc4ZO4I3Eo 536A==
MIME-Version: 1.0
X-Received: by 10.140.89.241 with SMTP id v104mr47992642qgd.27.1391368839918; Sun, 02 Feb 2014 11:20:39 -0800 (PST)
Received: by 10.224.42.70 with HTTP; Sun, 2 Feb 2014 11:20:39 -0800 (PST)
In-Reply-To: <52EE9559.6060406@gmail.com>
References: <C0F2DB0D-176D-4FDD-BC6A-8249DFDDF6D7@employees.org> <CAKD1Yr0OOFNb9LRhN2ANxR6s=Rfen2_svStnu_kc+6=AbokOyQ@mail.gmail.com> <alpine.DEB.2.02.1401310934020.11807@uplift.swm.pp.se> <CAKD1Yr0MOHvb7m5WofDO4GXTG7GdvrwrXbyEnZr0Cz54ZRLkDg@mail.gmail.com> <87bnyq2rhb.wl%jch@pps.univ-paris-diderot.fr> <CAKD1Yr0nssuLPk0Ebca3yUimhaFnrLHgKCNLtRYjthW9F_OAwQ@mail.gmail.com> <FA7793D8-4E9A-4AE2-943B-BC308D105D18@ericsson.com> <CAA93jw44L5ghswjHCqBbT7V-Zb92w4G2-eW9j1=DzbA5s41onA@mail.gmail.com> <52EE9559.6060406@gmail.com>
Date: Sun, 02 Feb 2014 11:20:39 -0800
Message-ID: <CAA93jw7A22yfUHDR+hAGZJHCdV_iPNfQvXELkCAJFZBo4p0j6Q@mail.gmail.com>
From: Dave Taht <dave.taht@gmail.com>
To: Brian E Carpenter <brian.e.carpenter@gmail.com>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Cc: Acee Lindem <acee.lindem@ericsson.com>, Lorenzo Colitti <lorenzo@google.com>, "homenet@ietf.org Group" <homenet@ietf.org>, Juliusz Chroboczek <jch@pps.univ-paris-diderot.fr>
Subject: Re: [homenet] Homenet protocol decisions
X-BeenThere: homenet@ietf.org
X-Mailman-Version: 2.1.15
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: Sun, 02 Feb 2014 19:20:48 -0000

On Sun, Feb 2, 2014 at 10:58 AM, Brian E Carpenter
<brian.e.carpenter@gmail.com> wrote:
> On 03/02/2014 06:15, Dave Taht wrote:
>> On Sun, Feb 2, 2014 at 8:47 AM, Acee Lindem <acee.lindem@ericsson.com> wrote:
>>> I agree. Also, since we already have to bootstrap an auto-configuring
>>> routing protocol, why not leverage this work to distribute other
>>> information?
>>
>> Because routing protocol authors are generally hostile to adding
>> what is effectively dhcp-like support to their protocols and daemons?
>
> I think there's a reason for that "hostility", which is that in some
> sense everything other than routing is less fundamental, and we need
> to protect routing from the rest by isolating it. If routing fails,
> nothing else can work, after all. So there's a tendency to keep
> the routing protocols "pure".

I will definately argue that a more extensible protocol than a routing
protocol or dhcp as currently defined is needed for configuration.

given the ubiquity of http servers, additional configuration could be
carried by propagating a configuration server url around (and or leveraging
sddp/upnp/pcp/dns-sd).

> However, the great thing about routing protocols is that they really
> are very close to autonomic, and we need that instead of traditional
> top-down configuration. Despite the protests, I detect hints of
> top-downness in many of the messages on this thread. Apart from
> external routes and available global prefixes, what else *needs*
> to be top-down in a homenet?

1) What time is it?

I would personally like it if ntp over ipv6 was encrypted and
multicast within your own borders. I'd settle for all boxes within a
homenet agreeing on the same set of what local time servers are
definitive.

2) Where are my dns server(s)? What do they serve addresses for? The
dns scoping problem has not been addressed here, and it gets horribly
complex rapidly in the presence of multiple isps, vpns, and other
services like the nest stuff. Your vpn is probably going into split
dns in particular...

3) As a couple straw men...

my opposition to iw10 universally is probably pretty well known. The
relevant rfc and research in favor of it was skewed in favor of stuff
coming from high speed/high bandwidth servers...

http://tools.ietf.org/html/draft-ietf-tcpm-initcwnd-00

...instead of the behavior of apps sending stuff from your local (much
slower) network to the internet.

http://tools.ietf.org/id/draft-gettys-iw10-considered-harmful-00.txt

The observable spike from iw10 is quite large on egress from slower
networks, and especially damaging on single queue aqm systems like
codel and pie.

now it turns out iw10 (initcwnd), mtu, and can be set on a per route
basis (at least in linux), and I would not mind at all if my route to
the each source specific gw to the internet from my slower net
advertised a saner iw, and correct pmtu.

That is pretty top-down, and it would be probably best to carry that
info in the routing protocol. (/me ducks)

4) There is a long list of things supplied currently by dhcp, many of
which are obsolete (impress server anyone?), that would be worth going
through in detail. I imagine that there are multiple rfc's following
this one:

http://tools.ietf.org/search/rfc2132

there are many lessons to be learned from dhcp.

>
>    Brian
>
>>
>>> Acee
>>>
>>> On Feb 2, 2014, at 12:45 AM, Lorenzo Colitti wrote:
>>>
>>> On Sat, Feb 1, 2014 at 6:11 PM, Juliusz Chroboczek
>>> <jch@pps.univ-paris-diderot.fr> wrote:
>>>>> And what happens when the routing protocol finds out that, even though
>>>>> the
>>>>> delegation protocol thinks everything is OK and addresses were delegated
>>>>> just
>>>>> fine, the network is now partitioned? How do you reassign addresses in
>>>>> that
>>>>> case?
>>>> I fail to see how this particular functionality requires merging the
>>>> two protocols.  If a link is partitioned, you need to time-out the
>>>> address assignments made by the now unreachable router.  Whether they
>>>> are timed out by the routing protocol or by a separate configuration
>>>> protocol is pretty much an implementation detail, isn't it?
>>>
>>> The routing protocol knows that the network is partitioned because that's
>>> what it does. How is the configuration distribution protocol going to know
>>> that? Either you couple it to the routing protocol, or you have it poll to
>>> see if things have changed (inefficient and/or slow to notice changes). Why
>>> would you do the latter?
>>
>> Several comments:
>>
>> 1) The synchonicity problem exists for multiple layers of the stack.
>> Take DNS for example, when addresses change, dns needs to change also.
>> It's very hard with any form of centralized server for dns to make
>> that fast or atomic.
>>
>> 2) All the interdependencies on config and routing and dns for a
>> highly dynamic ipv6 world are forcing daemon writers to adopt a
>> software bus structure to broadcast and respond to changes to various
>> subsystems controlled by various daemons.
>>
>> In the linux world at least, system configuration information is
>> propigated between daemons mostly along the dbus, and the openwrt folk
>> have implemented a ubus that is lighter weight, that communicates
>> between dhcpv6, dns, dhcpv4 and other daemons.
>>
>> So what's needed is a clear delination of responsibilties for
>> acquiring and pushing out changes to the underlying network
>> architecture, and it doesn't matter what protocol on the wire those
>> run over.
>>
>> 3) So far in dealing with highly dynamic ipv6, and poor interfaces to
>> DNS in particular in the real world, I despise it and go back to
>> wanting a /48 distributed with my house, or at least, some way to buy
>> one from my ISP.
>>
>> 4) In my case at least the prefix distribution problem aint'  problem
>> 'cause I just ship /128s everywhere I need 'em with AHCP.
>>
>> /me ducks
>>
>> Yes, distributing prefixes is needed.
>>
>> 5) To finally get to your own point, there is no need to poll at the
>> protocol level, the daemons on the responsible routers need be aware
>> of changes and push them. Ideally there is some level of
>> authentication involved,
>> particularly in changes pushed like "forcibly retract this ipv6 prefix
>> and use this one instead because my provider just changed me for no
>> f-ing good reason")
>>
>> We've demonstrated that a protocol like AHCP can do that, (and nobody
>> is suggesting that AHCP as currently defined is sufficient, it merely
>> serves as a convenient counter-example to the
>> embed-everything-in-the-routing protocol thread, that anybody can
>> install and run, as it's been available in linux for 6+ years....)
>>
>> 6) A well defined set of TLVs and actions for border discovery, nat
>> detection in ipv4, and carrying dns, ntp, and other core services is
>> needed no matter how they are distributed.
>>
>> 7) I generally despair of this entire debate, and wish more people
>> were writing code, doing experiments, and working inside the real
>> world. I hate that this discussion has ratholed on the method of
>> distribution, rather on than on "what configuration information needs
>> to be propagated inside the home on zigbee, wifi, lte, moca, homeplug,
>> in order to have grandma be able to get her pr0n and meds from her
>> high-tech wheelchair. "
>>
>> me, for example, am observing how src/dst routing works in the real
>> world, and am trying to improve it, deal with bcp38 and vpn
>> technolgies, etc. There is a lot of work to be done to defeat in
>> detail all the existing problems, and I argue strongly for trying
>> stuff, iterating, and trying more stuff, until a viable
>> standard for these problem emerges...
>>
>> ... and that, is probably the basic beef I have in modifying an
>> existing routing protocol. Solving configuration distribution and
>> border discovery, and nat detection, and core service distribution -
>> needs a design small, flexible, and rapidly iterate-able, and
>> *separate*, for these problems.
>>
>> I certainly wish we could foresee all problems in advance; we
>> obviously can't (two years on this thread running), something flexible
>> and iterate-able is needed.
>>
>>> _______________________________________________
>>> homenet mailing list
>>> homenet@ietf.org
>>> https://www.ietf.org/mailman/listinfo/homenet
>>>
>>
>>
>>



-- 
Dave Täht

Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html