TCP Fast Open nima va qanday ishlaydi?

Assalamu Alaykum , bugun TCP ning fast open xususiyati bilan tanishamiz. Biz har doim client va server o'rtasida malumot uzatish uchun TCP connection ochiladi hamda TCP handshake qilinadi , biz buni tezlashitira olamizmi ? Ha Albatta !! Xo'sh qanday ???

TCP handshake haqidagi maqola.(Kengroq tushuncha uchun).

Muammo : TCP connection ochishni sekin uni tezlashtirish kerak .

Yechim

Biz handshake qilayotganda SYN paketga qo'shib so'rovlarni uzatishimiz mumkin . Aslida ha lekin, har xil server bilan muammolar kelib chiqmasligi uchun client serverga bundan oldin ham bog'langan bo'lish zarur. Bunda bizga TCP fast open cookie yordam beradi. Agarda server hamda client birgalikda shu xususiyatni qo'llab quvattlasa buni qilishning imkoni bor.

Bu qanday ishlaydi ?

Siz oldin umuman bog'lanmagan serverga GET so'rovi yubormoqchisiz , 1-chi siz server bilan TCP connection hosil qilasiz.Undan so'ng SYN uzatiladi ,shuningdek SYN ichida men fast open orqali malumot almashmoqchiman deyiladi . Server SYN uchun ACK hamda bu client uchun maxsus generatsiya qilingan kod cookie beradi . Bu kod clientni keyinchalik handshake qilmasdan ham ushbu clientni aniqlab olishga yodam beradi. Client handshake tugaganligini serverga bildiradi . Agarda biz TCP connectionni uzib qayta ulasak bu holatda Client SYN, GET va fast open cookie . Server cookieni tekshiradi agarda u to'g'ri bo'lsa ha men seni bilaman degan holda uning ichidagi malumotlarga o'tadi va ularni dastru qismiga o'tkazib yuborishdan oldin , server bitta SYN-ACK yuboradi; uning ack raqami ham SYN'ni, ham GET ma'lumotini birdaniga tasdiqlaydi. Server javob tayyor bo'lganda darhol PUSH orqali uzatiladi va buni client ACK qiladi.

Bu uslub odatda HTTP/1.1 da foydali, chunki u ko'plab yangi TCP connection ochadi. HTTP/2 bitta connection streamlar bilan qayta ishlagani uchun TFO(TCP fast open) ishlaydi, lekin deyarli foyda bermaydi. HTTP/3 esa UDP (QUIC) — unda TFO umuman qo'llanmaydi .

TCP fast open
TCP fast open

Xulosa

Xulosa qilib aytadigan bo'lsak TFO (TCP fast open) 3-way handshakeni tugashini kutmasdan ma'lumot yuborish orqali tezroq TCP connection hosil qilish yordamida so'rovlar kechikishini kamaytiradi .

E’tiboringiz uchun rahmat !!!
Xato va kamchiliklar uchun uzr so`rab qolaman.