Hello Folks,

Would love to get feedback on an Internet Draft we have submitted.  The issue 
we are addressing is that the IP Identification field which was available with 
IPv4 in the main header is available with IPv6 only in the Fragment Header.

Please see:

http://tools.ietf.org/id/draft-elkins-6man-ipv6-diagnostic-header-00.txt

We do have a revision (version 01) which is attached.  The submission system is 
closed so we will update it formally when it reopens on July 25th.  

Thanks!
Nalini Elkins
Inside Products, Inc.
(831) 659-8360
6man Working Group                                             N. Elkins
Internet Draft                                           Inside Products
Intended status: Standards track                              L. Kratzke
Expires: January, 2012                                               IBM
                                                            M. Ackermann
                                                        BCBS of Michigan
                                                               July 2011

                             IPv6 Diagnostic Option
                   draft-elkins-6man-ipv6-diagnostic-header-01.txt

Status of this Memo

This Internet-Draft is submitted in full conformance with the provisions
of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task
Force (IETF), its areas, and its working groups. Note that other groups
may also distribute working documents as Internet-Drafts.

Internet-Drafts are draft documents valid for a maximum of six months 
and may be updated, replaced, or obsoleted by other documents at any 
time. It is inappropriate to use Internet-Drafts as reference material
or to cite them other than as "work in progress."

The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt

The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html

This Internet-Draft will expire on January 4, 2012.


Copyright Notice

Copyright (c) 2011 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) in 
effect on the date of publication of this document. Please review these 
documents carefully, as they describe your rights and restrictions with 
respect to this document.

Abstract

The IPv4 main header contained a 16-bit IP Identification (IPID) field
to be used for fragmentation and reassembly.  In practice, this field 
was commonly used by network diagnosticians for tracking packets. In 
IPv6, the IPID has been moved to the Fragment header.  A new Diagnostic
Option for IPv6 which can be sent with every packet as a part of the 
Destination Options Header with a 64-bit IPID is defined in this 
document.

Elkins                     Expires January 4, 2012           [Page 01]



Internet-Draft                  IPv6 Diagnostic Option       July 2011

Table of Contents

1. Introduction ..................................................... 2
2. Conventions used in this document ................................ 3
3. Applicability  ................................................... 3
4. IPv6 Diagnostics Header Format ................................... 3
   4.1. Destination Options Header .................................. 4
   4.2. Diagnostic Option ........................................... 5
   4.3. Implementation Considerations ............................... 6
5. Backward Compatibility ........................................... 6
6. Security Considerations .......................................... 6
7. IANA Considerations .............................................. 6
10. References ...................................................... 6 
    10.1. Normative References ...................................... 7 
    10.2. Informative References .................................... 7
11. Acknowledgments ................................................. 8


1. Introduction

In IPv4, the 16 bit IP Identification (IPID) field is located at an 
offset of 4 bytes into the IPv4 header and is described in RFC791 
[RFC791]. In IPv6, it is a 32 bit field contained in the Fragment Header
defined by section 4.5 of RFC2460 [RFC2460]. Unfortunately, unless 
fragmentation is being done by the source node, the packet will not
contain this Fragment Header, and therefore will have no Identification
field.

The intended purpose of the IPID field is to enable fragmentation and
reassembly, and as currently specified is required to be unique within
the maximum segment lifetime (MSL) on all datagrams. The MSL is often 2
minutes.

In practice, the IPID field is used for more than fragmentation.
During network diagnostics, packet traces may be taken at multiple 
places along the path or at the source and destination. Then, packets 
can be matched by looking at the IPID. Obviously, the time at each 
device will differ according to the clock on that device; so another 
metric is required. This method of taking multiple traces along the path
is of special use on large multi-tier networks to see where the packet
loss or packet corruption is happening.  Multi-tier networks are those 
which have multiple routers or switches on the path between the sender
and the receiver.

The inclusion of this option makes it easier for a device in the middle
of the network or on the receiving end of the network to identify flows 
belonging to a single node, even if that node might have a different IP
address. For example, if the sending node is a mobile laptop with a 
wireless connection to the Internet.  

Elkins                     Expires January 4, 2012           [Page 02]



Internet-Draft                  IPv6 Diagnostic Option       July 2011


Having said that, a known problem with the uniqueness of the IPv4 ID is 
that since the field is only 16 bits, then for high speed devices, 
wrapping will occur. As discussed in RFC4963 [RFC4963] and 
draft-ietf-intarea-ipv4-id-update-02.txt [Draft-ipv4-id], if the 
uniqueness requirement were strictly enforced, all connections would be 
limited to a maximum speed of 6.4 Mbps. Clearly, this uniqueness 
requirement is widely ignored.

In fact, the implementation of the IPID field varies.  Some 
implementations have the same IPID counter for all connections; some 
have an IPID counter on a per connection basis.  Some implementations
increment the IPID by one each time a packet is sent out; some
increment by two.  

In IPv6, the IPID field, which is in the Fragment Header, has been 
increased to 32 bits. This may need to be reconsidered as data rates 
increase but if the IPID is used for fragmentation and reassembly 
alone, the requirement for uniqueness within the MSL period is 
generally not an issue today. RFC4963 [RFC4963] discusses the issue of 
reassembly errors at high data rates for IPv4 with a 16-bit counter.

However, for its de-facto diagnostic mode usage, an IPID needs to be 
available whether or not fragmentation occurs, and needs to be unique
in the context of the entire session, and across all the connections
controlled by the stack. The problem of 32 bit counters is known
and has been resolved in areas such as SNMP counters by creating 
64-bit counters as described in RFC2863 [RFC2863].

This document will address a way to make the IPv6 IPID field available 
and unique for its valuable diagnostic usage. A Diagnostic Option which
is an implementation of the Destination Options Header is proposed
which may be sent by stacks in diagnostic mode. The implementation
MAY provide the option of either turning on the Diagnostic Option for
all connections or turn it on just for specific connections.  The more
sophisticated usage of this option would be to send it for a single
connection only.


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 [RFC2119].

Elkins                     Expires January 4, 2012           [Page 03]



Internet-Draft                  IPv6 Diagnostic Option       July 2011


3.  Applicability

The base IPv6 standard, RFC2460, [RFC2460] allows the use of 
extension headers such as the Destination Options Header in order
to encode optional destination information in an IPv6 packet. 
Extended diagnostic information such as this MUST be sent by 
implementations upon request. The proposed Diagnostic Option is an 
implementation of the Destination Options Header.


4.  IPv6 Diagnostic Option Format

4.1  Destination Options Header

The Destination Options Header is used to carry optional information
that need be examined only by a packet's destination node(s). The 
Destination Options Header is identified by a Next Header value of 60
in the immediately preceding header and is defined in RFC2460 [RFC2460].


4.2.  IPv6 Diagnostic Option 

The IPv6 Diagnostic Option is an implementation of the Destination
Options Header (Next Header value = 60). It is used in a packet sent
by a node to facilitate diagnostics by informing the recipient and
passive viewers of the packet such as packet capture facilities of 
the packet's IP Identifier. 

The IPv6 Diagnostic Option is encoded in type-length-value (TLV) 
format as follows:


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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Option Type  | Option Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                                                               +
|                                                               |
+                         IP Identifier                         +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Elkins                     Expires January 4, 2012           [Page 04]



Internet-Draft                  IPv6 Diagnostic Option       July 2011


Option Type

TBD = 0xXX (TBD)  [To be assigned by IANA] [RFC2780]


Option Length

8-bit unsigned integer. Length of the option, in octets, excluding the
Option Type and Option Length fields. This field MUST be set to 64.


IP Identifier

The IP Identifier of the packet for 64 bits.

The alignment requirement for the IP Identifier option is 8n+6.

The two highest-order bits of the Option Type field are encoded to 
indicate specific processing of the option; for the IP Identifier
option, these two bits MUST be set to 00. This indicates the following
processing requirements:

   o  00 - skip over this option and continue processing the header.
   
   o  The data within the option cannot change en route to the packet's
      final destination.
          
      The IPv6 Diagnostic Option MUST be placed as follows:
          
   o  After the Routing Header, if that header is present
   
   o  Before the Fragment Header, if that header is present

   o  Before the AH Header or ESP Header, if either one of those 
      headers are present.

For each IPv6 packet header, the IPv6 Diagnostic Option MUST NOT appear
more than once. However, an encapsulated packet MAY contain a separate
IPv6 Diagnostic Option associated with each encapsulating IP header.

The inclusion of a IPv6 Diagnostic Option in a packet affects the 
receiving node's processing of only this single packet. No state is 
created or modified in the receiving node as a result of receiving a 
IPv6 Diagnostic Option in a packet.

Elkins                     Expires January 4, 2012           [Page 05]



Internet-Draft                  IPv6 Diagnostic Option       July 2011


4.3.  Implementation Considerations

In implementation, an implementing stack may send this additional header
for all connections, per higher level protocol or in a more 
sophisticated usage, for a single connection or flow only.

The initiation of this header MUST be done via a 'Debug on'/'Debug off' 
switch. That is, a diagnostician may decide that this header is required
for a certain timeframe or for a certain set of packets after a network
problem is encountered. The diagnostician may then issue a command to 
the stack indicating that addition of the IP Identifier header should 
now begin. This is the 'Debug on' state. After a certain amount of time,
then 'Debug off' should be issued as a command.  Alternatively, the 
stack may have a fixed time (for example, 5 minutes) after which debug 
mode will automatically be turned off. In their default configuration, 
IPv6 nodes SHOULD NOT include this option in IPv6 packets that they 
originate.  That is, the switch or state SHOULD default to 'Debug off'.

Additionally, implementers MUST permit a system administrator to enable
or disable including this option in originated IPv6 packets on at least
a per-Upper-Protocol basis (e.g. at least provide enable/disable 
separate knobs for ICMP, UDP, TCP, or SCTP, in addition to a knob to 
enable or disable for all IPv6 packets), and SHOULD permit it also to 
be enabled or disabled on a per-flow basis.  This configuration 
flexibility would increase the potential value of this new option, and 
would not increase implementation complexity unduly.

Additionally, we suggest that stacks implement a separate IPID counter
per connection rather than a single counter for all connections. 


5. Backward Compatibility

The scheme proposed in this document is backward compatible with all 
the currently defined IPv6 extension headers. According to RFC2460 
[RFC2460], if the destination node does not recognize this option, it 
should skip over this option and continue processing the header.


Elkins                     Expires January 4, 2012           [Page 06]



Internet-Draft                  IPv6 Diagnostic Option       July 2011

6. Security Considerations

This option might be useful to security gateways seeking to identify 
operational security issues or in preventing Replay Attacks.


7. IANA Considerations

A Destination Option requires an IPv6 Option Number or Type [RFC2460] 
which is 8 bits.

HEX.........act..chg..rest (5 bits)
----        ---- ---  ----
TBD          00   0    TBD   IPv6 Diagnostic Option

For the IPv6 Option Number (Type), the first two bits indicate that 
the IPv6 node skip over this option and continue processing the header 
if it does not recognise the option type.  The third bit indicates 
that the Option Data must not change en-route, which permits this
option to be protected by the IP Authentication Header.


10. References

10.1. Normative References

[RFC791] Postel, J., "Internet Protocol", RFC 791 / STD 5, September
1981.

[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", RFC 2460, December 1998.

[RFC2863] K. McCloghrie, K., Kastenholz, F. "The Interfaces Group 
MIB", RFC 2863, June 2000.

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 
Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2780] Bradner, S., Paxson, V. "IANA Allocation Guidelines 
For Values In the Internet Protocol and Related Headers", RFC 2780,
March 2000.
See also:
http:http://www.iana.org/assignments/ipv6-parameters


10.2. Informative References

[RFC4963] Heffner, J., Mathis, M., Chandler, B., "IPv4 Reassembly 
Errors at High Data Rates", RFC 4963, July 2007.

[Draft-ipv4-id] Touch, J., "Updated Specification of the IPv4 ID 
Field", draft-ietf-intarea-ipv4-id-update-02.txt, March 2011

Elkins                     Expires January 4, 2012           [Page 07]



Internet-Draft                  IPv6 Diagnostic Option       July 2011


11. Acknowledgments

The authors would like to thank Fred Baker, Bill Jouris, Jose Isidro 
R. J. Atkinson and James Ashton for their reviews and suggestions that
made this document better.

This document was prepared using 2-Word-v2.0.template.dot.


Authors' Addresses
   Nalini Elkins
   Inside Products, Inc.
   36A Upper Circle
   Carmel Valley, CA
   United States

   Phone: +1 831 659 8360
   Email: [email protected]


   Lawrence Kratzke
   IBM
   8121 Glenbrittle Way
   Raleigh, NC 27615
   United States 

   Phone: +1 800-876-8801
   Email: [email protected]


   Michael Ackermann
   Blue Cross Blue Shield of Michigan
   P.O. Box 2888
   Detroit, Michigan 48231
   United States

   Phone: +1 310 460 4080
   Email: [email protected]

Elkins                     Expires January 4, 2012           [Page 08]

--------------------------------------------------------------------
IETF IPv6 working group mailing list
[email protected]
Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

Reply via email to