1 Network Working Group D. Lewis
2 Internet-Draft Cisco Systems, Inc.
3 Intended status: Informational P. Agarwal
4 Expires: January 5, 2015 Broadcom
14 LISP Generic Protocol Extension
15 draft-lewis-lisp-gpe-02.txt
19 This draft describes extending the Locator/ID Separation Protocol
20 (LISP) [RFC6830], via changes to the LISP header, with three new
21 capabilities: support for multi-protocol encapsulation, operations,
22 administration and management (OAM) signaling, and explicit
27 This Internet-Draft is submitted in full conformance with the
28 provisions of BCP 78 and BCP 79.
30 Internet-Drafts are working documents of the Internet Engineering
31 Task Force (IETF). Note that other groups may also distribute
32 working documents as Internet-Drafts. The list of current Internet-
33 Drafts is at http://datatracker.ietf.org/drafts/current/.
35 Internet-Drafts are draft documents valid for a maximum of six months
36 and may be updated, replaced, or obsoleted by other documents at any
37 time. It is inappropriate to use Internet-Drafts as reference
38 material or to cite them other than as "work in progress."
40 This Internet-Draft will expire on January 5, 2015.
44 Copyright (c) 2014 IETF Trust and the persons identified as the
45 document authors. All rights reserved.
47 This document is subject to BCP 78 and the IETF Trust's Legal
48 Provisions Relating to IETF Documents
52 Lewis, et al. Expires January 5, 2015 [Page 1]
54 Internet-Draft LISP Generic Protocol Extension July 2014
57 (http://trustee.ietf.org/license-info) in effect on the date of
58 publication of this document. Please review these documents
59 carefully, as they describe your rights and restrictions with respect
60 to this document. Code Components extracted from this document must
61 include Simplified BSD License text as described in Section 4.e of
62 the Trust Legal Provisions and are provided without warranty as
63 described in the Simplified BSD License.
68 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
69 2. LISP Header Without Protocol Extensions . . . . . . . . . . . 4
70 3. Generic Protocol Extension for LISP (LISP-gpe) . . . . . . . . 5
71 3.1. Multi Protocol Support . . . . . . . . . . . . . . . . . . 5
72 3.2. OAM Support . . . . . . . . . . . . . . . . . . . . . . . 6
73 3.3. Version Bits . . . . . . . . . . . . . . . . . . . . . . . 6
74 4. Backward Compatibility . . . . . . . . . . . . . . . . . . . . 8
75 4.1. LISP-gpe Routers to (legacy) LISP Routers . . . . . . . . 8
76 4.2. (legacy) LISP Routers to LISP-gpe Routers . . . . . . . . 8
77 4.3. Type of Service . . . . . . . . . . . . . . . . . . . . . 8
78 4.4. VLAN Identifier (VID) . . . . . . . . . . . . . . . . . . 8
79 5. LISP-gpe Examples . . . . . . . . . . . . . . . . . . . . . . 9
80 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11
81 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 12
82 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
83 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14
84 9.1. Normative References . . . . . . . . . . . . . . . . . . . 14
85 9.2. Informative References . . . . . . . . . . . . . . . . . . 14
86 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15
108 Lewis, et al. Expires January 5, 2015 [Page 2]
110 Internet-Draft LISP Generic Protocol Extension July 2014
115 LISP [RFC6830] defines an encapsulation format that carries IPv4 or
116 IPv6 (henceforth referred to as IP) packets in a LISP header and
117 outer UDP/IP transport.
119 The LISP header does not specify the protocol being encapsulated and
120 therefore is currently limited to encapsulating only IP packet
121 payloads. Other protocols, most notably VXLAN [VXLAN] (which defines
122 a similar header format to LISP), are used to encapsulate L2
123 protocols such as Ethernet. LISP [RFC6830] can be extended to
124 indicate the inner protocol, enabling the encapsulation of Ethernet,
125 IP or any other desired protocol all the while ensuring compatibility
126 with existing LISP [RFC6830] deployments.
128 As LISP is deployed, there's also the need to provide increased
129 visibility and diagnostic capabilities within the overlay.
131 This document describes extending LISP ([RFC6830]) via the following
134 Next Protocol Bit (P bit): A reserved flag bit is allocated, and set
135 in the LISP-gpe header to indicate that a next protocol field is
138 OAM Flag Bit (O bit): A reserved flag bit is allocated, and set in
139 the LISP-gpe header, to indicate that the packet is an OAM packet.
141 Version: Two reserved bits are allocated, and set in the LISP-gpe
142 header, to indicate LISP-gpe protocol version.
144 Next protocol: An 8 bit next protocol field is present in the LISP-
164 Lewis, et al. Expires January 5, 2015 [Page 3]
166 Internet-Draft LISP Generic Protocol Extension July 2014
169 2. LISP Header Without Protocol Extensions
171 As described in the introduction, the LISP header has no protocol
172 identifier that indicates the type of payload being carried by LISP.
173 Because of this, LISP is limited to an IP payload. Furthermore, the
174 LISP header has no mechanism to signal OAM packets.
176 The LISP header contains flags (some defined, some reserved), a
177 Nonce/Map-version field and an instance ID/Locator-status-bit field.
178 The flags provide flexibility to define how the reserved bits can be
179 used to change the definition of the LISP header.
182 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
183 |N|L|E|V|I|flags| Nonce/Map-Version |
184 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
185 | Instance ID/Locator-Status-Bits |
186 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
189 Figure 1: LISP Header
220 Lewis, et al. Expires January 5, 2015 [Page 4]
222 Internet-Draft LISP Generic Protocol Extension July 2014
225 3. Generic Protocol Extension for LISP (LISP-gpe)
227 3.1. Multi Protocol Support
229 This draft defines the following changes to the LISP header in order
230 to support multi-protocol encapsulation.
232 P Bit: Flag bit 5 is defined as the Next Protocol bit. The P bit
233 MUST be set to 1 to indicate the presence of the 8 bit next
236 P = 0 indicates that the payload MUST conform to LISP as defined
239 Flag bit 5 was chosen as the P bit because this flag bit is
240 currently unallocated in LISP [RFC6830].
242 Next Protocol Field: The lower 8 bits of the first word are used to
243 carry a next protocol. This next protocol field contains the
244 protocol of the encapsulated payload packet.
246 LISP [RFC6830] uses the lower 16 bits of the first word for either
247 a nonce, an echo-nonce ([RFC6830]) or to support map-versioning
248 ([RFC6834]). These are all optional capabilities that are
249 indicated by setting the N, E, and the V bit respectively.
251 To maintain the desired data plane compatibility, when the P bit
252 is set, the N, E, and V bits MUST be set to zero.
254 A new protocol registry will be requested from IANA for the Next
255 Protocol field. This draft defines the following Next Protocol
264 0x4: Network Service Header
276 Lewis, et al. Expires January 5, 2015 [Page 5]
278 Internet-Draft LISP Generic Protocol Extension July 2014
282 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
283 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
284 |N|L|E|V|I|P|R|R| Reserved | Next Protocol |
285 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
286 | Instance ID/Locator-Status-Bits |
287 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
291 Figure 2: LISP-gpe Next Protocol (P=1)
295 Flag bit 7 is defined as the O bit. When the O bit is set to 1, the
296 packet is an OAM packet and OAM processing MUST occur. The OAM
297 protocol details are out of scope for this document. As with the
298 P-bit, bit 7 is currently a reserved flag in [RFC6830].
304 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
305 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
306 |N|L|E|V|I|P|R|O| Reserved | Next Protocol |
307 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
308 | Instance ID/Locator-Status-Bits |
309 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
313 Figure 3: LISP-gpe OAM bit (P=1)
317 LISP-gpe bits8 and 9 are defined as version bits. The version field
318 is used to ensure backward compatibility going forward with future
321 The initial version for LISP-gpe is 0.
332 Lewis, et al. Expires January 5, 2015 [Page 6]
334 Internet-Draft LISP Generic Protocol Extension July 2014
338 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
339 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
340 |N|L|E|V|I|P|R|O|Ver| Reserved | Next Protocol |
341 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
342 | Instance ID/Locator-Status-Bits |
343 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
347 Figure 4: LISP-gpe Version bits (P=1)
388 Lewis, et al. Expires January 5, 2015 [Page 7]
390 Internet-Draft LISP Generic Protocol Extension July 2014
393 4. Backward Compatibility
395 Undefined (in RFC6830) flag bits 5 and 7, LISP-gpe P and O bits, were
396 selected to ensure compatibility with existing LISP [RFC6830]
399 Similarly, using P = 0 to indicate that the format of the header and
400 payload conforms to [RFC6830] ensures compatibility with existing
401 LISP hardware forwarding platforms.
403 4.1. LISP-gpe Routers to (legacy) LISP Routers
405 A LISP-gpe router MUST not encapsulate non-IP packet nor OAM packets
406 to a LISP router. A method for determining the capabilities of a
407 LISP router (gpe or "legacy") is out of the scope of this draft.
409 When encapsulating IP packets to a LISP router the P bit SHOULD be
410 set to 1 and the UDP port MUST be set to 4341. OAM bit MUST be set
411 to 0. The Next Protocol field SHOULD be 0x1 (IPv4) or 0x2 (IPv6).
412 The (legacy) LISP router will ignore the P bit and the protocol type
413 field. The (legacy) LISP router will treat the packet as a LISP
414 packet and inspect the first nibble of the payload to determine the
417 When the P bit is set, the N, E, and V bits MUST be set to zero. The
418 receiving (legacy) LISP router will ignore N, E and V bits, when the
421 4.2. (legacy) LISP Routers to LISP-gpe Routers
423 When a LISP-gpe router receives a packet from a (legacy) LISP router,
424 the P bit MUST not be set and the UDP port MUST be 4341. The payload
425 MUST be IP, and the LISP-gpe router will inspect the first nibble of
426 the payload to determine IP version.
430 When a LISP-gpe router performs Ethernet encapsulation, the inner
431 802.1Q [IEEE8021Q] priority code point (PCP) field MAY be mapped from
432 the encapsulated frame to the Type of Service field in the outer IPv4
433 header, or in the case of IPv6 the 'Traffic Class' field.
435 4.4. VLAN Identifier (VID)
437 When a LISP-gpe router performs Ethernet encapsulation, the inner
438 header 802.1Q [IEEE8021Q] VLAN Identifier (VID) MAY be mapped to, or
439 used to determine the LISP Instance ID field.
444 Lewis, et al. Expires January 5, 2015 [Page 8]
446 Internet-Draft LISP Generic Protocol Extension July 2014
451 This section provides two examples of IP protocols, and one example
452 of Ethernet encapsulated LISP-gpe using the generic extension
453 described in this document.
458 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
459 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
460 |N|L|E|V|I|1|0|0|0| Reserved | NP = IPv4 |
461 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
462 | Instance ID/Locator-Status-Bits |
463 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
464 | Original IPv4 Packet |
465 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
469 Figure 5: IPv4 and LISP-gpe
475 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
476 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
477 |N|L|E|V|I|1|0|0|0| Reserved | NP = IPv6 |
478 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
479 | Instance ID/Locator-Status-Bits |
480 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
481 | Original IPv6 Packet |
482 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
486 Figure 6: IPv6 and LISP-gpe
500 Lewis, et al. Expires January 5, 2015 [Page 9]
502 Internet-Draft LISP Generic Protocol Extension July 2014
506 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
507 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
508 |N|L|E|V|I|1|0|0|0| Reserved | NP = Ethernet |
509 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
510 | Instance ID/Locator-Status-Bits |
511 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
512 | Original Ethernet Frame |
513 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
517 Figure 7: Ethernet and LISP-gpe
556 Lewis, et al. Expires January 5, 2015 [Page 10]
558 Internet-Draft LISP Generic Protocol Extension July 2014
561 6. Security Considerations
563 LISP-gpe security considerations are similar to the LISP security
564 considerations documented at length in LISP [RFC6830]. With LISP-
565 gpe, issues such as dataplane spoofing, flooding, and traffic
566 redirection are dependent on the particular protocol payload
612 Lewis, et al. Expires January 5, 2015 [Page 11]
614 Internet-Draft LISP Generic Protocol Extension July 2014
619 A special thank you goes to Dino Farinacci for his guidance and
668 Lewis, et al. Expires January 5, 2015 [Page 12]
670 Internet-Draft LISP Generic Protocol Extension July 2014
673 8. IANA Considerations
675 IANA is requested to set up a registry of "Next Protocol". These are
676 8-bit values. Next Protocol values 0, 1, 2, 3 and 4 are defined in
677 this draft. New values are assigned via Standards Action [RFC5226].
679 +---------------+-------------+---------------+
680 | Next Protocol | Description | Reference |
681 +---------------+-------------+---------------+
682 | 0 | Reserved | This document |
684 | 1 | IPv4 | This document |
686 | 2 | IPv6 | This document |
688 | 3 | Ethernet | This document |
690 | 4 | NSH | This document |
692 | 5..253 | Unassigned | |
693 +---------------+-------------+---------------+
697 There are ten bits at the beginning of the LISP-gpe header. New
698 bits are assigned via Standards Action [RFC5226].
700 Bits 0-3 - Assigned by LISP [RFC6830]
701 Bit 4 - Instance ID (I bit)
702 Bit 5 - Next Protocol (P bit)
724 Lewis, et al. Expires January 5, 2015 [Page 13]
726 Internet-Draft LISP Generic Protocol Extension July 2014
731 9.1. Normative References
733 [RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768,
736 [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791,
739 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
740 Requirement Levels", BCP 14, RFC 2119, March 1997.
742 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
743 IANA Considerations Section in RFCs", BCP 26, RFC 5226,
746 9.2. Informative References
748 [ETYPES] The IEEE Registration Authority, "IEEE 802 Numbers", 2012,
749 <http://www.iana.org/assignments/ieee-802-numbers/
750 ieee-802-numbers.xml>.
753 The IEEE Computer Society, "Media Access Control (MAC)
754 Bridges and Virtual Bridge Local Area Networks", August
755 2012, <http://standards.ieee.org/getieee802/download/
758 [RFC1700] Reynolds, J. and J. Postel, "Assigned Numbers", RFC 1700,
761 [RFC6830] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The
762 Locator/ID Separation Protocol (LISP)", RFC 6830,
765 [RFC6834] Iannone, L., Saucez, D., and O. Bonaventure, "Locator/ID
766 Separation Protocol (LISP) Map-Versioning", RFC 6834,
769 [VXLAN] Dutt, D., Mahalingam, M., Duda, K., Agarwal, P., Kreeger,
770 L., Sridhar, T., Bursell, M., and C. Wright, "VXLAN: A
771 Framework for Overlaying Virtualized Layer 2 Networks over
772 Layer 3 Networks", 2013.
780 Lewis, et al. Expires January 5, 2015 [Page 14]
782 Internet-Draft LISP Generic Protocol Extension July 2014
790 Email: darlewis@cisco.com
796 Email: pagarwal@broadcom.com
802 Email: kreeger@cisco.com
808 Email: fmaino@cisco.com
814 Email: paulq@cisco.com
820 Email: michsmit@cisco.com
826 Email: nyadav@cisco.com