LISP Working Group L. Cheng Internet-Draft M. Sun Intended status: Standards Track ZTE Corporation Expires: August 25, 2013 February 21, 2013 draft-cheng-lisp-shdht-03 LISP Single-Hop DHT Mapping Overlay Abstract This draft specifies the LISP Single-Hop Distributed Hash Table Mapping Overlay (LISP-SHDHT), a distributed mapping database which embodies SHDHT Nodes to maintain (Key, value) pairs for LISP (Locator/ID Separation Protocol)-like architecture, wherein every (key value) pair corresponds to an EID(Endpoint ID)-to-RLOC(Routing Locator) mapping information entry. According to this strategy, EID is hashed to be a unique Resource ID which is used for locating destination DHT Node who maintains mapping entry for the particular EID. Furthermore, adaptive hash space partition method is adopted to solve the load balance problem on SHDHT Nodes which is common on traditional DHT planes. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on August 25, 2013. Copyright Notice Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of Cheng & Sun Expires August 25, 2013 [Page 1] Internet-Draft LISP Single-Hop DHT Mapping Overlay February 2013 publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Definition of Terms . . . . . . . . . . . . . . . . . . . . . 5 3. SHDHT Overview . . . . . . . . . . . . . . . . . . . . . . . . 7 3.1. Node ID and Partition ID . . . . . . . . . . . . . . . . . 7 3.2. Data Storage and Hash Assignment . . . . . . . . . . . . . 8 3.3. Node Routing Table . . . . . . . . . . . . . . . . . . . . 9 4. LISP SHDHT . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.1. ITR Operation . . . . . . . . . . . . . . . . . . . . . . 10 4.2. ETR Operation . . . . . . . . . . . . . . . . . . . . . . 10 4.3. SHDHT Map Resolver Operation . . . . . . . . . . . . . . . 11 4.4. SHDHT Map Server Operation . . . . . . . . . . . . . . . . 11 4.5. Encapsulated Message Format . . . . . . . . . . . . . . . 12 4.5.1. Encapsulated Map Request . . . . . . . . . . . . . . . 13 5. Domain LISP SHDHT Deployment . . . . . . . . . . . . . . . . . 14 5.1. SHDHT Border Node . . . . . . . . . . . . . . . . . . . . 14 5.2. Mapping Register . . . . . . . . . . . . . . . . . . . . . 15 5.2.1. Intra Domain Mapping Register . . . . . . . . . . . . 15 5.2.2. Inter Domain Mapping Register . . . . . . . . . . . . 15 5.3. Mapping Request . . . . . . . . . . . . . . . . . . . . . 16 5.3.1. Intra Domain Mapping Request . . . . . . . . . . . . . 16 5.3.2. Inter Domain Mapping Request . . . . . . . . . . . . . 17 6. Mobility Considerations . . . . . . . . . . . . . . . . . . . 18 7. Security Considerations . . . . . . . . . . . . . . . . . . . 19 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 21 9.1. Normative References . . . . . . . . . . . . . . . . . . . 21 9.2. Informational References . . . . . . . . . . . . . . . . . 21 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . . 21 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 21 Cheng & Sun Expires August 25, 2013 [Page 2] Internet-Draft LISP Single-Hop DHT Mapping Overlay February 2013 1. Introduction Locator/ID Separation Protocol (LISP) [RFC6830] specifies an architecture and mechanism for replacing the address currently used by IP with two separate name spaces: Endpoint IDs (EIDs), used within LISP sites, and Routing Locators (RLOCs), used on transit networks that make up the Internet infrastructure. To achieve this separation, LISP defines protocol mechanisms for mapping from EIDs to RLOCs. As a result, an efficient database is needed to store and propagate those mappings globally. Several such mapping databases have been proposed, among them: LISP-NERD [I-D.lear-lisp-nerd], LISP- ALT[RFC6836], LISP-DDT[I-ietf-lisp-ddt], and LISP-DHT [LISP-DHT]. According to hybrid model databases such like LISP-ALT [RFC6836] and LISP-DDT [I-ietf-lisp-ddt], architectures of these mapping databases are based on announcement/delegation of hierarchically-delegated segments of EID namespace (i.e., prefixes). Therefore, based on these architectures, when a roaming event occurs and a LISP site or a LISP MN receives new RLOCs, the site or MN has to anchor pre- configured map-server to register its new mapping information no matter where the site or MN currently locates, just in order to protect EID prefixes announced aggregately in the database [I-D.meyer-lisp-mn]. As a DHT strategy based mapping database, LISP-DHT [LISP-DHT] exhibits several interesting properties, such as self-configuration, self-maintenance, scalability and robustness that are clearly desirable for a EID-to-RLOC resolution service. However, this database is based on multi-hop Chord DHT. On one hand, inquiries of mapping information in this case need to pass through iterative multi-hop lookup steps which will cause relatively large delay time. On the other hand, load balance between Chord nodes is another essential problem need to be solved. This draft specifies a LISP Single-Hop Distributed Hash Table Mapping Overlay (LISP-SHDHT) which provides mapping information lookup service for sites running LISP. Main characters of this strategy is that, 1. Each SHDHT Node maintains routing information for all other SHDHT Nodes. Thus, messages interaction between SHDHT Nodes in the same SHDHT overlay just need one or two hops. 2. Traditionally, Node IDs are used to identify DHT nodes and represent hash space arrangement on DHT nodes. In SHDHT strategy, the two roles are separated. Partition IDs are adopted for hash space arrangement and a build-in load balancing solution is designed. Cheng & Sun Expires August 25, 2013 [Page 3] Internet-Draft LISP Single-Hop DHT Mapping Overlay February 2013 This draft specifies the outline of SHDHT and the basic application of LISP SHDHT. In actual deployment of LISP SHDHT, mapping database could be maintained by multiple mapping service providers and could be deployed as collaborative combination of multiple Domain LISP SHDHTs. Details about Domain LISP SHDHT Deployment are introduced in Section 5. Security strategies on/between Domain LISP SHDHTs is for future study. Cheng & Sun Expires August 25, 2013 [Page 4] Internet-Draft LISP Single-Hop DHT Mapping Overlay February 2013 2. Definition of Terms This draft uses terms defined in [RFC6830]. This section defines some new terms used in this document. SHDHT: Single-Hop Distributed Hash Table Mapping Overlay. SHDHT Node: Physical nodes which compose SHDHT overlay's topology. Each SHDHT Node has a unique Node ID and maintains multiple hash space segments which labeled by Partition IDs. Each SHDHT Node maintains a Node Routing Table of local SHDHT Mapping Overlay. SHDHT Nodes locates in the same Mapping Overlay implement hash operation based on the same hash algorithm. SHDHT Nodes hash data object to be a unique Resource ID, and perform put/get/move operations based on the Resource IDs. Node ID: Node identifier, which is used for maintenance. Each SHDHT Node has a unique Node ID. The ring containing Node IDs indicates overlay's topology. Partition ID: Partition identifier, which is used for hash space assignment. Partition IDs and Resource IDs share the same hash space. All Partition IDs in overlay are unique. Each SHDHT Node could have multiple Partition IDs. The ring containing Partition IDs determines how the hash space is partitioned into segments and how these segments are assigned to nodes. Resource ID: Each data object stored in DHT overlay could be hashed to be a unique Resource ID. In LISP-SHDHT strategy, data objects correspond to the EIDs. Resource IDs share the same hash space with Partition IDs. As a result, SHDHT Nodes perform data objects put/get/remove operations based on these IDs. Node Routing Table: Routing table of a SHDHT Mapping Overlay which contains all SHDHT Nodes information of this overly, including Node IDs, Partition IDs and Node IP addresses, etc. Each SHDHT Node of this overly will maintain the Routing Table. SHDHT Map Server: A SHDHT Node that also implements Map Server functionality (forwarding Map-Requests and/or return Map Replies if offering proxy Map-Reply service) for mapping entries it maintains. SHDHT Map Resolver: A SHDHT Node that also implements Map Resolver functionality (accepting Map-Requests, hash the requested EID to be Resource ID, and then forward Map-Requests to corresponding SHDHT Map Server based on Resource ID). Furthermore, in this document SHDHT Map Resolver could perform as proxy for Map- Cheng & Sun Expires August 25, 2013 [Page 5] Internet-Draft LISP Single-Hop DHT Mapping Overlay February 2013 Register. SHDHT Map Resolver could accept register messages and forward them to SHDHT Map Servers. SHDHT Border Node: SHDHT Border Node locates on the border of a Domain SHDHT Overlay. Each SHDHT Border Node maintains an Inter- Domain Routing Table. SHDHT Border Nodes are used to flood cross domain routing and forward cross domain packets. Inter-Domain Routing Ttable: A routing table maintained on a SHDHT Border Node. This routing table contains information of other Domain SHDHT Overlays, such like EID prefixes other domain overlays maintain, IP addresses and ports information of other overlay's Border Nodes. Cheng & Sun Expires August 25, 2013 [Page 6] Internet-Draft LISP Single-Hop DHT Mapping Overlay February 2013 3. SHDHT Overview 3.1. Node ID and Partition ID Most of existing DHTs use node IDs for both maintenance and hash space arrangement. For example, in LISP-DHT[LISP-DHT], each chord node of the DHT ring has a unique k-bits identifier (ChordID). Nodes perform operations such like put/get/remove based on ChordIDs. Furthermore, ChordIDs are also used to associate nodes with hash space segments that the nodes responsible for. In SHDHT, two roles of maintenance and hash space arrangement are separated and a new kind identifier called Partition ID is adopted. Each SHDHT node has a unique Node ID which identifies the physical node and multiple Partition IDs which represent hash space segments. All Partition IDs in the overlay are also unique. Node IDs and Partition IDs are mapped into two ring-shaped spaces respectively. The ring containing Node IDs indicates the overlay's topology. The ring containing Partition IDs determines how the hash space is partitioned into segments and how these segments are assigned to nodes. It is noteworthy that SHDHT Nodes could determine number of Partition IDs on them separately and could generate Partition IDs randomly just need to make sure that the generated Partition IDs will not conflict with existing Partition IDs on the SHDHT plane. +--------------------+ +--------------------+ |Node ID: 0x0123| |Node ID: 0x4444| |Partition ID: 0x1234| +-----+ +-----+ |Partition ID: 0x9000| | 0x7000| |Node1+----------+Node2| | 0x3234| +--------------------+ +--+--+ +--+--+ +--------------------+ | | | | | | | | +--------------------+ +--+--+ +--+--+ +--------------------+ |Node ID: 0xe000| |Node3+----------+Node4| |Node ID: 0xc000| |Partition ID: 0x5000| +-----+ +-----+ |Partition ID: 0xaaaa| | 0xeeee| | 0xcccc| +--------------------+ +--------------------+ Fig.1 SHDHT Deployment Example As shown in Fig.1 is an example of SHDHT. This SHDHT overlay is consist of four SHDHT NODEs each has a unique Node ID and maintains two Partition IDs. According to this deployment, hash space is partitioned to be eight segments each is indexed by a Partition ID. From Fig. 1, it could be observed that hash space segments are not required to be partitioned equally. As SHDHT Nodes could general Cheng & Sun Expires August 25, 2013 [Page 7] Internet-Draft LISP Single-Hop DHT Mapping Overlay February 2013 Partition IDs separately, when a SHDHT Node gets all hash segments assignment information of other SHDHT Nodes, it will be able to implement the load balance of SHDHT overlay by general proper Partition IDs. In SHDHT, each SHDHT Node stores and maintains data objects. Data objects are indexed by Resource IDs which share the same hash space with Partition IDs and will locate in the hash space segments whose Partition IDs are closest to their Resource IDs. For example, for a data object whose Resource ID is 0x8213, the Resource ID locates between Partition ID 0x7000 and Partition ID 0x9000. As Partition ID 0x9000 is closer to Resource ID 0x8213, the data object will be stored and maintained on Node2 who is assigned with the hash space segment indexed by Partition ID 0x9000. 3.2. Data Storage and Hash Assignment In traditional DHTs, hash space is partitioned into segments based on node IDs. As a result, data objects are always stored in their root nodes, whose node IDs are "closest" to data objects' Resource IDs. What does "closest" means? Suppose we have three consecutive Partition IDs a, b and c which are the only Partition IDs in SHDHT for our example, then the range of each hash space segment is defined as follow: Partition ID a: [id(a)-0.5*d(c,a); id(a)+0.5*d(a,b)) Partition ID b: [id(b)-0.5*d(a,b); id(b)+0.5*d(b,c)) Partition ID c: [id(c)-0.5*d(b,c); id(c)+0.5*d(c,a)) with functions id(x): value of Partition ID x in hash space d(x,y): distance between Partition ID x and y in hash space Replications of data objects in a particular node are always stored in the preceding node or successor node of the root node. The backup preceding node or successor node will automatically become the new closest node if the root node leaves the overlay. In SHDHT, the whole hash space is partitioned into segments based on partition IDs. The root node of a data object is the node, which has the closest partition ID to the data object's Resource ID. In SHDHT, each node can maintain multiple hash space segments with respective Cheng & Sun Expires August 25, 2013 [Page 8] Internet-Draft LISP Single-Hop DHT Mapping Overlay February 2013 Partition IDs. As the preceding Partition ID or successor Partition ID may be owned by the same root node. Replication of data objects could still be stored in preceding node or successor node of root node. 3.3. Node Routing Table In SHDHT, each node maintains a Node Routing Table containing routing information of all other SHDHT Nodes locate in the same SHDHT overlay. Table I shows the Node Routing Table on SHDHT Nodes of Fig.1. A Node Routing Table contains all Partition IDs and their associated Node IDs and node addresses. For simplification, Node IDs and Partition IDs shown in the draft are only 16-bit numbers. When SHDHT Node receives a message points to a particular Resource ID, it could look up Node Routing Table and find out the Partition ID which is closest to the Resource ID. Furthermore, message could be transferred to the corresponding SHDHT Node. +--------------+---------+---------------+ | Partition ID | Node ID | Address | +--------------+---------+---------------+ | 0x1234 | 0x0123 | 10.0.0.2:2000 | | 0x3234 | 0x4444 | 10.0.0.3:2000 | | 0x5000 | 0xe000 | 10.0.0.4:2000 | | 0x7000 | 0x0123 | 10.0.0.2:2000 | | 0x9000 | 0x4444 | 10.0.0.3:2000 | | 0xaaaa | 0xc000 | 10.0.0.5:2000 | | 0xcccc | 0xc000 | 10.0.0.5:2000 | | 0xeeee | 0xe000 | 10.0.0.4:2000 | +--------------+---------+---------------+ TABLE I SHDHT Node Routing Table For example, if Node 1 (ID: 0x1234) in Fig.1 needs to implement put/ get/remove operations for a data object with Resource ID 0x8213. Node 1 first looks up its Node Routing Table and finds out that the closest Partition ID corresponding to this Resource ID is 0x9000. Then Node 1 will send put/get/remove request to the node owns the Partition ID, in Fig.1 is Node2, whose Node ID is 0x4444 and address is 10.0.0.3:2000. Cheng & Sun Expires August 25, 2013 [Page 9] Internet-Draft LISP Single-Hop DHT Mapping Overlay February 2013 4. LISP SHDHT LISP SHDHT is proposed to provide "EID-to-RLOC(s)" mapping information lookup service for sites running the Locator/ID Separation Protocol (LISP). In LISP SHDHT, mapping overlay consists of SHDHT Nodes which play roles of SHDHT Map Server and/or SHDHT Map Resolver. In this draft SHDHT-MS and SHDHT-MR just represent function entities, and these entities could be collocated on the same SHDHT Node. All EID-to-RLOC mapping entries are stored in SHDHT Nodes as data objects. Each SHDHT Node has a RLOC address. EIDs in mapping entries can be hashed as Resource IDs of data objects. All SHDHT Nodes in the same SHDHT overly perform hash operation based on the same hash algorithm. Data objects stored in LISP SHDHT Nodes may be in the following format: Object (lisp) = [EID prefix, (RLOC1, priority, weight), ...,RLOCn, priority, weight), TTL ] 4.1. ITR Operation According to LISP-MS [RFC6833], LISP ITRs use Map Resolvers as proxy to send control messages, such like encapsulated Map-Requests and Map-Replies. In Scenario of LISP SHDHT, an ITR send Map-Requests directly to the SHDHT Node which is selected to play roles of SHDHT Map Resolver for the ITR. 4.2. ETR Operation According to LISP-MS [RFC6833], LISP ETRs register mapping information onto the Map Server by sending Map-Register messages. In scenario of LISP SHDHT, ETR could send Map-Register messages directly to the SHDHT Node which is selected to play roles of SHDHT Map Server for the registered EIDs. Alternatively, ETRs could send Map-Register messages to a nearest SHDHT Node who will hash registered mapping entries to be Resource IDs. Then, the SHDHT Node forwards Map-Register messages to the corresponding SHDHT Map Servers based on Resource IDs. This alternative strategy will be more efficient for roaming scenario. Furthermore, ETRs are no longer anchoring to fixed SHDHT Map Server Cheng & Sun Expires August 25, 2013 [Page 10] Internet-Draft LISP Single-Hop DHT Mapping Overlay February 2013 Nodes, and ISPs who operate mapping overlays could arrange hash space onto SHDHT Nodes more autonomously and could perform better load balance among SHDHT Nodes. 4.3. SHDHT Map Resolver Operation In LISP SHDHT, when a SHDHT Map Resolver receives a Map-Request message from an ITR, it will perform the following operations, 1. SHDHT Map Resolver extracts destination EID address from the Map- Request message. 2. SHDHT Map Resolver hashes the EID address to be Resource ID based on the shared hash algorithm. 3. SHDHT Map Resolver looks up Node Routing Table and finds out the Partition ID which matches the Resource ID. 4. SHDHT Map Resolver forwards Map-Request message to the corresponding SHDHT Node. This SHDHT Node maintains the hash space labeled by matched Partition ID and plays the role of SHDHT Map Server for the requested mapping entry. In LISP SHDHT, when a SHDHT Map Resolver receives a Map-Register message from an ETR, it will perform the following operations, 1. SHDHT Map Resolver extracts registered EID information of the Map-Register message. 2. SHDHT Map Resolver hashes the registered EID address to be Resource ID based on shared hash algorithm. 3. SHDHT Map Resolver looks up Node Routing Table and finds out the Partition ID which matches the Resource ID. 4. SHDHT Map Resolver forwards Map-Register message to the corresponding SHDHT Map Server. 4.4. SHDHT Map Server Operation In LISP SHDHT, when a SHDHT Map Server receives a Map-Request message, it will perform the following operations, 1. SHDHT Map Server first check if it is responsible for the requested mapping entry, i.e. if it has a hash space whose Partition ID matches Resource ID of the requested EID. Cheng & Sun Expires August 25, 2013 [Page 11] Internet-Draft LISP Single-Hop DHT Mapping Overlay February 2013 2. SHDHT Map Server then looks for data objects in its hash space according to the matched Partition ID. 3. If there's no data object corresponds to the requested EID, SHDHT Map Server responses a negative Map-Reply message. 4. If there's a data object corresponds to the requested EID, SHDHT Map Server will forward the Map-Request to registered ETR or return Map-Reply message if it offers proxy Map-Reply service. In LISP SHDHT, when a SHDHT Map Server receives a Map-Register message, it will perform the following operations, 1. SHDHT Map Server first checks if it is responsible for the registered mapping entry, i.e. if it has a hash space whose Partition ID matches Resource ID of the requested EID. 2. SHDHT Map Server then stores and maintains the registered mapping information in its hash space according to the matched Partition ID. 4.5. Encapsulated Message Format An Encapsulated Control Message (ECM) defined in[RFC6830] is used to encapsulate control packets sent between xTRs and mapping database system. At this time, only Map-Request messages are allowed to be encapsulated in ECM format. When ITRs choose a SHDHT Node as proxy to send control messages, they could use encapsulated message format defined in [RFC6830], as shown in Fig.2. Cheng & Sun Expires August 25, 2013 [Page 12] Internet-Draft LISP Single-Hop DHT Mapping Overlay February 2013 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / | IPv4 or IPv6 Header | OH | (uses RLOC addresses) | \ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / | Source Port = xxxx | Dest Port = 4342 | UDP +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ \ | UDP Length | UDP Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ LH |Type=8 |S| Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / | IPv4 or IPv6 Header | IH | (uses RLOC or EID addresses) | \ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / | Source Port = xxxx | Dest Port = yyyy | UDP +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ \ | UDP Length | UDP Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ LCM | LISP Control Message | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig.2 Encapsulated Control Message Format 4.5.1. Encapsulated Map Request Suppose that the selected SHDHT Node of an ITR is Node1. When the ITR sends Encapsulated Map-Requests to Node1, source address and destination address in message OH (Outside Header) should be RLOC addresses of ITR and Node1 respectively. In the IH (Inside Header), source address is still RLOC address of Node1, while destination address is the inquired EID address. Consider Node1 is a configured Map Resolver, and then the configuration of Encapsulated Map-Request message has not been changed. Cheng & Sun Expires August 25, 2013 [Page 13] Internet-Draft LISP Single-Hop DHT Mapping Overlay February 2013 5. Domain LISP SHDHT Deployment LISP is a global architecture. In order to make LISP SHDHT meets requirements of LISP mapping database better, LISP SHDHT should perform better scalability and distribution attributes. Especially in practical application, LISP mapping database may be operated by different ISPs, when a new mapping service provider join or leave the mapping database, all other providers should not be influenced to be re-assigned. In practice deployment, LISP SHDHT mapping overlay could be consist of multiple Domain SHDHT overlays which are operated by different mapping service providers. These Domain SHDHT overlays communicate through SHDHT Border Nodes of each other. As shown in Fig.3, there are two Domain LISP SHDHT Overlays which communicate through BN1 (Border Node1) and BN2. In domain LISP SHDHT deployment, different domain overlays maintain EID-to-RLOC mapping information covered by different EID prefixes. As in example of Fig.3, Domain 1 maintains mapping information according to EID prefix 12.0.0.0/8, and Domain 2 maintains mapping information covered by EID prefix 16.0.0.0/8. +----+ +-----+ +-----+ +-----+ +-----+ +----+ |ITR1+-----+Node1+------+Node2| |Node4+------+Node5+------+ITR2| +----+ +--+--+ +--+--+ +--+--+ +--+--+ +----+ | Domain | | Domain | | Overlay 1 | | Overlay 2 | | 12.0.0.0\8 | | 16.0.0.0\8 | +----+ +--+--+ +--+--+ +--+--+ +--+--+ +----+ |ETR1+-----+Node3+------+ BN1 |<->| BN2 +------+Node6+------+ETR2| +----+ +-----+ +-----+ +-----+ +-----+ +----+ * BN: SHDHT Border Node Fig.3 Domain SHDHT Deployment Example 5.1. SHDHT Border Node Each Domain SHDHT Overlay has one or more Border Nodes which are not only to store EID-to-RLOC mapping just like normal SHDHT Nodes, but also be used to flood cross domain routing and forward the cross domain packets. Each SHDHT Border Node maintains an Inter-Domain Routing Table, which contains information of all other domain overlays, such like EID Cheng & Sun Expires August 25, 2013 [Page 14] Internet-Draft LISP Single-Hop DHT Mapping Overlay February 2013 prefixes other domain overlays maintain, IP addresses and ports information of other overlays' Border Nodes. At the beginning, Inter-Domain Routing Table could be configured on SHDHT Border Nodes. Then, a SHDHT Border Node will flood cross domain routing periodically to trigger other Border Nodes update their Inter-Domain Routing Tables. 5.2. Mapping Register 5.2.1. Intra Domain Mapping Register All SHDHT Nodes of a Domain SHDHT Overlay must be noticed the EID prefixes that local domain overlay responsible for. When a SHDHT Node of a domain overlay receives a Map-Register message, it checks if the registered EIDs are covered by local domain overlay's EID prefixes. If local domain overlay is responsible for registered EIDs, SHDHT Node who receives Map-Register message will process the message as procedures listed in Section 4.3. Suppose in Fig.3, ETR1 registers mapping entry of EID 12.0.0.1 to Node3 of Domain1. Node 3 will perform the following operations, 1. Node3 extracts the mapping information and finds that the registered EID is 12.0.0.1. 2. Node3 determines that EID 12.0.0.1 is covered by Domain 1's prefix 12.0.0.0/8. 3. Node3 hashes registered EID 12.0.0.1 to be Resource ID. 4. Node3 forwards Map-Register message to the Node whose Partition ID matches the Resource ID. 5.2.2. Inter Domain Mapping Register All SHDHT Nodes of a Domain SHDHT Overlay must be configured with routing information pointing to local domain overlay's Border Nodes. When a SHDHT Node of a domain overlay receives a Map-Register message, it checks if the registered EIDs are covered by local domain overlay's EID prefixes. If local domain overlay is not responsible for registered EIDs, SHDHT Node who receives Map-Register message will forward it directly to local domain overlay's Border Nodes. Then, Border Nodes will forward the message to corresponding domain overlay based on the Inter-Domain Routing Table. Suppose in Fig.3, ETR2 registers mapping entry of EID 12.2.0.1 to Node 6 of Domain 2. It will perform the following operations, Cheng & Sun Expires August 25, 2013 [Page 15] Internet-Draft LISP Single-Hop DHT Mapping Overlay February 2013 1. Node6 extracts the mapping information and finds that the registered EID is 12.2.0.1. 2. Node6 determines that EID 12.2.0.1 is not covered by Domain 2's prefix 16.0.0.0/8. 3. Node6 forwards the Map-Register message to BN2. 4. BN2 extracts mapping information and looks for Inter-Domain Routing Table to find corresponding domain overlay of EID 12.2.0.1. 5. BN2 finds out Domain 1 is responsible for EID 12.2.0.1. BN2 forwards Map-Register message to Domain 1's Border Node ( BN1). 6. BN1 processes the Map-Register message based on procedures introduced in Section 5.2.1. 5.3. Mapping Request 5.3.1. Intra Domain Mapping Request When SHDHT Node of a Domain SHDHT Overlay receives a Map-Request message, it checks if the requested EID is covered by local domain overlay's EID prefixes, i.e. if the requested mapping entry is stored on local domain overlay. If local domain overlay is responsible for requested EID, SHDHT Node hashes the requested EID to be Resource ID and forward message to the SHDHT Node who maintains the hash space labeled by matched Partition ID. The Target SHDHT Node plays roles of SHDHT Map Server for the required mapping entry, and will process the message based on procedures introduced in Section 4.4. Suppose in Fig.3, ITR1 send a Map-Request message to Node1 of Domain 1 to get mapping information of EID 12.2.0.1. 1. Node1 extract requested EID from the Map-Request message. 2. Node1 determines that EID 12.2.0.1 is covered by Domain 1's EID prefix 12.0.0.0/8. The mapping entry is now stored on a SHDHT Node of Domain 1. 3. Node1 hashes requested EID 12.0.0.1 to be Resource ID. 4. Node1 forwards Map-Register message to the Node whose Partition ID matches the Resource ID. Cheng & Sun Expires August 25, 2013 [Page 16] Internet-Draft LISP Single-Hop DHT Mapping Overlay February 2013 5.3.2. Inter Domain Mapping Request When SHDHT Node of a Domain SHDHT Overlay receives a Map-Request message, it checks if the requested EID is covered by local domain overlay's EID prefixes. If the requested EID entry is not stored on local domain overlay, SHDHT Node directly forwards the Map-Request to Border Nodes. Border Nodes of local domain overlay then forwards it to corresponding domain overlay based on Inter-Domain Routing Table. Suppose in Fig.3, ITR2 send a Map-Request message to Node 5 of Domain 2 to get mapping information of EID 12.0.0.1. 1. Node5 extracts requested EID from the Map-Request message. 2. Node5 determines that EID 12.0.0.1 is not covered by Domain 2's prefix 16.0.0.0/8. 3. Node5 forwards the Map-Request message to BN2. 4. BN2 extracts requested EID and looks for Inter-Domain Routing Table to find corresponding domain overlay of EID 12.0.0.1. 5. BN2 finds out Domain 1 is responsible for EID 12.0.0.1. BN2 forwards Map-Request message to Domain 1's Border Node ( BN1). 6. BN1 processes the Map-Request message based on procedures introduced in Section 5.3.1. Cheng & Sun Expires August 25, 2013 [Page 17] Internet-Draft LISP Single-Hop DHT Mapping Overlay February 2013 6. Mobility Considerations As specified in section 4.2 and 4.3, ITR/ETR could choose a nearest LISP SHDHT Node as proxy to send control messages. Based on LISP SHDHT, when roaming events occurs, the roamed LISP sites or LISP MNs are no longer need to anchor pre-configured map- servers. Cheng & Sun Expires August 25, 2013 [Page 18] Internet-Draft LISP Single-Hop DHT Mapping Overlay February 2013 7. Security Considerations TBD Cheng & Sun Expires August 25, 2013 [Page 19] Internet-Draft LISP Single-Hop DHT Mapping Overlay February 2013 8. IANA Considerations This document makes no requests to IANA. Cheng & Sun Expires August 25, 2013 [Page 20] Internet-Draft LISP Single-Hop DHT Mapping Overlay February 2013 9. References 9.1. Normative References [I-D.meyer-lisp-mn] Farinacci, D., Lewis, D., Meyer, D., and C. White, "LISP Mobile Node", October 2012. [I-ietf-lisp-ddt] Fuller, V., Lewis, D., and V. Ermagan, "LISP Delegated Database Tree", October 2012. [LISP-DHT] Mathy, L. and L. Iannone, "LISP-DHT: Towards a DHT to map identifiers onto locators, http://dl.acm.org/citation.cfm?id=1544073", December 2008. [RFC6830] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "Locator/ID Separation Protocol (LISP)", January 2013. [RFC6836] Fuller, V., Farinacci, D., Meyer, D., and D. Lewis, "LISP Alternative Topology (LISP+ALT)", January 2013. 9.2. Informational References [I-D.lear-lisp-nerd] Lear, E., "NERD: A Not-so-novel EID to RLOC Database", April 2012. [RFC6833] Fuller, V. and D. Farinacci, "LISP Map Server Interface", January 2013. Appendix A. Acknowledgments The authors with to express their thanks to Michael Hoefling for work on Hash space segment of SHDHT overlay. Thanks also go to Dino Farinacci and Darrel Lewis for their suggestions about database structure deployment. Cheng & Sun Expires August 25, 2013 [Page 21] Internet-Draft LISP Single-Hop DHT Mapping Overlay February 2013 Authors' Addresses Li Cheng ZTE Corporation R&D Building 1, Zijinghua Road No.68 Nanjing, Yuhuatai District 210012 P.R.China Email: cheng.li2@zte.com.cn Mo Sun ZTE Corporation R&D Building 1, Zijinghua Road No.68 Nanjing, Yuhuatai District 210012 P.R.China Email: sun.mo@zte.com.cn Cheng & Sun Expires August 25, 2013 [Page 22]