Skip to main content

TCP/UDP Deep Dive

Tarmoq protokoli — bu ikki yoki undan ortiq qurilma o‘rtasida ma’lumot almashish tartibini belgilovchi qoidalar to‘plami. Oddiy qilib aytganda, bu kompyuterlar qanday qilib bir-biri bilan "gaplashishini" aniqlab beradi.

Protokollar kompyuterlarga:

  • ma’lumotni qanday yuborish,
  • qayerga yuborish,
  • qanday qilib yuborilgan ma’lumot to‘g‘ri yetib borganini tekshirish kabi muhim vazifalarni bajarishga yordam beradi.

Protokollarga misollar

  • HTTP — veb sahifalarni ko‘rish uchun
  • FTP — fayllarni uzatish uchun
  • SMTP — email yuborish uchun
  • DNS — domen nomlarini IP manzillarga o‘zgartirish uchun
  • TCP/UDP — transport qatlamida ishlaydi, ya'ni yuqoridagi protokollarni asoslaydi

TCP (Transmission Control Protocol) va UDP (User Datagram Protocol) — bu OSI va TCP/IP modelining transport qatlamida ishlaydigan eng muhim protokollaridan hisoblanadi. Har ikkisi ham ma'lumot uzatishda ishlatiladi, lekin har xil yondashuvlarga ega. Ular yuqoridagi HTTP, FTP, DNS kabi protokollar ishlashi uchun asosiy poydevor vazifasini bajaradi. Ya'ni, bu protokollar orqali haqiqiy ma’lumot ishonchli yoki tez tarzda tarmoqqa uzatiladi.


OSI va TCP/IP modellari haqida qisqacha

Tarmoq texnologiyalarini to‘liq tushunish uchun avvalo OSI va TCP/IP modellari haqida bilish muhim. Bu modellar tarmoqdagi ma’lumot qanday uzatilishini qatlamlar asosida tushuntirib beradi.

OSI modeli (Open Systems Interconnection)

OSI modeli — bu tarmoq aloqasini 7 qatlamga ajratgan konseptual model. Har bir qatlam o‘ziga xos vazifani bajaradi va ma’lumotni yuqoridan pastga yoki aksincha uzatishda o‘z rolini o‘ynaydi.

Qatlam raqamiQatlam nomiTavsifi
7ApplicationFoydalanuvchi bilan bevosita ishlaydi
6PresentationMa'lumotni kodlash/enkodlash
5SessionSeanslarni boshqaradi
4TransportMa'lumotni ishonchli yetkazadi (TCP/UDP)
3NetworkIP manzillash va marshrutlash
2Data LinkMAC manzillar, ramkalar (frames)
1PhysicalFizik uzatish (kabellar, signal)

📝 Izoh: OSI modeli o‘quv va tushunish uchun qulay bo‘lsa-da, real hayotda ko‘proq TCP/IP modeli ishlatiladi.

🌐 TCP/IP modeli

TCP/IP — bu internetning asosiy protokollar to‘plami va real tizimlarda keng qo‘llaniladi. U 4 qatlamga ega:

Qatlam nomiOSI'dagi mos qatlamlarTavsifi
Application7, 6, 5HTTP, FTP, DNS, SMTP va boshqalar
Transport4TCP, UDP — ma’lumot yetkazish
Internet (Network)3IP, ICMP — manzillash, routing
Network Access2, 1Ethernet, MAC, fizik uzatish

Natija: TCP/IP amaliy va real tarmoqlarda ishlatiladigan model bo‘lib, biz o‘rganayotgan TCP va UDP ushbu modelning transport qatlamida joylashgan.


Segment, Datagram va Paket farqlari

Tarmoqda ma’lumot uzatishda paket, segment va datagram tushunchalari ko‘p ishlatiladi. Ular qanday farqlanadi?

AtamaQaerda ishlatiladiTavsif
SegmentTCPMa’lumotning TCP orqali bo‘lingan qismlari
DatagramUDPUDPda bo‘lingan mustaqil ma’lumot birligi
PaketIP qatlamidaIP sarlavhasi bilan birga yuboriladigan ma’lumot birligi
  • TCP segmenti ichida IP paketi mavjud
  • UDP datagrami ham IP paketga o‘raladi
  • Shunday qilib, paket — IP asosidagi umumiy konteyner

🎯 Misol: HTTP so‘rovi → TCP segment → IP paket → Ethernet frame


TCP (Transmission Control Protocol)

Asosiy Xususiyatlari

  • Aloqa o‘rnatilgan (Connection-oriented): TCP orqali ma’lumot yuborishdan oldin aloqani o‘rnatish kerak bo‘ladi. Bu, aloqaning ishonchli bo‘lishini ta'minlaydi.

  • Ishonchli (Reliable): Agar biror paket yo'qolsa, TCP uni qayta yuboradi. Har bir yuborilgan ma’lumot qabul qilinganiga ishonch hosil qilinadi.

  • Oqim nazorati (Flow Control): Agar qabul qiluvchi qurilma sekin ishlayotgan bo‘lsa, TCP yuborishni sekinlashtiradi. Buning uchun "sliding window" texnikasi ishlatiladi.

  • Tiqilish nazorati (Congestion Control): Tarmoqda yuklama bo‘lsa, TCP avtomatik ravishda yuborish tezligini kamaytiradi.

  • 🤝 3-bosqichli qo‘l siqish (Three-Way Handshake):

    • Mijoz → Server: SYN — aloqani boshlash
    • Server → Mijoz: SYN-ACK — javob va tasdiq
    • Mijoz → Server: ACK — aloqa o‘rnatildi

TCP Sarlavhasi (Header) Tuzilishi

🏷️ Maydon📝 Tavsif
Source PortMa’lumot yuboruvchining porti
Destination PortQabul qiluvchining porti
Sequence NumberPaketlar ketma-ketligini ko‘rsatadi
Acknowledgment NumberOldingi paketni tasdiqlaydi
FlagsSYN, ACK, FIN va boshqalar
Window SizeOqim nazorati oynasi hajmi
ChecksumXatolikni tekshiruvchi qiymat
Urgent PointerZudlik bilan yuboriladigan data

TCP Flaglar

  • SYN — Aloqa boshlanmoqda
  • ACK — Qabul qilinganini tasdiqlash
  • FIN — Aloqani tugatish istagi
  • RST — Aloqani tiklash (agar xatolik bo‘lsa)
  • PSH — Ma’lumot darhol yuborilishi kerak
  • URG — Muhim (shoshilinch) ma’lumot bor

TCP Qo‘llanilish Joylari

  • 🌐 Web sahifalar (HTTP/HTTPS)
  • 📥 Fayl yuklash va uzatish (FTP)
  • 📧 E-mail protokollari (SMTP, IMAP, POP3)

Hayotiy Misol

Siz https://example.com saytiga kirdingiz:

  1. Brauzer TCP orqali server bilan aloqa o‘rnatadi (SYN → SYN-ACK → ACK)
  2. Brauzer HTTP so‘rov yuboradi: GET /
  3. Server HTML sahifani yuboradi (yuzlab TCP segmentlarida)
  4. Brauzer har bir segmentni yig‘ib, to‘liq sahifa shakllantiriladi
  5. Aloqa tugatiladi (FIN → ACK → FIN → ACK)

TCP Afzalliklari va Kamchiliklari

Afzalliklari:

  • Ishonchli
  • Paketlar tartibda
  • Qo‘shimcha nazorat mexanizmlari

Kamchiliklari:

  • Tizim resursini ko‘proq ishlatadi
  • Sekinroq (Qo‘shimcha tekshiruvlar sabab)

UDP (User Datagram Protocol)

Asosiy Xususiyatlari

  • Aloqasiz (Connectionless): UDP ma’lumotni aloqasiz uzatadi, ya'ni oldin aloqa o‘rnatmaydi.
  • Ishonchsiz (Unreliable): Paketlar yo‘qolib qolishi mumkin, tizim qayta yubormaydi.
  • Yuqori tezlik: UDP minimal kechikish bilan tez ishlaydi.
  • Oddiy sarlavha: UDP sarlavhasi faqat 8 baytdan iborat.

UDP Sarlavhasi Tuzilishi

🏷️ Maydon📝 Tavsif
Source PortYuboruvchining porti
Destination PortQabul qiluvchining porti
LengthPaket uzunligi
ChecksumXatolikni tekshirish

UDP Qo‘llanilish Joylari

  • 🎮 Onlayn o‘yinlar (masalan, CS:GO, Fortnite)
  • 📺 Video/audio translatsiyalar (YouTube Live, Twitch)
  • 🟢 DNS so‘rovlari
  • 📡 VoIP xizmatlari (Zoom, Skype, Telegram call)

Hayotiy Misol

Siz onlayn o‘yinda yurib ketayapsiz:

  • Har bir harakat (yurish, otish) UDP orqali yuboriladi
  • Agar paket yo‘qolsa, tizim kutmaydi — yangi harakat yuboriladi
  • Bu tezkorlikni ta’minlaydi, lekin aniqlikni emas

UDP Afzalliklari va Kamchiliklari

Afzalliklari:

  • Juda tez
  • Kam resurs ishlatadi
  • Real-time (real vaqtli) ilovalar uchun mos

Kamchiliklari:

  • Ishonchsiz
  • Paketlar tartibsiz keladi

TCP va UDP Taqqoslash

XususiyatTCPUDP
Aloqa turiConnection-orientedConnectionless
IshonchlilikHa (ma’lumot yo‘qolmaydi)Yo‘q (yo‘qolishi mumkin)
TezlikSekinroqTezroq
Tizim yuklanishiKo‘proqKamroq
Paket tartibiKafolatlanadiKafolatlanmaydi
Qo‘llanishHTTP, FTP, EmailDNS, video, o‘yinlar