Someone describes TCP as providing error correction. What does TCP actually do about damaged and missing data?
Answer
Its checksum detects some corruption, and acknowledgements plus retransmission recover data it infers was lost
Calling it error correction hides the mechanism, which is worth knowing because it is what makes TCP expensive. Detection and recovery are two different things: a checksum notices damage, and acknowledgement plus retransmission fetches the data again. A checksum carries nowhere near enough information to reconstruct what was lost, so in-place repair is not on offer. Frame check sequences belong to layer 2 and are not TCP’s to touch. And a TCP connection’s whole promise to the application is reliable, ordered delivery — handing up corrupted data with a flag would break exactly that contract.