| LISP | |
|---|---|
| Locator/ID Separation Protocol | |
| Status | Published |
| Organization | Internet Engineering Task Force |
| Website | RFC 9300 |
Locator/ID Separation Protocol (LISP) 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
The protocol is currently an IETF Proposed Standard, specified in RFC 9300.
History
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
Characteristics
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
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
IETF has an active workgroup establishing standards for LISP. As of 2016, the LISP specifications are on the experimental track. The LISP workgroup started to move the core specifications onto the standards track in 2017 - as of June 2021 three revisions (for RFC 6830, RFC 6833, and 8113) are ready for publication as RFCs, but they await completion of work on a revision of RFC 6834 and the LISP Security Framework.
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 LISP PETR implements ETR functions on behalf of non-LISP sites. A PETR is typically used when a LISP site needs to send traffic to non-LISP sites but the LISP site is connected through a service provider that does not accept nonroutable EIDs as packet sources.
- 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
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.1011 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
- Cisco has released public IOS, IOS XR, IOS XE and NX-OS images which support LISP.
- A team of researchers from the Université catholique de Louvain and T-Labs/TU Berlin have written a FreeBSD implementation called OpenLISP.14
- The LIP6 lab of UPMC, France, has implemented a fully featured control-plane (MS/MR, DDT, xTR) for OpenLISP 1516
- Historically, LISPmob was an open source implementation of LISP for Linux, OpenWRT and Android maintained at Polytechnic University of Catalonia. It could act as xTR or LISP Mobile Node.17 Recently, this implementation has been further developed into a full open source LISP router called the "Open Overlay Router" or OOR.
- AVM added LISP support in firmware for their FRITZ!Box devices starting from FRITZ!OS version 6.00.
- LANCOM Systems supports LISP in the router operating system
- HPE supports LISP in their Comware 7 platform based routers (under the marketing name FlexNetwork MSR and VSR). This platform is developed by H3C Technologies and sold in China under their own logo.
- OpenDaylight supports LISP flow mappings.
- ONOS develops a distributed LISP control plane as an SDN application.1819
- Lispers.net provides an open source, feature complete implementation of LISP.20
- fd.io also supports LISP by the Overlay Network Engine (ONE).21
- A simple LISP Mapping System implementation is also available in Java.22
See also
See also
- Host Identity Protocol (HIP)
- Identifier-Locator Network Protocol (ILNP)
- Proxy Mobile IPv6 (PMIPv6)
References
References
- "Locator/ID Separation Protocol (lisp) Working Group".
- Farinacci, Dino; Meyer, David; Snijders, Job (9 July 2012). "LISP Canonical Address Format (LCAF)". Ietf Datatracker.
- "RFC4984 - Report from the IAB Workshop on Routing and Addressing". Retrieved 2010-10-28.
- Lewis, Darrel (26 January 2009). "IETF I-D Architectural Implications of Locator/ID Separation". Ietf Datatracker.
- "IETF I-D draft-brim-lisp-analysis". Ietf Datatracker. 10 March 2008. Retrieved 2010-10-28.
- 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.
- Lewis, Darrel; Meyer, David; Farinacci, Dino; Fuller, Vince (January 2013). "Interworking LISP with IPv4 and IPv6". Ietf Datatracker.
- Lewis, Darrel; Meyer, David; Farinacci, Dino; Fuller, Vince (January 2013). "Interworking LISP with IPv4 and IPv6". Ietf Datatracker.
- Ermagan, Vina; Farinacci, Dino; Lewis, Darrel; Skriver, Jesper; Maino, Fabio; White, Chris (27 September 2012). "NAT traversal for LISP". IETF.
- IPJ article about LISP
- Scaling the Internet with LISP Archived 2010-03-15 at the Wayback Machine tutorial
- Fuller, Vince; Farinacci, Dino; Meyer, David; Lewis, Darrel (January 2013). "LISP Alternative Topology (LISP+ALT)". Ietf Datatracker.
- Jakab, Lorand; Cabellos-Aparicio, Albert; Coras, Florin; Saucez, Damien; Bonaventure, Olivier (2010). "LISP-TREE: A DNS Hierarchy to Support the LISP Mapping System". IEEE Journal on Selected Areas in Communications. 28 (8): 1332–1343. CiteSeerX 10.1.1.716.8421. doi:10.1109/JSAC.2010.101011. S2CID 16828730.
- Iannone, Luigi; Saucez, Damien; Bonaventure, Olivier (March 2011). "Implementing the Locator/ID Separation Protocol: Design and Experience". Computer Networks. 55 (4): 948–958. CiteSeerX 10.1.1.648.3739. doi:10.1016/j.comnet.2010.12.017.
- Open LISP control-plane project: https://github.com/lip6-lisp/control-plane
- Research activities on LISP at LIP6: http://www.lisp.ipv6.lip6.fr (webserver hosted behind the LISP Beta Network)
- "IETF I-D draft-meyer-lisp-mn". Ietf Datatracker. Retrieved 2011-09-13.
- "ONOS-LISP-Management-Plane". GitHub. 14 January 2019.
- "Onos/Protocols/Lisp at master · opennetworkinglab/Onos". GitHub.
- "Farinacci/Lispers.net". GitHub. 10 November 2021.
- "Project Proposals/Overlay Network Engine - fd.io".
- "JLisp/Jlisp". GitHub. 28 January 2019.