Sobes.tech
Middle

TCP oynasi haqida nima ayta olasiz?

sobes.tech AI

AIdan javob

TCP oynasi (yoki TCP qabul oynasi) — bu TCP protokolida ma'lumot oqimini boshqarish mexanizmi. U yuboruvchiga qaysi miqdordagi ma'lumotlarni yuborish mumkinligini, qabul qiluvchi (ACK) tasdiqlashini kutmasdan, belgilaydi. Oyna o'lchami dinamik ravishda moslashtiriladi, qabul qiluvchining buferini to'ldirishdan saqlaydi va uzatish tezligini nazorat qiladi.

Asosiy nuqtalar:

  • Oqimni boshqarish: Asosiy vazifasi — yuboruvchining ma'lumotlarni qabul qiluvchidan tezroq yuborishini oldini olish.
  • Oyna o'lchami: Har bir TCP segmentida ("Window Size" maydonida) qabul qiluvchi tomonidan e'lon qilinadi va qaysi baytlar qabul qilinishga tayyor ekanligini, kutayotgan keyingi baytdan boshlanadi.
  • Dinamiklik: Oyna o'lchami, bog'lanish davomida qabul qiluvchining bufer yuklamasiga qarab o'zgarishi mumkin.
  • Qabul qilish buferi: Haqiqiy oyna o'lchami, qabul qiluvchining qabul qilish buferining o'lchami bilan cheklangan.
  • Oyna kengaytirish (Window Scaling): TCP opsiyasi, yuqori tezlikdagi yoki yuqori kechikishli tarmoqlar uchun katta o'lchamdagi oynalarni (gacha 1 GB) ishlatishga imkon beradi va bog'lanish o'rnatilishi paytida (SYN/SYN-ACK) e'lon qilingan ko'paytirgichdan foydalanadi.
  • "Keng oynali sindrom" (Slim Window): Oyna o'lchami juda kichik bo'lib qoladigan holat, bu ma'lumotlarni samarali uzatishni qiyinlashtiradi.
  • Nol oyna: Agar qabul qiluvchi bufer to'liq to'ldirilgan bo'lsa, oyna o'lchami 0 deb e'lon qilinadi. Yuboruvchi ma'lumot uzishni to'xtatishi kerak, faqat Keep-Alive segmentlari (opsiya yoqilgan bo'lsa) yuborilishi mumkin va oyna o'lchamini yangilash uchun so'nggi segmentni qayta yuborishi kerak.
// TCP sarlavhasi misoli, bu yerda oyna o'lchami ko'rsatilgan
// ("Window Size" maydonida)
// Manba porti: 12345
// Maqsad porti: 80
// Sekvensiya raqami: 1000
// Tasdiqlash raqami: 2000
// Ma'lumotlar offseti: 20 bayt (5 so'z)
// Rezerv: 0
// Bayroqlar: [ACK, PSH]
// Oyna o'lchami: 65535 // Skalirovka qilmasdan maksimal oyna o'lchami
// Tekshiruv sumasi: 0xABCD
// Zudlik bilan ko'rsatkich: 0