LISP Packet Headers
When an xTR at one site knows about the mapping of the destination EID and the destination RLOC, the data packets from the client are encapsulated with the LISP header and sent to the destination site through the selected path. The xTR at the destination site strips off the LISP header and then forwards the packets to the destination host. LISP supports all four different encapsulations:
IPv4-in-IPv4 encapsulation
IPv6-in-IPv4 encapsulation
IPv4-in-IPv6 encapsulation
IPv6-in-IPv6 encapsulation
LISP IPv4-in-IPv4 Header Format
With the LISP IPv4-in-IPv4 header format, both the EID and RLOCs have IPv4 packet format. RFC 6830 defines the header shown in Figure 2-10 for such encapsulation.
FIGURE 2-10 LISP IPv4-in-IPv4 Packet Format
In this format, the first 20 bytes are the outer header, which is an IPv4 header for the RLOC. It consists the information about the source and the destination RLOC. The outer header is followed by the UDP header, with the destination port 4341. Then comes the LISP header. The LISP header contains five different bits:
N (nonce present bit): When this bit is set, the lower 24 bits of the initial 32 bits contain a nonce.
L (locator status bits): When this bit is set to 1, the locator status bits (LSBs) in the next 32 bits inside the LISP header are in use. ITRs use LSBs to inform ETRs about the status (up/down) of all ETRs at the local site. These bits are used as a hint to convey router status (up/down) and not path reachability status.
E (echo nonce request bit): This bit is set to 0 if the N bit is set to 0. It can be set to 1 only when the N bit is set to 1. This is useful when an ITR is also an ETR and the ITR is requesting the nonce to be echoed back to it in the LISP-encapsulated packets.
V (map version bit): When this bit is set, the N bit is set to 0. With this bit set to 1, the lower 24 bits of the initial 32 bits of the LISP header are encoded with the map version. With the V bit set, the LISP header is encoded as shown in Figure 2-11.
FIGURE 2-11 LISP Header
I (instance ID bit): When this bit is set, the LSBs are reduced from 32 bits to 8 bits, and the higher-order 24 bits are used for the instance ID.
After the LISP header, the next 20 bytes account for the inner IP header, which represents the source and destination EIDs.
LISP IPv6-in-IPv6 Header Format
With the LISP IPv6-in-IPv6 header format, both the EID and the RLOC are IPv6 based. Figure 2-12 shows the LISP IPv6-in-IPv6 header format, as defined in RFC 6830.
FIGURE 2-12 LISP IPv6-in-IPv6 Packet Format
In this case, the outer header is a 40-byte IPv6 header containing information about the source and the destination RLOCs. The UDP header and the LISP header remain the same as described earlier. The inner header in this format is again a 40-byte IPv6 header with the information about the source and destination EIDs.