RE: [RAM] Thoughts about context-dependency of id/loc semantics (long)

"Don Fedyk" <dwfedyk@nortel.com> Wed, 10 January 2007 16:25 UTC

Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1H4gGZ-0002iu-W0; Wed, 10 Jan 2007 11:25:31 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1H4gGY-0002h1-Sk for ram@iab.org; Wed, 10 Jan 2007 11:25:30 -0500
Received: from zcars04f.nortel.com ([47.129.242.57]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1H4gGR-0007ZC-S8 for ram@iab.org; Wed, 10 Jan 2007 11:25:30 -0500
Received: from zrtphxm2.corp.nortel.com (zrtphxm2.corp.nortel.com [47.140.202.51]) by zcars04f.nortel.com (Switch-2.2.6/Switch-2.2.0) with ESMTP id l0AGPDb18151; Wed, 10 Jan 2007 11:25:13 -0500 (EST)
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Subject: RE: [RAM] Thoughts about context-dependency of id/loc semantics (long)
Date: Wed, 10 Jan 2007 11:25:04 -0500
Message-ID: <34B3EAA5B3066A42914D28C5ECF5FEA40CCE97D2@zrtphxm2.corp.nortel.com>
In-Reply-To: <45A3AF7F.5000104@zurich.ibm.com>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [RAM] Thoughts about context-dependency of id/loc semantics (long)
Thread-Index: Accz/90RJGYiO3EpR2i7TZPCQ5LSAAA06zqw
From: Don Fedyk <dwfedyk@nortel.com>
To: Brian E Carpenter <brc@zurich.ibm.com>, ram@iab.org
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 3fbd9b434023f8abfcb1532abaec7a21
Cc:
X-BeenThere: ram@iab.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Routing and Addressing Mailing List <ram.iab.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/ram>, <mailto:ram-request@iab.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/ram>
List-Post: <mailto:ram@iab.org>
List-Help: <mailto:ram-request@iab.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/ram>, <mailto:ram-request@iab.org?subject=subscribe>
Errors-To: ram-bounces@iab.org

Hi Brian

Nice Summary
Then is "addressing" in addition to 

-Identifying something
-Locating something 

Also equally required to be
- Capable of being symmetrically translated between contexts? 

The better translation is supported by underlying protocol(s,) the
easier it is to make contexts "well formed" and capable of supporting
mobility.

Regards,
Don 
 

> -----Original Message-----
> From: Brian E Carpenter [mailto:brc@zurich.ibm.com] 
> Sent: Tuesday, January 09, 2007 10:07 AM
> To: ram@iab.org
> Subject: [RAM] Thoughts about context-dependency of id/loc 
> semantics (long)
> 
> It is well established that naming, addressing and routing 
> are conceptually
> separate (or should be!) [IEN19, IEN48, RFC1498] are 
> formative in this regard.
> For a long time, the view in the the IETF community was that 
> DNS took care
> of naming, IP took care of addressing, and routing protocols 
> took care of
> routing. As growth in the Internet accelerated, cracks 
> appeared in this
> simplistic view [RFC2101, RFC2775].
> 
> Emerging issues such as multihoming, the need for sites to 
> change ISPs,
> mobility, and end to end security have led to increasing 
> perception that
> the "addressing" concept has two very distinct aspects:
> 
> - identifying something
> - locating something
> 
> It might be thought that "identifying something" is what a name does.
> But it turns out that 'example.com' (which in the original concept
> of DNS would have identified a specific interface on a specific
> computer) is in fact a virtual name that generally identifies
> a company called 'Example' and typically leads to a server pool
> (i.e. multiple computers). Here, we are not talking about that.
> We are talking about identifying network level entities -
> put simply, they could be individual TCP/IP stacks or they
> could be conglomerates generally known as "sites".
> 
> The word "stack" was defined as the entity to be identified
> by the IRTF Namespace Research Group in an unpublished document
> (draft-irtf-nsrg-report) thus:
> 
> "  Today, a host may represent multiple entities.  This happens when a
>     service provider hosts many web sites on one server.  Similarly, a
>     single entity may be represented by multiple hosts.  
> Replicated web
>     servers are just such an example.  These entities are "protocol
>     stacks" or simply "stacks", instantiations of the TCP/IP model, be
>     they across one or many hosts.  A stack is defined as one
>     participant or the process on one side of an end-to-end
>     communication.  That participant may move and may be 
> represented by
>     multiple hosts...
> 
>     Each instance of a stack has a name, a "stack name".  At an
>     architectural level the Name Space Research Group debated 
> the value
>     of such names, and their associated costs.  Forms of this name are
>     used in numerous places today.  SSH uses public/private 
> key pairs to
>     identify end points.  An HTTP cookie anonymously 
> identifies one end
>     of a communication, in such a manner that both the 
> connection and the
>     IP address of the other end point may change many times.  
> Stack names
>     are intended to identify mobile nodes, devices behind NATs, and
>     participants in a content delivery or overlay network."
> 
> To send a packet to a stack, we need its identity and we need to
> know where that identity is currently located. Today stack 
> identity and
> stack location are both somehow combined in an IP address 
> (whether it's
> IPv4 or IPv6 doesn't matter.) If a stack is identified as
> 10.1.2.3 we expect the routing system to treat this as a 
> stack locator.
> Similarly, if a site is identified as 10/8, we expect the 
> routing system
> to treat this as a site locator. But this example is deliberately
> a broken one - we know that address and that prefix are ambiguous, and
> have no global value either as identifiers or as locators. Yet within
> a given network using private addresses, 10.1.2.3 is a perfectly
> good stack identifier and locator, and 10.1.2/24 is a 
> pefectly good subnet
> locator.
> 
> What is going on here is an illustration of a much more general
> observation: an IP address, or an IP prefix (the high order bits
> of an address) can be a stack (or site) identifier, a locator,
> neither, or both simultaneously *depending on context*.
> 
> To be specific:
> 
> - inside a NATted site, 10.1.2.3 is a good stack ID and a 
> good stack locator.
> outside the site, it becomes simply meaningless garbage bits.
> 
> - if the site's NAT box has public address 192.0.2.1, then the stack
> identified internally could be identified externally as
> 192.0.2.1:<some port number> and its locator would be 192.0.2.1.
> The mess here is that an IP address is no longer sufficient as a
> stack identifier, and of course the port number is only borrowed
> until the NAT decides to take it away.
> 
> - if a site has a tunnelled connection to another site, it could be
> (for example) that 10.1.2.3 is a good identifier on both 
> sites (because
> they have agreed administratively to divide 10/8 between them) but
> the locator, as far as site B is concerned, is 192.0.2.77 
> (because that
> happens to be the tunnel address in the B to A direction). But for
> anyone else on the Internet, 192.0.2.77 is meaningless.
> 
> We could give more examples, and give IPv6 examples. But the
> conclusion is inescapable: whether an IP address is an identifier,
> a locator, both, or neither depends on context, and not on the
> syntax or semantics of the address itself. Exactly the same applies
> to prefixes.
> 
> The question that this leads to is whether the simple notion of
> "locator/identifier split" is actually meaningful. Is this
> context-dependence of the semantics of an IP address an
> accident due to slow drift in the Internet's architecture,
> or is it actually a desirable property of the namespace for
> IP stacks?
> 
> To answer this, we need to identify the properties required
> for a stack identifier namespace and those for a stack locator
> namespace. If the required properties turn out to be orthogonal,
> a simple split may be possible; if they turn out to be inseparable,
> a simple split may be impossible, and the context-dependency
> mentioned above may be inevitable.
> 
>      Brian
> 
> _______________________________________________
> RAM mailing list
> RAM@iab.org
> https://www1.ietf.org/mailman/listinfo/ram
> 

_______________________________________________
RAM mailing list
RAM@iab.org
https://www1.ietf.org/mailman/listinfo/ram