Re: IPv6 Address Architecture update question

Jeroen Massar <jeroen@unfix.org> Mon, 31 January 2005 13:30 UTC

Received: from ietf-mx.ietf.org (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id IAA29279 for <ipv6-web-archive@ietf.org>; Mon, 31 Jan 2005 08:30:29 -0500 (EST)
Received: from megatron.ietf.org ([132.151.6.71]) by ietf-mx.ietf.org with esmtp (Exim 4.33) id 1CvbvK-0003Kc-Q3 for ipv6-web-archive@ietf.org; Mon, 31 Jan 2005 08:49:04 -0500
Received: from localhost.localdomain ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1CvbaS-000213-GR; Mon, 31 Jan 2005 08:27:28 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1CvbY9-0001Xp-Ba for ipv6@megatron.ietf.org; Mon, 31 Jan 2005 08:25:05 -0500
Received: from ietf-mx.ietf.org (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id IAA28671 for <ipv6@ietf.org>; Mon, 31 Jan 2005 08:25:03 -0500 (EST)
Received: from noc.sixxs.net ([213.197.29.32] ident=postfix) by ietf-mx.ietf.org with esmtp (Exim 4.33) id 1Cvbq4-0003Da-1Y for ipv6@ietf.org; Mon, 31 Jan 2005 08:43:38 -0500
Received: from localhost (localhost [127.0.0.1]) by noc.sixxs.net (Postfix) with ESMTP id 727F92400D; Mon, 31 Jan 2005 14:24:48 +0100 (CET)
Received: from noc.sixxs.net ([127.0.0.1]) by localhost (noc [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 08208-06; Mon, 31 Jan 2005 14:24:48 +0100 (CET)
Received: from firenze.zurich.ibm.com (pat.zurich.ibm.com [195.176.20.45]) (using SSLv3 with cipher RC4-MD5 (128/128 bits)) (No client certificate requested) by noc.sixxs.net (Postfix) with ESMTP id DA1182400C; Mon, 31 Jan 2005 14:24:47 +0100 (CET)
From: Jeroen Massar <jeroen@unfix.org>
To: Bob Hinden <bob.hinden@nokia.com>
In-Reply-To: <6.1.2.0.2.20050131043340.02fbf0c0@mailhost.iprg.nokia.com>
References: <6.1.2.0.2.20050131043340.02fbf0c0@mailhost.iprg.nokia.com>
Organization: Unfix
Date: Mon, 31 Jan 2005 14:24:46 +0100
Message-Id: <1107177886.27827.80.camel@firenze.zurich.ibm.com>
Mime-Version: 1.0
X-Mailer: Evolution 2.0.2 (2.0.2-6)
X-Virus-Scanned: noc.sixxs.net - http://www.sixxs.net
X-Spam-Score: 0.1 (/)
X-Scan-Signature: bdc523f9a54890b8a30dd6fd53d5d024
Cc: IPv6 WG <ipv6@ietf.org>
Subject: Re: IPv6 Address Architecture update question
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "IP Version 6 Working Group \(ipv6\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0111723531=="
Sender: ipv6-bounces@ietf.org
Errors-To: ipv6-bounces@ietf.org
X-Spam-Score: 0.0 (/)
X-Scan-Signature: a8a20a483a84f747e56475e290ee868e

On Mon, 2005-01-31 at 04:48 -0800, Bob Hinden wrote:
> Hi,
> 
> I am working on an update to the IPv6 address architecture.  In doing this 
> I am working through the comments on the previous draft.  One comment made 
> was to remove Section 2.5.5 "IPv6 Addresses with Embedded IPv4 Addresses" 
> from the document.  This would include removing the special case in the 
> textual representation (section 2.2, 3.).

In http://www.ietf.org/rfc/rfc2373.txt it is section 2.5.4.
Or am I looking at the wrong document? :)

<SNIP>

> Since I expect this is widely implemented, please be sure to report any 
> problem that might occur if this is to be removed from the 
> specification.

I think that at least all the BSD's and most Linuxes are using this.
They allow binding on :: (IPv6 any) and also accept IPv4 connections on
the same socket, which are then represented in netstat etc
as ::ffff:1.2.3.4. Both OS's nowadays have a bind-ipv6-only flag or
similar, but many applications rely on this behaviour in that they
either bind to the IPv6 any or the IPv4 any address (0.0.0.0).

Removing it, thus would mean that all these applications are broken and
need to be updated, which actually is true, having that programs should
use multiple sockets and use getaddrinfo() to figure out the correct
sockets to bind on. This has some programming overhead though and as
many people are lazy they did not do it.

The mixing of the stacks, thus having IPv6 also accept IPv4 connections,
did have some negative side effects for the applications that did/do
support getaddrinfo() type binding and bind to multiple sockets, as they
would first bind to IPv6 any, after which they bind to IPv4 any which
would fail with socket already in use, giving an error message that is
not entirely true.

IMO the section can be removed and programmers need to be learned the
correct thing for which I always very inclined to point people to Eva's
excellent document at http://gsyc.escet.urjc.es/~eva/IPv6-web/ipv6.html
and/or draft-ietf-v6ops-application-transition-02.txt

The various Operating Systems that support this should be thought the
same tricks too of course...

>   This includes would it break other documents that refer to 
> the IPv6 address architecture specification.

At least RFC3484 has a short section (3.3) on it, though it mentions
handling them as 'global scope', which is basically the default case,
for address selection.

Greets,
 Jeroen

--------------------------------------------------------------------
IETF IPv6 working group mailing list
ipv6@ietf.org
Administrative Requests: https://www1.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------