Repository navigation
LISP
In traditional IP networking, an IP address acts as both an identifier (who the device is) and a locator (where the device is physically connected to the network).
LISP creates two separate namespaces, Endpoint Identifiers (EIDs) and Routing Locators (RLOCs). Both are syntactically identical to the current IPv4 and IPv6 addresses. However,
- EIDs are used to uniquely identify nodes irrespective of their topological location and are typically routed intra-domain.
- RLOCs are assigned topologically to network attachment points and are typically routed inter-domain.
With LISP, the edge of the Internet (where the nodes are connected) and the core (where inter-domain routing occurs) can be logically separated. LISP-capable routers interconnect the two logical spaces. LISP also introduces a database, called the Mapping System, to store and retrieve mappings between identity and location. LISP-capable routers exchange packets over the Internet core by encapsulating them to the appropriate location.
/----------------\
| Mapping |
| System |
.| |-
` \----------------/ `.
,` \
/ `.
,' _,..-..,, ',
/ -` `-, \
.' ,' \ `,
` ' \ '
+-----+ | | RLOC_B1+-----+
HostA | | | RLOC |-------| | HostB
EID_A--|ITR_A|----| Space | |ETR_B|--EID_B
| | RLOC_A1 |-------| |
+-----+ | | RLOC_B2+-----+
, /
\ /
`', ,-`
``''-''``
LISP Site (Edge) Core LISP Site (Edge)
- HostA retrieves the EID_B of HostB, typically querying the DNS and obtaining an A or AAAA record. Then, it generates an IP packet as in the Internet. The packet has source address EID_A and destination address EID_B.
- The packet is forwarded towards ITR_A in the LISP site using standard intra-domain mechanisms.
- ITR_A, upon receiving the packet, queries the Mapping System to retrieve the Locator of ETR_B that is servicing HostB's EID_B. In order to do so, it uses a LISP control message called Map-Request. The message contains EID_B as the lookup key. In turn, it receives another LISP control message called Map-Reply. The message contains two Locators: RLOC_B1 and RLOC_B2. It also contains TE policies: priority and weight per Locator. Note that a Map-Reply can contain more Locators if needed. ITR_A can cache the mapping in local storage to speed up forwarding of subsequent packets.
- ITR_A encapsulates the packet towards RLOC_B1 (chosen according to the priorities/weights specified in the mapping). The packet contains two IP headers. The outer header has RLOC_A1 as source and RLOC_B1 as destination. The inner original header has EID_A as source and EID_B as destination. Furthermore, ITR_A adds a LISP header.
- The encapsulated packet is forwarded over the interconnecting core as a normal IP packet, making the EID invisible from the core.
- Upon reception of the encapsulated packet by ETR_B, it decapsulates the packet and forwards it to HostB.