RE: Discussion summary and next-step Re: Thoughts on address selection

"Dan Wing" <dwing@cisco.com> Wed, 20 January 2010 06:58 UTC

Return-Path: <dwing@cisco.com>
X-Original-To: ipv6@core3.amsl.com
Delivered-To: ipv6@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B12CC3A6A1D for <ipv6@core3.amsl.com>; Tue, 19 Jan 2010 22:58:00 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.165
X-Spam-Level:
X-Spam-Status: No, score=-10.165 tagged_above=-999 required=5 tests=[AWL=0.434, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id u9iDo2zl23XD for <ipv6@core3.amsl.com>; Tue, 19 Jan 2010 22:57:59 -0800 (PST)
Received: from sj-iport-5.cisco.com (sj-iport-5.cisco.com [171.68.10.87]) by core3.amsl.com (Postfix) with ESMTP id 94B853A69BE for <ipv6@ietf.org>; Tue, 19 Jan 2010 22:57:59 -0800 (PST)
Authentication-Results: sj-iport-5.cisco.com; dkim=neutral (message not signed) header.i=none
X-IronPort-AV: E=Sophos;i="4.49,308,1262563200"; d="scan'208";a="136758664"
Received: from sj-core-4.cisco.com ([171.68.223.138]) by sj-iport-5.cisco.com with ESMTP; 20 Jan 2010 06:57:55 +0000
Received: from dwingwxp01 ([10.32.240.194]) by sj-core-4.cisco.com (8.13.8/8.14.3) with ESMTP id o0K6vthq024057; Wed, 20 Jan 2010 06:57:55 GMT
From: Dan Wing <dwing@cisco.com>
To: 'Arifumi Matsumoto' <arifumi@nttv6.net>
References: <F25A2D83-2504-4354-90BB-4CD2B0D3D743@cisco.com> <BB56240F3A190F469C52A57138047A030387A09C@xmb-rtp-211.amer.cisco.com> <alpine.BSF.2.00.0911101724110.4034@mignon.ki.iif.hu> <4553CA36-9AF3-427C-BA03-1B9CDF487C32@cisco.com> <40B8A36C-A018-48DF-9D6A-E940E1A2E92B@nttv6.net><62B2E1A8-B367-43B6-9C1C-CFCD819950D0@cisco.com> <4B044080.4060604@venaas.com> <006f01ca7317$5cad8c40$c3f0200a@cisco.com> <8290370aafc02f020300afc1ef2de1cd@chewa.net> <01b301ca7375$6e3a1ab0$c3f0200a@cisco.com> <E7C1E7BC-8518-4424-8B48-C41DA7836EB5@nttv6.net> <05d001ca95fc$d74c00a0$06636b80@cisco.com> <8C090AD6-4238-43E2-B1C9-065BF6FF24A3@nttv6.net>
Subject: RE: Discussion summary and next-step Re: Thoughts on address selection
Date: Tue, 19 Jan 2010 22:57:55 -0800
Message-ID: <062d01ca999d$e4b40a40$c2f0200a@cisco.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Office Outlook 11
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3350
Thread-Index: AcqYMndAi//pb0ANS2yXGzma2bateQBaqrLQ
In-Reply-To: <8C090AD6-4238-43E2-B1C9-065BF6FF24A3@nttv6.net>
Cc: draft-ietf-6man-addr-select-sol@tools.ietf.org, 'IETF IPv6 Mailing List' <ipv6@ietf.org>, draft-ietf-6man-addr-select-considerations@tools.ietf.org, 'Mohacsi Janos' <mohacsi@niif.hu>, 'Fred Baker' <fred@cisco.com>, draft-arifumi-6man-addr-select-conflict@tools.ietf.org
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ipv6>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 20 Jan 2010 06:58:00 -0000

 

> -----Original Message-----
> From: Arifumi Matsumoto [mailto:arifumi@nttv6.net] 
> Sent: Monday, January 18, 2010 3:26 AM
> To: Dan Wing
> Cc: 'IETF IPv6 Mailing List'; "'Rémi Denis-Courmont'"; 
> draft-ietf-6man-addr-select-sol@tools.ietf.org; 
> draft-ietf-6man-addr-select-considerations@tools.ietf.org; 
> 'Mohacsi Janos'; 'Fred Baker'; 
> draft-arifumi-6man-addr-select-conflict@tools.ietf.org
> Subject: Re: Discussion summary and next-step Re: Thoughts on 
> address selection
> 
> Dan,
> 
> thank you for your comments.
> My responses below.
> 
> >> 
> >> Hi,
> >> 
> >> let me summarize the discussion we had about address selection,
> >> and move on to the next-step.
> >> 
> >> The discussion was about a try-and-error based mechanism proposed
> >> by Fred Baker, and the address selection design team's proposal,
> >> which is based on policy distribution.
> >> 
> >> 
> >> * Fred's proposal.
> >> - A host tries each pair of src and dst addresses to establish
> >> a connection in a short time period.
> >> - A host can make use of ICMP error messages indicating that the
> >> src address should be this, or the src address is simply wrong.
> >> - A host can have cache for the reachability status, which stores
> >> which src and dst pair should be used to reach a certain dst.
> >> 
> >> ** Pro
> >> - A connection can be established as far as one working 
> pair exists.
> >> - Routing status can be reflected to address selection directly,
> >>   which means no need for intermediate agent and information 
> >> conversion.
> > 
> > Missing a Pro that I consider significant:
> > 
> >  - Users will no longer experience multi-second connection 
> delays due
> >    to IPv6's address selection.  This means more users will 
> >    leave IPv6 enabled.
> 
> not due to IPv6's address selection, but due to IPv6 connection
> failure, aren't they ?

The connection failure is caused by incorrect address selection.  

I don't see how to separate the two.

And users don't care -- they simply disable IPv6 if it slows
down their experience.

> >> ** Con
> >> - Impact for host protocol stack implementation.
> >>  - Not a small change for the existing protocol stack and possibly
> >>    applications.
> > 
> > It's really the applications that have to change so that they
> > are more aggressively going through the getaddrinfo()-sorted 
> > addresses to get a connection established.
> > 
> >> - We do not have established caching algorithm.
> > 
> > Not a problem caused by, or limited to, Fred's proposal.  
> Ignoring Fred's
> > proposal for a second, RFC3484 address selection policies 
> could be wrong (as
> > we all know) and perhaps they should be able to 
> learn/notice failures.
> 
> This is what I meant by the combination with Fred's proposal and
> policy distribution.
> 
> Of course, it is beneficial to have this combination, but
> such caches are not essential for policy distribution way.
> 
> >>  - Caching does good for static environment, and can harm for
> >>    dynamically changing environment.
> >>  - Network outage invokes cache reconstruction.
> >> - Conformance with network policy, user experience.
> >>  - A connection success does not mean conformance with site network
> >>    policy, nor user experience, such as delay and bandwidth.
> >>  - A site may have demands for preference control on address 
> >> selection,
> >>    such as IPv6 and IPv4 prioritization, in order to 
> decrease network
> >>    provisioning cost or to enhance user experience.
> >> - Extra load for network and host.
> >>  - routers have to send error messages.
> >>  - servers are loaded by unused sessions.
> >>  - extra CO2 emission ;)
> > 
> > That amount of extra traffic is tied to how caching and 
> dynamic learning might
> > be specified.  We could, if this is a sensitive issue, 
> specify that things
> > work as slowly as today (e.g., multi-second second 
> connection timeouts before
> > trying another IP address).  However, this creates a very 
> poor user experience
> > which today can only be resolved by the user disabling 
> IPv6!  We do not want
> > people disabling IPv6 to improve their user experience, but 
> that is their only
> > choice today.
> 
> There are so many reasons that makes users disable IPv6, such as
> network unreachability, and application IPv6 related 
> mal-functioning,...
> This proposal does not solve all the cases.

I am hoping to reduce reasons that users might disable IPv6.

> >> - Non-connected transport protocol complexity
> >>  - Only applications know the connection success/failure 
> if they use
> >>    non-connected transport protocol like UDP.
> > 
> > Not a problem caused by, or limited to, Fred's proposal.
> 
> I cannot get why.
> 
> If the kernel caches address selection information, it
> has to have connection success/failure information.

Yes, and that works even for UDP:

  a. the OS can see an incoming UDP response packet, 
     because almost every protocol is a request/response protocol
or:
  b. the OS can see the application gave up on one socket
     and is trying another socket.  This indicates the application
     was -- for whatever reason -- 'displeased' with the address
     selection made by the OS.

(b) seems implementable in the OS, and seems appealing.

-d

> OTOH, if the appropriate policy is distributed, every
> application/protocols can make use of it.
>
> > 
> >> - Spoils DNS round-robin based load balancing
> >> - Network side(routers) cannot have effects on dst address 
> selection.
> >>  Only can have effects on src address selection.
> >> 
> >> 
> >> * Design Team proposal.
> >> - Network side distributes address selection policy to hosts.
> >> 
> >> ** Pro
> >> - No impact on protocol stack, as far as it implements RFC 3484.
> >> - At least, network policy can be implemented.
> >>  This does not always lead to user experience enhancement.
> >> - Network side can have effects on dst address selection also.
> >> ** Con
> >> - Hosts have to have functionalito for receiving and 
> processing policy
> >>  information.
> >> - To make use of routing information, routing information has to be
> >>  converted to address selection policy at intermediate nodes, and
> >>  frequently updatable policy distribution mechanism is necessary,
> >>  such as DHCP reconfigure.
> >> 
> >> 
> >> * Considerations towards next-step
> >> Design team proposal and Fred proposal have different applicability
> >> domains, and one does not include the other. 
> >> Fred proposal works more nicely if combined with Design 
> >> team'smechanism.
> >> Design team proposal can work by itself, but if combined with
> >> Fred proposal, the applicability will be broader.
> >> So, my suggestion is to have both mechanisms, while keeping 
> >> one mechianism work without the other protocol.
> > 
> > Sounds alright.
> > 
> > -d
> 
> --
> Arifumi Matsumoto
>   Secure Communication Project
>   NTT Information Sharing Platform Laboratories
>   E-mail: arifumi@nttv6.net
>