10.07.2015 Views

10 - FER

10 - FER

10 - FER

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Uvod U današnje nje doba računala suumreženaena– Korištenje mrežnih resursa (printeri, …)– Web (HTTP, HTTPS)– Elektronička ka pošta (POP3, IMAP, SMTP)– Razmjena datoteka (FTP, P2P, …)– Rad na udaljenom računalu unalu (ssh(ssh, …) Internet


Protokoli mrežnog sloja Nužnost: računala međusobnomoraju moći i komunicirati! Danas dominantno: IP protokol Svako računalo ima svojujedinstvenu IP adresu IP protokol prenosi pakete “viših”protokola od jednog računala dodrugog (zahvaljujući i IP adresama)


Protokoli mrežnog sloja Koja je IP adresa Vašeg računala? Na Windowsima– Otvorite Command Prompt– Zadajte naredbu ipconfig– PotražiteLocal area connection (ili kakose već spajate na Internet)


Protokoli mrežnog sloja


Protokoli mrežnog sloja Koja je IP adresa Vašeg računala? Na Linuxu– Otvorite terminal– Zadajte naredbu ip addr sh– Potražite eth0, ppp0 (ili kako se većspajate na Internet)


Protokoli mrežnog sloja


Protokoli mrežnog sloja IP protokol možemo gledati kao“tačke Interneta”– Prijenos podataka bilo kojeg računala unala naInternetu do bilo kojeg računala naInternetu; neovisno o zemljopisnompoložaju, državi, gradu i sl.– Ali ništa više! IP protokol ne razlikujeaplikacije!


Protokoli mrežnog sloja IP od računala do računala prenosipodatke – “teret” IP ne tumači što je taj teret– Tipično, to su podaci protokola višihihslojeva o kojima IP ne zna ništa!


Protokoli prijenosnog sloja Kako bi se omogućila komunikacijaaplikacija – aplikacija, , koriste seprotokoli prijenosnog sloja Danas tipično TCP ili UDP Ovi protokoli u pakete dodaju dvijevažne informacije: izvorišniport iodredišniport Za prijenos poruka koriste IP


Protokoli prijenosnog sloja Ovi protokoli također omogućavajuprijenos korisničkog kog tereta, i pritome:– UDP: ne nudi nikakve garancije– TCP: nudi uslugu pouzdanog prijenosapodataka


Model klijent-posluposlužitelj Najjednostavniji model mrežneaplikacije jest model klijent –poslužitelj– Klijent je aplikacija koja traži i određeneusluge– Spaja se na poslužitelj na unaprijeddefinirani port, šalje zahtjeve, i čeka naodgovore


Model klijent-posluposlužitelj Pri tome, ovisno o korištenomprotokolu, klijentu i poslužitelju semože e garantirati sigurna isporukaporuka (TCP), ali i ne mora (UDP; štotada?)


Model klijent-posluposlužitelj Jedan od najpoznatijih primjeraprimjene UDP-a a i modela klijent –poslužitelj: DNS protokol– Razrješava ava simboličko ime računala u IPadresu Probajte u konzoli upisati:nslookup java.zemris.fer.hr


Model klijent-posluposlužitelj Važno zapamtiti!– Na jednom računalu unalu može e biti višeposlužitelja (aplikacija), ali svakiposlužiteljčeka na svojem portu!– Portovi manji od <strong>10</strong>24 mogu se koristitisamo uz posebne dozvole (primjerice, tomože root ili Administrator)


Model klijent-posluposlužitelj Konkretne implementacijekomunikacijskih protokola nudi samoperacijski sustav Aplikacije od OS-a a traže “pristupnutočkuku” (socket)) kroz kojišalju/primaju podatke


UDP protokol UDP protokol između klijenta iposlužiteljašalje pakete– Paket je najmanja jedinica podatakakoja se šalje– Da bi poslali UDP paket, trebamo zadatiIP adresu i port odredišta (komešaljemo?) te IP adresu i port pošiljatelja(tko šalje?)


UDP protokol Napravimo klijent temeljen na UDP-ukoji od poslužitelja zahtjeva citat Pri tome možemo tražiti obične citate(besplatno) ili Einsteinove citate (uznaplatu: jedan citat, jedna kuna) Protokol je opisan u nastavku


UDP protokol Zahtjev za citatom: Naredba je: QUOTE


UDP protokol Odgovor na zahtjev za citatom:


UDP protokol U Javi, sve potrebno nalazi se ujava.net paketu Paket koji se šalje modeliran jerazredom DatagramPacket:DatagramPacket(bytebyte[]buf, int len)


UDP protokol Paketu je potrebno zadati i IP adresuračunala kojemu šaljemo paket, iport (setAddress(…),setPort(…)) Ovo će e biti rečeno eno na predavanju! Za dobivanje primjerka razredaInetAddress može e se koristiti poziv:InetAddress.getByName(“imeIliIPimeIliIP”)


UDP protokol Pristupnu točku za ovaj protokolmodelira razred DatagramSocket Napišimo imo klijenta i isprobajmo to! Poruka se šalje metodom send, , aprima metodom receive


UDP protokol Za Einsteinove citate potrebno se jelogirati Zahtjev (id=3) prikazan je unastavku Ako je logiranje uspješno, dobije seključ (paket id=4) Ako je logiranje neuspješno, no, dobijese pogreška (paket id=5)


UDP protokol


UDP protokol Jednom kada smo logirani i imamoključ, , možemo poslati zahtjev zacitatom (id=6) koji obaveznosadržava ava ključ! ! Naredba je “SMARTQUOTE” (bez navodnika)


UDP protokol Odgovor će e biti citat (id=7) ili uslučaju nastupa pogreškeodgovarajuća a poruka (id=2) Nakon logiranja, , ključ vrijedi <strong>10</strong> s


UDP protokol


TCP protokol Koriste se:– ServerSocket za poslužiteljsku stranu– Socket za klijentsku stranu Socket ima metode za razmjenuporuka (uočite– ne paketa!)– getInputStream()– getOutputStream()


TCP protokol Kao primjer napišimo imo jednostavanHTTP poslužitelj Protokol će e detaljno biti objašnjen nasatu


HTTP zahtjevNpr. za URL: http://localhost:6677/dir1/index.htmlGET /dir1//dir1/index.htmlindex.html HTTP/1.1Host: localhost:6677User-Agent: Mozilla/5.0 … Firefox/2.0.0.3Accept: */*Accept-Language: en-us,hr;qus,hr;q=0.7,en;q=0.3Accept-Encoding:gzip,deflateAccept-CharsetCharset: : ISO-88598859-1,utf-8;q=0.7,*;q=0.7Keep-Alive: 300Connection: keep-alive


HTTP odgovorNpr. za URL: http://localhost:6677/dir1/index.htmlHTTP/1.1 200 OKContent-LengthLength: : 76831Content-TypeType: text/html…

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!