TCP Fast Open

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

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 zaadoptowane z powodu kwestii związanych z bezpieczeństwem.

Zobacz też[edytuj | edytuj kod]

Przypisy

Linki zewnętrzne[edytuj | edytuj kod]