16.3.4. TCP segment tuzilmasi.
TCP-segmenti (
16.6-rasm
) ma’lumotlar maydoni va bir nechta bosh sarlavha
maydonlaridan tashkil topgan. Ma’lumotlar maydoni fragment maydonini ushlab,
jarayonlar o‘rtasida uzatiladi. Oldin ko‘rsatilganidek, ma’lumot maydoni o‘lchami
chegaralangan kattalikdir. Qachonki, protokol katta faylni uzatayotganida (misol
uchun, tasvir, web-sahifa qismi) qoidaga asosan ma’lumotni MSS o‘lchamida
fragmentlarga bo‘ladi ( faqat oxirgi fragmentni emas, chunki odatda kichik
o‘lchovda bo‘ladi).
16.6- rasm. TCP segmentining tuzilishi.
193
TCP-segmenti
(16.6-rasm
) ma’lumotlar maydoni va bir nechta bosh sarlavha
maydonlaridan tashkil topgan. Ma’lumotlar maydoni fragment maydonini ushlab,
jarayonlar o‘rtasida uzatiladi.
UDP protokoliga o‘xshagan, TCP bosh sarlavhasi o‘z ichiga uzatuvchining
porti va qabul qiluvchini raqamini olib, bu belgilangan ma’lumotni multiplekslash
va demultiplekslash jarayoni, hamda maydon nazorat yig‘indisini o‘z ichiga oladi.
Bundan tashqari TCP-segment ichiga ba’zi bir maydonlar kiradi bular:
32-razryadli maydon tartib raqami va tasdiqlovchi raqamli-ma’lumotlarni
ishonchli yuborish uchun kerak.
16-razryadli qabul darchasi, ma’lumotlar oqimni boshqarish uchun kerak
bo‘lib, bayt sonini ushlagan holda, qabul qiluvchi tomoni qabul qilish
imkoniyatiga ega.
4-razryadli maydon, , bunda bosh sarlovha uzunligi TCP-bosh sarlovhani
uzunligini belgilaydi, 32-razryadli so‘zdan tashkil topgan.
TCP-bosh sarlavhasi o‘zgaruvchan bo‘lib, odatda bosh sarlovha uzunligi 20 baytni
tashkil etadi.
Majbursiz maydon parametri shunday holatda ishlatiladiki, qachon uzatuvchi va
qabul qiluvchi tomon “kelishilsa” segmentning maksimal o‘lchoviga, yoki yuqori
tezlikdagi tarmoq darchasini masshtablaydi. Bayroq maydoni 6 bitdan tashkil
topgan. Bitni tasdiqlanishi shuni ko‘rsatadiki, uning qiymati tasdiq ichida to‘g‘ri
ekanligini. SYN va FIN bitlar ulashni o‘rnatilishi va uning tugatilishida
foydalaniladi. O‘rnatuvchi PSH shuni ko‘rsatadiki, ushbu segment shartli ravishda
yuqori sathda uzatilishi kerakligini, qabul qiluvchi tomon zudlik bilan qabul qilishi
kerakligini, oxirgi, URG bit shuni ko‘rsatadiki, segmentda ma’lumot borligini va u
yuqori sathda “tezlik” usuli bilan joylashganligini bildiradi.
TCP-segmentining bosh sarlavhasida maydonning tartib raqami va
tasdiqlovchi raqam eng asosiy hisoblanib, bu asosiy xizmat funksiyasini bajarish
194
roli bo‘lib, ma’lumotni ishonchli uzatishda qo‘llaniladi.TCP protokoli
ma’lumotlarni tuzilmasi tashkil topmagan, tartibli baytlar oqimi deb ko‘radi. TCP-
segmentini tartib raqamini belgilamaydi, u har bir yuborgan baytni belgilaydi.
Bundan kelib chiqqan holda, segmentni tartib raqami bu segmentning birinchi
baytining tartib raqami hisoblanadi.
Endi keyingi misolni ko‘rib chiqamiz. Faraz qilaylik, “A” xost TCP-ulanish
orqali “V” xostga ma’lumotlar oqimini yuborishni hohlaydi. TCP protokoli uzatish
tomonida har bir bayt oqimini noaniq raqamlaydi. Misol uchun uzatilayotgan fayl
o‘lchovi 500000 bayt bo‘lsa, MSS kattaligi 1000 bayt va oqimning birinchi bayti
tartib raqami 0 bo‘ladi.
16.7 rasmda
ko‘rsatilgandek TCP ma’lumot oqimini 500
segmentga bo‘ladi. Birinchi segmentga tartib raqami “0” belgilaydi, ikkinchi
segmentni-1000 raqami, uchunchi segment-2000 raqam va .h.k. Har bir TCP
segmentga maydonning tartib raqami va unga ketma-ketlik raqami kiritiladi.
16.7-rasm
. TCP-segmentida ma’lumotlar faylini bo‘linishi.
Endi tasdiqlovchi raqamni ko‘rib chiqamiz. Yodingizda bo’lsa, TCP
protokoli ma’lumotlarni dupleks uzatilishni ta’minlay olishini, ya’ni yagona TCP
ulanish, ma’lumotlarni “A” va “V” xostlar orsida bir vaqtni o‘zida ikki tomonga
uzata olishini ta’kidlab o’tgan edik.
195
Endi keyingi misolni ko‘rib chiqamiz. Faraz qilaylik, “A” xost “V” xostdan
yuborilgan barcha baytlarni “0” raqamidan 535 raqamigacha qabul qildi, va “V”
xostga yuborish uchun segmentlarni tashkillashtiradi. “A” xost kutadiki, keyingi
bayt “V” xost tomonidan yuborilgan tartib raqami 536 dan boshlanadi va 536
raqamni maydon raqami ekanligini, o‘zining segmentiga tasdiqlaydi.
Endi boshqa holatni ko‘ramiz. Faraz qilaylik “A” xost “V” xostdan ikkita
segmentni qabul qildi, birinchi segment tartib raqami 0 dan 535 baytni, ikkinchi
segment bayt raqami 900 dan 1000 gacha. Bu degani, qanday qilib bo‘lsa ham 536
dan 899 raqamli bayt “A” xostga qabul qilinmaydi. Bu holatda “A” xost kelmagan
baytni kutadi va o‘zining tasdiqlovchi segmentiga tartib raqami 536 baytni kiritadi.
Chunki TCP qabul qilingan ma’lumotlar ichidan birinchi bayt yo‘qligini aniqlashi
bilan uni tasdiqlaydi, bu esa umumiy tasdiqlanishni qo‘llab quvatlaydi.
Oxirgi misol, TCP protokolini ishlashi juda zarur funksiya ekanligini
bildiradi. Uchinchi segment (900-1000 baytni ushlovchi) “A” xostda oldin qabul
qilgan, ikkinchidan oldin (536-899 baytni) aniqroq ma’lumotlar ketma-ketligini
buzganligi. Savol tug‘iladi: bunday holda TCP protokoli bunday hatolikka qanday
sezish (reaksiya) qiladi? Ma’lum bo‘ldiki, protokol tasnifini dasturchilar taklif etib,
buni amalga oshiruvchi TCP, bu masalani to‘liq erkinlik bilan hal etadi. Bu
holatda ikki xil asosiy yondashuv bo‘lib: qabul qiluvchi tomon zudlik bilan
segmentni tan olmasligi, ma’lumotlar ketma-ketligini buzganligi uchun qabul
qilgan segmentni saqlab turadi, qachonki kerakli ma’lumotlarni olmaguncha.
Birinchi yondashuv dasturlashni soddalashtirib, bu vaqtda ikkinchi yondashuv
aloqa simidan foydalanish samaradorligini oshiradi.
16.7- rasmda
birinchi tartib raqam bilan “0” turibdi, ammo tajribada TCP
protokol tomoni o‘zi ixtiyoriy sonni tanlaydi. Bu shuni tushuntiradiki, tarmoqda
segmentni yurish ehtimolini juda kamaytirish kerakligini, ya’ni minimizatsiya
holatga keltirish, qaysiki shakllashtirilgan boshqa TCP-ulanish, ya’ni bu ikki xost
orasida, qaysi biridan biriga xatolik tegishliligini, bor TCP-ulanishiga tushunish
196
mumkin. Belgilash kerakki, bor ulanish bor raqamni ushbu port uchun ham
ishlatilishi mumkinligini, yoki oldingisiga ham tegishligini bildiradi.
|