up vote 2 down vote favorite
share [g+] share [fb]

Why does TCP need a checksum, when lower layers do integrity checks anyways (like Ethernet CRC)?

link|improve this question
feedback

1 Answer

The TCP protocol guarantees accurate delivery regardless of underlying mechanisms. There is no guarantee that every protocol that it might run over will do any sort of integrity checking. SLIP, for example, has no error detection.

link|improve this answer
2  
1  
If you don't need accuracy or guaranteed delivery you can always use UDP. – quack quixote Oct 4 '09 at 0:32
@Richard Hoskins why did you link to IP over CP (carrier pigeon)? – quack quixote Oct 4 '09 at 0:34
3  
Pigeons are notorious for dropping "packets". Thanks, I'll be here all week. Please tip your waitstaff. Try the veal. – wfaulk Oct 4 '09 at 0:37
3  
@quack As an example of protocol that does no error checking. – Richard Hoskins Oct 4 '09 at 0:51
show 1 more comment
feedback

Your Answer

 
or
required, but never shown