idnits 2.17.1 draft-ietf-conex-destopt-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords -- however, there's a paragraph with a matching beginning. Boilerplate error? (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). -- The document date (March 12, 2012) is 4429 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFCXXXX' is mentioned on line 245, but not defined == Outdated reference: A later version (-13) exists of draft-ietf-conex-abstract-mech-01 ** Downref: Normative reference to an Informational draft: draft-ietf-conex-abstract-mech (ref. 'CAM') ** Obsolete normative reference: RFC 2460 (Obsoleted by RFC 8200) Summary: 2 errors (**), 0 flaws (~~), 4 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 conex Working Group S. Krishnan 3 Internet-Draft Ericsson 4 Intended status: Standards Track M. Kuehlewind 5 Expires: September 13, 2012 IKR University of Stuttgart 6 C. Ucendo 7 Telefonica 8 March 12, 2012 10 IPv6 Destination Option for Conex 11 draft-ietf-conex-destopt-02 13 Abstract 15 Conex is a mechanism by which senders inform the network about the 16 congestion encountered by packets earlier in the same flow. This 17 document specifies an IPv6 destination option that is capable of 18 carrying conex markings in IPv6 datagrams. 20 Status of this Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at http://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on September 13, 2012. 37 Copyright Notice 39 Copyright (c) 2012 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (http://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 55 2. Conventions used in this document . . . . . . . . . . . . . . . 3 56 3. Background . . . . . . . . . . . . . . . . . . . . . . . . . . 3 57 4. Requirements for marking IPv6 packets . . . . . . . . . . . . . 4 58 5. Conex Destination Option (CDO) . . . . . . . . . . . . . . . . 4 59 6. Implementation in the fast path of ConEx-aware routers . . . . 6 60 7. Compatiblility with use of IPsec . . . . . . . . . . . . . . . 6 61 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 7 62 9. Security Considerations . . . . . . . . . . . . . . . . . . . . 7 63 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7 64 11. Normative References . . . . . . . . . . . . . . . . . . . . . 7 65 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7 67 1. Introduction 69 Conex [CAM] is a mechanism by which senders inform the network about 70 the congestion encountered by packets earlier in the same flow. This 71 document specifies an IPv6 destination option [RFC2460] that can be 72 used for performing conex markings in IPv6 datagrams. 74 2. Conventions used in this document 76 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL","SHALL NOT", 77 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 78 document are to be interpreted as described in [RFC2119]. 80 3. Background 82 The Conex working group came up with a list of requirements that had 83 to be met by any marking mechanism. It then considered several 84 alternative mechanisms and evaluated their suitability for conex 85 marking. There were no mechanisms found that were completely 86 suitable, but the only mechanism that came close to meeting the 87 requirements was IPv6 destination options. The analysis of the 88 different alternatives can be found in [draft-krishnan-conex-ipv6]. 90 4. Requirements for marking IPv6 packets 92 R-1: The marking mechanism needs to be visible to all conex-capable 93 nodes on the path. 95 R-2: The mechanism needs to be able to traverse nodes that do not 96 understand the markings. This is required to ensure that conex can 97 be incrementally deployed over the Internet. 99 R-3: The presence of the marking mechanism should not significantly 100 alter the processing of the packet. This is required to ensure that 101 conex marked packets do not face any undue delays or drops due to a 102 badly chosen mechanism. 104 R-4: The markings should be immutable once set by the sender. At the 105 very least, any tampering should be detectable. 107 Based on these requirements four solutions to implement the ConEx 108 information in the IPv6 header have been investigated: Hop-by-Hop 109 options, destination options, using header bits, and Option Headers. 110 Only the use of Destination Option could fulfill the requirements. 112 5. Conex Destination Option (CDO) 114 The Conex Destination Option (CDO) is a destination option that can 115 be included in IPv6 datagrams that are sent by conex-aware senders in 116 order to inform conex-aware nodes on the path about the congestion 117 encountered by packets earlier in the same flow. The CDO has an 118 alignment requirement of (none). 120 0 1 2 3 121 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 122 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 123 | Option Type | Option Length | 124 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 125 |X|L|E|C| Reserved | 126 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 128 Figure 1: Conex Destination Option Layout 130 Option Type 132 8-bit identifier of the type of option. The option identifier 133 for the conex destination option will be allocated by the IANA. 135 Option Length 137 8-bit unsigned integer. The length of the option (excluding 138 the Option Type and Option Length fields). This field MUST be 139 set to the value 4. 141 X Bit 142 When this bit is set, the transport sender is using ConEx with 143 this packet. If it is reset, the sender is not using ConEx with 144 this packet. 146 L Bit 148 When this bit is set, the transport sender has experienced a loss. 149 If it is reset, the sender has not experienced a loss. 151 E Bit 153 When this bit is set, the transport sender has experienced 154 ECN-signaled congestion. If it is reset, the sender has not 155 experienced ECN-signaled congestion. 157 C Bit 159 When this bit is set, the transport sender is building up 160 congestion credit. Otherwise it is not. 162 All packets of a ConEx-capable connection MUST carry the CDO. 164 If the X bit is the zero all other three bits are undefined. If the 165 X bit is zero that means that the connection is ConEx-capable but 166 this packet SHOULD NOT be accounted to determine ConEx information in 167 an audit function. This can be the case for e.g. pure control 168 packets not carrying any user data. As an example in TCP pure ACKs 169 are usually not ECN-capable and TCP does not have an mechanism to 170 announce the lost of a pure ACK to the sender. Thus congestion 171 information about the ACKs are not available at the sender. 173 If the X bit is set, all three other bit (L, E, C) MAY be set. When 174 ever one of this bits is set, the number of bytes carried by this IP 175 packet (incl. IP header) SHOULD be accounted when determining 176 congestion or credit information. In IPv6 the length can easily be 177 calculated by the value given in the Payload Length header field 178 (payload length + option space) plus a fixed value of 40 Bytes for 179 the IP header itself. 181 In principle all of these three bits (L, E, C) MAY be set in the same 182 packet. In this case the packet size MUST be accounted more than 183 once for each respective ConEx information counter. In many cases if 184 congestion occurs the sender will not sent additional credit, but if 185 e.g. a sender assumes losses because of an audit function or needs to 186 maintain a certain sending rate to make an application layer service 187 work, the occurrence of credit bits (c) in parallel to congestion 188 exposure bit (L, E) is reasonable. 190 If a network node extracts the ConEx information from a connection, 191 this node is usually supposed to hold this information byte-wise, 192 e.g. comparing the total number of bytes sent with the number of 193 bytes sent with ConEx congestion mark (L, E) to determine the current 194 whole path congestion level. When equally sized packets can be 195 assumed, the accounting of the number of packets (instead the number 196 of bytes) should deliver the same result. But a network node must be 197 aware that this estimation can be quite wrong, if e.g. different 198 sized packed are send, and thus is not reliable. 200 6. Implementation in the fast path of ConEx-aware routers 202 The conex information is being encoded into a destination option so 203 that it does not impact forwarding performance in the non-conex-aware 204 nodes on the path. Since destination options are not usually 205 processed by routers, the existence of the CDO does not affect the 206 fast path processing of the datagram on non-conex-aware routers. i.e. 207 They are not pushed into the slow path towards the control plane for 208 exception processing. 210 The conex-aware nodes still need to process the CDO without severely 211 affecting forwarding. For this to be possible, the conex-aware 212 routers need to quickly ascertain the presence of the CDO and process 213 the option if it is present. To efficiently perform this, the CDO 214 needs to be placed in a fairly deterministic location. In order to 215 facilitate forwarding on conex-aware routers, conex-aware senders who 216 send IPv6 datagrams with the CDO MUST place the CDO as the first 217 destination option in the destination options header. 219 7. Compatiblility with use of IPsec 221 In IPsec transport mode no action need to be taken as the CDO is 222 visible to the network. When accounting ConEx information the size 223 of the Authentication Header (AH) SHOULD NOT be accounted as this 224 information has been added later. In the IPsec Tunnel model the CDO 225 SHOULD be copied to the outer IP header as this information is end- 226 to-end. Only the payload of the outer IP header minus the AH SHOULD 227 be accounted. 229 8. Acknowledgements 231 The authors would like to thank Marcelo Bagnulo, Bob Briscoe, Ingemar 232 Johansson, Joel Halpern, John Leslie and Wesley Eddy for the 233 discussions that led to this document. 235 9. Security Considerations 237 This document does not bring up any new security issues. 239 10. IANA Considerations 241 This document defines a new IPv6 destination option for carrying 242 conex markings. IANA is requested to assign a new destination option 243 type in the Destination Options registry maintained at 244 http://www.iana.org/assignments/ipv6-parameters Conex 245 Destination Option [RFCXXXX] The act bits for this option need to be 246 10 and the chg bit needs to be 0. 248 11. Normative References 250 [CAM] Briscoe, B., "Congestion Exposure (ConEx) Concepts and 251 Abstract Mechanism", draft-ietf-conex-abstract-mech-01 252 (work in progress), March 2011. 254 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 255 Requirement Levels", BCP 14, RFC 2119, March 1997. 257 [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 258 (IPv6) Specification", RFC 2460, December 1998. 260 Authors' Addresses 262 Suresh Krishnan 263 Ericsson 264 8400 Blvd Decarie 265 Town of Mount Royal, Quebec 266 Canada 268 Email: suresh.krishnan@ericsson.com 270 Mirja Kuehlewind 271 IKR University of Stuttgart 273 Email: mirja.kuehlewind@ikr.uni-stuttgart.de 275 Carlos Ralli Ucendo 276 Telefonica 278 Email: ralli@tid.es