Jump to content
Wikipedia The Free Encyclopedia

TCP Fast Open

From Wikipedia, the free encyclopedia
Experimental TCP mechanism

In computer networking, TCP Fast Open (TFO) is an extension to speed up the opening of successive Transmission Control Protocol (TCP) connections between two endpoints. It works by using a TFO cookie (a TCP option), which is a cryptographic cookie stored on the client and set upon the initial connection with the server.[1] When the client later reconnects, it sends the initial SYN packet along with the TFO cookie data to authenticate itself. If successful, the server may start sending data to the client even before the reception of the final ACK packet of the three-way handshake, thus skipping a round-trip delay and lowering the latency in the start of data transmission.

The cookie is generated by applying a block cipher keyed on a key held secret by the server to the client's, generating an authentication tag that is difficult for third parties to spoof, even if they can forge a source IP address or make two-way connections to the same server from other IP addresses. Although it uses cryptographic techniques to generate the cookie, TFO is not intended to provide more security than the three-way handshake it replaces, and does not give any form of cryptographic protection to the resulting TCP connection, or provide identity assurance about either endpoint. It also is not intended to be resistant to man-in-the-middle attacks. If such resistance is required, it may be used in combination with a cryptographic protocol such as TLS or IPsec.

TFO has been difficult to deploy due to protocol ossification; in 2020, no Web browsers used it by default.[2]

TFO presents privacy challenges; the TFO cookie can allow persistently tracking a client across sessions, even by passive observers.[3]

History

[edit ]

The TFO proposal was originally presented in 2011[4] 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,[5] opening a path for vulnerabilities and failing to gain traction.

Characteristics

[edit ]

TFO implementations include the following:

See also

[edit ]

References

[edit ]
  1. ^ Kerrisk, Michael (2012年08月01日). "TCP Fast Open: expediting web services". LWN.net.
  2. ^ Rybczyńska 2020.
  3. ^ Sy et al. 2020, p. 275-279.
  4. ^ Radhakrishnan S, Cheng Y, Chu J, Jain A, Raghavan B (2011年12月06日). "TCP Fast Open" (PDF). ACM CoNEXT.
  5. ^ a b Cheng, Yuchung; Chu, Jerry; Radhakrishnan, Sivasankar & Jain, Arvind (December 2014). TCP Fast Open. IETF. doi:10.17487/RFC7413 . RFC 7413 . Retrieved 27 June 2022.
  6. ^ Kerrisk, Michael (2012年08月01日). "TCP Fast Open: expediting web services". LWN.net. The client-side support has been merged for Linux 3.6
  7. ^ 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
  8. ^ "Linux Kernel 3.13, Section 1.10. TCP Fast Open enabled by default". kernelnewbies.org. 19 January 2014. Retrieved 11 February 2014.
  9. ^ "Linux Kernel 3.16, Section 1.4. TCP Fast Open server mode on IPv6 support". kernelnewbies.org. 3 August 2014. Retrieved 14 September 2014.
  10. ^ "Implementation of server-side TCP Fast Open (TFO) [RFC7413]: MFC into stable/10 branch". 2015年12月28日.
  11. ^ "This is an implementation of the client side of TCP Fast Open (TFO) [RFC7413]". 2018年02月26日.
  12. ^ "Enable TCP_FASTOPEN by default for FreeBSD 12". 2018年06月24日.
  13. ^ "1188435 - Support TCP Fast Open". 2017年05月05日.
  14. ^ "1398201 - Disable TCP Fast Open for 57". 2017年09月10日.
  15. ^ "1689604 - Remove TCP FastOpen". 2021年03月23日.
  16. ^ "Exim 4.88 released". 2016年12月25日.
  17. ^ "Unbound 1.5.10" . Retrieved 2017年12月05日.
  18. ^ "Release Notes for BIND Version 9.11.0". 2016年10月05日.
  19. ^ "Knot DNS 2.6.0". 2017年09月29日.
  20. ^ "Your App and Next Generation Networks". Apple Inc. 2015.
  21. ^ "Windows 10 build 14352 - New web platform features". Microsoft. Archived from the original on 2016年06月30日. Retrieved 2016年05月27日.
  22. ^ "Changelogs for 4.1.x". PowerDNS. 2017年12月04日.
  23. ^ Kelley, Simon (2019年03月10日). "Support TCP fastopen on incoming and outgoing connections".

Bibliography

[edit ]
[edit ]

AltStyle によって変換されたページ (->オリジナル) /