Cisco Locator ID Separation Protocol (LISP) Explained
Contents
I- What is LISP:
Locator ID Separation Protocol (LISP) is a network architecture and protocol that implements the use of two namespaces instead of a single IP address.
The current IP routing and addressing architecture uses a single numbering space, the IP address, to express two pieces of information:
- Device Identity
- Device location in the network.
The LISP routing architecture design separates the device identity, or endpoint identifier (EID), from its location, or routing locator (RLOC), into two different numbering spaces:
- Endpoint identifiers (EIDs): assigned to end hosts (Device Identity).
- Routing locators (RLOCs): assigned to devices (primarily routers) that make up the global routing system (Device location in the network).
II- The benefits of LISP architecture:
Splitting EID and RLOC functions yields several advantages:
- Simplify multihomed routing
- Facilitate scalable any-to-any WAN connectivity
- Support data center virtual machine mobility
- Improves scalability of the routing system through greater aggregation of RLOCs
- Optimizes IP routing for both IPv4 and IPv6 hosts
III- Locator ID Separation Protocol (LISP) Architecture:
The LISP architecture defines the following LISP-specific network infrastructure components. In some cases, a single physical device can implement more than one of these logical components:
LISP Ingress Tunnel Router (ITR):
An ITR is responsible for finding EID-to-RLOC mappings for all traffic destined for LISP-capable sites.
When the ITR receives a packet destined for an EID, it first looks for the EID in its mapping cache.
- If the ITR finds a match, it encapsulates the packet inside a LISP header with one of its RLOCs as the IP source address and one of the RLOCs from the mapping cache entry as the IP destination. The ITR then routes the packet normally.
- If no entry is found in the ITR’s mapping cache, the ITR sends a Map-Request message to one of its configured map resolvers (MR) and then discards the original packet. When the ITR receives a response to its Map-Request message, it creates a new mapping cache entry with the contents of the Map-Reply message.
LISP Egress Tunnel Router (ETR):
An ETR connects a site to the LISP-capable part of a core network (such as the Internet), publishes
EID-to-RLOC mappings for the site, respond to Map-Request messages, and decapsulates and delivers LISP-encapsulated user data to end systems at the site.
During operation, an ETR sends periodic Map-Register messages to all its configured map servers (MS). The Map-Register messages contain all the EID-to-RLOC entries for the EID-numbered networks that are connected to the ETR’s site.
An ETR that receives a Map-Request message verifies that the request matches an EID for which it is authoritative, construct an appropriate Map-Reply message containing its configured mapping information and sends this message to the ingress tunnel router (ITR) whose RLOCs are listed in the Map-Request message.
An ETR that receives a LISP-encapsulated packet that is directed to one of its RLOCs decapsulates the packet, verifies that the inner header is destined for an EID-numbered end system at its site, and then forwards the packet to the end system using site-internal routing.
Note:
An xTR performs both the roles of ITR and ETR.
LISP Map-Server (MS):
An MS implements part of the distributed LISP mapping database by accepting registration requests from its client egress tunnel routers (ETRs), aggregating the successfully registered EID prefixes of those ETRs, and advertising the aggregated prefixes into the alternative logical topology (ALT) with border gateway protocol (BGP).
Because an MS does not forward user data traffic, it handles only LISP control plane traffic, it does not require high-performance switching capability, and is well suited for implementation on a general-purpose router, such as a Cisco IntegratedServices Router (ISR). Both MS and MR functions are typically implemented on the same device, which is referred to as an MR/MS device.
LISP Map-Resolver (MR):
Like an MS, a LISP MR connects to the ALT. The function of the LISP MR is to accept encapsulated
Map-Request messages from ingress tunnel routers (ITRs), decapsulate those messages and then forward the messages to the MS responsible for the egress tunnel routers (ETRs) that are authoritative for the requested EIDs.
Note: A single EID can be mapped to multiple RLOC with different weight and priorities.
Proxy ETR (PITR):
A PITR is used for interconnection between LISP and non-LISP sites. A PITR behaves like an ITR and acts on packets sent by non-LISP sites to LISP sites.
A PITR receives packets from non-LISP sites and encapsulates them toward LISP sites.
Proxy ETR (PETR):
A PETR is also used for interconnection between LISP and non-LISP sites. A PETR behaves like an ETR but does so for LISP sites that send packets to non-LISP sites.
A PETR de-encapsulates packets from LISP sites toward non-LISP sites.
IV- LISP Header:
The below diagram illustrates the LISP encapsulated packet with LISP header:
V- LISP Control Plane:
As defined in RFC 6830, There are various LISP control plane messages which include:
- Type 1: LISP map request
- Type 2: LISP map reply
- Type 3: LISP map register
- Type 4: LISP map notify
VI- LISP Data Packet flow:
Below figure is an example from cisco press (modified) that illustrates the packet flow between two LISP sites: