Re: [v6ops] my recommendation re: 6to4

"Templin, Fred L" <Fred.L.Templin@boeing.com> Sun, 02 November 2014 05:49 UTC

Return-Path: <Fred.L.Templin@boeing.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 73B481A6FBE for <v6ops@ietfa.amsl.com>; Sat, 1 Nov 2014 22:49:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.211
X-Spam-Level:
X-Spam-Status: No, score=-4.211 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 1TFxtsIOO2e1 for <v6ops@ietfa.amsl.com>; Sat, 1 Nov 2014 22:49:03 -0700 (PDT)
Received: from slb-mbsout-01.boeing.com (slb-mbsout-01.boeing.com [130.76.64.128]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 847E31A6FB9 for <v6ops@ietf.org>; Sat, 1 Nov 2014 22:49:03 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by slb-mbsout-01.boeing.com (8.14.4/8.14.4/DOWNSTREAM_MBSOUT) with SMTP id sA25n2JG022457; Sat, 1 Nov 2014 22:49:02 -0700
Received: from XCH-PHX-113.sw.nos.boeing.com (xch-phx-113.sw.nos.boeing.com [130.247.25.136]) by slb-mbsout-01.boeing.com (8.14.4/8.14.4/UPSTREAM_MBSOUT) with ESMTP id sA25mua6022441 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=OK); Sat, 1 Nov 2014 22:48:57 -0700
Received: from XCH-BLV-504.nw.nos.boeing.com ([169.254.4.66]) by XCH-PHX-113.sw.nos.boeing.com ([169.254.13.157]) with mapi id 14.03.0210.002; Sat, 1 Nov 2014 22:48:55 -0700
From: "Templin, Fred L" <Fred.L.Templin@boeing.com>
To: Owen DeLong <owen@delong.com>, Iljitsch van Beijnum <iljitsch@muada.com>
Thread-Topic: [v6ops] my recommendation re: 6to4
Thread-Index: AQHP9VzQ4wRvtBZjb0mzKuHwNHu235xK0P5wgAHCkfaAADw6QA==
Date: Sun, 02 Nov 2014 05:48:54 +0000
Message-ID: <2134F8430051B64F815C691A62D9831832D768B0@XCH-BLV-504.nw.nos.boeing.com>
References: <5454119C.3090601@network-heretics.com> <2134F8430051B64F815C691A62D9831832D75F09@XCH-BLV-504.nw.nos.boeing.com> <686FABB5-9A9E-4D0C-BD1A-19CA02A9C247@muada.com> <6D5306B6-0B01-43EB-9B7B-A1CCBE986A51@delong.com>
In-Reply-To: <6D5306B6-0B01-43EB-9B7B-A1CCBE986A51@delong.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [130.247.104.6]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-TM-AS-MML: disable
Archived-At: http://mailarchive.ietf.org/arch/msg/v6ops/4AmCOBlEPsSwD3_eYVjovUbh3G4
Cc: "v6ops@ietf.org WG" <v6ops@ietf.org>, Keith Moore <moore@network-heretics.com>
Subject: Re: [v6ops] my recommendation re: 6to4
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: Sun, 02 Nov 2014 05:49:07 -0000

FWIW, AERO works fine over ip-proto-41 when UDP is not needed. It's just that there
are lots of places UDP can go that ip-proto-41 can't - and that is without even taking
NATs into account. (UDP can also be easier to work with in application-layer
implementations, but that is a different subject.)

Also, ip-proto-41 does have path MTU challenges. We all know that PMTUD is
unreliable, which means the tunnel ingress has to set a "safe" MTU - usually to
something on the order of 1480 or smaller. But, that is incongruent with all of the
hosts that have become conditioned to expect an MTU of at least 1500. On top
of that, if the tunnel fragments at the IPv4 layer even after setting a "safe" MTU
there can be real problems. Unfortunately, after many years of study I finally
have to agree that *IPv4* fragmentation is indeed harmful.

The transitive connectivity question is an interesting one, and it may depend on
specific use cases and deployment scenarios. In enterprise networks, for example,
if A can send a tunneled packet to B, and B can send a tunneled packet to C, it does
not necessarily follow that A can send a tunneled packet to C. Chances are good
that it will work, but the best course of action is to test the path, i.e., even if you
take an initial optimistic leap of faith that the direct path works.

Thanks - Fred
fred.l.templin@boeing.com

> -----Original Message-----
> From: Owen DeLong [mailto:owen@delong.com]
> Sent: Saturday, November 01, 2014 6:46 PM
> To: Iljitsch van Beijnum
> Cc: Templin, Fred L; v6ops@ietf.org WG; Keith Moore
> Subject: Re: [v6ops] my recommendation re: 6to4
> 
> 
> On Nov 1, 2014, at 02:06 , Iljitsch van Beijnum <iljitsch@muada.com> wrote:
> 
> > On 01 Nov 2014, at 0:07, Templin, Fred L <Fred.L.Templin@boeing.com> wrote:
> >
> >> Just a couple of quick comments:
> >
> > Famous last words... Here are mine:
> >
> > I haven't followed the previous discussions, but what problem are we trying to solve, exactly?
> >
> > Yes, 6to4 has tons of issues. All the same, there are still people using it out there today, and I would hazard to guess that they don't
> have a better alternative. So why make life worse for them by going out of our way to kill 6to4?
> >
> > Implementations already prefer IPv4 over 6to4, so I don't think having 6to4 enabled causes too many problems these days anyway.
> >
> >>> 4.  However the above actions are labeled, they make it all the more obvious that the Internet community lacks an obvious,
> recommended, and generally-applicable IPv6-over-IPv4 tunneling mechanism that can be implemented in a host or router
> >
> >> Maybe, but it does  not necessarily need to be ip-proto-41 based.
> >
> > I'll go one step further and say it MUST NOT be protocol 41 based.
> 
> Why not? What's wrong with explicitly configured 6in4 tunnels? I'll grant they don't buy much vs. protocol 45 IPv6 in GRE/IPv4 tunnels,
> but there's a little less overhead and the mechanism is already defined, working, and in fairly wide implementation in various systems,
> routers, etc.
> 
> 
> >
> >> And, it need not be specific to IPv6-over-IPv4 - it would be much better to have a single mechanism that can support tunneling of
> IPvX-over-IPvY for any values of X and Y.
> >
> > Not so sure. If it's strictly IPv6-over-IPv4 there are many optimizations and simplifications that are possible.
> 
> That seems to argue for preserving 6in4 over protocol 41.
> 
> >
> > However, if we want to go down this path (and we should have done that 10 years ago, it could very well be too late now) I strongly
> suggest we do it right and start with requirements. Here are a few:
> >
> > - if at all possible, autoconfigure everything, if not, configuration should be limited to something no more complex than a
> username/password
> 
> APIs can accomplish this for 6in4, actually. It's not there yet, but there's no reason this couldn't be built on existing systems.
> http://tunnelbroker.net already does this for the "server-side" of the equation. Username/Password and basically point-click-tunnel.
> 
> > - must be reliable and predictable, so if A - B works and B - C works, A - C should also work 99.9% of the time
> 
> I would argue that is by and large the case with HE's protocol 41 tunnelbroker. Can you point to reasons you believe otherwise?
> 
> > - explicit reachability check, so traffic doesn't continue to be sent into a black hole
> 
> This would be a lovely addition, but I think it can be added either to the existing protocol 41 tunnels or on top of them.
> 
> For example, to some extent, my BGP over 6in4 tunnels have this feature for some interpretations of the request.
> 
> > - work through NAT
> > - work through CGN
> 
> Meh... There are tunnel mechanisms that achieve this, but they create unnecessary pain in other areas where these are not a factor.
> OTOH, I'm not sure there needs to be "one true tunneling mechanism". Requiring the additional overhead of UDP in all cases and
> STUN in general doesn't feel like a win in the cases where NAT traversal is not required.
> 
> > - automatically adapts to changing addresses
> 
> Harder problem to solve. I could, however, do this today with some development work on an HE tunnel.
> 
> > - low overhead in gateways (preferably completely stateless)
> 
> 6in4 already meets this requirement.
> 
> > - can be terminated on a home gateway or on a host
> 
> 6in4 already meets this requirement.
> 
> > - doesn't require ISP cooperation
> 
> Since all packet forwarding requires some level of ISP cooperation, I think you need to be a little more clear about your meaning here.
> If you think this eliminates 6in4 because some ISPs are obnoxious enough to block protocol 41, then I would suggest there is a
> reasonable likelihood that said ISPs will block whatever they have to in order to block IPv6 tunneling for the same reasons they
> blocked protocol 41.
> 
> If you mean something else, then please explicate.
> 
> > - traffic flows are reasonably optimized (i.e., if ISP offers gateway service, by default, that gateway is used)
> 
> This requires some form of service discovery mechanism that can somehow be aware of what ISP you are using or otherwise has
> some mechanism for automatically interfacing with said ISPs provisioning. In the tradition of rough consensus and running code, it
> would be great if you put forward your vision for how this would work.
> 
> > As I read this, I'm pretty sure that some of the existing tunnel broker stuff that works over UDP today already does pretty much all
> of this as far as the actual tunneling goes. What would be needed is more streamlined signup and setup processes.
> 
> I think that could be achieved as an API on top of what exists. However, see my above comments as to why I don't think that should
> be the only available solution and I definitely think that deprecation of configured 6in4 tunnels would be very premature and
> somewhat harmful in general.
> 
> > Perhaps it could look like this: as a user, you either automatically get an account using your existing email / cloud service credentials,
> or you sign up for a separate account, like iljitsch@ipv6tunnels.example.com. You enter your username and password into the home
> gateways and hosts that you want to have tunneled IPv6 connectivity.
> 
> It's not UDP based, but FWIW there is an API to the HE tunnelbroker that was designed to allow home gateway implementers to do
> essentially just that through the web API on their gateways.
> 
> > The router or host, when it notices that there is no native IPv6, connects to _tunserv._tcp.<domain> or something like that and
> authenticates. The setup server then does a lookup of the source IPv4 address and redirects to a gateway serving that address range.
> Ideally, that would be the ISP providing service for those addresses. Or a public gateway that has good connectivity to those
> addresses. (There would be communication between the gateway and setup server operators to avoid lame delegations. And
> perhaps the setup server returns multiple delegations so if one gateway doesn't work the client tries the next one.)
> 
> This assumes a tremendous amount of cooperation and coordination not in evidence. Who runs this central "setup server" service?
> Why? How is it paid for?
> 
> > The router or host then talks to that gateway to obtain a prefix and other configuration info and sets up the tunnel. The host or
> home gateway is then responsible for keeping NAT mappings open and reconnecting when connectivity goes away for some reason.
> >
> > I guess it would be possible for devices to log in using their MAC address by default. Not sure how much authentication we really
> need for this. An account would still be better because that way any errors could be communicated through email. And logging in
> using a known service means the user's activities aren't exposed to additional parties.
> 
> There's also the issue that MAC addresses are only guaranteed to be segment unique. There are many cases where they are _NOT_
> globally unique.
> 
> Owen