title: How come ftp protocol produces transmission errors sometimes if the data is using TCP, which is checksummed?
body: <p>Every once in a while, downloading (especially large) files through ftp will produce errors. I am guessing that's also partly the reason why all major sites are publishing external checksums along with their downloads.</p>
  
  <p>How is this possible if ftp goes through TCP, which has checksum inbuilt and resends data if it is transmitted corruptly?</p>
  
  <p>One could argue that this is due to the short length of the CRC in the TCP protocol (which is 16bit I think, or something like that), and the collisions are simply happening too often. but
  1) for this to be true, not only must there be a CRC collision, but also the random network error must modify both the CRC in the packet, and the packet itself so that the CRC will be valid for the new packet... Even with 16 bitCRC, is that so likely?
  2) There are seemingly not many errors in, say, browsing the web which also goes through TCPIP. </p>