idnits 2.17.1 draft-tuexen-tsvwg-sctp-sack-immediately-06.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 a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (July 5, 2011) is 4650 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) ** Obsolete normative reference: RFC 4960 (Obsoleted by RFC 9260) ** Obsolete normative reference: RFC 6096 (Obsoleted by RFC 9260) == Outdated reference: A later version (-32) exists of draft-ietf-tsvwg-sctpsocket-30 Summary: 2 errors (**), 0 flaws (~~), 2 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group M. Tuexen 3 Internet-Draft I. Ruengeler 4 Intended status: Standards Track Muenster Univ. of Appl. Sciences 5 Expires: January 6, 2012 R. Stewart 6 Adara Networks 7 July 5, 2011 9 SACK-IMMEDIATELY extension for the Stream Control Transmission Protocol 10 draft-tuexen-tsvwg-sctp-sack-immediately-06.txt 12 Abstract 14 This document defines a method for a sender of a DATA chunk to 15 indicate that the corresponding SACK chunk should be sent back 16 immediately. 18 Status of this Memo 20 This Internet-Draft is submitted in full conformance with the 21 provisions of BCP 78 and BCP 79. 23 Internet-Drafts are working documents of the Internet Engineering 24 Task Force (IETF). Note that other groups may also distribute 25 working documents as Internet-Drafts. The list of current Internet- 26 Drafts is at http://datatracker.ietf.org/drafts/current/. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference 31 material or to cite them other than as "work in progress." 33 This Internet-Draft will expire on January 6, 2012. 35 Copyright Notice 37 Copyright (c) 2011 IETF Trust and the persons identified as the 38 document authors. All rights reserved. 40 This document is subject to BCP 78 and the IETF Trust's Legal 41 Provisions Relating to IETF Documents 42 (http://trustee.ietf.org/license-info) in effect on the date of 43 publication of this document. Please review these documents 44 carefully, as they describe your rights and restrictions with respect 45 to this document. Code Components extracted from this document must 46 include Simplified BSD License text as described in Section 4.e of 47 the Trust Legal Provisions and are provided without warranty as 48 described in the Simplified BSD License. 50 Table of Contents 52 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 53 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . 3 54 3. The I-bit in the DATA Chunk Header . . . . . . . . . . . . . . 3 55 4. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . 4 56 4.1. Sender Side Considerations . . . . . . . . . . . . . . . . 4 57 4.2. Receiver Side Considerations . . . . . . . . . . . . . . . 4 58 5. Interoperability Considerations . . . . . . . . . . . . . . . . 4 59 6. Socket API Considerations . . . . . . . . . . . . . . . . . . . 4 60 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5 61 8. Security Considerations . . . . . . . . . . . . . . . . . . . . 5 62 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 5 63 9.1. Normative References . . . . . . . . . . . . . . . . . . . 5 64 9.2. Informative References . . . . . . . . . . . . . . . . . . 6 65 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 6 67 1. Introduction 69 [RFC4960] states that an SCTP implementation should use delayed 70 SACKs. In combination with the Nagle algorithm, reduced congestion 71 windows after timeouts, the handling of the SHUTDOWN-PENDING state, 72 or other situations this might result in reduced performance of the 73 protocol. 75 This document describes a simple extension of the SCTP DATA chunk by 76 defining a new flag, the I-bit. The sender indicates by setting this 77 bit that the corresponding SACK chunk should be sent back without 78 delaying it. 80 2. Conventions 82 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 83 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 84 document are to be interpreted as described in [RFC2119]. 86 3. The I-bit in the DATA Chunk Header 88 The following Figure 1 shows the extended DATA chunk. 90 0 1 2 3 91 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 92 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 93 | Type = 0 | Res |I|U|B|E| Length | 94 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 95 | TSN | 96 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 97 | Stream Identifier | Stream Sequence Number | 98 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 99 | Payload Protocol Identifier | 100 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 101 \ \ 102 / User Data / 103 \ \ 104 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 106 Figure 1 108 The only difference between the DATA chunk in Figure 1 and the DATA 109 chunk defined in [RFC4960] is the addition of the I-bit in the flags 110 field of the chunk header. 112 4. Procedures 114 4.1. Sender Side Considerations 116 Whenever the sender of a DATA chunk can benefit from the 117 corresponding SACK chunk being sent back without delay, the sender 118 MAY set the I-bit in the DATA chunk header. 120 Reasons for setting the I-bit include 122 o The sender has not enough queued user data to send the remaining 123 DATA chunks due to the Nagle algorithm. 125 o The sending of a DATA chunk fills the congestion or receiver 126 window. 128 o The sender is in the SHUTDOWN-PENDING state. 130 o The sender has reduced its RTO.Min such that a retransmission 131 timeout will occur if the receiver delays its SACK. 133 o The application requests to set the I-bit of the last DATA chunk 134 of a user message when providing the user message to the SCTP 135 implementation. 137 4.2. Receiver Side Considerations 139 On reception of an SCTP packet containing a DATA chunk with the I-bit 140 set, the receiver SHOULD NOT delay the sending of the corresponding 141 SACK chunk and SHOULD send it back immediately. 143 5. Interoperability Considerations 145 According to [RFC4960] a receiver of a DATA chunk with the I-bit set 146 should ignore this bit when it does not support the extension 147 described in this document. Since the sender of the DATA chunk is 148 able to handle this case, there is no requirement for negotiating the 149 feature described in this document. 151 6. Socket API Considerations 153 This section describes how the socket API defined in 154 [I-D.ietf-tsvwg-sctpsocket] is extended to provide a way for the 155 application to set the I-bit. 157 Please note that this section is informational only. 159 A socket API implementation based on [I-D.ietf-tsvwg-sctpsocket] is 160 extended by supporting a flag called SCTP_SACK_IMMEDIATELY, which can 161 be set in the snd_flags field of the struct sctp_sndinfo structure or 162 the sinfo_flags field of the struct sctp_sndrcvinfo structure, which 163 is deprecated. 165 If the SCTP_SACK_IMMEDIATELY flag is set when sending a user message, 166 the I-bit of the last DATA chunk of the corresponding user message is 167 set. 169 7. IANA Considerations 171 [NOTE to RFC-Editor: 173 "RFCXXXX" is to be replaced by the RFC number you assign this 174 document. 176 ] 178 Following the chunk flag registration procedure defined in [RFC6096] 179 IANA should register a new bit, the I-bit, for the DATA chunk. The 180 suggested value is 0x08. The reference for the new chunk flag in the 181 chunk flags table for the DATA chunk available at sctp-parameters [1] 182 should be RFCXXXX. 184 8. Security Considerations 186 This document does not add any additional security considerations in 187 addition to the ones given in [RFC4960]. 189 9. References 191 9.1. Normative References 193 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 194 Requirement Levels", BCP 14, RFC 2119, March 1997. 196 [RFC4960] Stewart, R., "Stream Control Transmission Protocol", 197 RFC 4960, September 2007. 199 [RFC6096] Tuexen, M. and R. Stewart, "Stream Control Transmission 200 Protocol (SCTP) Chunk Flags Registration", RFC 6096, 201 January 2011. 203 9.2. Informative References 205 [I-D.ietf-tsvwg-sctpsocket] 206 Stewart, R., Tuexen, M., Poon, K., Lei, P., and V. 207 Yasevich, "Sockets API Extensions for Stream Control 208 Transmission Protocol (SCTP)", 209 draft-ietf-tsvwg-sctpsocket-30 (work in progress), 210 June 2011. 212 URIs 214 [1] 216 Authors' Addresses 218 Michael Tuexen 219 Muenster University of Applied Sciences 220 Stegerwaldstr. 39 221 48565 Steinfurt 222 Germany 224 Email: tuexen@fh-muenster.de 226 Irene Ruengeler 227 Muenster University of Applied Sciences 228 Stegerwaldstr. 39 229 48565 Steinfurt 230 Germany 232 Email: i.ruengeler@fh-muenster.de 234 Randall R. Stewart 235 Adara Networks 236 Chapin, SC 29036 237 USA 239 Email: randall@lakerest.net