LISP

  1. Locator ID separation protocol
    1. Map-request (0x1)
    2. Map-reply (0x2), map-register (0x3), map-notify (0x4)
  2. Mobility

Locator ID separation protocol

  • entities
    • EID: endpoint ID
    • RLOC: routing locator
    • xTR
      • ITR: ingress tunnel router
      • ETR: egress tunnel router
    • proxy xTR: connection with non-LISP
    • MS: map server
    • MR: map resolver
  • message
    • map-request
      • type = 0x1
      • probing
      • receive EID-RLOC mapping
      • solicit-map-request (SMR)
        • demand map-request from ITR to refresh cache
    • map-reply
      • type = 0x2
    • map-register
      • type = 0x3
    • map-notify
      • type = 0x4
(config)# router lisp

; MS
(config-router-lisp)# site <SITE>
(config-router-lisp-site)# authentication-key <KEY>
(config-router-lisp-site)# eid-prefix <PREFIX>

; MS
(config-router-lisp)# ipv4 map-server

; MR
(config-router-lisp)# ipv4 map-resolver

; xTR
(config-router-lisp)# ipv4 etr map-server <IP> key <KEY>
(config-router-lisp)# ipv4 etr
(config-router-lisp)# ipv4 itr map-resolver <IP>
(config-router-lisp)# ipv4 itr

; ETR, priority: lower ≡ better
(config-router-lisp)# database-mapping <PREFIX> <ETR> priority <N> weight <M>

Map-request (0x1)

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  0x1  |A|M|P|S|p|s|     Reserved    |   IRC   | Record Count  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
\                                                               \
/                             Nonce                             /
\                                                               \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         Source-EID-AFI        |  Source EID Address (var len) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         ITR-RLOC-AFI 1        |  ITR-RLOC Address 1 (var len) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              ...                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         ITR-RLOC-AFI n        |  ITR-RLOC Address n (var len) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+
|   Reserved    | EID mask-len  |        EID-Prefix-AFI         |   \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    > record
|                    EID-Prefix (variable length)               |   /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+
\                                                               \
/                       Map-Reply Record                        /
\                                                               \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

A: authoritative, 1 ≡ reply from ETR, not MS, is required
M: map-data-present, 1 ≡ map-reply included
P: probe, 1 ≡ confirm reachability
S: solicit-map-request (SMR)
p: proxy ITR, 1 ≡ request from proxy ITR
s: SMR-invoked, 1 ≡ reply to SMR
IRC: ITR-RLOC count
Nonce: 24 or 64 bits
Source EID: host IP, whose packet triggered map-request

Map-reply record may be included for ETR to cache it

Map-reply (0x2), map-register (0x3), map-notify (0x4)

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Type |P|E|S|            Reserved           |M| Record Count  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
\                                                               \
/                             Nonce                             /
\                                                               \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-----------+
|                          Record TTL                           |           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+           |
| Locator Count | EID mask len  | ACT |A|      Reserved         |           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+           |
| Rsvd  |  Map-Version Number   |       EID-Prefix-AFI          |           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+           |
\                                                               \           |
/                          EID prefix                           /            \
\                                                               \             > Record
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+         /
|    Priority   |    Weight     |  M Priority   |   M Weight    |  |        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  |        |
|           Unused        |L|p|R|         Locator AFI           |   \       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    > RLOC |
\                                                               \   /       |
/                            Locator                            /  |        |
\                                                               \  |        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--+--------+

P: probe
E: site enabled for Echo-nonce Locator Reach algorithm
S: security, 1 ≡ auth trailer is appended to packet
M: 1 ≡ want map-notify (acknowledge map-register)
Nonce: 24 or 64 bits

Record TTL: mins

  • 0 ≡ purge from cache
  • 0xF..F ≡ ITR decides on its own, how long to cache

ACT: used, when RLOC is not present (Locator count = 0)

  • 0: no action ≡ drop packet, do not update cache
  • 1: forward natively
  • 2: send-map-sequest
  • 3: drop

A: authoritative, 1 ≡ reply from ETR, not MS, is required
M priority/weight: multicast
Priority: 255 ≡ do not use RLOC
L: local RLOC, 0 ≡ reply from proxy ITR
p: reply to probe from Locator, may differ from source IP
R: 1 ≡ sender has route to Locator (≡ ETR can be used for forwarding), useful on site partitioning

Mobility

  • detect change using GARP, RARP, IP traffic
  • updates MS and proxy ITR