Jag kan inte så mycket nätverk som jag skulle vilja kunna, men enligt
http://en.wikipedia.org/wiki/Transmi...rror_detection och
http://en.wikipedia.org/wiki/Transmi...um_computation har TCP bara en 16-bitars error correction checksum. Jag har inte koll på matematiken för den kontroll-algoritmen heller, men säg att varje gång ett felaktigt paket kommer in p.g.a. någon nätverksstörning, finns det ungefär en chans på 65.5 tusen att det felaktiga paketet får samma checksum som det korrekta paketet, och accepteras som OK.
Utan ytterligare felkontroll, som i HTTP-protokollet där ingen dubbelkoll sker på det data som har kommit in, gör ett sådant accepterat felaktigt paket att hela filen blir korrupt. Om ditt nätverk fuckar upp 5% av TCP-paketen, kommer ungefär ett paket av 1.3 miljoner att vara ett paket som är felaktigt men ändå accepteras.
uTorrent, och antagligen speluppdateringar som måste vara säkra, gör däremot extra kontroller.
Enligt Wikipedia görs det förutom i TCP, även checksum-kontroller på Ethernet-nivå, så om felet ligger i en kabel måste det vara höga % fel eftersom det görs två checksums ovanpå varandra och det ändå blir fel. Å andra sidan är det väl mycket större chans att en nätverkskabel krånglar än att ett nätverkskort gör logiska fel.