|
ABSTRACT
Traces of Internet packets from the past two years show that between 1 packet in 1,100 and 1 packet in 32,000 fails the TCP checksum, even on links where link-level CRCs should catch all but 1 in 4 billion errors. For certain situations, the rate of checksum failures can be even higher: in one hour-long test we observed a checksum failure of 1 packet in 400. We investigate why so many errors are observed, when link-level CRCs should catch nearly all of them.We have collected nearly 500,000 packets which failed the TCP or UDP or IP checksum. This dataset shows the Internet has a wide variety of error sources which can not be detected by link-level checks. We describe analysis tools that have identified nearly 100 different error patterns. Categorizing packet errors, we can infer likely causes which explain roughly half the observed errors. The causes span the entire spectrum of a network stack, from memory errors to bugs in TCP.After an analysis we conclude that the checksum will fail to detect errors for roughly 1 in 16 million to 10 billion packets. From our analysis of the cause of errors, we propose simple changes to several protocols which will decrease the rate of undetected error. Even so, the highly non-random distribution of errors strongly suggests some applications should employ application-level checksums or equivalents.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
R. Blahut. Theory and Practice of Error Control Codes. Addison-Wesley, 1994.
|
| |
2
|
R. Braden, D. Borman, and C. Partridge. Computing the Internet Checksum. Intenet Request For Comments RFC 1071, ISI, September 1988. (Updated by RFCs 1141 and 1624).
|
| |
3
|
|
| |
4
|
V. Jacobson. Compressing TCP/IP headers for low-speed serial links. Internet RFC 1144, Information Sciencies Institute, Feb 1990.
|
| |
5
|
J. Joseph L. Hammond and et. al. Development of a Transmission Error Model and an Error Control Model. Technical report, Georgia Institute of Technology, May 1975. Prepared for Rome Air Development Center.
|
| |
6
|
D. Katz. IP Router Alert Option. Internet RFC 2113, Information Sciences Institute, February 1997.
|
| |
7
|
S. McCanne and V. Jacobson. The BSD Packet filter: a new architecture for user level packet capture. In Proc. USENIX '93 Winter Conference, pages 259-269, January 1993.
|
| |
8
|
C. Partridge and A. Jackson. IPv6 Router Alert Option. Internet RFC 2711, Information Sciences Institute, October 1999.
|
| |
9
|
V. Paxson. Social Forces and Traffic Behavior. End-to-End Research Group Meeting, Berkely, CA.
|
| |
10
|
|
| |
11
|
W. W. Plummer. TCP Checksum Function Design. Internet Engineering Note 45, BBN, 1978. Reprinted in {2}.
|
| |
12
|
J. Postel. Transmission Control Protocol. Internet Request for Comments RFC 793, ISI, September 1981. 3.
|
| |
13
|
A. Rijsinghani. Computation of the internet checksum via incremental update. Internet Request For Comments RFC 1624, Information Sciencies Institute, May 1994.
|
| |
14
|
|
| |
15
|
Z. Wang and J. Crowcroft. SEAL Detects Cell Misordering. IEEE Network Magazine, 6(4):8-19, July 1992.
|
CITED BY 20
|
|
|
|
|
|
|
|
Baruch Awerbuch , David Holmer , Cristina Nita-Rotaru , Herbert Rubens, An on-demand secure routing protocol resilient to byzantine failures, Proceedings of the 3rd ACM workshop on Wireless security, p.21-30, September 28-28, 2002, Atlanta, GA, USA
|
|
|
|
|
|
|
|
|
|
|
|
Richard L. Graham , Sung-Eun Choi , David J. Daniel , Nehal N. Desai , Ronald G. Minnich , Craig E. Rasmussen , L. Dean Risinger , Mitchel W. Sukalski, A network-failure-tolerant message-passing system for terascale clusters, International Journal of Parallel Programming, v.31 n.4, p.285-303, August 2003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
P. Balaji , W. Feng , S. Bhagvat , D. K. Panda , R. Thakur , W. Gropp, Analyzing the impact of supporting out-of-order communication on in-order performance with iWARP, Proceedings of the 2007 ACM/IEEE conference on Supercomputing, November 10-16, 2007, Reno, Nevada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|