Tcp protokoli nima beradi. TCP transport protokoli beradi

Ma'lumotlar havolasida va protokollarning tarmoq darajasida TCP / IP paketima'lumotlar bloklarini mamlakatlar o'rtasida va tarmoqlar o'rtasida uzatishning asosiy mexanizmiga taalluqli TCP / IP... Ular protokollar to'plamidan foydalanadilar, ammo ular to'g'ridan-to'g'ri protokol ishlaydigan dasturlarda ishlatilmaydi TCP / IP... Ushbu maqolada biz dasturlarda ishlatiladigan ikkita protokolni ko'rib chiqamiz: User Datagram Protocol (UDP) va Transmission Control Protocol (TCP).

Foydalanuvchi Datagram protokoli
User Datagram Protocol - bu juda oddiy protokol. Yoqdi IP, bu ishonchli, aloqasiz protokol. Xost yordamida bog'lanish uchun unga ulanish o'rnatishingiz shart emas UDPva uzatilgan ma'lumotlarni ta'minlash mexanizmi mavjud emas.
Ma'lumotlar bloki yordamida uzatiladi UDP Datagram deb nomlangan. UDP uzatilgan ma'lumotlarga to'rtta 16-bit sarlavha maydonlarini (8 bayt) qo'shadi. Ushbu maydonlar maydon uzunligi, nazorat summasi maydoni va manba va maqsad port raqamidir. "Port", shu nuqtai nazardan, portning dasturiy ta'minoti, apparat porti emas.
Port raqami tushunchasi ikkalasiga ham xosdir UDP va TCP... Port raqamlari qaysi protokol moduli ma'lumotlarni yuborishini (yoki qabul qilishini) aniqlaydi. Aksariyat protokollarda buning uchun odatda ishlatiladigan standart portlar mavjud. Masalan, Telnet odatda 23-portni ishlatadi. Oddiy pochta uzatish protokoli (SMTP) 25-portni ishlatadi. Standart port raqamlaridan foydalanib, mijozlar server bilan qaysi port ishlatilishini birinchi sozlamasdan aloqa qilishlariga imkon beradi.
Sarlavha maydonidagi port va protokol raqami IP protokol maydonlari yuqori darajadagi protokollar uchun mavjud bo'lmasa-da, bir-birlarini ma'lum darajada takrorlaydi. IP ma'lumotlar qaerga yuborilishi kerakligini aniqlash uchun protokol maydonidan foydalanadi UDP yoki TCP modullar. UDP yoki TCP qaysi dastur protokoli ma'lumot olish kerakligini aniqlash uchun port raqamidan foydalaning.
Shunga qaramay, UDP ishonchli emas, u hali ham ko'plab ilovalar uchun mos tanlovdir. U real vaqtda ishlaydigan audio va video kabi ilovalar tomonidan qo'llaniladi, agar ma'lumotlar yo'qolsa, ularni qayta tartibda yuborishdan ko'ra, ularsiz bajarish yaxshiroqdir. Bundan tashqari, oddiy tarmoqni boshqarish protokoli (SNMP) kabi protokollar tomonidan qo'llaniladi.
Eshittirish
UDP Axborotni tarqatish uchun mos, chunki u ochiq ulanishga ulanishni talab qilmaydi.Eshittirish xabarining maqsadlari jo'natuvchi tomonidan belgilangan manzil IP-manziliga qarab belgilanadi. UDP maqsad IP-manzilga ega bo'lgan diagrammalar, ikkilik 255.255.255.255) va mahalliy tarmoqdagi har bir xost tomonidan qabul qilinadi. Mahalliy so'ziga e'tibor bering: ushbu manzilga ega bo'lgan diagrammalar Internetga yo'riqnoma tomonidan qabul qilinmaydi.
Eshittirishlar ma'lum tarmoqlarga yo'naltirilishi mumkin. UDP ma'lumotlar jadvallari xost va subnet-dan, ikkilik sifatida o'rnatilgan IP-manzilning qismlari, IP-manzilning toza qismiga to'g'ri keladigan tarmoqning barcha subnets-laridagi barcha xostlarga uzatiladi. Agar faqat qabul qiluvchi tomon (boshqacha aytganda, ichki tarmoq maskasida nolga teng bo'lgan barcha bitlar) ikkilikga o'rnatilgan bo'lsa, u holda translyatsiya pastki tarmoqdagi manzilning qolgan qismiga mos keladigan barcha xostlar bilan cheklanadi.
Multicast ma'lumotlar olish istagini bildirgan xostlar guruhidagi ma'lumotlarni uzatish uchun ishlatiladi. Multicast UDP Datagram manzil manziliga ega, unda birinchi to'rtta bit 1110 bo'ladi, agar manzillar 224.xxx dan 239.xxx gacha bo'lsa, manzilning qolgan bitlari ko'p tarmoqli guruhni belgilash uchun ishlatiladi. Bu ko'proq radio yoki telekanalga o'xshaydi. Masalan, NTP protokoli uchun 224.0.1.1 ishlatiladi. Agar a TCP / IP dasturlar multicast xabarini olishni xohlashadi, ular tegishli ko'p tarmoqli guruhga qo'shilishlari kerak, bu guruh manzilini protokol stekiga o'tkazish orqali amalga oshiriladi.
Teleradioeshittirish uzatishni filtrlaydi. Multicaster guruhga qo'shilgan har bir xost uchun alohida xabarlarni hisobga olmaydi. Buning o'rniga xabarlar translyatsiya qilinadi va har bir xostdagi drayverlar ularni e'tiborsiz qoldirish yoki tarkibni protokol to'plamiga o'tkazishni hal qilishadi.
Bu shuni anglatadiki, ko'p tarmoqli xabarlar Internet orqali tarqatilishi kerak, chunki multicaster qaysi xostlarni xabar olishni xohlashini bilmaydi. Yaxshiyamki, bu kerak emas. IP-da qaysi guruh egalari ko'p tarmoqli xabarlarni qabul qilishni xohlashlarini aytib berish uchun Internet Group Management Protocol (IGMP) deb nomlangan protokoldan foydalaniladi, shuning uchun xabarlar faqat kerakli joyga yuboriladi.
Uzatishni boshqarish protokoli
Transmission Control Protocol - bu Telnet, FTP va HTTP kabi ko'plab Internet dasturlari tomonidan ishlatiladigan transport qatlami protokoli. Bu ulanishga yo'naltirilgan protokol. Bu shuni anglatadiki, ikkita kompyuter bitta mijoz, ikkinchisi server va ular o'rtasida ma'lumotlar uzatilishidan oldin ular o'rtasida aloqa o'rnatilishi kerak.
TCP ishonchliligini ta'minlaydi. Foydalanadigan dastur TCP u boshqa tomondan olingan ma'lumotlarni yuborayotganini va uni to'g'ri qabul qilganligini biladi. TCP ikkala sarlavha va ma'lumotlar bo'yicha summani ishlatadi. Ma'lumotlarni qabul qilishda, TCP tasdiqlovni yuboruvchiga qaytarib yuboradi. Agar jo'natuvchi ma'lum vaqt ichida tasdiqni olmasa, ma'lumotlar qayta yuboriladi.
TCP ma'lumotlar yuborilgan tartibda teskari tartibda kelishini ta'minlash mexanizmlarini o'z ichiga oladi. Shuningdek, u jo'natuvchi ma'lumotni qabul qiluvchini bosib ololmasligi uchun oqimlarni boshqarishni amalga oshiradi.
TCP ma'lumotlarni segmentlar deb nomlangan bloklarda IP yordamida uzatadi. Segmentning uzunligi protokol bilan belgilanadi. IP sarlavhasidan tashqari, har bir segment 20 bayt sarlavhadan iborat. Sarlavha TCP 16-bitli manba va port raqami manzil maydonidan boshlanadi. Yoqdi UDP, ushbu maydonlar ilova darajasini belgilaydi, bu ham ma'lumotlarni qabul qilishga qaratilgan. Birgalikda olingan IP-manzil va port raqami xostda ishlaydigan xizmatlarni va rozetka deb nomlanuvchi juftlikni noyob tarzda aniqlaydi.
Keyinchalik sarlavhada 32-bitli tartib raqami mavjud. Ushbu raqam segmentdagi ma'lumotlarning birinchi baytini egallashi kerak bo'lgan ma'lumotlar oqimidagi pozitsiyani belgilaydi. Tartib raqami TCP ma'lumotlar oqimini to'g'ri tartibda saqlaydi, garchi segmentlar ketma-ketlikdan olinishi mumkin.
Keyingi maydon - bu 32-bitli maydon bo'lib, u jo'natuvchiga ma'lumotlarning to'g'ri qabul qilinganligini qaytarish uchun ishlatiladi. Agar ACK odatdagidek bayroq bo'lsa, unda ushbu maydon segment yuboruvchisi kutgan keyingi ma'lumotlar baytining joylashishini o'z ichiga oladi.
IN TCP har bir ma'lumot segmentini tanib olishning hojati yo'q. Tasdiqlash maydonidagi qiymat "OK tomonidan qabul qilingan barcha ma'lumotlar" deb talqin etiladi. Bu barcha ma'lumotlar bir yo'nalishda yo'naltirilganda tarmoqli kengligini tejaydi va segmentni tanib olish ehtiyojini kamaytiradi. Agar ma'lumotlar to'liq dupleks aloqada bo'lgani kabi bir vaqtning o'zida ikkala yo'nalishda ham yuborilgan bo'lsa, unda shtamplar xarajatlar bilan bog'liq emas, chunki bir tomonlama ma'lumotlar segmentida boshqa yo'l bilan yuborilgan ma'lumotlar uchun tasdiq bo'lishi mumkin.
Bundan tashqari, sarlavhada sarlavha va bayroqlarning uzunligini o'z ichiga olgan 16-bitli maydon mavjud. TCP sarlavhalar qo'shimcha maydonlarni o'z ichiga olishi mumkin, shuning uchun uzunligi 20 dan 60 baytgacha o'zgarishi mumkin. Bayroqlar: URG, ACK (biz aytib o'tganmiz), PSH, RST, SYN va FIN. Boshqa ba'zi bayroqlarni keyinroq ko'rib chiqamiz.
Sarlavha oynaning kattaligi deb nomlangan maydonni o'z ichiga oladi, bu qabul qiluvchining qabul qilishi mumkin bo'lgan bayt sonini beradi. Shuningdek, sarlavha va ma'lumotlarni o'z ichiga olgan 16-bitli nazorat summasi mavjud. Nihoyat (qo'shimcha ma'lumotlardan oldin) shoshilinch ko'rsatkichi deb nomlangan maydon mavjud. URG bayrog'i o'rnatilganda, bu qiymat ketma-ketlik raqamini almashtirish sifatida talqin etiladi. Bu shoshilinch ravishda qayta ishlanishi kerak bo'lgan oqimdagi ma'lumotlarning boshlanishini belgilaydi. Ushbu ma'lumotlar ko'pincha tarmoqdan tashqaridagi ma'lumotlar deb nomlanadi. Telnet seansi paytida dasturdan chiqishni to'xtatish uchun foydalanuvchi tanaffus tugmachasini bosganda uni ishlatish misoli.

TCP / IP protokol stekining TCP va UDP transport protokollari istalgan juftlik o'rtasida ma'lumotlar uzatilishini ta'minlaydi amaliy jarayonlartarmoqda ishlaydigan va portlarni transport manzili sifatida ishlatadigan bir nechta jarayonlarni demultiplekslash orqali IP-ga interfeysni taqdim etish. Kompyuterda ishlaydigan har bir dastur jarayoni (AP) (dastur) uchun, a bir nechta kirish nuqtalarisifatida xizmat qilish transport manzillarideb nomlangan portlar (4.60-rasm).

Ilovaga portni tayinlashning ikkita usuli mavjud:

· markazlashtirilgan(0 dan 1023 gacha raqamlar berilgan yoki berilgan) davlat xizmatlariga (dasturlarga) berilgan standart raqamlardan foydalangan holda, masalan: FTP - 21, telnet - 23, SMTP - 25, DNS - 53, HTTP - 80.

· mahalliy(1024 dan 65535 gacha bo'lgan dinamik raqamlar), foydalanuvchi dasturidan so'rov qabul qilinganda bepul ro'yxatdan o'zboshimchalik bilan raqamni taqdim etadi.

Amaliy dinamik port raqamlari har bir kompyuterda noyobdir, lekin boshqa kompyuterlardagi port raqamlari bilan bir xil bo'lishi mumkin. Ularning orasidagi farq faqat IP-manzillar bilan belgilangan har bir kompyuterning interfeyslari farqi bilan belgilanadi.

Shunday qilib, juftlik " IP-manzil; port raqami"Qo'ng'iroq qilindi rozetka (socket), tarmoqdagi dastur jarayonini noyob tarzda aniqlaydi.

Bitta kompyuterdagi UDP va TCP port raqamlari bir xil bo'lishi mumkin, ammo ular turli xil dasturlarni aniqlaydilar. Shuning uchun port raqamini yozishda transport qatlami protokolining turi ko'rsatilishi kerak, masalan, 2345 / TCP va 2345 / UDP. Ba'zi hollarda, ilova UDP yoki TCP ga kirishni tanlashi mumkin bo'lganida, unga bir xil UDP va TCP port raqamlari berilishi mumkin, masalan, DNS dasturiga 53 - 53 / UDP va 53 / TCP raqamlari beriladi.

UDP transport protokoli

UDP shaklda ma'lumotlarni uzatishni ta'minlaydigan transport protokoli ma'lumotlar jadvallarihar qanday juftlik o'rtasida amaliy jarayonlartarmoqda ishlaydigan, ulanishsiz... Segmentlar 8 baytli sarlavhadan, so'ngra ma'lumotlar maydonidan iborat. UDP segmentining sarlavhasi 4.61-rasmda ko'rsatilgan.

UDP mijoz-server dasturlarini ishga tushirishda eng ko'p qo'llaniladi (so'rovga javob turi).

Biroq, UDP quyidagilarni bajarmaydi:

Oqim boshqaruvi,

Xatolarni boshqarish,

· Yomon segmentni olganidan keyin qayta uzatish.

Misollarma'lumotlar uzatish uchun UDP dan foydalanadigan dasturlar DHCP, DNS, SNMP.

Ba'zi hollarda, bitta dasturning bir nechta nusxalari bitta tugun tugmachasida ishlashi mumkin. Savol tug'iladi: ushbu dasturlar qanday farq qiladi?

Buning uchun oddiy misol yordamida so'rovni shakllantirish jarayoni va bitta kompyuterda ikkita DNS-server ishlayotgan paytda DNS-mijoz bilan DNS-server bilan bog'lanish tartibini ko'rib chiqing va ikkalasi ham ma'lumotlarni uzatish uchun UDP transport protokolidan foydalanadilar (4.62-rasm). DNS-serverlarni ajratish uchun ularga turli xil IP-manzillar - IP1 va IP2 beriladi, ular port raqami bilan birgalikda ikkita turli xil rozetkalarni hosil qiladi: "UDP port 53, IP1" va "UDP port 53, IP2".

4.62-rasm, a) DNS-mijoz tomonidan DNS-serverga so'rovni shakllantirish jarayonini tasvirlaydi.

TCP / IP protokoli stekining transport qatlami uchun DNS so'rovi UDP protokoliga o'tkaziladi, u so'rovni UDP datagramiga joylashtiradi va sarlavhada maqsad port 53 / UDP ni belgilaydi. Keyin UDP datagrammasi Internet-qatlamga yuboriladi, u erda IP-paketga joylashtiriladi, uning sarlavhasida "IP-manzil: IP2" mavjud. IP-paket, o'z navbatida, "shluzi" qatlamiga yo'naltiriladi, u erda u tegishli qatlamli sarlavha (CCH) bilan bog'langan qatlam ramkasida joylashtiriladi. Ushbu ramka tarmoq orqali ikkita DNS-serverni o'z ichiga olgan kompyuterga uzatiladi (4.62-rasm, b).

Ushbu kompyuterda havola darajasi protokoli (PCU) CCP sarlavhasini echib tashlaydi va kadr tarkibini Internet-qatlamga IP-ga uzatadi, bu esa o'z navbatida tarkibni (UDP datagram) IP paketidan chiqaradi. O'tkazilgan ma'lumotlar bilan qo'shimcha manipulyatsiyalar protokol ierarxiyasining ko'p darajali modelida belgilangan printsiplardan farq qiladi. IP paketining ma'lumotlar maydonidagi UDP datagramini transport qatlamiga o'tkazish o'rniga, IP protokoli UDP datagramiga biriktiriladideb nomlangan psevdo-unvonboshqa narsalar qatori, jo'natuvchi va qabul qiluvchining IP-manzillarini o'z ichiga oladi. Shunday qilib, UDP protokoli, IP-manzil va manzil portiga ega bo'lib, ma'lumotlar maydonining mazmuni (ya'ni DNS so'rovi) DNS Server 2 dasturiga o'tkazilishi kerakligini aniq belgilaydi.

TCP transport protokoli

TCP aloqa jarayonlari o'rtasida mantiqiy aloqalarni o'rnatish orqali dastur jarayonlari o'rtasida ishonchli ma'lumotlarni uzatishni ta'minlaydi.

Mantiqiy aloqaikkita dastur jarayoni o'rtasida bir juft rozetka (IP-manzil, port raqami) aniqlanadi, ularning har biri aloqa qiluvchi jarayonlardan birini tavsiflaydi.

TCP protokoliga yuqori darajadagi protokollardan mantiqiy ulanish doirasida keladigan ma'lumotlar TCP protokoli tomonidan ko'rib chiqiladi tuzilmagan bayt oqimiva tamponlangan. Tarmoq sathiga uzatish uchun segment64 KB dan oshmasligi kerak (maksimal IP-paket hajmi). Amalda segment uzunligi odatda 1460 bayt bilan cheklanadi, bu esa uni TCP va IP sarlavhalari bilan chekilgan ramkaga joylashtirish imkonini beradi.

TCP ulanishga yo'naltirilgan to'liq dupleks uzatish.

TCP protokolidagi ma'lumotlar oqimini boshqarish mexanizm yordamida amalga oshiriladi o'zgaruvchan slayd oynasi... Segmentni yuborishda yuboruvchi tugun taymerni ishga tushiradi va tasdiqni kutadi. Salbiy kvitansiyalar yuborilmaydi, lekin foydalaniladi tanaffus mexanizmi... Segmentni qabul qilgan tugun segmentni hosil qiladi va qaytaradi (agar mavjud bo'lsa, ma'lumotlar mavjud yoki ma'lumotlarsiz) keyingi tartib raqamiga teng bo'lgan tasdiq raqami bilan. kutilayotgan bayt raqami... Boshqa ko'plab protokollardan farqli o'laroq, TCP olinganligini tasdiqlaydi paketlar emas, balki baytlaroqim. Agar tasdiqlash muddati tugasa, jo'natuvchi segmentni qayta yuboradi.

Protokolning aniq soddaligiga qaramay, u ba'zi muammolarga olib kelishi mumkin bo'lgan bir qator nuanslarga ega.

Birinchidan, tarmoq orqali uzatish paytida segmentlar parchalanishi mumkinligi sababli, uzatilgan segmentning bir qismi olinishi, qolgan qismi yo'qolishi mumkin.

Ikkinchidan, segmentlar belgilangan joyga hech qanday tartibda etib kelishlari mumkin emas, bu esa 2345 dan 3456 gacha baytlar allaqachon kelgan vaziyatga olib kelishi mumkin, ammo ular uchun tasdiq yuborib bo'lmaydi, chunki 1234 dan 2344 gacha baytlar hali olinmagan.

Uchinchidan, segmentlar tarmoqda shunchalik kechiktirilishi mumkinki, jo'natuvchi vaqti tugab, ularni qayta yuboradi. Qayta uzatilgan segment boshqa marshrutni bosib o'tishi va aks holda bo'linishi mumkin yoki segment tasodifan yo'l davomida tirband bo'lgan tarmoqqa kirishi mumkin. Natijada, dastlabki segmentni tiklash uchun biroz murakkab ishlov berish kerak bo'ladi 4.63-rasmda TCP segment sarlavhasining formati ko'rsatilgan. Sarlavhaning dastlabki 20 bayti qat'iy belgilangan formatda, so'ngra qo'shimcha maydonlar mavjud. Qo'shimcha sarlavha maydonlaridan keyin 65,495 baytdan ko'p bo'lmagan ma'lumotlar maydonchasi qo'shiladi, ular TCP va IP sarlavhalari bilan birgalikda har biri 20 baytdan iborat bo'lib, maksimal 65,535 baytli IP-paket hajmini beradi.

Tafsilotlarga to'xtamasdan, TCP segmentining belgilangan sarlavha maydonlarining maqsadlarini qisqacha ko'rib chiqamiz.

"Yuboruvchi port" (2 bayt) va "Qabul qiluvchining porti" (2 bayt) maydonlari aniqlanadi jarayonlarular orasida mantiqiy aloqa o'rnatiladi.

"Tartib raqami" maydoni (4 bayt) o'z ichiga oladi birinchi bayt raqamisegmentdagi ma'lumotlar, bu segmentning ma'lumotlar oqimiga nisbatan ofsetini belgilaydi

"Tasdiq raqami" maydoni (4 bayt) o'z ichiga oladi keyingi kutilayotgan bayt raqami, bu avvalgi barcha baytlarning to'g'ri qabul qilinganligini tasdiqlovchi kvitansiya sifatida ishlatiladi.

TCP Header Length maydoni (4 bit) 32 bitli so'zlar bilan o'lchangan TCP segmentining sarlavha uzunligini belgilaydi.

6-bitli zahiralangan maydon kelajakda foydalanish uchun saqlangan.

Bitta bayroqlarsegmentning turi to'g'risida xizmat ma'lumotlarini olib yurish va quyidagicha talqin qilish:

URG \u003d 1 mavjudligini bildiradi shoshilinch ma'lumotlar, bu "Shoshilinch ma'lumotlarga ko'rsatgich." maydonidan foydalanishni anglatadi » ;

ACK \u003d 1 segment degan ma'noni anglatadi kvitansiyaolingan segmentda va "Tasdiqlash raqami" maydonida mazmunli ma'lumotlar mavjud. Aks holda, ushbu segmentda hech qanday tasdiq yo'q va "Tasdiqlash raqami" maydoni shunchaki e'tiborsiz qoldiriladi.

PSH \u003d 1 (PUSH bayrog'i) degan ma'noni anglatadi ma'lumotlarni yuborish uchun so'rovbuferni to'ldirishni kutmasdan;

RST \u003d 1 uchun ishlatiladi ulanish holatini tiklashmuammolar aniqlanganda, shuningdek noto'g'ri segmentni rad etish yoki ulanishni yaratishga urinish;

SYN \u003d 1 uchun ishlatiladi ulanishni o'rnatishva agar ACK \u003d 0 bo'lsa, demak bu tasdiqlash maydonidan foydalanilmaganligini anglatadi;

FIN \u003d 1 uchun ishlatiladi uzmoq.

"Oyna o'lchami" maydoni (2 bayt) tasdiqlangan olingan baytdan keyin qancha bayt yuborilishi mumkinligini aniqlaydi.

"Tekshirish summasi" maydonida (2 bayt) sarlavha, ma'lumotlar va psevdo-unvon.

Tekshirish summasini hisoblash algoritmiquyidagicha.

Tekshirish summasini hisoblashni boshlashdan oldin ushbu maydon qiymati nolga o'rnatiladi. Agar ma'lumotlar maydoni baytlarning toq sonini o'z ichiga oladigan bo'lsa, unda u bo'sh sumni hisoblashda foydalaniladigan, lekin tarmoqqa uzatish uchun segmentga kiritilmagan bo'sh bayt bilan to'ldiriladi. Bunday qo'shimchaning zaruriyati, TCP segmenti, shu jumladan sarlavha, ma'lumotlar va psevdo-sarlavha, ikkitaning qo'shimchasiga qo'shilgan 16-bitli ikkilik raqamlar to'plami sifatida qaralishi bilan bog'liq bo'lib, so'ngra hosil bo'lgan yig'indining to'ldiruvchisi hisoblanib, "Chexiya" maydoniga kiritiladi.

Segmentni qabul qiluvchisi xuddi shu tarzda butun segment uchun, shu jumladan, "Checksum" maydonini ham hisoblaydi. Shubhasiz, shu tarzda olingan natija 0 ga teng bo'lishi kerak. Shuni ta'kidlash kerakki, qo'shimcha nol bayt "Shoshilinch ma'lumotlarga ishora" maydoni (2 bayt) joriy baytlarning tartib raqamidan shoshilinch ma'lumotlarning joylashgan joyiga qadar baytlarda ofsetni o'z ichiga oladi, ammo buferni to'ldirish uchun. Shunday qilib, TCP uzilish xabarlarini amalga oshiradi. Shoshilinch ma'lumotlarning mazmuni dastur qatlami tomonidan ko'rib chiqiladi. TCP faqat ularni etkazib berishni ta'minlaydi va uzilish sababi bilan qiziqmaydi.

Parametrlar maydoni o'zgaruvchan uzunligi va yo'q bo'lishi mumkin.

Misollarma'lumotlar uzatish uchun TCP dan foydalanadigan dasturlar FTP, TFTP, DNS, POP3, IMAP, TELNET.

Transport qatlami

Transport qatlamining vazifasi - tarmoqning barcha tugunlarida ishlaydigan turli xil ilovalar o'rtasida ma'lumotlarni uzatish. Paket qabul qiluvchi kompyuterga IP protokoli yordamida etkazib berilgandan so'ng, ma'lumotlar maxsus qabul qilish jarayoniga yuborilishi kerak. Har bir kompyuter bir nechta jarayonlarni bajarishi mumkin va dastur ma'lumotlar paketlari uchun mo'ljallangan vazifani bajaradigan bir nechta kirish nuqtalariga ega bo'lishi mumkin.

Operatsion tizimning transport qatlamiga tushadigan paketlar turli xil dasturlarning kirish joylarida bir nechta navbatlarda tashkil etilgan. Ushbu kirish nuqtalari TCP / IP terminologiyasida portlar deb nomlanadi.

Transmissiyani boshqarish protokoli

Transmissiyani boshqarish protokoli(TCP) (Transmission Control Protocol) majburiy protokol standarti TCP / IP bo'lib, RFC 793, "Transmission Control Protocol (TCP)" da belgilangan.

TCP bu ma'lumotlar oqimini tashishni (uzatishni) ta'minlaydigan, avvalo ulanishni o'rnatish zarurati bilan, shu bilan qabul qilingan ma'lumotlarning yaxlitligiga ishonchni kafolatlaydigan, shuningdek ma'lumotlar yo'qolgan yoki buzilgan taqdirda ma'lumotlar uchun takroriy so'rovni bajaradigan transport qatlami protokoli. Bundan tashqari, TCP takrorlangan paketlarni kuzatadi va agar aniqlansa, takroriy paketlarni o'ldiradi.

UDP-dan farqli o'laroq, u uzatiladigan ma'lumotlarning yaxlitligini va jo'natuvchining uzatish natijalarini tasdiqlashini kafolatlaydi. Fayllarni uzatishda foydalaniladi, bu erda bitta paket yo'qolishi butun faylning buzilishiga olib kelishi mumkin.

TCP ishonchliligini quyidagilar tufayli ta'minlaydi:

  • Ilovadan olingan ma'lumotlar ma'lum hajmdagi bloklarga bo'linadi, ular yuboriladi.
  • TCP segmentni yuborganda, taymerni o'rnatadi, masofadan oxirigacha ushbu segment uchun ACK kutadi. Vaqt o'tganidan keyin tasdiqnoma olinmasa, segment qayta uzatiladi.
  • TCP ulanishning uzoq tomonidan ma'lumot olganda, u tasdiqnoma yuboradi. Ushbu tasdiq darhol yuborilmaydi, lekin odatda bir soniya bilan kechiktiriladi.
  • TCP sarlavha va ma'lumotlar uchun nazorat summasini hisoblab chiqadi. Bu ulanishning oxirida hisoblangan checksum, uning maqsadi uzatish paytida ma'lumotlarning har qanday o'zgarishini aniqlashdir. Agar segment yaroqsiz checksum bilan kelsa, TCP uni pasaytiradi va tasdiqlash hosil bo'lmaydi. (Yuboruvchi vaqt tugashi va qayta uzatishi kerak).
  • TCP segmentlari IP-diagrammalar sifatida yuborilganligi va IP-diagrammalar tasodifiy ravishda kelishi mumkinligi sababli, TCP-segmentlar ham tasodifiy ravishda kelishi mumkin. Ma'lumotlarni qabul qilgandan so'ng, TCP kerak bo'lganda ma'lumotlarni ketma-ket ravishda ketma-ketlashtirishi mumkin, natijada dastur ma'lumotlarni to'g'ri tartibda qabul qiladi.
  • IP-diagrammani takrorlash mumkinligi sababli, qabul qiluvchi TCP takrorlangan ma'lumotni bekor qilishi shart.
  • TCP ma'lumotlar oqimini boshqaradi. TCP ulanishining har bir tomoni ma'lum bir bufer maydoniga ega. TCP-ni qabul qilish masofaviy tomonga ma'lumotni faqat qabul qilgich buferlay oladigan holatda yuborish imkonini beradi. Bu tezkor xostlarning sekin xostlar buferlaridan oshib ketishiga yo'l qo'ymaydi.

  • Tartib raqami ikkita maqsadga xizmat qiladi:
    • Agar SYN bayrog'i o'rnatilgan bo'lsa, unda ketma-ketlik raqamining ushbu boshlang'ich qiymati ISN (boshlang'ich tartib raqami) bo'ladi va keyingi paketga uzatiladigan ma'lumotlarning birinchi baytida ISN + 1 ga teng tartib raqami bo'ladi.
    • Aks holda, agar SYN o'rnatilmagan bo'lsa, ushbu paketda uzatiladigan ma'lumotlarning birinchi baytida ushbu tartib raqami mavjud.
  • E'tirof raqami - agar ACK bayrog'i o'rnatilgan bo'lsa, bu maydon keyingi safar oluvchi kutgan tartib raqamini o'z ichiga oladi. Ushbu segmentni olinganligini tasdiqlash sifatida belgilaydi.
  • Sarlavha uzunligi - 32-bitli so'zlar bilan o'rnatiladi.
  • Oynaning kattaligi - qabul qiluvchining tasdiqlashsiz qabul qilishga tayyor bo'lgan baytlari soni.
  • Tekshirish summasi - soxta sarlavha, sarlavha va ma'lumotlarni o'z ichiga oladi.
  • Shoshilinch ko'rsatgich - zudlik bilan javob berish kerak bo'lgan shoshilinch ma'lumotlarning so'nggi baytini ko'rsatadi.
  • URG - shoshilinch bayroq, "Shoshilinch ko'rsatgich" maydonini o'z ichiga oladi, agar \u003d 0 bo'lsa, maydon e'tiborga olinmaydi.
  • ACK - tasdiqlash bayrog'i, "E'tirof raqami, agar \u003d 0 bo'lsa, maydon e'tiborga olinmaydi" maydonini o'z ichiga oladi.
  • PSH - bayroq bosish operatsiyasini talab qiladi, TCP moduli paketni dasturga zudlik bilan yuborishi kerak.
  • RST - ulanishni to'xtatish uchun ishlatiladigan bayroq
  • SYN - ketma-ketlik raqamlarini sinxronlashtirish bayrog'i, ulanishni o'rnatishda ishlatiladi.
  • FIN - jo'natuvchidan uzatish bayrog'ining oxiri

Sarlavha tuzilishini ko'rib chiqing TCPwireshark tarmoq analizatoridan foydalanish:


TCP portlari

Bitta kompyuterda bir nechta dasturlar ishlashi mumkinligi sababli, har bir dasturning o'ziga xos identifikatori yoki port raqami ma'lum bir dasturga TCP paketini etkazib berish uchun ishlatiladi.

Port raqami paketning qaysi dasturga mo'ljallanganligini ko'rsatadigan 1 dan 65535 gacha bo'lgan 16 bitli shartli raqam.

TCP portlari Transmission Control Protocol (TCP) yordamida uzatiladigan ma'lumotlarni etkazib berish uchun ma'lum bir dastur portidan foydalanadi. TCP portlari murakkabroq va UDP portlariga qaraganda boshqacha ishlaydi. UDP porti bitta xabarlar navbati va UDP ulanishining kirish nuqtasi vazifasini bajarsa, barcha TCP ulanishlari uchun yakuniy kirish nuqtasi noyob ulanishdir. Har bir TCP ulanishi ikkita kirish nuqtasi bilan noyob tarzda aniqlanadi.

Har bir alohida TCP server porti bir nechta ulanishni taklif qilishi mumkin, chunki barcha TCP ulanishlari ikkita qiymat bilan aniqlanadi: IP manzil va TCP port (soket).

1024 dan kam bo'lgan barcha TCP port raqamlari zaxiralangan va Internet tomonidan tayinlangan raqamlar bo'yicha idorada (IANA) ro'yxatdan o'tgan.

UDP va TCP port raqamlari bir-biriga mos kelmaydi.

TCP dasturlarida quyidagi rasmda ko'rsatilgandek zaxiralangan yoki taniqli port raqamlari ishlatiladi.

TCP ulanishini o'rnatish

Endi TCP ulanishlari qanday o'rnatilishini ko'rib chiqamiz. Deylik, bitta xostda ishlaydigan jarayon boshqa xostda boshqa jarayon bilan aloqa o'rnatmoqchi. Eslatib o'tamiz, ulanishni boshlaydigan xost "mijoz", boshqa tugun esa "server" deb nomlanadi.

Har qanday ma'lumotlarni uzatishni boshlashdan oldin, TCP protokoli bo'yicha, tomonlar aloqa o'rnatishi kerak. Ulanish uch bosqichda o'rnatiladi (TCP "uch marta qo'l siqish" jarayoni).

  • So'rovchi (odatda mijoz deb ataladi) mijoz ulanmoqchi bo'lgan serverning port raqamini va mijozning asl tartib raqamini (ISN) ko'rsatib, SYN segmentini yuboradi.
  • Server asl server tartib raqamini o'z ichiga olgan SYN segmentiga javob beradi. Server, shuningdek, ACK (ISN + 1) yordamida mijozning SYN-ni kelganligini tasdiqlaydi. SYN uchun bitta ketma-ketlik raqami ishlatiladi.
  • Mijoz, mijozning asl tartib raqamini (ISN + 1) o'z ichiga olgan va ACK (ISN + 1) dan foydalangan holda, SYN-lari bilan serverdan SYN kelganligini tan olishi kerak. SYN biti 0 ga o'rnatildi, chunki ulanish o'rnatildi.

TCP ulanishini o'rnatgandan so'ng, ushbu ikkita xost ma'lumotlar bir-biriga uzatishi mumkin, chunki TCP ulanishi to'liq dupleks bo'lganligi sababli ular bir vaqtning o'zida ma'lumotlarni uzatishlari mumkin.

TCP / IP protokollari global Internetning asosi hisoblanadi. Aniqroq aytganda, TCP / IP - bu protokollarning ro'yxati yoki to'plami va aslida ma'lumotlar almashinadigan qoidalar to'plami (paketlarni almashtirish modeli amalga oshiriladi).

Ushbu maqolada biz TCP / IP protokoli to'plamining tamoyillarini tahlil qilamiz va ularning qanday ishlashini tushunishga harakat qilamiz.

Izoh: Ko'pincha TCP / IP ushbu ikkita protokol, TCP va IP asosida ishlaydigan butun tarmoqqa murojaat qilish uchun ishlatiladi.

Bunday tarmoq modelida, asosiy protokollardan tashqari TCP (transport qatlami) va IP (tarmoq sathining protokoli) dastur protokollarini va tarmoq darajalarini o'z ichiga oladi (rasmga qarang). Ammo to'g'ridan-to'g'ri TCP va IP protokollariga qaytaylik.

TCP / IP protokollari nima?

TCP - uzatishni boshqarish protokoli... Transmissiyani boshqarish protokoli. Bu ikkita qurilma o'rtasida ishonchli aloqani ta'minlash va ma'lumotlarni ishonchli uzatish uchun xizmat qiladi. Bunday holda, TCP protokoli uzatiladigan ma'lumotlar paketining optimal hajmini boshqaradi, agar uzatish amalga oshmasa, yangi xabarni amalga oshiradi.

IP - Internet protokoli. Internet protokoli yoki manzil protokoli ma'lumotlar uzatishning barcha arxitekturasining asosidir. IP protokoli tarmoq ma'lumot paketini kerakli manzilga etkazish uchun ishlatiladi. Bunday holda, ma'lumotlar mustaqil ravishda tarmoq orqali kerakli manzilga o'tadigan paketlarga bo'linadi.

TCP / IP protokoli formatlari

IP protokoli formati

IP protokolining IP-manzillari uchun ikkita format mavjud.

IPv4 formati. Bu 32-bitli ikkilik raqam. IP-manzil (IPv4) uchun qulay yozuv shakli - bu o'nlik sonlarning to'rtta guruhi (0 dan 255 gacha) nuqtalar bilan ajratilgan yozuv. Masalan: 193.178.0.1.

IPv6 formati. Bu 128 bitli ikkilik raqam. Odatda IPv6 manzillari allaqachon sakkizta guruh shaklida yozilgan. Har bir guruhda to'rtburchaklar bilan ajratilgan to'rtta o'n oltita raqam mavjud. Misol IPv6 manzili 2001: 0db8: 85a3: 08d3: 1319: 8a2e: 0370: 7889.

TCP / IP protokollari qanday ishlaydi

Agar bu qulay bo'lsa, tarmoqdagi ma'lumotlar paketlarini uzatishni pochta orqali xat yuborish kabi tasavvur qiling.

Agar noqulay bo'lsa, tarmoq orqali ulangan ikkita kompyuterni tasavvur qiling. Bundan tashqari, ulanish tarmog'i har qanday mahalliy yoki global bo'lishi mumkin. Ma'lumotlarni uzatish printsipida farq yo'q. Tarmoqdagi kompyuterni xost yoki tugun deb ham tasavvur qilish mumkin.

IP protokoli

Tarmoqdagi har bir kompyuterning o'ziga xos manzili mavjud. Global Internetda kompyuterda ushbu manzil mavjud bo'lib, u IP-manzil (Internet Protocol Address) deb nomlanadi.

Pochta singari, IP-manzil uyning raqamidir. Ammo xatni olish uchun uyning raqami etarli emas.

Tarmoq orqali uzatiladigan ma'lumotlar kompyuter tomonidan emas, balki unga o'rnatilgan dasturlar orqali uzatiladi. Bunday dasturlar pochta serveri, veb-server, FTP va boshqalar. O'tkazilgan ma'lumot paketini aniqlash uchun har bir dastur ma'lum bir portga ulanadi. Masalan: veb-server 80 portda, FTP 21 portda, SMTP pochta serveri 25 portda, POP3 server 110 portdagi pochta qutilarini o'qiydi.

Shunday qilib, TCP / IP protokolidagi manzil paketida, boshqa manzil manzilda paydo bo'ladi: port. Pochta bilan analog - port - bu jo'natuvchi va manzilning kvartirasi raqami.

Misol:

Manba manzili:

IP: 82.146.47.66

Belgilangan manzil:

IP: 195.34.31.236

Shuni esda tutish kerak: IP-manzil + port raqami - "soket" deb nomlangan. Yuqoridagi misolda: 82.146.47.66:2049 soketidan paket 195.34.31.236: 53 rozetkaga yuboriladi.

TCP protokoli

TCP - bu IP-dan keyingi navbat. Ushbu protokol axborot uzatilishini va uning yaxlitligini boshqarish uchun mo'ljallangan.

Masalan, uzatilgan ma'lumotlar alohida paketlarga bo'linadi. Paketlar qabul qiluvchiga mustaqil ravishda etkazib beriladi. Uzatish paytida paketlardan biri uzatilmadi. TCP qabul qiluvchiga ushbu paketni qabul qilguncha qayta uzatishni ta'minlaydi.

TCP transport protokoli yuqori darajadagi protokollardan (jismoniy, kanal, tarmoq IP) ma'lumotlarni uzatishdagi barcha muammolarni va tafsilotlarni yashiradi.

TCP - bu ma'lumotlar oqimini ta'minlaydigan, oldindan o'rnatilgan ulanishga ega bo'lgan transport vositasi, shu bilan olingan ma'lumotlarning ishonchliligiga ishonch hosil qiladi, ma'lumotlar yo'qolgan taqdirda ma'lumotlarni qayta so'raydi va bitta paketning ikki nusxasini olganda takrorlanishni yo'q qiladi. UDP-dan farqli o'laroq, u dastur ma'lumotlarning aniq bir xil ketma-ketlikda va yo'qolmasdan qabul qilinishini ta'minlaydi.

TCP xabarlarni ishonchli etkazib berish zarur bo'lganda ishlatiladi. U dastur jarayonlarini ishonchliligi uchun vaqt tugashi va qayta uzatishni ishlatish zaruriyatidan xalos qiladi. Eng keng tarqalgan TCP dasturlari FTP (File Transfer Protocol) va TELNET. Bundan tashqari, TCP dan X-Window System, rcp (masofadan nusxalash) va boshqa "r buyruqlar" foydalaniladi. TCP ning ajoyib xususiyatlari bepul emas. TCP dasturini amalga oshirish uchun yuqori protsessor ishlashi va yuqori tarmoqli kengligi kerak. TCP modulining ichki tuzilishi UDP moduliga qaraganda ancha murakkab.

TCP dasturi odatda yadroga o'rnatiladi, ammo dastur kontekstida TCP dasturlari mavjud.

Internet orqali kompyuterdan kompyuterga uzatish mavjud bo'lganda, TCP Internet-brauzer va Internet-server kabi ikkita so'nggi tizim o'rtasida yuqori darajada ishlaydi. TCP shuningdek, baytlar oqimini bir kompyuterdagi bir dasturdan ikkinchi kompyuterdagi boshqa dasturga ishonchli tarzda uzatadi. Elektron pochta va fayl almashish dasturlari TCP dan foydalanadi. TCP xabarlar uzunligini, xabar almashish tezligini, tarmoq trafigini boshqaradi.

Ilova jarayoni TCP dan foydalanishni boshlaganda, mijoz mashinasidagi TCP moduli va server mashinasidagi TCP moduli gaplasha boshlaydi. Ushbu ikkita TCP terminatori virtual havola deb nomlangan ulanish holati to'g'risida ma'lumot beradi. Ushbu virtual sxema har ikkala TCP terminalatorlarining manbalarini ham sarflaydi. Kanal to'liq dupleks; ma'lumotlar bir vaqtning o'zida ikkala yo'nalishda ham uzatilishi mumkin. Bir dastur jarayoni ma'lumotlarni TCP portiga yozadi, u tarmoq bo'ylab harakat qiladi va boshqa dastur jarayoni uni TCP portidan o'qiydi.

TCP baytlar oqimini paketlarga ajratadi; yozuvlar orasidagi chegaralarni saqlamaydi. Masalan, bitta dastur jarayoni TCP portiga 5 ta yozuv yozadigan bo'lsa, u holda virtual kanalning boshqa uchidagi dastur jarayoni barcha ma'lumotlarni olish uchun 10 ta o'qishni amalga oshirishi mumkin. Ammo bitta jarayon faqat bitta o'qish operatsiyasini bajarish orqali barcha ma'lumotlarni bir vaqtning o'zida olish mumkin. Bir tomonda yozilgan xabarlarning soni va hajmi bilan boshqa tomonda o'qilgan xabarlarning soni va hajmi o'rtasida hech qanday bog'liqlik yo'q.

TCP yuborilgan barcha ma'lumotlarni qabul qilish oxirigacha tasdiqlashni talab qiladi. Bu ishonchli etkazib berishni ta'minlash uchun vaqt tugashi va qayta uzatishdan foydalanadi. Yuboruvchiga ma'lum miqdordagi ma'lumotlarni oldindan yuborilgan ma'lumotlarning tasdiqlanishini kutmasdan uzatishga ruxsat beriladi. Shunday qilib, yuborilgan va tasdiqlangan ma'lumotlar o'rtasida allaqachon yuborilgan, ammo hali tasdiqlanmagan ma'lumotlar oynasi mavjud. Tasdiqlamasdan uzatilishi mumkin bo'lgan baytlar soniga deraza kattaligi deyiladi. Odatda, oyna hajmi tarmoq dasturining boshlang'ich fayllarida o'rnatiladi. TCP kanali to'liq dupleks bo'lganligi sababli, bir yo'nalishda ketayotgan ma'lumotlar uchun teskari yo'nalishda ham ma'lumotlar yuborilishi mumkin. Virtual kanalning ikkala tomonidagi qabul qiluvchilar buferning to'lib toshishining oldini olish uchun oqimlarni boshqarishni amalga oshiradilar.

Umuman aytganda, foydalanuvchi dasturi TCP bilan quyidagicha ishlaydi. Ma'lumotlarni foydalanuvchi jarayoniga uzatish uchun uzatilayotgan ma'lumotlarning buferini ko'rsatib, tegishli TCP funktsiyasini chaqirish kerak. TCP bu ma'lumotni stek segmentlariga to'playdi va IP kabi quyi qatlamli protokol uzatish funktsiyasini chaqiradi.

Boshqa tomondan, TCP qabul qiluvchisi pastki qavat protokolidan olingan ma'lumotlarni uning buferining qabul qilish segmentlariga guruhlaydi, ma'lumotlar yaxlitligini tekshiradi, foydalanuvchi jarayoniga ma'lumotlarni uzatadi va qabul qiluvchiga xabar beradi.

TCP foydalanuvchi interfeysi OPEN yoki CLOSE, SEND yoki RECEIVE kabi buyruqlarni bajarishi va STATUSni qabul qilishi mumkin.

O'zaro bog'liqlik modelida TCP va pastki qatlam protokollarining o'zaro ta'siri odatda ko'rsatilmagan, faqat ma'lumotni bir qatlamdan ikkinchisiga asenkron uzatilishini ta'minlaydigan mexanizm bo'lishi kerak. Ushbu mexanizmning natijasi pastki qavat protokoli tanasida yuqori qavat protokolini inkassatsiya qilishdir. Ushbu mexanizm TCP va IP o'rtasidagi qo'ng'iroq interfeysi orqali amalga oshiriladi.

Ushbu mexanizm natijasida har bir TCP paketi quyi qavatdagi protokolga "konvertga", masalan, IPga joylashtiriladi. Olingan datagram TCP paketida foydalanuvchi ma'lumotlarini o'z ichiga olgan tarzda TCP paketini o'z ichiga oladi.

Qisqartirishlarni dekodlash bilan TCP / IP oilasi protokollarining qisqacha tavsifi

  • ARP (manzilni hal qilish protokoli): 32-bitli IP-manzillarni 48-bitli chekilgan manzillar kabi jismoniy tarmoq manzillariga o'zgartiradi.
  • FTP (Fayl uzatish protokoli): TCP ulanishlari yordamida fayllarni bitta kompyuterdan boshqasiga o'tkazish imkoniyatini beradi. Bilan bog'liq, ammo kamroq tarqalgan fayllarni uzatish protokoli Trivial File Transfer Protocol (TFTP) fayllarni uzatish uchun TCP o'rniga UDP dan foydalanadi.
  • ICMP (Internetni boshqarish bo'yicha xabar protokoli): IP-routerlarga tarmoqdagi boshqa IP-routerlar va xostlarga xato xabarlarini yuborish va ma'lumotlarni boshqarish huquqini beradi. ICMP xabarlari IP-ma'lumotlar bazalarida ma'lumotlar maydonlari sifatida tarqaladi va barcha IP-variantlarda bajarilishi kerak.
  • IGMP (Internet guruhini boshqarish protokoli): IP-diagrammalarga tegishli guruhlarga kiruvchi kompyuterlar uchun multicast bo'lishiga imkon beradi.
  • IP (Internet protokoli): Internet yoki intranetni yaratish uchun marshrutizatorlar tomonidan bir-biriga bog'langan alohida tarmoqlar orqali ma'lumotlar paketlarini yo'naltiradigan past darajadagi protokol. Ma'lumotlar IP datagrammasi deb nomlangan paketlar shaklida tarqaladi.
  • RARP (teskari manzilni hal qilish protokoli): Jismoniy tarmoq manzillarini IP manzillariga o'zgartiradi.
  • SMTP (oddiy pochtani uzatish protokoli)- bitta kompyuterda ishlaydigan SMTP mijozi boshqa kompyuterda ishlaydigan SMTP serveriga elektron pochta xabarlarini yuborish uchun foydalanishi mumkin bo'lgan xabarlar formatini belgilaydi.
  • TCP (uzatishni boshqarish protokoli): Protokol ulanishga yo'naltirilgan va ma'lumotlarni bayt oqimlari sifatida uzatadi. Ma'lumotlar TCP sarlavhalari va ma'lumotlardan tashkil topgan paketlarda - TCP segmentlarida yuboriladi. TCP - bu "ishonchli" protokoldir, chunki u ma'lumotlarning yaxlitligini tekshirish uchun yig'indidan foydalanadi va uzatilgan ma'lumotlarning buzilmasdan qabul qilinishini tasdiqlash uchun xabarlarni yuboradi.
  • UDP (foydalanuvchi ma'lumotlar bazasi protokoli): UDP datagrammasi deb nomlangan paketlarda ma'lumotlarni uzatuvchi ulanishdan mustaqil protokol. UDP "ishonchsiz" protokoldir, chunki jo'natuvchi ma'lumotlar bazasi haqiqatan ham qabul qilinganligini ko'rsatuvchi ma'lumot olmaydi.

Sarlavha maydonlarining tarkibi va maqsadi

TCP segmentlari IP-diagrammalar sifatida yuboriladi. IP sarlavhasidan keyingi TCP sarlavhasi TCP protokoli ma'lumotlarini o'z ichiga oladi.

Manba porti (16 bit). Yuboruvchi port.

Belgilangan port (16 bit). Qabul qiluvchining porti.

Tartib raqami (32 bit). Kadr raqami. Ushbu segmentdagi birinchi ma'lumotlar oktetining kvadrat raqami (SYN bayrog'i mavjud bo'lgan paketdan tashqari). Agar paketda SYN bayrog'i mavjud bo'lsa, unda paket raqami ketma-ketlik raqamining boshlanishiga (ISN) aylanadi va birinchi ma'lumotlar sakkizining soni ISN + 1 ga aylanadi.

E'tirof raqami (32 bit). E'tirof etilgan kvitansiya raqamlari maydoni. Agar paketda ACK boshqaruv bit to'plami mavjud bo'lsa, unda ushbu maydon qabul qiluvchidan kutgan jo'natuvchidan keyingi ma'lumotlar paketining raqamini o'z ichiga oladi. Ulanish o'rnatilganda har doim tasdiqlash paketi yuboriladi.

Ma'lumotlarni ofset (4 bit). Ma'lumotlarni ofset qiymati maydoni. Unda TCP paket sarlavhasining 32 bitli so'zlari soni mavjud. Ushbu raqam paketdagi ma'lumotlar joylashuvining ofsetini belgilaydi.

Himoyalangan (6 bit). Zaxira maydoni. Maydon ajratilgan.

Boshqaruv bayroqlari (chapdan o'ngga):

  • URG: Shoshilinch bayroq
  • ACK: Qabul qilinganligini tasdiqlovchi varaqning bayrog'i
  • PSH: majburiy yuborilgan bayroq
  • RST: aloqani tiklash
  • SYN: tartib raqamlarini sinxronlashtirish
  • FIN: Yuboruvchining uzatilgan bayrog'i

Oyna (16 bit). Oyna. Ushbu maydon ushbu segmentni yuboruvchisi qabul qilishi mumkin bo'lgan ma'lumotlar baytlarining sonini o'z ichiga oladi, bu E'tirof raqami maydonida ko'rsatilgan bayt sonidan hisoblanadi.

Tekshirish summasi (16 bit). Tekshirish summasi. Ushbu maydon 16-bitli sarlavhaning 16-bitli to'ldiruvchi summasini va ma'lumotlar so'zlarini o'z ichiga oladi. Agar segmentda toq sonli sarlavha va ma'lumotlar baytlari bo'lsa, oxirgi bayt nollar bilan to'ldirilgan. Tekshirish summasini hisoblashda, sum summasi nolga teng deb qabul qilinadi.

Shoshilinch ko'rsatgich (16 bit). Shoshilinch ma'lumot ko'rsatkichi maydoni. Ushbu maydon paketlar sonining qiymatini o'z ichiga oladi, undan shoshilinch paketlar keladi. Ushbu maydon faqat URG bayrog'i o'rnatilgan segmentlarda hisobga olinadi.

Tanlovlar. Qo'shimcha parametrlar maydoni: o'zgaruvchan uzunlikda bo'lishi mumkin.

To'ldirish. To'ldirish: o'zgaruvchan uzunlik. TCP sarlavhasining to'ldirilishi (nollari) uni 32 bitli so'zga moslashtirish uchun ishlatiladi.

Ushbu havola vizual video uchun. Afsuski, bu ingliz tilida, ammo qanday bo'lsa ham tushunarli.
Maqola sizga yoqdimi? Do'stlar bilan bo'lishish uchun: