TCP Fast Open – Wikipedia, wolna encyklopedia
TCP Fast Open (TFO) – rozszerzenie protokołu TCP mające na celu przyspieszenie otwierania połączeń między dwoma węzłami poprzez umożliwienie wysłania danych już na etapie nawiązywania połączenia (three-way handshake)
Szczegóły
[edytuj | edytuj kod]Rozszerzenie polega na stosowaniu w pierwszym pakiecie SYN tzw. TFO cookie (zaimplementowanego w ramach pola opcji TCP) aby uwierzytelnić klienta, który uprzednio już się łączył. Jeśli uwierzytelnienie się powiedzie, serwer może zacząć wysyłać dane do klienta zanim otrzyma ostatni pakiet ACK należący do etapu nawiązywania połączenia, eliminując czas podróży pakietu w obie strony i obniżając opóźnienie w transmisji danych. TFO cookie jest kryptograficznym elementem rozwiązania, które jest przechowywane po stronie klienta i jest ustalane na początku połączenia. Następnie jest powtórnie wykorzystywane w następnych połączeniach[1].
TFO cookie jest generowane poprzez zastosowanie szyfru blokowego z kluczem utrzymywanym po stronie serwera w tajemnicy przed adresem IP klienta, w taki sposób, że kod uwierzytelniania (MAC) nie może być podrobiony.
Rozszerzenie to zostało pierwotnie zaprezentowane w 2011 roku[2] i w trakcie pisania tego artykułu (Styczeń 2013) ma status szkicu IETF. (IETF Internet draft) Pierwsza implementacja klienckiej części rozwiązania została włączona do jądra Linuksa w wersji 3.6[3], część serwerowa jest częścią Linuksa 3.7[4]
Alternatywne rozwiązania
[edytuj | edytuj kod]TCP Fast Open jest podobne do innej propozycji z 1994 roku zwanej T/TCP (RFC 1644 ↓), które nie zostało szeroko zaadaptowane z powodu kwestii związanych z bezpieczeństwem.
Zobacz też
[edytuj | edytuj kod]Przypisy
[edytuj | edytuj kod]Linki zewnętrzne
[edytuj | edytuj kod]- Timo Schöler: Network acceleration with TCP Fast Open
- R. Braden , T/TCP -- TCP Extensions for Transactions Functional Specification, RFC 1644, IETF, lipiec 1994, DOI: 10.17487/RFC1644, ISSN 2070-1721, OCLC 943595667 (ang.).