Re: [v6ops] PI [ULA draft revision #2 Regarding isolated networks]

Philip Homburg <pch-v6ops-3a@u-1.phicoh.com> Mon, 02 June 2014 16:49 UTC

Return-Path: <pch-bBB316E3E@u-1.phicoh.com>
X-Original-To: v6ops@ietfa.amsl.com
Delivered-To: v6ops@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 573FD1A03AF for <v6ops@ietfa.amsl.com>; Mon, 2 Jun 2014 09:49:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.9
X-Spam-Level:
X-Spam-Status: No, score=-3.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, GB_I_LETTER=-2] autolearn=ham
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 ZtupGGRUgubK for <v6ops@ietfa.amsl.com>; Mon, 2 Jun 2014 09:49:25 -0700 (PDT)
Received: from stereo.hq.phicoh.net (stereo6.hq.phicoh.net [IPv6:2001:888:1044:10:2a0:c9ff:fe9f:17a9]) by ietfa.amsl.com (Postfix) with ESMTP id CC16C1A0360 for <v6ops@ietf.org>; Mon, 2 Jun 2014 09:49:24 -0700 (PDT)
Received: from stereo.hq.phicoh.net (localhost [::ffff:127.0.0.1]) by stereo.hq.phicoh.net with esmtp (Smail #91) id m1WrVQF-0000BcC; Mon, 2 Jun 2014 18:49:19 +0200
Message-Id: <m1WrVQF-0000BcC@stereo.hq.phicoh.net>
To: V6 Ops List <v6ops@ietf.org>
From: Philip Homburg <pch-v6ops-3a@u-1.phicoh.com>
Sender: pch-bBB316E3E@u-1.phicoh.com
References: <23125E9D-85A1-49EB-ACE6-DB5EAC67EE02@nominum.com> <CAKD1Yr0pvet1oOip-Y2Xi_h2mSZfW1R5HtfiAGbDEns0dY-d2A@mail.gmail.com> <2A4B72CD-EDF3-4D11-AC39-B65892F9173F@nominum.com> <CAKD1Yr2NH4Kca4EvhjN2XnDbt8F2eS56ipxu3npH9yOh1bmQaA@mail.gmail.com> <F12F173B-9FF2-4EF8-B11E-33AEDA24961F@nominum.com> <CAKD1Yr1cGx7UfxZaEhm7oHA5PLvghVc52oPVkEQF90_7Vm__vw@mail.gmail.com> <1FDC3A7F-15EC-4397-AF3E-10F86EA04228@nominum.com> <538BDA84.6030800@bogus.com> <37D09BEE-FEDF-4514-8CEB-62959A89C3FF@nominum.com> <538BE13C.7050900@bogus.com> <20140602081743.GP46558@Space.Net>
In-reply-to: Your message of "Mon, 2 Jun 2014 10:17:43 +0200 ." <20140602081743.GP46558@Space.Net>
Date: Mon, 02 Jun 2014 18:49:13 +0200
Archived-At: http://mailarchive.ietf.org/arch/msg/v6ops/YGbY63ylOfUmt2szjO-RidqeUjo
Subject: Re: [v6ops] PI [ULA draft revision #2 Regarding isolated networks]
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: v6ops discussion list <v6ops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/v6ops>, <mailto:v6ops-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/v6ops/>
List-Post: <mailto:v6ops@ietf.org>
List-Help: <mailto:v6ops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/v6ops>, <mailto:v6ops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 02 Jun 2014 16:49:26 -0000

In your letter dated Mon, 2 Jun 2014 10:17:43 +0200 you wrote:
>On Sun, Jun 01, 2014 at 07:28:12PM -0700, joel jaeggli wrote:
>> So don't asssume that every application needs to be aware of and test
>> for which path is working, not only is that needless complexity pushed
>> up into the stack. let your routers do their job and cease routing when
>> their upstream connectivity is lacking.
>
>Well.  It might not have been your intention, but what you said is very
>clear "we're not going to make multihoming in the homenet case work".
>
>In the case
>
>    host --> router --> ISP A ---->  ISP C --------+
>	       +------> ISP B ---->  ISP D ------> ISP E --> target
>
>where "host" has source addresses A and B, and there is a problem at=20
>ISP *C*, preventing connectivity via A->C->, how exactly is the homenet
>router "router" supposed to *know* that, or even solve it?
>
>OTOH, proper source address failover on "host" to source address B would
>very nicely solve this whole category of connectivity issues - and (by
>enforcing halfway symmetric return traffic via ISP B) would actually solve
>it *better* than BGP routing, which might need manual fiddling with the
>router to remove "ISP C" from the path.

One philosophical question is whether it is the host or network that is
responsible for dealing with such brokenness?

The nice thing about the IPv4 architecture is the split between the network
and the transport layer on the hosts: the network transports packets from
source to destination, occasionally dropping packets, reordering them and 
in extreme cases duplicating them.

The host transport layer retransmits and reorders packets and filters out
duplicates. Host do not know about the network, they just pass packets to 
the default router (or other routers in case of ICMP redirects).

Making the host resposible for good source address selection in case network
failures violates that model. 

If we make the router responsible dealing with failures, then it helps to 
separate mechanism from policy.

I think it would already help enormously if routers could inform hosts in a 
standard way what prefixes do and do not work. One option is to play
tricks with the preference lifetime RAs. But how does that work in the
context of DHCPv6? How do we update DNS? 

For policy, even if you would have to tell a router manually that link is 
broken, it would help already enormously if entire site would then reconfigure
automatically. 

Detecting a broken uplink can be added easily and is a very common cause of
failure.

Beyond that, many different types of pluggable detectors are possible.
If for me, say, github is important, then having a module that can poll a
website regularly would do the trick.

Beyond that having an SNMP interface would allow a separate measurement device
to inform routers about what has failed.