draft-ietf-6man-rfc2460bis-04.txt   draft-ietf-6man-rfc2460bis-05.txt 
Network Working Group S. Deering Network Working Group S. Deering
Internet-Draft Retired Internet-Draft Retired
Obsoletes: 2460 (if approved) R. Hinden Obsoletes: 2460 (if approved) R. Hinden
Intended status: Standards Track Check Point Software Intended status: Standards Track Check Point Software
Expires: September 22, 2016 March 21, 2016 Expires: December 30, 2016 June 28, 2016
Internet Protocol, Version 6 (IPv6) Specification Internet Protocol, Version 6 (IPv6) Specification
draft-ietf-6man-rfc2460bis-04 draft-ietf-6man-rfc2460bis-05
Abstract Abstract
This document specifies version 6 of the Internet Protocol (IPv6). This document specifies version 6 of the Internet Protocol (IPv6).
It obsoletes RFC2460 It obsoletes RFC2460
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
skipping to change at page 1, line 32 skipping to change at page 1, line 32
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 22, 2016. This Internet-Draft will expire on December 30, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 4, line 5 skipping to change at page 4, line 5
Extensions to support authentication, data integrity, and Extensions to support authentication, data integrity, and
(optional) data confidentiality are specified for IPv6. (optional) data confidentiality are specified for IPv6.
This document specifies the basic IPv6 header and the initially- This document specifies the basic IPv6 header and the initially-
defined IPv6 extension headers and options. It also discusses packet defined IPv6 extension headers and options. It also discusses packet
size issues, the semantics of flow labels and traffic classes, and size issues, the semantics of flow labels and traffic classes, and
the effects of IPv6 on upper-layer protocols. The format and the effects of IPv6 on upper-layer protocols. The format and
semantics of IPv6 addresses are specified separately in semantics of IPv6 addresses are specified separately in
[I-D.hinden-6man-rfc4291bis]. The IPv6 version of ICMP, which all [I-D.ietf-6man-rfc4291bis]. The IPv6 version of ICMP, which all IPv6
IPv6 implementations are required to include, is specified in implementations are required to include, is specified in [RFC4443]
[RFC4443]
The data transmission order for IPv6 is the same as for IPv4 as The data transmission order for IPv6 is the same as for IPv4 as
defined in Appendix B of [RFC0791]. defined in Appendix B of [RFC0791].
Note: As this document obsoletes [RFC2460], any document referenced Note: As this document obsoletes [RFC2460], any document referenced
in this document that includes pointers to RFC2460, should be in this document that includes pointers to RFC2460, should be
interpreted as referencing this document. interpreted as referencing this document.
2. Terminology 2. Terminology
skipping to change at page 6, line 20 skipping to change at page 6, line 20
Hop Limit 8-bit unsigned integer. Decremented by 1 by Hop Limit 8-bit unsigned integer. Decremented by 1 by
each node that forwards the packet. When each node that forwards the packet. When
forwarding, the packet is discarded if Hop forwarding, the packet is discarded if Hop
Limit was zero when received or is decremented Limit was zero when received or is decremented
to zero. A node that is the destination of a to zero. A node that is the destination of a
packet should not discard a packet with hop packet should not discard a packet with hop
limit equal to zero, it should process the limit equal to zero, it should process the
packet normally. packet normally.
Source Address 128-bit address of the originator of the Source Address 128-bit address of the originator of the
packet. See [I-D.hinden-6man-rfc4291bis]. packet. See [I-D.ietf-6man-rfc4291bis].
Destination Address 128-bit address of the intended recipient of Destination Address 128-bit address of the intended recipient of
the packet (possibly not the ultimate the packet (possibly not the ultimate
recipient, if a Routing header is present). recipient, if a Routing header is present).
See [I-D.hinden-6man-rfc4291bis] and section See [I-D.ietf-6man-rfc4291bis] and section
4.4. 4.4.
4. IPv6 Extension Headers 4. IPv6 Extension Headers
In IPv6, optional internet-layer information is encoded in separate In IPv6, optional internet-layer information is encoded in separate
headers that may be placed between the IPv6 header and the upper- headers that may be placed between the IPv6 header and the upper-
layer header in a packet. There are a small number of such extension layer header in a packet. There are a small number of such extension
headers, each identified by a distinct Next Header value. As headers, each identified by a distinct Next Header value. As
illustrated in these examples, an IPv6 packet may carry zero, one, or illustrated in these examples, an IPv6 packet may carry zero, one, or
more extension headers, each identified by the Next Header field of more extension headers, each identified by the Next Header field of
skipping to change at page 7, line 26 skipping to change at page 7, line 26
| Routing | TCP | | Routing | TCP |
+---------------+----------------+------------------------ +---------------+----------------+------------------------
+---------------+----------------+-----------------+----------------- +---------------+----------------+-----------------+-----------------
| IPv6 header | Routing header | Fragment header | fragment of TCP | IPv6 header | Routing header | Fragment header | fragment of TCP
| | | | header + data | | | | header + data
| Next Header = | Next Header = | Next Header = | | Next Header = | Next Header = | Next Header = |
| Routing | Fragment | TCP | | Routing | Fragment | TCP |
+---------------+----------------+-----------------+----------------- +---------------+----------------+-----------------+-----------------
Extension headers must never be inserted by any node other than the The insertion of Extension Headers by any node other than the source
source of the packet. IP Encapsulation must be used to meet any of the packet breaks PMTU-discovery and can result in ICMP error
requirement for inserting headers, for example, as defined in messages being sent to the source of the packet that did not insert
[RFC2473]. the header.
The current approach to allowing a header to be inserted is to
encapsulate the packet using another IPv6 header and including the
additional extension header after the first IPv6 header, for example,
as defined in [RFC2473].
With one exception, extension headers are not processed by any node With one exception, extension headers are not processed by any node
along a packet's delivery path, until the packet reaches the node (or along a packet's delivery path, until the packet reaches the node (or
each of the set of nodes, in the case of multicast) identified in the each of the set of nodes, in the case of multicast) identified in the
Destination Address field of the IPv6 header. Note: If an Destination Address field of the IPv6 header. Note: If an
intermediate forwarding node examines an extension header for any intermediate forwarding node examines an extension header for any
reason, it must do so in accordance with the provisions of [RFC7045]. reason, it must do so in accordance with the provisions of [RFC7045].
At the Destination node, normal demultiplexing on the Next Header At the Destination node, normal demultiplexing on the Next Header
field of the IPv6 header invokes the module to process the first field of the IPv6 header invokes the module to process the first
extension header, or the upper-layer header if no extension header is extension header, or the upper-layer header if no extension header is
present. The contents and semantics of each extension header present. The contents and semantics of each extension header
determine whether or not to proceed to the next header. Therefore, determine whether or not to proceed to the next header. Therefore,
extension headers must be processed strictly in the order they appear extension headers must be processed strictly in the order they appear
in the packet; a receiver must not, for example, scan through a in the packet; a receiver must not, for example, scan through a
packet looking for a particular kind of extension header and process packet looking for a particular kind of extension header and process
that header prior to processing all preceding ones. that header prior to processing all preceding ones.
The exception referred to in the preceding paragraph is the Hop-by- The exception referred to in the preceding paragraph is the Hop-by-
Hop Options header, which carries information that should be examined Hop Options header, which carries information that may be examined
and processed by every node along a packet's delivery path, including and processed by every node along a packet's delivery path, including
the source and destination nodes. The Hop-by-Hop Options header, the source and destination nodes. The Hop-by-Hop Options header,
when present, must immediately follow the IPv6 header. Its presence when present, must immediately follow the IPv6 header. Its presence
is indicated by the value zero in the Next Header field of the IPv6 is indicated by the value zero in the Next Header field of the IPv6
header. header.
It should be noted that due to performance restrictions nodes may NOTE: While [RFC2460] required that all nodes must examine and
ignore the Hop-by-Hop Option header, drop packets containing a hop- process the Hop-by-Hop Options header, it is now expected that nodes
by-hop option header, or assign packets containing a hop-by-hop along a packet's delivery path only examine and process the Hop-by-
option header to a slow processing path. Designers planning to use a Hop Options header if explicitly configured to do so.
hop-by-hop option need to be aware of this likely behaviour.
If, as a result of processing a header, a node is required to proceed If, as a result of processing a header, a node is required to proceed
to the next header but the Next Header value in the current header is to the next header but the Next Header value in the current header is
unrecognized by the node, it should discard the packet and send an unrecognized by the node, it should discard the packet and send an
ICMP Parameter Problem message to the source of the packet, with an ICMP Parameter Problem message to the source of the packet, with an
ICMP Code value of 1 ("unrecognized Next Header type encountered") ICMP Code value of 1 ("unrecognized Next Header type encountered")
and the ICMP Pointer field containing the offset of the unrecognized and the ICMP Pointer field containing the offset of the unrecognized
value within the original packet. The same action should be taken if value within the original packet. The same action should be taken if
a node encounters a Next Header value of zero in any header other a node encounters a Next Header value of zero in any header other
than an IPv6 header. than an IPv6 header.
skipping to change at page 12, line 21 skipping to change at page 12, line 26
The PadN option is used to insert two or more octets of padding The PadN option is used to insert two or more octets of padding
into the Options area of a header. For N octets of padding, the into the Options area of a header. For N octets of padding, the
Opt Data Len field contains the value N-2, and the Option Data Opt Data Len field contains the value N-2, and the Option Data
consists of N-2 zero-valued octets. consists of N-2 zero-valued octets.
Appendix A contains formatting guidelines for designing new options. Appendix A contains formatting guidelines for designing new options.
4.3. Hop-by-Hop Options Header 4.3. Hop-by-Hop Options Header
The Hop-by-Hop Options header is used to carry optional information The Hop-by-Hop Options header is used to carry optional information
that should be examined by every node along a packet's delivery path. that may be examined and processed by every node along a packet's
The Hop-by-Hop Options header is identified by a Next Header value of delivery path. The Hop-by-Hop Options header is identified by a Next
0 in the IPv6 header, and has the following format: Header value of 0 in the IPv6 header, and has the following format:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Header | Hdr Ext Len | | | Next Header | Hdr Ext Len | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
| | | |
. . . .
. Options . . Options .
. . . .
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 28, line 32 skipping to change at page 28, line 32
Abley, Shane Amante, Jari Arkko, Manav Bhatia, Ronald P. Bonica, Abley, Shane Amante, Jari Arkko, Manav Bhatia, Ronald P. Bonica,
Scott Bradner, Brian Carpenter, P.F. Chimento, Marshall Eubanks, Scott Bradner, Brian Carpenter, P.F. Chimento, Marshall Eubanks,
Fernando Gont, James Hoagland, Sheng Jiang, Erik Kline, Suresh Fernando Gont, James Hoagland, Sheng Jiang, Erik Kline, Suresh
Krishnan, Vishwas Manral, George Neville-Neil, Jarno Rajahalme, Pekka Krishnan, Vishwas Manral, George Neville-Neil, Jarno Rajahalme, Pekka
Savola, Magnus Westerlund, and James Woodyatt. Savola, Magnus Westerlund, and James Woodyatt.
12. References 12. References
12.1. Normative References 12.1. Normative References
[I-D.hinden-6man-rfc4291bis] [I-D.ietf-6man-rfc4291bis]
Hinden, B. and S. Deering, "IP Version 6 Addressing Hinden, R. and S. Deering, "IP Version 6 Addressing
Architecture", draft-hinden-6man-rfc4291bis-06 (work in Architecture", draft-ietf-6man-rfc4291bis-02 (work in
progress), October 2015. progress), April 2016.
[RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, DOI [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, DOI
10.17487/RFC0791, September 1981, 10.17487/RFC0791, September 1981,
<http://www.rfc-editor.org/info/rfc791>. <http://www.rfc-editor.org/info/rfc791>.
[RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black,
"Definition of the Differentiated Services Field (DS "Definition of the Differentiated Services Field (DS
Field) in the IPv4 and IPv6 Headers", RFC 2474, DOI Field) in the IPv4 and IPv6 Headers", RFC 2474, DOI
10.17487/RFC2474, December 1998, 10.17487/RFC2474, December 1998,
<http://www.rfc-editor.org/info/rfc2474>. <http://www.rfc-editor.org/info/rfc2474>.
skipping to change at page 33, line 48 skipping to change at page 33, line 48
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Appendix B. CHANGES SINCE RFC2460 Appendix B. CHANGES SINCE RFC2460
This memo has the following changes from RFC2460. Numbers identify This memo has the following changes from RFC2460. Numbers identify
the Internet-Draft version in which the change was made. the Internet-Draft version in which the change was made.
Working Group Internet Drafts Working Group Internet Drafts
05) Changed requirement for HBH header from a should to a may,
and added a note to indicate what is expected.
05) Corrected reference to point to draft-ietf-6man-rfc4291bis
instead of draft-hinden-6man-rfc4291bis.
05) Change to text regarding not inserting extension headers to
cite using encapsulation as an example.
04) Changed text discussing Fragment ID selection to refer to 04) Changed text discussing Fragment ID selection to refer to
RFC7739 for example algorithms. RFC7739 for example algorithms.
04) Editorial changes. 04) Editorial changes.
03) Clarified the text about decrementing the hop limit. 03) Clarified the text about decrementing the hop limit.
03) Removed IP Next Generation from the Abstract. 03) Removed IP Next Generation from the Abstract.
03) Add reference to the end of Section 4 to IPv6 Extension 03) Add reference to the end of Section 4 to IPv6 Extension
 End of changes. 12 change blocks. 
25 lines changed or deleted 37 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/