16.3.4.
Bir nechta qiziqarli ssenariyalar.
TCP protokolini belgilangan ish tartibi jaryonidagi bir necha holatni ko‘rib chiqamiz.
Birinchi holat
16.8-rasmda
keltirilan bo’lib, “A” xost bitta segmentini “V” xostga
yubormoqda. Tasavvur qilamizki, segment 92- tartib raqamida bo‘lib, 8- bayt ma’lumotni tashkil
qiladi. “A” xost ushbu segmentni yuborganidan so‘ng,“V” xostdan 100 tartib raqami orqali
tasdiqlanishni kutadi. Hisoblaymiz “ A” xostdan yuborilgan segmen muvaffaqiyatli olingan, ammo
“V” xostda ushbu segment yo‘qolgan. Bunda kutishning tugash interval holati kuzatiladi va “A” xost
qaytadan segmentni jo‘natadi. Xost “V” bu segmentni qabul qilib, uning tartib raqamini aniqlaydi,
ma’lum bo‘ladiki bunday segmentni oldindan qabul qilinganligini. Bu holat qayta yuborilgan
segmentni olib tashlashga keltiradi.
59
16.8-rasm.
Tasdiqni (ACK) yo‘qolishi hisobiga, qayta yuborish.
Ikkinchi holat
16.9 rasmda
keltirilgan. “A” xost ketma-ket ikkita segmentni yubormoqda,
ulardan birining tartib raqami 92 va 8-bit bo‘lib, ikkinchi segment tartib raqami 100 va 20-bayt
ma’lumotni ushlaydi. Tasavvur qilamiz, ikkala segment “V” xostda muvaffaqiyatli qabul qilindi,
ularga ikkita tasdiq generatsiya etilib ularning raqamlari 100 va 120 holda tasdiqlandi.
Hisoblaymizki, bu ikkala tasdiqdan birortasi ham kutish intervalining tugashi oralig‘ida yetib
kelmadi. Bu holatda “A” xost qaytadan 92- raqamli segmentni qayta yuborib, taymerni ishga
tushiradi. Bunda “A” xost ikkinchi segment tasdiqsini olib, yangi kutish tugash intervali
tugamaguncha, ikkinchi segmentni qayta yuborishni amalga
oshirmaydi.
16.9-rasm. 100-tartib raqamli segmentni yuborish amalga oshirilmagan holat.
16.3.5.
TCP ulanishni boshqarish.
60
TCP ulashni o‘rnatish tartibi kutish vaqtininig ma’lum darajada oshirishga qodir (misol
uchun, WEB-navigatsiyalashda).
16.10-rasm.
TCP protokolida uch tomonlama “qo‘l siqish”da segmentlar almashinuvi.
Biror bir mijoz (klient) xost jarayonini amalga oshirayotganida, jarayon bilan ulanishni
boshqa xost (server) orqali tashabbus qiladi. Boshida mijoz ilovasi TCP-mijozni xabarlab, zudlik
bilan server bilan TCP ulanishni o‘rnatilishi kerakligini bildiradi. TCP-mijoz TCP-ulanishni
quyidagi ko‘rinishda boshlaydi.
Mijoz tomonidagi TCP server tomonga maxsus segmentni yuboradi, bu segmentda ma’lumot
bo‘lmaydi. SYN bayroq, ushbu segmentning bosh sarlavhasida joylashgan bo‘lib o‘rnatilgan,
shuning uchun ushbu segmentni SYN- segmenti deyiladi. Mijoz tomonidan boshlang‘ich tartib
raqami o‘rnatiladi va uni SYN-segment maydonida tartib raqam bilan joylashtiradi. SYN-segment
IP- deytagramm bilan tuzilgan holda serverga jo‘natiladi. Qachonki IP-deytagramma SYN-segmenti
bilan server xostiga yetib borganda (agar yo‘qolish bo‘lmasa) uni ichidan SYN-segmentni ajratib
oladi, so‘ng bufer tashkil etadi va o‘zgaruvchan ulanish uchun, keyingi mijozga segmentni
yuboradi,unda TCP-ulanish ajratilishi haqida xabar beradi. Bu segment ham amaliy ma’lumotlar
ushlamagan bo‘lib, lekin uning bosh sarlavhasi kerakli ma’lumotga ega. Birinchidan, SYN bayrog‘i,
oldingi segmentga o‘xshab, 1-raqam o‘rnatilgan. Ikkinchidan, tasdiqlovchi maydon clentjsn+1
raqamini ushlaydi. Oxirida, server tartib raqam maydoni, o‘zining boshlang‘ich serverjsn tartib
raqamini ko‘rsatadi. Agar xostlar so‘zlar orqali muloqat qila olganida, unda ikkinchi segment tarkib
ichi ehtimoli, quyidagi ko‘rinishda bo‘lardi: “Men sizning SYN-segmentingizni oldim, iltimos siz
bilan TCP-ulanishni tashkil etsak, boshlanish tartib raqami clientjsn bilan bo‘lib. Men sizning
iltimosingizni qoniqtirishga tayyorman. Mening boshlang‘ich tartib raqamim serverjsn. Ba’zi
vaqtlarda ikkinchi segmentni SYNACK-segmenti deyiladi.
61
SYNACK-segmenti qabul qilib , mijoz xotira ajratadi va bufer uchun o‘zgaruvchan TCP
ulanishdan so‘ng serverlarga segmentni jo‘natadi. SYNACK segmentini qabul qilinganligini
tasdiqlovchi maydonga SERVERJSN+1 raqami joylashadi. Chunki ulanish o‘rnatilib bo‘lganligidan
kelib chiqib SYN – segment 0 raqami tashlaydi. Yuqori qadamlarni amalga oshirilgandan so‘ng ,
mijoz va server ma’lumotlarni bir biri bilan almashinishga tayyor hisoblanadi. Qolgan barcha
keyingi segmentlarda bayroq SYN teng 0 qiymatda bo‘ladi. TSP – ulanish jarayoni16.10 rasmda
ko‘rsatilgan. Ushbu jarayonda shunchaki mijoz va server 3 ta segment bilan almashiniladi, bazi
hollarda bunday ulanishni o‘rnatilishini “3 tomonlama qo‘l siqish” xam deyiladi.
16.11-rasm TCP - ulanishning yopilishi.
TCP – ulanishning yopilish tartibi deganda xotirani ozod etilishi tushuniladi, ya’ni bufer
uchun ajratilgan va o‘zgaruvchan, bu hohlagan tomon tashabbusi bilan amalga oshirilishi mumkin.
16.11-rasmda TCP ulanishni yopilishi ko‘rsatilgan bo‘lib, tashabbus mijoz tomondanligi ko‘rinib
turibdi. Mijoz jarayoni ulanishini yopish buyrug’ini generatsiya qilib, natijada TCP- mijoz maxsus
segmentni yuborishga olib keladi. Bu segmentning bosh sarlavhasida FIN bayrog‘iga 1 o‘rnatilgan.
Ushbu segment ma’lumotni olishi bilan server buni tasdiqlab beradi. So‘ng server mijozga
tugatuvchi segmentni yuborib , unda FIN bitga xam 1 o‘rnatilgan, o‘z navbatida ushbu
segmentni qabul qilganligini mijoz hamtasdiqlaydi. Shundan so‘ng ulanishning barsa resurslari
ikkala tomondan ozod etiladi.
TCP – ulanishning yashash davarida har bir tomonga o‘zgaruvchan TCP – holat ketma
ketligi to‘g‘ri keladi. 16.12-rasmda odatdagi TCP – holatining mijoz tomonidagi ketma ketligi
62
keltirilgan.
16.12-rasm. TCP mijoz holatining odatdagi ketma ketligi.
Mijoznng birinchi holati CLOSED holati bo‘lib, bu holatda mijoz ilovasi bilan TCP ulanish
ko‘rinishi bo‘lib, soket tuzilishini hosil qiladi. Mijoz tomoni TCPsi , server tomonga SYN segmntini
yuborib va SYN SET holatiga o‘tadi. Bu holatda u serverdan SYNASK segmenti SYN bitga 1
o‘rnatilganligini. javobini kutadi, qachonki SYN bitga 1 o‘rnatilganligini. SYNASK – segmentini
qabul qilib, mijoz ESTABLISHED holatiga kiradi va bu holatda segmentlarni amaliy satx holatida
bo‘ladi.
16.13-rasm.TCP serverninng odatdagi ketma ketlik holati.
|