Internet DRAFT - draft-ahmed-tsvwg-sctpdsum
draft-ahmed-tsvwg-sctpdsum
H. Ahmed
S. Boffa
Category: Internet Draft Motorola Inc.
August 15 2001
SCTP Dynamic Checksum selection
draft-ahmed-tsvwg-sctpdsum-00.txt
Status of this Memo
This document is an Internet-Draft and is subject to all provisions
of Section 10 of RFC2026.
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/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
Copyright Notice
Copyright (C) The Internet Society (2001). All Rights Reserved.
Abstract
When SCTP was initially accepted as RFC2960 the Adler-32 checksum
was specified to be used. However, inlight of issues raised in
[STONE] it has been proposed that a more robust algorithm such as
[CRC-32] be used instead. This poses compatibility problems for
existing implementations of SCTP that are already using
the Adler-32 algorithm for computing checksums. This document
proposes a dynamic method to preserve backward compatibility
between the two checksum algorithms.
Table of Contents
1. Introduction................................................1
1.1 Conventions..............................................2
2. Checksum algorithm selection................................2
2.1 Basic operation...........................................2
3. Acknowledgments.............................................3
4. Authors' Addresses..........................................3
5. References..................................................3
5.1 Normative References......................................3
5.2 Informative References....................................3
1. Introduction
RFC2960 specified the Adler-32 checksum algorithm as its checksum
algorithm. Since then, observations from [STONE] have shown the
Ahmed et.al. [Page 1]
Internet Draft SCTP Dynamic Checksum Selection August 2001
CRC-32 algorithm to be a more robust choice. The use of one
(or the other) algorithm will effectively prevent two different
implementations from communicating with each other. As there are
already implementations using the Adler-32 checksum this document
proposes that both versions of the checksum be supported. The
decision on which algorithm is to be used should be done dynamically
at the initialization of an association.
This change will provide the following benefits (in no particular
order):
[a] Backward compatibility between the newer and older
implementations.
[b] Negligible performance penalty based on algorithm selection
since it is only done once at the initialization stage of an
association.
[c] Requires no change to the existing data flows for the SCTP
protocol.
1.1 Conventions
The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD,
SHOULD NOT, RECOMMENDED, NOT RECOMMENDED, MAY, and OPTIONAL, when
they appear in this document, are to be interpreted as described in
[RFC2119].
2. Checksum algorithm selection
Checksum computation (at the the Transport layer) has been
traditionally defined by the protocol specification such as RFC2960
for SCTP. Since changing the checksum algorithm effectively makes two
implementations of SCTP incompatible with each other the following
algorithm is designed to make this selection dynamic.
2.1 Basic Operation
Upon receiving an INIT packet from a peer, the host SHALL first apply
the CRC-32 algorithm to validate the received datagram. If the CRC-32
algorithm fails, then the Adler-32 checksum algorithm will be
applied. If the Adler-32 checksum fails then the packet is discarded
in compliance with [RFC2960] section 6.8.
However, if the datagram passes Adler-32 checksum then the host shall
mark the peer as running the Adler-32 checksum. The host (if it
chooses to continue on with the association) will respond using the
Adler-32 checksum algorithm. Note, that this checksum setting is
applicable to all SCTP interactions between the host and the peer.
Further, the host may refuse the association request if it does not
wish to support the Adler-32 variant of the checksum. In this case
the packet may be silently discarded. It is also recommended that
future SCTP implementations adhere to the more robust CRC-32
checksum algorithm and the choice of supporting the Adler-32 variant
be left as an implementation choice.
Ahmed et.al. [Page 2]
Internet Draft SCTP Dynamic Checksum Selection August 2001
3. Acknowledgments
The authors would like to thank the following people that have
provided comments and input on the checksum issue:
Stephen G. Boffa
4. Authors' Addresses
Haseeb Ahmed
Motorola Inc.
CDMA Systems Division
8201 E McDowell Rd
Scottsdale, AZ 85257
USA
EMail: hahmed1@email.mot.com
5. References
5.1 Normative References
[CRC-32] ITU-T Recommendation V.41, "Code-independent
error-control system," November 1989.
5.2 Informative References
[STONE] Doctoral Thesis
Full Copyright Statement
Copyright (C) The Internet Society (2001). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Ahmed et.al. [Page 3]
Internet Draft SCTP Dynamic Checksum Selection August 2001
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Ahmed et.al. [Page 4]