Short version: LISP (Locator Identifier Separation Protocol) is
a misnomer. LISP separates an Edge (EID) subset
of the global unicast address space from the
remaining addresses, which are known as Core
(RLOC) address space.
LISP, APT, Ivip, TRRP, TIDR and RANGER are
Core-Edge Separation (CES) architectures - they
all create a separate "edge" subset of the global
unicast address space.
No CES architecture separates Locators from
Identifiers.
No CES architecture creates a new namespace.
In today's Internet, and with the addition of
LISP or any other CES architecture, the roles of
Locator and Identifier are both played by the IP
address. (This is widely regarded in the RRG
as a bad thing, to be corrected - but I argue
the contrary.)
HIP and other Core-Edge Elimination (CEE)
architectures such as ILNP, Name Based Sockets,
GLI-Split and many others DO separate Locators
from Identifiers.
In a CEE architecture, the role of Locator is
performed by one kind of object and the role of
Identifier is played by another. These roles are
played by objects which are in separate
namespaces.
CEE architectures remove the need for "edge"
space in the form of prefixes devoted to
end-user networks. With CEE, all addresses
used by hosts can be PA addresses, so there is
no "core" vs. "edge" distinction - all IP
addresses (or whatever is used to perform the
Locator role) are from ISP's well aggregated
prefixes.
In this context, "separation of location and
identity", "Loc/ID separation" and the like
are ambiguous. Many people will think this
refers to LISP, or to Core-Edge Separation -
and these terms may be intended to refer to
LISP and other CES architectures.
But this is mistaken use of a perfectly
valid term, which properly refers to CEE
architectures such as HIP and ILNP. I have
used the term mistakenly in this way too.
In msg05845, Noel wrote:
> I thought we did have rough consensus on the need for the
> separation of location and identity?
I think there's no official list of what we have achieved rough
consensus on. On 2009-04-17 I tried to list some such items:
http://www.ietf.org/mail-archive/web/rrg/current/msg04851.html
I don't recall there being a consensus call on the need for
"separation of location and identity". On 2009-04-07 there was a
poll about defining the terms locator, identifier and address:
http://www.ietf.org/mail-archive/web/rrg/current/msg04724.html
and these were accepted, resulting in a terminology page in the wiki:
http://trac.tools.ietf.org/group/irtf/trac/wiki/RRGTerminology?version=1
I suggest using terms such as "Loc/ID split" with care, because they
mean different, contradictory, things to different people. Many people
(including me in the past), when they hear these terms, think immediately
of LISP and other CES architectures (previously known as "map-encap",
"map-and-encaps" etc.). But this is a mistake.
The authors of CEE proposals such as GLI-Split use this term to refer
to their own architectures, which are completely and utterly
different from LISP and other CES architectures. From the GLI-Spit
paper:
http://www3.informatik.uni-wuerzburg.de/~menth/Publications/papers/Menth-GLI-Split.pdf
Abstract
GLI-Split is a new addressing and routing architecture for
the Internet. It splits the functionality of current IP
addresses into a global locator, a local locator, and an
identifier, and encodes them in IPv6 addresses. It implements
the locator/identifier split and makes routing in the core of the
Internet more scalable. ...
HIP (RFC4423) is described, in May 2006, as involving separation of
locators from identifiers:
In the HIP architecture, the end-point names and locators are
separated from each other. IP addresses continue to act as
locators. The Host Identifiers take the role of end-point
identifiers.
ILNP uses the same terminology:
http://ilnp.cs.st-andrews.ac.uk/docs/id/draft-rja-ilnp-intro-03.txt
At present, the IRTF Routing Research Group is studying
different approaches to evolving the Internet Architecture.
Several different classes of evolution are being considered.
One class is often called "Map and Encapsulate", where
traffic would be mapped and then tunnelled through the
inter-domain core of the Internet. Another class being
considered is sometimes known as "Identifier/Locator Split".
This document relates to a proposal that is in the latter
class of evoluationary approaches.
These three CEE architectures use "locator identifier
split/separation" to identify their themselves. HIP and ILNP predate
LISP.
I believe LISP is a misleading name, since it does not separate
identifiers from locators. LISP is a CES architecture, not a CEE
architecture.
LISP and other CES architectures are completely different from CEE
architectures. To see why, here is an analysis of various naming
systems.
Naming Systems
--------------
In today's Internet, the conventional IP naming system has 2 levels.
The three roles are implemented with the Text name role implemented
on its own with FQDNs and both the Identifier and Locator roles
handled simultaneously by the IP address. Core Edge Separation (CES)
architectures retain this arrangement.
Role Level Conventional IP & with CES
---- -----
Text name FQDN
Identifier ]
] IP address
Locator ]
Many people think this conventional approach of making the IP address
play both Identifier and Locator roles is a bad thing. It does
create more work for the routing system, but overall I think the
benefits of this approach outweigh the disadvantages of requiring
hosts to deal with separate Identifier and Locators.
The primary advantage of this system is that when a packet is sent to
some destination IP address, the host which sent it can be sure that
(assuming it is not dropped) the packet will only go to a host with a
known identity: that signified by the destination IP address. The
packet can't go to a host with any other Identifier.
With Core Edge Elimination (CEE) architectures, the sending host can
only achieve this (ensuring the packet goes to a host with the
desired Identifier) by looking up the Identifier in a mapping system,
such as DNS, to find one or more Locators - then the packet is
addressed to the Locator.
In some CEE architectures the three roles: Text name, Identifier and
Locator are implemented separately.
Role Level Some CEE architectures such as HIP
---- -----
Text name FQDN
Identifier HIT
Locator IPv6 address
HIP is a pure CEE architecture, in which three completely separate
levels are used for the three roles.
ILNP and its predecessors, as listed in section 2.1 of Ran's and
colleague's historical notes:
http://www.cs.st-andrews.ac.uk/~saleem/papers/2007/mobiwac2007/mobiwac2007-abh2007.pdf
have the Identifier as the lower 64 bits of what will become the IP
address, and the "Locator" in the upper 64 bits. Actually, the full
"Locator" is the whole 128 bits, but the 64 Locator bits is
sufficient to specify which ISP network the destination host can be
reached in.
Role Level Other CEE architectures such
---- ----- as ILNP
Text name FQDN
Identifier ---- ---- IIII IIII
Locator LLLL LLLL ---- ----
I am still trying to understand Christian Vogt's Name Based Sockets.
It is a CEE architecture and appears to have a 2 level system in
which both the Text name and Identifier roles are played by the FQDN,
and the Locator role is played by the IP address.
Role Level Name Based Sockets (CEE)
---- -----
Text name ]
] FQDN
Identifier ]
Locator IPv6 address
This is the exact opposite of the conventional IP level system.
However, I think that Name Based Sockets must be more complex than
this, since it is intended that a single FQDN can enable the
selection of one of multiple separate hosts. In that case, as far as
I know, the role of Identifier must be performed by some combination
of FQDN and specific Locators out of the larger set of Locators for
the multiple physical hosts. I am seekding guidance on this from
Christian.
Namespaces
----------
However they do it, all CEE architectures have separate namespaces
for Locators and Identifiers. The true meaning of "Loc/ID
separation/split" and the like is these CEE architectures.
All CES architectures, including LISP, APT, Ivip, TRRP, TIDR and
RANGER do NOT alter the naming structure of IPv4 or IPv6.
CES architectures separate "edge" addresses from the remaining "core"
addresses. Edge addresses are a subset of the union of the two - the
union is the global unicast address space. Neither the "edge" nor
"core" subsets are separate namespaces.
The subset of the 2^32 IPv4 addresses which constitute the global
unicast subset are within a single namespace. Private addresses,
such as those within 10.0.0.0/8, do involve a separate namespace for
every network which implements them. This is because 10.1.2.3 can
mean one thing in network A and another in network B.
A global unicast address such as 12.34.56.78 always means the same
thing.
If the prefix 12.34.0.0/16 is used as SPI (Scalable PI) space (Ivip)
or EID space (LISP) then this address range is regarded as
("separated") as the "edge" subset, and removed from the remainder of
the global unicast set, which is now known as the "core" subset.
Multiple such prefixes in total constitute the total "edge" (SPI,
EID) subset.
Edge (SPI, EID) addresses are not in a separate namespace.
12.34.56.78 still means only one thing in the whole Internet.
Hosts and all routers except ITRs make no distinction between
addresses which are in the "edge" subset. ITRs process packets
differently if they have an "edge" addresses in their destination
field. They tunnel the packet to an ETR, based the results of
looking up the mapping of this address in global mapping system.
Let's state it again =^)
-------------------------
Core-Edge Separation (CES) architectures (LISP, Ivip etc.) DO NOT
alter the naming structure of IPv4 or IPv6:
Role Level Conventional IP & with CES
---- -----
Text name FQDN
Identifier ]
] IP address
Locator ]
They separate an "edge" subset of global unicast addresses from what
remains as the "core" subset.
Core-Edge Elimination (CEE) architectures (HIP, ILNP, GLI-Split,
Name Based Sockets) DO alter the naming structure to one of several
models, in which the roles of Identifier and Locator are always
performed by separate objects, in separate namespaces.
CEE architectures always involve separating Locators and Identifiers
- into separate namespaces.
The only proper use of terms such as "Locator Identifier Separation"
is for CEE architectures, since no CES architecture does this.
- Robin
More about the meaning of the term "namespace":
http://www.firstpr.com.au/ip/ivip/namespace/
More on the difference between CES and CEE, and why "LISP" is a misnomer:
http://www.firstpr.com.au/ip/ivip/loc-id-sep-vs-ces/
To see why I chose Core Edge Separation for Ivip, please see the
Architectural Choices section of:
http://tools.ietf.org/html/draft-whittle-ivip-arch
and this discussion of why CEE architectures, by imposing more
responsibilities on hosts, will lead to increased delays in
establishing sessions - with those delays being worse still for hosts
on slow, unreliable links such as 3G wireless or satellite:
http://www.firstpr.com.au/ip/ivip/RRG-2009/host-responsibilities/
_______________________________________________
rrg mailing list
[email protected]
http://www.irtf.org/mailman/listinfo/rrg