Trójetapowe uzgadnianie TCP
Klasyczna sekwencja SYN → SYN-ACK → ACK, która ustanawia połączenie TCP. Gwarantuje, że obie strony są zsynchronizowane, zanim popłyną dane.
Klient wysyła SYN (z początkowym numerem sekwencyjnym), serwer odpowiada SYN-ACK (potwierdza numer klienta i podaje własny), klient odpowiada ACK. Zajmuje to 1 RTT — i właśnie dlatego HTTP/2 i HTTP/3 z keep-alive błyszczą na tle HTTP/1.0.
Ataki SYN flood wykorzystywały to uzgadnianie, wysyłając mnóstwo SYN bez ACK — serwer trzymał połączenia w stanie półotwartym. Obroną są SYN cookies. TCP Fast Open (RFC 7413) pozwala przesyłać dane już w SYN i oszczędzić jeden RTT.