Internet DRAFT - draft-elkins-6man-ipv6-ipid-needed

draft-elkins-6man-ipv6-ipid-needed




6man Working Group                                             N. Elkins
Internet Draft                                           Inside Products
Intended status: Standards track                              L. Kratzke
Expires: September, 2013                                             IBM
                                                            M. Ackermann
                                                        BCBS of Michigan
                                                              K. Haining
                                                                 US Bank

                                                           February 2013

                             IPv6 IPID Needed
                   draft-elkins-6man-ipv6-ipid-needed-00.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 September 4, 2013.


Copyright Notice

Copyright (c) 2013 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.

Elkins                     Expires September 4, 2013           [Page 01]


Internet-Draft               IPv6 IPID Needed       February 2013

Abstract

The IPv4 main header contained a 16-bit IP Identification (IPID) field
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, and would only
be used when fragmentation is required.  Thus, the IPID field in IPv6,
is no longer able to be utilized in the valuable role it played in
IPv4, relative to diagnostics and problem resolution.  This causes
great concern in particular for end users and large enterprises, for
whom Network/Application availability and performance can directly and
profoundly affect bottom line financials. Several viable solutions to 
this situation exist. One potential solution is included in later
sections of this RFC, but the primary intention of this RFC is to 
initiate action by the IETF on this issue, perhaps in the form of a 
Working Group Subcommittee.

Elkins                     Expires September 4, 2013          [Page 02]


Internet-Draft               IPv6 IPID Needed       February 2013

Table of Contents

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



Elkins                     Expires September 4, 2013           [Page 03]


Internet-Draft               IPv6 IPID Needed       February 2013


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, the IPID field 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 the IPID makes it easier for a device(s) 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 September 4, 2013          [Page 04]


Internet-Draft               IPv6 IPID Needed       February 2013

For its de-facto diagnostic mode usage, the IPID field needs to be 
available whether or not fragmentation occurs.  It also needs to be
unique in the context of the entire session, and across all the
connections controlled by the stack. 

This document will present information that demonstrates how valuable
and useful the IPID field has been (in IPv4) for diagnostics and 
problem resolution, and how not having it available (in IPv6), could
be a major detriment to new IPv6 deployments and contribute to 
protracted downtimes in existing IPv6 operations.  A  possible 
solution to this situation will be suggested, but the primary 
intention of this document is to highlight the existence of this
issue and to ask that the IETF research and recommend an optimal
solution, perhaps by the formation of a Working Group Subcommittee. 
End users and Large Enterprises involved in this initiative to date 
seem to agree on the need to retain this valuable diagnostic facility,
as well as the preference that it be able turned on and off as needed,
if it cannot be statically included in the base header, as it is in
IPv4.

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 September 4, 2013           [Page 05]



Internet-Draft               IPv6 IPID Needed      February 2013

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 example solution is an implementation of the
Destination Options Header.  Once again, this approach assumes the
IPID field cannot be included in the base header, as it is in IPv4.

BASIC RATIONALE  FOR RETENTION OF THE IPID FIELD

1.  The ability to utilize the IPID has enhanced problem diagnosis 
efforts and significantly reduced problem resolution time.

2.  Several actual use case examples are shown below.  These
demonstrate how use of the IPID has reduced problem resolution time in
very valuable production networks of Large Enterprises/End Users.  In 
general, if a problem or performance issue with an application or
network component can be fixed in minutes, as opposed to hours, this
can mean significant dollar savings to large enterprises.  The IPID
can be used extensively when debugging involves traces or packet 
captures.  Its absence in IPv6 may lead to protracted problem
diagnosis and extended problem resolution time.

3.  This value/perspective may be unique to tech support organizations
of large enterprises.  Other functional areas may not share this 
concern/perspective, as packets could continue to flow, but service
levels may not be acceptable to end users during the extended problem 
resolution time.

4.  Although very situation dependent, the use cases below clearly
illustrate the value of network availability, and the need to keep 
problem resolution time to an absolute minimum.

5.  Another benefit of using the IPID to expedite problem resolution
is reducing the cost of associated resources being consumed during 
extended problem resolution, such as storage, CPU and staff time.

6.  Will IPID be critical in most problem resolutions?  NO!  But if
it even helps in a few per year, significant money and/or lost
business could be saved.

Elkins                     Expires September 4, 2013           [Page 06]


Internet-Draft               IPv6 IPID Needed      February 2013

7.  A facility such as IPID, that has proven field value, should not
be eliminated as an effective diagnosis tool!


USE CASE EXAMPLES. 

 USE CASE #1 --- Large Insurance Company
   -  (estimated time saved by use of IPID:  7 hours)
 PERFORMANCE TOOL PRODUCES EXTRANEOUS PACKETS? 
 - Issue was whether a performance tool was accurately replicating
   session flow during performance testing?
 - Trace IPIDs showed more unique packets within same flow from
   performance tool compared to IE Browser.
 - Having the clear IPID sequence numbers also showed where and why
   the extra packets were being generated.
 - Solution: Problem rectified in subsequent version of performance
   tool.
 - Without IPID, it was not clear if there was an issue at all.
 
 USE CASE #2 --- Large Bank
   -   (estimated time saved by use of IPID:  4 hours)
 BATCH TRANSFER DURATION INCREASES 12X 
 -  A 30 minute data transfer started taking 6-8 hours to complete.
 -  Possible packet loss?  All vendors said no.
 -  Other Apps were working OK.
 -  4 trace points used, and then IPIDs compared.
 -  Showed 7% packet loss.
 -  Solution: WAN hardware was replaced and problem fixed.
 -  Without IPID, no one would agree a problem existed
 
 USE CASE #3 --- Large Bank
   -    (estimated time saved by use of IPID: 6 hours)
 VERY SLOW INTERACTIVE PERFORMANCE.
 - All network links looked good.
 - Traces showed duplicated small packets (which can be OK).
 - Saw that IPID was equal but TTL was always + 1.
 - Network device was "Splitting" small packets only.(2 interfaces).
 - The small packets were control info, telling other side to slow
   down.
 - Erroneously looked like network congestion.
 - Solution:  Network Device replaced and good interactive
   performance restored.
 - Without IPID, flows would have appeared OK.

Elkins                     Expires September 4, 2013           [Page 07]


Internet-Draft               IPv6 IPID Needed      February 2013


 USE CASE #4 --- Large Government Agency
   -    (estimated time saved by use of IPID: 9 hours)
 VPN DROPS 
 - Cell phone connection to law enforcement were being dropped. 
   Going through a VPN. 
 - All parties (both sides of VPN connection, application, etc.) said
   it was not their problem.  Problem went on for weeks. 
 - Finally, when we were called in as consultants, we took a trace
   which showed packet with IPID and TTL that did not match others in
   the flow AT ALL was coming from router nearest application server
   end of VPN. 
 - Solution: Provider for VPN for application server changed.  Problem
   resolved. 
 - Without IPID, much harder to diagnose problem. 
 - (Same case also happened with large corporation.  Again, all 
   parties saying not their fault until proven via packet trace.)
   
4.  IPv6 Diagnostic Option Format
One Possible Implementation  -  Example Solution

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 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.

Elkins                     Expires September 4, 2013          [Page 08]


Internet-Draft               IPv6 IPID Needed       February 2013


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                         +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

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:

- 00 
  - skip over this option and continue processing the header.
  - The data within the option cannot change en route to the 
    packet's final destination.

Elkins                     Expires September 4, 2013          [Page 09]


Internet-Draft               IPv6 IPID Needed      February 2013

The IPv6 Diagnostic Option MUST be placed as follows:
  - After the Routing Header, if that header is present
  
  - Before the Fragment Header, if that header is present
  
  - 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 only for 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.


4.3.  Implementation Considerations

In implementation, a given OS/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 would preferably be done via a 'Debug
on'/'Debug off' switch. That is, a diagnostician might 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
would 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 might 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.

Please note that the ability to turn extended diagnostic information
on or off, as appropriate, is very prevalent in many situations:  
servers, applications, network devices, etc.

Elkins                     Expires September 4, 2013          [Page 10]


Internet-Draft               IPv6 IPID Needed       February 2013


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


5. Backward Compatibility

The example solution described in the previous sections of 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.


6. Security Considerations

The example solution 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 should skip over this option and continue processing the
header if it does not recognize 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.

Elkins                     Expires September 4, 2013          [Page 11]


Internet-Draft               IPv6 IPID Needed      February 2013

[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://www.iana.org/assignments/ipv6-parameters


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 93924
   United States

   Phone: +1 831 659 8360
   Email: nalini.elkins@insidethestack.com

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

   Phone: +1 800-876-8801
   Email: kratzke@us.ibm.com

Elkins                     Expires September 4, 2013          [Page 12]


Internet-Draft               IPv6 IPID Needed      February 2013

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

   Phone: +1 310 460 4080
   Email: mackermann@bcbsmi.com

   Keven Haining
   US Bank
   16900 W Capitol Drive 
   Brookfield, WI 53005 

   Phone: +1 262-790-3551 
   Email: keven.haining@usbank.com 

Elkins                    Expires September 4, 2013          [Page 13]