RFC 6564
A Uniform Format for IPv6 Extension Headers
A Uniform Format for IPv6 Extension Headers π
RFC 6564 is a Standards Track document from April 2012 (ISSN 2070-1721) written by S. Krishnan (Ericsson), J. Woodyatt (Apple), E. Kline (Google), J. Hoagland (Symantec), and M. Bhatia (Alcatel-Lucent). It updates RFC 2460, and there's no Obsoletes line in its header π
Abstract β¨
okay so IPv6 lets optional internet-layer info hang out in separate headers that sit between the IPv6 header and the transport-layer header. only a small number of these extension headers are defined right now πΈ this doc talks about the issues that can pop up when someone wants to define a new extension header, and it looks at the other extension mechanisms IPv6 already has. it also gives a common format for defining any new IPv6 extension headers, if they end up being needed π
Status of This Memo π¦
this is an Internet Standards Track document π
it's a product of the Internet Engineering Task Force (IETF). it represents the consensus of the IETF community, got public review, and was approved for publication by the Internet Engineering Steering Group (IESG). if you want more info on Internet Standards, check out Section 2 of RFC 5741 π§
info about the current status of this doc, any errata, and how to send feedback can be found at http://www.rfc-editor.org/info/rfc6564 β
Copyright Notice π
Copyright (c) 2012 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) as in effect on the date of publication. please read these carefully, because they explain your rights and restrictions for this document π Code Components pulled out of this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions, and they come without warranty as described in the Simplified BSD License π
Table of Contents π
1. Introduction ....................................................2
2. Conventions Used in This Document ...............................3
3. Applicability ...................................................3
4. Proposed IPv6 Extension Header Format ...........................4
5. Backward Compatibility ..........................................4
6. Future Work .....................................................5
7. Security Considerations .........................................5
8. Acknowledgements ................................................5
9. Normative References ............................................5
1. Introduction β¨
the base IPv6 standard [RFC2460] defines extension headers as an expansion mechanism for carrying optional internet-layer info πΈ extension headers (except for the Hop-by-Hop Options header) usually aren't processed on intermediate nodes. BUT, several deployed IPv6 routers and several deployed IPv6 firewalls are, against [RFC2460], able to parse past or ignore all the currently defined IPv6 extension headers. they can do this at wire speed, for example with custom Application-specific Integrated Circuits (ASICs) for packet processing, so they can look at transport-layer header fields π so, bestie, any new IPv6 extension header could break IPv6 deployments that rely on these existing capabilities π
any IPv6 header or option that has hop-by-hop behavior and is meant for general use on the public IPv6 Internet could get subverted to attack IPv6 routers that process packets carrying it π reports from the field say some IP routers in the global Internet are set up either to ignore headers with hop-by-hop behavior or to drop packets that contain them π₯
2. Conventions Used in This Document π
the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119] π
3. Applicability π
the base IPv6 standard [RFC2460] lets you use both extension headers and destination options to encode optional destination info in an IPv6 packet π¦ using destination options for this info gives more flexible handling and better backward compatibility than extension headers do, so it's giving "use the good option first" π because of this, implementations SHOULD use destination options as the preferred mechanism for encoding optional destination information, and only use a new extension header if destination options don't satisfy their needs. the request to create a new IPv6 extension header MUST be accompanied by a specific explanation of why destination options couldn't be used to convey this information π
the base IPv6 standard [RFC2460] defines 3 extension headers (Routing header, Destination Options header, Hop-by-Hop Options header) that are meant for any new IPv6 options π§ the same standard only allows creating new extension headers in limited circumstances ([RFC2460], Section 4.6) π
as mentioned above, using any option with hop-by-hop behavior can be a problem on the global public Internet π¬ New IPv6 extension header(s) having hop-by-hop behavior MUST NOT be created or specified. New options for the existing Hop-by-Hop Header SHOULD NOT be created or specified unless no alternative solution is feasible. any proposal to create a new option for the existing Hop-by-Hop Header MUST include a detailed explanation of why the hop-by-hop behavior is absolutely essential in the document proposing the new option with hop-by-hop behavior π₯
the hop-by-hop part is the big red flag here, bestie π© don't go near it unless there is literally no other way
the Destination Options header gives more flexible handling and better backward compatibility than a new extension header does, so it's giving "use what's already there" β¨ because of this, new optional info to be sent SHOULD be encoded in a new option for the existing IPv6 Destination Options header π«Ά
being mindful of compatibility with existing IPv6 deployments, new IPv6 extension headers MUST NOT be created or specified, unless no existing IPv6 extension header can be used by specifying a new option for that existing IPv6 extension header. any proposal to create or specify a new IPv6 extension header MUST include a detailed technical explanation of why no existing IPv6 extension header can be used, in the document proposing the new IPv6 extension header π
4. Proposed IPv6 Extension Header Format π§
any IPv6 extension headers defined in the future, keeping in mind the restrictions in Section 3 and the restrictions in [RFC2460], MUST use the consistent format defined in Figure 1. this minimizes breakage in intermediate nodes that examine these extension headers π
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Header | Hdr Ext Len | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
| |
. .
. Header Specific Data .
. .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Next Header 8-bit selector. Identifies the type of header
immediately following the extension header.
Uses the same values as the IPv4 Protocol field
[IANA_IP_PARAM].
Hdr Ext Len 8-bit unsigned integer. Length of the extension
header in 8-octet units, not including the first
8 octets.
Header Specific Variable length. Fields specific to the
Data extension header.
Figure 1: Extension Header Layout
(there's more to come, bestie, part 2 is next π¦π)
Authors' Addresses β¨
okay bestie, here are the five legends who wrote this thing π«Ά their contact info is below so you can slide into their inboxes if you have questions π
Suresh Krishnan π
Suresh Krishnan
Ericsson
8400 Decarie Blvd.
Town of Mount Royal, QC
Canada
Phone: +1 514 345 7900 x42871
EMail: suresh.krishnan@ericsson.com
James Woodyatt π
James Woodyatt
Apple Inc.
1 Infinite Loop
Cupertino, CA 95014
US
EMail: jhw@apple.com
Erik Kline π¦
Erik Kline
Google
Mori Tower 26F
Roppongi 6-10-1
Minato ku
Tokyo 106-6126
Japan
Phone: +81 3-6384-9635
EMail: ek@google.com
James Hoagland π
James Hoagland
Symantec Corporation
350 Ellis St.
Mountain View, CA 94043
US
EMail: Jim_Hoagland@symantec.com
URI: http://symantec.com/
Manav Bhatia πΈ
Manav Bhatia
Alcatel-Lucent
Bangalore
India
EMail: manav.bhatia@alcatel-lucent.com
that's the whole squad, periodt ππ
π¦ where this page comes from
- ietf: rfc6564 2012-04
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms