Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> For that matter, it's possible for the receiver to claim to have received a packet that the sender had not yet generated. The sending TCP stack may very well consider this an error.

I happen to have some experience with this case (receiving an ack of an unsent packet).

Linux since 2009 will silently drop acks of unsent data [1]. FreeBSD follows the RFC and will send ack with current sequence and ack numbers to try to 'resync'. As long as this modified stack doesn't respond to that ack with another ack, it would probably be ok. There's a reviewed and accepted patch for FreeBSD to rate limit the acks it sends in this case, but it doesn't seem to have been committed [2]

[1] https://github.com/torvalds/linux/commit/96e0bf4b5193d0d97d1... (although the comment says this is consistent with the RFC, it actually isn't)

[2] https://reviews.freebsd.org/D11929



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: