1 / 93

Aplikacioni nivo kod TCP/IP

Aplikacioni nivo kod TCP/IP. Aplikacioni nivo. Celokup ni Internet, hardver i softver, je projektovan i razvijen da obezbedi servise (usluge) na aplikacionom nivou.

morrison
Télécharger la présentation

Aplikacioni nivo kod TCP/IP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Aplikacioni nivo kod TCP/IP

  2. Aplikacioni nivo • Celokupni Internet, hardver i softver, je projektovan i razvijen da obezbedi servise (usluge) na aplikacionom nivou. • Na petom nivou skupa protokola TCP/IP (TCP/IP protocol suite) obezbeđuju se usluge Internet korisnicima. Ostala četiri nivoa namenjena su da učine te servise mogućim. • U toku dosadašnjeg životnog veka Interneta razvijen je veliki broj protokola na aplikacionom nivou. • Neki od njih je razvijen za specifične namene i nikada nije postao standard. • Određeni broj od tih protokola je prihvaćen, neki su modifikovani ili zamenjeni novim, a nekoliko njih je preživelo i postalo standard. • Novi aplikacioni protokoli konstantno se danas dodaju Internetu.

  3. Paradigme na aplikacionom nivou • Da bi se koristio Internet neophodna su dva aplikaciona programa koji međusobno interaguju: • - jedan od programa se izvršava na jednom računaru, koji se nalazi na jednom kraju sveta, • - drugi program se izvršava na drugom računaru koji može biti lociran bilo gde u svetu. • U toku rada aplikacioni programi između sebe šalju poruke koristeći infrastrukturu Interneta. • Pri tome je veoma važno razumeti kakav odnos postoji između ova dva programa, u sledećem smislu: Da li su oba aplikaciona programa u stanju da izdaju ili obezbeđuju usluge, ili aplikacioni programi obavljaju samo jednu od pomenutih usluga? • U tom pogledu, razvijene su sledeće dve paradigme, • klijent-server i • peer-to-peer (P2P).

  4. Klijent-server paradigma • Klijent-server je tradicionalna paradigma, kod koje pružaoc usluga, nazvan service provider, je aplikacioni program, koga zovemo server-proces, koji se izvršava neprekidno čekajući da drugi aplikacioni program, nazvan klijent-proces, ostvari vezu preko Interneta i zatraži opsluživanje. • Pri ovome, server-proces se izvršava bez prestanka u radu, dok se klijent-proces aktivira samo kada on zahteva opsluživanje.

  5. Primer klijent-server paradigme Primer klijent-server komunikacije kod koje tri klijenta komuniciraju sa jednim serverom i primaju servise koje obavlja taj server. Glavni problem kod ove paradigme predstavlja koncentracija komunikacionog i procesnog opterećenja na strani servera, što znači da server mora biti veoma moćna mašina. Tradicionalni servisi koji koriste klijent-server paradigmu su WWW, HTTP, FTP, e-mail, i dr.

  6. P2P paradigma Kod P2P paradigme ne postoji potreba da server-proces bude neprestano aktivan i da čeka klijent-procese kako bi se povezao. Odgovornost je podeljena između obadva nivoa (peers). Računar povezan na Internet može da pruža usluge u jednom trenutku i da prihvata usluge u drugom trenutku.

  7. IP model • Rad TCP/IP protokola transparentan je fizičkom-nivou i nivou-veze pa se zbog toga par TCP/IP može koristiti za rad Ethernet-a, FDDI-a ili Token Ring-a. • Adresa na nivou-veze odgovara fizičkoj adresi čvora kakva je: • IP adresa dodeljuje se svakom čvoru internet-a i koristi se da identifikuje lokaciju mreže i bilo koji od subnet-a. • MAC adresa (kod Ethernet ili Token Ring) ili • telefonskog broja (kod modemske veze).

  8. P2P paradigma P2P paradigma je skalabila i jeftina. Glavni problemi koji prate P2P su kreiranje bezbednih komunikacija između distribuiranih servisa i primenljivost ove aplikacije (sve aplikacije ne podržavaju P2P paradigmu). Tipične aplikacije za P2P su BitTorrent, Skype, IPTV, i Internet telefonija.

  9. Karakterisitke klijent-server paradigme Kod klijent-server paradigme komunikacija na aplikacionom nivou se ostvaruje između dva programa koji se izvršavaju, pri čemu se ovi programi nazivaju procesi: klijent i server. Klijent izvršava program koji inicira komunikaciju putem slanja zahteva, a server je drugi aplikacioni program koji čeka na zahtev od klijenta. Server prvo prihvata zahtev od klijenta, zatim priprema rezultat, i na kraju šalje rezultat nazad ka klijentu. Jedan server obično opslužuje veći broj klijenta. Životni vek servera je beskonačan, jer stalno čeka na zahteve od klijenata, dok je životni vek klijenta konačan, on šalje konačan broj zahteva ka odgovarajućem serveru, prima odzive, i stopira svoj rad.

  10. Aplikaciono-programski interfejs Osnovno pitanje koje se sada postavlja je sledeće: Na koji način klijent-proces komunicira sa server-procesom? Kada jedan proces komunicira sa drugim procesom potrebno je da postoji skup instrukcija koji će nižim četiri nivoa TCP/IP skupa protokola ukazati da otvore konekciju, predaju i primaju podatke od drugog kraja, i zatvore konekciju. Skup instrukcija ove vrste naziva se aplikaciono-programski interfejs (application programming interface - API). API sa tačke gledišta programiranja se vidi kao skup instrukcija između dve celine.

  11. Aplikaciono-programski interfejs– prod. Jedna od celina je proces koji se izvršava na aplikacionom nivou, a drugi je operativni sistem koji enkapsulira prva četiri nivoa skupa protokola TCP/IP. Proizvođač računara ugrađuje prva četiri nivoa TCP/IP protokola u operativni sistem, a posebno se instalira API, čime je obezbeđeno da rpocesi koji se izvršavaju na aplikacionom nivou mogu da komuniciraju sa operativnim sistemom putem slanja i prijema poruka preko Interneta. Postoji nekoliko API-a, a poznatiji su: socket interfejs, Transport layer interface, TLI, i STREAM. Mi ćemo analizirati samo socket interfejs.

  12. Socket interfejs • Socket interfejs predstavlja skup instrukcija pomoću kojih se ostvaruje komunikacija između aplikacionog nivoa i operativnog sistema . • Iste instrukcije se mogu koristit za čitanje i upis u socket. • Dodaju se samo nova izvorišta i odredišta u programski jezik, bez da se menja način na koji se podaci predaju ili primaju.

  13. Primenasocket-a • Ideja i uporedba socket-a sa drugim izvorištima i odredištima podataka Socket-i koriste isti način komuniciranja kao i druga izvorišta i odredišta podataka

  14. Socket-i • Kao jedna apstrakcija, socket predstavlja strukturu podataka koja se kreira i koristi od strane aplikacionog programa. • Komunikacija između klijent i server procesa predstavlja komunikaciju između dva socket-a. • Klijent misli da je socket celina koja prihvata zahtev i prosleđuje odziv, a server misli da je socket onaj koji izdaje zahtev, a potreban mu je odziv. • Ako se kreiraju dva socket-a, po jedan na svakom kraju, i korektno definišu odredišna i izvorišna adresa, moguće je koristiti dostupne instrukcij eza predaju i prijem podataka. • Ostatak odgovornosti je u nadležnosti operativnog sistema i skupa protokola TCP/IP.

  15. Socket adrese • Interakcija između klijenta i servera je dvosmerna. • Da bi se ostvarila dvosmerna komunikacija potrebne su dve IP adrese: lokalna od predajnika i udaljena od prijemnika. • Kod jednog istog računara lokalna adresa u jednom smeru (odlaznom) istovremeno predstavlja i udaljenu adresu u drugom smeru (dolaznom). • S obzirom da se klijent-server paradigma ostvaruje između dva socket-a, takođe za potrebe komunikacije potreban je par socket adresa: lokalna socket adresa i udaljena socket adresa.

  16. Socket adrese • Svaki računar povezan na Internet na jedinstven način je definisan svojom IP adresom. • Pri ovome, treba naglasiti da se po nekoliko klijent ili server procesa mogu isatovremeno izvršavati na istom računaru, što znači da nam je potreban dodatni identifikator kojim se specificira koji klijent ili srver učestvuje u komunikaciji. • Aplikacioni program se može definisati pomoću broja porta (port number), a to je 16-bitna celobrojna vrednost. To znači da socket adresa predstavlja kombinaciju IP adrese i port adrese. • Pošto se socket-om definiše komunikacija tipa end-to-end može se kazati da se socket-om identifikuje par socket adresa: lokalna i udaljena.

  17. Određivanje socket adrese Pitanje koje se sada postavlja je sledeće: Na koji način klijent i server definišu adrese za komunikaciiju? Na svakoj strani situacija je različita.

  18. Portovi i socket-i • Svakom hostu TCP pridružuje socket-broj i port-broj. • Čvor može da ima nekoliko TELNET veza koje imaju isti port-broj ali će svaka veza imati različit socket-broj. Port-broj identifikuje željeni servis, socket-brojpredestavlja jedinstveni broj za tu vezu.

  19. Standardni portovi • Port-broj može da prima bilo koju vrednost ali postoji dogovor (konvencija) koji se poštuje kod najvećeg broja sistema. • Standardne aplikacije uobičajeno koriste port vrednosti od 0-255, dok nespecificirane aplikacije mogu koristiti vrednosti iznad 255.

  20. Server strana Format i sadržaj internet datagrama Da bi komunicirao, serveru je potrebna lokalna (server) i udaljena (klijent) socket adresa: Lokalna socket adresa – ova adresa obezbeđuje se od strane operativnog sistema. Operativni sistem zna IP adresu računara na kome se izvršava server proces. Da bi se formirala socket adresa potrebno je IP adresi pridružiti port adresu. Ako je server proces standardan i definisan od strane Internet komisije za donošenje standarda, tada je i port broj takođe definisan. Tako na primer, port broj 80 je dodeljen HTTP-u i ne može se koristiit od strane drugih procesa. Ako server proces nije standardan, tada projektant server procesa može da izabere port broj (iz opsega brojeva dodeljenih od strane Internet komisije za standarde) i da ga dodeli procesu.

  21. Server strana Format i sadržaj internet datagrama Udaljena socket adresa – ova adresa za potrebe servera predstavlja socket adresu klijenta kojim server ostvaruje konekciju. S obzirom da server može da opslužuje veći broj klijenta, on unapred ne zna udaljenu socket adresu sa kojom treba da komunicira. Server određuje socket adresu kada klijent pokuša da se poveže sa serverom. Klijent socket adresa koja je sastavni deo paketa (request packet) poslat od klijenta prema serveru, prihvata se od strane servera kao udaljena socket adresa, na koju treba poslati odgovor. Drugim rečima, i pored toga što je lokalna socket adresa za potrebe servera fiksna i korisit se u toku njegovog celokupnog životnog veka, udaljena socket adresa se menja u toku svake interakcije sa različitim klijentima.

  22. Klijent strana • Klijent strani je takođe poterbna lokalna (klijent) i udaljena (server) socket adresa. • Lokalna socket adresa – ova adresa obezbeđuje se od strane operativnog sistema. Postupak dodele lokalne socket adrese skoro je identičan postupku dodele lokalne adrese na strani server procesa. • Udaljena socket adresa – za klijenta određivanje udaljene (server) socket adrese je nešto složenije.

  23. Klijent strana – prod. • Kada klijent startuje on treba da zna socket adresu servera ako želi da se poveže sa njim. U ovom slučaju postoje sledeća dva karakteristična slučaja: • Ponekad, korisnik koji startuje klijent proces zna kako server port broj, tako i IP adresu računara na kome se server izvršava. U takvoj situaciji programer obe ove informacije saopštava klijent programu. • I pored toga što je svakoj standardnoj aplikaciji dodeljen unapred poznati broj, u najvećem broju slučajeva, ne zna se IP adresa. Ova situacija je tipična kada želimo da kontaktiramo Web stranicu, da pošaljemo elektronsku poštu, da kopiramo fajl sa udaljenog računara, i dr.

  24. Standardne klijent-server aplikacije U toku životnog veka Interneta razvijeno je nekoliko klijent-server aplikacionih programa. U daljem tekstu ukazaćemo samo na neke od njih kao što su HTTP, WWW, elektronska pošta, FTP, TELNET, DNS.

  25. HTTP • Hypertext Transfer Protocol (HTTP) je protokol koji se koristi za pristup podacima na World Wide Web. • Protokol prenosi podatke u formi punog teksta, hypertext-a, audio, video, i td. • Ovaj protokol se naziva hypertext transfer protokol jer njegova efikasnost obezbedjuje njegovo korišćenje u hypertext okruženju gde postoje nagli i brzi prelazi (skokovi) sa jednog dokumenta na drugi. • Ideja HTTP-a je veoma jednostavna. • Klijent šalje zahtev, koji izgleda kao e-mail poruka, i upućuje ga serveru. Server predaje odziv, koji izgleda kao e-mail odziv, i upućuje ga klijentu. • Poruke tipa zahtev i odziv sadrže u sebi podatke u formi pisma formata tipa MIME (Multi-purpose Internet Mail Extension-dopuna SMTP-a koja omogućava da se preko SMTP-a šalju i ne-ASCII kodirane podatke). • Komande od klijenta ka serveru se ugradjuju u poruke tipa zahtev. Sadržaji zahtevanih fajlova ili druge informacije se ugradjuju u odzivne poruke.

  26. HTTP transakcije HTTP transakcija izmedju klijenta i servera. Klijent inicijalizira transakciju slanjem poruku tipa zahtev. Server se odaziva slanjem odgovora.

  27. Kategorije poruka Postoje dva osnovna tipa HTTP poruka: zahtev i odziv. Oba tipa poruke imaju skoro isti format.

  28. Poruke tipa zahtev Poruke tipa zahtev čini linija zahtev, zaglavlja, i ponekad telo.

  29. Poruke tipa odziv Poruke tipa odziv čini linija status, zaglavlja, i ponekad telo

  30. Uniformni lokator resursa (URL) Klijentu koji želi da pristupi dokumentu potrebna je adresa. Da bi olakšao pristup dokumentima koji su distribuirani po celom svetu , HTTP koristi koncept lokatora. Uniformni lokator resursa (Uniform Resource Locator- URL) predstavlja standard za specifikaciju bilo kog tipa informacije na Internet-u. URL definiše četiri stvari: metod, host računar, port, i put.

  31. World Wide Web (www) World Wide Web, ili web, predstavlja skladište informacije rasejane po celom svetu, ali zajednički povezane u jednu celinu. WWW je jedistven po kombinaciji koju karakterišu osobine fleksibilnosti, prenosivosti, i user-friendly (bliskost sa korisnikom). Ove osobine čine da www, u odnosu na druge servise koji se nude od strane Internet-a, bude po mnogo čemu različitit i specifičan. WWW projekat je bio iniciran od strane CERN-a (European Laboratory for Particle Physics) sa ciljem da se kreira sistem koji će za potrebe naučnih istraživanja manipulisati sa distribuiranim resursima.

  32. World Wide Web (www)– prod. Danas, WWW je distribuirani klijent-server servis, kod koga klijent koristeći browser može da pristupi servisu koristeći server. Ipak treba naglasiti da je dostupni servis distribuiran na veći broj lokacija koje se nazivaju web sites.

  33. Hypertext i Hypermedia • WWW koristi koncept hypertext-a i hypermedia. • Kod hypertext okruženja, informacija je zapamćena u skupu dokumenata koji su zajednički povezani koristeći koncept pokazivaća. • Neka stavka se može pridružiti drugom dokumentu koristeći pokazivać (pointer). • Čitalac koji pretražuje po dokumentu može da predje na drugi dokument izborom (klikom) na stavke koje su povezane sa drugim dokumentima. • Dok hypertext dokumenti sadrže samo tekst, hypermedia dokumenti mogu da sadrže slike, grafike, i zvučne tonove.

  34. Hypertext i Hypermedia • Jedinica hypertext-a ili hypermedia koja je dostupna na Web-u naziva se stranica (page). • Glavna stranica organizacije ili individue zove se home-page.

  35. Arhitektura pretraživaća (browser-a) • Veći broj proizvodjaća nudi komercijalne pretraživaće koje interpretiraju i prikazuju web dokumente. • Obično svi pretraživači koriste skoro istu arhitekturu. • Svaki browser standardno čine sledeće tri celine: kontroler, klijent programi, i interpreteri. • Kontroler prihvata ulaze sa tastature ili miša i koristi klijent programe da bi pristupio dokumentu. • Nakon što se pristupilo dokumentu, kontroler koristi jedan od interpretera da bi na ekranu prikazao dokumenat. • Klijent programi mogu da prestavljaju jedan od metoda (protokola) koje smo prethodno analizirali, kakvi su HTTP, FTP, ili TELNET. Interpreter može biti HTML ali Java, sve u zavisnosti od tipa dokumenta

  36. Arhitektura pretraživaća (browser-a) • Dokumenti kod www-a mogu biti grupisani u sledeće tri velike kategorije: statičke, dinamičke, i aktivne. • Tip kategorije se zasniva na trenutku kada se odredjuju sadržaji dokumenta.

  37. Statički dokumenti • Statički dokumenti su dokumnti fiksnog-sadržaja koji se kreiraju i pamte u serveru. • Klijent može da dobije samo kopiju tog dokumenta. • Sadržaj fajla se odredjuje u trenutku kada se fajl kreira, a ne kada se koristi. • Naravno da se sadržaj fajla u serveru može da se promeni, ali korisnik nije taj koji to može da uradi. • Kada klijent pristupi dokumentu, predaje mu se kopija dokumenta. • Korisnik zatim može da koristi program za pretraživanje (browsing program) sa ciljem da prikaže dokument.

  38. HTML Hypertext Markup Language (HTML) je jezik za kreiranje web stranica. Termin markuplanguage je pozajmljen od industrije za publikovanje knjiga. Pre nego što se knjiga složi i štampa, tehnički urednik čita rukopis i daje zamerke. Na osnovu ovih zamerki slovo-slagač zna kako da formatira tekst. Tako na primer, ako tehnički urednik ukaže da deo linije treba da bude štampan bold, on podvlači talasasto taj deo linije. Na isti način podaci web stranice se formatiraju radi interpretacije od strane browser-a.

  39. HTML Objasnimo ideju na jednom primeru. Da bi učinili deo teksta koji se u HTML-u prikazuje boldiran, neophodno je da na početku i kraju teksta postavimo marker. Oba markera <B> i </B> predstavljaju instrukcije za browser. Kada browser uoči dva markera, on zna da tekst izmedju ta dva markera treba da bude boldiran

  40. Struktura web stranice Web stranicu čine dva dela: zaglavlje i telo. Zaglavlje (head) predstavlja prvi deo web stranice. Zaglavlje sadrži naslov stranice i druge parametre koje browser koristi. Telo - Aktuelni sadržaji stranice nalaze se u telu, koje sadrži tekst i markere. Dok tekst predstavlja aktuelna informacija koja se sadrži u okviru stranice, markeri (tagovi) definišu pojavljivanje (izgled) dokumenta. Svaki HTML marker predstavlja ime iza koga sledi opciona lista atributa, sve zatvoreno u okviru zagrade manje od i veće od, tj.< >.

  41. Markeri Browser donosi odluku o strukturi teksta na osnovu markera, a to su obično markeri ugradjeni u tekst. Marker (tag) se zatvara sa dve zagrade < i >, i obično se markeri javljaju u parovima. Početni marker startuje imenom markera, a završni marker počinje sa "/" iza čega sledi ime markera. Marker može da ima listu atributa, pri čemu iza svakog atributa sledi znak jednakosti i vrednost koja se pridružuje tom markeru.

  42. Dinamički dokumenti Dinamički dokumenti nemaju unapred definisani format. Umesto toga, dinamički dokumenat se kreira od strane web servera, uvek kada browser zahteva dokumenat. Kada zahtev pristigne web server izvršava aplikacioni program koji kreira dinamički dokumenat. Server vraća izlaz programa kao odziv browser-u koji je zahtevao dokumenat. S obzirom da se "taze" dokumenat kreira kod svakog zahteva, sadržaji dinamičkog dokumenta mogu da variraju od jednog zahteva do drugog. Veoma jednostavan primer dinamičkog dokumenta predstavlja dobijanje vremena i datuma od strane servera. Vreme i datum su tipovi informacije koje su dinamičke po tome što se menjaju od trenutka do trenutka. Klijent može da zahteva od servera da izvršava program, kakav je program "date" kod Unix-a, i da predaje rezultat tog programa klijentu.

  43. Dinamički dokumenti • Server koji manipuliše sa dinamičkim dokumentima obavlja sledeće korake: • Server ispituje URL kako bi odredio da li on definiše dinamički dokumenat • Ako URL definiše dinamički dokumenat, server izvršava program • Server predaje (šalje) izlaz programa klijentu (browser-u)

  44. Zajednički gateway interfejs Zajednički gateway interfejs (Common Gateway Interface – CGI) je tehnologija kojom se kreiraju i manipuliše se dinamičkim dokumentima. CGI predstavlja skup standarda koji definišu kako treba napisati dinamički dokumenat, kako ulazne podatke dostaviti programu, i kako treba koristiti izlazne podatke. CGI nije novi jezik, umesto toga, on dozvoljava programerima da koriste neki od sledećih jezika kakvi su C, C++, Bourne Shell, C Shell, TcL, ili Perl. Korišćenje common kod CGI-a ukazuje da standard drefniše skup pravila koja su zajednička za bilo koji jezik ili platformu. Termin interfejs u ovom slučaju znači da postoji skup unapred definisanih termina, promenljive, pozivi, i drugo, koje se može koristiti od strane bilo kog CGI programa.

  45. CGI program CGI program u svojoj najednostavnijoj formi je kod napisan na jednom od jezika koji podržavaju CGI. Bilo koji programer koji može kodirati sekvencu zamisli (ideja) u programu, a zna sintaksu jednog od prethodno'pomenutih jezika može kreirati jednostavan CGI program.

  46. Aktivni dokumenti • Kod velikog broja aplikacija, neophodno je da postoji program koji će se izvršavati na strani klijenta. • Ove aplikacije se nazivaju aktivni-dokumenti. • Tako na primer, pretpostavimo da želimo da izvršimo program koji kreira animiranu grafiku na ekranu, ili interaguje sa korisnikom. • Programu je definitivno potrebno da se izvršava na strani klijenta gde se odvija animacija ili interakcija. • Kada browser zahteva aktivni dokumenat, server šalje kopiju dokumenta u formi bajt-koda. • Dokument se zatim izvršava na strani klijenta (browser-a)

  47. Aktivni dokumenti

  48. Aktivni dokumenti • Na strani servera aktivni dokumenat je memorisan u formi binarnog koda. Treba naglasiti, da se ne stvara overhead (ne unosi dodatno režijsko vreme) na strani servera kakav je to slučaj sa dinamičkim dokumentima. • I pored toga što se aktivni dokumenat ne izvršava od strane servera, on se memoriše kao binarni dokumenat koji se izvlači od strane klijenta. • Kada klijent primi dokumenat, on ga može zapamtiti u svoju memorijsku oblast. • Na ovaj način, klijent može ponovo da izvršava dokumenat bez da izda drugi zahtev. • Aktivni dokumenat se prenosi od servera ka klijentu u binarnoj formi. • To znači da dokumenat može da bude komprimovan na strani servera, a dekomprimovan na strani klijenta, pri čemu se štedi kako na propusnosti tako i na vremenu prenosa.

  49. Java • Java predstavlja kombinaciju HLL-a, izvršenja u okruženju, i klasu biblioteke koja omogućava programeru da napiše aktivni dokumenat, a browser-u da ga izvrši. • Java se može takodje koristiti kao samostalni program bez korišćenja browser-a. • Java se najčešće koristi za kreiranje apleta (applet), tj malih aplikacionih programa. • Java je objektno-orijentisani jezik, koji je, sintaktički i semantički, veoma sličan C++. • Java nije tako složen kao C++ i nema te kompleksnosti koje se odnose na operator overloading ili višestruko nasledjivanje (multiple inheritance). • Java je takodje hardverski nezavisna i ne koristi pokazivače. • Kod Java, kao i kod drugih objektno-orijentisanih jezika, programer definiše skup objekata i postavlja operacije (metode) koje operišu nad tim objektima. • On je typed jezik, što zanči da programer mora da deklariše tip bilo kog dela podatka pre nego što ga počne koristiti.

  50. Elektronska pošta • Elektronska pošta (e-mail) omogućava korisnicima da razmenjuju poruke. • Priroda ove aplikacije različita je u odnosu na druge (FTP, HTTP, TELNET). • Kod aplikacija kakve su HTTP i FTP, server program stalno se izvršava, čekajući na zahtev od strane klijenta. • Kada zahtev pristigne, server pruža uslugu. • Kada se izda neki zahtev postoji i odgovarajući odziv. • Kod elektronske pošte situacija je drugačija. • Kao prvo, elektronska pošta je jednosmerna komunikacija. • Kada Alice pošalje e-mail poruku Bobuona može da očekuje odgovor, ali taj odgovor nije obavezan da pristigne. • Bob mora ali i ne mora da odgovori. • Ako Bob odgovori, to je ponovo jednosmerna transakcija. • Kao drugo, niti je moguće, niti logično da Bob na svom računaru neprekidno izvršava server program i čeka da mu neko pošalje poruku. • Kada Bob ne korisit računar on ga obično isključi.

More Related