Re: [vwrap] VWRAP and IPv6
Richard Barnes <rbarnes@bbn.com> Thu, 20 May 2010 13:19 UTC
Return-Path: <rbarnes@bbn.com>
X-Original-To: vwrap@core3.amsl.com
Delivered-To: vwrap@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix)
with ESMTP id 071E83A69CC for <vwrap@core3.amsl.com>;
Thu, 20 May 2010 06:19:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.596
X-Spam-Level:
X-Spam-Status: No, score=-0.596 tagged_above=-999 required=5 tests=[AWL=-0.597,
BAYES_50=0.001]
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 7UvYyT5tpAB2 for
<vwrap@core3.amsl.com>; Thu, 20 May 2010 06:19:50 -0700 (PDT)
Received: from smtp.bbn.com (smtp.bbn.com [128.33.0.80]) by core3.amsl.com
(Postfix) with ESMTP id 7E3A63A6C1F for <vwrap@ietf.org>;
Thu, 20 May 2010 06:18:34 -0700 (PDT)
Received: from [128.89.255.32] (port=56245 helo=[192.168.1.46]) by
smtp.bbn.com with esmtp (Exim 4.71 (FreeBSD)) (envelope-from
<rbarnes@bbn.com>) id 1OF5dp-0007lM-Hw; Thu, 20 May 2010 09:18:27 -0400
Message-Id: <F8868B50-7B53-4E1A-9F5F-E6FA2933F269@bbn.com>
From: Richard Barnes <rbarnes@bbn.com>
To: Michael Dickson <mike.dickson@hp.com>
In-Reply-To: <1274360108.2087.37.camel@mdickson-laptop.local>
Content-Type: text/plain; charset=WINDOWS-1252; format=flowed; delsp=yes
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Apple Message framework v936)
Date: Thu, 20 May 2010 09:18:23 -0400
References: <AANLkTik75YvP5y_F68_TxXbPBaN1fnYcXk5JPkfM5uRE@mail.gmail.com>
<BCEC4B1A-A007-442C-A434-91EE3D0BB052@bbn.com>
<OFC2E23B0D.5B99CD05-ON85257726.0050CDA0-85257726.00518F0E@us.ibm.com>
<AANLkTikINIWeYP9pqIeTtNzfD5wrf07ADkCwkNcVQZk4@mail.gmail.com>
<A32EAB16-62A5-4307-A320-0187955BFA51@bbn.com>
<AANLkTimY7viwIMzFIIX_-OzZjA-jHsiK35EF4OpdnAxW@mail.gmail.com>
<1274360108.2087.37.camel@mdickson-laptop.local>
X-Mailer: Apple Mail (2.936)
Cc: "vwrap@ietf.org" <vwrap@ietf.org>
Subject: Re: [vwrap] VWRAP and IPv6
X-BeenThere: vwrap@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Virtual World Region Agent Protocol - IETF working group
<vwrap.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/vwrap>,
<mailto:vwrap-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/vwrap>
List-Post: <mailto:vwrap@ietf.org>
List-Help: <mailto:vwrap-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/vwrap>,
<mailto:vwrap-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 20 May 2010 13:19:56 -0000
Just to try to clarify the pain that comes from trying to use IPv6 addresses as pure identifiers (as separate from their routing/locator function), I can think of at least five groups who are trying to come up with approaches to making this work: 1. HIP <http://tools.ietf.org/wg/hip/> 2. HIPRG <http://irtf.org/charter?gtype=rg&group=hiprg> 3. MIP6 <http://tools.ietf.org/wg/mip6/> 4. LISP <http://tools.ietf.org/wg/lisp/> 5. MEXT < http://tools.ietf.org/wg/mext/> --Richard On May 20, 2010, at 8:55 AM, Michael Dickson wrote: > On Thu, 2010-05-20 at 09:50 +0000, Morgaine wrote: >> A /64 is the smallest routable IPv6 subnet, hence there is no extra >> routing overhead for the 2^(128-64) addresses in the basic block that >> every user will have allocated. >> >> Needless to say, there won't be anything like 2^64 objects in your >> scenegraph, so if you use your IPv6 address space to address every >> scenegraph object that you have instantiated client-side, you will >> still have an extremely sparsely used /64 block. You'll be keeping >> track of which addresses you have assigned dynamically of course. (An >> address space of this size is not linearly scannable in realistic >> time.) >> >> In principle this is no different to using UUIDs --- your IPv6 >> micro-servers will have unguessable IPv6 addresses within your /64 >> block, and it'll be up to you to tell other participants in the >> protocol (for example server-side objects) with which of your IPv6 >> micro-servers they are to communicate. This is why an ADT that is >> supportive of IPv6 operation needs to be able to carry such data >> efficiently --- the UUID is no longer the only 128-bit datum of >> interest. > > No, it *is* different as another poster has indicated because a > hardware > or software layer needs to maintain the physical to address > translation > and those tables are generally of finite size. In a virtualized > environment it gets worse size across multiple vm's you may need to > maintain more that one copy for each entry to get hardware speeds. > > VWRAP is an application layer protocol and as such it should use > logical > names for things as opposed to IP addresses and let the appropriate > name > to address translation happen. > > -1 to using IPv6 addresses as identifiers for this and other reasons > that have been raised. I think the consensus has been pretty solidly > against it so far. > > Mike > > >> Of course your entire /64 block is routed as one, since there are no >> smaller routable subnets in IPv6, and therefore your objections about >> routing non-scalability do not apply. >> >> >> Morgaine. >> >> >> >> >> ===================================== >> >> On Wed, May 19, 2010 at 10:56 PM, Richard Barnes <rbarnes@bbn.com> >> wrote: >> The impact of IPv6 on VWs should be far less than you imagine, >> I think. :) >> >> It has often been said that many, many things will be assigned >> IPv6 addresses. There will certainly be enough to go around, >> but that doesn't make them good application-layer >> identifiers. If you want to use IP addresses with IP, they >> have to route, and that means that they have to be either (1) >> topologically assigned, or (2) overlay routed, e.g., with >> mobile IP. So if you want to use an IP address to address >> something, you're going to have to either change that address >> when the thing gets connected differently, or you'll need some >> overlay routing scheme to route to a persistent address. (And >> if you're not going to use the address with IP, then why would >> you use an IP address?) >> >> VWRAP, as an application layer protocol, has a choice about >> what identifiers to use for things and how to use those >> identifiers. ISTM that using IP addresses (again, of either >> type) remains a bad idea, compared with something that is >> decoupled from the routing layer. >> >> As far as the DNS, I'm not sure what your point is: >> (i) DNS caching has been around for decades >> (ii) DNS names can already refer to multiple addresses >> (iii) Depends on implementation. Maybe there's some >> application-layer way to resolve names. E.g., SIP endpoints >> don't need to have DNS records because the INVITE transaction >> maps from SIP URIs to IP addresses. >> (iv) From RFC 4291: "IPv6 addresses are 128-bit identifiers >> for interfaces and sets of >> interfaces" >> (v) Seems like there's a use case lurking, hard to address >> without details. But you're probably still at the application >> layer. For instance, if you were telling your peer to send >> you an HTTP request, you would send an HTTP URI, which can >> already handle IPv6 addresses. >> >> --Richard >> >> >> >> >> On May 19, 2010, at 9:35 AM, Morgaine wrote: >> >> The impact of IPv6 on VWs is going to be far greater >> than you imagine, I believe. As things stand, VWRAP >> is being designed around the features and limitations >> of IPv4 networking. It will of course be able to ride >> on top of IPv6 as a transport, but unable to benefit >> from its improved feature set, unless we provide the >> means to do so. >> >> The question "Why is there ever a need to carry an IP >> address in this application-layer protocol, as opposed >> to, say, a DNS name or a URI?" suggests an IPv4 >> mindset, because in IPv6 it has a variety of possible >> answers: (i) When the DNS lookup has already been >> done and does not need to be done again, (ii) When a >> FQDN maps to multiple addresses, but you want to refer >> to a specific one, (iii) When an IPv6 address does not >> have an external address record, (iv) When the host is >> already known and the IP address denotes something >> other than a physical NIC interface, or (v) When >> listeners are allocated locally and dynamically for >> the current session only, and their IP addresses need >> to be communicated to a peer --- this will be an >> extremely common use case with IPv6. >> >> In today's IPv4-based systems, it is normal for a >> user's machine to have a single IP address, and for a >> client on that machine to talk to a server that has a >> single customer-facing IP address too (although it may >> also have others that are not public). In IPv6-based >> systems, this simple scenario is still possible but >> represents only a special case among a new and vastly >> expanded set of IPv6 use cases. >> >> The smallest allocatable block of IPv6 address space >> is a /64, so 2^(128-64) IP addresses is the number >> that most normal IPv6 users will have, although the >> much larger /48 blocks of 2^80 addresses are commonly >> assigned to users as well. With such IP riches >> client-side, it is certain that they will be used for >> something, and the obvious suggestion is to give every >> VW object an IPv6 address of its own. >> >> Lest we forget, one of the most important properties >> of the REST paradigm is addressability, but the >> benefits of high addressability go far beyond the >> Web. This is a property that will become ubiquitous >> throughout networked computing with IPv6. It's >> probably no exaggeration to say that *everything* will >> be getting its own IP address. :-) >> >> Faced with that future, it's a mistake to think in >> IPv4 terms and consider IPv6 addresses as merely >> denoting a host which can be obtained from its FQDN. >> That's IPv4 thinking, and represents only a very >> basic use case for IPv6. In more extended use cases, >> IPv6 addresses will become much more like active local >> UUIDs than like today's host IP addresses. They will >> be used for inner-application addressing, for example >> to make every object in an application an addressable >> micro-server. >> >> VWRAP is being born into an IPv6 world, and it would >> be a mistake to hardwire IPv4 thinking into its >> design. We continually refer to the need for >> extensibility and a desire to future-proof the >> protocol, but lip service is not enough. Adding IPv6 >> addresses to the underlying ADT would provide a bare >> minimum level of thinking ahead to support VWRAP >> implementations that embrace large numbers of >> communicating objects. (A generally extensible ADT >> would of course achieve the same thing, and more.) >> >> >> Morgaine. >> >> >> >> >> >> >> >> ============================================== >> >> On Mon, May 17, 2010 at 3:50 PM, David W Levine >> <dwl@us.ibm.com> wrote: >> >> >> vwrap-bounces@ietf.org wrote on 05/17/2010 10:08:26 >> AM: >> >>> [image removed] >>> >>> Re: [vwrap] VWRAP and IPv6 >>> >>> Richard Barnes >>> >>> to: >>> >>> Morgaine >>> >>> 05/17/2010 10:09 AM >>> >>> Sent by: >>> >>> vwrap-bounces@ietf.org >>> >>> Cc: >>> >>> vwrap >>> >>> In the spirit of good layering, it seems like we >> should be talking >>> about avoiding direct reliance on IP addresses >> instead of how we can >>> accommodate different addresses in the protocol. >> Why is there ever a >>> need to carry an IP address in this >> application-layer protocol, as >>> opposed to, say, a DNS name or a URI? >>> >>> --Richard >>> >> +1 >> >> We may from time to time have a IP address stuck in >> the form of a URI >> which has the dotted decimal form of an resource. The >> spec should make >> sure that form can be an IPV6 address, but that should >> be very straight >> forward. >> >> There may be some IPV6 features which eventually >> impact us at the protocol >> design level, but the entire VWRAP specification has >> been written in terms of >> URIs and Capabilities, not in terms of low level IP >> addresses. It would take an >> incredibly powerful argument to suggest that this >> should change. Likewise, while >> IPV6 changes addressing at the bottom of the stack, it >> doesn't appreciably change >> the cost of holding open sessions, of managing sockets >> and buffers inside of >> clients (especially lightweight devices) Further while >> we can all devoutly hope >> that IPV6 finally deploys broadly, making it a >> dependancy in the near term feels >> rather like a roadblock to possible adoption. >> >> - David >> ~ Zha >> >> >> >>> >>> On May 14, 2010, at 7:32 AM, Morgaine wrote: >>> >>>> Despite exceedingly low takeup of IPv6 so far, >> it's coming, and in >>>> the context of IETF WG rates of progress, it is >> really imminent. Of >>>> special relevance to us is that IPv4 addresses are >> projected to run >>>> out within roughly the same time frame as VWRAP >> materializes. >>>> >>>> There is little point in creating a new VW >> protocol today purely in >>>> the context of IPv4 without thinking about >> tomorrow's IPv6 >>>> environment. By the time that VWRAP is fully >> defined, we should >>>> expect a substantial and rapidly increasing >> proportion of VWRAP >>>> implementations to occur in IPv6-accessible >> worlds. This is a >>>> situation for which we need to plan now, otherwise >> the protocol will >>>> be obsolete before it's even ready. >>>> >>>> To get the ball rolling, here are a few >> IPv6-related issues that we >>>> could usefully address in the group: >>>> >>>> • The 128-bit IP address of IPv6 is likely to >> become a common >>>> payload, so it should be supported natively. LLSD >> already supports >>>> one 128-bit data type of course, the UUID. IPv6 >> addresses should >>>> not be transported in UUID fields however, since >> their statistical >>>> properties and semantics are totally different. >> In any case, the >>>> two spaces are disjoint so confusing them would be >> a mistake. The >>>> IPv6 address seems a good candidate for its own >> defined type, in the >>>> absence of wide integers. >>>> • The extremely large address space of IPv6 has >> often been >>>> portrayed as allowing everything around us to have >> its own IP >>>> address. In the context of virtual worlds, this >> idea can actually >>>> be put to good use, with each virtual object >> bearing its own IPv6 >>>> address. One candidate application for this has >> already been >>>> described in earlier discussions --- for example, >> implementing >>>> virtual object simulation in two parts, one >> client-side and one >>>> world-side, the two parts communicating directly. >> IPv6 addressing >>>> of objects makes this relatively easy to achieve >> efficiently, so its >>>> implementation in IPv6-based worlds is almost >> inevitable before >>>> long. VWRAP should be ready for this. >>>> • The event queue in current implementations >> provides an indirect >>>> and highly inefficient way of achieving >> world-to-client >>>> communications. IPv6 offers opportunities for >> direct communication >>>> that can make the event queue approach obsolete, >> so it's worth >>>> examining IPv6-oriented alternatives. >>>> • We recently discussed feature and protocol >> negotiation within >>>> VWRAP. IPv6 provides much opportunity for new >> features and protocol >>>> pathways to be negotiated between endpoints, so it >> gives us a very >>>> real and imminent set of use cases for >> negotiation. >>>> >>>> It would also be a feather in VWRAP's cap to be >> considered an "IPv6- >>>> capable application protocol" in a stronger sense >> than just to be >>>> carried by IPv6 networks. IPv6 does after all >> bring new abilities >>>> to the table, such as the huge addressing, and it >> would be a mistake >>>> to ignore them. >>>> >>>> >>>> Morgaine. >>>> >>>> >>>> >>>> _______________________________________________ >>>> vwrap mailing list >>>> vwrap@ietf.org >>>> https://www.ietf.org/mailman/listinfo/vwrap >>> >>> _______________________________________________ >>> vwrap mailing list >>> vwrap@ietf.org >>> https://www.ietf.org/mailman/listinfo/vwrap >> >> _______________________________________________ >> vwrap mailing list >> vwrap@ietf.org >> https://www.ietf.org/mailman/listinfo/vwrap >> >> _______________________________________________ >> vwrap mailing list >> vwrap@ietf.org >> https://www.ietf.org/mailman/listinfo/vwrap >> >> > > > _______________________________________________ > vwrap mailing list > vwrap@ietf.org > https://www.ietf.org/mailman/listinfo/vwrap
- [vwrap] VWRAP and IPv6 Morgaine
- Re: [vwrap] VWRAP and IPv6 Dzonatas Sol
- Re: [vwrap] VWRAP and IPv6 Richard Barnes
- Re: [vwrap] VWRAP and IPv6 David W Levine
- Re: [vwrap] VWRAP and IPv6 Morgaine
- Re: [vwrap] VWRAP and IPv6 Richard Barnes
- Re: [vwrap] VWRAP and IPv6 Robert G. Jakabosky
- Re: [vwrap] VWRAP and IPv6 Morgaine
- Re: [vwrap] VWRAP and IPv6 Han Sontse
- Re: [vwrap] VWRAP and IPv6 Michael Dickson
- Re: [vwrap] VWRAP and IPv6 Richard Barnes
- Re: [vwrap] VWRAP and IPv6 Morgaine
- Re: [vwrap] VWRAP and IPv6 Richard Barnes
- Re: [vwrap] VWRAP and IPv6 Morgaine
- Re: [vwrap] VWRAP and IPv6 Richard Barnes
- Re: [vwrap] VWRAP and IPv6 David W Levine
- Re: [vwrap] VWRAP and IPv6 Morgaine