Internet Protocol Small Computer System Interface (iSCSI) Cyclic Redundancy Check (CRC)/Checksum Considerations
Metadata
- Publisher
- IETF
- Doc Type
- Informational
- Pages
- 23
- Abstract
- Cyclic redundancy check (CRC) codes [Peterson] are shortened cyclic codes used for error detection. A number of CRC codes have been adopted in standards: ATM, IEC, IEEE, CCITT, IBM-SDLC, and more [Baicheva]. The most important expectation from this kind of code is a very low probability for undetected errors. The probability of undetected errors in such codes has been, and still is, subject to extensive studies that have included both analytical models and simulations. Those codes have been used extensively in communications and magnetic recording as they demonstrate good 'burst error' detection capabilities, but are also good at detecting several independent bit errors. Hardware implementations are very simple and well known; their simplicity has made them popular with hardware developers for many years. However, algorithms and software for effective implementations of CRC are now also widely available [Williams]. The probability of undetected errors depends on the polynomial selected to generate the code, the error distribution (error model), and the data length. In this memo, we attempt to give some estimates for the probability of undetected errors to facilitate the selection of an error detection code for iSCSI. We will also attempt to compare CRCs with other checksum forms (Fletcher, Adler, weighted checksums), as permitted by available data.
- Publication Date
- 2002-09-01
- Status Note
- Informational
- DOI
10.17487/RFC3385- Link
- https://doi.org/10.17487/RFC3385
- Author(s)
- Dafna SheinwaldJulian SatranPatricia ThalerVincente Cavanna
- Keyword(s)
- Error Detection Code
Latest version of IETF RFC 3385
Document Versions — IETF RFC 3385
-
▶ IETF RFC 3385 (2002-09-01)THIS DOC [ACTIVE] [LATEST VERSION]
Bibliographic Reference(s)
- IEEE.STD1364.1995 — ieee1364 EXTERNAL
- Ming-Der Shieh, et. al, "A Systematic Approach for Parallel CRC Computations", Journal of Information Science and Engineering, Vol.17 No.3, pp.445-461. EXTERNAL
- S. Lin and D.J. Costello, Jr., "Error Control Coding: Fundamentals and Applications", Englewood Cliffs, NJ: Prentice Hall, 1983. EXTERNAL
- Michael Sprachman, "Automatic Generation of Parallel CRC Circuits", IEEE Design & Test May-June 2001. EXTERNAL
- W Wesley Peterson & E J Weldon - Error Correcting Codes - First Edition 1961/Second Edition 1972. EXTERNAL
- B Arazi, "A commonsense Approach to the Theory of Error Correcting codes". EXTERNAL
- Ritter, T. 1986. The Great CRC Mystery. Dr. Dobb's Journal of Software Tools. February. 11(2): 26-34, 76-83. EXTERNAL
- Florian Braun and Marcel Waldvogel, "Fast Incremental CRC Updates for IP over ATM Networks", IEEE, High Performance Switching and Routing, 2001, pp. 48-52. EXTERNAL
- Dexter Chun and J.K. Wolf, "Special Hardware for computing the probability of undetected error for certain binary crc codes and test results", IEEE Transactions on Communications, COM-42:2769-2772. EXTERNAL
- "NASA FITS documents" at http://heasarc.gsfc.nasa. gov/docs/heasarc/ofwg/docs/general/checksum/node26 . html. EXTERNAL
- "Information on Primitive and Irreducible Polynomials" at http://www.theory.csc.uvic.ca/~cos/ inf/neck/PolyInfo.html . EXTERNAL
- J.K. Wolf and Dexter Chun, "The single burst error detection performance of binary cyclic codes", IEEE Transactions on Communications COM-42:11-13, January 1994. EXTERNAL
- J.K. Wolf, R.D. Blackeney, "An Exact Evaluation of the Probability of Undetected Error for Certain Shortened Binary CRC Codes", Proc. MILCOM - IEEE 1988. EXTERNAL
- G. Albertengo, R. Sisto, "Parallel CRC Generation IEEE Micro", Vol. 10, No. 5, October 1990, pp. 63- 71. EXTERNAL
- T Baicheva, S Dodunekov and P Kazakov, "Undetected error probability performance of cyclic redundancy- check codes of 16-bit redundancy", IEEE Proceedings on Communications, 147:253-256, October 2000. EXTERNAL
- Glaise, R. J., "A two-step computation of cyclic redundancy code CRC-32 for ATM networks", IBM Journal of Research and Development, Volume 41, Number 6, 1997. EXTERNAL
- Guy Castagnoli, Stefan Braeuer and Martin Herrman "Optimization of Cyclic Redundancy-Check Codes with 24 and 32 Parity Bits", IEEE Transact. on Communications, Vol. 41, No. 6, June 1993. EXTERNAL
- Ross Williams - A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHMS widely available on the net - (e.g., ftp.adelaide.edu.au/pub/rocksoft/crc_v3.txt) EXTERNAL
- Toru Fujiwara, Tadao Kasami, and Shu Lin, "Error detecting capabilities of the shortened hamming codes adopted forerror detection in IEEE standard 802.3", IEEE Transactions on Communications, COM- 37:986989, September 1989. EXTERNAL
- Luben Tuikov and Vicente Cavanna, "The iSCSI CRC32C Digest and the Simultaneous Multiply and Divide Algorithm", January 30, 2002. White paper distributed to the IETF ips iSCSI reflector. EXTERNAL
- J.K. Wolf, Arnold Michelson and Allen Levesque, "On the probability of undetected error for linear block codes", IEEE Transactions on Communications, COM-30: 317-324, 1982. EXTERNAL
- "Fast CRC32 in Software" by Richard Black, 1994, at www.cl.cam.ac.uk/Research/SRG/bluebook/21/crc/crc. html. EXTERNAL
- J. Stone et. al., "Performance of Checksums and CRC's over Real Data", IEEE/ACM Transactions on Networking, Vol. 6, No. 5, October 1998. EXTERNAL
- IETF RFC 1146 [Superseded*]
- IETF RFC 1950 [Active*]
- IETF RFC 2026 [Active*]
Source Data (JSON)
Full registry record with provenance metadata. Open directly: /api/doc/RFC3385.json
Reference Tree
Explore all references and references to this document, as a navigable tree.
Open Reference TreeReference this Doc
Plain text (ISO 690 compliant)
Preview:
IETF RFC 3385, Internet Protocol Small Computer System Interface (iSCSI) Cyclic Redundancy Check (CRC)/Checksum Considerations. Available at https://doi.org/10.17487/RFC3385
Snippet:
IETF RFC 3385, Internet Protocol Small Computer System Interface (iSCSI) Cyclic Redundancy Check (CRC)/Checksum Considerations. Available at https://doi.org/10.17487/RFC3385
HTML (ISO 690 compliant)
Preview:
IETF RFC 3385, Internet Protocol Small Computer System Interface (iSCSI) Cyclic Redundancy Check (CRC)/Checksum Considerations. Available at https://doi.org/10.17487/RFC3385
Snippet:
<span class="citation"><cite>IETF RFC 3385</cite>, Internet Protocol Small Computer System Interface (iSCSI) Cyclic Redundancy Check (CRC)/Checksum Considerations. Available at <a href="https://doi.org/10.17487/RFC3385" target="_blank" rel="noopener">https://doi.org/10.17487/RFC3385</a></span>
SMPTE's HTML Pub
Preview:
IETF RFC 3385, Internet Protocol Small Computer System Interface (iSCSI) Cyclic Redundancy Check (CRC)/Checksum Considerations
doi: 10.17487/RFC3385
url: https://doi.org/10.17487/RFC3385
doi: 10.17487/RFC3385
url: https://doi.org/10.17487/RFC3385
Snippet:
<li> <cite id="bib-rfc3385">IETF RFC 3385</cite>, Internet Protocol Small Computer System Interface (iSCSI) Cyclic Redundancy Check (CRC)/Checksum Considerations <span class="doi">10.17487/RFC3385</span> </li>
Referenced By
- IETF RFC 3720 [Superseded*]
- IETF RFC 7143 [Active*]
- IETF RFC 9868 [Active*]