Udp (User Datagram Protocol foydalanuvchi datagrammasi protokoli) ip-bogʻlanish qilmasdan, tarmoq orqali maʼlumot joʻnatish transport protokoli. Osi modeli bosqichining eng oddiy protokoli hisoblanadi


Download 105.02 Kb.
Sana24.03.2023
Hajmi105.02 Kb.
#1292063
Bog'liq
kurs ishi




Urganch axborot texnologiyalari texnikum Dasturiy injinering 02-22 guruh talabasi Bozorboyeva Azizaning "Tarmoq dasturlash" fanidan "Windows operatsion tizimida tarmoq dasturlarini yaratishda UDP protokolidan foydalanish" mavzusida tayyorlagan
KURS ISHI

O'quvchi:_____________________ ____


(F J S H ) (Imzo)
O'qituvchi:_________________________ ____
(F J S H ) (Imzo)

Windows operatson tizimida tarmoq dasturlarini


yaratishda UDP protokolidan foydalanish
REJA:
1.UDP rotokollar stekining UDP protokollari
2. Windows operatsion tizimi kutubxonasi
3. Windows operatsion tizimida socketlar bilan ishlash
4. Dastur kodi



UDP rotokollar stekining UDP protokollari


UDP (User Datagram Protocol — foydalanuvchi datagrammasi protokoli) — IP-bogʻlanish qilmasdan, tarmoq orqali maʼlumot joʻnatish transport protokoli. OSI modeli bosqichining eng oddiy protokoli hisoblanadi. TCP operatsion tizimi farqli ravishda u joʻnatilgan maʼlumotlarni yetib borishini taʼminlab bermaydi. UDP joʻnatilgan paketlarni yetib borgan yoki yetib bormaganligi haqidagi soʻrovni amalga oshirmaydi. Buni natijasida paketlar yoʻqolishi vujudga kelishi mumkin. UDP protokolining tezligi katta, agar bu protokolga ham TCP protokoliga oʻxshash soʻrovnoma xizmati qoʻshilsa uning tezligi katta hajmdagi maʼlumotlarni yuborish uchun yetarli boʻlmas edi. UDP protokilidagi paketlar yoʻqotilishi deyarli sezilmaydi, chunki katta hajmdagi video axborot ichidan mikro sekundlar yoʻqolganini inson koʻzi ilgʻamaydi. UDP protokoli katta hajmdagi maʼlumotlarni uzatishga moʻljallangan boʻlib, asosan togʻridan-toʻgʻri translyatsiyalarni, jonli efirlarni va katta hajmdagi video maʼlumotlarni yuborish uchun foydalaniladi.
UDP operatsion tizimining asosiy vazifasi-bu yuqori qavatdagi protokollardan ma’lumotlarni olish va ularni UDP xabarlarida joylashtirish, so’ngra uzatish uchun IP-ga o’tkaziladi. Quyida keltirilgan ma;lumotlarni uzatish uchun ba’zi bir aniq qadamlar bajariladi. Yuqori qatlamli ma’lumotlarni uzatish-ushbu bosqichda dastur orqali UDP dasturiy ta’minotiga xabar yuboriladi. UDP xabarlarini inkopsulyatsiyasi-xabarning ma’lumotlar maydoniga inkopsulyatsiyasini o’z ichiga oladi. UDP xabarining sarlavhalari manba port maydoni va maqsad port maydoni bilan birga qo’shiladi.
Tarmoqqa ulangan, doimiy ishlaydigan va tarmoqning turli xizmatlarini bajaradigan, kampyuterga SERVER deyiladi. Server tarmoqdagi ma`lumotlarni saqlaydi, tarmoqning boshqa nuqtalariga uzatiladi va asosiy xizmati - foydalanuvchilarni internetga ulaydi. UDP severining vazifasi ham shundan iborat. Client server ga ma’lumot yuboradi va server uni ko`rib chiqib client ga javob jo’natadi.
Windows operatsion tizimi kutubxonasi
Windows sockets API (WSA) nomi Windows qisqartirilgan. Bu windows tarmoq dasturlar tarmoq xizmatlariga, jumladan TCP/IP protokolida socket dan qanday foydalanishni belgilaydigan texnik xususiyatdir. U mijoz (Cleant) ilovasi va tashqi TCP/IP protokollar sekli o`rtasidagi uskunalar interfeysni belgilaydi. U dasturlar o’rtasida aloqa o`rnatish uchun BSD tomonidan ishlatiladigan Bekliy socket modeliga asoslandan. Winsock kutubxonasidan foydalanish uchun dastur kodiga # include yoki # include qaysi Winsock versiyasidan foydalanayotganingizga qarab fayllarni va # programma comment (library “w$2_32”) ifodasini kiritish kerak bo’ladi.
Yuqorida aytilgandek tartibda kutibxona qo`shilgandan keyin
Winsock kutubxonasi funksiyalardan xavfsiz foydalanishimiz mumkin bo`ladi:
int nres;WSaDATA;
nres=WSASTartup(MaKeWORD)
(2,2) (&wsa Data), if (nres !20)

WSAStartup funksiyaning MAKEWOKD (2,2) parametri tizimida Winsock kutubxonaning 2.2- versiyasiga so`rov yuboradi va o`tgan versiyani chaqirib foydalanish mumkin bo’lgan. Windows Sockets qo`llab - quvvatlashning eng yuqori versiyasi sifatida o`rnatadi. WSADATA qurilmani windows sockets ilovasi haqida ma`lumotni o`z ichiga oladi. Shunday qilib biz Winsock kutubxonasida asosiy aloqa vositasi soketni yaratamiz. Winsock API nuqtai nazardan socket ga ma`lumotni qabul qilish yoki yuborish mumkin bo’lgan tutqidir. Biz ma’lum socket yaratamiz va undan ulangan ma’lumotni qabul qilish uchun foydalanamiz. Socket ni yaratishda biz uning parametrlarini yaratishimiz kerak. Socket TCP/IP protokoli yoki IPx protokildan foydalaniladi.


Windows operatsion tizimida socketlar bilan ishlash
Socket dasturiy ta`minot server va mijoz kampyuterlari deyiladi. Socket dasturlash - bu TCG/IP tarmoqlarida aloqaning asosiy tarmoqlari. Socket tarmog`ida ishlaydigan 2 ta dastur o`rtasida 2 tomonlama aloqaning bittasi socket, boshqa socket bilan ma`lumotni yuborish va qabul qilish uchun 2 tomonlama aloqa uchi o`rtasida mahalliy tarmoq yoki internet orqali ishlaydi, biroq ular bilan kompyuterlarda ishlash jarayonida ham foydalanish mumkin.
Socket-asosidagi dasturiy taminot odatda tarmoqdagi ikkita alohida kompyuterda ishlaydi, lekin socketlar mahalliy kompyuterda ( interprocess) bir kompyuterda muloqot qilish uchun ham ishlatilishi mumkin. Socketlar ikki tomonlama bo'lib, ulanishning har ikkala tomoni ma'lumotni jo'natish va olish imkoniga ega. Ba'zan muloqotni boshlaydigan dastur "mijoz" va boshqa dastur "server" deb ataladi, biroq bu atamalar o'zaro tenglashishga olib keladi va odatda ulardan qochishga to'g'ri keladi.
Soket interfeyslarini uch toifaga bo'lish mumkin:
1.Eng keng tarqalgan turdagi oqim socket lari ikki bog'lanuvchi tomon birinchi navbatda socket aloqasini o'rnatishni talab qiladi, undan so'ng ushbu ulanishdan o'tgan har qanday ma'lumot uni yuborilgan tartibda kelishi kafolatlanadi.
2.Datagram socket lari "ulanish o’matilmaydigan" semantika ni taklif qiladi. Datagramlar yordamida ulanishlar oqimdagi kabi aniq emas. Har ikkala paytga faqat kerak bo'lgan datagramlarni yuboradi va boshqasidan javob kutadi. Xabarlar yetkazishda yo'qolib ketishi yoki buyurtmalarni bekor qilsh mumkin.
3.Socket xom uyali -kutubxonaning TCP va UDP kabi standart protokollarini qo'llab-quvvatlaydi. Xom uyalar maxsus post darajali protokollar ishlab chiqarishda foydalaniladi.
Socket yaratishda xatolik bo’lsa funksiya INVALID_SOCKET qiymatini qaytaradi. Bunday xolda, kengaytirilgan xato ma’lumotlarini olish mumkin. Yaratilgan socketdan boshqa winsock mijozlar va boshqalar bilan muloqot qilish uchun foydalanishimiz mumnkin. Agar ulanishda xatolik bo’lsa funksiya SOCKET_ERROR qiymatini qaytaradi. Zamonaviy tarmoq prizlari alohida internet protokollariga-IP,TCP va UDP operatsion tizimlari bilan birgalikda ishlatiladi. Internet protokollari uchun socket larni ishlanadigan kutubxonalar TCP protokolini oqimlar uchun UDP va xom socket uchun IP protokolidan foydalaniladi.
Dastur kodi
#include

#include


#pragma comment(lib,"w2_32")
using namespace std;
int main(int argc, char*argv[]){
cout<<"UDP Echo Server Version 1.0"<int nres;
WSADATA wsaData;
nres=WSAStartup(MAKEWORD(2,2),&wsaData);
if(nres!=0){
cout <<"WSAStartup()error!"<return 0;
}
SOCKET s;
s=socket(AF_INET,SOCK_DGRAM,0);
if(s==INVALID_SOCKET){
cout<<"INVALID_SOCKET,socket()"<return 0;
}
WORD nPort=8001;
struct sockaddr_in addr;
addr.sin_family=AF_INET;
addr.sin_port=htons(nPort);
addr.sin_addr.s_addr=htonl(INADDR_ANY);
nres=bind(s,(struct sockaddr*)&addr,sizeof(addr));
if(nres==SOCKET_ERROR){
cout<<"SOCKET_ERROR,bind()"<return 0;
}
cout<<"Waiting for connection..."<char pBuf[120];


memset(pBuf,0,sizeof(pBuf));
int nFromlen=sizeof(addr);
nres=recvfrom(s,pBuf,sizeof(pBuf),0,(struct sockaddr*)&addr,&nFromlen);
if(nres==SOCKET_ERROR){
cout<<"SOCKET_ERROR,recvfrom()"<return 0;
}
cout<<"Connected with IP"<cout<<"Recieved message:"<
cout<<"Sending Message..."<nres=sendto(s,pBuf,sizeof(pBuf),0,(struct sockaddr*)&addr,sizeof(addr));
if(nres==SOCKET_ERROR){
cout<<"SOCKET_ERROR,sendto()"<return 0;
}
cout <<"Message is send,"<closesocket(s);
WSACleanup();
return 0;



Download 105.02 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling