conex Working Group S. Krishnan
Internet-Draft Ericsson
Intended status: Standards Track M. Kuehlewind
Expires: September 15, 2011 IKR University of Stuttgart
C. Ucendo
Telefonica
March 14, 2011
Options for Conex marking in IPv6 packets
draft-krishnan-conex-ipv6-02
Abstract
Conex is a mechanism by which senders inform the network about the
congestion encountered by packets earlier in the same flow. This
document describes the requirements for conex markings in IPv6
datagrams and describes the various options for performing conex
markings in IPv6.
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). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on September 15, 2011.
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. Code Components extracted from this document must
Krishnan, et al. Expires September 15, 2011 [Page 1]
Internet-Draft Conex IPv6 March 2011
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Conventions used in this document . . . . . . . . . . . . . . . 3
3. Requirements for marking IPv6 packets . . . . . . . . . . . . . 3
4. Possible Solutions . . . . . . . . . . . . . . . . . . . . . . 3
4.1. Hop-by-hop options . . . . . . . . . . . . . . . . . . . . 3
4.2. Destination options . . . . . . . . . . . . . . . . . . . . 4
4.3. Header bits . . . . . . . . . . . . . . . . . . . . . . . . 4
4.4. Extension Headers . . . . . . . . . . . . . . . . . . . . . 4
5. ConEx Encoding . . . . . . . . . . . . . . . . . . . . . . . . 4
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 5
7. Security Considerations . . . . . . . . . . . . . . . . . . . . 5
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5
9. Normative References . . . . . . . . . . . . . . . . . . . . . 5
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 5
Krishnan, et al. Expires September 15, 2011 [Page 2]
Internet-Draft Conex IPv6 March 2011
1. Introduction
Conex is a mechanism by which senders inform the network about the
congestion encountered by packets earlier in the same flow. This
document describes the requirements for conex markings in IPv6
datagrams and describes the various options for performing conex
markings in IPv6.
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. Requirements for marking IPv6 packets
R-1: The marking mechanism needs to be visible to all conex-capable
nodes on the path.
R-2: The mechanism needs to be able to traverse nodes that do not
understand the markings. This is required to ensure that conex can
be incrementally deployed over the Internet.
R-3: The presence of the marking mechanism should not significantly
alter the processing of the packet. This is required to ensure that
conex marked packets do not face any undue delays or drops due to a
badly chosen mechanism.
R-4: The markings should be immutable once set by the sender. At the
very least, any tampering should be detectable.
4. Possible Solutions
4.1. Hop-by-hop options
The base IPv6 standard [RFC2460] defines hop-by-hop options. These
options are processed by every node on the path. Hence they meet
R-1. The options have variable semantics based on the 3 MSB of the
option code. The state of these bits controls the behavior of nodes
to either ignore unknown options or drop packets containing them. It
also defines the ICMPv6 error message sending behavior and the
mutability of the options en-route. This means that it is possible
for hop-by-hop options to satisfy R-2 and R-4. In most commercial
router implementations the mere presence of hop-by-hopoptions rResult
in the packet being punted to the Slow path instead of being accorded
Krishnan, et al. Expires September 15, 2011 [Page 3]
Internet-Draft Conex IPv6 March 2011
regular forwarding behavior (Fast Path). This means that R-3 is not
satisifed.
4.2. Destination options
The base IPv6 standard [RFC2460] defines the destination options.
These options are processed only by the ultimate receiver of the
packet (as specified in the Destination Address field) and not by
nodes on the path. Hence they do not meet R-1. The options have the
same variable semantics based on the 3 MSBs as the hop-by-hop option
which means that they can satisfy R-2 and R-4. As intermediate nodes
currently do not process destination options R-3 is easily satisifed.
4.3. Header bits
The IPv6 header has no free bits. The only bits in the IPv6 header
that are not widely used are the flow label bits [RFC3697]. There
are some initiatives to redefine the use of the flow label for other
purposes (e.g. Load balancing, nonce). It may be possible (but
highly unlikeley) to save a few bits from the flow label for
alternate purposes to end up with a shorter flow label. The use of
IPv6 header bits can satisfy all the requirements for conex markings
but using valuable header bits for experimental purposes (such as
conex) may not be acceptable.
4.4. Extension Headers
The base IPv6 standard [RFC2460] defines extension headers as an
expansion mechanism to carry optional internet layer information.
Extension headers, with the exception of the hop-by-hop options
header, are not usually processed on intermediate nodes. This means
that R-1 cannot be met. Unknown extension headers cause the packet
to be dropped and hence such mechanism is not incrementally
deployable. Hence R-3 is not met either.
5. ConEx Encoding
The decision about where to code the ConEx inform might also
influence the decision on how to code congestion information itself.
Of course, a ConEx capable transport has to inform the network that
it is actually ConEx enabled. Thus, as a minimum, every packet has
to carry the information that the sender is ConEx enabled and, also
whether it is ConEx marked. Moreover, the abstract conex mechanism
[CAM] requires that that a distinction between loss or ECN marks as
congestion signal is needed in addition to the so-called 'congestion
credits'. This implies that a minimum of 4 bits is needed if bit-
wise encoding is used , and a minimum of 3 bits is needed if
Krishnan, et al. Expires September 15, 2011 [Page 4]
Internet-Draft Conex IPv6 March 2011
codepoints are used. Further ideas on additional ConEx information
are currently discussed on the mailing list. Moreover, the ConEx
information could be represented in a more sophisticated manner than
a binary signal (Yes/No), if additional bits are available for use.
6. Acknowledgements
The authors would like to thank Marcelo Bagnulo, Bob Briscoe, Ingemar
Johansson, Joel Halpern and John Leslie for the discussions that led
to this document.
7. Security Considerations
This document does not bring up any new security issues.
8. IANA Considerations
This document does not require any IANA action.
9. Normative References
[CAM] Briscoe, B., "Congestion Exposure (ConEx) Concepts and
Abstract Mechanism", draft-ietf-conex-abstract-mech-01
(work in progress), March 2011.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", RFC 2460, December 1998.
[RFC3697] Rajahalme, J., Conta, A., Carpenter, B., and S. Deering,
"IPv6 Flow Label Specification", RFC 3697, March 2004.
Krishnan, et al. Expires September 15, 2011 [Page 5]
Internet-Draft Conex IPv6 March 2011
Authors' Addresses
Suresh Krishnan
Ericsson
8400 Blvd Decarie
Town of Mount Royal, Quebec
Canada
Email: suresh.krishnan@ericsson.com
Mirja Kuehlewind
IKR University of Stuttgart
Email: mirja.kuehlewind@ikr.uni-stuttgart.de
Carlos Ralli Ucendo
Telefonica
Email: ralli@tid.es
Krishnan, et al. Expires September 15, 2011 [Page 6]