Bugun biz TCP ga e'tibor qaratishdan boshlaymiz. Qatlamlar bo'limining boshida biz muhim bir narsani eslatib o'tdik. Tarmoq darajasida va undan pastda, bu ko'proq xostdan xostga ulanish haqida, ya'ni kompyuteringiz unga ulanish uchun boshqa kompyuter qayerdaligini bilishi kerak. Biroq, tarmoqdagi aloqa ko'pincha mashinalararo aloqa emas, balki jarayonlararo aloqadir. Shuning uchun TCP protokoli port tushunchasini kiritadi. Port faqat bitta jarayon bilan band bo'lishi mumkin, bu esa turli xostlarda ishlaydigan dastur jarayonlari o'rtasida bevosita aloqani ta'minlaydi.
Transport qatlamining vazifasi turli xostlarda ishlaydigan dastur jarayonlari o'rtasida to'g'ridan-to'g'ri aloqa xizmatlarini qanday ta'minlashdir, shuning uchun u end-to-end protokoli sifatida ham tanilgan. Transport qatlami tarmoqning asosiy tafsilotlarini yashiradi, bu esa dastur jarayoniga transport qatlamining ikkita ob'ekti o'rtasida mantiqiy uchdan oxirigacha aloqa kanali mavjudligini ko'rish imkonini beradi.
TCP Transmission Control Protocol degan ma'noni anglatadi va ulanishga yo'naltirilgan protokol sifatida tanilgan. Bu shuni anglatadiki, bitta dastur boshqasiga ma'lumot yuborishni boshlashdan oldin, ikkita jarayon qo'l siqishini amalga oshirishi kerak. Qo'l siqish - ma'lumotlarni ishonchli uzatish va tartibli qabul qilishni ta'minlaydigan mantiqiy bog'langan jarayon. Qo'l berib ko'rishish paytida ma'lumotlarning muvaffaqiyatli uzatilishini ta'minlash uchun bir qator nazorat paketlarini almashish va ba'zi parametrlar va qoidalar bo'yicha kelishish orqali manba va maqsad xostlari o'rtasida aloqa o'rnatiladi.
TCP nima? (MylinkingTarmoq ga tegingvaTarmoq paketi brokeriTCP yoki UDP paketlarini qayta ishlash mumkin)
TCP (Transmission Control Protocol) - ulanishga yo'naltirilgan, ishonchli, bayt oqimiga asoslangan transport darajasidagi aloqa protokoli.
Ulanishga yo'naltirilgan: Ulanishga yo'naltirilgan TCP aloqasi bir vaqtning o'zida bir nechta xostlarga xabar yuborishi mumkin bo'lgan UDP dan farqli o'laroq, TCP aloqasi birma-bir, ya'ni nuqtadan-nuqtagacha bo'lgan aloqani bildiradi, shuning uchun birdan ko'p aloqaga erishib bo'lmaydi.
Ishonchli: TCP ning ishonchliligi tarmoq ulanishidagi o'zgarishlardan qat'iy nazar paketlarni qabul qiluvchiga ishonchli tarzda yetkazib berilishini ta'minlaydi, bu esa TCP protokol paketi formatini UDP ga qaraganda murakkabroq qiladi.
Bayt oqimiga asoslangan: TCP ning bayt oqimiga asoslangan xususiyati har qanday hajmdagi xabarlarni uzatish imkonini beradi va xabarlar tartibini kafolatlaydi: oldingi xabar toʻliq qabul qilinmagan boʻlsa ham, keyingi baytlar olingan boʻlsa ham, TCP ularni qayta ishlash uchun dastur qatlamiga yetkazmaydi va avtomatik ravishda takroriy paketlarni tashlab yuboradi.
Xost A va B xostlari ulanishni o'rnatgandan so'ng, dastur ma'lumotlarni yuborish va qabul qilish uchun virtual aloqa liniyasidan foydalanishi kerak, bu esa ma'lumotlar uzatilishini ta'minlaydi. TCP protokoli ulanishni o'rnatish, o'chirish va ushlab turish kabi vazifalarni boshqarish uchun javobgardir. Shuni ta'kidlash kerakki, bu erda virtual chiziq faqat ulanishni o'rnatishni anglatadi, TCP protokoli ulanishi faqat ikki tomonning ma'lumotlarni uzatishni boshlashi mumkinligini va ma'lumotlarning ishonchliligini ta'minlashni bildiradi. Marshrutlash va tashish tugunlari tarmoq qurilmalari tomonidan boshqariladi; TCP protokolining o'zi bu tafsilotlar bilan bog'liq emas.
TCP ulanishi to'liq dupleks xizmatdir, ya'ni A xostlari va B xostlari TCP ulanishida ikkala yo'nalishda ham ma'lumotlarni uzatishi mumkin. Ya'ni, ma'lumotlar ikki tomonlama oqimda A xost va B xost o'rtasida uzatilishi mumkin.
TCP ma'lumotlarni ulanishning jo'natish buferida vaqtincha saqlaydi. Ushbu jo'natish buferi uch tomonlama qo'l siqish paytida o'rnatilgan keshlardan biridir. Keyinchalik, TCP jo'natish keshidagi ma'lumotlarni kerakli vaqtda maqsad xostning qabul qilish keshiga yuboradi. Amalda, har bir tengdosh bu yerda ko'rsatilganidek, jo'natish keshi va qabul qilish keshiga ega bo'ladi:
Yuborish buferi jo'natuvchi tomonida TCP dasturi tomonidan qo'llab-quvvatlanadigan xotira maydoni bo'lib, jo'natiladigan ma'lumotlarni vaqtincha saqlash uchun ishlatiladi. Ulanishni o'rnatish uchun uch tomonlama qo'l siqish amalga oshirilganda, jo'natish keshi o'rnatiladi va ma'lumotlarni saqlash uchun ishlatiladi. Yuborish buferi tarmoq tiqilib qolishi va qabul qiluvchining fikr-mulohazasiga qarab dinamik ravishda sozlanadi.
Qabul qilish buferi qabul qiluvchi tomonda TCP amalga oshirish tomonidan saqlanadigan xotira maydoni bo'lib, olingan ma'lumotlarni vaqtincha saqlash uchun ishlatiladi. TCP qabul qilingan ma'lumotlarni qabul keshida saqlaydi va yuqori dastur uni o'qishini kutadi.
E'tibor bering, jo'natish va qabul qilish keshining hajmi cheklangan, kesh to'la bo'lganda, TCP ishonchli ma'lumotlarni uzatish va tarmoq barqarorligini ta'minlash uchun tiqilib qolishni nazorat qilish, oqimni boshqarish va boshqalar kabi ba'zi strategiyalarni qabul qilishi mumkin.
Kompyuter tarmoqlarida xostlar o'rtasida ma'lumotlarni uzatish segmentlar yordamida amalga oshiriladi. Xo'sh, paket segmenti nima?
TCP kiruvchi oqimni bo'laklarga bo'lish va har bir qismga TCP sarlavhalarini qo'shish orqali TCP segmentini yoki paket segmentini yaratadi. Har bir segment faqat cheklangan vaqt uchun uzatilishi mumkin va maksimal segment hajmidan (MSS) oshmasligi kerak. Pastga ketayotganda paket segmenti havola qatlamidan o'tadi. Bog'lanish qatlamida maksimal uzatish birligi (MTU) mavjud, bu ma'lumotlar havolasi qatlamidan o'tishi mumkin bo'lgan maksimal paket hajmi. Maksimal uzatish birligi odatda aloqa interfeysi bilan bog'liq.
Xo'sh, MSS va MTU o'rtasidagi farq nima?
Kompyuter tarmoqlarida ierarxik arxitektura juda muhim, chunki u turli darajalar orasidagi farqlarni hisobga oladi. Har bir qatlam boshqa nomga ega; transport sathida ma'lumotlar segment, tarmoq sathida esa IP paket deb ataladi. Shuning uchun, Maksimal uzatish birligi (MTU) tarmoq qatlami tomonidan uzatilishi mumkin bo'lgan maksimal IP paket hajmi sifatida ko'rib chiqilishi mumkin, Maksimal segment hajmi (MSS) esa bir vaqtning o'zida TCP paketi tomonidan uzatilishi mumkin bo'lgan maksimal ma'lumotlar miqdorini bildiruvchi transport qatlami tushunchasi.
E'tibor bering, maksimal segment hajmi (MSS) maksimal uzatish birligidan (MTU) kattaroq bo'lsa, IP bo'linishi tarmoq sathida amalga oshiriladi va TCP kattaroq ma'lumotlarni MTU o'lchamiga mos keladigan segmentlarga ajratmaydi. Tarmoq qatlamida IP qatlamiga bag'ishlangan bo'lim bo'ladi.
TCP paket segmenti tuzilishi
Keling, TCP sarlavhalarining formati va mazmunini ko'rib chiqaylik.
Tartib raqami: TCP ulanishi o'rnatilganda uning boshlang'ich qiymati sifatida ulanish o'rnatilganda kompyuter tomonidan yaratilgan tasodifiy raqam va tartib raqami SYN paketi orqali qabul qiluvchiga yuboriladi. Ma'lumotlarni uzatish jarayonida jo'natuvchi yuborilgan ma'lumotlar miqdoriga qarab tartib raqamini oshiradi. Qabul qiluvchi ma'lumotlar tartibini olingan tartib raqamiga ko'ra baholaydi. Agar ma'lumotlar tartibsizligi aniqlansa, qabul qiluvchi ma'lumotlar tartibini ta'minlash uchun ma'lumotlarni qayta tartiblaydi.
Tasdiqlash raqami: Bu ma'lumotlarning qabul qilinishini tasdiqlash uchun TCP da ishlatiladigan tartib raqami. Bu jo'natuvchi olishni kutayotgan keyingi ma'lumotlarning tartib raqamini ko'rsatadi. TCP ulanishida qabul qiluvchi qabul qilingan ma'lumotlar paketi segmentining tartib raqamiga asoslanib, qaysi ma'lumotlar muvaffaqiyatli qabul qilinganligini aniqlaydi. Qabul qiluvchi ma'lumotlarni muvaffaqiyatli qabul qilgandan so'ng, u jo'natuvchiga ACK paketini yuboradi, unda tasdiqlashni tasdiqlash raqami mavjud. ACK paketini olgandan so'ng, jo'natuvchi javob raqamini tasdiqlashdan oldin ma'lumotlar muvaffaqiyatli qabul qilinganligini tasdiqlashi mumkin.
TCP segmentining boshqaruv bitlari quyidagilarni o'z ichiga oladi:
ACK bit: Agar bu bit 1 bo'lsa, bu tasdiqlash javob maydoni haqiqiy ekanligini bildiradi. TCP, ulanish dastlab o'rnatilganda, SYN paketlaridan tashqari, bu bitni 1 ga o'rnatish kerakligini bildiradi.
RST bit: Bu bit 1 bo'lsa, bu TCP ulanishida istisno mavjudligini va ulanishni majburiy uzish kerakligini ko'rsatadi.
SYN bit: Bu bit 1 ga o'rnatilgan bo'lsa, bu ulanish o'rnatilishi kerakligini va tartib raqami maydonida tartib raqamining boshlang'ich qiymati o'rnatilganligini bildiradi.
FIN bit: Bu bit 1 bo'lsa, bu kelajakda boshqa ma'lumotlar yuborilmasligini va ulanishni xohlashini bildiradi.
TCP ning turli funksiyalari va xarakteristikalari TCP paket segmentlarining tuzilishi bilan mujassamlangan.
UDP nima? (MylinkingTarmoq ga tegingvaTarmoq paketi brokeriTCP yoki UDP paketlarini qayta ishlash mumkin)
User Datagram Protocol (UDP) - bu ulanishsiz aloqa protokoli. TCP bilan solishtirganda, UDP murakkab boshqaruv mexanizmlarini ta'minlamaydi. UDP protokoli ilovalarga ulanish o'rnatmasdan to'g'ridan-to'g'ri inkapsullangan IP-paketlarni yuborish imkonini beradi. Ishlab chiquvchi TCP o'rniga UDP dan foydalanishni tanlaganida, dastur to'g'ridan-to'g'ri IP bilan bog'lanadi.
UDP protokolining to'liq nomi User Datagram Protocol bo'lib, uning sarlavhasi atigi sakkiz bayt (64 bit) bo'lib, juda ixchamdir. UDP sarlavhasining formati quyidagicha:
Belgilangan manzil va manba portlari: Ularning asosiy maqsadi UDP paketlarni qaysi jarayonga yuborishi kerakligini ko'rsatishdir.
Paket hajmi: Paket hajmi maydoni UDP sarlavhasining o'lchamini va ma'lumotlar hajmini o'z ichiga oladi
Tekshirish summasi: UDP sarlavhalari va ma'lumotlarini ishonchli yetkazib berishni ta'minlash uchun mo'ljallangan. Tekshirish summasining roli ma'lumotlarning yaxlitligini ta'minlash uchun UDP paketini uzatishda xatolik yoki buzilish sodir bo'lganligini aniqlashdan iborat.
Mylinking-da TCP va UDP o'rtasidagi farqlarTarmoq ga tegingvaTarmoq paketi brokeriTCP yoki UDP paketlarini qayta ishlash mumkin
TCP va UDP quyidagi jihatlarda farqlanadi:
Ulanish: TCP ulanishga yo'naltirilgan transport protokoli bo'lib, u ma'lumotlarni uzatishdan oldin ulanishni o'rnatishni talab qiladi. UDP esa ulanishni talab qilmaydi va ma'lumotlarni darhol uzatishi mumkin.
Xizmat ob'ekti: TCP - bu birdan-bir ikki nuqtali xizmat, ya'ni ulanish bir-biri bilan aloqa qilish uchun faqat ikkita so'nggi nuqtaga ega. Biroq, UDP bir vaqtning o'zida bir nechta xostlar bilan bog'lanishi mumkin bo'lgan yakkama-yakka, birdan ko'pga va ko'pdan ko'pga interaktiv aloqani qo'llab-quvvatlaydi.
Ishonchlilik: TCP maʼlumotlarni ishonchli yetkazib berish xizmatini taqdim etadi, maʼlumotlar xatosiz, yoʻqolmaydi, takrorlanmaydi va talab boʻyicha yetib kelishini taʼminlaydi. UDP esa qo'lidan kelgancha harakat qiladi va ishonchli yetkazib berishga kafolat bermaydi. UDP uzatish paytida ma'lumotlar yo'qolishi va boshqa vaziyatlardan aziyat chekishi mumkin.
Tiqilish nazorati, oqim nazorati: TCPda tiqilib qolishni nazorat qilish va oqimni boshqarish mexanizmlari mavjud bo'lib, ular ma'lumotlarni uzatish xavfsizligi va barqarorligini ta'minlash uchun tarmoq shartlariga muvofiq ma'lumotlarni uzatish tezligini sozlashi mumkin. UDP tiqilib qolishni nazorat qilish va oqimni boshqarish mexanizmlariga ega emas, hatto tarmoq juda tiqilib qolgan bo'lsa ham, u UDP yuborish tezligiga tuzatishlar kiritmaydi.
Sarlavha ustki qismi: TCP uzun sarlavha uzunligiga ega, odatda 20 bayt, bu parametr maydonlaridan foydalanilganda ortadi. Boshqa tomondan, UDP atigi 8 baytlik sobit sarlavhaga ega, shuning uchun UDP pastki sarlavhaga ega.
TCP va UDP dastur stsenariylari:
TCP va UDP ikki xil transport qatlami protokollari bo'lib, ular dastur stsenariylarida ba'zi farqlarga ega.
TCP ulanishga yo'naltirilgan protokol bo'lganligi sababli, u birinchi navbatda ishonchli ma'lumotlarni etkazib berish talab qilinadigan stsenariylarda qo'llaniladi. Ba'zi umumiy foydalanish holatlari quyidagilarni o'z ichiga oladi:
FTP fayl uzatish: TCP uzatish paytida fayllar yo'qolmasligi va buzilmasligini ta'minlaydi.
HTTP/HTTPS: TCP veb-kontentning yaxlitligi va to'g'riligini ta'minlaydi.
UDP ulanishsiz protokol bo'lganligi sababli, u ishonchlilik kafolatini bermaydi, lekin u samaradorlik va real vaqt xususiyatlariga ega. UDP quyidagi stsenariylar uchun javob beradi:
DNS (domen nomlari tizimi) kabi kam paketli trafik: DNS so'rovlari odatda qisqa paketlardir va UDP ularni tezroq bajarishi mumkin.
Video va audio kabi multimedia aloqasi: Haqiqiy vaqtda yuqori talablarga ega multimedia uzatish uchun UDP maʼlumotlarning oʻz vaqtida uzatilishini taʼminlash uchun pastroq kechikishni taʼminlashi mumkin.
Translyatsiya aloqasi: UDP birdan ko'pga va ko'pdan ko'pga aloqani qo'llab-quvvatlaydi va translyatsiya xabarlarini uzatish uchun ishlatilishi mumkin.
Xulosa
Bugun biz TCP haqida bilib oldik. TCP - ulanishga yo'naltirilgan, ishonchli, bayt oqimiga asoslangan transport qatlami aloqa protokoli. U ulanish, qo'l berib ko'rishish va tasdiqlash orqali ma'lumotlarning ishonchli uzatilishi va tartibli qabul qilinishini ta'minlaydi. TCP protokoli jarayonlar o'rtasidagi aloqani amalga oshirish uchun portlardan foydalanadi va turli xostlarda ishlaydigan dastur jarayonlari uchun to'g'ridan-to'g'ri aloqa xizmatlarini taqdim etadi. TCP ulanishlari to'liq dupleks bo'lib, bir vaqtning o'zida ikki tomonlama ma'lumotlarni uzatish imkonini beradi. Bundan farqli o'laroq, UDP ulanishsiz yo'naltirilgan aloqa protokoli bo'lib, u ishonchlilik kafolatlarini ta'minlamaydi va real vaqtda yuqori talablarga ega bo'lgan ba'zi stsenariylarga mos keladi. TCP va UDP ulanish rejimida, xizmat ko'rsatish ob'ektida, ishonchliligida, tiqilib qolishni nazorat qilishda, oqimni boshqarishda va boshqa jihatlarda farqlanadi va ularni qo'llash stsenariylari ham har xil.
Yuborilgan vaqt: 2024 yil 3-dekabr