What is LISP?
LISP stands for Location Identity Separation Protocol. It separates location of a device from it's identity by maintaining a database. What does this actually mean?
Say we had two different sites.
- London site - This is known as LOC1 and its LAN is assigned an IP of 192.168.10.0/24
- Birmingham Site - This is known as LOC2 and its LAN is assigned an IP of 172.16.10.0/24
If we had an endpoint Carol connected into the London LAN with an IP of 192.168.10.10 we know its identity is 192.168.1.10 and from the IP we can tell its location is LOC1/London site.
If we want to move this endpoint from LOC1 (London) to LOC2 (Birmingham) we would need to change the IP address of the end host. This means the IP of the endpoint Carol would become 172.16.10.10/24 as an example.
This means changing locations of host means changing IP addresses. Identity and Location is tied to IP which represents identity and Location.
The need for LISP
As mentioned, LISP is for separating the location of a device from its identity. Its identity is its IP address. (or MAC)
We want to do this for many reasons such as:
- Mobility - People move around in a network constantly. For wireless this issue is somewhat solved within the same building where they can roam around. However for both wired and wireless moving ACROSS buildings or locations is what LISP tries to solve. It ensures that your identity (IP) is not fixed to your location. Below shows how it currently works
Original/Traditional networks:
| Various Sites | Endpoint Identifier | Remote Location (RLOC) |
|---|---|---|
| London | x.x.x.x | LOC-1 |
| Birmingham | y.y.y.y | LOC-2 |
| Manchester | z.z.z.z | LOC-3 |
- This is clarifying on the above where on each site we have different IPs for the endpoints.
SDA Networks with LISP:
| Various Sites | Endpoint Identifier (EID) | Remote Location (RLOC) |
|---|---|---|
| London | x.x.x.x | LOC-1 |
| Birmingham | x.x.x.x | LOC-2 |
| Manchester | x.x.x.x | LOC-3 |
With LISP there is a mechanism where the old entry is flushed out from the database. Here the same endpoint regardless of location has the same IP address. LISP has separated the location with identity.
The way it does this is by having at minimum 2 Address Spaces. What is Address Spaces? In LISP this references the Endpoint Identifier (EID) and the Remote Location (RLOC).
How LISP works
Lets take our example topology where we have the below:
- London site - This is known as LOC1 and its LAN is assigned an IP of 192.168.10.0/24. The Router at this site has a loopback with an IP of 10.10.10.1.
- Birmingham Site - This is known as LOC2 and its LAN is assigned an IP of 172.16.10.0/24. The Router at this site has a loopback with an IP of 10.10.10.2.
- If Carol at London is assigned an IP of 192.168.10.10 via DHCP and its located at London. This means the EID will be 192.168.10.10 and the RLOC will be London's routers loopback address of 10.10.10.1.
- If David at Birmingham is assigned an IP of 172.16.10.10 via DHCP and its located at Birmingham. This means the EID will be 172.16.10.10 and the RLOC will be Birmingham's routers loopback address of 10.10.10.2.
| Various Sites | Endpoint Identifier (EID) | Remote Location (RLOC) |
|---|---|---|
| London | 192.168.10.10 | 10.10.10.1 |
| Birmingham | 172.16.10.10 | 10.10.10.2 |
What does this actually mean? It means endpoint 192.168.10.10 which is Carol is located behind router 10.10.10.1 and vice versa for David at Birmingham.
Here's the magic of LISP. Lets say Carol has to move to the Birmingham office for an event, her EID will remain the same when she arrives and connects to the network. However, her RLOC has changed. She is now RLOC-2, she is behind router 10.10.10.2.
- 1Carol registers EID with LISP at RLOC-1
- 2Carol moves to the Birmingham office - her EID is registered with RLOC-2Her EID remains the same but she registers to remote RLOC 10.10.10.2
- 3Sam at RLOC-3 wants to ping Carol
- 4Sam's device queries the LISP Control Plane database
- 5The Lisp Control Plane replies with and informs Sam that 192.168.10.1 (Carol) has moved locations
- 6Sam now forwards packet to Carol
The LISP database is always dynamic. The database can always be queried by different devices participating in the LISP process. Such as the Fabric edge switches connected to the end devices. VLANs also do not have to be stretched across buildings using LISP control plane.
Recommended materials
Comments