blob: 35cee50f573a1d7077786432b7e9ff45a49aaeb2 [file] [log] [blame]
Ed Warnickecb9cada2015-12-08 15:45:58 -07001Network Working Group P. Quinn
2Internet-Draft Cisco Systems, Inc.
3Intended status: Experimental P. Agarwal
4Expires: January 4, 2015 Broadcom
5 R. Fernando
6 L. Kreeger
7 D. Lewis
8 F. Maino
9 M. Smith
10 N. Yadav
11 Cisco Systems, Inc.
12 L. Yong
13 Huawei USA
14 X. Xu
15 Huawei Technologies
16 U. Elzur
17 Intel
18 P. Garg
19 Microsoft
20 July 3, 2014
21
22
23 Generic Protocol Extension for VXLAN
24 draft-quinn-vxlan-gpe-03.txt
25
26Abstract
27
28 This draft describes extending Virtual eXtensible Local Area Network
29 (VXLAN), via changes to the VXLAN header, with three new
30 capabilities: support for multi-protocol encapsulation, operations,
31 administration and management (OAM) signaling and explicit
32 versioning.
33
34Status of this Memo
35
36 This Internet-Draft is submitted in full conformance with the
37 provisions of BCP 78 and BCP 79.
38
39 Internet-Drafts are working documents of the Internet Engineering
40 Task Force (IETF). Note that other groups may also distribute
41 working documents as Internet-Drafts. The list of current Internet-
42 Drafts is at http://datatracker.ietf.org/drafts/current/.
43
44 Internet-Drafts are draft documents valid for a maximum of six months
45 and may be updated, replaced, or obsoleted by other documents at any
46 time. It is inappropriate to use Internet-Drafts as reference
47 material or to cite them other than as "work in progress."
48
49
50
51
52Quinn, et al. Expires January 4, 2015 [Page 1]
53
54Internet-Draft Generic Protocol Extension for VXLAN July 2014
55
56
57 This Internet-Draft will expire on January 4, 2015.
58
59Copyright Notice
60
61 Copyright (c) 2014 IETF Trust and the persons identified as the
62 document authors. All rights reserved.
63
64 This document is subject to BCP 78 and the IETF Trust's Legal
65 Provisions Relating to IETF Documents
66 (http://trustee.ietf.org/license-info) in effect on the date of
67 publication of this document. Please review these documents
68 carefully, as they describe your rights and restrictions with respect
69 to this document. Code Components extracted from this document must
70 include Simplified BSD License text as described in Section 4.e of
71 the Trust Legal Provisions and are provided without warranty as
72 described in the Simplified BSD License.
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108Quinn, et al. Expires January 4, 2015 [Page 2]
109
110Internet-Draft Generic Protocol Extension for VXLAN July 2014
111
112
113Table of Contents
114
115 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
116 2. VXLAN Without Protocol Extension . . . . . . . . . . . . . . . 5
117 3. Generic Protocol Extension VXLAN (VXLAN-gpe) . . . . . . . . . 6
118 3.1. Multi Protocol Support . . . . . . . . . . . . . . . . . . 6
119 3.2. OAM Support . . . . . . . . . . . . . . . . . . . . . . . 7
120 3.3. Version Bits . . . . . . . . . . . . . . . . . . . . . . . 7
121 4. Backward Compatibility . . . . . . . . . . . . . . . . . . . . 8
122 4.1. VXLAN VTEP to VXLAN-gpe VTEP . . . . . . . . . . . . . . . 8
123 4.2. VXLAN-gpe VTEP to VXLAN VTEP . . . . . . . . . . . . . . . 8
124 4.3. VXLAN-gpe UDP Ports . . . . . . . . . . . . . . . . . . . 8
125 4.4. VXLAN-gpe and Encapsulated IP Header Fields . . . . . . . 8
126 5. VXLAN-gpe Examples . . . . . . . . . . . . . . . . . . . . . . 9
127 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11
128 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 12
129 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
130 8.1. UDP Port . . . . . . . . . . . . . . . . . . . . . . . . . 13
131 8.2. VXLAN-gpe Next Protocol . . . . . . . . . . . . . . . . . 13
132 8.3. VXLAN-gpe Reserved Bits . . . . . . . . . . . . . . . . . 13
133 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14
134 9.1. Normative References . . . . . . . . . . . . . . . . . . . 14
135 9.2. Informative References . . . . . . . . . . . . . . . . . . 14
136 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164Quinn, et al. Expires January 4, 2015 [Page 3]
165
166Internet-Draft Generic Protocol Extension for VXLAN July 2014
167
168
1691. Introduction
170
171 Virtual eXtensible Local Area Network [VXLAN] defines an
172 encapsulation format that encapsulates Ethernet frames in an outer
173 UDP/IP transport. As data centers evolve, the need to carry other
174 protocols encapsulated in an IP packet is required, as well as the
175 need to provide increased visibility and diagnostic capabilities
176 within the overlay. The VXLAN header does not specify the protocol
177 being encapsulated and therefore is currently limited to
178 encapsulating only Ethernet frame payload, nor does it provide the
179 ability to define OAM protocols. Rather than defining yet another
180 encapsulation, VXLAN is extended to provide protocol typing and OAM
181 capabilities.
182
183 This document describes extending VXLAN via the following changes:
184
185 Next Protocol Bit (P bit): A reserved flag bit is allocated, and set
186 in the VXLAN-gpe header to indicate that a next protocol field is
187 present.
188
189 OAM Flag Bit (O bit): A reserved flag bit is allocated, and set in
190 the VXLAN-gpe header, to indicate that the packet is an OAM
191 packet.
192
193 Version: Two reserved bits are allocated, and set in the VXLAN-gpe
194 header, to indicate VXLAN-gpe protocol version.
195
196 Next Protocol: A 8 bit next protocol field is present in the VXLAN-
197 gpe header.
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220Quinn, et al. Expires January 4, 2015 [Page 4]
221
222Internet-Draft Generic Protocol Extension for VXLAN July 2014
223
224
2252. VXLAN Without Protocol Extension
226
227 As described in the introduction, the VXLAN header has no protocol
228 identifier that indicates the type of payload being carried by VXLAN.
229 Because of this, VXLAN is limited to an Ethernet payload.
230 Furthermore, the VXLAN header has no mechanism to signal OAM packets.
231
232 The VXLAN header defines bits 0-7 as flags (some defined, some
233 reserved), the VXLAN network identifier (VNI) field and several
234 reserved bits. The flags provide flexibility to define how the
235 reserved bits can be used to change the definition of the VXLAN
236 header.
237
238
239
240 0 1 2 3
241 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
242 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
243 |R|R|R|R|I|R|R|R| Reserved |
244 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
245 | VXLAN Network Identifier (VNI) | Reserved |
246 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
247
248
249 Figure 1: VXLAN Header
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276Quinn, et al. Expires January 4, 2015 [Page 5]
277
278Internet-Draft Generic Protocol Extension for VXLAN July 2014
279
280
2813. Generic Protocol Extension VXLAN (VXLAN-gpe)
282
2833.1. Multi Protocol Support
284
285 This draft defines the following two changes to the VXLAN header in
286 order to support multi-protocol encapsulation:
287
288 P Bit: Flag bit 5 is defined as the Next Protocol bit. The P bit
289 MUST be set to 1 to indicate the presence of the 8 bit next
290 protocol field.
291
292 P = 0 indicates that the payload MUST conform to VXLAN as defined
293 in [VXLAN].
294
295 Flag bit 5 was chosen as the P bit because this flag bit is
296 currently reserved in VXLAN.
297
298 Next Protocol Field: The lower 8 bits of the first word are used to
299 carry a next protocol. This next protocol field contains the
300 protocol of the encapsulated payload packet. A new protocol
301 registry will be requested from IANA.
302
303 This draft defines the following Next Protocol values:
304
305 0x1 : IPv4
306 0x2 : IPv6
307 0x3 : Ethernet
308 0x4 : Network Service Header [NSH]
309
310
311
312
313 0 1 2 3
314 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
315 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
316 |R|R|R|R|I|P|R|R| Reserved |Next Protocol |
317 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
318 | VXLAN Network Identifier (VNI) | Reserved |
319 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
320
321
322
323 Figure 2: VXLAN-gpe Next Protocol
324
325
326
327
328
329
330
331
332Quinn, et al. Expires January 4, 2015 [Page 6]
333
334Internet-Draft Generic Protocol Extension for VXLAN July 2014
335
336
3373.2. OAM Support
338
339 Flag bit 7 is defined as the O bit. When the O bit is set to 1, the
340 packet is an OAM packet and OAM processing MUST occur. The OAM
341 protocol details are out of scope for this document. As with the
342 P-bit, bit 7 is currently a reserved flag in VXLAN.
343
344
345
346 0 1 2 3
347 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
348 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
349 |R|R|R|R|I|P|R|O| Reserved |Next Protocol |
350 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
351 | VXLAN Network Identifier (VNI) | Reserved |
352 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
353
354
355
356 Figure 3: VXLAN-gpe OAM Bit
357
3583.3. Version Bits
359
360 VXLAN-gpe bits 8 and 9 are defined as version bits. These bits are
361 reserved in VXLAN. The version field is used to ensure backward
362 compatibility going forward with future VXLAN-gpe updates.
363
364 The initial version for VXLAN-gpe is 0.
365
366
367
368 0 1 2 3
369 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
370 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
371 |R|R|R|R|I|P|R|O|Ver| Reserved |Next Protocol |
372 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
373 | VXLAN Network Identifier (VNI) | Reserved |
374 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
375
376
377
378
379
380 Figure 4: VXLAN-gpe Version Bits
381
382
383
384
385
386
387
388Quinn, et al. Expires January 4, 2015 [Page 7]
389
390Internet-Draft Generic Protocol Extension for VXLAN July 2014
391
392
3934. Backward Compatibility
394
3954.1. VXLAN VTEP to VXLAN-gpe VTEP
396
397 As per VXLAN, reserved bits 5 and 7, VXLAN-gpe P and O-bits
398 respectively must be set to zero. The remaining reserved bits must
399 be zero, including the VXLAN-gpe version field, bits 8 and 9. The
400 encapsulated payload MUST be Ethernet.
401
4024.2. VXLAN-gpe VTEP to VXLAN VTEP
403
404 A VXLAN-gpe VTEP MUST NOT encapsulate non-Ethernet frames to a VXLAN
405 VTEP. When encapsulating Ethernet frames to a VXLAN VTEP, the VXLAN-
406 gpe VTEP will set the P bit to 0, the Next Protocol to 0 and use UDP
407 destination port 4789. A VXLAN-gpe VTEP MUST also set O = 0 and Ver
408 = 0 when encapsulating Ethernet frames to VXLAN VTEP. The receiving
409 VXLAN VTEP will threat this packet as a VXLAN packet.
410
411 A method for determining the capabilities of a VXLAN VTEP (gpe or
412 non-gpe) is out of the scope of this draft.
413
4144.3. VXLAN-gpe UDP Ports
415
416 VXLAN-gpe uses a new UDP destination port (to be assigned by IANA)
417 when sending traffic to VXLAN-gpe VTEPs.
418
4194.4. VXLAN-gpe and Encapsulated IP Header Fields
420
421 When encapsulating and decapsulating IPv4 and IPv6 packets, certain
422 fields, such as IPv4 Time to Live (TTL) from the inner IP header need
423 to be considered. VXLAN-gpe IP encapsulation and decapsulation
424 utilizes the techniques described in [RFC6830], section 5.3.
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444Quinn, et al. Expires January 4, 2015 [Page 8]
445
446Internet-Draft Generic Protocol Extension for VXLAN July 2014
447
448
4495. VXLAN-gpe Examples
450
451 This section provides three examples of protocols encapsulated using
452 the Generic Protocol Extension for VXLAN described in this document.
453
454
455
456 0 1 2 3
457 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
458 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
459 |R|R|R|R|I|1|R|0|0|0| Reserved | NP = IPv4 |
460 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
461 | VXLAN Network Identifier (VNI) | Reserved |
462 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
463 | Original IPv4 Packet |
464 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
465
466
467
468 Figure 5: IPv4 and VXLAN-gpe
469
470
471
472
473 0 1 2 3
474 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
475 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
476 |R|R|R|R|I|1|R|0|0|0| Reserved | NP = IPv6 |
477 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
478 | VXLAN Network Identifier (VNI) | Reserved |
479 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
480 | Original IPv6 Packet |
481 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
482
483
484
485 Figure 6: IPv6 and VXLAN-gpe
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500Quinn, et al. Expires January 4, 2015 [Page 9]
501
502Internet-Draft Generic Protocol Extension for VXLAN 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 |R|R|R|R|I|1|R|0|0|0| Reserved |NP = Ethernet |
509 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
510 | VXLAN Network Identifier (VNI) | Reserved |
511 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
512 | Original Ethernet Frame |
513 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
514
515
516
517 Figure 7: Ethernet and VXLAN-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
556Quinn, et al. Expires January 4, 2015 [Page 10]
557
558Internet-Draft Generic Protocol Extension for VXLAN July 2014
559
560
5616. Security Considerations
562
563 VXLAN's security is focused on issues around L2 encapsulation into
564 L3. With VXLAN-gpe, issues such as spoofing, flooding, and traffic
565 redirection are dependent on the particular protocol payload
566 encapsulated.
567
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
612Quinn, et al. Expires January 4, 2015 [Page 11]
613
614Internet-Draft Generic Protocol Extension for VXLAN 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
668Quinn, et al. Expires January 4, 2015 [Page 12]
669
670Internet-Draft Generic Protocol Extension for VXLAN July 2014
671
672
6738. IANA Considerations
674
6758.1. UDP Port
676
677 A new UDP port will be requested from IANA.
678
6798.2. VXLAN-gpe Next Protocol
680
681 IANA is requested to set up a registry of "Next Protocol". These are
682 8-bit values. Next Protocol values 0, 1, 2, 3 and 4 are defined in
683 this draft. New values are assigned via Standards Action [RFC5226].
684
685 +---------------+-------------+---------------+
686 | Next Protocol | Description | Reference |
687 +---------------+-------------+---------------+
688 | 0 | Reserved | This document |
689 | | | |
690 | 1 | IPv4 | This document |
691 | | | |
692 | 2 | IPv6 | This document |
693 | | | |
694 | 3 | Ethernet | This document |
695 | | | |
696 | 4 | NSH | This document |
697 | | | |
698 | 5..253 | Unassigned | |
699 +---------------+-------------+---------------+
700
701 Table 1
702
7038.3. VXLAN-gpe Reserved Bits
704
705 There are ten bits at the beginning of the VXLAN-gpe header. New
706 bits are assigned via Standards Action [RFC5226].
707
708 Bits 0-3 - Reserved
709 Bit 4 - Instance ID (I bit)
710 Bit 5 - Next Protocol (P bit)
711 Bit 6 - Reserved
712 Bit 7 - OAM (O bit)
713 Bits 8-9 - Version
714
715
716
717
718
719
720
721
722
723
724Quinn, et al. Expires January 4, 2015 [Page 13]
725
726Internet-Draft Generic Protocol Extension for VXLAN 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 [NSH] Quinn, P. and et al. , "Network Service Header", 2014.
749
750 [RFC1700] Reynolds, J. and J. Postel, "Assigned Numbers", RFC 1700,
751 October 1994.
752
753 [RFC6830] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The
754 Locator/ID Separation Protocol (LISP)", RFC 6830,
755 January 2013.
756
757 [VXLAN] Dutt, D., Mahalingam, M., Duda, K., Agarwal, P., Kreeger,
758 L., Sridhar, T., Bursell, M., and C. Wright, "VXLAN: A
759 Framework for Overlaying Virtualized Layer 2 Networks over
760 Layer 3 Networks", 2013.
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780Quinn, et al. Expires January 4, 2015 [Page 14]
781
782Internet-Draft Generic Protocol Extension for VXLAN July 2014
783
784
785Authors' Addresses
786
787 Paul Quinn
788 Cisco Systems, Inc.
789
790 Email: paulq@cisco.com
791
792
793 Puneet Agarwal
794 Broadcom
795
796 Email: pagarwal@broadcom.com
797
798
799 Rex Fernando
800 Cisco Systems, Inc.
801
802 Email: rex@cisco.com
803
804
805 Larry Kreeger
806 Cisco Systems, Inc.
807
808 Email: kreeger@cisco.com
809
810
811 Darrel Lewis
812 Cisco Systems, Inc.
813
814 Email: darlewis@cisco.com
815
816
817 Fabio Maino
818 Cisco Systems, Inc.
819
820 Email: kreeger@cisco.com
821
822
823 Michael Smith
824 Cisco Systems, Inc.
825
826 Email: michsmit@cisco.com
827
828
829
830
831
832
833
834
835
836Quinn, et al. Expires January 4, 2015 [Page 15]
837
838Internet-Draft Generic Protocol Extension for VXLAN July 2014
839
840
841 Navindra Yadav
842 Cisco Systems, Inc.
843
844 Email: nyadav@cisco.com
845
846
847 Lucy Yong
848 Huawei USA
849
850 Email: lucy.yong@huawei.com
851
852
853 Xiaohu Xu
854 Huawei Technologies
855
856 Email: xuxiaohu@huawei.com
857
858
859 Uri Elzur
860 Intel
861
862 Email: uri.elzur@intel.com
863
864
865 Pankaj Garg
866 Microsoft
867
868 Email: Garg.Pankaj@microsoft.com