Re: [lisp] [ipdir] LISP WG: Loc/ID separation - not separate namespaces

Robin Whittle <rw@firstpr.com.au> Wed, 18 March 2009 00:55 UTC

Return-Path: <rw@firstpr.com.au>
X-Original-To: lisp@core3.amsl.com
Delivered-To: lisp@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6D0E23A6822; Tue, 17 Mar 2009 17:55:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.615
X-Spam-Level:
X-Spam-Status: No, score=-1.615 tagged_above=-999 required=5 tests=[AWL=0.280, BAYES_00=-2.599, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327]
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 c6eeDBUb50gw; Tue, 17 Mar 2009 17:55:36 -0700 (PDT)
Received: from gair.firstpr.com.au (gair.firstpr.com.au [150.101.162.123]) by core3.amsl.com (Postfix) with ESMTP id 5C63D3A681D; Tue, 17 Mar 2009 17:55:35 -0700 (PDT)
Received: from [10.0.0.6] (wira.firstpr.com.au [10.0.0.6]) by gair.firstpr.com.au (Postfix) with ESMTP id 31D76175BA2; Wed, 18 Mar 2009 11:56:18 +1100 (EST)
Message-ID: <49C0472F.9060304@firstpr.com.au>
Date: Wed, 18 Mar 2009 11:58:23 +1100
From: Robin Whittle <rw@firstpr.com.au>
Organization: First Principles
User-Agent: Thunderbird 2.0.0.19 (Windows/20081209)
MIME-Version: 1.0
To: lisp@ietf.org
References: <20090313181222.06F906BE60D@mercury.lcs.mit.edu>
In-Reply-To: <20090313181222.06F906BE60D@mercury.lcs.mit.edu>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: 8bit
Cc: ipdir@ietf.org, Noel Chiappa <jnc@mercury.lcs.mit.edu>, iesg@ietf.org
Subject: Re: [lisp] [ipdir] LISP WG: Loc/ID separation - not separate namespaces
X-BeenThere: lisp@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: List for the discussion of the Locator/ID Separation Protocol <lisp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/lisp>, <mailto:lisp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/lisp>
List-Post: <mailto:lisp@ietf.org>
List-Help: <mailto:lisp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lisp>, <mailto:lisp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 18 Mar 2009 00:55:37 -0000

(I am replying to Noel's "Re: [lisp] [ipdir] LISP WG" message.)

Short version:       Neither LISP nor any of the other core-edge
                     separation approaches to the routing and
                     addressing scaling problem involve separate
                     namespaces for "locators" and "identifiers".
                     The nature of the "split" is operational.

                     While the proposed LISP charter does not
                     mention namespaces, there is a danger that
                     without clarification, the erroneous notion
                     of separate namespaces in LISP etc. will
                     be propagated.  This is especially the case
                     since several LISP-ALT documents explicitly
                     claim that there are separate namespaces.

                     I raised this critique in March 2008 and still
                     people are mentioning separate namespaces for
                     EIDs and RLOCs as if this is an accepted truth.

Noel wrote, in part:

>> From: Margaret Wasserman <mrw@lilacglade.org>
> 
>> I am concerned about the accuracy of calling this mechanism an
>> ID/Locator split mechanism
> 
> Well, if it is not intended to separate location and identity, what's the
> point of creating a mapping database, to maintain maps from one namespace to
> another? 

In LISP, RLOC addresses and EID addresses are not in separate
namespaces.  Assuming IPv4 for the discussion, both RLOC and EID
addresses are within the 32 bit IPv4 namespace.

I am unable to find an authoritative definition of the term
"namespace" but these strike me as pretty good:

  http://en.wiktionary.org/wiki/namespace

    (computing) A conceptual space that groups classes, identifiers,
    etc. to avoid conflicts with items in unrelated code that have
    the same names.

 http://en.wikipedia.org/wiki/Namespace

    ... an abstract container providing context for the items
    (names, or technical terms, or words) it holds and allowing
    disambiguation of items having the same name (residing in
    different namespaces). ...

The "split" referred to in LISP's name involves classifying some
IPv4 addresses into "EID" addresses and others (the remainder?) into
"RLOC" addresses.  I think this is fine, but I agree with the
critique that other approaches, such as HIP, have a stronger claim
to being a system which truly splits Locator and Identifier addresses.

LISP's "split" is an operational matter.  An ITR will recognise some
addresses as being RLOCs and others as EIDs.  (Ordinary routers or
hosts need make no such distinctions.)

EIDs and RLOCs are still within the single IPv4 namespace.

Arguably, a true split would be a conceptual one - which HIP
certainly does - into two separate namespaces for RLOC and EID
addresses.

In principle, it would be possible for both RLOC and EID addresses
to be in separate namespaces while both being 32 bit integers.
However, then each such address would need to come with sufficient
context for the device to know which namespace to interpret these
bits within.

If IPv4 LISP really had separate namespaces for EID and RLOC, then
the number 1.2.3.4 would mean one thing in the EID namespace and
another in the RLOC namespace.


It is probably too late to change LISP's name.  However, I think
there should be a truth in labelling notice in all LISP documents
that the "split" referred to is an operational matter within the
IPvN namespace, and not the creation of two separate namespaces.
Furthermore, I think it would be good to note that HIP and I guess
other proposals really do split addressing into two separate
namespaces for identifier and locator.

Below my signature are some links to prominent items which appear
when searching for:

  LISP split EID RLOC namespace

These include some I-Ds and other material from the LISP-ALT team
which erroneously state that LISP involves two separate namespaces.


  - Robin             http://www.firstpr.com.au/ip/ivip/






http://www.google.com/search?hl=en&as_q=LISP+split+EID+RLOC+namespace

LISP documents referring to 2 namespaces
----------------------------------------

http://tools.ietf.org/html/draft-farinacci-lisp-12

   Another approach is to have the ITR not encapsulate a multicast
   packet and allow the the host built packet to flow into the core
   even if the source address is allocated out of the EID namespace.


http://tools.ietf.org/html/draft-lewis-lisp-interworking-02

   EID Sub Namespace:  A power-of-two block of aggregatable locators
   set aside for LISP interworking.

   PTRs (Proxy Tunnel Routers) attract traffic by announcing the
   LISP EID namespace into parts of the non-LISP-speaking global
   routing system.


http://www.isoc.org/tools/blogs/ietfjournal/?p=158
http://www.isoc.org/tools/blogs/ietfjournal/wp-content/uploads/2007/10/IETFJournal0302.pdf

   IETF Journal Vol 3 Issue 2 2007-10  David Meyer

   Most of the existing routing and addressing proposals leverage
   the one or more levels of indirection inherent in the ID/Locator
   separation idea to create one or more new namespaces. In most
   cases, two namespaces are utilised. One namespace-the End-point
   Identifiers (or EIDs)-is used to address hosts. The other space,
   known as Routing Locators (or RLOCs), is used for packet routing
   across a transit domain.


http://www.nanog.org/mtg-0710/presentations/LISP-cons.pdf

   What is LISP?
   * Locator/ID Separation Protocol (LISP)
     – draft-farinacci-lisp-03.txt
   * Creates two namespaces: IDs and Locators ...



Mailing list message from LISP-ALT team referring to 2 namespaces
-------------------------------------------------------------------

http://www.ietf.org/mail-archive/web/rrg/current/msg01293.html

  Dino:   Well an EID/RLOC split adds one new namespace to address
          systems out of. That gives you more addresses on the order
          of the total addressable address space of the namespace's
          address family (IPv4 or IPv6). You could iterate to build
          multiple levels of hierarchy. Just like people have done
          with multi-level NAT.



Critiques of the notion that LISP provides separate namespaces
--------------------------------------------------------------

None of the three core-edge separation techniques which are
documented in I-Ds provide separate namespaces for "locators" and
"identifiers":

   http://www.lisp4.net
   http://tools.ietf.org/html/draft-jen-apt-01
   http://www.firstpr.com.au/ip/ivip/

This question of namespaces has been discussed before, including:

http://www.ops.ietf.org/lists/rrg/2008/msg00797.html   RW 2008-03-16

   Hi Tony (Li),

   You wrote, in part:

   > We've also accepted as axiomatic that we would like to separate
   > this functionality into two independent namespaces.  I want to
   > stress here that for the architectural result to be in any way
   > clean, independence is mandatory.  Any linkage whatsoever would
   > be a clearly suboptimal result.

   ...

   I don't think any of the map-encap approaches - LISP, APT, Ivip
   or TRRP - involves the creation of a completely independent
   namespace.  I can't imagine any incrementally deployable solution
   which would.

  (Tony's response strikes me as quite abstract and doesn't really
   tackle the critique that for LISP etc. these are not separate
   namespaces: http://www.ops.ietf.org/lists/rrg/2008/msg00817.html)


http://www.ops.ietf.org/lists/rrg/2008/msg00829.html   RW 2008-03-18
   [On "jack-down" models - independent namespaces]


http://www.ops.ietf.org/lists/rrg/2008/msg01637.html   RW 2008-06-27
   [Not separate namespaces: Loc-ID-separation, map-encap etc.]