41
3: Nivo aplikacije 1 All material copyright 1996-2018 J.F Kurose and K.W. Ross, All Rights Reserved

All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

  • Upload
    vandat

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 11

All material copyright 1996-2018J.F Kurose and K.W. Ross, All Rights Reserved

Page 2: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 2

r Principi protokola nivoa aplikacijer Web

m HTTP

Nivo aplikacije

Page 3: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 3

r E-mailr Webr “Instant messaging”r “Remote login”r “P2P file sharing”r “Multi-user” mrežne

igrer “Streaming stored”

video klipovi

r Internet telefonr “Real-time” video

konferencijar “Grid computing”r Društvene mrežer ...

Primjeri Internet aplikacija

Page 4: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 4

Napisati programe kojim se izvršavaju na različitim

krajnjim sistemima im komuniciraju preko mreže.m npr., Web: Web server

software komunicira prekobrowser software

Ne piše se softver za uređaje na kičmi mrežem mrežni uređaji na kičmi ne

funkcionišu na nivou aplikacije

m ovakav dizajn dozvoljava brzi razvoj aplikacija

aplikacijatransportmrežalink

fizički

aplikacijatransportmrežalink

fizički

aplikacijatransportmrežalink

fizički

Kreiranje Internet aplikacije

Page 5: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 5

r Klijent-serverr Peer-to-peer (P2P)r Hibrid klijent-server i P2Pr …

Arhitekture Internet aplikacija

Page 6: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

Nivo aplikacije 2-6

Klijent-server arhitekturaserver: r Uvijeka aktivanr Po pravilu permanentna

IP adresar Data centri

klijenti:r Komuniciraju sa serveromr Mogu biti povremeno

povezanir Mogu imati dinamičku IP

adresur Ne komuniciraju

međusobno

Klijent/server

Page 7: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 7

r Proizvoljni krajnji sistemi mogu direktno komunicirati bez učešća servera

r Peer zahtijeva servis od drugog peer-a, nudeći servis drugim peer-ovimam skalabilnost– novi peer-ovi

donose nove kapacitete, ali i nove zahtjeve

r Peer-ovi se povremeno povezuju i mogu da mijenjaju IP adresem Složeno upravljanje

peer-peer

P2P arhitektura

Page 8: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 8

Skypem voice-over-IP P2P aplikacijam centralizovani server: pronalaženje adrese udaljene stranem klijent-klijent konekcija je direktna bez posredovanja

serveraInstant messagingm Čatovanje dva korisnika je P2Pm Detektovanje prisutnosti i lokacije je centralizovano:

• Korisnik registruje svoju IP adresu na centralni server kada hoće da čatuje

• Korisnik kontaktira centralni server da pronađe IP adrese korisnika sa kojima želi da čatuje

Hibrid Klijent-server i P2P arhitektura

Page 9: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 9

Proces: program koji se izvršava na hostu.

r U samom hostu, dva procesa komuniciraju na bazi inter-procesnekomunikacije(definisane u OS).

r Procesi na različitim hostovima komuniciraju razmjenom poruka

Klijent proces: proceskoji inicijalizuje komunikaciju

Server proces: proceskoji čeka da bude kontaktiran

r Napomena: aplikacije saP2P arhitekturom imajui klijent i server procese

Komuniciranje procesa

Page 10: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 10

r Proces šalje/prima poruke preko svog “socket”-ar “socket” je analogan vratima

m Proces šalje poruke preko socketam proces koji šalje se oslanja na transportnu infrastrukturu

na drugoj stani vrata koja prenosi poruku do “socket”prijemnog procesa

r API: (1) izbor transportnog protokola; (2) mogućnost specificiranja nekoliko parametara (maksimalna veličina bafera i maksimalna veličina segmenta)

Soketi

Internet

Kontrolisano odstrane OS

Kontrolisano od strane programera

transport

aplikacija

fizičkilinkmreža

proces

transport

aplikacija

fizičkilinkmreža

processocket

Page 11: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 11

r Za proces koji prima poruke, mora postojati identifikator

r Svaki host ima jedinstvenu 32-bitnu IP adresu

r Prisjetiti se komande ipconfig...

r P: Da li je IP adresa hosta na kojem se proces izvršava dovoljna za identifikaciju procesa?

r Identifikator uključuje i IP adresu i broj porta vezan za proces na hostu.

r Primjer brojeva porta:m HTTP server: 80m Mail server: 25

r VIŠE KASNIJE

O: Ne, mnogi procesi se mogu izvršavati na istom hostu

Adresiranje

Page 12: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 12

r Tipove poruka koje se razmjenjuju, npr., zahtjevi & poruke odgovora

r Tipove sintaksi poruka: koja su polja & kako su odvojena

r Semantika polja, npr., značenje informacija u poljima

r Pravila vezana kada i kako se šalje poruka i kako se odgovara na njih

Javni (public) protokoli:r Definisani u RFC-ovimar Dozvoljavaju

interoperatibilnostr npr, HTTP, SMTPPrivatni (proprietary)

protokoli:r npr, Skype, Viber,…

Protokol nivoa aplikacije definiše

Page 13: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 13

Gubici podatakar Neke aplikacije (npr., audio)

mogu tolerisati određeni nivo gubitaka

r Druge aplikacije (npr., file transfer, telnet) zahtijevaju 100% pouzdani transfer podataka

Vrijemer Neke aplikacije (npr.,

Internet telefonija, interaktivne igre)zahtijevaju malo kašnjenje

Brzina prenosar Neke aplikacije (npr.,

multimedija) zahtijevajupreciziranje minimalne dostupne brzine prenosa

r Druge aplikacije(�elastične aplikacije�) koriste onoliko opsega koliko mogu dobiti

Zaštitar Enkripcija, integritet

podataka, …

Koji transportni servisi su potrebni aplikacijama?

Page 14: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 14

Aplikacija

File transferE-mail

WebReal-time audio/video

Stored audio/videoInteraktivne igre

Instant messaging

Gubici

bezbezbeztolerantne

tolerantnetolerantnebez

Brzina prenosa

elastičanelastičanelastičanaudio: 5kb/s-1Mb/svideo:10kb/s-5Mb/sIsti kao gorenekoliko kb/s i višeelastičan

Vrem. osjet.

neneneda, 100‘ ms

da, nekoliko sda, 100‘ msda i ne

Transportni servisni zahjevi zajednički za sve aplikacije

Page 15: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 15

“5G trougao”

Page 16: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 16

TCP servisi:r konektivnost: uspostavljanje

komunikacije se zahtijeva između klijentskih i serverskih procesa

r pouzdani transport između procesa slanja i prijema

r kontrola protoka: pošiljalac ne smije da “zaguši” prijemnik

r kontrola zagušenja: usporava pošiljaoca kada je mreža zagušena

r ne obezjeđuje: tajming, garantovanje minimalnog opsega

UDP servisi:r nepouzdani prenos

podataka između procesa slanja i prijema

r ne obezbjeđuje: uspostavljanje veze, pouzdanost, kontrolu protoka, kontrolu zagušenja, tajming, ili garantovani opseg

P: Zašto oba? Zašto UDP?

Servisi transportnih protokola Interneta

Page 17: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 17

Aplikacija

e-mailudaljeni terminal

Web file transfer

streaming multimedia

Internet telefonija

Protokoli nivoaaplikacije

SMTP [RFC 2821]Telnet [RFC 854]HTTP [RFC 7230]FTP [RFC 959]Privatni ili javni

Privatni(npr., Dialpad, Skype)

Transportniprotokol

TCPTCPTCPTCPTCP ili UDP ili RTP

UDP (i TCP)

Internet aplikacije: aplikacija, transportni protokoli

Page 18: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

Zaštita i TCP

TCP & UDP r Nema kriptovanjar Tekstualne lozinke se

prenose preko InternetaSSL (Secure Sockets Layer)r Omogućava enkripciju TCP

konekcijer Integritet podatakar Autorizacija od kraja do

kraja

SSL je na nivou aplikacijer Aplikacije koriste SSL

biblioteke, koje�komuniciraju�sa TCP

SSL socket APIq Tekstualna lozinka se šalje

kriptovana preko Interneta

3: Nivo aplikacije 18

Page 19: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

Terminir Web stranica se sastoji od objekatar Objekat može biti HTML fajl, JPEG slika, Java

“applet”, audio fajl,…r Web stranica se sastoji od osnovnog HTML-fajla

koji može sadržati reference više objekatar Svaki objekat se adresira sa URL (Uniform

Resource Locators)r Primjer URL:

3: Nivo aplikacije 19

http://www.cftmn.ac.me/index.html

ime hosta ime puta

Web i HTTP

Page 20: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 20

HTTP: HyperText Transfer Protocol

r Web-ov protokol nivoa aplikacije

r klijent/server modelm klijent: Web browser

šalje zahtjeve, prima i prikazuje Web objekte

m server: Web server šalje objekte kao odgovor na zahtjeve

Pregled HTTP-a

PC sa Firefox pretraživačem

server saApache Web

server

iPhone sapretraživačem Safari

HTTP zahtjevHTTP odgovor

HTTP zahtjev

HTTP odgovo

r

Page 21: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 21

Koristi TCP:r klijent inicijalizuje TCP vezu

(kreira socket) prema serveru, port 80

r server prihvata TCP vezu odklijenta

r HTTP poruke zahtjeva i odgovora (poruke protokola nivoa aplikacije) se razmjenjujuizmeđu “browser”-a (HTTP klijent) i Web servera (HTTP server)

r TCP veza se zatvara

HTTP je �stateless�r server ne čuva

informacije o prethodnim korisnikovim zahtjevima (ne raspoznaje korisnike)

Protokoli koji nadziru�stanje� su kompleksni!

r prethodno stanje mora biti nadzirano

r ako server/klijent “padne”, njihovi uvidi u �stanje�mogu biti inkonzistentni,moraju biti ponovo razmotreni

Pored toga

Pregled HTTP-a (nastavak)

Page 22: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 22

Neperzistentni (neistrajan)HTTP

r Najviše jedan objekat se šalje preko TCP konekcije.

r Povlačenje više objekata podrazumijeva otvaranje više konekcija

Perzistentni HTTPr Više objekata može

biti poslato preko jedne TCP konekcije između klijenta i servera.

HTTP konekcije

Page 23: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 23

Pretpostavimo da korisnik unese sledeći URL http://www.cftmn.ac.me/index.html

1a. HTTP klijent inicijalizuje TCP vezu do HTTP servera (procesa) na www.cftmn.ac.me po portu80

2. HTTP klijent šalje HTTP poruku zahtjeva (sadrži URL) u socket TCP veze. Poruka indicira da klijent želi objekat/index.phtml

1b. HTTP server na hostuwww.cftmn.ac.me čeka na TCP konekcije na portu 80. �Prihvata� vezu, obavještava klijenta

3. HTTP server prima poruku zahtjeva, formira poruku odgovora koja sadrži zahtijevani objekat i šalje poruku svom socketu

vrijeme

Neperzistentni HTTP

Page 24: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 24

5. HTTP klijent prima poruku odgovora koja sadrži html fajl, prikazuje html fajl, tumači html fajl, pronalazi upućene objekte

6. Koraci 1-5 se ponavljaju za svaki objekat

4. HTTP server zatvara TCP vezu.

Vrijeme

Neperzistentni HTTP(nastavak)

Page 25: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 25

Definicija RTT (Round Trip Time): vrijeme prenosa malog paketa od klijenta do servera i nazad.Vrijeme odgovora:rjedan RTT za inicijalizaciju TCP vezerjedan RTT za HTTP zahtjev i vraćanje prvih nekoliko bajtovaHTTP odgovorarVrijeme prenosa fajlaukupno = 2RTT+vrijeme prenosa fajla

Vrijeme zaPrenosfajla

InicijalizacijaTCP veze

RTTFajl zahtjeva

RTT

Fajl primljen

vrijeme vrijeme

Modelovanje vremena odgovora

Page 26: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 26

Problemi neperzistentnog HTTP-a:r zahtijeva 2 RTT po objektur OS mora raditi i dodijeliti

resurse hosta za svaku TCP vezu

r Problem je što browser-i često otvaraju paralelne TCP veze za povlačenje zahtijevanihobjekata

Perzistentni HTTPr server zadržava vezu otvorenu

poslije slanja odgovorar sekvencijalne HTTP poruke

između istog klijent/servera se šalju istom vezom

r Zatvara konekciju poslije određenog vremena neaktivnosti

Perzistentni bez “pipelining”:r Klijent šalje novi zahtjev

samo kada je prethodni odgovor primljen

r jedan RTT za svaki upućeni objekat

r Kada nema zahtjeva TCP konekcija je slobodna

Perzistentni sa “pipelining”:r klijent šalje zahtjeve

odmah po dobijanju referenci objekata

r Veličine svega po jedanRTT za svaki referenciraniobjekat

Perzistentni HTTP

Page 27: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 27

HTTP poruka zahtjeva

r Dva tipa HTTP poruka: zahtjev, odgovorr HTTP poruka zahtjeva:

m ASCII (format čitljiv čovjeku)

Linija zahtjeva(GET, POST, HEAD komande)

Linije zaglavlja

carriage return, line feed na početku linije označavaju kraj zaglavlja

GET /index.html HTTP/1.1\r\nHost: www.cftmn.ac.me\r\nUser-Agent: Firefox/3.6.10\r\nAccept: text/html,application/xhtml+xml\r\nAccept-Language: en-us,en;q=0.5\r\nAccept-Encoding: gzip,deflate\r\nAccept-Charset: ISO-8859-1,utf-8;q=0.7\r\nKeep-Alive: 115\r\nConnection: keep-alive\r\n\r\n

carriage return karakterline-feed karakter

Page 28: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 28

HTTP/1.0r GETr POSTr HEAD

m Pita server da pusti traženi sadržaj (otklanjanje grešaka)

HTTP/1.1r GET, POST, HEADr PUT

m Uploaduje fajl na mjesto u Web serveru definisano u URL polju

r DELETEm Briše fajl definisan u

URL polju

Tipovi

Page 29: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 29

HTTP poruka odgovorastatusna linija(protokol statusni kod statusna fraza)

Linijezaglavlja

podaci, npr., zahtijevaniHTML fajl

HTTP/1.1 200 OK\r\nDate: Thu, 26 Sep 2013 18:09:20 CET\r\nServer: Apache/2.0.52 (CentOS)\r\nLast-Modified: Tue, 30 Oct 2012 17:00:02

GMT\r\nETag: "17dc6-a5c-bf716880"\r\nAccept-Ranges: bytes\r\nContent-Length: 2652\r\nKeep-Alive: timeout=10, max=100\r\nConnection: Keep-Alive\r\nContent-Type: text/html; charset=ISO-8859-

1\r\n\r\ndata data data data data ...

Page 30: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 30

200 OKm Zahtjev uspješan, zahtijevani objekat se nalazi u poruci

301 Moved Permanentlym Zahtijevani objekat preseljen, nova lokacija specificirana u

poruci (Lokacija:)400 Bad Request

m Server ne razumije poruku zahtijeva404 Not Found

m Zahtijevani dokument nije pronađen na ovom serveru505 HTTP Version Not Supported

m Verzija HTTP protokola nije podržana

U prvoj liniji u server->klijent poruci odgovora.Nekoliko primjera kodova statusa i odgovarajućih poruka:

HTTP kodovi statusnog odgovora

Page 31: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 31

Mnogi Web sajtovi koriste cookies

Četiri komponente:1) Linija zaglavlja Set-cookie

u HTTP poruci odgovora2) Linija zaglavlja Cookie u

HTTP poruci zahtjeva3) Cookie fajl se čuva na

korisnikovom hostu i održava se od strane korisnikovog browser-a

4) Baza podataka na Web sajtu

Primjer:m Neko pristupa

Internetu uvijek preko istog hosta

m Posjećuje specifične e-commerce sajtove po prvi put

m Kada inicijalni HTTP zahtjevi dođu na sajt,sajt kreira jedinstveniID i kreira odgovarajuću informaciju u bazi podataka za ID

Cookies: vode računa o �stanju�(RFC 6265)

https://tools.ietf.org/html/rfc6265

Page 32: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 32

klijent server

HTTP odgovor

HTTP odgovor

cookie fajl

Nedjelju dana kasnije!

HTTP zahtjevCookie: 1678 cookie-

definisana akcija

pristup

ebay 8734HTTP zahtjev Amazon server

kreira ID1678 za korisnikaKreiranje

upisa

HTTP odgovorSet-cookie: 1678

ebay 8734amazon 1678

HTTP zahtjevcookie: 1678 cookie-

definisana akcija

pristupebay 8734amazon 1678

Baza podataka

Cookies: vode računa o �stanju�(nastavak)

Page 33: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 33

Šta cookies donose:r autorizacijur “shopping cards”r preporuker stanje korisnikove

sesije (Web e-mail)

Cookies i privatnost:r Cookies dozvoljavaju

sajtu da dosta nauči o korisniku

r Mogu se prikupiti imenai kontakt podaci

r Pretraživači koriste cookies da nauče više o korisnicima

r Kompanije dobijaju dodatne informacije preko weba

Pored toga

Cookies: vode računa o �stanju�(nastavak)

Page 34: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 34

r Korisnik setuje browser: Web pristup preko proxy servera

r browser šalje sve HTTP zahtjeve proxy serverum objekat u proxy-u:

proxy šalje objekatm ili proxy zahtijeva

objekat od željenog servera, tada vraća objekat klijentu

Cilj: zadovoljenje klijentovog zahtjeva bez uključivanja originalnog servera

Web �caches� (proxy server)

Klijent

proxyserver

Klijent

HTTP zahtjev

HTTP odgovor

HTTP zahtjev HTTP zahtjev

Server

ServerHTTP odgovor HTTP odgovor

https://tools.ietf.org/html/rfc7234

Page 35: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 35

r Proxy server radi i kao klijent i kao server

r Tipično proxy instalira ISP (univerzitet, kompanija, rezidencijalni ISP)

Zašto proxy server?r Smanjuje vrijeme odziva na

zahtjev.r Smanjuje saobraćaj na

linku institucije prema Internetu.

r Internet sa proxy serverom omogućava�slabim� provajderima sadržaja efikasniju predaju sadržaja

Više o proxy serveru

Page 36: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 36

Primjer:

željeniserveri

javniInternet

Mrežainstitucije 1 Gb/s LAN

2Mb/s Pristupni link

Pretpostavke:v Srednja veličina objekta: 100000bv Srednji broj zahtjeva prema

željenim serverima: 19zahtjeva/sv Srednja brzina : 1.9Mb/sv RTT od rutera institucije do

željenog servera: 2sv Brzina na pristupnom linku: 2Mb/s

Posledice:v Iskorišenje LAN-a: 0.19%v Iskorišenje pristupnog linka = 95%v Ukupno kašnjenje= kašnjenje na

Internetu+ kašnjenje u pristupu+ LAN kašnjenje= 2s + minuti + ms

problem!

Page 37: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 37

pretpostavke:v Srednja veličina objekta:

100000bv Srednji broj

zahtjeva:19zahtjeva/sv Srednja brzina: 1.9Mb/sv RTT od rutera institucije do

željenog servera: 2sv Brzina pritupnog linka: 100Mb/sposledice:v Iskorišenje LAN-a: 0.19%v Iskorišćenje linka= 1.9%v Ukupno kašnjenje= Internet

kašnjenje + pristupno kašnjenje+ LAN kašnjenje= 2s + ms + ms

Primjer: brži pristupni link

Željeniserveri

100 Mb/s Pristupni link

Troškovi: povećanje brzine pristupa je skupo!

javniInternet

Mrežainstitucije 1 Gb/s LAN

Page 38: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

Mrežainstitucije 1 Gb/s LAN

3: Nivo aplikacije 38

Primjer: Lokalni proxy

Željeniserveri

2 Mb/s Pristupni link

Lokalni proxy

pretpostavke:v Srednja veličina objekta:

100000bv Srednja brzina zahtjeva:

19zahtjeva/sv Srednja brzina: 1.9Mb/sv RTT od rutera institucije do

željenog servera: 2sv Brzina pristupa: 2Mb/sposledice:v LAN utilization: 0.19%v Iskorišćenje pristupnog linka= ?v Ukupno kašnjenje= ?Kako izračunati iskorišćenje

i kašnjenje?Troškovi: proxy nije skup!

javniInternet

Page 39: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 39

Izračunavanje iskorišćenja i kašnjenja:rPretpostavimo da je vjerovatnoća

pogađanja 0.4m 40% zahtjeva se posluži na proxy

serveru , 60% zahtjeva na željenom serveru

Iskorišćenje pristupnog linka: § 60% zahtjeva koristi pristupni link

v Brzina prenosa preko pristupnog linka= 0.6*1.9 Mb/s = 1.14Mb/s § iskorišćenje = 1.14/2 = .57

v Ukupno kašnjenje§ = 0.6 * (kašnjenje od željenih

servera) +0.4 * (kašnjenje do proxy servera)

§ = 0.6 (2.0) + 0.4 (~ms) § = ~ 1.2s§ Manje nego 100Mb/s pristupni link

Mrežainstitucije 1 Gb/s LAN

Željeniserveri

2 Mb/s Pristupni link

Lokalni proxy

javniInternet

Primjer: Lokalni proxy

Page 40: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 40

r Cilj: ne slati objekat ako cache ima up-to-date sačuvanu verziju

r cache: specificira datum čuvanja kopije u HTTP zaglavljuIf-modified-since:

<date>

r server: odgovor ne sadrži objekat ako je sačuvana kopija up-to-date: HTTP/1.0 304 Not

Modified

HTTP poruka GETIf-modified-since:

<date>

HTTP odzivHTTP/1.0

304 Not Modified

Objekatnije

modifikovan

HTTP poruka zahtjevaIf-modified-since:

<date>

HTTP odzivHTTP/1.0 200 OK

<data>

objekat modifikovan

Conditional GET

Klijent server

https://tools.ietf.org/html/rfc7232

Page 41: All material copyright 1996-2018 J.F Kurose and K.W. Ross ... · 3: Nivo aplikacije 3 rE-mail rWeb r“Instant messaging” r“Remote login” r“P2P file sharing” r“Multi-user”mrežne

3: Nivo aplikacije 41

Fog computingFog Computing: Helping the Internet of Things Realize Its PotentialIssue No. 08 - Aug. (2016 vol. 49), ISSN: 0018-9162 pp: 112-116DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MC.2016.245Amir Vahid Dastjerdi , University of MelbourneRajkumar Buyya , University of Melbourne