idnits 2.17.1 draft-templin-intarea-grefrag-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 131: '...E tunnnel egress MUST therefore config...' RFC 2119 keyword, line 132: '... of 2KB, and MAY configure a larger ...' == The 'Updates: ' line in the draft header should list only the _numbers_ of the RFCs which will be updated by this document (if approved); it should not include the word 'RFC' in the list. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (January 26, 2016) is 3012 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Unused Reference: 'RFC0791' is defined on line 150, but no explicit reference was found in the text ** Obsolete normative reference: RFC 2460 (Obsoleted by RFC 8200) == Outdated reference: A later version (-82) exists of draft-templin-aerolink-65 Summary: 2 errors (**), 0 flaws (~~), 4 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group F. Templin, Ed. 3 Internet-Draft Boeing Research & Technology 4 Updates: RFC2784, RFC2890 (if approved) January 26, 2016 5 Intended status: Informational 6 Expires: July 29, 2016 8 GRE Tunnel Fragmentation 9 draft-templin-intarea-grefrag-02.txt 11 Abstract 13 GRE tunnels use IPv4 or IPv6 fragmentation of the delivery packet 14 when the delivery packet exceeds the tunnel MTU, or when otherwise 15 necessary. This can cause problems when unmitigated IPv4 16 fragemntation ensues, or when middleboxes drop IPv6 fragments 17 unconditionally. This document introduces GRE tunnel fragmentation 18 which avoids these pitfalls.. 20 Status of This Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at http://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on July 29, 2016. 37 Copyright Notice 39 Copyright (c) 2016 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (http://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 55 2. GRE Fragmentation Header . . . . . . . . . . . . . . . . . . 2 56 3. GRE Tunnel Fragmentation Procedures . . . . . . . . . . . . . 3 57 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 58 5. Security Considerations . . . . . . . . . . . . . . . . . . . 4 59 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 4 60 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 4 61 7.1. Normative References . . . . . . . . . . . . . . . . . . 4 62 7.2. Informative References . . . . . . . . . . . . . . . . . 5 63 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 5 65 1. Introduction 67 GRE is specified in the following RFCs: [RFC2784][RFC2890][RFC7676]. 68 [RFC7588] further discusses GRE fragmentation considerations. In its 69 current manifestation, GRE allows for fragmentation of the payload 70 packet only if it is an IPv4 packet with the Don't Fragment (DF) bit 71 set to 0. GRE also allows for fragmentation of the delivery packet, 72 but this can cause problems in some applications. A third option 73 (introduced here) is for the GRE tunnel to perform tunnel 74 fragmentation and reassembly on the payload packet. 76 In this way, the ingress can fragment the payload packet (while 77 treating the payload packet's headers as ordinary data) and 78 encapsulate each fragment in a separate delivery header. The GRE 79 header requires a new fragment header field to support this. 81 This tunnel fragmentation method was first suggested in Section 3.1.7 82 of [RFC2764], and also appears in more recent works 83 [I-D.templin-aerolink] [I-D.herbert-gue-fragmentation]. 85 2. GRE Fragmentation Header 87 Figure 1 shows the GRE header as specified in [RFC2784][RFC2890] but 88 with a new optional "Fragment Header" and a new control bit "F": 90 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 91 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 92 |C| |K|S|F| Reserved0 | Ver | Protocol Type | 93 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 94 | Checksum (optional) | Reserved1 (Optional) | 95 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 96 | Key (optional) | 97 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 98 | Sequence Number (Optional) | 99 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 100 | Fragment Header (Optional) | 101 | | 102 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 104 Figure 1: GRE Header with Fragment Header 106 In this format, when the "F" bit is set to 1 the GRE header includes 107 a Fragment header formatted as specified in Section 4.5 of [RFC2460]. 109 3. GRE Tunnel Fragmentation Procedures 111 GRE tunnel fragmentation treats the entire GRE payload packet 112 (including the payload headers) as opaque data. The GRE tunnel 113 ingress breaks the payload packet into N fragments and encapsulates 114 each fragment in a separate GRE header and GRE delivery header. The 115 first fragment therefore includes the GRE payload headers and first 116 portion of the GRE payload data, while subsequent fragments include 117 the remaining portions of the GRE payload data. The GRE tunnel 118 ingress then sends each fragment to the GRE tunnel egress. Apart 119 from the appearance of the Fragment Header within the GRE header, the 120 fragmentation procedure is the same as for IPv6 fragmentation. 122 When the GRE tunnel egress receives the fragments, it reassembles the 123 GRE payload packet by concatenating the data portions of each 124 fragment according to their offsets. Apart from the appearance of 125 the Fragment Header within the GRE header, the reassembly procedure 126 is the same as for IPv6 reassembly. 128 In order to support this fragmentation and reassembly procedure, the 129 GRE tunnel ingress must know the maximum sized packet the GRE tunnel 130 egress is capable of reassembling, i.e., the Maximum Reassembly Unit 131 (MRU). The GRE tunnnel egress MUST therefore configure a minimum MRU 132 of 2KB, and MAY configure a larger MRU. 134 4. IANA Considerations 136 This document introduces no IANA considerations. 138 5. Security Considerations 140 TBD. 142 6. Acknowledgements 144 TBD 146 7. References 148 7.1. Normative References 150 [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, 151 DOI 10.17487/RFC0791, September 1981, 152 . 154 [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 155 (IPv6) Specification", RFC 2460, DOI 10.17487/RFC2460, 156 December 1998, . 158 [RFC2764] Gleeson, B., Lin, A., Heinanen, J., Armitage, G., and A. 159 Malis, "A Framework for IP Based Virtual Private 160 Networks", RFC 2764, DOI 10.17487/RFC2764, February 2000, 161 . 163 [RFC2784] Farinacci, D., Li, T., Hanks, S., Meyer, D., and P. 164 Traina, "Generic Routing Encapsulation (GRE)", RFC 2784, 165 DOI 10.17487/RFC2784, March 2000, 166 . 168 [RFC2890] Dommety, G., "Key and Sequence Number Extensions to GRE", 169 RFC 2890, DOI 10.17487/RFC2890, September 2000, 170 . 172 [RFC7588] Bonica, R., Pignataro, C., and J. Touch, "A Widely 173 Deployed Solution to the Generic Routing Encapsulation 174 (GRE) Fragmentation Problem", RFC 7588, 175 DOI 10.17487/RFC7588, July 2015, 176 . 178 [RFC7676] Pignataro, C., Bonica, R., and S. Krishnan, "IPv6 Support 179 for Generic Routing Encapsulation (GRE)", RFC 7676, 180 DOI 10.17487/RFC7676, October 2015, 181 . 183 7.2. Informative References 185 [I-D.herbert-gue-fragmentation] 186 Herbert, T. and F. Templin, "Fragmentation option for 187 Generic UDP Encapsulation", draft-herbert-gue- 188 fragmentation-02 (work in progress), October 2015. 190 [I-D.templin-aerolink] 191 Templin, F., "Asymmetric Extended Route Optimization 192 (AERO)", draft-templin-aerolink-65 (work in progress), 193 January 2016. 195 Author's Address 197 Fred L. Templin (editor) 198 Boeing Research & Technology 199 P.O. Box 3707 200 Seattle, WA 98124 201 USA 203 Email: fltemplin@acm.org