Računarske mreže Čas 2 Ivana Tanasijević Matematički fakultet, Beograd 1

Слични документи
Microsoft PowerPoint - vjezbe_04.ppt

Uvod u Python

Повезивање са интернетом

Računarski praktikum I - Vježbe 09 - this, static

PowerPoint Presentation

PowerPoint Presentation

DIGITALNA OBRADA SLIKE

DIGITALNA OBRADA SLIKE

Rad u mrežnom okruženju Osnove informatike s primjenom računala

Microsoft Word - CCERT-PUBDOC doc

JMBAG Ime i Prezime Mreže računala Završni ispit 16. veljače Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i službeni šalabahter.

Mrežno računarstvo

DIGITALNA OBRADA SLIKE

POSLOVNI INFORMACIONI SISTEMI I RA^UNARSKE

Microsoft Word - DNS_DHCP.doc

Повезивање са интернетом

Računarski praktikum I - Vježbe 07 - Podstrukture, const, reference

SVEUČILIŠTE U ZAGREBU FAKULTET ORGANIZACIJE I INFORMATIKE V A R A Ž D I N Kristijan Perković Mrežna igra Potapanje brodova u programskom jeziku C++ ZA

Funkcije predavač: Nadežda Jakšić

Microsoft Word - IWT0906R.doc

Microsoft PowerPoint - MR - Vjezbe - 03.ppt [Compatibility Mode]

PowerPoint Template

Generated by Foxit PDF Creator Foxit Software For evaluation only. Operativni sistem U računarstvu, operativni sistem (OS

PowerPoint Presentation

Računarske mreže i mrežne tehnologije 10. termin 1. TRANSPORTNI SLOJ Transportni sloj nije još samo jedan od mnogih slojeva jer je njegova uloga sama

Писање и превођење модула

Microsoft PowerPoint - 06 Uvod u racunarske mreze.ppt

Microsoft PowerPoint - 01 Uvod u operativne sisteme.ppt

Упутство за коришћење АМРЕС FileSender услуге

Dijagrami sekvenci

Programiranje za UNIX Okruženje unix procesa

Mrežno računarstvo

Računarski praktikum I - Vježbe 03 - Implementacija strukture string

Programiranje u C-u ili C++-u Pseudo-slučajni brojevi; Dinamička alokacija memorije 1 ZADACI SA ČASA Zadatak 1 Napraviti funkciju koja generišlučajan

(Microsoft PowerPoint - Uvod u ra\350unarstvo i informacione tehnologije)

Web programiranje i primjene - Osnovni pojmovi WEB tehnologije korišteni u kolegiju

UNION Banka DD Sarajevo Tel.: Dubrovačka br Sarajevo, Bosna i Hercegovina Fax:

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br

NAPOMENA: Studenti na ispit donose kod urađenog zadatka

Припејд картица Корисничко упутство

Microsoft Word - IP_Tables_programski_alat.doc

Funkcije predavač: Nadežda Jakšić

Upute za instaliranje WordPressa 1.KORAK Da biste instalirali Wordpress, najprije morate preuzeti najnoviju verziju programa s web stranice WordPressa

eredar Sustav upravljanja prijavama odjelu komunalnog gospodarstva 1 UPUTE ZA KORIŠTENJE SUSTAVA 1. O eredar sustavu eredar je sustav upravljanja prij

Uputstvo za korišćenje Mastercard Identity Check usluge Uputstvo za korišćenje Mastercard Identity Check usluga sigurnijeg plaćanja na internetu

Препоруке безбедности мрежних сервиса Copyright 2015 АМРЕС

PowerPoint Presentation

Upute-podesavanj -accounta

PowerPoint Presentation

Programski jezici i strukture podataka 2018/2019. Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijsk

Ethernet lokalna mreža

Za formiranje JOPPD obrasca neophodno je točno popuniti šifre u osnovama primitaka. Svaka osnova primitka ima propisane šifre u prilozima JOPPD

Kako postupiti u slučaju prekida internet veze i nemogućnosti fiskaliziranja računa? U slučaju da dođe do prekida internet veze fiskalizacija računa n

KORISNIČKO UPUTSTVO Online ekspozitura - krediti 05/19 C-EBKWU-02

Internet

Terminski_plan_rada

Microsoft Word - pravila RTGS-precišcen tekst2007 (2).doc

Microsoft PowerPoint - 12-Funkcije_1.ppt [Compatibility Mode]

Kvantna enkripcija

PowerPoint Presentation

_Outlook

KORISNIČKE UPUTE APLIKACIJA ZA POTPIS DATOTEKA

Microsoft PowerPoint - PRI2014 KORIGOVANO [Compatibility Mode]

Uvod u računarstvo 2+2

CRNA GORA ZAVOD ZA STATISTIKU S A O P Š T E NJ E Broj: 282 Podgorica, 1 novembar god. Prilikom korišćenja ovih podataka navesti izvor Upotreba i

CL2001R1206HR bi_cp 1..1

Microsoft Word - MySQL_3.doc

XHTML 2.0 and HTML 5

Document ID / Revision : 0419/1.1 ID Issuer Sustav (sustav izdavatelja identifikacijskih oznaka) Upute za registraciju gospodarskih subjekata

RA

ISPITNI ZADATAK iz Softverskog inženjerstva Filip Nikšić 7. rujna 2009.

Stiforp uputstvo za isplatu - Kako Zaraditi Novac

User's Manual

PowerPoint Presentation

PowerPoint Presentation

Упутство за пријављивање испита путем интернета Да би студент могао да пријави испит путем интернета мора прво да се пријави. Пријављивање се врши у п

OVO JE ZVANIČAN RCUB TEMPLATE: Normal

IEP - Projekat 2018/2019

Microsoft PowerPoint - 07-DinamickeStrukturePodataka

Pravilnik o načinu i uvjetima sprječavanja i suzbijanja zlouporaba i prijevara u pružanju usluga elektroničke pošte

Korisničko uputstvo za uslugu ClickPay u Internet bankarstvu KJKP Toplane Sarajevo 1. OPIS USLUGE Usluga ClickPay omogućava prijem unaprijed popunjeno

УПУТСТВО ЗА КОРИСНИКА Приступ локацији часописа Српски архив за целокупно лекарство добија се преко internet adrese: Након

Microsoft Word - Tehnicka uputstva lica doc

UPUTSTVO ZA PODEŠAVANJE MOBILNIH UREĐAJA ZA MMS

Dodatne usluge za VOIP priključak:

Tutoring System for Distance Learning of Java Programming Language

Računarski praktikum II - Predavanje 03 - Apache Web server

CRNA GORA ZAVOD ZA STATISTIKU S A O P Š T E NJ E Broj: 295 Podgorica, 31. oktobar godine Prilikom korišćenja ovih podataka navesti izvor Upotreb

Microsoft Word - 13-Mreze.doc

Programiranje II Beleške sa vežbi Smer Informatika Matematički fakultet, Beograd Sana Stojanović 1

VNLab

OBAVIJEST PZZ KORISNICIMA Poštovani korisnici programskog rješenja Last2000. Za Vas smo pripremili sljedeće novosti u programu: NOVOSTI

Introduction to Programming

Microsoft Word - WLA-5200AP_QSG_HRV_7modes_1.doc

Postavka 2: Osnovni graf algoritmi 1 DISTRIBUIRANI ALGORITMI I SISTEMI Iz kursa CSCE 668 Proleće 2014 Autor izvorne prezentacije: Prof. Jennifer Welch

Прилог 8 ДОДАТНЕ УСЛУГЕ У ОКВИРУ IPS НБС СИСТЕМА Уводне одредбе 1. Народна банка Србије учесницима пружа додатне услуге у оквиру инфраструктуре IPS НБ

Primenjeno programiranje - Vežbe

Microsoft PowerPoint - 13-Funkcije_2.ppt [Compatibility Mode]

Транскрипт:

Računarske mreže Čas 2 Ivana Tanasijević e-mail: ivana@matf.bg.ac.rs Matematički fakultet, Beograd 1

Utvrđivanje gradiva sa prethodnog časa: popunjavanje adresne strukture, kreiranje soketa, privezivanje soketa, slanje i prihvatanje paketa. 2

UDP protokol 3

UDP protokol Server pravi UDP soket, popunjava adresnu strukturu informacijama o adresi na kojoj želi da prima pakete, privezuje soket za tu adresu. Klijent pravi UDP soket i popunjava adresnu strukturu informacijama o serveru. UDP soket se kreira socket funkcijom tako što se za tip konekcije postavlja SOCK_DGRAM. Klijent i server ne ostvaruju konekciju, već na dalje šalju jedan drugome pakete navodeći svaki put adresu onoga kome šalju paket. U tu svrhu koriste funkcije sendto i recvfrom Primeri: echo1, daytime1

Gubitak paketa Ako paketi poslati od klijenta ne stignu do servera, klijent će ostati blokiran u recvfrom pozivu. Isto će se desiti i ako server primi pakete, ali odgovor ne stigne do klijenta. Može se postaviti vreme koje će klijent da čeka. Međutim, nije isto da li je nastupila prva ili druga situacija. Primer je transfer novca.

Verifikovanje primljenog odgovora Kada klijent pošalje paket serveru, svako ko zna efemeralni port klijenta može mu odgovoriti, a ne samo izabrani server. Kako se zaštititi od primanja odgovora od bilo koga? Potrebno je da klijent alocira novu adresnu strukturu i da pokazivač na nju prosledi funkciji recvfrom. Tada će se ona popuniti podacima o onom ko je poslao paket. Proverom veličine te adresne strukture i sadržajem funkcijom memcpy, može se dobiti odgovor. Međutim, ovo radi samo ako je server privezao svoj soket za specifičnu IP adresu i port, odnosno ako nije koristio džoker konstantu, u suprotnom verifikacija može biti neuspešna.

Verifikovanje primljenog odgovora Na primer, klijent za slanje koristi adresu koja nije primarna za dati host. Dok kernel na strani servera, za slanje bira primarnu adresu na tom hostu. Jedno rešenje je da klijent proverava ime domena datog hosta, koristeći DNS, umesto da proverava IP adresu. Drugo rešenje je da UDP server kreira po jedan soket za svaku IP adresu na datom hostu, priveže svaki od njih za po jednu adresu, i potom pomoću select funkcije prihvata pakete od klijenata. Kako se na ovaj način svaki paket prihvata preko adrese koja je privezana, to će i odgovor ići preko te adrese.

Ako server nije pokrenut U ovoj situaciji, klijent koji je poslao paket, može da ostane blokiran u recvfrom funkciji čekajući odgovor. Ona nema načina da utvrdi da li je server uopšte dostupan ili ne. Komandom tcpdump možemo da pratimo slanje paketa. Ako pokrenemo tcpdump, zatim i program klijent, u jednom trenutku će se pojaviti poruka: - udp port xyz unreachable Ovakva greška se naziva asinhrona. Ona je prouzrokovana pozivom sendto, ali sendto se uspešno vratila u klijent program.

Asinhrone greške Ovakve asinhrone greške se vraćaju u proces ako se koristi funkcija connect. Funkcija connect asocira soket sa informacijama iz adresne strukture koja joj je prosleđena. Kernel samo čuva IP adresu i port, koji su prosleđeni adresnom strukturom, i vraća se odmah u proces. Razlike su u sledećem: - ne moramo na dalje precizirati adresu servera, možemo da koristimo I funkcije koje nemaju kao argumente adresne strukture, kao što su write ili send, umesto sendto - ne moramo koristiti recvfrom, već možemo read ili recv; ovo nas ograničava da možemo primati pakete samo sa te jedne adrese - asinhrone greške se vraćaju u proces.

Pozivanje connect više puta Kada se connect pozove, može se komunicirati samo sa parom čiju smo adresu naveli (bilo da smo pozvali iz servera ili klijenta). Ako želimo samo da obrišemo adresu koju je kernel zapamtio, odnosno da diskonektujemo soket, pozivamo connect sa konstantom AF_UNSPEC na mesto familije adresa. Funkcija connect će vratiti grešku EAFNOSUPPORT i to je u redu, jer će soket biti diskonektovan. Ako želimo da promenimo IP adresu sa kojom komuniciramo, potrebno je da diskonektujemo soket i ponovo da pozovemo connect sa tom novom adresom. Primer: echo2

Primer: Pozivanje connect kod UDP int count; /* Duzina poruke. */ struct sockaddr_in address; /* Adresa klijenta. */ socklen_t length; /* Duzina gornje adrese. */ /* Ucitava se poruka. */ if ((count = recvfrom (server, bufer, BUFFER_SIZE, 0, (struct sockaddr *) &address, &length)) < 0) error_fatal ("%s recvfrom() error\n", program); /* Prosledjuje se adresa kernelu. */ length = sizeof (address); if (connect (server, (struct sockaddr *) &address, length) < 0) error_fatal ("%s connect() error\n", program); /* Brise se adresa. */ address.sin_family = AF_UNSPEC; if (connect (server, (struct sockaddr *) &address, length) < 0) error_fatal ("%s connect() error\n", program);