Network Working Group D. Lewis
Internet-Draft L. Kreeger
Intended status: Informational F. Maino
Expires: February 28, 2014 P. Quinn
Cisco Systems, Inc.
M. Smith
N. Yadav
Insieme Networks
August 27, 2013
LISP Generic Protocol Extension
draft-lewis-lisp-gpe-00.txt
Abstract
This draft describes a mechanism for adding generalized multi-
protocol support to the Locator/ID Separation Protocol (LISP)
[RFC6830]. Protocol identification is carried in the LISP header and
is used to describe the encapsulated payload.
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 February 28, 2014.
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
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
Lewis, et al. Expires February 28, 2014 [Page 1]
Internet-Draft LISP Generic Protocol Extension August 2013
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. LISP Header . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Generic Protocol Extension for LISP (LISP-gpe) . . . . . . . . 5
3.1. LISP-gpe Header . . . . . . . . . . . . . . . . . . . . . 5
4. Backward Compatibility . . . . . . . . . . . . . . . . . . . . 6
4.1. LISP-gpe Routers to (legacy) LISP Routers . . . . . . . . 6
4.2. (legacy) LISP Routers to LISP-gpe Routers . . . . . . . . 6
4.3. Type of Service . . . . . . . . . . . . . . . . . . . . . 6
4.4. VLAN Identifier (VID) . . . . . . . . . . . . . . . . . . 6
5. LISP-gpe Examples . . . . . . . . . . . . . . . . . . . . . . 7
6. Security Considerations . . . . . . . . . . . . . . . . . . . 9
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 10
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
9.1. Normative References . . . . . . . . . . . . . . . . . . . 12
9.2. Informative References . . . . . . . . . . . . . . . . . . 12
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13
Lewis, et al. Expires February 28, 2014 [Page 2]
Internet-Draft LISP Generic Protocol Extension August 2013
1. Introduction
LISP [RFC6830] defines an encapsulation format that carries IPv4 or
IPv6 (henceforth referred to as IP) packets in a LISP header and
outer UDP/IP transport. The LISP header does not specify the
protocol being encapsulated and therefore is currently limited to
encapsulating only IP packet payloads. Other protocols, most notably
VXLAN [VXLAN] (which defines a similar header format to LISP), are
used to encapsulate L2 protocols such as Ethernet. LISP [RFC6830]
can be extended to indicate the inner protocol, enabling the
encapsulation of Ethernet, IP or any other desired protocol all the
while ensuring compatibility with existing LISP [RFC6830]
deployments.
This document describes extending LISP ([RFC6830]) to support
additional payload types beyond IP packets. To support this
capability, two elements of the existing LISP header are modified.
1. A flag bit is allocated, and set in the LISP header.
2. A 16 bit Protocol Type field is present in the LISP header.
These changes allow for the LISP header to support many different
types of payloads. Backward compatibility with existing LISP tunnel
routers is discussed in section 4.
Lewis, et al. Expires February 28, 2014 [Page 3]
Internet-Draft LISP Generic Protocol Extension August 2013
2. LISP Header
As described in the introduction, the LISP header has no protocol
identifier that indicates the type of payload being carried by LISP.
Because of this, LISP is limited to an IP payload.
The LISP header contains flags (some defined, some reserved), a
Nonce/Map-version field and an instance ID/Locator-status-bit field.
The flags provide flexibility to define how the reserved bits can be
used to change the definition of the LISP header.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|N|L|E|V|I|flags| Nonce/Map-Version |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Instance ID/Locator-Status-Bits |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: LISP Header
Lewis, et al. Expires February 28, 2014 [Page 4]
Internet-Draft LISP Generic Protocol Extension August 2013
3. Generic Protocol Extension for LISP (LISP-gpe)
3.1. LISP-gpe Header
This draft defines two changes to the LISP header in order to support
multi-protocol encapsulation.
P Bit: Flag bit 5 is defined as the P bit. The P bit MUST be set to
1 to indicate the presence of the 16 bit protocol type field in
the lower 16 bits of the first word.
P = 0 indicates that the payload MUST conform to LISP as defined
in [RFC6830].
Flag bit 5 was chosen as the P bit because this flag bit is
currently unallocated in LISP [RFC6830].
Protocol Type Field: The lower 16 bits of the first word are used to
carry a protocol type. This protocol type field contains the
protocol, as defined in in [RFC1700] and in [ETYPES], of the
encapsulated payload packet.
LISP [RFC6830] uses the lower 16 bits of the first word for either
a nonce, an echo-nonce ([RFC6830]) or to support map-versioning
([RFC6834]). These are all optional capabilities that are
indicated by setting the N, E, and the V bit respectively.
To maintain the desired data plane compatibility, when the P bit
is set, the N, E, and V bits MUST be set to zero.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port = xxxx | Dest Port = 4341 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| UDP Length | UDP Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|N|L|E|V|I|P|R|R| Reserved |Nonce/Map-Version/Protocol-Type|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Instance ID/Locator-Status-Bits |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: UDP + LISP-gpe
Lewis, et al. Expires February 28, 2014 [Page 5]
Internet-Draft LISP Generic Protocol Extension August 2013
4. Backward Compatibility
An undefined (in RFC6830) flag bit, 5, was selected to ensure
compatibility with existing LISP [RFC6830] deployments.
Similarly, using P = 0 to indicate that the format of the header and
payload conforms to [RFC6830] ensures compatibility with existing
LISP hardware forwarding platforms.
4.1. LISP-gpe Routers to (legacy) LISP Routers
A LISP-gpe router MUST not encapsulate non-IP packets to a LISP
router. A method for determining the capabilities of a LISP router
(gpe or "legacy") is out of the scope of this draft.
When encapsulating IP packets to a LISP router the P bit SHOULD be
set to 1 and the UDP port MUST be set to 4341. The Protocol Type
field SHOULD be 0x800 or 0x86DD. The (legacy) LISP router will
ignore the P bit and the protocol type field. The (legacy) LISP
router will treat the packet as a LISP packet and inspect the first
nibble of the payload to determine the IP version.
When the P bit is set, the N, E, and V bits MUST be set to zero. The
receiving (legacy) LISP router will ignore N, E and V bits, when the
P bit is set.
4.2. (legacy) LISP Routers to LISP-gpe Routers
When a LISP-gpe router receives a packet from a (legacy) LISP router,
the P bit MUST not be set and the UDP port MUST be 4341. The payload
MUST be IP, and the LISP-gpe router will inspect the first nibble of
the payload to determine IP version.
4.3. Type of Service
When a LISP-gpe router performs Ethernet encapsulation, the inner
802.1Q [IEEE8021Q] priority code point (PCP) field MAY be mapped from
the encapsulated frame to the Type of Service field in the outer IPv4
header, or in the case of IPv6 the 'Traffic Class' field.
4.4. VLAN Identifier (VID)
When a LISP-gpe router performs Ethernet encapsulation, the inner
header 802.1Q [IEEE8021Q] VLAN Identifier (VID) MAY be mapped to, or
used to determine the LISP Instance ID field.
Lewis, et al. Expires February 28, 2014 [Page 6]
Internet-Draft LISP Generic Protocol Extension August 2013
5. LISP-gpe Examples
This section provides two examples of IP protocols, and one example
of Ethernet encapsulated LISP-gpe using the generic extension
described in this document.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|N|L|E|V|I|1|R|R| Reserved | 0x800 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Instance ID/Locator-Status-Bits |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Original IPv4 Packet |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: IPv4 and LISP-gpe
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|N|L|E|V|I|1|R|R| Reserved | 0x86DD |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Instance ID/Locator-Status-Bits |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Original IPv6 Packet |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: IPv6 and LISP-gpe
Lewis, et al. Expires February 28, 2014 [Page 7]
Internet-Draft LISP Generic Protocol Extension August 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|N|L|E|V|I|1|R|R| Reserved | 0x6558 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Instance ID/Locator-Status-Bits |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Original Ethernet Frame |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 5: Ethernet and LISP-gpe
Lewis, et al. Expires February 28, 2014 [Page 8]
Internet-Draft LISP Generic Protocol Extension August 2013
6. Security Considerations
LISP-gpe security considerations are similar to the LISP security
considerations documented at length in LISP [RFC6830]. With LISP-
gpe, issues such as dataplane spoofing, flooding, and traffic
redirection are dependent on the particular protocol payload
encapsulated.
Lewis, et al. Expires February 28, 2014 [Page 9]
Internet-Draft LISP Generic Protocol Extension August 2013
7. Acknowledgments
A special thank you goes to Dino Farinacci for his guidance and
detailed review.
Lewis, et al. Expires February 28, 2014 [Page 10]
Internet-Draft LISP Generic Protocol Extension August 2013
8. IANA Considerations
This document creates no new requirements on IANA namespaces
[RFC5226].
Lewis, et al. Expires February 28, 2014 [Page 11]
Internet-Draft LISP Generic Protocol Extension August 2013
9. References
9.1. Normative References
[RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768,
August 1980.
[RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791,
September 1981.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226,
May 2008.
9.2. Informative References
[ETYPES] The IEEE Registration Authority, "IEEE 802 Numbers", 2012,
<http://www.iana.org/assignments/ieee-802-numbers/
ieee-802-numbers.xml>.
[IEEE8021Q]
The IEEE Computer Society, "Media Access Control (MAC)
Bridges and Virtual Bridge Local Area Networks", August
2012, <http://standards.ieee.org/getieee802/download/
802.1Q-2011.pdf>.
[RFC1700] Reynolds, J. and J. Postel, "Assigned Numbers", RFC 1700,
October 1994.
[RFC6830] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The
Locator/ID Separation Protocol (LISP)", RFC 6830,
January 2013.
[RFC6834] Iannone, L., Saucez, D., and O. Bonaventure, "Locator/ID
Separation Protocol (LISP) Map-Versioning", RFC 6834,
January 2013.
[VXLAN] Dutt, D., Mahalingam, M., Duda, K., Agarwal, P., Kreeger,
L., Sridhar, T., Bursell, M., and C. Wright, "VXLAN: A
Framework for Overlaying Virtualized Layer 2 Networks over
Layer 3 Networks", 2013.
Lewis, et al. Expires February 28, 2014 [Page 12]
Internet-Draft LISP Generic Protocol Extension August 2013
Authors' Addresses
Darrel Lewis
Cisco Systems, Inc.
Email: darlewis@cisco.com
Larry Kreeger
Cisco Systems, Inc.
Email: kreeger@cisco.com
Fabio Maino
Cisco Systems, Inc.
Email: kreeger@cisco.com
Paul Quinn
Cisco Systems, Inc.
Email: paulq@cisco.com
Michael Smith
Insieme Networks
Email: michsmit@insiemenetworks.com
Navindra Yadav
Insieme Networks
Email: nyadav@insiemenetworks.com
Lewis, et al. Expires February 28, 2014 [Page 13]