TCP Fast Open
TCP Fast Open
draft-cheng-tcpm-fastopen-00.txt
Yuchung Cheng, Jerry Chu, Sivasankar Radhakrishnan, Arvind Jain {ycheng, hkchu, sivasankar, arvind}@google.com
Naive data-in-SYN?
RFC793 TCP 3WHS Allows data in SYN Forbids processing data until 3WHS completes Problems with data exchange in 3WHS? 1. Duplicate/old data from prior connections 2. Server resource exhaustion attack 3. Amplified reflection attack
Mitigations
Related work
TCP Fast Open (TFO) TCPCT (RFC6013) Designed Cheng et al., 2010 Bill Simpson, 2009 T/TCP (RFC1644) Bob Braden, 1994
Goal
1. Defend any SYN flood 1. At-most-once semantic 2. Quick conn setup/ tear- 2. Quick conn setup / down teardown DNSSEC Transactional one packet RPC per-IP counter at client/server ?
Web
Conclusion
TCP Fast Open Data exchange in TCP handshake 1 RTT savings on 35% of HTTP requests Cookie to mitigate security vulnerabilities Implementation Linux (private patch) and Chrome Tested TFO on live Internet connections Worked on Comcast, ATT, etc. web server application: only setsockopt(TFO) Questions/comments?
One-time cookie O(n): n #cookies small scalar factor one cookie per connection 128bits