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]