Remember that the tcp guarantee of reliable delivery is only operative at the tcp stream
level where the checksum is checked or generated. There’s a lot of software between your
application and the low level TCP driver, and your only guarantee there is hope and best
wishes.
I run an application that keeps its own checksum at the application level, and still get
checksum errors at rare intervals - currently running at one error per 200 million transactions.
Note that this is an “all causes” count, not limited to transmission errors. Still, it’s sobering
to consider that even “reliable” channels are not.