Difference between revisions of "RFC6096"

From RFC-Wiki
 
Line 11: Line 11:
 
This document defines the procedure for registering chunk flags with
 
This document defines the procedure for registering chunk flags with
 
the Internet Assigned Numbers Authority (IANA) for the Stream Control
 
the Internet Assigned Numbers Authority (IANA) for the Stream Control
Transmission Protocol (SCTP).  It updates RFC 4960 and also defines
+
Transmission Protocol (SCTP).  It updates [[RFC4960|RFC 4960]] and also defines
 
the IANA registry for contents for currently defined chunk types.  It
 
the IANA registry for contents for currently defined chunk types.  It
 
does not change SCTP in any other way.
 
does not change SCTP in any other way.
Line 23: Line 23:
 
received public review and has been approved for publication by the
 
received public review and has been approved for publication by the
 
Internet Engineering Steering Group (IESG).  Further information on
 
Internet Engineering Steering Group (IESG).  Further information on
Internet Standards is available in Section 2 of RFC 5741.
+
Internet Standards is available in Section 2 of [[RFC5741|RFC 5741]].
  
 
Information about the current status of this document, any errata,
 
Information about the current status of this document, any errata,
Line 34: Line 34:
 
document authors.  All rights reserved.
 
document authors.  All rights reserved.
  
This document is subject to BCP 78 and the IETF Trust's Legal
+
This document is subject to [[BCP78|BCP 78]] and the IETF Trust's Legal
 
Provisions Relating to IETF Documents
 
Provisions Relating to IETF Documents
 
(http://trustee.ietf.org/license-info) in effect on the date of
 
(http://trustee.ietf.org/license-info) in effect on the date of
Line 46: Line 46:
 
== Introduction ==
 
== Introduction ==
  
[[[RFC4960]]], which currently defines the Stream Control Transmission
+
[[RFC4960]], which currently defines the Stream Control Transmission
 
Protocol (SCTP), provides a procedure to define new chunk types.
 
Protocol (SCTP), provides a procedure to define new chunk types.
 
However, several protocol extensions currently being discussed need
 
However, several protocol extensions currently being discussed need
 
to define new chunk flags for existing chunks.
 
to define new chunk flags for existing chunks.
  
This document updates RFC 4960 to overcome this limitation.  It
+
This document updates [[RFC4960|RFC 4960]] to overcome this limitation.  It
 
defines the procedure to register chunk flags and specifies the
 
defines the procedure to register chunk flags and specifies the
 
registry entries for existing chunk types.  The protocol is not
 
registry entries for existing chunk types.  The protocol is not
changed in any other way.  Therefore, only Section 14.1 of [[[RFC4960]]]
+
changed in any other way.  Therefore, only Section 14.1 of [[RFC4960]]
 
is affected.
 
is affected.
  
Line 61: Line 61:
 
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
 
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
 
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
 
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [[[RFC2119]]].
+
document are to be interpreted as described in [[RFC2119]].
  
 
== IANA Considerations ==
 
== IANA Considerations ==
  
 
Section 3.1 provides the updated procedure for SCTP Chunk Type
 
Section 3.1 provides the updated procedure for SCTP Chunk Type
registration; it replaces Section 14.1 of [[[RFC4960]]].
+
registration; it replaces Section 14.1 of [[RFC4960]].
  
 
Section 3.2 provides a new procedure for SCTP Chunk Flag
 
Section 3.2 provides a new procedure for SCTP Chunk Flag
Line 73: Line 73:
  
 
Section 3.3 provides the SCTP Chunk Flag registry values for the SCTP
 
Section 3.3 provides the SCTP Chunk Flag registry values for the SCTP
Chunk Types specified in [[[RFC3758]]], [[[RFC4820]]], [[[RFC4960]]], [[[RFC4895]]],
+
Chunk Types specified in [[RFC3758]], [[RFC4820]], [[RFC4960]], [[RFC4895]],
and [[[RFC5061]]].
+
and [[RFC5061]].
  
 
=== Updated IETF-Defined Chunk Extension ===
 
=== Updated IETF-Defined Chunk Extension ===
  
 
The assignment of new chunk type codes is done through an IETF Review
 
The assignment of new chunk type codes is done through an IETF Review
action, as defined in [[[RFC5226]]].  Documentation of a new chunk MUST
+
action, as defined in [[RFC5226]].  Documentation of a new chunk MUST
 
contain the following information:
 
contain the following information:
  
Line 86: Line 86:
 
b)  A detailed description of the structure of the chunk, which MUST
 
b)  A detailed description of the structure of the chunk, which MUST
 
     conform to the basic structure defined in Section 3.2 of
 
     conform to the basic structure defined in Section 3.2 of
     [[[RFC4960]]];
+
     [[RFC4960]];
  
 
c)  A detailed definition and description of intended use of each
 
c)  A detailed definition and description of intended use of each
Line 106: Line 106:
  
 
The assignment of new chunk flags is done through an RFC required
 
The assignment of new chunk flags is done through an RFC required
action, as defined in [[[RFC5226]]].  Documentation of the chunk flags
+
action, as defined in [[RFC5226]].  Documentation of the chunk flags
 
MUST contain the following information:
 
MUST contain the following information:
  
Line 131: Line 131:
 
         | Chunk Flag Value | Chunk Flag Name | Reference |
 
         | Chunk Flag Value | Chunk Flag Name | Reference |
 
         +------------------+-----------------+-----------+
 
         +------------------+-----------------+-----------+
         | 0x01            | E bit          | [[[RFC4960]]] |
+
         | 0x01            | E bit          | [[RFC4960]] |
         | 0x02            | B bit          | [[[RFC4960]]] |
+
         | 0x02            | B bit          | [[RFC4960]] |
         | 0x04            | U bit          | [[[RFC4960]]] |
+
         | 0x04            | U bit          | [[RFC4960]] |
 
         +------------------+-----------------+-----------+
 
         +------------------+-----------------+-----------+
  
Line 171: Line 171:
 
         | Chunk Flag Value | Chunk Flag Name | Reference |
 
         | Chunk Flag Value | Chunk Flag Name | Reference |
 
         +------------------+-----------------+-----------+
 
         +------------------+-----------------+-----------+
         | 0x01            | T bit          | [[[RFC4960]]] |
+
         | 0x01            | T bit          | [[RFC4960]] |
 
         +------------------+-----------------+-----------+
 
         +------------------+-----------------+-----------+
  
Line 221: Line 221:
 
         | Chunk Flag Value | Chunk Flag Name | Reference |
 
         | Chunk Flag Value | Chunk Flag Name | Reference |
 
         +------------------+-----------------+-----------+
 
         +------------------+-----------------+-----------+
         | 0x01            | T bit          | [[[RFC4960]]] |
+
         | 0x01            | T bit          | [[RFC4960]] |
 
         +------------------+-----------------+-----------+
 
         +------------------+-----------------+-----------+
  
Line 257: Line 257:
  
 
This document does not add any additional security considerations in
 
This document does not add any additional security considerations in
addition to the ones given in [[[RFC4960]]].
+
addition to the ones given in [[RFC4960]].
  
 
== Acknowledgments ==
 
== Acknowledgments ==
Line 267: Line 267:
 
== Normative References ==
 
== Normative References ==
  
[[[RFC2119]]]  Bradner, S., "Key words for use in RFCs to Indicate
+
[[RFC2119]]  Bradner, S., "Key words for use in RFCs to Indicate
           Requirement Levels", BCP 14, RFC 2119, March 1997.
+
           Requirement Levels", [[BCP14|BCP 14]], [[RFC2119|RFC 2119]], March 1997.
  
[[[RFC3758]]]  Stewart, R., Ramalho, M., Xie, Q., Tuexen, M., and P.
+
[[RFC3758]]  Stewart, R., Ramalho, M., Xie, Q., Tuexen, M., and P.
 
           Conrad, "Stream Control Transmission Protocol (SCTP)
 
           Conrad, "Stream Control Transmission Protocol (SCTP)
           Partial Reliability Extension", RFC 3758, May 2004.
+
           Partial Reliability Extension", [[RFC3758|RFC 3758]], May 2004.
  
[[[RFC4820]]]  Tuexen, M., Stewart, R., and P. Lei, "Padding Chunk and
+
[[RFC4820]]  Tuexen, M., Stewart, R., and P. Lei, "Padding Chunk and
 
           Parameter for the Stream Control Transmission Protocol
 
           Parameter for the Stream Control Transmission Protocol
           (SCTP)", RFC 4820, March 2007.
+
           (SCTP)", [[RFC4820|RFC 4820]], March 2007.
  
[[[RFC4895]]]  Tuexen, M., Stewart, R., Lei, P., and E. Rescorla,
+
[[RFC4895]]  Tuexen, M., Stewart, R., Lei, P., and E. Rescorla,
 
           "Authenticated Chunks for the Stream Control Transmission
 
           "Authenticated Chunks for the Stream Control Transmission
           Protocol (SCTP)", RFC 4895, August 2007.
+
           Protocol (SCTP)", [[RFC4895|RFC 4895]], August 2007.
  
[[[RFC4960]]]  Stewart, R., "Stream Control Transmission Protocol",
+
[[RFC4960]]  Stewart, R., "Stream Control Transmission Protocol",
           RFC 4960, September 2007.
+
           [[RFC4960|RFC 4960]], September 2007.
  
[[[RFC5061]]]  Stewart, R., Xie, Q., Tuexen, M., Maruyama, S., and M.
+
[[RFC5061]]  Stewart, R., Xie, Q., Tuexen, M., Maruyama, S., and M.
 
           Kozuka, "Stream Control Transmission Protocol (SCTP)
 
           Kozuka, "Stream Control Transmission Protocol (SCTP)
           Dynamic Address Reconfiguration", RFC 5061,
+
           Dynamic Address Reconfiguration", [[RFC5061|RFC 5061]],
 
           September 2007.
 
           September 2007.
  
[[[RFC5226]]]  Narten, T. and H. Alvestrand, "Guidelines for Writing an
+
[[RFC5226]]  Narten, T. and H. Alvestrand, "Guidelines for Writing an
           IANA Considerations Section in RFCs", BCP 26, RFC 5226,
+
           IANA Considerations Section in RFCs", [[BCP26|BCP 26]], [[RFC5226|RFC 5226]],
 
           May 2008.
 
           May 2008.
  

Latest revision as of 03:13, 22 October 2020

Internet Engineering Task Force (IETF) M. Tuexen Request for Comments: 6096 Muenster Univ. of Applied Sciences Updates: 4960 R. Stewart Category: Standards Track Huawei ISSN: 2070-1721 January 2011

 Stream Control Transmission Protocol (SCTP) Chunk Flags Registration

Abstract

This document defines the procedure for registering chunk flags with the Internet Assigned Numbers Authority (IANA) for the Stream Control Transmission Protocol (SCTP). It updates RFC 4960 and also defines the IANA registry for contents for currently defined chunk types. It does not change SCTP in any other way.

Status of This Memo

This is an Internet Standards Track document.

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6096.

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

Introduction

RFC4960, which currently defines the Stream Control Transmission Protocol (SCTP), provides a procedure to define new chunk types. However, several protocol extensions currently being discussed need to define new chunk flags for existing chunks.

This document updates RFC 4960 to overcome this limitation. It defines the procedure to register chunk flags and specifies the registry entries for existing chunk types. The protocol is not changed in any other way. Therefore, only Section 14.1 of RFC4960 is affected.

Conventions

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.

IANA Considerations

Section 3.1 provides the updated procedure for SCTP Chunk Type registration; it replaces Section 14.1 of RFC4960.

Section 3.2 provides a new procedure for SCTP Chunk Flag registration. A registry entry must be created for each SCTP Chunk Type.

Section 3.3 provides the SCTP Chunk Flag registry values for the SCTP Chunk Types specified in RFC3758, RFC4820, RFC4960, RFC4895, and RFC5061.

Updated IETF-Defined Chunk Extension

The assignment of new chunk type codes is done through an IETF Review action, as defined in RFC5226. Documentation of a new chunk MUST contain the following information:

a) A long and short name for the new chunk type;

b) A detailed description of the structure of the chunk, which MUST

   conform to the basic structure defined in Section 3.2 of
   RFC4960;

c) A detailed definition and description of intended use of each

   field within the chunk, including the chunk flags if any.
   Defined chunk flags will be used as initial entries in the chunk
   flags table for the new chunk type;

d) A detailed procedural description of the use of the new chunk

   type within the operation of the protocol.

The last chunk type (255) is reserved for future extension if necessary.

For each new chunk type, IANA creates a registration table for the chunk flags of that type. The procedure for registering particular chunk flags is described in the following Section 3.2.

New IETF Chunk Flags Registration

The assignment of new chunk flags is done through an RFC required action, as defined in RFC5226. Documentation of the chunk flags MUST contain the following information:

a) A name for the new chunk flag;

b) A detailed procedural description of the use of the new chunk

   flag within the operation of the protocol.  It MUST be considered
   that implementations not supporting the flag will send '0' on
   transmit and just ignore it on receipt.

IANA selects a chunk flags value. This must be one of 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, or 0x80, which MUST be unique within the chunk flag values for the specific chunk type.

Initial Registrations

This section describes the initial values of the chunk flag tables, one table for each chunk. Most tables are currently empty. IANA used these values to create the new registry.

DATA Chunk Flags

        +------------------+-----------------+-----------+
        | Chunk Flag Value | Chunk Flag Name | Reference |
        +------------------+-----------------+-----------+
        | 0x01             | E bit           | RFC4960 |
        | 0x02             | B bit           | RFC4960 |
        | 0x04             | U bit           | RFC4960 |
        +------------------+-----------------+-----------+

INIT Chunk Flags

        +------------------+-----------------+-----------+
        | Chunk Flag Value | Chunk Flag Name | Reference |
        +------------------+-----------------+-----------+

INIT ACK Chunk Flags

        +------------------+-----------------+-----------+
        | Chunk Flag Value | Chunk Flag Name | Reference |
        +------------------+-----------------+-----------+

SACK Chunk Flags

        +------------------+-----------------+-----------+
        | Chunk Flag Value | Chunk Flag Name | Reference |
        +------------------+-----------------+-----------+

HEARTBEAT Chunk Flags

        +------------------+-----------------+-----------+
        | Chunk Flag Value | Chunk Flag Name | Reference |
        +------------------+-----------------+-----------+

HEARTBEAT ACK Chunk Flags

        +------------------+-----------------+-----------+
        | Chunk Flag Value | Chunk Flag Name | Reference |
        +------------------+-----------------+-----------+

ABORT Chunk Flags

        +------------------+-----------------+-----------+
        | Chunk Flag Value | Chunk Flag Name | Reference |
        +------------------+-----------------+-----------+
        | 0x01             | T bit           | RFC4960 |
        +------------------+-----------------+-----------+

SHUTDOWN Chunk Flags

        +------------------+-----------------+-----------+
        | Chunk Flag Value | Chunk Flag Name | Reference |
        +------------------+-----------------+-----------+

SHUTDOWN ACK Chunk Flags

        +------------------+-----------------+-----------+
        | Chunk Flag Value | Chunk Flag Name | Reference |
        +------------------+-----------------+-----------+

3.3.10. ERROR Chunk Flags

        +------------------+-----------------+-----------+
        | Chunk Flag Value | Chunk Flag Name | Reference |
        +------------------+-----------------+-----------+

3.3.11. COOKIE ECHO Chunk Flags

        +------------------+-----------------+-----------+
        | Chunk Flag Value | Chunk Flag Name | Reference |
        +------------------+-----------------+-----------+

3.3.12. COOKIE ACK Chunk Flags

        +------------------+-----------------+-----------+
        | Chunk Flag Value | Chunk Flag Name | Reference |
        +------------------+-----------------+-----------+

3.3.13. ECNE Chunk Flags

        +------------------+-----------------+-----------+
        | Chunk Flag Value | Chunk Flag Name | Reference |
        +------------------+-----------------+-----------+

3.3.14. CWR Chunk Flags

        +------------------+-----------------+-----------+
        | Chunk Flag Value | Chunk Flag Name | Reference |
        +------------------+-----------------+-----------+

3.3.15. SHUTDOWN COMPLETE Chunk Flags

        +------------------+-----------------+-----------+
        | Chunk Flag Value | Chunk Flag Name | Reference |
        +------------------+-----------------+-----------+
        | 0x01             | T bit           | RFC4960 |
        +------------------+-----------------+-----------+

3.3.16. AUTH Chunk Flags

        +------------------+-----------------+-----------+
        | Chunk Flag Value | Chunk Flag Name | Reference |
        +------------------+-----------------+-----------+

3.3.17. ASCONF ACK Chunk Flags

        +------------------+-----------------+-----------+
        | Chunk Flag Value | Chunk Flag Name | Reference |
        +------------------+-----------------+-----------+

3.3.18. PAD Chunk Flags

        +------------------+-----------------+-----------+
        | Chunk Flag Value | Chunk Flag Name | Reference |
        +------------------+-----------------+-----------+

3.3.19. FORWARD TSN Chunk Flags

        +------------------+-----------------+-----------+
        | Chunk Flag Value | Chunk Flag Name | Reference |
        +------------------+-----------------+-----------+

3.3.20. ASCONF Chunk Flags

        +------------------+-----------------+-----------+
        | Chunk Flag Value | Chunk Flag Name | Reference |
        +------------------+-----------------+-----------+

Security Considerations

This document does not add any additional security considerations in addition to the ones given in RFC4960.

Acknowledgments

The authors wish to thank Anna Brunstroem, Gorry Fairhurst, Russ Housley, Suresh Krishnan, and Dan Romascanu for their invaluable comments.

Normative References

RFC2119 Bradner, S., "Key words for use in RFCs to Indicate

          Requirement Levels", BCP 14, RFC 2119, March 1997.

RFC3758 Stewart, R., Ramalho, M., Xie, Q., Tuexen, M., and P.

          Conrad, "Stream Control Transmission Protocol (SCTP)
          Partial Reliability Extension", RFC 3758, May 2004.

RFC4820 Tuexen, M., Stewart, R., and P. Lei, "Padding Chunk and

          Parameter for the Stream Control Transmission Protocol
          (SCTP)", RFC 4820, March 2007.

RFC4895 Tuexen, M., Stewart, R., Lei, P., and E. Rescorla,

          "Authenticated Chunks for the Stream Control Transmission
          Protocol (SCTP)", RFC 4895, August 2007.

RFC4960 Stewart, R., "Stream Control Transmission Protocol",

          RFC 4960, September 2007.

RFC5061 Stewart, R., Xie, Q., Tuexen, M., Maruyama, S., and M.

          Kozuka, "Stream Control Transmission Protocol (SCTP)
          Dynamic Address Reconfiguration", RFC 5061,
          September 2007.

RFC5226 Narten, T. and H. Alvestrand, "Guidelines for Writing an

          IANA Considerations Section in RFCs", BCP 26, RFC 5226,
          May 2008.

Authors' Addresses

Michael Tuexen Muenster University of Applied Sciences Stegerwaldstr. 39 48565 Steinfurt DE

EMail: [email protected]

Randall R. Stewart Huawei Chapin, SC 29036 US

EMail: [email protected]