Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
TCP Fast Open
Experimental TCP mechanism

TCP Fast Open (TFO) is an extension designed to speed up successive TCP connections by using a TFO cookie, a cryptographic token set by the server during the initial connection. When reconnecting, the client includes this cookie in the SYN packet, allowing the server to send data before completing the three-way handshake, thus reducing latency. The cookie is created using a block cipher to generate an authentication tag that guards against spoofing, but TFO does not provide security against man-in-the-middle attacks and should be combined with protocols like TLS or IPsec for better protection. Despite benefits, TFO faces deployment issues and presents privacy risks by enabling persistent client tracking. As of 2020, no major web browsers enabled it by default.

We don't have any images related to TCP Fast Open yet.
We don't have any YouTube videos related to TCP Fast Open yet.
We don't have any PDF documents related to TCP Fast Open yet.
We don't have any Books related to TCP Fast Open yet.
We don't have any archived web articles related to TCP Fast Open yet.

History

The TFO proposal was originally presented in 20114 and was published as the experimental RFC 7413 in December 2014.5 TCP Fast Open shares the goal of bypassing the three-way handshake of TCP with an earlier proposal from 1994, called T/TCP (RFC 1644). In contrast to TCP Fast Open, T/TCP paid no attention to security,6 opening a path for vulnerabilities and failing to gain traction.

Characteristics

TFO implementations include the following:

See also

Bibliography

References

  1. Kerrisk, Michael (2012-08-01). "TCP Fast Open: expediting web services". LWN.net. https://lwn.net/Articles/508865/

  2. Rybczyńska 2020. - Rybczyńska, Marta (13 March 2020). "A QUIC look at HTTP/3". LWN.net. https://lwn.net/Articles/814522/

  3. Sy et al. 2020, p. 275-279. - Sy, Erik; Mueller, Tobias; Burkert, Christian; Federrath, Hannes; Fischer, Mathias (2020). "Enhanced Performance and Privacy for TLS over TCP Fast Open". Proceedings on Privacy Enhancing Technologies. 2020 (2): 271–287. arXiv:1905.03518. doi:10.2478/popets-2020-0027. https://doi.org/10.2478%2Fpopets-2020-0027

  4. Radhakrishnan S, Cheng Y, Chu J, Jain A, Raghavan B (2011-12-06). "TCP Fast Open" (PDF). ACM CoNEXT. http://conferences.sigcomm.org/co-next/2011/papers/1569470463.pdf

  5. Cheng, Yuchung; Chu, Jerry; Radhakrishnan, Sivasankar & Jain, Arvind (December 2014). TCP Fast Open. IETF. doi:10.17487/RFC7413. RFC 7413. Retrieved 27 June 2022. https://datatracker.ietf.org/doc/html/rfc7413

  6. Cheng, Yuchung; Chu, Jerry; Radhakrishnan, Sivasankar & Jain, Arvind (December 2014). TCP Fast Open. IETF. doi:10.17487/RFC7413. RFC 7413. Retrieved 27 June 2022. https://datatracker.ietf.org/doc/html/rfc7413

  7. Kerrisk, Michael (2012-08-01). "TCP Fast Open: expediting web services". LWN.net. The client-side support has been merged for Linux 3.6 https://lwn.net/Articles/508865/

  8. Vaughan-Nichols, Steven J (2012-12-11). "Linux 3.7 arrives, ARM developers rejoice". Linux and Open Source. ZDNet. Linux 3.7. TCP Fast Open will now be supported on servers https://www.zdnet.com/article/linux-3-7-arrives-arm-developers-rejoice/

  9. "Linux Kernel 3.13, Section 1.10. TCP Fast Open enabled by default". kernelnewbies.org. 19 January 2014. Retrieved 11 February 2014. http://kernelnewbies.org/Linux_3.13#head-159ff61ea3acfd67b88855e75dbbb140f8825c4a

  10. "Linux Kernel 3.16, Section 1.4. TCP Fast Open server mode on IPv6 support". kernelnewbies.org. 3 August 2014. Retrieved 14 September 2014. http://kernelnewbies.org/Linux_3.16#head-93fbb9abc6149e9c3055322f27cdc3a8fcc198e6

  11. "Implementation of server-side TCP Fast Open (TFO) [RFC7413]: MFC into stable/10 branch". 2015-12-28. https://svnweb.freebsd.org/base?view=revision&revision=292823

  12. "This is an implementation of the client side of TCP Fast Open (TFO) [RFC7413]". 2018-02-26. https://svnweb.freebsd.org/base?view=revision&revision=330001

  13. "Enable TCP_FASTOPEN by default for FreeBSD 12". 2018-06-24. https://svnweb.freebsd.org/base?view=revision&revision=335610

  14. "1188435 - Support TCP Fast Open". 2017-05-05. https://bugzilla.mozilla.org/show_bug.cgi?id=1188435

  15. "1398201 - Disable TCP Fast Open for 57". 2017-09-10. https://bugzilla.mozilla.org/show_bug.cgi?id=1398201

  16. "1689604 - Remove TCP FastOpen". 2021-03-23. https://bugzilla.mozilla.org/show_bug.cgi?id=1689604

  17. "Exim 4.88 released". 2016-12-25. https://lists.exim.org/lurker/message/20161225.101705.4bbe7ae8.en.html

  18. "Unbound 1.5.10". Retrieved 2017-12-05. https://www.unbound.net/pipermail/unbound-users/2016-September/004466.html

  19. "Release Notes for BIND Version 9.11.0". 2016-10-05. https://ftp.isc.org/isc/bind9/9.11.0/RELEASE-NOTES-bind-9.11.0.html

  20. "Knot DNS 2.6.0". 2017-09-29. https://gitlab.labs.nic.cz/knot/knot-dns/tags/v2.6.0

  21. "Your App and Next Generation Networks". Apple Inc. 2015. https://developer.apple.com/videos/wwdc/2015/?id=719

  22. "Windows 10 build 14352 - New web platform features". Microsoft. Retrieved 2016-05-27. https://developer.microsoft.com/en-us/microsoft-edge/platform/changelog/desktop/14352/

  23. "Changelogs for 4.1.x". PowerDNS. 2017-12-04. https://doc.powerdns.com/recursor/changelog/4.1.html

  24. Kelley, Simon (2019-03-10). "Support TCP fastopen on incoming and outgoing connections". http://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commitdiff;h=608aa9fcfca2ffeba40d78c7c4e0dcb50e0d5704