TCP_FASTOPEN: Sending Data in the SYN Packet to Save a Round Trip

2026-08-31

Standard TCP requires a three-way handshake (SYN, SYN-ACK, ACK) before either side can send application data. That's one full round-trip time (RTT) of latency before your HTTP GET even leaves the wire. For a mobile client to a data center 80ms away, you've paid 80ms before the server sees a byte of the request.

TCP Fast Open (TFO, RFC 7413) lets a client piggyback data in the SYN packet on repeat connections. The trick is a cryptographic cookie that proves the client owns its source address, preventing amplification attacks.

The flow:

Enabling it:

Real-world example: Google measured TFO cutting page-load times by 4–41% for Chrome-to-Google-frontend connections, with larger gains on high-latency mobile networks. The savings scale directly with RTT — every connection saves exactly one round trip.

Rule of thumb: TFO saves one RTT per repeat connection. If your service does 10 short-lived HTTPS connections to a 100ms-away server, TFO shaves ~1 second off total latency (though TLS 1.3 0-RTT stacks on top and matters more for encrypted traffic).

Gotchas:

Key Takeaway: TCP Fast Open trades a one-time cookie exchange for the ability to send request data in the SYN on every subsequent connection, saving exactly one RTT per repeat connection to the same peer.

All newsletters