idnits 2.17.1 draft-farinacci-lisp-decent-04.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 : ---------------------------------------------------------------------------- ** There are 2 instances of too long lines in the document, the longest one being 5 characters in excess of 72. == There are 9 instances of lines with non-RFC2606-compliant FQDNs in the document. == There are 19 instances of lines with multicast IPv4 addresses in the document. If these are generic example addresses, they should be changed to use the 233.252.0.x range defined in RFC 5771 ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 267: '... An ITR SHOULD lookup its mapping sy...' RFC 2119 keyword, line 414: '... The Hash Mask MUST include the stri...' RFC 2119 keyword, line 426: '...t messages, xTRs MAY round robin EID l...' RFC 2119 keyword, line 469: '... However, an implementation SHOULD do...' Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (September 3, 2019) is 1695 days in the past. Is this intentional? Checking references for intended status: Experimental ---------------------------------------------------------------------------- ** Obsolete normative reference: RFC 6830 (Obsoleted by RFC 9300, RFC 9301) ** Obsolete normative reference: RFC 6833 (Obsoleted by RFC 9301) == Outdated reference: A later version (-12) exists of draft-ietf-lisp-ecdsa-auth-01 == Outdated reference: A later version (-15) exists of draft-ietf-lisp-pubsub-03 == Outdated reference: A later version (-31) exists of draft-ietf-lisp-rfc6833bis-25 == Outdated reference: A later version (-29) exists of draft-ietf-lisp-sec-19 Summary: 4 errors (**), 0 flaws (~~), 7 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group D. Farinacci 3 Internet-Draft lispers.net 4 Intended status: Experimental C. Cantrell 5 Expires: March 6, 2020 Nexus 6 September 3, 2019 8 A Decent LISP Mapping System (LISP-Decent) 9 draft-farinacci-lisp-decent-04 11 Abstract 13 This draft describes how the LISP mapping system designed to be 14 distributed for scale can also be decentralized for management and 15 trust. 17 Status of This Memo 19 This Internet-Draft is submitted in full conformance with the 20 provisions of BCP 78 and BCP 79. 22 Internet-Drafts are working documents of the Internet Engineering 23 Task Force (IETF). Note that other groups may also distribute 24 working documents as Internet-Drafts. The list of current Internet- 25 Drafts is at https://datatracker.ietf.org/drafts/current/. 27 Internet-Drafts are draft documents valid for a maximum of six months 28 and may be updated, replaced, or obsoleted by other documents at any 29 time. It is inappropriate to use Internet-Drafts as reference 30 material or to cite them other than as "work in progress." 32 This Internet-Draft will expire on March 6, 2020. 34 Copyright Notice 36 Copyright (c) 2019 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents 41 (https://trustee.ietf.org/license-info) in effect on the date of 42 publication of this document. Please review these documents 43 carefully, as they describe your rights and restrictions with respect 44 to this document. Code Components extracted from this document must 45 include Simplified BSD License text as described in Section 4.e of 46 the Trust Legal Provisions and are provided without warranty as 47 described in the Simplified BSD License. 49 Table of Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 52 2. Definition of Terms . . . . . . . . . . . . . . . . . . . . . 3 53 3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 4 54 4. Push-Based Mapping System . . . . . . . . . . . . . . . . . . 5 55 4.1. Components of a Pushed-Based LISP-Decent xTR . . . . . . 5 56 4.2. No LISP Protocol Changes . . . . . . . . . . . . . . . . 6 57 4.3. Configuration and Authentication . . . . . . . . . . . . 7 58 4.4. Core Seed-Group . . . . . . . . . . . . . . . . . . . . . 7 59 5. Pull-Based Mapping System . . . . . . . . . . . . . . . . . . 9 60 5.1. Components of a Pulled-Based LISP-Decent xTR . . . . . . 9 61 5.2. Deployment Example . . . . . . . . . . . . . . . . . . . 10 62 5.3. Management Considerations . . . . . . . . . . . . . . . . 11 63 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 64 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 65 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 66 8.1. Normative References . . . . . . . . . . . . . . . . . . 12 67 8.2. Informative References . . . . . . . . . . . . . . . . . 13 68 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 13 69 Appendix B. Document Change Log . . . . . . . . . . . . . . . . 14 70 B.1. Changes to draft-farinacci-lisp-decent-04 . . . . . . . . 14 71 B.2. Changes to draft-farinacci-lisp-decent-03 . . . . . . . . 14 72 B.3. Changes to draft-farinacci-lisp-decent-02 . . . . . . . . 14 73 B.4. Changes to draft-farinacci-lisp-decent-01 . . . . . . . . 14 74 B.5. Changes to draft-farinacci-lisp-decent-00 . . . . . . . . 14 75 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 77 1. Introduction 79 The LISP architecture and protocols [RFC6830] introduces two new 80 numbering spaces, Endpoint Identifiers (EIDs) and Routing Locators 81 (RLOCs) which is intended to provide overlay network functionality. 82 To map from EID to a set or RLOCs, a control-plane mapping system are 83 used [RFC6836] [RFC8111]. These mapping systems are distributed in 84 nature in their deployment for scalability but are centrally managed 85 by a third- party entity, namely a Mapping System Provider (MSP). 86 The entities that use the mapping system, such as data-plane xTRs, 87 depend on and trust the MSP. They do not participate in the mapping 88 system other than to register and retrieve information to/from the 89 mapping system [RFC6833]. 91 This document introduces a Decentralized Mapping System (DMS) so the 92 xTRs can participate in the mapping system as well as use it. They 93 can trust each other rather than rely on third-party infrastructure. 94 The xTRs act as Map-Servers to maintain distributed state for scale 95 and reducing attack surface. 97 2. Definition of Terms 99 Mapping System Provider (MSP): is an infrastructure service that 100 deploys LISP Map-Resolvers and Map-Servers [RFC6833] and possibly 101 ALT-nodes [RFC6836] or DDT-nodes [RFC8111]. The MSP can be 102 managed by a separate organization other than the one that manages 103 xTRs. This model provides a business separation between who 104 manages and is responsible for the control-plane versus who 105 manages the data-plane overlay service. 107 Decentralized Mapping System (DMS): is a mapping system entity that 108 is not third-party to the xTR nodes that use it. The xTRs 109 themselves are part of the mapping system. The state of the 110 mapping system is fully distributed, decentralized, and the trust 111 relies on the xTRs that use and participate in their own mapping 112 system. 114 Pull-Based Mapping System: the mapping system is pull-based meaning 115 that xTRs will lookup and register mappings by algorithmic 116 transformation to locate which Map-Resolvers and Map-Servers are 117 used. It is required that the lookup and registration uses a 118 consistent algorithmic transformation function. Map-Registers are 119 pushed to specific Map-Servers. Map-Requests are external lookups 120 to Map-Resolvers on xTRs that do not participate in the mapping 121 system and internal lookups when they do. 123 Modulus Value: this value is used in the Pull-Based Mapping System. 124 It defines the number of map-server sets used for the mapping 125 system. The modulus value is used to produce a Name Index used 126 for a DNS lookup. 128 Name Index: this index value is used in the Pull-Based 129 Mapping System. For a mapping system that is configured with a 130 map-server set of DNS names in the form of .domain.com, the 131 name index is prepended to to form the lookup name 132 ..domain.com. If the Modulus Value is 8, then the 133 name indexes are 0 through 7. 135 Hash Mask: The Hash Mask is used in the Pull-Based Mapping System. 136 It is a mask value with 1 bits left justified. The mask is used 137 to select what high-order bits of an EID-prefix is used in the 138 hash function. 140 Push-Based Mapping System: the mapping system is push-based meaning 141 that xTRs will push registrations via IP multicast to a group of 142 Map-Servers and do local lookups acting as their own Map- 143 Resolvers. 145 Replication List Entry (RLE): is an RLOC-record format that contains 146 a list of RLOCs that an ITR replicates multicast packets on a 147 multicast overlay. The RLE format is specified in [RFC8060]. 148 RLEs are used with the Pushed-Based mapping system. 150 Group Address EID: is an EID-record format that contains IPv4 151 (0.0.0.0/0, G) or IPv6 (0::/0, G) state. This state is encoded as 152 a Multicast Info Type LCAF specified in [RFC8060]. Members of a 153 seed-group send Map-Registers for (0.0.0.0/0, G) or (0::/0, G) 154 with an RLOC-record that RLE encodes its RLOC address. Details 155 are specified in [RFC8378]. 157 Seed-Group: is a set of Map-Servers joined to a multicast group for 158 the Push-Based Mapping system or are mapped by DNS names in a 159 Pull-Based Mapping System. A core seed-group is used to bootstrap 160 a set of LISP-Decent xTRs so they can learn about each other and 161 use each other's mapping system service. A seed-group can be 162 pull-based to bootstrap a push-based mapping system. That is, a 163 set of DNS mapped map-servers can be used to join the mapping 164 system's IP multicast group. 166 3. Overview 168 The clients of the Decentralized Mapping System (DMS) are also the 169 providers of mapping state. Clients are typically ETRs that Map- 170 Register EID-to-RLOC mapping state to the mapping database system. 171 ITRs are clients in that they send Map-Requests to the mapping 172 database system to obtain EID-to-RLOC mappings that are cached for 173 data-plane use. When xTRs participate in a DMS, they are also acting 174 as Map-Resolvers and Map-Servers using the protocol machinery defined 175 in LISP control-plane specifications [RFC6833], [I-D.ietf-lisp-sec], 176 and [I-D.ietf-lisp-ecdsa-auth]. The xTRs are not required to run the 177 database mapping transport system protocols specified in [RFC6836] or 178 [RFC8111]. 180 This document will describe two decentralized and distributed mapping 181 system mechanisms. A Push-Based Mapping System uses IP multicast so 182 xTRs can find each other by locally joining an IP multicast group. A 183 Pull-Based Mapping System uses DNS with an algorithmic transformation 184 function so xTRs can find each other. 186 4. Push-Based Mapping System 188 The xTRs are organized in a mapping-system group. The group is 189 identified by an IPv4 or IPv6 multicast group address or using a 190 pull-based approach in described in Section 5. When using multicast, 191 the xTRs join the same multicast group and receive LISP control-plane 192 messages addressed to the group. Messages sent to the multicast 193 group are distributed when the underlay network supports IP multicast 194 [RFC6831] or is achieved with the overlay multicast mechanism 195 described in [RFC8378]. When overlay multicast is used and LISP Map- 196 Register messages are sent to the group, they are LISP data 197 encapsulated with a instance-ID set to 0xffffff in the LISP header. 198 The inner header of the encapsulated packet has the destination 199 address set to the multicast group address and the outer header that 200 is prepended has the destination address set to the RLOC of mapping 201 system member. The members of the mapping system group are kept in 202 the LISP data-plane map-cache so packets for the group can be 203 replicated to each member RLOC. 205 All xTRs in a mapping system group will store the same registered 206 mappings and maintain the state as Map-Servers normally do. The 207 members are not only receivers of the multicast group but also send 208 packets to the group. 210 4.1. Components of a Pushed-Based LISP-Decent xTR 212 When an xTR is configured to be a LISP-Decent xTR (or PxTR 213 [RFC6832]), it runs the ITR, ETR, Map-Resolver, and Map-Server LISP 214 network functions. 216 The following diagram shows 3 LISP-Decent xTRs joined to mapping 217 system group 224.1.1.1. When the ETR function of xTR1 originates a 218 Map-Register, it is sent to all xTRs (including itself) synchronizing 219 all 3 Map-Servers in xTR1, xTR2, and xTR3. The ITR function can 220 populate its map-cache by sending a Map-Request locally to its Map- 221 Resolver so it can replicate packets to each RLOC for EID 224.1.1.1. 223 xTR1 224 Map-Request +--------------------+ 225 (always local) | +-----+ +-----+ | 226 +---------------| ITR | | ETR |-------------+ 227 | | +-----+ +-----+ | | 228 | | | | Map-Register to EID 229 | | +-------+ | | 224.1.1.1 encapsulated to 230 +------------------>| MR/MS |<---------------+ RLOCs xTR1, xTR2, and xTR3 231 | +-------+ | | 232 +--------------------+ | 233 | 234 +--------------------+------------+ 235 | | 236 | | 237 +----------v---------+ +----------v---------+ 238 | +--------+ | | +--------+ | 239 | | MR/MS | | | | MR/MS | | 240 | +--------+ | | +--------+ | 241 | +-----+ +-----+ | | +-----+ +-----+ | 242 | | ITR | | ETR | | | | ITR | | ETR | | 243 | +-----+ +-----+ | | +-----+ +-----+ | 244 +--------------------+ +--------------------+ 245 xTR2 xTR3 247 Note if any external xTR would like to use a Map-Resolver from the 248 mapping system group, it only needs to have one of the LISP-Decent 249 Map-Resolvers configured. By doing a looking to this Map-Resolver 250 for EID 224.1.1,1, the external xTR could get the complete list of 251 members for the mapping system group. 253 For future study, an external xTR could multicast the Map-Request to 254 224.1.1.1 and either one of the LISP-Decent Map-Resolvers would 255 return a Map-Reply or the external xTR is prepared to receive 256 multiple Map-Replies. 258 4.2. No LISP Protocol Changes 260 There are no LISP protocol changes required to support the push-based 261 LISP-Decent set of procedures. However, an implementation that sends 262 Map-Register messages to a multicast group versus a specific Map- 263 Server unicast address must change to call the data-plane component 264 so the ITR functionality in the node can encapsulate the Map-Register 265 as a unicast packet to each member of the mapping system group. 267 An ITR SHOULD lookup its mapping system group address periodically to 268 determine if the membership has changed. The ITR can also use the 269 pubsub capability documented in [I-D.ietf-lisp-pubsub] to be notified 270 when a new member joins or leaves the multicast group. 272 4.3. Configuration and Authentication 274 When xTRs are joined to a multicast group, they must have their site 275 registration configuration consistent. Any policy or authentication 276 key material must be configured correctly and consistently among all 277 members. When [I-D.ietf-lisp-ecdsa-auth] is used to sign Map- 278 Register messages, public-keys can be registered to the mapping 279 system group using the site authentication key mentioned above or 280 using a different authentication key from the one used for 281 registering EID records. 283 4.4. Core Seed-Group 285 A core seed-group can be discovered using a multicast group in a 286 push-based system or a Map-Server set of DNS names in a pull-based 287 system (see Section 5 for details). 289 When using multicast for the mapping system group, a core seed-group 290 multicast group address can be preconfigured to bootstrap the 291 decentralized mapping system. The group address (or DNS name that 292 maps to a group address) can be explicitly configured in a few xTRs 293 to start building up the registrations. Then as other xTRs come 294 online, they can add themselves to the core seed-group by joining the 295 seed-group multicast group. 297 Alternatively or additionally, new xTRs can join a new mapping system 298 multicast group to form another layer of a decentralized mapping 299 system. The group address and members of this new layer seed-group 300 would be registered to the core seed-group address and stored in the 301 core seed-group mapping system. Note each mapping system layer could 302 have a specific function or a specific circle of trust. 304 This multi-layer mapping system can be illustrated: 306 __________ --------- 307 / core \ 224.2.2.2 / layer-1 \ 308 | seed-group | --------> | I | 309 | 224.1.1.1 | | / \ | 310 \__________/ | J---K | 311 | \_________/ 312 | 224.3.3.3 313 | 314 v 315 --------- 316 / layer-2 \ 317 | X | 318 | / \ | 319 | Y---Z | 320 \_________/ 322 Configured in xTRs A, B, and C (they make up the core seed-group): 323 224.1.1.1 -> RLE: A, B, C 325 core seed-group DMS, mapping state in A, B, and C: 326 224.2.2.2 -> RLE: I, J, K 327 224.3.3.3 -> RLE: X, Y, Z 329 layer-1 seed-group DMS (inter-continental), mapping state in I, J, K: 330 EID1 -> RLOCs: i(1), j(2) 331 ... 332 EIDn -> RLOCs: i(n), j(n) 334 layer-2 seed-group DMS (intra-continental), mapping sate in X, Y, Z:: 335 EIDa -> RLOCs: x(1), y(2) 336 ... 337 EIDz -> RLOCs: x(n), y(n) 339 The core seed-group multicast address 224.1.1.1 is configured in xTRs 340 A, B and C so when each of them send Map-Register messages, they 341 would all be able to maintain synchronized mapping state. Any EID 342 can be registered to this DMS but in this example, seed-group 343 multicast group EIDs are being registered only to find other mapping 344 system groups. 346 For example, lets say that xTR I boots up and it wants to find its 347 other peers in its mapping system group 224.2.2.2. Group address 348 224.2.2.2 is configured so xTR I knows what group to join for its 349 mapping system group. But xTR I needs a mapping system to register 350 to, so the core seed-group is used and available to receive Map- 351 Registers. The other xTRs J and K in the mapping system group do the 352 same so when any of I, J or K needs to register EIDs, they can now 353 send their Map-Register messages to group 224.2.2.2. Examples of 354 EIDs being register are EID1 through EIDn shown above. 356 When Map-Registers are sent to group 224.2.2.2, they are encapsulated 357 by the LISP data-plane by looking up EID 224.2.2.2 in the core seed- 358 group mapping system. For the map-cache entry to be populated for 359 224.2.2.2, the data-plane must send a Map-Request so the RLOCs I, J, 360 and K are cached for replication. To use the core seed-group mapping 361 system, the data-plane must know of at least one of the RLOCs A, B, 362 and/or C. 364 5. Pull-Based Mapping System 366 5.1. Components of a Pulled-Based LISP-Decent xTR 368 When an xTR is configured to be a LISP-Decent xTR (or PxTR 369 [RFC6832]), it runs the ITR, ETR, Map-Resolver, and Map-Server LISP 370 network functions. 372 Unlike the Push-Based Mapping System, the xTRs do not need to be 373 organized by joining a multicast group. In a Pull-Based Mappig 374 System, a hash function over an EID is used to identify which xTR is 375 used as the Map-Resolver and Map-Server. The Domain Name System 376 (DNS) [RFC1034] [RFC1035] is used as a resource discovery mechanism. 378 The RLOC addresses of the xTRs will be A and AAAA records for DNS 379 names that map algorithmically from the hash of the EID. A SHA-256 380 hash function [RFC6234] over the following ASCII formatted EID string 381 is used: 383 []/ 384 []/-/ 386 Where is the instance-ID and is the EID of any EID-type 387 defined in [RFC8060]. And then the Modulus Value is used to 388 produce the Name Index used to build the DNS lookup name: 390 eid = "[]/" 391 index = hash.sha_256(eid) MOD mv 393 The Hash Mask is used to select what bits are used in the SHA-256 394 hash function. This is required to support longest match lookups in 395 the mapping system. The same map-server set needs to be selected 396 when looking up a more-specific EID found in the Map-Request message 397 with one that could match a less-specific EID-prefix registered and 398 found in the Map-Register message. For example, if an EID-prefix 400 [0]240.0.1.0/24 is registered to the mapping system and EID 401 [0]240.0.1.1/32 is looked up to match the registered prefix, a Hash 402 Mask of 8 bytes can be used to AND both the /32 or /24 entries to 403 produce the same hash string bits of "[0]240.0". 405 For (*,G) and (S,G) multicast entries in the mapping system, the hash 406 strings are: 408 sg-eid = "[]/-/" 409 index = hash.sha_256(sg-eid) MOD mv 411 starg-eid = "[]/-0.0.0.0/0" 412 index = hash.sha_256(starg-eid) MOD mv 414 The Hash Mask MUST include the string "[]" and not string 415 . So when looking up [0](2.2.2.2, 224.1.1.1) that will match 416 a (*, 224.1.1.1/32), the hash string produced with a Hash Mask of 12 417 bytes is "[0]224.1.1.1". 419 When the is computed from a unicast or multicast EID, the DNS 420 lookup name becomes: 422 .map-server.domain.com 424 When an xTR does a DNS lookup on the lookup name, it will send Map- 425 Register messages to all A and AAAA records for EID registrations. 426 For Map-Request messages, xTRs MAY round robin EID lookup requests 427 among the A and AAAA records. 429 5.2. Deployment Example 431 Here is an example deployment of a pull-based model. Let's say 4 432 map-server sets are provisioned for the mapping system. Therefore 4 433 distinct DNS names are allocated and a Modulus Value 4 is used. Each 434 DNS name is allocated Name Index 0 through 3: 436 0.map-server.lispers.net 437 1.map-server.lispers.net 438 2.map-server.lispers.net 439 3.map-server.lispers.net 441 The A records for each name can be assigned as: 443 0.map-server.lispers.net: 444 A 445 A 446 1.map-server.lispers.net: 447 A 448 A 449 2.map-server.lispers.net: 450 A 451 A 452 3.map-server.lispers.net: 453 A 454 A 456 When an xTR wants to register "[1000]fd::2222", it hashes the EID 457 string to produce, for example, hash value 0x66. Using the modulus 458 value 4 (0x67 & 0x3) produces index 0x3, so the DNS name 3.map- 459 server.lispers.net is used and a Map-Regiter is sent to 460 and . 462 Note that the pull-based method can be used for a core seed-group for 463 bootstraping a push-based mapping system where multicast groups are 464 registered. 466 5.3. Management Considerations 468 There are no LISP protocol changes required to support the pull-based 469 LISP-Decent set of procedures. However, an implementation SHOULD do 470 periodic DNS lookups to determine if A records have changed for a DNS 471 entry. 473 When xTRs derive Map-Resolver and Map-Server names from the DNS, they 474 need to use the same Modulus Value otherwise some xTRs will lookup 475 EIDs to the wrong place they were registered. 477 The Modulus Value can be configured or pushed to the LISP-Decent 478 xTRs. A future version of this document will describe a push 479 mechanism so all xTRs use a consistent modulus value. 481 6. Security Considerations 483 Refer to the Security Considerations section of 484 [I-D.ietf-lisp-rfc6833bis] for a complete list of security mechanisms 485 as well as pointers to threat analysis drafts. 487 7. IANA Considerations 489 At this time there are no specific requests for IANA. 491 8. References 493 8.1. Normative References 495 [RFC1034] Mockapetris, P., "Domain names - concepts and facilities", 496 STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987, 497 . 499 [RFC1035] Mockapetris, P., "Domain names - implementation and 500 specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, 501 November 1987, . 503 [RFC6234] Eastlake 3rd, D. and T. Hansen, "US Secure Hash Algorithms 504 (SHA and SHA-based HMAC and HKDF)", RFC 6234, 505 DOI 10.17487/RFC6234, May 2011, 506 . 508 [RFC6830] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The 509 Locator/ID Separation Protocol (LISP)", RFC 6830, 510 DOI 10.17487/RFC6830, January 2013, 511 . 513 [RFC6831] Farinacci, D., Meyer, D., Zwiebel, J., and S. Venaas, "The 514 Locator/ID Separation Protocol (LISP) for Multicast 515 Environments", RFC 6831, DOI 10.17487/RFC6831, January 516 2013, . 518 [RFC6832] Lewis, D., Meyer, D., Farinacci, D., and V. Fuller, 519 "Interworking between Locator/ID Separation Protocol 520 (LISP) and Non-LISP Sites", RFC 6832, 521 DOI 10.17487/RFC6832, January 2013, 522 . 524 [RFC6833] Fuller, V. and D. Farinacci, "Locator/ID Separation 525 Protocol (LISP) Map-Server Interface", RFC 6833, 526 DOI 10.17487/RFC6833, January 2013, 527 . 529 [RFC6836] Fuller, V., Farinacci, D., Meyer, D., and D. Lewis, 530 "Locator/ID Separation Protocol Alternative Logical 531 Topology (LISP+ALT)", RFC 6836, DOI 10.17487/RFC6836, 532 January 2013, . 534 [RFC8060] Farinacci, D., Meyer, D., and J. Snijders, "LISP Canonical 535 Address Format (LCAF)", RFC 8060, DOI 10.17487/RFC8060, 536 February 2017, . 538 [RFC8111] Fuller, V., Lewis, D., Ermagan, V., Jain, A., and A. 539 Smirnov, "Locator/ID Separation Protocol Delegated 540 Database Tree (LISP-DDT)", RFC 8111, DOI 10.17487/RFC8111, 541 May 2017, . 543 [RFC8378] Moreno, V. and D. Farinacci, "Signal-Free Locator/ID 544 Separation Protocol (LISP) Multicast", RFC 8378, 545 DOI 10.17487/RFC8378, May 2018, 546 . 548 8.2. Informative References 550 [I-D.ietf-lisp-ecdsa-auth] 551 Farinacci, D. and E. Nordmark, "LISP Control-Plane ECDSA 552 Authentication and Authorization", draft-ietf-lisp-ecdsa- 553 auth-01 (work in progress), March 2019. 555 [I-D.ietf-lisp-pubsub] 556 Rodriguez-Natal, A., Ermagan, V., Leong, J., Maino, F., 557 Cabellos-Aparicio, A., Barkai, S., Farinacci, D., 558 Boucadair, M., Jacquenet, C., and S. Secci, "Publish/ 559 Subscribe Functionality for LISP", draft-ietf-lisp- 560 pubsub-03 (work in progress), March 2019. 562 [I-D.ietf-lisp-rfc6833bis] 563 Farinacci, D., Maino, F., Fuller, V., and A. Cabellos- 564 Aparicio, "Locator/ID Separation Protocol (LISP) Control- 565 Plane", draft-ietf-lisp-rfc6833bis-25 (work in progress), 566 June 2019. 568 [I-D.ietf-lisp-sec] 569 Maino, F., Ermagan, V., Cabellos-Aparicio, A., and D. 570 Saucez, "LISP-Security (LISP-SEC)", draft-ietf-lisp-sec-19 571 (work in progress), July 2019. 573 Appendix A. Acknowledgments 575 The authors would like to thank the LISP WG for their review and 576 acceptance of this draft. 578 The authors would also like to give a special thanks to Roman 579 Shaposhnik for several discussions that occured before the first 580 draft was published. 582 Appendix B. Document Change Log 584 [RFC Editor: Please delete this section on publication as RFC.] 586 B.1. Changes to draft-farinacci-lisp-decent-04 588 o Posted September 2019. 590 o Update references and document expiry timer. 592 B.2. Changes to draft-farinacci-lisp-decent-03 594 o Posted March 2019. 596 o Introduce the Hash Mask which is used to grab common bits from a 597 registered prefix and a lookup prefix. 599 o Spec how multicast lookups are done in the pull-based mapping 600 system. 602 o Indicate the hash string includes the unicast EID mask-length and 603 multicast group and source mask-lengths. 605 B.3. Changes to draft-farinacci-lisp-decent-02 607 o Posted November 2018. 609 o Changed references from peer-group to seed-group to make the 610 algorithms in this document more like how blockchain networks 611 initialize the peer-to-peer network. 613 o Added pull mechanism to compliment the push mechanism. The pull 614 mechanism could be used as a seed-group to bootstrap the push 615 mechanism. 617 B.4. Changes to draft-farinacci-lisp-decent-01 619 o Posted July 2018. 621 o Document timer and reference update. 623 B.5. Changes to draft-farinacci-lisp-decent-00 625 o Initial draft posted January 2018. 627 Authors' Addresses 629 Dino Farinacci 630 lispers.net 631 San Jose, CA 632 USA 634 Email: farinacci@gmail.com 636 Colin Cantrell 637 Nexus 638 Tempe, AZ 639 USA 641 Email: colin@nexus.io