LISP Single-Hop DHT Mapping Overlay
draft-cheng-lisp-shdht-01
The information below is for an old version of the document.
| Document | Type | Active Internet-Draft (individual) | |
|---|---|---|---|
| Authors | Li Cheng , Jun Wang | ||
| Last updated | 2012-07-16 | ||
| Stream | (None) | ||
| Formats | plain text htmlized pdfized bibtex | ||
| Stream | Stream state | (No stream defined) | |
| Consensus boilerplate | Unknown | ||
| RFC Editor Note | (None) | ||
| IESG | IESG state | I-D Exists | |
| Telechat date | (None) | ||
| Responsible AD | (None) | ||
| Send notices to | (None) |
draft-cheng-lisp-shdht-01
LISP Working Group L. Cheng
Internet-Draft M. Sun
Intended status: Standards Track ZTE Corporation
Expires: January 17, 2013 July 16, 2012
draft-cheng-lisp-shdht-01
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 is according 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
destiny 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 January 17, 2013.
Copyright Notice
Copyright (c) 2012 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 January 17, 2013 [Page 1]
Internet-Draft LISP Single-Hop DHT Mapping Overlay July 2012
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 . . . . . . . . . . . . . . . . . . . . . 4
3. SHDHT Overview . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Node ID and Partition ID . . . . . . . . . . . . . . . . . 4
3.2. Data Storage and Hash Assignment . . . . . . . . . . . . . 6
3.3. Node Routing Table . . . . . . . . . . . . . . . . . . . . 6
4. LISP SHDHT . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.1. SHDHT Node Operation . . . . . . . . . . . . . . . . . . . 7
4.2. ITR Operation . . . . . . . . . . . . . . . . . . . . . . 8
4.3. ETR Operation . . . . . . . . . . . . . . . . . . . . . . 8
4.4. Encapsulated Message Format . . . . . . . . . . . . . . . 9
4.4.1. Encapsulated Map Request . . . . . . . . . . . . . . . 9
5. Mobility Considerations . . . . . . . . . . . . . . . . . . . 10
6. Security Considerations . . . . . . . . . . . . . . . . . . . 10
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10
8.1. Normative References . . . . . . . . . . . . . . . . . . . 10
8.2. Informational References . . . . . . . . . . . . . . . . . 11
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11
Cheng & Sun Expires January 17, 2013 [Page 2]
Internet-Draft LISP Single-Hop DHT Mapping Overlay July 2012
1. Introduction
Locator/ID Separation Protocol (LISP) [I-D.ietf-lisp] 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[I-D.ietf-lisp-alt], LISP-DDT[I-D.fuller-lisp-ddt], and LISP-DHT
[I-D.fuller-lisp-ddt].
According to hybrid model databases such like LISP-ALT
[I-D.ietf-lisp-alt] and LISP-DDT [I-D.fuller-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
[I-D.mathy-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 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
Cheng & Sun Expires January 17, 2013 [Page 3]
Internet-Draft LISP Single-Hop DHT Mapping Overlay July 2012
is designed.
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 operators and could be deployed as
collaborative combination of multiple domain LISP SHDHTs. Deployment
of collaborative domain LISP SHDHTs is for future study, as well as
the security strategies on/between domain LISP SHDHTs.
2. Definition of Terms
This draft uses terms defined in [I-D.ietf-lisp]. 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.
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
are according 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 on SHDHT Nodes.
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[I-D.mathy-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
Cheng & Sun Expires January 17, 2013 [Page 4]
Internet-Draft LISP Single-Hop DHT Mapping Overlay July 2012
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. I, it could be observed that hash space segments are not
required to be partitioned equally. As SHDHT Nodes could general
Partition IDs separately, when a SHDHT Node gets all hash segments
assignment information for 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.
Cheng & Sun Expires January 17, 2013 [Page 5]
Internet-Draft LISP Single-Hop DHT Mapping Overlay July 2012
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.
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
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 for 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.
Cheng & Sun Expires January 17, 2013 [Page 6]
Internet-Draft LISP Single-Hop DHT Mapping Overlay July 2012
+--------------+---------+---------------+
| 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 II 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 lookups its Node Routing Table and finds out that the
closest Partition ID to this Resource ID is 0x9000. Then Node 1 will
send put/get/remove request to the node owns the Partiton ID, in
Fig.1 is Node2, whose Node ID is 0x4444 and address is 10.0.0.3:2000.
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 SHDHT, all EID-to-RLOC mapping entries are stored in SHDHT Nodes
as data objects. Each SHDHT Node have 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. SHDHT Node Operation
In SHDHT, each SHDHT Node plays the roles of mapping server and
forwarding router. When a SHDHT Node receives a control message from
the LISP data plane, it will perform the following operations,
Cheng & Sun Expires January 17, 2013 [Page 7]
Internet-Draft LISP Single-Hop DHT Mapping Overlay July 2012
1. SHDHT Node extracts destination EID address from the control
message.
2. SHDHT Node map the EID address to be Resource ID based on the
shared hash algorithm.
3. SHDHT Node look up the Node Routing Table and find out the
Partition ID which is closest to the Resource ID.
4. If the Resource ID locates in hash space segments the SHDHT Node
responsible for, SHDHT Node decapsulates the control message and
performs proper operations according to message type:
* If the message is a Map-Request, SHDHT Node first checks if
there's data objection, i.e. corresponding mapping entry,
matching the Resource ID. If there is no match, the SHDHT
Node returns a encapsulated negative Map-Reply. If there is
matched mapping entry, the SHDHT Node returns the encapsulated
Map-Reply. Furthermore, if the queried EID is covered by an
EID prefix mapping entry, SHDHT Node could choose to return
EID prefix mapping as response.
* If the message is a Map-Register, SHDHT Node extracts and
stores mapping information in the message.
5. Otherwise, SHDHT Node re-encapsulates the control message and
sends it to the corresponding node based on routing information
in Node Routing Table.
4.2. ITR Operation
According to LISP-MS [I-D.ietf-lisp-ms], LISP ITRs use Map Resolvers
as proxy to send control messages, such like encapsulated Map-
Requests and Map-Replies.
In scenario of LISP SHDHT, SHDHT Nodes could also be configured as a
Map Resolvers for the ITRs. An ITR could send encapsulated Map-
Requests to a SHDHT Node directly. If the selected SHDHT Node is the
node who maintains the matching information, it will respond Map-
Replies directly. Otherwise, it will forward Map-Requests into the
DHT overlay, and forward Map-Replies to ITRs when it receives
responds from other SHDHT Nodes.
4.3. ETR Operation
According to LISP-MS [I-D.ietf-lisp-ms], LISP ETRs register mapping
information onto the Map Server by sending Map-Register messages.
Cheng & Sun Expires January 17, 2013 [Page 8]
Internet-Draft LISP Single-Hop DHT Mapping Overlay July 2012
In scenario of LISP SHDHT, SHDHT Nodes play the role of Map Server.
Thus, encapsulated Map-Register messages should be sent to
corresponding SHDHT Nodes. As a result, ETRs could send Map-Register
messages to a nearest SHDHT Node who will forward messages to the
corresponding SHDHT Nodes who should take on the responsibility.
4.4. Encapsulated Message Format
An Encapsulated Control Message (ECM) defined in[I-D.ietf-lisp] 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 , as shown in Fig.2.
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.4.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.
Cheng & Sun Expires January 17, 2013 [Page 9]
Internet-Draft LISP Single-Hop DHT Mapping Overlay July 2012
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.
5. 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.
6. Security Considerations
TBD
7. IANA Considerations
This document makes no requests to IANA.
8. References
8.1. Normative References
[I-D.fuller-lisp-ddt]
Fuller, V., Lewis, D., and V. Ermagan, "LISP Delegated
Database Tree", March 2012.
[I-D.ietf-lisp]
Farinacci, D., Fuller, V., Meyer, D., and D. Lewis,
"Locator/ID Separation Protocol (LISP)", May 2012.
[I-D.ietf-lisp-alt]
Fuller, V., Farinacci, D., Meyer, D., and D. Lewis, "LISP
Alternative Topology (LISP+ALT)", December 2011.
[I-D.mathy-lisp-dht]
Mathy, L., Iannone, L., and O. Bonaventure, "LISP-DHT:
Towards a DHT to map identifiers onto locators
http://biblio.info.ucl.ac.be/2008/456949.txt",
Cheng & Sun Expires January 17, 2013 [Page 10]
Internet-Draft LISP Single-Hop DHT Mapping Overlay July 2012
February 2008.
[I-D.meyer-lisp-mn]
Farinacci, D., Lewis, D., Meyer, D., and C. White, "LISP
Mobile Node", April 2012.
8.2. Informational References
[I-D.ietf-lisp-ms]
Fuller, V. and D. Farinacci, "LISP Map Server Interface",
March 2012.
[I-D.lear-lisp-nerd]
Lear, E., "NERD: A Not-so-novel EID to RLOC Database",
April 2012.
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 January 17, 2013 [Page 11]