Wireless TCP aborts

Chuck Swiger cswiger at mac.com
Sun Mar 7 23:08:40 UTC 2010


Hi, Tim--

On Mar 7, 2010, at 2:16 PM, Tim Kientzle wrote:
[ ... ]
>  Corrupted MAC on input.
>  Disconnecting: Packet corrupt
>  rsync: connection unexpectedly closed ... [receiver]
> 
> and then the rsync session is dead.
> 
> It seems odd that a single corrupt packet would terminate the TCP connection.

It's not TCP itself which is closing the connection; if a garbage packet as far as TCP or IP layer checksums was seen, it would be dropped and normal resend mechanisms would compensate.  However, SSH adds it's own layer of data integrity checking called HMAC, which uses block-based hashes like MD5 or SHA, and is much stronger than the 32-bit CRCs used at TCP/IP layers.

See:
    
   /usr/src/crypto/openssh/packet.c
   http://en.wikipedia.org/wiki/HMAC

The implication is that the data is being corrupted before it gets munged into network packets; failing memory is a likely cause, but bugs in the network stack, the NIC driver, or OpenSSL are also lower-order possibilities.

Regards,
-- 
-Chuck



More information about the freebsd-current mailing list