TCP Fast Open - TCP Fast Open
v počítačové sítě, TCP Fast Open (TFO) je rozšíření k urychlení otevírání po sobě jdoucích protokol kontroly přenosu (TCP) připojení mezi dvěma koncovými body. Funguje to pomocí a TFO cookie (možnost TCP), což je a kryptografické cookie uložené na klientovi a nastavené při počátečním připojení se serverem.[1] Když se klient později znovu připojí, odešle počáteční paket SYN spolu s daty cookie TFO, aby se ověřil. Pokud bude úspěšný, server může začít odesílat data klientovi ještě před přijetím konečného paketu ACK třícestné podání ruky, čímž přeskočíte zpáteční zpoždění a snížíte latence na začátku přenosu dat.
Cookie je generován použitím bloková šifra klíč na klíč držený v tajnosti serverem na straně klienta IP adresa, generování ověřovací značky, kterou je pro třetí strany obtížné zfalšovat, i když mohou zfalšovat zdrojovou adresu IP nebo provést obousměrné připojení ke stejnému serveru z jiných adres IP. Ačkoli používá k vygenerování souboru cookie kryptografické techniky, TFO není zamýšleno poskytovat větší zabezpečení než třícestné navázání spojení, které nahrazuje, a neposkytuje žádnou formu kryptografické ochrany výslednému připojení TCP, ani neposkytuje záruku identity u žádného z koncových bodů. Rovněž není zamýšleno, aby byl odolný vůči útoky typu man-in-the-middle. Pokud je taková odolnost požadována, může být použita v kombinaci s kryptografickým protokolem, jako je TLS nebo IPsec.
Dějiny
Návrh TFO byl původně představen v roce 2011[2]a byl publikován jako experimentální RFC 7413 v prosinci 2014.[3] TCP Fast Open sdílí cíl obejít třícestné podání ruky TCP s dřívějším návrhem z roku 1994, tzv T / TCP (RFC 1644 ). Na rozdíl od TCP Fast Open T / TCP nevěnoval pozornost bezpečnosti,[3] otevírá cestu zranitelnostem a nedokáže získat trakci.
Vlastnosti
Implementace TFO zahrnují následující:
- IPv4 podpora TFO byla sloučena do Hlavní linka linuxového jádra v jádru verze 3.6 (podpora pro klienty) a 3.7 (prosinec 2012) (podpora pro servery),[4][5] a byl ve výchozím nastavení zapnutý v jádře verze 3.13 (leden 2014).[6] Podpora TFO pro IPv6 servery byly sloučeny v jádře verze 3.16.[7]
- FreeBSD od verze 10.3[8] (podpora serverů) a 12.0[9][10] (podpora pro klienty).
- Mozilla Firefox od verze 58.[11][12]
- Google Chrome a Chrom prohlížeče mají podporu pro TFO Linux, počítaje v to Chrome OS a Android.
- Exim agent přenosu pošty (MTA) od verze 4.88.[13]
- Bez závazků DNS Resolver od verze 1.5.10[14]
- SVÁZAT Domain Name System (DNS) od verze 9.11.0.[15]
- Uzel DNS od verze 2.6.0[16]
- Jablko je iOS 9 a OS X 10.11 oba podporují TCP Fast Open, ale ve výchozím nastavení není pro jednotlivá připojení povoleno.[17]
- Microsoft Edge podporuje TCP Fast Open od Windows 10 Náhled sestavení 14352.[18]
- Rekurzor PowerDNS podporuje TCP Fast Open od verze 4.1.[19]
- dnsmasq bude podporovat TCP-fastopen (RFC-7413) v nadcházející verzi 2.81.[20]
Viz také
Reference
- ^ Kerrisk, Michael (01.08.2012). „TCP Fast Open: urychlení webových služeb“. LWN.net.
- ^ Radhakrishnan S, Cheng Y, Chu J, Jain A, Raghavan B (06.12.2011). „TCP Fast Open“ (PDF). ACM CoNEXT.
- ^ A b Yuchung Cheng; Jerry Chu; Sivasankar Radhakrishnan & Arvind Jain (prosinec 2014). „TCP Fast Open“. IETF. Citováno 10. ledna 2015.
- ^ Kerrisk, Michael (01.08.2012). „TCP Fast Open: urychlení webových služeb“. LWN.net.
Podpora pro klienta byla sloučena pro Linux 3.6
- ^ Vaughan-Nichols, Steven J. (2012-12-11). „Linux 3.7 přichází, vývojáři ARM se radují“. Linux a Open Source. ZDNet.
Linux 3.7. TCP Fast Open bude nyní na serverech podporováno
- ^ „Linux Kernel 3.13, Section 1.10. TCP Fast Open enabled by default“. kernelnewbies.org. 19. ledna 2014. Citováno 11. února 2014.
- ^ „Linux Kernel 3.16, Section 1.4. TCP Fast Open server mode on support IPv6“. kernelnewbies.org. 3. srpna 2014. Citováno 14. září 2014.
- ^ „Implementace TCP Fast Open (TFO) na straně serveru [RFC7413]: MFC do stabilní / 10 větve“. 2015-12-28.
- ^ „Toto je implementace na straně klienta TCP Fast Open (TFO) [RFC7413]“. 2018-02-26.
- ^ "Ve výchozím nastavení povolit TCP_FASTOPEN pro FreeBSD 12". 2018-06-24.
- ^ „1188435 - Podpora TCP Fast Open“. 2017-05-05.
- ^ „1398201 - Zakázat TCP Fast Open pro 57“. 2017-09-10.
- ^ „Vydán Exim 4.88“. 2016-12-25.
- ^ „Bez závazků 1.5.10“. Citováno 2017-12-05.
- ^ „Poznámky k verzi BIND verze 9.11.0“. 2016-10-05.
- ^ „Uzel DNS 2.6.0“. 2017-09-29.
- ^ „Vaše aplikace a sítě nové generace“. Apple Inc. 2015.
- ^ „Windows 10 build 14352 - Nové funkce webové platformy“. Microsoft. Citováno 2016-05-27.
- ^ "Seznamy změn pro 4.1.x". PowerDNS. 4. 12. 2017.
- ^ Kelley, Simon (10.03.2019). „Support TCP fastopen on incoming and outgoing connections“.
externí odkazy
- RFC 7413 Specifikace