LISP Single-Hop DHT Mapping Overlay
draft-cheng-lisp-shdht-00
This document is an Internet-Draft (I-D).
Anyone may submit an I-D to the IETF.
This I-D is not endorsed by the IETF and has no formal standing in the
IETF standards process.
The information below is for an old version of the document.
| Document | Type |
This is an older version of an Internet-Draft whose latest revision state is "Expired".
|
|
|---|---|---|---|
| Authors | Li Cheng , Jun Wang | ||
| Last updated | 2012-07-09 | ||
| RFC stream | (None) | ||
| Formats | |||
| 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-00
LISP Working Group L. Cheng
Internet-Draft M. Sun
Intended status: Standards Track ZTE Corporation
Expires: January 9, 2013 July 8, 2012
draft-cheng-lisp-shdht-00
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 plan.
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 9, 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 9, 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
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 4
2. Definition of Terms . . . . . . . . . . . . . . . . . . . . . 4
3. SHDHT Overview . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Node ID and Partition ID . . . . . . . . . . . . . . . . . 4
3.2. Data Storage and Hash Assignment . . . . . . . . . . . . . 5
3.3. Node Routing Table . . . . . . . . . . . . . . . . . . . . 6
4. LISP SHDHT . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.1. SHDHT Node Operation . . . . . . . . . . . . . . . . . . . 7
4.2. ITR Operation . . . . . . . . . . . . . . . . . . . . . . 7
4.3. ETR Operation . . . . . . . . . . . . . . . . . . . . . . 8
4.4. Encapsulated Message Format . . . . . . . . . . . . . . . 8
4.4.1. Encapsulated Map Request . . . . . . . . . . . . . . . 9
4.4.2. Encapsulated Map Register . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11
Cheng & Sun Expires January 9, 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
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 mapping 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, massages 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 9, 2013 [Page 3]
Internet-Draft LISP Single-Hop DHT Mapping Overlay July 2012
is designed.
1.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC2119 [RFC2119].
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
with hash space segments that the nodes responsible for.
Cheng & Sun Expires January 9, 2013 [Page 4]
Internet-Draft LISP Single-Hop DHT Mapping Overlay July 2012
+--------------------+ +--------------------+
|Node ID: 0x0123| |Node ID: 0x4444|
|Partition ID: 0x1234| +-----+ +-----+ |Partition ID: 0x8000|
| 0x6000| |Node1+----------+Node2| | 0x6000|
+--------------------+ +--+--+ +--+--+ +--------------------+
| |
| |
| |
| |
+--------------------+ +--+--+ +--+--+ +--------------------+
|Node ID: 0xe000| |Node3+----------+Node4| |Node ID: 0xc000|
|Partition ID: 0x4000| +-----+ +-----+ |Partition ID: 0xaaaa|
| 0xeeee| | 0xcccc|
+--------------------+ +--------------------+
Fig.1
In SHDHT, two roles of maintenance and hash space arrangement are
separated and a new kind identifier called Partition ID is adopted.
As shown in Fig.1, 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.
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. When a SHDHT Node gets the Resource ID of a data
object, it could find out Partition ID of the hash space segment
where the data object now locates in.
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
Cheng & Sun Expires January 9, 2013 [Page 5]
Internet-Draft LISP Single-Hop DHT Mapping Overlay July 2012
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 massage point 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, massage could be
transferred to the corresponding SHDHT Node.
+--------------+---------+---------------+
| Partition ID | Node ID | Address |
+--------------+---------+---------------+
| 0x1234 | 0x0123 | 10.0.0.2:2000 |
| 0x3000 | 0x4444 | 10.0.0.3:2000 |
| 0x4000 | 0xe000 | 10.0.0.4:2000 |
| 0x6000 | 0x0123 | 10.0.0.2:2000 |
| 0x8000 | 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
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
Cheng & Sun Expires January 9, 2013 [Page 6]
Internet-Draft LISP Single-Hop DHT Mapping Overlay July 2012
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 massage from
the LISP data plane, it will perform the following operations,
1. SHDHT Node extracts destination EID address from the control
massage.
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 massage and
performs proper operations according to massage 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 massage 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-
Cheng & Sun Expires January 9, 2013 [Page 7]
Internet-Draft LISP Single-Hop DHT Mapping Overlay July 2012
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 encapsulated Map-Register
messages.
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 ITRs/ETRs and
mapping database system. When ITRs/ETRs choose a SHDHT Node as proxy
to send control messages, they could use encapsulated message format
defined in , as shown in Fig.2.
Cheng & Sun Expires January 9, 2013 [Page 8]
Internet-Draft LISP Single-Hop DHT Mapping Overlay July 2012
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.
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.
4.4.2. Encapsulated Map Register
Suppose an ETR chooses a SHDHT Node (Node2) to send encapsulated Map-
Register.
As in traditional mapping overlay design, ETR anchors the
corresponding map server, and send Map-Register message to map
Cheng & Sun Expires January 9, 2013 [Page 9]
Internet-Draft LISP Single-Hop DHT Mapping Overlay July 2012
server. As a result, the destination address in both OH and IH of
encapsulated Map-Register message should be RLOC address of map
server.
However, in LISP SHDHT, there are some modifications.
When the ETR send Encapsulated Map-Register to Node2, the source
address in both OH and IH of message is RLOC address of ETR. The
destination address in OH should be RLOC address of Node2, while
destination address in IH should be the EID address according to the
registered mapping entry. Furthermore, if the registered mapping
entry is an EID prefix mapping entry, ETR could choose the highest
EID address of the prefix as destination address.
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
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", March 1997.
8.2. Informational References
[I-D.fuller-lisp-ddt]
Fuller, V., Lewis, D., and V. Ermagan, "LISP Delegated
Database Tree", March 2012.
Cheng & Sun Expires January 9, 2013 [Page 10]
Internet-Draft LISP Single-Hop DHT Mapping Overlay July 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.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.
[I-D.mathy-lisp-dht]
Mathy, L., Iannone, L., and O. Bonaventure, "LISP-DHT:
Towards a DHT to map identifiers onto locators",
February 2008.
[I-D.meyer-lisp-mn]
Farinacci, D., Lewis, D., Meyer, D., and C. White, "LISP
Mobile Node", 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 9, 2013 [Page 11]