Tech-invite3GPPspaceIETFspace
959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 8060

LISP Canonical Address Format (LCAF)

Pages: 36
Experimental
Errata
Updated by:  9306
Part 2 of 2 – Pages 19 to 36
First   Prev   None

Top   ToC   RFC8060 - Page 19   prevText

4.10. Applications for AFI List LCAF Type

4.10.1. Binding IPv4 and IPv6 Addresses

When header translation between IPv4 and IPv6 is desirable, a LISP Canonical Address can use the AFI List LCAF Type to carry a variable number of AFIs in one LCAF AFI.
Top   ToC   RFC8060 - Page 20
   Address Binding LISP Canonical Address Format:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           AFI = 16387         |     Rsvd1     |     Flags     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 1    |     Rsvd2     |            Length             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            AFI = 1            |       IPv4 Address ...        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     ...  IPv4 Address         |            AFI = 2            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          IPv6 Address ...                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     ...  IPv6 Address  ...                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     ...  IPv6 Address  ...                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     ...  IPv6 Address                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Length:  length in bytes starting and including the byte after this
      Length field.

   This type of address format can be included in a Map-Request when the
   address is being used as an EID, but the LISP Mapping Database System
   lookup destination can use only the IPv4 address.  This is so a
   Mapping Database Service Transport System, such as LISP-ALT
   [RFC6836], can use the Map-Request destination address to route the
   control message to the desired LISP site.

   Usage: This encoding can be used in EID-records or RLOC-records in
   Map-Request, Map-Reply, Map-Register, and Map-Notify messages.  See
   the other subsections in this section for specific use cases.

4.10.2. Layer 2 VPNs

When Media Access Control (MAC) addresses are stored in the LISP Mapping Database System, the AFI List LCAF Type can be used to carry AFI 6.
Top   ToC   RFC8060 - Page 21
   MAC Address LISP Canonical Address Format:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           AFI = 16387         |     Rsvd1     |     Flags     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 1    |     Rsvd2     |             Length            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             AFI = 6           |    Layer 2 MAC Address  ...   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    ... Layer 2 MAC Address                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Length:  length in bytes starting and including the byte after this
      Length field.

   This address format can be used to connect Layer 2 domains together
   using LISP over an IPv4 or IPv6 core network to create a Layer 2 VPN.
   In this use case, a MAC address is being used as an EID, and the
   locator-set that this EID maps to can be an IPv4 or IPv6 RLOC, or
   even another MAC address being used as an RLOC.  See [EID-MOBILITY]
   for how Layer 2 VPNs operate when doing EID mobility.

   Care should be taken to protect privacy against the adverse use of a
   Layer 2 MAC address by ensuring policy controls are used during EID
   registrations that use AFI=6 encodings in RLOC-records.  Refer to the
   use-case documents for additional information.

4.10.3. ASCII Names in the Mapping Database

If DNS names [RFC1035] or URIs [RFC3986] are stored in the LISP Mapping Database System, the AFI List LCAF Type can be used to carry an ASCII string. ASCII LISP Canonical Address Format: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AFI = 16387 | Rsvd1 | Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = 1 | Rsvd2 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AFI = 17 | DNS Name or URI ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Top   ToC   RFC8060 - Page 22
   Length:  length in bytes starting and including the byte after this
      Length field.

   An example for using DNS names is when an ETR registers a mapping
   with an EID-record encoded as (AFI=1, 10.0.0.0/8) with an RLOC-record
   (AFI=17, "router.abc.com").

4.10.4. Using Recursive LISP Canonical Address Encodings

When any combination of above is desirable, the AFI List LCAF Type value can be used to carry within the LCAF AFI another LCAF AFI (for example, Application-Specific Data in Section 5.1). Recursive LISP Canonical Address Format: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AFI = 16387 | Rsvd1 | Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = 1 | Rsvd2 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AFI = 16387 | Rsvd1 | Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = 4 | Rsvd2 | Length2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IP TOS, IPv6 TC or Flow Label | Protocol | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Local Port (lower-range) | Local Port (upper-range) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Remote Port (lower-range) | Remote Port (upper-range) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AFI = 1 | IPv4 Address ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... IPv4 Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Length: length in bytes starting and including the byte after this Length field. Length2: length in bytes starting and including the byte after this Length2 field. This format could be used by a Mapping Database Service Transport System, such as LISP-ALT [RFC6836], where the AFI=1 IPv4 address is used as an EID and placed in the Map-Request destination address by the sending LISP system. The ALT system can deliver the Map-Request to the LISP destination site independent of the Application Data LCAF
Top   ToC   RFC8060 - Page 23
   Type AFI payload values.  When this AFI is processed by the
   destination LISP site, it can return different locator-sets based on
   the type of application or level of service that is being requested.

4.10.5. Compatibility Mode Use Case

A LISP system should use the AFI List LCAF Type format when sending to LISP systems that do not support a particular LCAF Type used to encode locators. This allows the receiving system to be able to parse a locator address for encapsulation purposes. The list of AFIs in an AFI List LCAF Type has no semantic ordering and a receiver should parse each AFI element no matter what the ordering. Compatibility Mode Address Format: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AFI = 16387 | Rsvd1 | Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = 1 | Rsvd2 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AFI = 16387 | Rsvd1 | Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = 5 | Rsvd2 | Length2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |N| Latitude Degrees | Minutes | Seconds | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |E| Longitude Degrees | Minutes | Seconds | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Altitude | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AFI = 0 | AFI = 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IPv4 Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Length: length in bytes starting and including the byte after this Length field. Length2: length in bytes starting and including the byte after this Length2 field. If a system does not recognized the Geo-Coordinates LCAF Type that is accompanying a locator address, an encoder can include the Geo- Coordinates LCAF Type embedded in an AFI List LCAF Type where the AFI
Top   ToC   RFC8060 - Page 24
   in the Geo-Coordinates LCAF Type is set to 0 and the AFI encoded next
   in the list is encoded with a valid AFI value to identify the locator
   address.

   A LISP system is required to support the AFI List LCAF Type to use
   this procedure.  It would skip over 10 bytes of the Geo-Coordinates
   LCAF Type to get to the locator address encoding (an IPv4 locator
   address).  A LISP system that does support the Geo-Coordinates LCAF
   Type can support parsing the locator address within the Geo-
   Coordinates LCAF Type encoding or in the locator encoding that
   follows in the AFI List LCAF Type.

5. Experimental LISP Canonical Address Applications

The following sections describe experimental LCAF encodings. These LCAF Types are not approved (i.e., not registered with IANA). The inclusion of these encodings in this document is in support of further study and experimentation to determine whether these encodings are functional, if there is a demand for these use cases, and to better understand deployment considerations. As noted previously, these LCAF Types are restricted to cautious use in self- contained environments in support of the corresponding use-case documents.

5.1. Convey Application-Specific Data

When a locator-set needs to be conveyed based on the type of application or the Per-Hop Behavior (PHB) of a packet, the Application Data LCAF Type can be used. Application Data LISP Canonical Address Format: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AFI = 16387 | Rsvd1 | Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = 4 | Rsvd2 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IP TOS, IPv6 TC, or Flow Label | Protocol | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Local Port (lower-range) | Local Port (upper-range) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Remote Port (lower-range) | Remote Port (upper-range) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AFI = x | Address ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Top   ToC   RFC8060 - Page 25
   Length:  length in bytes starting and including the byte after this
      Length field.

   IP TOS, IPv6 TC, or Flow Label:  this field stores the 8-bit IPv4 TOS
      field used in an IPv4 header, the 8-bit IPv6 Traffic Class or Flow
      Label used in an IPv6 header.

   Local Port/Remote Port Ranges:  these fields are from the TCP, UDP,
      or Stream Control Transmission Protocol (SCTP) transport header.
      A range can be specified by using a lower value and an upper
      value.  When a single port is encoded, the lower and upper value
      fields are the same.

   AFI = x:  x can be any AFI value from [AFN].

   The Application Data LCAF Type is used for an EID encoding when an
   ITR wants a locator-set for a specific application.  When used for an
   RLOC encoding, the ETR is supplying a locator-set for each specific
   application is has been configured to advertise.

   Usage: This encoding can be used in EID-records in Map-Request, Map-
   Reply, Map-Register, and Map-Notify messages.  When LISP-DDT
   [LISP-DDT] is used as the mapping system mechanism, extended EIDs are
   used in Map-Referral messages.  This LCAF Type is used as a lookup
   key to the mapping system that can return a longest-match or exact-
   match entry.

5.2. Generic Database Mapping Lookups

When the LISP Mapping Database System holds information accessed by a generic formatted key (where the key is not the usual IPv4 or IPv6 address), an opaque key may be desirable. Opaque Key LISP Canonical Address Format: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AFI = 16387 | Rsvd1 | Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = 6 | Rsvd2 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Key Field Num | Key Wildcard Fields | Key . . . | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | . . . Key | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Top   ToC   RFC8060 - Page 26
   Length:  length in bytes starting and including the byte after this
      Length field.

   Key Field Num:  the value of this field is the number of "Key" sub-
      fields minus 1, the Key field can be broken up into.  So, if this
      field has a value of 0, there is one sub-field in the "Key".  The
      width of the sub-fields are fixed length.  So, for a key size of 8
      bytes, with a Key Field Num of 3, four sub-fields of 2 bytes each
      in length are allowed.  Allowing for a reasonable number of 16
      sub-field separators, valid values range from 0 to 15.

   Key Wildcard Fields:  describes which fields in the key are not used
      as part of the key lookup.  This wildcard encoding is a bitfield.
      Each bit is a don't-care bit for a corresponding field in the key.
      Bit 0 (the low-order bit) in this bitfield corresponds the first
      field, the low-order field in the key, bit 1 the second field, and
      so on.  When a bit is set in the bitfield, it is a don't-care bit
      and should not be considered as part of the database lookup.  When
      the entire 16 bits are set to 0, then all bits of the key are used
      for the database lookup.

   Key:  the variable length key used to do a LISP Mapping Database
      System lookup.  The length of the key is the value n (as shown
      above).

   Usage: This is an experimental Type where the usage has not yet been
   defined.

5.3. PETR Admission Control Functionality

When a public Proxy Egress Tunnel Router (PETR) device wants to verify who is encapsulating to it, it can check for a specific nonce value in the LISP-encapsulated packet. To convey the nonce to admitted ITRs or PITRs, this LCAF is used in a Map-Register or Map- Reply locator-record.
Top   ToC   RFC8060 - Page 27
   Nonce Locator Canonical Address Format:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           AFI = 16387         |     Rsvd1     |     Flags     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 8    |     Rsvd2     |             Length            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Reserved    |                  Nonce                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |              AFI = x          |         Address  ...          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Length:  length in bytes starting and including the byte after this
      Length field.

   Reserved:  must be set to zero and ignored on receipt.

   Nonce:  a nonce value returned by an ETR in a Map-Reply locator-
      record to be used by an ITR or PITR when encapsulating to the
      locator address encoded in the AFI field of this LCAF Type.  This
      nonce value is inserted in the nonce field in the LISP header
      encapsulation.

   AFI = x:  x can be any AFI value from [AFN].

   Usage: This is an experimental Type where the usage has not yet been
   defined.

5.4. Data Model Encoding

This Type allows a JSON data model to be encoded as either an EID or an RLOC. JSON Data Model Type Address Format: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AFI = 16387 | Rsvd1 | Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = 14 | Rsvd2 |B| Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | JSON length | JSON binary/text encoding ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AFI = x | Optional Address ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Top   ToC   RFC8060 - Page 28
   Length:  length in bytes starting and including the byte after this
      Length field.

   B bit:  indicates that the JSON field is binary encoded according to
      [JSON-BINARY] when the bit is set to 1.  Otherwise, the encoding
      is based on text encoding according to [RFC7159].

   JSON length:  length in octets of the following JSON binary/text
      encoding field.

   JSON binary/text encoding:  a variable-length field that contains
      either binary or text encodings.

   AFI = x:  x can be any AFI value from [AFN].  A specific AFI has its
      own encoding of either a unicast or multicast locator address.
      All RTR/ETR entries for the same level should be combined by a
      Map-Server to avoid searching through the entire multilevel list
      of locator entries in a Map-Reply message.

   Usage: This is an experimental Type where the usage has not yet been
   defined.  An example mapping is an EID-record encoded as a
   distinguished-name "cpe-router" and an RLOC-record encoded as a JSON
   string "{ "router-address" : "1.1.1.1", "router-mask" : "8" }".

5.5. Encoding Key/Value Address Pairs

The Key/Value pair is, for example, useful for attaching attributes to other elements of LISP packets, such as EIDs or RLOCs. When attaching attributes to EIDs or RLOCs, it's necessary to distinguish between the element that should be used as EID or RLOC and, hence, as the key for lookups and additional attributes. This is especially the case when the difference cannot be determined from the Types of the elements, such as when two IP addresses are being used. Key/Value Address Pair Address Format: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AFI = 16387 | Rsvd1 | Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = 15 | Rsvd2 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AFI = x | Address as Key ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AFI = y | Address as Value ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Top   ToC   RFC8060 - Page 29
   Length:  length in bytes starting and including the byte after this
      Length field.

   AFI = x:  x is the "Address as Key" AFI that can have any value from
      [AFN].  A specific AFI has its own encoding of either a unicast or
      a multicast locator address.  All RTR/ETR entries for the same
      level should be combined by a Map-Server to avoid searching
      through the entire multilevel list of locator entries in a Map-
      Reply message.

   Address as Key:  AFI-encoded address that will be attached with the
      attributes encoded in "Address as Value", which follows this
      field.

   AFI = y:  y is the "Address of Value" AFI that can have any value
      from [AFN].  A specific AFI has its own encoding of either a
      unicast or a multicast locator address.  All RTR/ETR entries for
      the same level should be combined by a Map-Server to avoid
      searching through the entire multilevel list of locator entries in
      a Map-Reply message.

   Address as Value:  AFI-encoded address that will be the attribute
      address that goes along with "Address as Key" which precedes this
      field.

   Usage: This is an experimental Type where the usage has not yet been
   defined.

5.6. Multiple Data-Planes

Overlays are becoming popular in many parts of the network, which has created an explosion of data-plane encapsulation headers. Since the LISP mapping system can hold many types of address formats, it can represent the encapsulation format supported by an RLOC as well. When an encapsulator receives a Map-Reply with an Encapsulation Format LCAF Type encoded in an RLOC-record, it can select an encapsulation format, that it can support, from any of the encapsulation protocols that have the bit set to 1 in this LCAF Type.
Top   ToC   RFC8060 - Page 30
   Encapsulation Format Address Format:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           AFI = 16387         |     Rsvd1     |     Flags     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Type = 16   |     Rsvd2     |             Length            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Reserved-for-Future-Encapsulations       |U|G|N|v|V|l|L|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |              AFI = x          |          Address ...          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Length:  length in bytes starting and including the byte after this
      Length field.

   Reserved-for-Future-Encapsulations:  must be set to zero and ignored
      on receipt.  This field will get bits allocated to future
      encapsulations, as they are created.

   U: The RLOCs listed in the AFI-encoded addresses in the next longword
      can accept Generic UDP Encapsulation (GUE) using destination UDP
      port 6080 [GUE].

   G: The RLOCs listed in the AFI-encoded addresses in the next longword
      can accept Geneve encapsulation using destination UDP port 6081
      [GENEVE].

   N: The RLOCs listed in the AFI-encoded addresses in the next longword
      can accept NV-GRE (Network Virtualization - Generic Routing
      Encapsulation) using IPv4/IPv6 protocol number 47 [RFC7637].

   v: The RLOCs listed in the AFI-encoded addresses in the next longword
      can accept VXLAN-GPE (Generic Protocol Extension) encapsulation
      using destination UDP port 4790 [GPE-VXLAN].

   V: The RLOCs listed in the AFI-encoded addresses in the next longword
      can accept Virtual eXtensible Local Area Network (VXLAN)
      encapsulation using destination UDP port 4789 [RFC7348].

   l: The RLOCs listed in the AFI-encoded addresses in the next longword
      can accept Layer 2 LISP encapsulation using destination UDP port
      8472 [LISP-L2].

   L: The RLOCs listed in the AFI-encoded addresses in the next longword
      can accept Layer 3 LISP encapsulation using destination UDP port
      4341 [RFC6830].
Top   ToC   RFC8060 - Page 31
   Usage: This encoding can be used in RLOC-records in Map-Request, Map-
   Reply, Map-Register, and Map-Notify messages.

6. Security Considerations

This document is classified as Experimental. The LCAF encodings defined in this document are intended to be used with their corresponding use cases and in self-contained environments. Users should carefully consider how the [LISP-SEC] threat model applies to their particular use case. The use of the Geo-Coordinates LCAF Type may raise physical privacy issues. Care should be taken when configuring the mapping system to use specific policy parameters so geolocation information is not returned gratuitously. It is recommended that any documents that specify the use of the Geo-Coordinates LCAF Type should consider the applicability of RFC 6280 (BCP 160) [RFC6280] for location-based privacy protection. Additional privacy concerns have arisen since publication of BCP 160, and future work on LISP should examine potential threats beyond BCP 160 and address improving privacy and security for LISP deployments.

7. IANA Considerations

This document defines a canonical address format encoding used in LISP control messages and in the encoding of lookup keys for the LISP Mapping Database System. Such an address format is based on a fixed AFI (16387) and a LISP LCAF Type field. The LISP LCAF Type field is an 8-bit field specific to the LISP Canonical Address Format encodings. IANA has created a new registry (as outlined in [RFC5226]) titled "LISP Canonical Address Format (LCAF) Types". Initial values for the "LISP Canonical Address Format (LCAF) Types" registry are given below. Future assignments are to be made using the Specification Required policy [RFC5226]. Assignments consist of a LISP LCAF Type Name and its associated value:
Top   ToC   RFC8060 - Page 32
              +-------+------------------------+-----------+
              | Value | LISP LCAF Type Name    | Reference |
              +-------+------------------------+-----------+
              | 0     | Null Body              | Section 3 |
              | 1     | AFI List               | Section 3 |
              | 2     | Instance ID            | Section 3 |
              | 3     | AS Number              | Section 3 |
              | 5     | Geo-Coordinates        | Section 3 |
              | 7     | NAT-Traversal          | Section 3 |
              | 9     | Multicast Info         | Section 3 |
              | 10    | Explicit Locator Path  | Section 3 |
              | 11    | Security Key           | Section 3 |
              | 12    | Source/Dest Key        | Section 3 |
              | 13    | Replication List Entry | Section 3 |
              +-------+------------------------+-----------+

                      Table 1: Initial Values in the
           "LISP Canonical Address Format (LCAF) Types" Registry

8. References

8.1. Normative References

[RFC1035] Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, November 1987, <http://www.rfc-editor.org/info/rfc1035>. [RFC1918] Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot, G., and E. Lear, "Address Allocation for Private Internets", BCP 5, RFC 1918, DOI 10.17487/RFC1918, February 1996, <http://www.rfc-editor.org/info/rfc1918>. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <http://www.rfc-editor.org/info/rfc2119>. [RFC3232] Reynolds, J., Ed., "Assigned Numbers: RFC 1700 is Replaced by an On-line Database", RFC 3232, DOI 10.17487/RFC3232, January 2002, <http://www.rfc-editor.org/info/rfc3232>. [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, DOI 10.17487/RFC3986, January 2005, <http://www.rfc-editor.org/info/rfc3986>.
Top   ToC   RFC8060 - Page 33
   [RFC5226]  Narten, T. and H. Alvestrand, "Guidelines for Writing an
              IANA Considerations Section in RFCs", BCP 26, RFC 5226,
              DOI 10.17487/RFC5226, May 2008,
              <http://www.rfc-editor.org/info/rfc5226>.

   [RFC6280]  Barnes, R., Lepinski, M., Cooper, A., Morris, J.,
              Tschofenig, H., and H. Schulzrinne, "An Architecture for
              Location and Location Privacy in Internet Applications",
              BCP 160, RFC 6280, DOI 10.17487/RFC6280, July 2011,
              <http://www.rfc-editor.org/info/rfc6280>.

   [RFC6830]  Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The
              Locator/ID Separation Protocol (LISP)", RFC 6830,
              DOI 10.17487/RFC6830, January 2013,
              <http://www.rfc-editor.org/info/rfc6830>.

   [RFC6836]  Fuller, V., Farinacci, D., Meyer, D., and D. Lewis,
              "Locator/ID Separation Protocol Alternative Logical
              Topology (LISP+ALT)", RFC 6836, DOI 10.17487/RFC6836,
              January 2013, <http://www.rfc-editor.org/info/rfc6836>.

   [RFC7159]  Bray, T., Ed., "The JavaScript Object Notation (JSON) Data
              Interchange Format", RFC 7159, DOI 10.17487/RFC7159, March
              2014, <http://www.rfc-editor.org/info/rfc7159>.

   [RFC7348]  Mahalingam, M., Dutt, D., Duda, K., Agarwal, P., Kreeger,
              L., Sridhar, T., Bursell, M., and C. Wright, "Virtual
              eXtensible Local Area Network (VXLAN): A Framework for
              Overlaying Virtualized Layer 2 Networks over Layer 3
              Networks", RFC 7348, DOI 10.17487/RFC7348, August 2014,
              <http://www.rfc-editor.org/info/rfc7348>.

   [RFC7637]  Garg, P., Ed. and Y. Wang, Ed., "NVGRE: Network
              Virtualization Using Generic Routing Encapsulation",
              RFC 7637, DOI 10.17487/RFC7637, September 2015,
              <http://www.rfc-editor.org/info/rfc7637>.

8.2. Informative References

[AFN] IANA, "Address Family Numbers", <http://www.iana.org/assignments/address-family-numbers/>. [EID-MOBILITY] Portoles-Comeras, M., Ashtaputre, V., Moreno, V., Maino, F., and D. Farinacci, "LISP L2/L3 EID Mobility Using a Unified Control Plane", Work in Progress, draft-portoles-lisp-eid-mobility-01, October 2016.
Top   ToC   RFC8060 - Page 34
   [GENEVE]   Gross, J., Ganga, I., and T. Sridhar, "Geneve: Generic
              Network Virtualization Encapsulation", Work in Progress,
              draft-ietf-nvo3-geneve-03, September 2016.

   [GPE-VXLAN]
              Maino, F., Kreeger, L., and U. Elzur, "Generic Protocol
              Extension for VXLAN", Work in Progress,
              draft-ietf-nvo3-vxlan-gpe-03, October 2016.

   [GUE]      Herbert, T., Yong, L., and O. Zia, "Generic UDP
              Encapsulation", Work in Progress, draft-ietf-nvo3-gue-05,
              October 2016.

   [JSON-BINARY]
              "Universal Binary JSON Specification",
              <http://ubjson.org>.

   [LISP-DDT] Fuller, V., Lewis, D., Ermagan, V., Jain, A., and A.
              Smirnov, "LISP Delegated Database Tree", Work in
              Progress, draft-ietf-lisp-ddt-09, January 2017.

   [LISP-L2]  Smith, M., Dutt, D., Farinacci, D., and F. Maino, "Layer 2
              (L2) LISP Encapsulation Format", Work in Progress,
              draft-smith-lisp-layer2-03, September 2013.

   [LISP-RE]  Coras, F., Cabellos-Aparicio, A., Domingo-Pascual, J.,
              Maino, F., and D. Farinacci, "LISP Replication
              Engineering", Work in Progress,
              draft-coras-lisp-re-08, November 2015.

   [LISP-SEC] Maino, F., Ermagan, V., Cabellos, A., and D. Saucez,
              "LISP-Security (LISP-SEC)", Work in Progress,
              draft-ietf-lisp-sec-12, November 2016.

   [LISP-TE]  Farinacci, D., Kowal, M., and P. Lahiri, "LISP Traffic
              Engineering Use-Cases", Work in Progress,
              draft-farinacci-lisp-te-11, September 2016.

   [NAT-LISP] Ermagan, V., Farinacci, D., Lewis, D., Skriver, J., Maino,
              F., and C. White, "NAT traversal for LISP", Work in
              Progress, draft-ermagan-lisp-nat-traversal-11, August
              2016.
Top   ToC   RFC8060 - Page 35
   [RFC8061]  Farinacci, D. and B. Weis, "Locator/ID Separation Protocol
              (LISP) Data-Plane Confidentiality", RFC 8061,
              DOI 10.17487/RFC8061, February 2017,
              <http://www.rfc-editor.org/info/rfc8061>.

   [WGS-84]   National Imagery and Mapping Agency, "Department of
              Defense World Geodetic System 1984", NIMA TR8350.2,
              January 2000, <http://earth-info.nga.mil/GandG/
              publications/tr8350.2/wgs84fin.pdf>.

Acknowledgments

The authors would like to thank Vince Fuller, Gregg Schudel, Jesper Skriver, Luigi Iannone, Isidor Kouvelas, and Sander Steffann for their technical and editorial commentary. The authors would like to thank Victor Moreno for discussions that led to the definition of the Multicast Info LCAF Type. The authors would like to thank Parantap Lahiri and Michael Kowal for discussions that led to the definition of the Explicit Locator Path (ELP) LCAF Type. The authors would like to thank Fabio Maino and Vina Ermagan for discussions that led to the definition of the Security Key LCAF Type. The authors would like to thank Albert Cabellos-Aparicio and Florin Coras for discussions that led to the definition of the Replication List Entry LCAF Type. Thanks goes to Michiel Blokzijl and Alberto Rodriguez-Natal for suggesting new LCAF Types. Thanks also goes to Terry Manderson for assistance obtaining a LISP AFI value from IANA. And finally, the authors thank Stephen Farrell (Security Area Director) and Deborah Brungard (Routing Area Director) for their suggested text to get the document through IESG review.
Top   ToC   RFC8060 - Page 36

Authors' Addresses

Dino Farinacci lispers.net San Jose, CA United States of America Email: farinacci@gmail.com Dave Meyer Brocade San Jose, CA United States of America Email: dmm@1-4-5.net Job Snijders NTT Communications Theodorus Majofskistraat 100 Amsterdam 1065 SZ The Netherlands Email: job@ntt.net