idnits 2.17.1 draft-ietf-lisp-rfc6833bis-22.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- -- The draft header indicates that this document obsoletes RFC6833, but the abstract doesn't seem to mention this, which it should. -- The abstract seems to indicate that this document obsoletes RFC6830, but the header doesn't have an 'Obsoletes:' line to match this. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 1838 has weird spacing: '...-Denied entry...' == Line 1843 has weird spacing: '...Failure entr...' == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: P: This is the probe-bit, which indicates that a Map-Request SHOULD be treated as a Locator reachability probe. The receiver SHOULD respond with a Map-Reply with the probe-bit set, indicating that the Map-Reply is a Locator reachability probe reply, with the nonce copied from the Map-Request. See RLOC-Probing Section 7.1 for more details. This RLOC-probe Map-Request MUST not be sent to the mapping system. If a Map-Resolver or Map-Server receives a Map-Request with the probe-bit set, it MUST drop the message. -- The document date (November 14, 2018) is 1962 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'RFC6071' is defined on line 2054, but no explicit reference was found in the text == Outdated reference: A later version (-14) exists of draft-ietf-lisp-6834bis-02 == Outdated reference: A later version (-38) exists of draft-ietf-lisp-rfc6830bis-26 ** Downref: Normative reference to an Informational RFC: RFC 4984 ** Obsolete normative reference: RFC 5226 (Obsoleted by RFC 8126) ** Downref: Normative reference to an Informational RFC: RFC 6071 == Outdated reference: A later version (-12) exists of draft-ietf-lisp-ecdsa-auth-00 == Outdated reference: A later version (-16) exists of draft-ietf-lisp-eid-anonymity-04 == Outdated reference: A later version (-13) exists of draft-ietf-lisp-eid-mobility-03 == Outdated reference: A later version (-19) exists of draft-ietf-lisp-gpe-06 == Outdated reference: A later version (-15) exists of draft-ietf-lisp-introduction-13 == Outdated reference: A later version (-15) exists of draft-ietf-lisp-mn-04 == Outdated reference: A later version (-15) exists of draft-ietf-lisp-pubsub-02 == Outdated reference: A later version (-29) exists of draft-ietf-lisp-sec-16 == Outdated reference: A later version (-13) exists of draft-ietf-nvo3-vxlan-gpe-06 -- Obsolete informational reference (is this intentional?): RFC 6830 (Obsoleted by RFC 9300, RFC 9301) -- Obsolete informational reference (is this intentional?): RFC 8113 (Obsoleted by RFC 9304) Summary: 3 errors (**), 0 flaws (~~), 16 warnings (==), 5 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group V. Fuller 3 Internet-Draft D. Farinacci 4 Obsoletes: 6833 (if approved) Cisco Systems 5 Intended status: Standards Track A. Cabellos (Ed.) 6 Expires: May 18, 2019 UPC/BarcelonaTech 7 November 14, 2018 9 Locator/ID Separation Protocol (LISP) Control-Plane 10 draft-ietf-lisp-rfc6833bis-22 12 Abstract 14 This document describes the Control-Plane and Mapping Service for the 15 Locator/ID Separation Protocol (LISP), implemented by two new types 16 of LISP-speaking devices -- the LISP Map-Resolver and LISP Map-Server 17 -- that provides a simplified "front end" for one or more Endpoint ID 18 to Routing Locator mapping databases. 20 By using this Control-Plane service interface and communicating with 21 Map-Resolvers and Map-Servers, LISP Ingress Tunnel Routers (ITRs) and 22 Egress Tunnel Routers (ETRs) are not dependent on the details of 23 mapping database systems, which facilitates modularity with different 24 database designs. Since these devices implement the "edge" of the 25 LISP Control-Plane infrastructure, connecting EID addressable nodes 26 of a LISP site, their implementation and operational complexity 27 reduces the overall cost and effort of deploying LISP. 29 This document obsoletes RFC 6830 and 6833. 31 Status of This Memo 33 This Internet-Draft is submitted in full conformance with the 34 provisions of BCP 78 and BCP 79. 36 Internet-Drafts are working documents of the Internet Engineering 37 Task Force (IETF). Note that other groups may also distribute 38 working documents as Internet-Drafts. The list of current Internet- 39 Drafts is at https://datatracker.ietf.org/drafts/current/. 41 Internet-Drafts are draft documents valid for a maximum of six months 42 and may be updated, replaced, or obsoleted by other documents at any 43 time. It is inappropriate to use Internet-Drafts as reference 44 material or to cite them other than as "work in progress." 46 This Internet-Draft will expire on May 18, 2019. 48 Copyright Notice 50 Copyright (c) 2018 IETF Trust and the persons identified as the 51 document authors. All rights reserved. 53 This document is subject to BCP 78 and the IETF Trust's Legal 54 Provisions Relating to IETF Documents 55 (https://trustee.ietf.org/license-info) in effect on the date of 56 publication of this document. Please review these documents 57 carefully, as they describe your rights and restrictions with respect 58 to this document. Code Components extracted from this document must 59 include Simplified BSD License text as described in Section 4.e of 60 the Trust Legal Provisions and are provided without warranty as 61 described in the Simplified BSD License. 63 Table of Contents 65 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 66 1.1. Scope of Applicability . . . . . . . . . . . . . . . . . 4 67 2. Requirements Notation . . . . . . . . . . . . . . . . . . . . 5 68 3. Definition of Terms . . . . . . . . . . . . . . . . . . . . . 5 69 4. Basic Overview . . . . . . . . . . . . . . . . . . . . . . . 6 70 5. LISP IPv4 and IPv6 Control-Plane Packet Formats . . . . . . . 8 71 5.1. LISP Control Packet Type Allocations . . . . . . . . . . 11 72 5.2. Map-Request Message Format . . . . . . . . . . . . . . . 12 73 5.3. EID-to-RLOC UDP Map-Request Message . . . . . . . . . . . 15 74 5.4. Map-Reply Message Format . . . . . . . . . . . . . . . . 17 75 5.5. EID-to-RLOC UDP Map-Reply Message . . . . . . . . . . . . 21 76 5.6. Map-Register Message Format . . . . . . . . . . . . . . . 24 77 5.7. Map-Notify/Map-Notify-Ack Message Format . . . . . . . . 28 78 5.8. Encapsulated Control Message Format . . . . . . . . . . . 30 79 6. Changing the Contents of EID-to-RLOC Mappings . . . . . . . . 32 80 6.1. Solicit-Map-Request (SMR) . . . . . . . . . . . . . . . . 32 81 7. Routing Locator Reachability . . . . . . . . . . . . . . . . 33 82 7.1. RLOC-Probing Algorithm . . . . . . . . . . . . . . . . . 35 83 8. Interactions with Other LISP Components . . . . . . . . . . . 36 84 8.1. ITR EID-to-RLOC Mapping Resolution . . . . . . . . . . . 36 85 8.2. EID-Prefix Configuration and ETR Registration . . . . . . 37 86 8.3. Map-Server Processing . . . . . . . . . . . . . . . . . . 39 87 8.4. Map-Resolver Processing . . . . . . . . . . . . . . . . . 40 88 8.4.1. Anycast Operation . . . . . . . . . . . . . . . . . . 40 89 9. Security Considerations . . . . . . . . . . . . . . . . . . . 41 90 10. Privacy Considerations . . . . . . . . . . . . . . . . . . . 42 91 11. Changes since RFC 6833 . . . . . . . . . . . . . . . . . . . 43 92 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 43 93 12.1. LISP UDP Port Numbers . . . . . . . . . . . . . . . . . 44 94 12.2. LISP Packet Type Codes . . . . . . . . . . . . . . . . . 44 95 12.3. LISP ACT and Flag Fields . . . . . . . . . . . . . . . . 44 96 12.4. LISP Address Type Codes . . . . . . . . . . . . . . . . 45 97 12.5. LISP Algorithm ID Numbers . . . . . . . . . . . . . . . 45 98 12.6. LISP Bit Flags . . . . . . . . . . . . . . . . . . . . . 46 99 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 49 100 13.1. Normative References . . . . . . . . . . . . . . . . . . 49 101 13.2. Informative References . . . . . . . . . . . . . . . . . 50 102 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 54 103 Appendix B. Document Change Log . . . . . . . . . . . . . . . . 54 104 B.1. Changes to draft-ietf-lisp-rfc6833bis-22 . . . . . . . . 54 105 B.2. Changes to draft-ietf-lisp-rfc6833bis-21 . . . . . . . . 54 106 B.3. Changes to draft-ietf-lisp-rfc6833bis-20 . . . . . . . . 54 107 B.4. Changes to draft-ietf-lisp-rfc6833bis-19 . . . . . . . . 55 108 B.5. Changes to draft-ietf-lisp-rfc6833bis-18 . . . . . . . . 55 109 B.6. Changes to draft-ietf-lisp-rfc6833bis-17 . . . . . . . . 55 110 B.7. Changes to draft-ietf-lisp-rfc6833bis-16 . . . . . . . . 55 111 B.8. Changes to draft-ietf-lisp-rfc6833bis-15 . . . . . . . . 55 112 B.9. Changes to draft-ietf-lisp-rfc6833bis-14 . . . . . . . . 55 113 B.10. Changes to draft-ietf-lisp-rfc6833bis-13 . . . . . . . . 56 114 B.11. Changes to draft-ietf-lisp-rfc6833bis-12 . . . . . . . . 56 115 B.12. Changes to draft-ietf-lisp-rfc6833bis-11 . . . . . . . . 56 116 B.13. Changes to draft-ietf-lisp-rfc6833bis-10 . . . . . . . . 56 117 B.14. Changes to draft-ietf-lisp-rfc6833bis-09 . . . . . . . . 56 118 B.15. Changes to draft-ietf-lisp-rfc6833bis-08 . . . . . . . . 56 119 B.16. Changes to draft-ietf-lisp-rfc6833bis-07 . . . . . . . . 57 120 B.17. Changes to draft-ietf-lisp-rfc6833bis-06 . . . . . . . . 57 121 B.18. Changes to draft-ietf-lisp-rfc6833bis-05 . . . . . . . . 58 122 B.19. Changes to draft-ietf-lisp-rfc6833bis-04 . . . . . . . . 58 123 B.20. Changes to draft-ietf-lisp-rfc6833bis-03 . . . . . . . . 58 124 B.21. Changes to draft-ietf-lisp-rfc6833bis-02 . . . . . . . . 58 125 B.22. Changes to draft-ietf-lisp-rfc6833bis-01 . . . . . . . . 58 126 B.23. Changes to draft-ietf-lisp-rfc6833bis-00 . . . . . . . . 59 127 B.24. Changes to draft-farinacci-lisp-rfc6833bis-00 . . . . . . 59 128 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 60 130 1. Introduction 132 The Locator/ID Separation Protocol [I-D.ietf-lisp-rfc6830bis] (see 133 also [I-D.ietf-lisp-introduction]) specifies an architecture and 134 mechanism for dynamic tunneling by logically separating the addresses 135 currently used by IP in two separate name spaces: Endpoint IDs 136 (EIDs), used within sites; and Routing Locators (RLOCs), used on the 137 transit networks that make up the Internet infrastructure. To 138 achieve this separation, LISP defines protocol mechanisms for mapping 139 from EIDs to RLOCs. In addition, LISP assumes the existence of a 140 database to store and propagate those mappings across mapping system 141 nodes. Several such databases have been proposed; among them are the 142 Content distribution Overlay Network Service for LISP-NERD (a Not-so- 143 novel EID-to-RLOC Database) [RFC6837], LISP Alternative Logical 144 Topology (LISP-ALT) [RFC6836], and LISP Delegated Database Tree 145 (LISP-DDT) [RFC8111]. 147 The LISP Mapping Service defines two new types of LISP-speaking 148 devices: the Map-Resolver, which accepts Map-Requests from an Ingress 149 Tunnel Router (ITR) and "resolves" the EID-to-RLOC mapping using a 150 mapping database; and the Map-Server, which learns authoritative EID- 151 to-RLOC mappings from an Egress Tunnel Router (ETR) and publishes 152 them in a database. 154 This LISP Control-Plane Mapping Service can be used by many different 155 encapsulation-based or translation-based Data-Planes which include 156 but are not limited to the ones defined in LISP RFC 6830bis 157 [I-D.ietf-lisp-rfc6830bis], LISP-GPE [I-D.ietf-lisp-gpe], VXLAN 158 [RFC7348], VXLAN-GPE [I-D.ietf-nvo3-vxlan-gpe], GRE [RFC2890], GTP 159 [GTP-3GPP], ILA [I-D.herbert-intarea-ila], and Segment Routing (SRv6) 160 [RFC8402]. 162 Conceptually, LISP Map-Servers share some of the same basic 163 configuration and maintenance properties as Domain Name System (DNS) 164 [RFC1035] servers; likewise, Map-Resolvers are conceptually similar 165 to DNS caching resolvers. With this in mind, this specification 166 borrows familiar terminology (resolver and server) from the DNS 167 specifications. 169 Note this document doesn't assume any particular database mapping 170 infrastructure to illustrate certain aspects of Map-Server and Map- 171 Resolver operation. The Mapping Service interface can (and likely 172 will) be used by ITRs and ETRs to access other mapping database 173 systems as the LISP infrastructure evolves. 175 LISP is not intended to address problems of connectivity and scaling 176 on behalf of arbitrary communicating parties. Relevant situations 177 are described in the scoping section of the introduction to 178 [I-D.ietf-lisp-rfc6830bis]. 180 This document obsoletes RFC 6830 and 6833. 182 1.1. Scope of Applicability 184 LISP was originally developed to address the Internet-wide route 185 scaling problem [RFC4984].. While there are a number of approaches 186 of interest for that problem, as LISP as been developed and refined, 187 a large number of other LISP uses have been found and are being used. 188 As such, the design and development of LISP has changed so as to 189 focus on these use cases. The common property of these uses is a 190 large set of cooperating entities seeking to communicate over the 191 public Internet or other large underlay IP infrastructures, while 192 keeping the addressing and topology of the cooperating entities 193 separate from the underlay and Internet topology, routing, and 194 addressing. 196 2. Requirements Notation 198 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 199 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 200 "OPTIONAL" in this document are to be interpreted as described in BCP 201 14 [RFC2119] [RFC8174] when, and only when, they appear in all 202 capitals, as shown here. 204 3. Definition of Terms 206 Map-Server: A network infrastructure component that learns of EID- 207 Prefix mapping entries from an ETR, via the registration mechanism 208 described below, or some other authoritative source if one exists. 209 A Map-Server publishes these EID-Prefixes in a mapping database. 211 Map-Request: A LISP Map-Request is a Control-Plane message to query 212 the mapping system to resolve an EID. A LISP Map-Request can also 213 be sent to an RLOC to test for reachability and to exchange 214 security keys between an encapsulator and a decapsulator. This 215 type of Map-Request is also known as an RLOC-Probe Request. 217 Map-Reply: A LISP Map-Reply is a Control-Plane message returned in 218 response to a Map-Request sent to the mapping system when 219 resolving an EID. A LISP Map-Reply can also be returned by a 220 decapsulator in response to a Map-Request sent by an encapsulator 221 to test for reachability. This type of Map-Reply is known as a 222 RLOC-Probe Reply. 224 Encapsulated Map-Request: A LISP Map-Request carried within an 225 Encapsulated Control Message (ECM), which has an additional LISP 226 header prepended. Sent to UDP destination port 4342. The "outer" 227 addresses are routable IP addresses, also known as RLOCs. Used by 228 an ITR when sending to a Map-Resolver and by a Map-Server when 229 forwarding a Map-Request to an ETR. 231 Map-Resolver: A network infrastructure component that accepts LISP 232 Encapsulated (ECM) Map-Requests, typically from an ITR, and 233 determines whether or not the destination IP address is part of 234 the EID namespace; if it is not, a Negative Map-Reply is returned. 235 Otherwise, the Map-Resolver finds the appropriate EID-to-RLOC 236 mapping by consulting a mapping database system. 238 Negative Map-Reply: A LISP Map-Reply that contains an empty 239 Locator-Set. Returned in response to a Map-Request if the 240 destination EID is not registered in the mapping system, is policy 241 denied or fails authentication. 243 Map-Register message: A LISP message sent by an ETR to a Map-Server 244 to register its associated EID-Prefixes. In addition to the set 245 of EID-Prefixes to register, the message includes one or more 246 RLOCs to reach ETR(s). The Map-Server uses these RLOCs when 247 forwarding Map-Requests (re-formatted as Encapsulated Map- 248 Requests). An ETR MAY request that the Map-Server answer Map- 249 Requests on its behalf by setting the "proxy Map-Reply" flag 250 (P-bit) in the message. 252 Map-Notify message: A LISP message sent by a Map-Server to an ETR 253 to confirm that a Map-Register has been received and processed. 254 An ETR requests that a Map-Notify be returned by setting the 255 "want-map-notify" flag (M-bit) in the Map-Register message. 256 Unlike a Map-Reply, a Map-Notify uses UDP port 4342 for both 257 source and destination. Map-Notify messages are also sent to ITRs 258 by Map-Servers when there are RLOC-set changes. 260 For definitions of other terms, notably Ingress Tunnel Router (ITR), 261 Egress Tunnel Router (ETR), and Re-encapsulating Tunnel Router (RTR), 262 refer to the LISP Data-Plane specification 263 [I-D.ietf-lisp-rfc6830bis]. 265 4. Basic Overview 267 A Map-Server is a device that publishes EID-Prefixes in a LISP 268 mapping database on behalf of a set of ETRs. When it receives a Map 269 Request (typically from an ITR), it consults the mapping database to 270 find an ETR that can answer with the set of RLOCs for an EID-Prefix. 271 To publish its EID-Prefixes, an ETR periodically sends Map-Register 272 messages to the Map-Server. A Map-Register message contains a list 273 of EID-Prefixes plus a set of RLOCs that can be used to reach the 274 ETRs. 276 When LISP-ALT [RFC6836] is used as the mapping database, a Map-Server 277 connects to the ALT network and acts as a "last-hop" ALT-Router. 278 Intermediate ALT-Routers forward Map-Requests to the Map-Server that 279 advertises a particular EID-Prefix, and the Map-Server forwards them 280 to the owning ETR, which responds with Map-Reply messages. 282 When LISP-DDT [RFC8111] is used as the mapping database, a Map-Server 283 sends the final Map-Referral messages from the Delegated Database 284 Tree. 286 A Map-Resolver receives Encapsulated Map-Requests from its client 287 ITRs and uses a mapping database system to find the appropriate ETR 288 to answer those requests. On a LISP-ALT network, a Map-Resolver acts 289 as a "first-hop" ALT-Router. It has Generic Routing Encapsulation 290 (GRE) tunnels configured to other ALT-Routers and uses BGP to learn 291 paths to ETRs for different prefixes in the LISP-ALT database. The 292 Map-Resolver uses this path information to forward Map-Requests over 293 the ALT to the correct ETRs. On a LISP-DDT network [RFC8111], a Map- 294 Resolver maintains a referral-cache and acts as a "first-hop" DDT- 295 node. The Map-Resolver uses the referral information to forward Map- 296 Requests. 298 Note that while it is conceivable that a Map-Resolver could cache 299 responses to improve performance, issues surrounding cache management 300 will need to be resolved so that doing so will be reliable and 301 practical. As initially deployed, Map-Resolvers will operate only in 302 a non-caching mode, decapsulating and forwarding Encapsulated Map 303 Requests received from ITRs. Any specification of caching 304 functionality is out of scope for this document. 306 Note that a single device can implement the functions of both a Map- 307 Server and a Map-Resolver, and in many cases the functions will be 308 co-located in that way. Also, there can be ALT-only nodes and DDT- 309 only nodes, when LISP-ALT and LISP-DDT are used, respectively, to 310 connecting Map-Resolvers and Map-Servers together to make up the 311 Mapping System. 313 5. LISP IPv4 and IPv6 Control-Plane Packet Formats 315 The following UDP packet formats are used by the LISP control plane. 317 0 1 2 3 318 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 319 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 320 |Version| IHL |Type of Service| Total Length | 321 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 322 | Identification |Flags| Fragment Offset | 323 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 324 | Time to Live | Protocol = 17 | Header Checksum | 325 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 326 | Source Routing Locator | 327 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 328 | Destination Routing Locator | 329 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 330 / | Source Port | Dest Port | 331 UDP +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 332 \ | UDP Length | UDP Checksum | 333 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 334 | | 335 | LISP Message | 336 | | 337 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 339 IPv4 UDP LISP Control Message 341 0 1 2 3 342 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 343 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 344 |Version| Traffic Class | Flow Label | 345 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 346 | Payload Length | Next Header=17| Hop Limit | 347 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 348 | | 349 + + 350 | | 351 + Source Routing Locator + 352 | | 353 + + 354 | | 355 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 356 | | 357 + + 358 | | 359 + Destination Routing Locator + 360 | | 361 + + 362 | | 363 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 364 / | Source Port | Dest Port | 365 UDP +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 366 \ | UDP Length | UDP Checksum | 367 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 368 | | 369 | LISP Message | 370 | | 371 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 373 IPv6 UDP LISP Control Message 375 When a UDP Map-Request, Map-Register, or Map-Notify (when used as a 376 notification message) are sent, the UDP source port is chosen by the 377 sender and the destination UDP port number is set to 4342. When a 378 UDP Map-Reply, Map-Notify (when used as an acknowledgement to a Map- 379 Register), or Map-Notify-Ack are sent, the source UDP port number is 380 set to 4342 and the destination UDP port number is copied from the 381 source port of either the Map-Request or the invoking data packet. 382 Implementations MUST be prepared to accept packets when either the 383 source port or destination UDP port is set to 4342 due to NATs 384 changing port number values. 386 The 'UDP Length' field will reflect the length of the UDP header and 387 the LISP Message payload. Implementations should follow the 388 procedures from [RFC8085] to determine the maximum size used for any 389 LISP control message. 391 The UDP checksum is computed and set to non-zero for all messages 392 sent to or from port 4342. It MUST be checked on receipt, and if the 393 checksum fails, the control message MUST be dropped [RFC1071]. 395 The format of control messages includes the UDP header so the 396 checksum and length fields can be used to protect and delimit message 397 boundaries. 399 5.1. LISP Control Packet Type Allocations 401 This section defines the LISP control message formats and summarizes 402 for IANA the LISP Type codes assigned by this document. For 403 completeness, the summary below includes the LISP Shared Extension 404 Message assigned by [RFC8113]. Message type definitions are: 406 Reserved: 0 b'0000' 407 LISP Map-Request: 1 b'0001' 408 LISP Map-Reply: 2 b'0010' 409 LISP Map-Register: 3 b'0011' 410 LISP Map-Notify: 4 b'0100' 411 LISP Map-Notify-Ack: 5 b'0101' 412 LISP Map-Referral: 6 b'0110' 413 Not Assigned 7 b'0111' 414 LISP Encapsulated Control Message: 8 b'1000' 415 Not Assigned 9-14 b'1001'- b'1110' 416 LISP Shared Extension Message: 15 b'1111' [RFC8113] 418 Values in the "Not Assigned" range can be assigned according to 419 procedures in [RFC8126]. 421 Protocol designers experimenting with new message formats are 422 recommended to use the LISP Shared Extension Message Type described 423 in [RFC8113]. 425 All LISP Control-Plane messages use Address Family Identifiers (AFI) 426 [AFI] or LISP Canonical Address Format (LCAF) [RFC8060] formats to 427 encode either fixed or variable length addresses. This includes 428 explicit fields in each control message or part of EID-records or 429 RLOC-records in commonly formatted messages. 431 The LISP control-plane describes how other data-planes can encode 432 messages to support the Soliciting of Map-Requests as well as RLOC- 433 probing procedures. 435 5.2. Map-Request Message Format 437 0 1 2 3 438 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 439 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 440 |Type=1 |A|M|P|S|p|s|R|R| Rsvd |L|D| IRC | Record Count | 441 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 442 | Nonce . . . | 443 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 444 | . . . Nonce | 445 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 446 | Source-EID-AFI | Source EID Address ... | 447 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 448 | ITR-RLOC-AFI 1 | ITR-RLOC Address 1 ... | 449 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 450 | ... | 451 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 452 | ITR-RLOC-AFI n | ITR-RLOC Address n ... | 453 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 454 / | Reserved | EID mask-len | EID-Prefix-AFI | 455 Rec +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 456 \ | EID-Prefix ... | 457 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 458 | Map-Reply Record ... | 459 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 461 Packet field descriptions: 463 Type: 1 (Map-Request) 465 A: This is an authoritative bit, which is set to 0 for UDP-based Map- 466 Requests sent by an ITR. It is set to 1 when an ITR wants the 467 destination site to return the Map-Reply rather than the mapping 468 database system returning a Map-Reply. 470 M: This is the map-data-present bit. When set, it indicates that a 471 Map-Reply Record segment is included in the Map-Request. 473 P: This is the probe-bit, which indicates that a Map-Request SHOULD 474 be treated as a Locator reachability probe. The receiver SHOULD 475 respond with a Map-Reply with the probe-bit set, indicating that 476 the Map-Reply is a Locator reachability probe reply, with the 477 nonce copied from the Map-Request. See RLOC-Probing Section 7.1 478 for more details. This RLOC-probe Map-Request MUST not be sent to 479 the mapping system. If a Map-Resolver or Map-Server receives a 480 Map-Request with the probe-bit set, it MUST drop the message. 482 S: This is the Solicit-Map-Request (SMR) bit. See Solicit-Map- 483 Request (SMRs) Section 6.1 for details. 485 p: This is the PITR bit. This bit is set to 1 when a PITR sends a 486 Map-Request. 488 s: This is the SMR-invoked bit. This bit is set to 1 when an xTR is 489 sending a Map-Request in response to a received SMR-based Map- 490 Request. 492 R: This reserved and unassigned bit MUST be set to 0 on transmit and 493 MUST be ignored on receipt. 495 Rsvd: This field MUST be set to 0 on transmit and MUST be ignored on 496 receipt. 498 L: This is the local-xtr bit. It is used by an xTR in a LISP site to 499 tell other xTRs in the same site that it is part of the RLOC-set 500 for the LISP site. The L-bit is set to 1 when the RLOC is the 501 sender's IP address. 503 D: This is the dont-map-reply bit. It is used in the SMR procedure 504 described in Section 6.1. When an xTR sends an SMR Map-Request 505 message, it doesn't need a Map-Reply returned. When this bit is 506 set, the receiver of the Map-Request does not return a Map-Reply. 508 IRC: This 5-bit field is the ITR-RLOC Count, which encodes the 509 additional number of ('ITR-RLOC-AFI', 'ITR-RLOC Address') fields 510 present in this message. At least one (ITR-RLOC-AFI, ITR-RLOC- 511 Address) pair MUST be encoded. Multiple 'ITR-RLOC Address' fields 512 are used, so a Map-Replier can select which destination address to 513 use for a Map-Reply. The IRC value ranges from 0 to 31. For a 514 value of 0, there is 1 ITR-RLOC address encoded; for a value of 1, 515 there are 2 ITR-RLOC addresses encoded, and so on up to 31, which 516 encodes a total of 32 ITR-RLOC addresses. 518 Record Count: This is the number of records in this Map-Request 519 message. A record is comprised of the portion of the packet that 520 is labeled 'Rec' above and occurs the number of times equal to 521 Record Count. For this version of the protocol, a receiver MUST 522 accept and process Map-Requests that contain one or more records, 523 but a sender MUST only send Map-Requests containing one record. 524 Support for processing multiple EIDs in a single Map-Request 525 message will be specified in a future version of the protocol. 527 Nonce: This is an 8-octet random value created by the sender of the 528 Map-Request. This nonce will be returned in the Map-Reply. The 529 security of the LISP mapping protocol critically depends on the 530 strength of the nonce in the Map-Request message. The nonce MUST 531 be generated by a properly seeded pseudo-random (or strong random) 532 source. See [RFC4086] for advice on generating security-sensitive 533 random data. 535 Source-EID-AFI: This is the address family of the 'Source EID 536 Address' field. 538 Source EID Address: This is the EID of the source host that 539 originated the packet that caused the Map-Request. When Map- 540 Requests are used for refreshing a Map-Cache entry or for RLOC- 541 Probing, an AFI value 0 is used and this field is of zero length. 543 ITR-RLOC-AFI: This is the address family of the 'ITR-RLOC Address' 544 field that follows this field. 546 ITR-RLOC Address: This is used to give the ETR the option of 547 selecting the destination address from any address family for the 548 Map-Reply message. This address MUST be a routable RLOC address 549 of the sender of the Map-Request message. 551 EID mask-len: This is the mask length for the EID-Prefix. 553 EID-Prefix-AFI: This is the address family of the EID-Prefix 554 according to [AFI] and [RFC8060]. 556 EID-Prefix: This prefix address length is 4 octets for an IPv4 557 address family and 16 octets for an IPv6 address family when the 558 EID-Prefix-AFI is 1 or 2, respectively. For other AFIs [AFI], the 559 address length varies and for the LCAF AFI the format is defined 560 in [RFC8060]. When a Map-Request is sent by an ITR because a data 561 packet is received for a destination where there is no mapping 562 entry, the EID-Prefix is set to the destination IP address of the 563 data packet, and the 'EID mask-len' is set to 32 or 128 for IPv4 564 or IPv6, respectively. When an xTR wants to query a site about 565 the status of a mapping it already has cached, the EID-Prefix used 566 in the Map-Request has the same mask-length as the EID-Prefix 567 returned from the site when it sent a Map-Reply message. 569 Map-Reply Record: When the M-bit is set, this field is the size of a 570 single "Record" in the Map-Reply format. This Map-Reply record 571 contains the EID-to-RLOC mapping entry associated with the Source 572 EID. This allows the ETR that will receive this Map-Request to 573 cache the data if it chooses to do so. 575 5.3. EID-to-RLOC UDP Map-Request Message 577 A Map-Request is sent from an ITR when it needs a mapping for an EID, 578 wants to test an RLOC for reachability, or wants to refresh a mapping 579 before TTL expiration. For the initial case, the destination IP 580 address used for the Map-Request is the data packet's destination 581 address (i.e., the destination EID) that had a mapping cache lookup 582 failure. For the latter two cases, the destination IP address used 583 for the Map-Request is one of the RLOC addresses from the Locator-Set 584 of the Map-Cache entry. The source address is either an IPv4 or IPv6 585 RLOC address, depending on whether the Map-Request is using an IPv4 586 or IPv6 header, respectively. In all cases, the UDP source port 587 number for the Map-Request message is a 16-bit value selected by the 588 ITR/PITR, and the UDP destination port number is set to the well- 589 known destination port number 4342. A successful Map-Reply, which is 590 one that has a nonce that matches an outstanding Map-Request nonce, 591 will update the cached set of RLOCs associated with the EID-Prefix 592 range. 594 One or more Map-Request ('ITR-RLOC-AFI', 'ITR-RLOC-Address') fields 595 MUST be filled in by the ITR. The number of fields (minus 1) encoded 596 MUST be placed in the 'IRC' field. The ITR MAY include all locally 597 configured Locators in this list or just provide one locator address 598 from each address family it supports. If the ITR erroneously 599 provides no ITR-RLOC addresses, the Map-Replier MUST drop the Map- 600 Request. 602 Map-Requests can also be LISP encapsulated using UDP destination 603 port 4342 with a LISP Type value set to "Encapsulated Control 604 Message", when sent from an ITR to a Map-Resolver. Likewise, Map- 605 Requests are LISP encapsulated the same way from a Map-Server to an 606 ETR. Details on Encapsulated Map-Requests and Map-Resolvers can be 607 found in Section 5.8. 609 Map-Requests MUST be rate-limited. It is RECOMMENDED that a Map- 610 Request for the same EID-Prefix be sent no more than once per second. 611 However, recommendations from [RFC8085] SHOULD be considered. 613 An ITR that is configured with mapping database information (i.e., it 614 is also an ETR) MAY optionally include those mappings in a Map- 615 Request. When an ETR configured to accept and verify such 616 "piggybacked" mapping data receives such a Map-Request and it does 617 not have this mapping in the Map-Cache, it MAY originate a "verifying 618 Map-Request", addressed to the map-requesting ITR and the ETR MAY add 619 a Map-Cache entry. If the ETR (when it is an xTR co-located as an 620 ITR) has a Map-Cache entry that matches the "piggybacked" EID and the 621 RLOC is in the Locator-Set for the entry, then it MAY send the 622 "verifying Map-Request" directly to the originating Map-Request 623 source. If the RLOC is not in the Locator-Set, then the ETR MUST 624 send the "verifying Map-Request" to the "piggybacked" EID. Doing 625 this forces the "verifying Map-Request" to go through the mapping 626 database system to reach the authoritative source of information 627 about that EID, guarding against RLOC-spoofing in the "piggybacked" 628 mapping data. 630 5.4. Map-Reply Message Format 632 0 1 2 3 633 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 634 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 635 |Type=2 |P|E|S| Reserved | Record Count | 636 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 637 | Nonce . . . | 638 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 639 | . . . Nonce | 640 +-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 641 | | Record TTL | 642 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 643 R | Locator Count | EID mask-len | ACT |A| Reserved | 644 e +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 645 c | Rsvd | Map-Version Number | EID-Prefix-AFI | 646 o +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 647 r | EID-Prefix | 648 d +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 649 | /| Priority | Weight | M Priority | M Weight | 650 | L +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 651 | o | Unused Flags |L|p|R| Loc-AFI | 652 | c +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 653 | \| Locator | 654 +-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 656 Packet field descriptions: 658 Type: 2 (Map-Reply) 660 P: This is the probe-bit, which indicates that the Map-Reply is in 661 response to a Locator reachability probe Map-Request. The 'Nonce' 662 field MUST contain a copy of the nonce value from the original 663 Map-Request. See RLOC-probing Section 7.1 for more details. When 664 the probe-bit is set to 1 in a Map-Reply message, the A-bit in 665 each EID-record included in the message MUST be set to 1. 667 E: This bit indicates that the ETR that sends this Map-Reply message 668 is advertising that the site is enabled for the Echo-Nonce Locator 669 reachability algorithm. See Echo-Nonce [I-D.ietf-lisp-rfc6830bis] 670 for more details. 672 S: This is the Security bit. When set to 1, the following 673 authentication information will be appended to the end of the Map- 674 Reply. The details of signing a Map-Reply message can be found in 675 [I-D.ietf-lisp-sec]. 677 0 1 2 3 678 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 679 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 680 | AD Type | Authentication Data Content . . . | 681 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 683 Reserved: This unassigned field MUST be set to 0 on transmit and 684 MUST be ignored on receipt. 686 Record Count: This is the number of records in this reply message. 687 A record is comprised of that portion of the packet labeled 688 'Record' above and occurs the number of times equal to Record 689 Count. 691 Nonce: This 64-bit value from the Map-Request is echoed in this 692 'Nonce' field of the Map-Reply. 694 Record TTL: This is the time in minutes the recipient of the Map- 695 Reply will store the mapping. If the TTL is 0, the entry MUST be 696 removed from the cache immediately. If the value is 0xffffffff, 697 the recipient can decide locally how long to store the mapping. 699 Locator Count: This is the number of Locator entries. A Locator 700 entry comprises what is labeled above as 'Loc'. The Locator count 701 can be 0, indicating that there are no Locators for the EID- 702 Prefix. 704 EID mask-len: This is the mask length for the EID-Prefix. 706 ACT: This 3-bit field describes Negative Map-Reply actions. In any 707 other message type, these bits are set to 0 and ignored on 708 receipt. These bits are used only when the 'Locator Count' field 709 is set to 0. The action bits are encoded only in Map-Reply 710 messages. They are used to tell an ITR or PITR why a empty 711 locator-set was returned from the mapping system and how it stores 712 the map-cache entry. 714 (0) No-Action: The Map-Cache is kept alive, and no packet 715 encapsulation occurs. 717 (1) Natively-Forward: The packet is not encapsulated or dropped 718 but natively forwarded. 720 (2) Send-Map-Request: The Map-Cache entry is created and flagged 721 that any packet matching this entry invokes sending a Map- 722 Request. 724 (3) Drop/No-Reason: A packet that matches this Map-Cache entry is 725 dropped. An ICMP Destination Unreachable message SHOULD be 726 sent. 728 (4) Drop/Policy-Denied: A packet that matches this Map-Cache 729 entry is dropped. The reason for the Drop action is that a 730 Map-Request for the target-EID is being policy denied by 731 either an xTR or the mapping system. 733 (5) Drop/Authentication-Failure: A packet that matches this Map- 734 Cache entry is dropped. The reason for the Drop action is 735 that a Map-Request for the target-EID fails an authentication 736 verification-check by either an xTR or the mapping system. 738 A: The Authoritative bit, when set to 1, is always set to 1 by an 739 ETR. When a Map-Server is proxy Map-Replying for a LISP site, the 740 Authoritative bit is set to 0. This indicates to requesting ITRs 741 that the Map-Reply was not originated by a LISP node managed at 742 the site that owns the EID-Prefix. 744 Map-Version Number: When this 12-bit value is non-zero, the Map- 745 Reply sender is informing the ITR what the version number is for 746 the EID record contained in the Map-Reply. The ETR can allocate 747 this number internally but MUST coordinate this value with other 748 ETRs for the site. When this value is 0, there is no versioning 749 information conveyed. The Map-Version Number can be included in 750 Map-Request and Map-Register messages. See Map-Versioning 751 [I-D.ietf-lisp-6834bis] for more details. 753 EID-Prefix-AFI: Address family of the EID-Prefix according to [AFI] 754 and [RFC8060]. 756 EID-Prefix: This prefix is 4 octets for an IPv4 address family and 757 16 octets for an IPv6 address family. 759 Priority: Each RLOC is assigned a unicast Priority. Lower values 760 are more preferable. When multiple RLOCs have the same Priority, 761 they may be used in a load-split fashion. A value of 255 means 762 the RLOC MUST NOT be used for unicast forwarding. 764 Weight: When priorities are the same for multiple RLOCs, the Weight 765 indicates how to balance unicast traffic between them. Weight is 766 encoded as a relative weight of total unicast packets that match 767 the mapping entry. For example, if there are 4 Locators in a 768 Locator-Set, where the Weights assigned are 30, 20, 20, and 10, 769 the first Locator will get 37.5% of the traffic, the 2nd and 3rd 770 Locators will get 25% of the traffic, and the 4th Locator will get 771 12.5% of the traffic. If all Weights for a Locator-Set are equal, 772 the receiver of the Map-Reply will decide how to load-split the 773 traffic. See RLOC-hashing [I-D.ietf-lisp-rfc6830bis] for a 774 suggested hash algorithm to distribute the load across Locators 775 with the same Priority and equal Weight values. 777 M Priority: Each RLOC is assigned a multicast Priority used by an 778 ETR in a receiver multicast site to select an ITR in a source 779 multicast site for building multicast distribution trees. A value 780 of 255 means the RLOC MUST NOT be used for joining a multicast 781 distribution tree. For more details, see [RFC6831]. 783 M Weight: When priorities are the same for multiple RLOCs, the 784 Weight indicates how to balance building multicast distribution 785 trees across multiple ITRs. The Weight is encoded as a relative 786 weight (similar to the unicast Weights) of the total number of 787 trees built to the source site identified by the EID-Prefix. If 788 all Weights for a Locator-Set are equal, the receiver of the Map- 789 Reply will decide how to distribute multicast state across ITRs. 790 For more details, see [RFC6831]. 792 Unused Flags: These are set to 0 when sending and ignored on 793 receipt. 795 L: When this bit is set, the Locator is flagged as a local Locator to 796 the ETR that is sending the Map-Reply. When a Map-Server is doing 797 proxy Map-Replying for a LISP site, the L-bit is set to 0 for all 798 Locators in this Locator-Set. 800 p: When this bit is set, an ETR informs the RLOC-Probing ITR that the 801 locator address for which this bit is set is the one being RLOC- 802 probed and may be different from the source address of the Map- 803 Reply. An ITR that RLOC-probes a particular Locator MUST use this 804 Locator for retrieving the data structure used to store the fact 805 that the Locator is reachable. The p-bit is set for a single 806 Locator in the same Locator-Set. If an implementation sets more 807 than one p-bit erroneously, the receiver of the Map-Reply MUST 808 select the first set p-bit Locator. The p-bit MUST NOT be set for 809 Locator-Set records sent in Map-Request and Map-Register messages. 811 R: This is set when the sender of a Map-Reply has a route to the 812 Locator in the Locator data record. This receiver may find this 813 useful to know if the Locator is up but not necessarily reachable 814 from the receiver's point of view. See also EID-Reachability 815 Section 7.1 for another way the R-bit may be used. 817 Locator: This is an IPv4 or IPv6 address (as encoded by the 'Loc- 818 AFI' field) assigned to an ETR and used by an ITR as a destination 819 RLOC address in the outer header of a LISP encapsualted packet. 821 Note that the destination RLOC address of a LISP encapsulated 822 packet MAY be an anycast address. A source RLOC of a LISP 823 encapsulated packet can be an anycast address as well. The source 824 or destination RLOC MUST NOT be the broadcast address 825 (255.255.255.255 or any subnet broadcast address known to the 826 router) and MUST NOT be a link-local multicast address. The 827 source RLOC MUST NOT be a multicast address. The destination RLOC 828 SHOULD be a multicast address if it is being mapped from a 829 multicast destination EID. 831 5.5. EID-to-RLOC UDP Map-Reply Message 833 A Map-Reply returns an EID-Prefix with a mask-length that is less 834 than or equal to the EID being requested. The EID being requested is 835 either from the destination field of an IP header of a Data-Probe or 836 the EID record of a Map-Request. The RLOCs in the Map-Reply are 837 routable IP addresses of all ETRs for the LISP site. Each RLOC 838 conveys status reachability but does not convey path reachability 839 from a requester's perspective. Separate testing of path 840 reachability is required. See RLOC-reachability Section 7.1 for 841 details. 843 Note that a Map-Reply MAY contain different EID-Prefix granularity 844 (prefix + mask-length) than the Map-Request that triggers it. This 845 might occur if a Map-Request were for a prefix that had been returned 846 by an earlier Map-Reply. In such a case, the requester updates its 847 cache with the new prefix information and granularity. For example, 848 a requester with two cached EID-Prefixes that are covered by a Map- 849 Reply containing one less-specific prefix replaces the entry with the 850 less-specific EID-Prefix. Note that the reverse, replacement of one 851 less-specific prefix with multiple more-specific prefixes, can also 852 occur, not by removing the less-specific prefix but rather by adding 853 the more-specific prefixes that, during a lookup, will override the 854 less-specific prefix. 856 When an EID moves out of a LISP site [I-D.ietf-lisp-eid-mobility], 857 the database mapping system may have overlapping EID-prefixes. Or 858 when a LISP site is configured with multiple sets of ETRs that 859 support different EID-prefix mask-lengths, the database mapping 860 system may have overlapping EID-prefixes. When overlapping EID- 861 prefixes exist, a Map-Request with an EID that best matches any EID- 862 Prefix MUST be returned in a single Map-Reply message. For instance, 863 if an ETR had database mapping entries for EID-Prefixes: 865 2001:db8::/16 866 2001:db8:1::/24 867 2001:db8:1:1::/32 868 2001:db8:1:2::/32 870 A Map-Request for EID 2001:db8:1:1::1 would cause a Map-Reply with a 871 record count of 1 to be returned with a mapping record EID-Prefix of 872 2001:db8:1:1::/32. 874 A Map-Request for EID 2001:db8:1:5::5 would cause a Map-Reply with a 875 record count of 3 to be returned with mapping records for EID- 876 Prefixes 2001:db8:1::/24, 2001:db8:1:1::/32, 2001:db8:1:2::/32, 877 filling out the /24 with more-specifics that exist in the mapping 878 system. 880 Note that not all overlapping EID-Prefixes need to be returned but 881 only the more-specific entries (note that in the second example above 882 2001:db8::/16 was not returned for requesting EID 2001:db8:1:5::5) 883 for the matching EID-Prefix of the requesting EID. When more than 884 one EID-Prefix is returned, all SHOULD use the same Time to Live 885 value so they can all time out at the same time. When a more- 886 specific EID-Prefix is received later, its Time to Live value in the 887 Map-Reply record can be stored even when other less-specific entries 888 exist. When a less-specific EID-Prefix is received later, its Map- 889 Cache expiration time SHOULD be set to the minimum expiration time of 890 any more-specific EID-Prefix in the Map-Cache. This is done so the 891 integrity of the EID-Prefix set is wholly maintained and so no more- 892 specific entries are removed from the Map-Cache while keeping less- 893 specific entries. 895 Map-Replies SHOULD be sent for an EID-Prefix no more often than once 896 per second to the same requesting router. For scalability, it is 897 expected that aggregation of EID addresses into EID-Prefixes will 898 allow one Map-Reply to satisfy a mapping for the EID addresses in the 899 prefix range, thereby reducing the number of Map-Request messages. 901 Map-Reply records can have an empty Locator-Set. A Negative Map- 902 Reply is a Map-Reply with an empty Locator-Set. Negative Map-Replies 903 convey special actions by the sender to the ITR or PITR that have 904 solicited the Map-Reply. There are two primary applications for 905 Negative Map-Replies. The first is for a Map-Resolver to instruct an 906 ITR or PITR when a destination is for a LISP site versus a non-LISP 907 site, and the other is to source quench Map-Requests that are sent 908 for non-allocated EIDs. 910 For each Map-Reply record, the list of Locators in a Locator-Set MUST 911 appear in the same order for each ETR that originates a Map-Reply 912 message. The Locator-Set MUST be sorted in order of ascending IP 913 address where an IPv4 locator address is considered numerically 'less 914 than' an IPv6 locator address. 916 When sending a Map-Reply message, the destination address is copied 917 from one of the 'ITR-RLOC' fields from the Map-Request. The ETR can 918 choose a locator address from one of the address families it 919 supports. For Data-Probes, the destination address of the Map-Reply 920 is copied from the source address of the Data-Probe message that is 921 invoking the reply. The source address of the Map-Reply is one of 922 the local IP addresses chosen, to allow Unicast Reverse Path 923 Forwarding (uRPF) checks to succeed in the upstream service provider. 924 The destination port of a Map-Reply message is copied from the source 925 port of the Map-Request or Data-Probe, and the source port of the 926 Map-Reply message is set to the well-known UDP port 4342. 928 5.6. Map-Register Message Format 930 This section specifies the encoding format for the Map-Register 931 message. The message is sent in UDP with a destination UDP port of 932 4342 and a randomly selected UDP source port number. 934 The fields below are used in multiple control messages. They are 935 defined for Map-Register, Map-Notify and Map-Notify-Ack message 936 types. 938 The Map-Register message format is: 940 0 1 2 3 941 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 942 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 943 |Type=3 |P|S|I| Reserved |E|T|a|R|M| Record Count | 944 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 945 | Nonce . . . | 946 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 947 | . . . Nonce | 948 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 949 | Key ID | Algorithm ID | Authentication Data Length | 950 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 951 ~ Authentication Data ~ 952 +-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 953 | | Record TTL | 954 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 955 R | Locator Count | EID mask-len | ACT |A| Reserved | 956 e +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 957 c | Rsvd | Map-Version Number | EID-Prefix-AFI | 958 o +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 959 r | EID-Prefix | 960 d +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 961 | /| Priority | Weight | M Priority | M Weight | 962 | L +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 963 | o | Unused Flags |L|p|R| Loc-AFI | 964 | c +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 965 | \| Locator | 966 +-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 968 Packet field descriptions: 970 Type: 3 (Map-Register) 972 P: This is the proxy Map-Reply bit. When set to 1, an ETR sends a 973 Map-Register message requesting the Map-Server to proxy a Map- 974 Reply. The Map-Server will send non-authoritative Map-Replies on 975 behalf of the ETR. 977 S: This is the security-capable bit. When set, the procedures from 978 [I-D.ietf-lisp-sec] are supported. 980 I: This bit is set to 1 to indicate that a 128 bit xTR-ID and a 64 981 bit Site-ID fields are present at the end of the Map-Register 982 message. If an xTR is configured with an xTR-ID and Site-ID, it 983 MUST set the I bit to 1 and include its xTR-ID and Site-ID in the 984 Map-Register messages it generates. The combination of Site-ID 985 plus xTR-ID uniquely identifies an xTR in a LISP domain and serves 986 to track its last seen nonce. 988 Reserved: This unassigned field MUST be set to 0 on transmit and 989 MUST be ignored on receipt. 991 E: This is the Map-Register EID-notify bit. This is used by a First- 992 Hop-Router (FHR) which discovers a dynamic-EID. This EID-notify 993 based Map-Register is sent by the FHR to the same site xTR that 994 propogates the Map-Register to the mapping system. The site xTR 995 keeps state to later Map-Notify the FHR after the EID has moves 996 away. See [I-D.ietf-lisp-eid-mobility] for a detailed use-case. 998 T: This is the use-TTL for timeout bit. When set to 1, the xTR wants 999 the Map-Server to time out registrations based on the value in the 1000 "Record TTL" field of this message. Otherwise, the default 1001 timeout described in Section 8.2 is used. 1003 a: This is the merge-request bit. When set to 1, the xTR requests to 1004 merge RLOC-records from different xTRs registering the same EID- 1005 record. See signal-free multicast [RFC8378] for one use case 1006 example. 1008 R: This reserved and unassigned bit MUST be set to 0 on transmit and 1009 MUST be ignored on receipt. 1011 M: This is the want-map-notify bit. When set to 1, an ETR is 1012 requesting a Map-Notify message to be returned in response to 1013 sending a Map-Register message. The Map-Notify message sent by a 1014 Map-Server is used to acknowledge receipt of a Map-Register 1015 message. 1017 Record Count: This is the number of records in this Map-Register 1018 message. A record is comprised of that portion of the packet 1019 labeled 'Record' above and occurs the number of times equal to 1020 Record Count. 1022 Nonce: This 8-octet 'Nonce' field is incremented each time a Map- 1023 Register message is sent. When a Map-Register acknowledgement is 1024 requested, the nonce is returned by Map-Servers in Map-Notify 1025 messages. Since the entire Map-Register message is authenticated, 1026 the 'Nonce' field serves to protect against Map-Register replay 1027 attacks. An ETR that registers to the mapping system SHOULD store 1028 the last nonce sent in persistent storage so when it restarts it 1029 can continue using an incrementing nonce. If the the ETR cannot 1030 support saving the nonce, then when it restarts it MUST use a new 1031 authentication key to register to the mapping system. A Map- 1032 Server MUST track and save in persistent storage the last nonce 1033 received for each ETR xTR-ID that registers to it. If a Map- 1034 Register is received with a nonce value that is not greater than 1035 the saved nonce, it drops the Map-Register message and logs the 1036 fact a replay attack could have occurred. 1038 Key ID: This is a configured key-id value that corresponds to a 1039 shared-secret password that is used to authenticate the sender. 1040 Multiple shared-secrets can be used to roll over keys in a non- 1041 disruptive way. 1043 Algorithm ID: This is the configured Message Authentication Code 1044 (MAC) algorithm value used for the authentication function. See 1045 Algorithm ID Numbers in the Section 12.5 for codepoint 1046 assignments. 1048 Authentication Data Length: This is the length in octets of the 1049 'Authentication Data' field that follows this field. The length 1050 of the 'Authentication Data' field is dependent on the MAC 1051 algorithm used. The length field allows a device that doesn't 1052 know the MAC algorithm to correctly parse the packet. 1054 Authentication Data: This is the output of the MAC algorithm. The 1055 entire Map-Register payload (from and including the LISP message 1056 type field through the end of the last RLOC record) is 1057 authenticated with this field preset to 0. After the MAC is 1058 computed, it is placed in this field. Implementations of this 1059 specification MUST include support for either HMAC-SHA-1-96 1060 [RFC2404] and HMAC-SHA-256-128 [RFC4868] where the latter is 1061 RECOMMENDED. 1063 The definition of the rest of the Map-Register can be found in EID- 1064 record description in Section 5.4. When the I-bit is set, the 1065 following fields are added to the end of thd Map-Register message: 1067 xTR-ID: xTR-ID is a 128 bit field at the end of the Map-Register 1068 message, starting after the final Record in the message. The xTR- 1069 ID is used to uniquely identify a xTR. The same xTR-ID value MUST 1070 NOT be used in two different xTRs. 1072 Site-ID: Site-ID is a 64 bit field at the end of the Map- Register 1073 message, following the xTR-ID. Site-ID is used to uniquely 1074 identify to which site the xTR that sent the message belongs. 1076 5.7. Map-Notify/Map-Notify-Ack Message Format 1078 This section specifies the encoding format for the Map-Notify and 1079 Map-Notify-Ack messages. The messages are sent inside a UDP packet 1080 with source and destination UDP ports equal to 4342. 1082 The Map-Notify and Map-Notify-Ack message formats are: 1084 0 1 2 3 1085 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 1086 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1087 |Type=4/5| Reserved | Record Count | 1088 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1089 | Nonce . . . | 1090 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1091 | . . . Nonce | 1092 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1093 | Key ID | Algorithm ID | Authentication Data Length | 1094 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1095 ~ Authentication Data ~ 1096 +-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1097 | | Record TTL | 1098 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1099 R | Locator Count | EID mask-len | ACT |A| Reserved | 1100 e +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1101 c | Rsvd | Map-Version Number | EID-Prefix-AFI | 1102 o +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1103 r | EID-Prefix | 1104 d +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1105 | /| Priority | Weight | M Priority | M Weight | 1106 | L +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1107 | o | Unused Flags |L|p|R| Loc-AFI | 1108 | c +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1109 | \| Locator | 1110 +-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1112 Packet field descriptions: 1114 Type: 4/5 (Map-Notify/Map-Notify-Ack) 1116 The Map-Notify message has the same contents as a Map-Register 1117 message. See the Map-Register section for field descriptions. 1119 The Map-Notify-Ack message has the same contents as a Map-Notify 1120 message. It is used to acknowledge the receipt of a Map-Notify 1121 (solicited or unsolicited) and for the sender to stop retransmitting 1122 a Map-Notify with the same nonce. 1124 A Map-Server sends an unsolicited Map-Notify message (one that is not 1125 used as an acknowledgment to a Map-Register message) that follows the 1126 Congestion Control And Relability Guideline sections of [RFC8085]. A 1127 Map-Notify is retransmitted until a Map-Notify-Ack is received by the 1128 Map-Server with the same nonce used in the Map-Notify message. If a 1129 Map-Notify-Ack is never received by the Map-Server, it issues a log 1130 message. An implementation SHOULD retransmit up to 3 times at 3 1131 second retransmission intervals, after which time the retransmission 1132 interval is exponentially backed-off for another 3 retransmission 1133 attempts. After this time, an xTR can only get the RLOC-set change 1134 by later querying the mapping system or by RLOC-probing one of the 1135 RLOCs of the existing cached RLOC-set to get the new RLOC-set. 1137 5.8. Encapsulated Control Message Format 1139 An Encapsulated Control Message (ECM) is used to encapsulate control 1140 packets sent between xTRs and the mapping database system. 1142 0 1 2 3 1143 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 1144 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1145 / | IPv4 or IPv6 Header | 1146 OH | (uses RLOC addresses) | 1147 \ | | 1148 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1149 / | Source Port = xxxx | Dest Port = 4342 | 1150 UDP +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1151 \ | UDP Length | UDP Checksum | 1152 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1153 LISP |Type=8 |S|D|E|M| Reserved | 1154 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1155 / | IPv4 or IPv6 Header | 1156 IH | (uses RLOC or EID addresses) | 1157 \ | | 1158 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1159 / | Source Port = xxxx | Dest Port = yyyy | 1160 UDP +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1161 \ | UDP Length | UDP Checksum | 1162 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1163 LCM | LISP Control Message | 1164 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1166 Packet header descriptions: 1168 OH: The outer IPv4 or IPv6 header, which uses RLOC addresses in the 1169 source and destination header address fields. 1171 UDP: The outer UDP header with destination port 4342. The source 1172 port is randomly allocated. The checksum field MUST be non- 1173 zero. 1175 LISP: Type 8 is defined to be a "LISP Encapsulated Control Message", 1176 and what follows is either an IPv4 or IPv6 header as encoded by 1177 the first 4 bits after the 'Reserved' field. 1179 Type: 8 (Encapsulated Control Message (ECM)) 1181 S: This is the Security bit. When set to 1, the field following 1182 the 'Reserved' field will have the following Authentication 1183 Data format and follow the procedures from [I-D.ietf-lisp-sec]. 1185 0 1 2 3 1186 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 1187 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1188 | AD Type | Authentication Data Content . . . | 1189 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1191 D: This is the DDT-bit. When set to 1, the sender is requesting a 1192 Map-Referral message to be returned. The details of this 1193 procedure are described in [RFC8111]. 1195 E: This is the to-ETR bit. When set to 1, the Map-Server's 1196 intention is to forward the ECM to an authoritative ETR. 1198 M: This is the to-MS bit. When set to 1, a Map-Request is being 1199 sent to a co-located Map-Resolver and Map-Server where the 1200 message can be processed directly by the Map-Server versus the 1201 Map-Resolver using the LISP-DDT procedures in [RFC8111]. 1203 IH: The inner IPv4 or IPv6 header, which can use either RLOC or EID 1204 addresses in the header address fields. When a Map-Request is 1205 encapsulated in this packet format, the destination address in 1206 this header is an EID. 1208 UDP: The inner UDP header, where the port assignments depend on the 1209 control packet being encapsulated. When the control packet is 1210 a Map-Request or Map-Register, the source port is selected by 1211 the ITR/PITR and the destination port is 4342. When the 1212 control packet is a Map-Reply, the source port is 4342 and the 1213 destination port is assigned from the source port of the 1214 invoking Map-Request. Port number 4341 MUST NOT be assigned to 1215 either port. The checksum field MUST be non-zero. 1217 LCM: The format is one of the control message formats described in 1218 this section. Map-Request messages are allowed to be Control- 1219 Plane (ECM) encapsulated. When Map-Requests are sent for RLOC- 1220 Probing purposes (i.e. the probe-bit is set), they MUST NOT be 1221 sent inside Encapsulated Control Messages. PIM Join/Prune 1222 messages [RFC6831] are also allowed to be Control-Plane (ECM) 1223 encapsulated. 1225 6. Changing the Contents of EID-to-RLOC Mappings 1227 In the LISP architecture ITRs/PITRs use a local Map-Cache to store 1228 EID-to-RLOC mappings for forwarding. When an ETR updates a mapping a 1229 mechanism is required to inform ITRs/PITRs that are using such 1230 mappings. 1232 The LISP Data-Plane defines several mechanism to update mappings 1233 [I-D.ietf-lisp-rfc6830bis]. This document specifies the Solicit-Map 1234 Request (SMR), a Control-Plane push-based mechanism. An additional 1235 Control-Plane mechanism based on the Publish/subscribe paradigm is 1236 specified in [I-D.ietf-lisp-pubsub]. 1238 6.1. Solicit-Map-Request (SMR) 1240 Soliciting a Map-Request is a selective way for ETRs, at the site 1241 where mappings change, to control the rate they receive requests for 1242 Map-Reply messages. SMRs are also used to tell remote ITRs to update 1243 the mappings they have cached. 1245 Since ETRs are not required to keep track of remote ITRs that have 1246 cached their mappings, they do not know which ITRs need to have their 1247 mappings updated. As a result, an ETR will solicit Map-Requests 1248 (called an SMR message) to those sites to which it has been sending 1249 LISP encapsulated data packets for the last minute. In particular, 1250 an ETR will send an SMR to an ITR to which it has recently sent 1251 encapsulated data. This can only occur when both ITR and ETR 1252 functionality reside in the same router. 1254 An SMR message is simply a bit set in a Map-Request message. An ITR 1255 or PITR will send a Map-Request when they receive an SMR message. 1256 Both the SMR sender and the Map-Request responder MUST rate-limit 1257 these messages. Rate-limiting can be implemented as a global rate- 1258 limiter or one rate-limiter per SMR destination. 1260 The following procedure shows how an SMR exchange occurs when a site 1261 is doing Locator-Set compaction for an EID-to-RLOC mapping: 1263 1. When the database mappings in an ETR change, the ETRs at the site 1264 begin to send Map-Requests with the SMR bit set for each Locator 1265 in each Map-Cache entry the ETR (when it is an xTR co-located as 1266 an ITR) caches. 1268 2. A remote ITR that receives the SMR message will schedule sending 1269 a Map-Request message to the source locator address of the SMR 1270 message or to the mapping database system. A newly allocated 1271 random nonce is selected, and the EID-Prefix used is the one 1272 copied from the SMR message. If the source Locator is the only 1273 Locator in the cached Locator-Set, the remote ITR SHOULD send a 1274 Map-Request to the database mapping system just in case the 1275 single Locator has changed and may no longer be reachable to 1276 accept the Map-Request. 1278 3. The remote ITR MUST rate-limit the Map-Request until it gets a 1279 Map-Reply while continuing to use the cached mapping. When 1280 Map-Versioning as described in [I-D.ietf-lisp-6834bis] is used, 1281 an SMR sender can detect if an ITR is using the most up-to-date 1282 database mapping. 1284 4. The site sending SMR messages will reply to the Map-Request with 1285 a Map-Reply message that has a nonce from the SMR-invoked Map- 1286 Request. The Map-Reply messages MUST be rate-limited according 1287 to procedures in [RFC8085]. This is important to avoid Map-Reply 1288 implosion. 1290 5. The ETRs at the site with the changed mapping record the fact 1291 that the site that sent the Map-Request has received the new 1292 mapping data in the Map-Cache entry for the remote site so the 1293 Locator-Status-Bits are reflective of the new mapping for packets 1294 going to the remote site. The ETR then stops sending SMR 1295 messages. 1297 For security reasons, an ITR MUST NOT process unsolicited Map- 1298 Replies. To avoid Map-Cache entry corruption by a third party, a 1299 sender of an SMR-based Map-Request MUST be verified. If an ITR 1300 receives an SMR-based Map-Request and the source is not in the 1301 Locator-Set for the stored Map-Cache entry, then the responding Map- 1302 Request MUST be sent with an EID destination to the mapping database 1303 system. Since the mapping database system is a more secure way to 1304 reach an authoritative ETR, it will deliver the Map-Request to the 1305 authoritative source of the mapping data. 1307 When an ITR receives an SMR-based Map-Request for which it does not 1308 have a cached mapping for the EID in the SMR message, it SHOULD NOT 1309 send an SMR-invoked Map-Request. This scenario can occur when an ETR 1310 sends SMR messages to all Locators in the Locator-Set it has stored 1311 in its Map-Cache but the remote ITRs that receive the SMR may not be 1312 sending packets to the site. There is no point in updating the ITRs 1313 until they need to send, in which case they will send Map-Requests to 1314 obtain a Map-Cache entry. 1316 7. Routing Locator Reachability 1318 This document defines several Control-Plane mechanisms for 1319 determining RLOC reachability. Please note that additional Data- 1320 Plane reachability mechanisms are defined in 1321 [I-D.ietf-lisp-rfc6830bis]. 1323 1. An ITR may receive an ICMP Network Unreachable or Host 1324 Unreachable message for an RLOC it is using. This indicates that 1325 the RLOC is likely down. Note that trusting ICMP messages may 1326 not be desirable, but neither is ignoring them completely. 1327 Implementations are encouraged to follow current best practices 1328 in treating these conditions [I-D.ietf-opsec-icmp-filtering]. 1330 2. When an ITR participates in the routing protocol that operates in 1331 the underlay routing system, it can determine that an RLOC is 1332 down when no Routing Information Base (RIB) entry exists that 1333 matches the RLOC IP address. 1335 3. An ITR may receive an ICMP Port Unreachable message from a 1336 destination host. This occurs if an ITR attempts to use 1337 interworking [RFC6832] and LISP-encapsulated data is sent to a 1338 non-LISP-capable site. 1340 4. An ITR may receive a Map-Reply from an ETR in response to a 1341 previously sent Map-Request. The RLOC source of the Map-Reply is 1342 likely up, since the ETR was able to send the Map-Reply to the 1343 ITR. 1345 5. An ITR/ETR pair can use the 'RLOC-Probing' mechanism described 1346 below. 1348 When ITRs receive ICMP Network Unreachable or Host Unreachable 1349 messages as a method to determine unreachability, they will refrain 1350 from using Locators that are described in Locator lists of Map- 1351 Replies. However, using this approach is unreliable because many 1352 network operators turn off generation of ICMP Destination Unreachable 1353 messages. 1355 If an ITR does receive an ICMP Network Unreachable or Host 1356 Unreachable message, it MAY originate its own ICMP Destination 1357 Unreachable message destined for the host that originated the data 1358 packet the ITR encapsulated. 1360 Also, BGP-enabled ITRs can unilaterally examine the RIB to see if a 1361 locator address from a Locator-Set in a mapping entry matches a 1362 prefix. If it does not find one and BGP is running in the Default- 1363 Free Zone (DFZ), it can decide to not use the Locator even though the 1364 Locator-Status-Bits indicate that the Locator is up. In this case, 1365 the path from the ITR to the ETR that is assigned the Locator is not 1366 available. More details are in [I-D.meyer-loc-id-implications]. 1368 Optionally, an ITR can send a Map-Request to a Locator, and if a Map- 1369 Reply is returned, reachability of the Locator has been determined. 1370 Obviously, sending such probes increases the number of control 1371 messages originated by Tunnel Routers for active flows, so Locators 1372 are assumed to be reachable when they are advertised. 1374 This assumption does create a dependency: Locator unreachability is 1375 detected by the receipt of ICMP Host Unreachable messages. When a 1376 Locator has been determined to be unreachable, it is not used for 1377 active traffic; this is the same as if it were listed in a Map-Reply 1378 with Priority 255. 1380 The ITR can test the reachability of the unreachable Locator by 1381 sending periodic Requests. Both Requests and Replies MUST be rate- 1382 limited. Locator reachability testing is never done with data 1383 packets, since that increases the risk of packet loss for end-to-end 1384 sessions. 1386 7.1. RLOC-Probing Algorithm 1388 RLOC-Probing is a method that an ITR or PITR can use to determine the 1389 reachability status of one or more Locators that it has cached in a 1390 Map-Cache entry. The probe-bit of the Map-Request and Map-Reply 1391 messages is used for RLOC-Probing. 1393 RLOC-Probing is done in the control plane on a timer basis, where an 1394 ITR or PITR will originate a Map-Request destined to a locator 1395 address from one of its own locator addresses. A Map-Request used as 1396 an RLOC-probe is NOT encapsulated and NOT sent to a Map-Server or to 1397 the mapping database system as one would when soliciting mapping 1398 data. The EID record encoded in the Map-Request is the EID-Prefix of 1399 the Map-Cache entry cached by the ITR or PITR. The ITR MAY include a 1400 mapping data record for its own database mapping information that 1401 contains the local EID-Prefixes and RLOCs for its site. RLOC-probes 1402 are sent periodically using a jittered timer interval. 1404 When an ETR receives a Map-Request message with the probe-bit set, it 1405 returns a Map-Reply with the probe-bit set. The source address of 1406 the Map-Reply is set to the IP address of the outgoing interface the 1407 Map-Reply destination address routes to. The Map-Reply SHOULD 1408 contain mapping data for the EID-Prefix contained in the Map-Request. 1409 This provides the opportunity for the ITR or PITR that sent the RLOC- 1410 probe to get mapping updates if there were changes to the ETR's 1411 database mapping entries. 1413 There are advantages and disadvantages of RLOC-Probing. The main 1414 benefit of RLOC-Probing is that it can handle many failure scenarios 1415 allowing the ITR to determine when the path to a specific Locator is 1416 reachable or has become unreachable, thus providing a robust 1417 mechanism for switching to using another Locator from the cached 1418 Locator. RLOC-Probing can also provide rough Round-Trip Time (RTT) 1419 estimates between a pair of Locators, which can be useful for network 1420 management purposes as well as for selecting low delay paths. The 1421 major disadvantage of RLOC-Probing is in the number of control 1422 messages required and the amount of bandwidth used to obtain those 1423 benefits, especially if the requirement for failure detection times 1424 is very small. 1426 8. Interactions with Other LISP Components 1428 8.1. ITR EID-to-RLOC Mapping Resolution 1430 An ITR is configured with one or more Map-Resolver addresses. These 1431 addresses are "Locators" (or RLOCs) and MUST be routable on the 1432 underlying core network; they MUST NOT need to be resolved through 1433 LISP EID-to-RLOC mapping, as that would introduce a circular 1434 dependency. When using a Map-Resolver, an ITR does not need to 1435 connect to any other database mapping system. In particular, the ITR 1436 need not connect to the LISP-ALT infrastructure or implement the BGP 1437 and GRE protocols that it uses. 1439 An ITR sends an Encapsulated Map-Request to a configured Map-Resolver 1440 when it needs an EID-to-RLOC mapping that is not found in its local 1441 Map-Cache. Using the Map-Resolver greatly reduces both the 1442 complexity of the ITR implementation and the costs associated with 1443 its operation. 1445 In response to an Encapsulated Map-Request, the ITR can expect one of 1446 the following: 1448 o An immediate Negative Map-Reply (with action code of "Natively- 1449 Forward", 15-minute Time to Live (TTL)) from the Map-Resolver if 1450 the Map-Resolver can determine that the requested EID does not 1451 exist. The ITR saves the EID-Prefix returned in the Map-Reply in 1452 its cache, marks it as non-LISP-capable, and knows not to attempt 1453 LISP encapsulation for destinations matching it. 1455 o A Negative Map-Reply, with action code of "Natively-Forward", from 1456 a Map-Server that is authoritative for an EID-Prefix that matches 1457 the requested EID but that does not have an actively registered, 1458 more-specific ID-prefix. In this case, the requested EID is said 1459 to match a "hole" in the authoritative EID-Prefix. If the 1460 requested EID matches a more-specific EID-Prefix that has been 1461 delegated by the Map-Server but for which no ETRs are currently 1462 registered, a 1-minute TTL is returned. If the requested EID 1463 matches a non-delegated part of the authoritative EID-Prefix, then 1464 it is not a LISP EID and a 15-minute TTL is returned. See 1465 Section 8.2 for discussion of aggregate EID-Prefixes and details 1466 of Map-Server EID-Prefix matching. 1468 o A LISP Map-Reply from the ETR that owns the EID-to-RLOC mapping or 1469 possibly from a Map-Server answering on behalf of the ETR. See 1470 Section 8.4 for more details on Map-Resolver message processing. 1472 Note that an ITR may be configured to both use a Map-Resolver and to 1473 participate in a LISP-ALT logical network. In such a situation, the 1474 ITR SHOULD send Map-Requests through the ALT network for any EID- 1475 Prefix learned via ALT BGP. Such a configuration is expected to be 1476 very rare, since there is little benefit to using a Map-Resolver if 1477 an ITR is already using LISP-ALT. There would be, for example, no 1478 need for such an ITR to send a Map-Request to a possibly non-existent 1479 EID (and rely on Negative Map-Replies) if it can consult the ALT 1480 database to verify that an EID-Prefix is present before sending that 1481 Map-Request. 1483 8.2. EID-Prefix Configuration and ETR Registration 1485 An ETR publishes its EID-Prefixes on a Map-Server by sending LISP 1486 Map-Register messages. A Map-Register message includes 1487 authentication data, so prior to sending a Map-Register message, the 1488 ETR and Map-Server SHOULD be configured with a shared secret or other 1489 relevant authentication information. A Map-Server's configuration 1490 SHOULD also include a list of the EID-Prefixes for which each ETR is 1491 authoritative. Upon receipt of a Map-Register from an ETR, a Map- 1492 Server accepts only EID-Prefixes that are configured for that ETR. 1493 Failure to implement such a check would leave the mapping system 1494 vulnerable to trivial EID-Prefix hijacking attacks. As developers 1495 and operators gain experience with the mapping system, additional, 1496 stronger security measures may be added to the registration process. 1498 In addition to the set of EID-Prefixes defined for each ETR that may 1499 register, a Map-Server is typically also configured with one or more 1500 aggregate prefixes that define the part of the EID numbering space 1501 assigned to it. When LISP-ALT is the database in use, aggregate EID- 1502 Prefixes are implemented as discard routes and advertised into ALT 1503 BGP. The existence of aggregate EID-Prefixes in a Map-Server's 1504 database means that it may receive Map Requests for EID-Prefixes that 1505 match an aggregate but do not match a registered prefix; Section 8.3 1506 describes how this is handled. 1508 Map-Register messages are sent periodically from an ETR to a Map- 1509 Server with a suggested interval between messages of one minute. A 1510 Map-Server SHOULD time out and remove an ETR's registration if it has 1511 not received a valid Map-Register message within the past 1512 three minutes. When first contacting a Map-Server after restart or 1513 changes to its EID-to-RLOC database mappings, an ETR MAY initially 1514 send Map-Register messages at an increased frequency, up to one every 1515 20 seconds. This "quick registration" period is limited to 1516 five minutes in duration. 1518 An ETR MAY request that a Map-Server explicitly acknowledge receipt 1519 and processing of a Map-Register message by setting the "want-map- 1520 notify" (M-bit) flag. A Map-Server that receives a Map-Register with 1521 this flag set will respond with a Map-Notify message. Typical use of 1522 this flag by an ETR would be to set it for Map-Register messages sent 1523 during the initial "quick registration" with a Map-Server but then 1524 set it only occasionally during steady-state maintenance of its 1525 association with that Map-Server. Note that the Map-Notify message 1526 is sent to UDP destination port 4342, not to the source port 1527 specified in the original Map-Register message. 1529 Note that a one-minute minimum registration interval during 1530 maintenance of an ETR-Map-Server association places a lower bound on 1531 how quickly and how frequently a mapping database entry can be 1532 updated. This may have implications for what sorts of mobility can 1533 be supported directly by the mapping system; shorter registration 1534 intervals or other mechanisms might be needed to support faster 1535 mobility in some cases. For a discussion on one way that faster 1536 mobility may be implemented for individual devices, please see 1537 [I-D.ietf-lisp-mn]. 1539 An ETR MAY also request, by setting the "proxy Map-Reply" flag 1540 (P-bit) in the Map-Register message, that a Map-Server answer Map- 1541 Requests instead of forwarding them to the ETR. See Section 7.1 for 1542 details on how the Map-Server sets certain flags (such as those 1543 indicating whether the message is authoritative and how returned 1544 Locators SHOULD be treated) when sending a Map-Reply on behalf of an 1545 ETR. When an ETR requests proxy reply service, it SHOULD include all 1546 RLOCs for all ETRs for the EID-Prefix being registered, along with 1547 the routable flag ("R-bit") setting for each RLOC. The Map-Server 1548 includes all of this information in Map-Reply messages that it sends 1549 on behalf of the ETR. This differs from a non-proxy registration, 1550 since the latter need only provide one or more RLOCs for a Map-Server 1551 to use for forwarding Map-Requests; the registration information is 1552 not used in Map-Replies, so it being incomplete is not incorrect. 1554 An ETR that uses a Map-Server to publish its EID-to-RLOC mappings 1555 does not need to participate further in the mapping database 1556 protocol(s). When using a LISP-ALT mapping database, for example, 1557 this means that the ETR does not need to implement GRE or BGP, which 1558 greatly simplifies its configuration and reduces its cost of 1559 operation. 1561 Note that use of a Map-Server does not preclude an ETR from also 1562 connecting to the mapping database (i.e., it could also connect to 1563 the LISP-ALT network), but doing so doesn't seem particularly useful, 1564 as the whole purpose of using a Map-Server is to avoid the complexity 1565 of the mapping database protocols. 1567 8.3. Map-Server Processing 1569 Once a Map-Server has EID-Prefixes registered by its client ETRs, it 1570 can accept and process Map-Requests for them. 1572 In response to a Map-Request (received over the ALT if LISP-ALT is in 1573 use), the Map-Server first checks to see if the destination EID 1574 matches a configured EID-Prefix. If there is no match, the Map- 1575 Server returns a Negative Map-Reply with action code "Natively- 1576 Forward" and a 15-minute TTL. This can occur if a Map Request is 1577 received for a configured aggregate EID-Prefix for which no more- 1578 specific EID-Prefix exists; it indicates the presence of a non-LISP 1579 "hole" in the aggregate EID-Prefix. 1581 Next, the Map-Server checks to see if any ETRs have registered the 1582 matching EID-Prefix. If none are found, then the Map-Server returns 1583 a Negative Map-Reply with action code "Natively-Forward" and a 1584 1-minute TTL. 1586 If the EID-prefix is either registered or not registered to the 1587 mapping system and there is a policy in the Map-Server to have the 1588 requestor drop packets for the matching EID-prefix, then a Drop/ 1589 Policy-Denied action is returned. If the EID-prefix is registered or 1590 not registered and there is a authentication failure, then a Drop/ 1591 Authentication- failure action is returned. If either of these 1592 actions result as a temporary state in policy or authentication then 1593 a Send-Map-Request action with 1-minute TTL MAY be returned to allow 1594 the requestor to retry the Map-Request. 1596 If any of the registered ETRs for the EID-Prefix have requested proxy 1597 reply service, then the Map-Server answers the request instead of 1598 forwarding it. It returns a Map-Reply with the EID-Prefix, RLOCs, 1599 and other information learned through the registration process. 1601 If none of the ETRs have requested proxy reply service, then the Map- 1602 Server re-encapsulates and forwards the resulting Encapsulated Map- 1603 Request to one of the registered ETRs. It does not otherwise alter 1604 the Map-Request, so any Map-Reply sent by the ETR is returned to the 1605 RLOC in the Map-Request, not to the Map-Server. Unless also acting 1606 as a Map-Resolver, a Map-Server should never receive Map-Replies; any 1607 such messages SHOULD be discarded without response, perhaps 1608 accompanied by the logging of a diagnostic message if the rate of 1609 Map-Replies is suggestive of malicious traffic. 1611 8.4. Map-Resolver Processing 1613 Upon receipt of an Encapsulated Map-Request, a Map-Resolver 1614 decapsulates the enclosed message and then searches for the requested 1615 EID in its local database of mapping entries (statically configured 1616 or learned from associated ETRs if the Map-Resolver is also a Map- 1617 Server offering proxy reply service). If it finds a matching entry, 1618 it returns a LISP Map-Reply with the known mapping. 1620 If the Map-Resolver does not have the mapping entry and if it can 1621 determine that the EID is not in the mapping database (for example, 1622 if LISP-ALT is used, the Map-Resolver will have an ALT forwarding 1623 table that covers the full EID space), it immediately returns a 1624 negative LISP Map-Reply, with action code "Natively-Forward" and a 1625 15-minute TTL. To minimize the number of negative cache entries 1626 needed by an ITR, the Map-Resolver SHOULD return the least-specific 1627 prefix that both matches the original query and does not match any 1628 EID-Prefix known to exist in the LISP-capable infrastructure. 1630 If the Map-Resolver does not have sufficient information to know 1631 whether the EID exists, it needs to forward the Map-Request to 1632 another device that has more information about the EID being 1633 requested. To do this, it forwards the unencapsulated Map-Request, 1634 with the original ITR RLOC as the source, to the mapping database 1635 system. Using LISP-ALT, the Map-Resolver is connected to the ALT 1636 network and sends the Map-Request to the next ALT hop learned from 1637 its ALT BGP neighbors. The Map-Resolver does not send any response 1638 to the ITR; since the source RLOC is that of the ITR, the ETR or Map- 1639 Server that receives the Map-Request over the ALT and responds will 1640 do so directly to the ITR. 1642 8.4.1. Anycast Operation 1644 A Map-Resolver can be set up to use "anycast", where the same address 1645 is assigned to multiple Map-Resolvers and is propagated through IGP 1646 routing, to facilitate the use of a topologically close Map-Resolver 1647 by each ITR. 1649 ETRs MAY have anycast RLOC addresses which are registered as part of 1650 their RLOC-set to the mapping system. However, registrations MUST 1651 use their unique RLOC addresses or distinct authentication keys to 1652 identify security associations with the Map-Servers. 1654 9. Security Considerations 1656 A complete LISP threat analysis can be found in [RFC7835]. In what 1657 follows we highlight security considerations that apply when LISP is 1658 deployed in environments such as those specified in Section 1.1, 1659 where the following assumptions hold: 1661 1. The Mapping System is secure and trusted, and for the purpose of 1662 this security considerations the Mapping System is considered as 1663 one trusted element. 1665 2. The ETRs have a pre-configured trust relationship with the 1666 Mapping System, which includes some form of shared keys, and the 1667 Mapping System is aware of which EIDs an ETR can advertise. How 1668 those keys and mappings gets established is out of the scope of 1669 this document. 1671 3. LISP-SEC [I-D.ietf-lisp-sec] MUST be implemented. Network 1672 operartors should carefully weight how the LISP-SEC threat model 1673 applies to their particular use case or deployment. If they 1674 decide to ignore a particular recommendation, they should make 1675 sure the risk associated with the corresponding threats is well 1676 understood. 1678 The Map-Request/Map-Reply message exchange can be exploited by an 1679 attacker to mount DoS and/or amplification attacks. Attackers can 1680 send Map-Requests at high rates to overload LISP nodes and increase 1681 the state maintained by such nodes or consume CPU cycles. Such 1682 threats can be mitigated by systematically applying filters and rate 1683 limiters. 1685 The 2-way LISP control-plane header nonce exchange can be used to 1686 avoid ITR spoofing attacks, but active on-path attackers (e.g 'man- 1687 in-the-middle') capable of intercepting the nonce can exploit the 1688 Map-Request/Map-Reply message exchange to inject forged mappings 1689 directly in the ITR EID-to-RLOC map-cache. In addition, valid ETRs 1690 in the system can perform overclaiming attacks. In this case, 1691 attackers can claim to own an EID-prefix that is larger than the 1692 prefix owned by the ETR. Such attacks can be addressed by using 1693 LISP-SEC [I-D.ietf-lisp-sec]. The LISP-SEC protocol defines a 1694 mechanism for providing origin authentication, integrity, anti- 1695 replay, protection, and prevention of 'man-in-the-middle' and 'prefix 1696 overclaiming' attacks on the Map-Request/Map-Reply exchange. In 1697 addition and while beyond the scope of securing an individual Map- 1698 Server or Map-Resolver, it should be noted that LISP-SEC can be 1699 complemented by additional security mechanisms defined by the Mapping 1700 System Infrastructure. For instance, BGP-based LISP-ALT [RFC6836] 1701 can take advantage of standards work on adding security to BGP while 1702 LISP-DDT [RFC8111] defines its own additional security mechanisms. 1704 To publish an authoritative EID-to-RLOC mapping with a Map-Server 1705 using the Map-Register message, an ETR includes authentication data 1706 that is a MAC of the entire message using a pair-wise shared key. An 1707 implementation MUST support use of HMAC-SHA-1-96 [RFC2104] and SHOULD 1708 support use of HMAC-SHA-256-128 [RFC6234] (SHA-256 truncated to 128 1709 bits). The Map-Register message is vulnerable to replay attacks by a 1710 man-in-the-middle. A compromised ETR can overclaim the prefix it 1711 owns and successfully register it on its corresponding Map-Server. 1712 To mitigate this and as noted in Section 8.2, a Map-Server SHOULD 1713 verify that all EID-Prefixes registered by an ETR match the 1714 configuration stored on the Map-Server. 1716 A complete LISP threat analysis has been published in [RFC7835]. 1717 Please refer to it for more detailed security related details. 1719 10. Privacy Considerations 1721 As noted by [RFC6973] privacy is a complex issue that greatly depends 1722 on the specific protocol use-case and deployment. As noted in 1723 section 1.1 of [I-D.ietf-lisp-rfc6830bis] LISP focuses on use-cases 1724 where entities communicate over the public Internet while keeping 1725 separate addressing and topology. In what follows we detail the 1726 privacy threats introduced by the LISP Control Plane, the analysis is 1727 based on the guidelines detailed in [RFC6973]. 1729 LISP can use long-lived identifiers (EIDs) that survive mobility 1730 events. Such identifiers bind to the RLOCs of the nodes, which 1731 represents the topological location with respect to the specific LISP 1732 deployments. In addition, EID-to-RLOC mappings are typically 1733 considered public information within the LISP deployment when 1734 control-plane messages are not encrypted, and can be eavesdropped 1735 while Map-Request messages are sent to the corresponding Map- 1736 Resolvers or Map-Register messages to Map-Servers. 1738 In this context, attackers can correlate the EID with the RLOC and 1739 track the corresponding user topological location and/or mobility. 1740 This can be achieved by off-path attackers, if they are 1741 authenticated, by querying the mapping system. Deployments concerned 1742 about this threat can use access control-lists or stronger 1743 authentication mechanisms [I-D.ietf-lisp-ecdsa-auth] in the mapping 1744 system to make sure that only authorized users can access this 1745 information (data minimization). Use of ephemeral EIDs 1746 [I-D.ietf-lisp-eid-anonymity] to achieve anonymity is another 1747 mechanism to lessen persistency and identity tracking. 1749 11. Changes since RFC 6833 1751 For implementation considerations, the following changes have been 1752 made to this document since RFC 6833 was published: 1754 o A Map-Notify-Ack message is added in this document to provide 1755 reliability for Map-Notify messages. Any receiver of a Map-Notify 1756 message must respond with a Map-Notify-Ack message. Map-Servers 1757 who are senders of Map-Notify messages, must queue the Map-Notify 1758 contents until they receive a Map-Notify-Ack with the nonce used 1759 in the Map-Notify message. Note that implementations for Map- 1760 Notify-Ack support already exist and predate this document. 1762 o This document is incorporating the codepoint for the Map-Referral 1763 message from the LISP-DDT specification [RFC8111] to indicate that 1764 a Map-Server must send the final Map-Referral message when it 1765 participates in the LISP-DDT mapping system procedures. 1767 o The "m", "I", "L", and "D" bits are added to the Map-Request 1768 message. See Section 5.3 for details. 1770 o The "S", "I", "E", "T", "a", and "m" bits are added to the Map- 1771 Register message. See Section 5.6 for details. 1773 o The 16-bit Key-ID field of the Map-Register message has been split 1774 into a 8-bit Key-ID field and a 8-bit Algorithm-ID field. 1776 o This document adds two new Action values that are in an EID-record 1777 that appear in Map-Reply, Map-Register, Map-Notify, and Map- 1778 Notify-Ack messages. The Drop/Policy-Denied and Drop/Auth-Failure 1779 are the descriptions for the two new action values. See 1780 Section 5.4 for details. 1782 12. IANA Considerations 1784 This section provides guidance to the Internet Assigned Numbers 1785 Authority (IANA) regarding registration of values related to this 1786 LISP Control-Plane specification, in accordance with BCP 26 1787 [RFC8126]. 1789 There are three namespaces (listed in the sub-sections below) in LISP 1790 that have been registered. 1792 o LISP IANA registry allocations should not be made for purposes 1793 unrelated to LISP routing or transport protocols. 1795 o The following policies are used here with the meanings defined in 1796 BCP 26: "Specification Required", "IETF Review", "Experimental 1797 Use", and "First Come First Served". 1799 12.1. LISP UDP Port Numbers 1801 The IANA registry has allocated UDP port number 4342 for the LISP 1802 Control-Plane. IANA has updated the description for UDP port 4342 as 1803 follows: 1805 Keyword Port Transport Layer Description 1806 ------- ---- --------------- ----------- 1807 lisp-control 4342 udp LISP Control Packets 1809 12.2. LISP Packet Type Codes 1811 It is being requested that the IANA be authoritative for LISP Packet 1812 Type definitions and it is requested to replace the [RFC6830] 1813 registry message references with the RFC number assigned to this 1814 document. 1816 Based on deployment experience of [RFC6830], the Map-Notify-Ack 1817 message, message type 5, was added by this document. This document 1818 requests IANA to add it to the LISP Packet Type Registry. 1820 Name Number Defined in 1821 ---- ------ ----------- 1822 LISP Map-Notify-Ack 5 RFC6833bis 1824 12.3. LISP ACT and Flag Fields 1826 New ACT values can be allocated through IETF review or IESG approval. 1827 Four values have already been allocated by [RFC6830], IANA is 1828 requested to replace the [RFC6830] reference for this registry with 1829 the RFC number assigned to this document and the [RFC6830]. Action 1830 values references with the RFC number assigned to this document. 1831 This specification changes the name of ACT type 3 value from "Drop" 1832 to "Drop/No-Reason" as well as adding two new ACT values, the "Drop/ 1833 Policy-Denied" (type 4) and "Drop/Authentication-Failure" (type 5). 1835 Value Action Description Reference 1836 ----- ------ ----------- --------- 1837 4 Drop/ A Packet matching this Map-Cache RFC6833bis 1838 Policy-Denied entry is dropped because the target 1839 EID is policy-denied by the xTR or 1840 the mapping system. 1842 5 Drop/ A Packet matching this Map-Cache RFC6833bis 1843 Auth-Failure entry is dropped because the 1844 Map-Request for target EID fails an 1845 authentication check by the xTR or 1846 the mapping system. 1848 In addition, LISP has a number of flag fields and reserved fields, 1849 such as the LISP header flags field [I-D.ietf-lisp-rfc6830bis]. New 1850 bits for flags in these fields can be implemented after IETF review 1851 or IESG approval, but these need not be managed by IANA. 1853 12.4. LISP Address Type Codes 1855 LISP Canonical Address Format (LCAF) [RFC8060] is an 8-bit field that 1856 defines LISP-specific encodings for AFI value 16387. LCAF encodings 1857 are used for specific use-cases where different address types for 1858 EID-records and RLOC-records are required. 1860 The IANA registry "LISP Canonical Address Format (LCAF) Types" is 1861 used for LCAF types. The registry for LCAF types use the 1862 Specification Required policy [RFC8126]. Initial values for the 1863 registry as well as further information can be found in [RFC8060]. 1865 Therefore, there is no longer a need for the "LISP Address Type 1866 Codes" registry requested by [RFC6830]. This document requests to 1867 remove it. 1869 12.5. LISP Algorithm ID Numbers 1871 In [RFC6830], a request for a "LISP Key ID Numbers" registry was 1872 submitted. This document renames the registry to "LISP Algorithm ID 1873 Numbers" and requests the IANA to make the name change. 1875 The following Algorithm ID values are defined by this specification 1876 as used in any packet type that references a 'Algorithm ID' field: 1878 Name Number Defined in 1879 ----------------------------------------------- 1880 None 0 RFC6833bis 1881 HMAC-SHA-1-96 1 [RFC2404] 1882 HMAC-SHA-256-128 2 [RFC4868] 1884 Number values are in the range of 0 to 255. The allocation of values 1885 is on a first come first served basis. 1887 12.6. LISP Bit Flags 1889 This document asks IANA to create a registry for allocation of bits 1890 in several headers of the LISP control plane, namely in the Map- 1891 Request, Map-Reply, Map-Register, Encapsulated Control Message (ECM) 1892 messages. Bit allocations are also requested for EID-records and 1893 RLOC-records. The registry created should be named "LISP Control 1894 Plane Header Bits". A sub-registry needs to be created per each 1895 message and record. The name of each sub-registry is indicated 1896 below, along with its format and allocation of bits defined in this 1897 document. Any additional bits allocation, requires a specification, 1898 according with [RFC5226] policies. 1900 Sub-Registry: Map-Request Header Bits [Section 5.2]: 1902 0 1 2 3 1903 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 1904 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1905 |Type=1 |A|M|P|S|p|s|R|R| Rsvd |L|D| IRC | Record Count | 1906 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1908 +----------+---------------+------------+---------------------------+ 1909 | Spec | IANA Name | Bit | Description | 1910 | Name | | Position | | 1911 +----------+---------------+------------+---------------------------+ 1912 | A | map-request-A | 4 | Authoritative Bit | 1913 | M | map-request-M | 5 | Map Data Present Bit | 1914 | P | map-request-P | 6 | RLOC-Probe Request Bit | 1915 | S | map-request-S | 7 | Solicit Map-Request (SMR) | 1916 | | | | Bit | 1917 | p | map-request-p | 8 | Proxy-ITR Bit | 1918 | s | map-request-s | 9 | Solicit Map-Request | 1919 | | | | Invoked Bit | 1920 | L | map-request-L | 17 | Local xTR Bit | 1921 | D | map-request-D | 18 | Don't Map-Reply Bit | 1922 +----------+---------------+------------+---------------------------+ 1924 LISP Map-Request Header Bits 1926 Sub-Registry: Map-Reply Header Bits [Section 5.4]: 1928 0 1 2 3 1929 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 1930 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1931 |Type=2 |P|E|S| Reserved | Record Count | 1932 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1934 +-----------+-------------+--------------+------------------------+ 1935 | Spec Name | IANA Name | Bit Position | Description | 1936 +-----------+-------------+--------------+------------------------+ 1937 | P | map-reply-P | 4 | RLOC-Probe Bit | 1938 | E | map-reply-E | 5 | Echo Nonce Capable Bit | 1939 | S | map-reply-S | 6 | Security Bit | 1940 +-----------+-------------+--------------+------------------------+ 1942 LISP Map-Reply Header Bits 1944 Sub-Registry: Map-Register Header Bits [Section 5.6]: 1946 0 1 2 3 1947 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 1948 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1949 |Type=3 |P|S|I| Reserved |E|T|a|R|M| Record Count | 1950 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1952 +-----------+----------------+--------------+----------------------+ 1953 | Spec Name | IANA Name | Bit Position | Description | 1954 +-----------+----------------+--------------+----------------------+ 1955 | P | map-register-P | 4 | Proxy Map-Reply Bit | 1956 | S | map-register-S | 5 | LISP-SEC Capable Bit | 1957 | I | map-register-I | 6 | xTR-ID present flag | 1958 +-----------+----------------+--------------+----------------------+ 1960 LISP Map-Register Header Bits 1962 Sub-Registry: Encapsulated Control Message (ECM) Header Bits 1963 [Section 5.8]: 1965 0 1 2 3 1966 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 1967 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1968 |Type=8 |S|D|E|M| Reserved | 1969 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1970 +-----------+-----------+--------------+----------------------------+ 1971 | Spec Name | IANA Name | Bit Position | Description | 1972 +-----------+-----------+--------------+----------------------------+ 1973 | S | ecm-S | 4 | Security Bit | 1974 | D | ecm-D | 5 | LISP-DDT Bit | 1975 | E | ecm-E | 6 | Forward to ETR Bit | 1976 | M | ecm-M | 7 | Destined to Map-Server Bit | 1977 +-----------+-----------+--------------+----------------------------+ 1979 LISP Encapsulated Control Message (ECM) Header Bits 1981 Sub-Registry: EID-Record Header Bits [Section 5.4]: 1983 0 1 2 3 1984 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 1985 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1986 | Locator Count | EID mask-len | ACT |A| Reserved | 1987 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1989 +-----------+--------------+--------------+-------------------+ 1990 | Spec Name | IANA Name | Bit Position | Description | 1991 +-----------+--------------+--------------+-------------------+ 1992 | A | eid-record-A | 19 | Authoritative Bit | 1993 +-----------+--------------+--------------+-------------------+ 1995 LISP EID-Record Header Bits 1997 Sub-Registry: RLOC-Record Header Bits [Section 5.4]: 1999 0 1 2 3 2000 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 2001 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2002 | Unused Flags |L|p|R| Loc-AFI | 2003 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2005 +-----------+---------------+--------------+----------------------+ 2006 | Spec Name | IANA Name | Bit Position | Description | 2007 +-----------+---------------+--------------+----------------------+ 2008 | L | rloc-record-L | 13 | Local RLOC Bit | 2009 | p | rloc-record-p | 19 | RLOC-Probe Reply Bit | 2010 | R | rloc-record-R | 19 | RLOC Reachable Bit | 2011 +-----------+---------------+--------------+----------------------+ 2013 LISP RLOC-Record Header Bits 2015 13. References 2017 13.1. Normative References 2019 [I-D.ietf-lisp-6834bis] 2020 Iannone, L., Saucez, D., and O. Bonaventure, "Locator/ID 2021 Separation Protocol (LISP) Map-Versioning", draft-ietf- 2022 lisp-6834bis-02 (work in progress), September 2018. 2024 [I-D.ietf-lisp-rfc6830bis] 2025 Farinacci, D., Fuller, V., Meyer, D., Lewis, D., and A. 2026 Cabellos-Aparicio, "The Locator/ID Separation Protocol 2027 (LISP)", draft-ietf-lisp-rfc6830bis-26 (work in progress), 2028 November 2018. 2030 [RFC2404] Madson, C. and R. Glenn, "The Use of HMAC-SHA-1-96 within 2031 ESP and AH", RFC 2404, DOI 10.17487/RFC2404, November 2032 1998, . 2034 [RFC4086] Eastlake 3rd, D., Schiller, J., and S. Crocker, 2035 "Randomness Requirements for Security", BCP 106, RFC 4086, 2036 DOI 10.17487/RFC4086, June 2005, 2037 . 2039 [RFC4868] Kelly, S. and S. Frankel, "Using HMAC-SHA-256, HMAC-SHA- 2040 384, and HMAC-SHA-512 with IPsec", RFC 4868, 2041 DOI 10.17487/RFC4868, May 2007, 2042 . 2044 [RFC4984] Meyer, D., Ed., Zhang, L., Ed., and K. Fall, Ed., "Report 2045 from the IAB Workshop on Routing and Addressing", 2046 RFC 4984, DOI 10.17487/RFC4984, September 2007, 2047 . 2049 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an 2050 IANA Considerations Section in RFCs", RFC 5226, 2051 DOI 10.17487/RFC5226, May 2008, 2052 . 2054 [RFC6071] Frankel, S. and S. Krishnan, "IP Security (IPsec) and 2055 Internet Key Exchange (IKE) Document Roadmap", RFC 6071, 2056 DOI 10.17487/RFC6071, February 2011, 2057 . 2059 [RFC8085] Eggert, L., Fairhurst, G., and G. Shepherd, "UDP Usage 2060 Guidelines", BCP 145, RFC 8085, DOI 10.17487/RFC8085, 2061 March 2017, . 2063 13.2. Informative References 2065 [AFI] IANA, "Address Family Identifier (AFIs)", ADDRESS FAMILY 2066 NUMBERS http://www.iana.org/assignments/address-family- 2067 numbers/address-family-numbers.xhtml?, Febuary 2007. 2069 [GTP-3GPP] 2070 3GPP, "General Packet Radio System (GPRS) Tunnelling 2071 Protocol User Plane (GTPv1-U)", TS.29.281 2072 https://portal.3gpp.org/desktopmodules/Specifications/ 2073 SpecificationDetails.aspx?specificationId=1699, January 2074 2015. 2076 [I-D.herbert-intarea-ila] 2077 Herbert, T. and P. Lapukhov, "Identifier-locator 2078 addressing for IPv6", draft-herbert-intarea-ila-01 (work 2079 in progress), March 2018. 2081 [I-D.ietf-lisp-ecdsa-auth] 2082 Farinacci, D. and E. Nordmark, "LISP Control-Plane ECDSA 2083 Authentication and Authorization", draft-ietf-lisp-ecdsa- 2084 auth-00 (work in progress), September 2018. 2086 [I-D.ietf-lisp-eid-anonymity] 2087 Farinacci, D., Pillay-Esnault, P., and W. Haddad, "LISP 2088 EID Anonymity", draft-ietf-lisp-eid-anonymity-04 (work in 2089 progress), October 2018. 2091 [I-D.ietf-lisp-eid-mobility] 2092 Portoles-Comeras, M., Ashtaputre, V., Moreno, V., Maino, 2093 F., and D. Farinacci, "LISP L2/L3 EID Mobility Using a 2094 Unified Control Plane", draft-ietf-lisp-eid-mobility-03 2095 (work in progress), November 2018. 2097 [I-D.ietf-lisp-gpe] 2098 Maino, F., Lemon, J., Agarwal, P., Lewis, D., and M. 2099 Smith, "LISP Generic Protocol Extension", draft-ietf-lisp- 2100 gpe-06 (work in progress), September 2018. 2102 [I-D.ietf-lisp-introduction] 2103 Cabellos-Aparicio, A. and D. Saucez, "An Architectural 2104 Introduction to the Locator/ID Separation Protocol 2105 (LISP)", draft-ietf-lisp-introduction-13 (work in 2106 progress), April 2015. 2108 [I-D.ietf-lisp-mn] 2109 Farinacci, D., Lewis, D., Meyer, D., and C. White, "LISP 2110 Mobile Node", draft-ietf-lisp-mn-04 (work in progress), 2111 October 2018. 2113 [I-D.ietf-lisp-pubsub] 2114 Rodriguez-Natal, A., Ermagan, V., Leong, J., Maino, F., 2115 Cabellos-Aparicio, A., Barkai, S., Farinacci, D., 2116 Boucadair, M., Jacquenet, C., and S. Secci, "Publish/ 2117 Subscribe Functionality for LISP", draft-ietf-lisp- 2118 pubsub-02 (work in progress), November 2018. 2120 [I-D.ietf-lisp-sec] 2121 Maino, F., Ermagan, V., Cabellos-Aparicio, A., and D. 2122 Saucez, "LISP-Security (LISP-SEC)", draft-ietf-lisp-sec-16 2123 (work in progress), October 2018. 2125 [I-D.ietf-nvo3-vxlan-gpe] 2126 Maino, F., Kreeger, L., and U. Elzur, "Generic Protocol 2127 Extension for VXLAN", draft-ietf-nvo3-vxlan-gpe-06 (work 2128 in progress), April 2018. 2130 [I-D.ietf-opsec-icmp-filtering] 2131 Gont, F., Gont, G., and C. Pignataro, "Recommendations for 2132 filtering ICMP messages", draft-ietf-opsec-icmp- 2133 filtering-04 (work in progress), July 2013. 2135 [I-D.meyer-loc-id-implications] 2136 Meyer, D. and D. Lewis, "Architectural Implications of 2137 Locator/ID Separation", draft-meyer-loc-id-implications-01 2138 (work in progress), January 2009. 2140 [RFC1035] Mockapetris, P., "Domain names - implementation and 2141 specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, 2142 November 1987, . 2144 [RFC1071] Braden, R., Borman, D., and C. Partridge, "Computing the 2145 Internet checksum", RFC 1071, DOI 10.17487/RFC1071, 2146 September 1988, . 2148 [RFC2104] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed- 2149 Hashing for Message Authentication", RFC 2104, 2150 DOI 10.17487/RFC2104, February 1997, 2151 . 2153 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 2154 Requirement Levels", BCP 14, RFC 2119, 2155 DOI 10.17487/RFC2119, March 1997, 2156 . 2158 [RFC2890] Dommety, G., "Key and Sequence Number Extensions to GRE", 2159 RFC 2890, DOI 10.17487/RFC2890, September 2000, 2160 . 2162 [RFC6234] Eastlake 3rd, D. and T. Hansen, "US Secure Hash Algorithms 2163 (SHA and SHA-based HMAC and HKDF)", RFC 6234, 2164 DOI 10.17487/RFC6234, May 2011, 2165 . 2167 [RFC6830] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The 2168 Locator/ID Separation Protocol (LISP)", RFC 6830, 2169 DOI 10.17487/RFC6830, January 2013, 2170 . 2172 [RFC6831] Farinacci, D., Meyer, D., Zwiebel, J., and S. Venaas, "The 2173 Locator/ID Separation Protocol (LISP) for Multicast 2174 Environments", RFC 6831, DOI 10.17487/RFC6831, January 2175 2013, . 2177 [RFC6832] Lewis, D., Meyer, D., Farinacci, D., and V. Fuller, 2178 "Interworking between Locator/ID Separation Protocol 2179 (LISP) and Non-LISP Sites", RFC 6832, 2180 DOI 10.17487/RFC6832, January 2013, 2181 . 2183 [RFC6836] Fuller, V., Farinacci, D., Meyer, D., and D. Lewis, 2184 "Locator/ID Separation Protocol Alternative Logical 2185 Topology (LISP+ALT)", RFC 6836, DOI 10.17487/RFC6836, 2186 January 2013, . 2188 [RFC6837] Lear, E., "NERD: A Not-so-novel Endpoint ID (EID) to 2189 Routing Locator (RLOC) Database", RFC 6837, 2190 DOI 10.17487/RFC6837, January 2013, 2191 . 2193 [RFC6973] Cooper, A., Tschofenig, H., Aboba, B., Peterson, J., 2194 Morris, J., Hansen, M., and R. Smith, "Privacy 2195 Considerations for Internet Protocols", RFC 6973, 2196 DOI 10.17487/RFC6973, July 2013, 2197 . 2199 [RFC7348] Mahalingam, M., Dutt, D., Duda, K., Agarwal, P., Kreeger, 2200 L., Sridhar, T., Bursell, M., and C. Wright, "Virtual 2201 eXtensible Local Area Network (VXLAN): A Framework for 2202 Overlaying Virtualized Layer 2 Networks over Layer 3 2203 Networks", RFC 7348, DOI 10.17487/RFC7348, August 2014, 2204 . 2206 [RFC7835] Saucez, D., Iannone, L., and O. Bonaventure, "Locator/ID 2207 Separation Protocol (LISP) Threat Analysis", RFC 7835, 2208 DOI 10.17487/RFC7835, April 2016, 2209 . 2211 [RFC8060] Farinacci, D., Meyer, D., and J. Snijders, "LISP Canonical 2212 Address Format (LCAF)", RFC 8060, DOI 10.17487/RFC8060, 2213 February 2017, . 2215 [RFC8111] Fuller, V., Lewis, D., Ermagan, V., Jain, A., and A. 2216 Smirnov, "Locator/ID Separation Protocol Delegated 2217 Database Tree (LISP-DDT)", RFC 8111, DOI 10.17487/RFC8111, 2218 May 2017, . 2220 [RFC8113] Boucadair, M. and C. Jacquenet, "Locator/ID Separation 2221 Protocol (LISP): Shared Extension Message & IANA Registry 2222 for Packet Type Allocations", RFC 8113, 2223 DOI 10.17487/RFC8113, March 2017, 2224 . 2226 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for 2227 Writing an IANA Considerations Section in RFCs", BCP 26, 2228 RFC 8126, DOI 10.17487/RFC8126, June 2017, 2229 . 2231 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2232 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2233 May 2017, . 2235 [RFC8378] Moreno, V. and D. Farinacci, "Signal-Free Locator/ID 2236 Separation Protocol (LISP) Multicast", RFC 8378, 2237 DOI 10.17487/RFC8378, May 2018, 2238 . 2240 [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., 2241 Decraene, B., Litkowski, S., and R. Shakir, "Segment 2242 Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, 2243 July 2018, . 2245 Appendix A. Acknowledgments 2247 The original authors would like to thank Greg Schudel, Darrel Lewis, 2248 John Zwiebel, Andrew Partan, Dave Meyer, Isidor Kouvelas, Jesper 2249 Skriver, Fabio Maino, and members of the lisp@ietf.org mailing list 2250 for their feedback and helpful suggestions. 2252 Special thanks are due to Noel Chiappa for his extensive work and 2253 thought about caching in Map-Resolvers. 2255 The current authors would like to give a sincere thank you to the 2256 people who help put LISP on standards track in the IETF. They 2257 include Joel Halpern, Luigi Iannone, Deborah Brungard, Fabio Maino, 2258 Scott Bradner, Kyle Rose, Takeshi Takahashi, Sarah Banks, Pete 2259 Resnick, Colin Perkins, Mirja Kuhlewind, Francis Dupont, Benjamin 2260 Kaduk, Eric Rescorla, Alvaro Retana, Alexey Melnikov, Alissa Cooper, 2261 Suresh Krishnan, Alberto Rodriguez-Natal, Vina Ermagen, Mohamed 2262 Boucadair, Brian Trammell, Sabrina Tanamal, and John Drake. The 2263 contributions they offered greatly added to the security, scale, and 2264 robustness of the LISP architecture and protocols. 2266 Appendix B. Document Change Log 2268 [RFC Editor: Please delete this section on publication as RFC.] 2270 B.1. Changes to draft-ietf-lisp-rfc6833bis-22 2272 o Posted week after IETF November 2018. 2274 o No longer need to use IPSEC for replay attacks. 2276 B.2. Changes to draft-ietf-lisp-rfc6833bis-21 2278 o Posted early November 2018. 2280 o Added I-bit back in because its necessary to use for Map-Register 2281 replay attack scenarios. The Map-Server tracks the nonce per xTR- 2282 ID to detect duplicate or replayed Map-Register messages. 2284 B.3. Changes to draft-ietf-lisp-rfc6833bis-20 2286 o Posted late October 2018. 2288 o Changed description about "reserved" bits to state "reserved and 2289 unassigned". 2291 o Make it more clear how Map-Register nonce processing is performed 2292 in an ETR and Map-Server. 2294 B.4. Changes to draft-ietf-lisp-rfc6833bis-19 2296 o Posted mid October 2018. 2298 o Added Fabio text to the Security Considerations section. 2300 B.5. Changes to draft-ietf-lisp-rfc6833bis-18 2302 o Posted mid October 2018. 2304 o Fixed comments from Eric after more email clarity. 2306 B.6. Changes to draft-ietf-lisp-rfc6833bis-17 2308 o Posted early October 2018. 2310 o Changes to reflect comments from Sep 27th Telechat. 2312 o Added all flag bit definitions as request for allocation in IANA 2313 Considersations section. 2315 o Added an applicability statement in section 1 to address security 2316 concerns from Telechat. 2318 o Moved m-bit description and IANA request to draft-ietf-lisp-mn. 2320 o Moved I-bit description and IANA request to draft-ietf-lisp- 2321 pubsub. 2323 B.7. Changes to draft-ietf-lisp-rfc6833bis-16 2325 o Posted Late-September 2018. 2327 o Re-wrote Security Considerations section. Thanks Albert. 2329 o Added Alvaro text to be more clear about IANA actions. 2331 B.8. Changes to draft-ietf-lisp-rfc6833bis-15 2333 o Posted mid-September 2018. 2335 o Changes to reflect comments from Colin and Mirja. 2337 B.9. Changes to draft-ietf-lisp-rfc6833bis-14 2339 o Posted September 2018. 2341 o Changes to reflect comments from Genart, RTGarea, and Secdir 2342 reviews. 2344 B.10. Changes to draft-ietf-lisp-rfc6833bis-13 2346 o Posted August 2018. 2348 o Final editorial changes before RFC submission for Proposed 2349 Standard. 2351 o Added section "Changes since RFC 6833" so implementators are 2352 informed of any changes since the last RFC publication. 2354 B.11. Changes to draft-ietf-lisp-rfc6833bis-12 2356 o Posted late July 2018. 2358 o Moved RFC6830bis and RFC6834bis to Normative References. 2360 B.12. Changes to draft-ietf-lisp-rfc6833bis-11 2362 o Posted July 2018. 2364 o Fixed Luigi editorial comments to ready draft for RFC status and 2365 ran through IDNITs again. 2367 B.13. Changes to draft-ietf-lisp-rfc6833bis-10 2369 o Posted after LISP WG at IETF week March. 2371 o Move AD field encoding after S-bit in the ECM packet format 2372 description section. 2374 o Say more about when the new Drop actions should be sent. 2376 B.14. Changes to draft-ietf-lisp-rfc6833bis-09 2378 o Posted March IETF week 2018. 2380 o Fixed editorial comments submitted by document shepherd Luigi 2381 Iannone. 2383 B.15. Changes to draft-ietf-lisp-rfc6833bis-08 2385 o Posted March 2018. 2387 o Added RLOC-probing algorithm. 2389 o Added Solicit-Map Request algorithm. 2391 o Added several mechanisms (from 6830bis) regarding Routing Locator 2392 Reachability. 2394 o Added port 4342 to IANA Considerations section. 2396 B.16. Changes to draft-ietf-lisp-rfc6833bis-07 2398 o Posted December 2017. 2400 o Make it more clear in a couple of places that RLOCs are used to 2401 locate ETRs more so than for Map-Server Map-Request forwarding. 2403 o Make it clear that "encapsualted" for a control message is an ECM 2404 based message. 2406 o Make it more clear what messages use source-port 4342 and which 2407 ones use destinatino-port 4342. 2409 o Don't make DDT references when the mapping transport system can be 2410 of any type and the referneced text is general to it. 2412 o Generalize text when referring to the format of an EID-prefix. 2413 Can use othe AFIs then IPv4 and IPv6. 2415 o Many editorial changes to clarify text. 2417 o Changed some "must", "should", and "may" to capitalized. 2419 o Added definitions for Map-Request and Map-Reply messages. 2421 o Ran document through IDNITs. 2423 B.17. Changes to draft-ietf-lisp-rfc6833bis-06 2425 o Posted October 2017. 2427 o Spec the I-bit to include the xTR-ID in a Map-Request message to 2428 be consistent with the Map-Register message and to anticipate the 2429 introduction of pubsub functionality to allow Map-Requests to 2430 subscribe to RLOC-set changes. 2432 o Updated references for individual submissions that became working 2433 group documents. 2435 o Updated references for working group documents that became RFCs. 2437 B.18. Changes to draft-ietf-lisp-rfc6833bis-05 2439 o Posted May 2017. 2441 o Update IANA Considerations section based on new requests from this 2442 document and changes from what was requested in [RFC6830]. 2444 B.19. Changes to draft-ietf-lisp-rfc6833bis-04 2446 o Posted May 2017. 2448 o Clarify how the Key-ID field is used in Map-Register and Map- 2449 Notify messages. Break the 16-bit field into a 8-bit Key-ID field 2450 and a 8-bit Algorithm-ID field. 2452 o Move the Control-Plane codepoints from the IANA Considerations 2453 section of RFC6830bis to the IANA Considerations section of this 2454 document. 2456 o In the "LISP Control Packet Type Allocations" section, indicate 2457 how message Types are IANA allocated and how experimental RFC8113 2458 sub-types should be requested. 2460 B.20. Changes to draft-ietf-lisp-rfc6833bis-03 2462 o Posted April 2017. 2464 o Add types 9-14 and specify they are not assigned. 2466 o Add the "LISP Shared Extension Message" type and point to RFC8113. 2468 B.21. Changes to draft-ietf-lisp-rfc6833bis-02 2470 o Posted April 2017. 2472 o Clarify that the LISP Control-Plane document defines how the LISP 2473 Data-Plane uses Map-Requests with either the SMR-bit set or the 2474 P-bit set supporting mapping updates and RLOC-probing. Indicating 2475 that other Data-Planes can use the same mechanisms or their own 2476 defined mechanisms to achieve the same functionality. 2478 B.22. Changes to draft-ietf-lisp-rfc6833bis-01 2480 o Posted March 2017. 2482 o Include references to new RFCs published. 2484 o Remove references to self. 2486 o Change references from RFC6830 to RFC6830bis. 2488 o Add two new action/reasons to a Map-Reply has posted to the LISP 2489 WG mailing list. 2491 o In intro section, add refernece to I-D.ietf-lisp-introduction. 2493 o Removed Open Issues section and references to "experimental". 2495 B.23. Changes to draft-ietf-lisp-rfc6833bis-00 2497 o Posted December 2016. 2499 o Created working group document from draft-farinacci-lisp 2500 -rfc6833-00 individual submission. No other changes made. 2502 B.24. Changes to draft-farinacci-lisp-rfc6833bis-00 2504 o Posted November 2016. 2506 o This is the initial draft to turn RFC 6833 into RFC 6833bis. 2508 o The document name has changed from the "Locator/ID Separation 2509 Protocol (LISP) Map-Server Interface" to the "Locator/ID 2510 Separation Protocol (LISP) Control-Plane". 2512 o The fundamental change was to move the Control-Plane messages from 2513 RFC 6830 to this document in an effort so any IETF developed or 2514 industry created Data-Plane could use the LISP mapping system and 2515 Control-Plane. 2517 o Update Control-Plane messages to incorporate what has been 2518 implemented in products during the early phase of LISP development 2519 but wasn't able to make it into RFC6830 and RFC6833 to make the 2520 Experimental RFC deadline. 2522 o Indicate there may be nodes in the mapping system that are not MRs 2523 or MSs, that is a ALT-node or a DDT-node. 2525 o Include LISP-DDT in Map-Resolver section and explain how they 2526 maintain a referral-cache. 2528 o Removed open issue about additional state in Map-Servers. With 2529 [RFC8111], Map-Servers have the same registration state and can 2530 give Map-Resolvers complete information in ms-ack Map-Referral 2531 messages. 2533 o Make reference to the LISP Threats Analysis RFC [RFC7835]. 2535 Authors' Addresses 2537 Vince Fuller 2538 Cisco Systems 2540 EMail: vaf@vaf.net 2542 Dino Farinacci 2543 Cisco Systems 2545 EMail: farinacci@gmail.com 2547 Albert Cabellos 2548 UPC/BarcelonaTech 2549 Campus Nord, C. Jordi Girona 1-3 2550 Barcelona, Catalunya 2551 Spain 2553 EMail: acabello@ac.upc.edu