16.2. UDP protokoli
UDP protokoli RFC 768 da keltirib izohlangan. Multiplekslash va
demultiplekslash jarayoni bilan bir qatorda, ba’zi kichik xatoliklarni tekshirish
bilan UDP protokoli afsuski xech qanday hostni IP adresini UDP segmentga
qo’shmaydi. Agar ilova yaratuvchilari TCP ni o’rniga UDP ni tanlashsa, UDP
ilova pog’onasidan xabarni qabul qilib oladi, xabarga uzatuvchi va qabul
qiluvchining port nomerini qo’shadi hamda segmentni tarmoq pog’onasiga uzatadi.
Transport pog’onasi tarmoq pog’onasi segmentini IP deytagrammaga joylashtiradi
va qabul qiluvchi hostga segmentni uzatadi. Qabul qiluvchi hostga yetib kelgan
segment, UDP protokoli segmentdagi qabul qiluvchi hostning port nomeridan
foydalanib ma’lumotni mos ilova uzatadi. Shuni aytish kerakki, segmentni
uzatishdan oldin, uzatuvchi va qabul qiluvchining transport pog’onalari o’rtasida
xech qanday aloqa o’rnatilgani haqida tasdiq yoki kelishuv bo’lmaydi. Shuning
uchun ham UDP oldindan aloqa o’rnatilmagan bog’lanish asosida ishlaydiki, xech
qanday ishonchlilikni kafolatlamaydi. TCP esa, oldin muhokama qilib otilganidek,
oldindan aloqa kanalini hosil qilib, shu aloqa kanali bo’ylab TCP segmentlarini
uzatadi, shuning uchun ham bu ishonchli aloqani qo’llab quvvatlaydi.
DNS - ilova pog’onasi protokoli, odatda u UDP dan foydalanadi. Hostdagi
DNS ilovasi so’rov (query) hosil qilishni amalga oshirsa, birinchi DNS so’rovi
hosil qilinadi va keyin UDP transportiga uzatiladi. Qabul qiluvchi tomon hostidagi
UDP bilan xech qanday aloqa o’rnatmasdan turib, UDP sarlavha qismini xabarga
qo’shadi va tarmoq pog’onasiga segmentni uzatadi. Tarmoq pog’onasi UDP
segmentini deytagrammaga o’zgartiradi va hosil bo’lgan deytagrammani DNS
serveriga uzatadi. So’rov uzatgan hostdagi DNS ilova, o’zini so’roviga javob
180
tasdig’ini kutadi. Agar u xech qanday javob tasdig’ini qabul qilmasa, boshqa DNS
serveriga so’rov uzatishga harakat qiladi.
Ba’zida ko’pchilik tarmoq foydalanuvchilari va ilova yaratuvchilari xayron
qolishadi, nima uchun jiddiy kamchiliklarga ega bu UDP protokolida ilovalar
xaligacha yaratiladi. UDP kafolatsiz ma’lumot uzatishni ta’minlaydi uning o’rniga
ilovalar uchun TCP har doim ishonchli ma’lumot uzatish xizmatini ta’minlashi
afzal emasmi? UDP uchun yaratilayotgan ilovalar soni ko’p hamda ilova
yaratuvchilari haliyam UDP protokolidan mamnun holda ilovalar yaratib
kelishmoqda, UDP ba’zi ilovalar uchun TCP qaraganda juda mos xisoblanadi,
quyidagi UDP ning avzalliklarini ko’rib chiqamiz:
UDP da qachon va qanday ma’lumot uzatilganligi yuzasidan ilova
pog’onasini nazorat qilish darajasi juda past. Ilovadan UDP ga
uzatilayotgan ma’lumotlar, UDP segmentiga joylashtiriladi va bu
segmentlar tarmoq pog’onasiga uzatiladi. TCP da esa, har bir
uzatilayotgan ma’lumot har doim nazarotda bo’ladi. Uzatuvchi va qabul
qiluvchi hostlar o’rtasida bir yoki bir nechta kanallarda ma’lumotlar
o’qimi haddan ziyod oshib ketganda, TCP da yuklanishni nazorat qilish
(congestion control) mexanizmi bo’lib, u orqali kanal oqimlar
boshqariladi, ya’ni boshqa kanallarning o’tkazuvchanlik qobiliyatidan
foydalanib oqim ma’lumotlari taqsimlanadi. Shuningdek, TCP qabul
qiluvchi hostdan uzatilgan ma’lumotlarni qabul qilganiligi haqidagi
tasdiqni (acknowledge) uzatuvchi hostga jo’natmagunicha segmentlarni
qayta uzataveradi. Real vaqtda ishlovchi ilovalar ko’pincha eng kam
uzatish tezligini talab qiladi va uzatilayotgan segmentni juda kechikib
ketishiga moslashmagan hamda kichik ma’lumot yo’qolishiga bardoshli
181
(tolerate). TCP xizmat modeli ilovalarning qo’yadigan bunday talablariga
mos kelmaydi.
UDP oldindan aloqa o’rnatilishini talab qilmaydi. TCP ma’lumotlarni
uzatishni boshlashidan avval, uch tomonlama aloqa o’rnatilganligi
haqidagi tasdiqni talab qiladi. UDP esa xech qanday oldindan aloqa
o’rnatilishini hamda xech qanday tasdiqni talab qilmasdan ma’lumotlarni
uzataveradi. Shuning uchun ham UDP da aloqa o’rnatish mobaynida
xech qanday kechikishlar sodir bo’lmaydi. Shu sababli DNS TCP ga
emas balki UDP ga asoslangan. Biroq DNS TCP ga asoslangan
bo’lganida, u juda sekin ma’lumot almashgan bo’lar edi. Masalan, HTTP
so’rovlari uchun UDP dan emas balki TCP dan foydalaniladi, sababi
matnli Web sahifalar uchun ma’umotlarni taqdim etish juda muhim va
ishonchli bo’lishi kerak. Shu sababli ham HTTP da TCP bog’lanish
o’rnatilishi kechikadi, asosan Web hujjatlar yuklab olinayotgan paytda.
Xech qanday aloqa davomiyligi saqlanmaydi. TCP ikki oxirgi terminal
o’rtasida aloqa kanalini talab qilingan muddatgacha saqlab turadi. Bu o’z
ichiga uzatish va qabul qilish buferlari, oqim yuklanishini nazorat
qiluvchi parametrlar hamda tasdiqni oladi. Bunday imkoniyatlarni UDP
taklif qilmaydi. TCP ga qaraganda UDP asosida yaratilgan ilovalarda
ko’proq faol foydalanuvchilar qo’llab quvvatlanadi.
Kichik paket sarlavhasiga ega. Har bir TCP segment sarlavhasi 20 bayt
axborotdan iborat bo’ladi va UDP segmenti sarlavhasi esa faqatgina 8
bayt.
Quyidagi rasmda (16.2-rasm) internet ilovalari va ular qaysi protokol
asosida ishlashi keltirilgan. Ko’rsatilganidek, e-mail, masofada joylashgan
terminalga chiqish imkoniyatini berish (remote terminal access), Web sahifalar
hamda fayllarni uzatish asosan TCP ga asoslangan. Bu barcha ilovalar ishonchli
ma’lumot uzatilishini talab qiladi. Biroq ko’pgina muhim ilovalar TCP ga emas
balki UDP ga moslab yaratilgan. Masalan, UDP dan RIP protokolida marshrutlar
182
jadvalini yangilab turish uchun foydalaniladi. RIP doimiy ravishda (odatda har 5
daqiqada) yo’qolgan ma’lumotlarni davomiy yangilash orqali qayta tiklaydi
shuning uchun ham marshrutlar jadvaliga muvofiq eskirgan va yo’qolgan
ma’lumotlar doim yangilanib turadi. Shu bilan birga, UDP dan tarmoqni
boshqarishga tegishli ma’lumot (simple network management protocol, SNMP)
larni tashish uchun ham foydalaniladi. Boshqarish jarayonida TCP ga qaraganda
UDP dan foydalanish maqsadga muvofiqdir. Masalan, tarmoqda ishonchlilikni
ta’minlash, ma’lumot oqimlari oshib borishini oldini olish, oshib borayotgan
oqimni nazorat qilish hamda stres holatdagi tarmoqlarda TCP dan foydalanish
orqali muvofaqqiyatga erishish juda qiyin. DNS serverlari uchun UDP dan
foydalanish orqali TCP da sodir bo’ladigan kechikishlarni oldini olish mumkin.
16.2.-rasm. Mashxur internet ilovalari va ularning quyi pog’onalar transport
protokollari
Rasmda keltirilganidek, UDP va TCP bugungi kundagi ko’p qo’llaniladigan
multimedia ilovalari uchun foydalaniladi, masalan Internet telefoniya, real vaqtda
183
video konferensiya va audio va video oqimlaridan foydalanish uchun. Bu ilovalar
kichik miqdordagi paketlar yo’qolishlariga bardoshli bo’lib, ular uchun ishonchli
ma’lumot uzatish muhim xisoblanmaydi. Shuningdek, real vaqt ilovalari uchun,
masalan internet qo’ng’iroq va video konferensiya jarayonida TCP protokolining
oqimlarni nazorat qilishi sababli ma’lumot yetib kelishi juda kechikib ketadi va
suhbat jarayonini real bo’lmasligiga katta ta’sir ko’rsatadi. Shu sabab bo’lsa kerak,
multimedia ilovala yaratuvchilari TCP ga qaraganda UDP ni afzal ko’rishadi.
Biroq, TCP dan ko’proq media oqimlarni uzatish uchun foydalanib kelinmoqda.
Masalan, birgina 2004 yilda qariyb 75% jonli va talab bo’yicha video (VoD,
Video-on-Demand) oqimlari uchun TCP dan foydalanilgan.
UDP segment strukturasini tahlil qilishdan oldin, shuni inobatga olishimiz
kerakki, barcha ilovalar uchun ishonchli ma’lumot uzatish mumkinmikan: ha, agar
har bir uzatilgan segment uchun tasdiq xabarini va yetib bormagan ma’lumot
uchun qayta uzatish talab qilinsa va bu talablarga to’liq xizmat ko’rsatish amalga
oshirilsa. Ammo, bu ishni amalda qo’llash juda qiyin bo’lib, uzoq vaqt davomida
xatoliklarni to’g’irlash bandlik davomiyligini oshib ketishiga olib keladi.
|