Locator/Identifier Separation Protocol

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

File:Lisp-logo.jpg
The LISP Logo

Locator/ID Separation Protocol (LISP) (RFC 6830) is a "map-and-encapsulate" protocol which is developed by the Internet Engineering Task Force LISP Working Group.[1] The basic idea behind the separation is that the Internet architecture combines two functions, routing locators (where a client is attached to the network) and identifiers (who the client is) in one number space: the IP address. LISP supports the separation of the IPv4 and IPv6 address space following a network-based map-and-encapsulate scheme (RFC 1955). In LISP, both identifiers and locators can be IP addresses or arbitrary elements like a set of GPS coordinates or a MAC address.[2]

Historical origin

The Internet Architecture Board's October 2006 Routing and Addressing Workshop [3] renewed interest in the design of a scalable routing and addressing architecture for the Internet. Key issues driving this renewed interest include concerns about the scalability of the routing system and the impending exhaustion of IPv4 address space. Since the IAB workshop, several proposals have emerged that attempted to address the concerns expressed at the workshop. All of these proposals are based on a common concept: the separation of Locator and Identifier in the numbering of Internet devices, often termed the "Loc/ID split".[4]

Current Internet Protocol Architecture

The current namespace architecture used by the Internet Protocol uses IP addresses for two separate functions:

  • as an end-point identifier to uniquely identify a network interface within its local network addressing context
  • as a locator for routing purposes, to identify where a network interface is located within a larger routing context

LISP

There are several advantages to decoupling Location and Identifier, and to LISP specifically.[5]

  • Improved routing scalability
  • BGP-free multihoming in active-active configuration
  • Address family traversal: IPv4 over IPv4, IPv4 over IPv6, IPv6 over IPv6, IPv6 over IPv4
  • Inbound traffic engineering
  • Mobility
  • Simple deployability
  • No host changes are needed
  • Customer driven VPN provisioning replacing MPLS-VPN
  • Network virtualization
  • Customer operated encrypted VPN based on LISP/GETVPN replacing IPsec scalability problems
  • High availability for seamless communication sessions through (constraint-based) multihoming

A recent discussion of several LISP use cases may be found in [6]

Terminology

  • Routing Locator (RLOC): A RLOC is an IPv4 or IPv6 address of an egress tunnel router (ETR). A RLOC is the output of an EID-to-RLOC mapping lookup.
  • Endpoint ID (EID): An EID is an IPv4 or IPv6 address used in the source and destination address fields of the first (most inner) LISP header of a packet.
  • Egress Tunnel Router (ETR): An ETR is a device that is the tunnel endpoint; it accepts an IP packet where the destination address in the "outer" IP header is one of its own RLOCs. ETR functionality does not have to be limited to a router device; server host can be the endpoint of a LISP tunnel as well.
  • Ingress Tunnel Router (ITR): An ITR is a device that is the tunnel start point; it receives IP packets from site end-systems on one side and sends LISP-encapsulated IP packets, across the Internet to an ETR, on the other side.
  • Proxy ETR (PETR): A PETR is used for inter-networking between LISP and Non-LISP sites, a PETR acts like an ETR but does so on behalf of LISP sites which send packets to destinations at non-LISP sites.
  • Proxy ITR (PITR): A PITR is used for inter-networking between Non-LISP and LISP sites, a PITR acts like an ITR but does so on behalf of non-LISP sites which send packets to destinations at LISP sites.[7]
  • xTR: A xTR refers to a device which functions both as an ITR and an ETR (which is typical), when the direction of data flow is not part of the context description.[8]
  • Re-encapsulating Tunnel Router (RTR): An RTR is used for connecting LISP-to-LISP communications within environments where direct connectivity is not supported. Examples include: 1) joining LISP sites connected to "disjointed locator spaces"—for example a LISP site with IPv4-only RLOC connectivity and a LISP site with IPv6-only RLOC connectivity; and 2) creating a data plane 'anchor point' by a LISP-speaking device behind a NAT box to send and receive traffic through the NAT device.[9]

The LISP mapping system

In the Locator/Identifier Separation Protocol the network elements (routers) are responsible for looking up the mapping between end-point-identifiers (EID) and route locators (RLOC) and this process is invisible to the Internet end-hosts.[10][11] The mappings are stored in a distributed database called the mapping system, which responds to the lookup queries. The LISP beta network initially used a BGP-based mapping system called LISP ALternative Topology (LISP+ALT),[12] but this has now been replaced by a DNS-like indexing system called DDT inspired from LISP-TREE.[13] The protocol design made it easy to plug in a new mapping system, when a different design proved to have benefits. Some proposals have already emerged and have been compared.

Implementations

LISP beta network

A testbed has been developed to gain real-life experience with LISP. Participants include Google, Facebook, NTT, Level3, InTouch N.V. and the Internet Systems Consortium.[18] As of January 2014, around 600 companies, universities, and individual contributors from 34 countries are involved. The geographical distribution of participating routers, and the prefixes they are responsible for, can be observed on the LISPmon project website (updated daily). The multi-company, LISP-community initiative LISP4.net/LISP6.net publishes relevant information about this beta network on http://www.lisp4.net/ and http://www.lisp6.net/.

LISP-Lab consortium research network

The LISP-Lab project,[19] coordinated by UPMC/LIP6, aims at building a LISP network experimentation platform exclusively built using open source LISP nodes (OpenLISP) acting as ITR/ETR tunnelling routers, MS/MR mapping servers/resolvers, DDT root and Proxy ITR/ETR. Partners include two academic institutions (UPMC, TPT), two Cloud Networking SME (Alphalink, NSS), two network operators (Renater, Orange), two SMEs on Access/Edge Networking (Border 6, Ucopia) and one Internet eXchange Point (Rezopole). More information on http://www.lisp-lab.org . The platform should be opened to external partners on 2014/2015 and is already interconnected to the LISP Beta Network with an OpenLISP DDT root.[20]

Commercial use of LISP

LISP is also a key component of a number of commercial offerings. NJEdge.net and Vinci Consulting provide LISP based services.

Other approaches

Several proposals for separating the two functions and allowing the Internet to scale better have been proposed, for instance GSE/8+8 as network based solution and SHIM6, HIP and ILNP as host based solutions.

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Saucez, Damien ; Iannone, Luigi ; Bonaventure, Olivier ; Farinacci, Dino, Designing a Deployable Future Internet: the Locator/Identifier Separation Protocol (LISP) case IEEE Internet Computing, December 2012.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. IPJ article about LISP
  11. Scaling the Internet with LISP tutorial
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Jakab, Loránd; Cabellos-Aparicio, Albert; Coras, Florin; Saucez, Damien; Bonaventure, Olivier, LISP-TREE: A DNS Hierarchy to Support the LISP Mapping System, IEEE Journal on Selected Areas in Communications (JSAC), 28(8): 1332-1343, October 2010
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Open LISP control-plane project: https://github.com/lip6-lisp/control-plane
  16. Research activities on LISP at LIP6: http://www.lisp.ipv6.lip6.fr (webserver hosted behind the LISP Beta Network)
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. LISP-Lab project website: http://www.lisp-lab.org
  20. DDT root website: http://ddt-root.org

External links