blob: 5e3da150c7085c4dd7e77fbc4bd64fd081d776d2 [file] [log] [blame]
Ed Warnickecb9cada2015-12-08 15:45:58 -07001Network Working Group D. Lewis
2Internet-Draft Cisco Systems, Inc.
3Intended status: Informational P. Agarwal
4Expires: January 5, 2015 Broadcom
5 L. Kreeger
6 F. Maino
7 P. Quinn
8 M. Smith
9 N. Yadav
10 Cisco Systems, Inc.
11 July 4, 2014
12
13
14 LISP Generic Protocol Extension
15 draft-lewis-lisp-gpe-02.txt
16
17Abstract
18
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
23 versioning.
24
25Status of this Memo
26
27 This Internet-Draft is submitted in full conformance with the
28 provisions of BCP 78 and BCP 79.
29
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/.
34
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."
39
40 This Internet-Draft will expire on January 5, 2015.
41
42Copyright Notice
43
44 Copyright (c) 2014 IETF Trust and the persons identified as the
45 document authors. All rights reserved.
46
47 This document is subject to BCP 78 and the IETF Trust's Legal
48 Provisions Relating to IETF Documents
49
50
51
52Lewis, et al. Expires January 5, 2015 [Page 1]
53
54Internet-Draft LISP Generic Protocol Extension July 2014
55
56
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.
64
65
66Table of Contents
67
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108Lewis, et al. Expires January 5, 2015 [Page 2]
109
110Internet-Draft LISP Generic Protocol Extension July 2014
111
112
1131. Introduction
114
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.
118
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.
127
128 As LISP is deployed, there's also the need to provide increased
129 visibility and diagnostic capabilities within the overlay.
130
131 This document describes extending LISP ([RFC6830]) via the following
132 changes:
133
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
136 present.
137
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.
140
141 Version: Two reserved bits are allocated, and set in the LISP-gpe
142 header, to indicate LISP-gpe protocol version.
143
144 Next protocol: An 8 bit next protocol field is present in the LISP-
145 gpe header.
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164Lewis, et al. Expires January 5, 2015 [Page 3]
165
166Internet-Draft LISP Generic Protocol Extension July 2014
167
168
1692. LISP Header Without Protocol Extensions
170
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.
175
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.
180
181
182 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
183 |N|L|E|V|I|flags| Nonce/Map-Version |
184 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
185 | Instance ID/Locator-Status-Bits |
186 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
187
188
189 Figure 1: LISP Header
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220Lewis, et al. Expires January 5, 2015 [Page 4]
221
222Internet-Draft LISP Generic Protocol Extension July 2014
223
224
2253. Generic Protocol Extension for LISP (LISP-gpe)
226
2273.1. Multi Protocol Support
228
229 This draft defines the following changes to the LISP header in order
230 to support multi-protocol encapsulation.
231
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
234 protocol field.
235
236 P = 0 indicates that the payload MUST conform to LISP as defined
237 in [RFC6830].
238
239 Flag bit 5 was chosen as the P bit because this flag bit is
240 currently unallocated in LISP [RFC6830].
241
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.
245
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.
250
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.
253
254 A new protocol registry will be requested from IANA for the Next
255 Protocol field. This draft defines the following Next Protocol
256 values:
257
258 0x1 : IPv4
259
260 0x2 : IPv6
261
262 0x3 : Ethernet
263
264 0x4: Network Service Header
265
266
267
268
269
270
271
272
273
274
275
276Lewis, et al. Expires January 5, 2015 [Page 5]
277
278Internet-Draft LISP Generic Protocol Extension July 2014
279
280
281 0 1 2 3
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
288
289
290
291 Figure 2: LISP-gpe Next Protocol (P=1)
292
2933.2. OAM Support
294
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].
299
300
301
302
303 0 1 2 3
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
310
311
312
313 Figure 3: LISP-gpe OAM bit (P=1)
314
3153.3. Version Bits
316
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
319 LISP-gpe updates.
320
321 The initial version for LISP-gpe is 0.
322
323
324
325
326
327
328
329
330
331
332Lewis, et al. Expires January 5, 2015 [Page 6]
333
334Internet-Draft LISP Generic Protocol Extension July 2014
335
336
337 0 1 2 3
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
344
345
346
347 Figure 4: LISP-gpe Version bits (P=1)
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388Lewis, et al. Expires January 5, 2015 [Page 7]
389
390Internet-Draft LISP Generic Protocol Extension July 2014
391
392
3934. Backward Compatibility
394
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]
397 deployments.
398
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.
402
4034.1. LISP-gpe Routers to (legacy) LISP Routers
404
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.
408
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
415 IP version.
416
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
419 P bit is set.
420
4214.2. (legacy) LISP Routers to LISP-gpe Routers
422
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.
427
4284.3. Type of Service
429
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.
434
4354.4. VLAN Identifier (VID)
436
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.
440
441
442
443
444Lewis, et al. Expires January 5, 2015 [Page 8]
445
446Internet-Draft LISP Generic Protocol Extension July 2014
447
448
4495. LISP-gpe Examples
450
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.
454
455
456
457 0 1 2 3
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
466
467
468
469 Figure 5: IPv4 and LISP-gpe
470
471
472
473
474 0 1 2 3
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
483
484
485
486 Figure 6: IPv6 and LISP-gpe
487
488
489
490
491
492
493
494
495
496
497
498
499
500Lewis, et al. Expires January 5, 2015 [Page 9]
501
502Internet-Draft LISP Generic Protocol Extension July 2014
503
504
505 0 1 2 3
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
514
515
516
517 Figure 7: Ethernet and LISP-gpe
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556Lewis, et al. Expires January 5, 2015 [Page 10]
557
558Internet-Draft LISP Generic Protocol Extension July 2014
559
560
5616. Security Considerations
562
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
567 encapsulated.
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612Lewis, et al. Expires January 5, 2015 [Page 11]
613
614Internet-Draft LISP Generic Protocol Extension July 2014
615
616
6177. Acknowledgments
618
619 A special thank you goes to Dino Farinacci for his guidance and
620 detailed review.
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668Lewis, et al. Expires January 5, 2015 [Page 12]
669
670Internet-Draft LISP Generic Protocol Extension July 2014
671
672
6738. IANA Considerations
674
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].
678
679 +---------------+-------------+---------------+
680 | Next Protocol | Description | Reference |
681 +---------------+-------------+---------------+
682 | 0 | Reserved | This document |
683 | | | |
684 | 1 | IPv4 | This document |
685 | | | |
686 | 2 | IPv6 | This document |
687 | | | |
688 | 3 | Ethernet | This document |
689 | | | |
690 | 4 | NSH | This document |
691 | | | |
692 | 5..253 | Unassigned | |
693 +---------------+-------------+---------------+
694
695 Table 1
696
697 There are ten bits at the beginning of the LISP-gpe header. New
698 bits are assigned via Standards Action [RFC5226].
699
700 Bits 0-3 - Assigned by LISP [RFC6830]
701 Bit 4 - Instance ID (I bit)
702 Bit 5 - Next Protocol (P bit)
703 Bit 6 - Reserved
704 Bit 7 - OAM (O bit)
705 Bits 8-9 - Version
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724Lewis, et al. Expires January 5, 2015 [Page 13]
725
726Internet-Draft LISP Generic Protocol Extension July 2014
727
728
7299. References
730
7319.1. Normative References
732
733 [RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768,
734 August 1980.
735
736 [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791,
737 September 1981.
738
739 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
740 Requirement Levels", BCP 14, RFC 2119, March 1997.
741
742 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
743 IANA Considerations Section in RFCs", BCP 26, RFC 5226,
744 May 2008.
745
7469.2. Informative References
747
748 [ETYPES] The IEEE Registration Authority, "IEEE 802 Numbers", 2012,
749 <http://www.iana.org/assignments/ieee-802-numbers/
750 ieee-802-numbers.xml>.
751
752 [IEEE8021Q]
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/
756 802.1Q-2011.pdf>.
757
758 [RFC1700] Reynolds, J. and J. Postel, "Assigned Numbers", RFC 1700,
759 October 1994.
760
761 [RFC6830] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The
762 Locator/ID Separation Protocol (LISP)", RFC 6830,
763 January 2013.
764
765 [RFC6834] Iannone, L., Saucez, D., and O. Bonaventure, "Locator/ID
766 Separation Protocol (LISP) Map-Versioning", RFC 6834,
767 January 2013.
768
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.
773
774
775
776
777
778
779
780Lewis, et al. Expires January 5, 2015 [Page 14]
781
782Internet-Draft LISP Generic Protocol Extension July 2014
783
784
785Authors' Addresses
786
787 Darrel Lewis
788 Cisco Systems, Inc.
789
790 Email: darlewis@cisco.com
791
792
793 Puneet Agarwal
794 Broadcom
795
796 Email: pagarwal@broadcom.com
797
798
799 Larry Kreeger
800 Cisco Systems, Inc.
801
802 Email: kreeger@cisco.com
803
804
805 Fabio Maino
806 Cisco Systems, Inc.
807
808 Email: fmaino@cisco.com
809
810
811 Paul Quinn
812 Cisco Systems, Inc.
813
814 Email: paulq@cisco.com
815
816
817 Michael Smith
818 Cisco Systems, Inc.
819
820 Email: michsmit@cisco.com
821
822
823 Navindra Yadav
824 Cisco Systems, Inc.
825
826 Email: nyadav@cisco.com