4 ms·
So the server now sends a TCP ACK to SYN that is never followed up on? That is, the actual server software will wake up from a listen(), go through the motions
by gmueckl 8y ago
So the server now sends a TCP ACK to SYN that is never followed up on? That is, the actual server software will wake up from a listen(), go through the motions of setting up a session for nothing for 50% of the time with this hack? Nice waste of other people's resources right there!
- nly 8y agoWell, presumably, the client with close the TCP connection once QUIC is established, and cache the result of the race for some period of time.
- gmueckl 8y agoOkay, I had to do some extra digging. And I was a bit off in my original comment: accept returns a socket only when a connection is fully established, that is, after the ACK from the client. Until then, the application is oblivious to the connection attempt. So sending SYNs by themselves is it too hard on the servers.