Вы находитесь на странице: 1из 45

Sadraj kolegija Mree raunala II Uvod Sloj mree Transportni sloj Aplikacijski sloj Sigurnost Multimedija i kvaliteta usluge

usluge Upravljanje mreama

Mree raunala II, Aplikacijski sloj

Aplikacijski sloj Uvod Najee aplikacije


Hypertext Transfer Protocol (HTTP) File Transfer Protocol (FTP) E-Mail Upravljanje mreama (Network Management) Domain Name System (DNS)

Mree raunala II, Aplikacijski sloj

Uvod Primjena mrea


Korisniki procesi na razliitim raunalima (host-ovi), koji u mrei komuniciraju porukama Moe se direktno implementirati koritenjem usluga transportnog sloja standardne aplikacije koriste neki aplikacijski protokol koji definira format poruka i proceduru kod njihovog primitka npr.: Web browser i Web server Donji slojevi i jezgra mree ne zahtijevaju poznavanje aplikacije Jednostavna primjena, velika dinamika
Mree raunala II, Aplikacijski sloj
application transport network data link physical

application transport network data link physical

application transport network data link physical

Uvod Client-Server paradigma


server nudi uslugu koju trai client uobiajena paradigma mnogih tradicionalnih aplikacija, kao npr. Web browser i Web server tipina svojstva servera: - uinkovit - uvijek raspoloiv tipina svojstva clienta: - samo povremeno na mrei - komuniciraju sa serverom, ne meusobno!

Mree raunala II, Aplikacijski sloj

Uvod Client-Server paradigma je centralizirana arhitektura ostale paradigme


promjenjiva uloga client-a i server-a: raunala preuzimaju katkad jednu, katkad drugu ulogu distribuirana aplikacija: sastoji se iz vie nezavisnih aplikacija koje skupa izgledaju kao jedna jedinstvena aplikacija (npr. WebShop s Web serverom, aplikacijski server i baza podataka) decentralna arhitektura: autonomni sustavi (npr. Peer-to-Peer aplikacije kao Gnutella, Chord) hibridna arhitektura: za inicijalizaciju je potrebna neka centralna arhitektura, dok se aplikacija izvodi decentralno izemu raunala (npr. neke Peer-to-Peer aplikacije kao Bittorrent)

Mree raunala II, Aplikacijski sloj

Uvod Varijante Client-Server paradigme:


Client raunalo Thin Client Korisniko suelje Korisniko suelje Korisniko suelje Aplikacija Korisniko suelje Aplikacija Fat Client Korisniko suelje Aplikacija Baza podat. Korisniko suelje Aplikacija Baza podat. Fat Server Server raunalo
Mree raunala II, Aplikacijski sloj 6

Aplikacija Baza podat.

Aplikacija Baza podat. Baza podat. Baza podat. Thin Server

Uvod Usluge transportnog sloja


u Internetu postoje 2 osnovna transportna protokola - TCP: orijentiran na vezu, pouzdan - UDP: nije orijentiran na vezu, nepouzdan usluge obino realizirane u operacijskom sustavu veina operacijskih sustava nudi tzv. socket suelje, realizirano u programskim jezicima sa socketima mogue je definirati - transportni protokol (TCP ili UDP) - IP adresu izvornog i odredinog raunala - brojeve port-a (za razlikovanje aplikacija u raunalima) - tako je mogue programirati aplikacije

Mree raunala II, Aplikacijski sloj

Uvod Kvantitativni zahtjevi aplikacija:


gubitak - ne moe se tolerirati kod prijenosa datoteka, online bankarstva itd. - djelomino se moe tolerirati u multimediji brzina veze - tradicionalne aplikacije kao FTP, e-mail i HTTP ne zahtijevaju fiksnu brzinu veze (bit rate), ali je bolje ako je ta brzina velika - multimedija u realnom vremenu zahtijeva donju granicu kod brzine veze vrijeme kanjenja - tradicionalne aplikacije ne zahtijevaju maksimalno vrijeme kanjenja, ali su takoer bolje kod kraih vremena - multimedija u realnom vremenu i interaktivne igre zahtijevaju kratko vrijeme kanjenja - upravljanje tehnikim ureajima esto zahtijeva garanciju neke gornje granice kod vremena kanjenja

Mree raunala II, Aplikacijski sloj

Uvod Kvantitativni zahtjevi aplikacija


Aplikacija Prijenos datoteka e-mail Web-dokumenti Multimedija u realnom vremenu Multimedia-Streaming Interaktivne igre Automatizacija Gubitak Nema gubitka Nema gubitka Nema gubitka Gubitak prihvatljiv Brzina veze elastina elastina elastina audio: Kbps - Mbps video: 10 Kbps - 5 Mbps kao u prethodnom Kbps 10 Kbps Kbps Vrijeme kanjenja nema ogranienja nema ogranienja nema ogranienja 150 ms kanjenja u jednom smjeru prihvatljivo nekoliko s nekoliko 100 ms esto krute (hard) granice, npr. nekoliko ms elastino
9

Gubitak prihvatljiv Gubitak prihvatljiv Nema gubitka

Instant Messaging

Nema gubitka

elastina

Mree raunala II, Aplikacijski sloj

Uvod Neki aplikacijski protokoli i pripadni transportni protokoli


Aplikacija e-mail Remote Terminal Access Web Prijenos datoteka Remote File Server Streaming Multimedia Internet-telefonija Aplikacijski protokol SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] NFS RTP RTP Pripadni transportni protokol TCP TCP TCP TCP UDP ili TCP UDP ili TCP obino UDP

Mree raunala II, Aplikacijski sloj

10

Aplikacijski sloj Uvod Najee aplikacije


Hypertext Transfer Protocol (HTTP) File Transfer Protocol (FTP) E-Mail Upravljanje mreama (Network Management) Domain Name System (DNS)

Mree raunala II, Aplikacijski sloj

11

HTTP Procedura
korisnik unosi Uniform Resource Locator (URL) u Web browser HT TP URL sadri ime raunala nekog req ues Web servera i stazu prema HT PC s t TP res nekom objektu (datoteci) tamo MS Explorer pon se Web browser postavlja upit Web serveru za taj objekt st Web server vraa objekt Web ue req server se P browseru on TT p H s r es Web browser prikazuje objekt u P Apache Web T HT korisniku itljivom obliku serverom
Mac s Firefox

Mree raunala II, Aplikacijski sloj

12

HTTP: poruke za upit format poruka:

Redak za upit

method

sp

URL

sp value

version cr lf

cr lf

header field name: sp Retci zaglavlja header field name: sp Prazan redak Tijelo cr lf

value

cr lf

Mree raunala II, Aplikacijski sloj

13

HTTP: poruke za upit Metode


GET: poziv nekog dokumenta, sastoji se iz metode, URL-a, verzije HEAD: poziv metapodataka nekog dokumenta POST: slanje podataka web serveru Put, Delete, Trace, Options

Retci zaglavlja
Type/Value parovi, tipovi: Host, User-agent,

Tijelo
prazno kod GET, kod POST moe imati sadraj GET /somedir/page.html Primjer upita: HTTP/1.1 Host: www.someschool.edu User-agent: Mozilla/4.0 Connection: close Accept-language:fr (extra carriage return, line feed)
14

Mree raunala II, Aplikacijski sloj

HTTP: poruke za odgovor format poruka za odgovor:


Statusni redak version sp status code sp value phrase cr lf cr lf

header field name: sp Retci zaglavlja header field name: sp Prazan redak Tijelo cr lf

value

cr lf

Mree raunala II, Aplikacijski sloj

15

HTTP: poruke za odgovor Mogui kodovi u statusnom retku


200 OK (sve je u redu) 301 Moved Permanently (Redirection: objekt se nalazi na Location: ) 400 Bad Request (poruka za upit prepoznata) 404 Not Found (objekt nije pronaen) 505 HTTP Version Not Supported

Primjer poruke za odgovor:

HTTP/1.1 200 OK Connection: close Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 ... Content-Length: 6821 Content-Type: text/html data data data data data ...

Mree raunala II, Aplikacijski sloj

16

HTTP: tijek HTTP tijek


ne-perzistentan HTTP - za svaki objekt stvara se 1 TCP veza, server je brie odmah nakon slanja objekta - osnovna stranica i ugnjeeni objekti sekvencijalno ili - vie paralelnih veza za ugnjeene objekte perzistentan HTTP - server zadrava vezu - svi se objekti alju jednom TCP vezom - bez pipelining-a: nakon svakog objekta upit za sljedei objekt - s pipelining-om: 1 upit za sve ugnjeene objekte to su prednosti i nedostaci? standardni port web servera: 80

Mree raunala II, Aplikacijski sloj

17

HTTP: tijek Primjer tijeka ne-perzistentnog HTTP


URL: www.someSchool.edu/someDepartment/home.index osnovna stranica sadri 10 ugnjeenih objekata (jpeg) 1a. HTTP client inicira TCP vezu prema
HTTP serveru na raunalu www.someSchool.edu na portu 80

1b. HTTP server na raunalu


www.someSchool.edu eka na TCP veze na portu 80, prihvaa TCP vezu i obavjetava clienta

2. HTTP client predaje HTTP upit na


TCP socket koji sadri URL s referencom na objekt someDepartment/home.index

3. HTTP server prima HTTP upit,


generira HTTP odgovor s traenim objektom i predaje ih na TCP socket

vrijeme
Mree raunala II, Aplikacijski sloj 18

HTTP: tijek (nastavak)


4. HTTP server zatvara TCP vezu 5. HTTP client prima HTTP odgovor s
HTML sadrajem, analizira ga, prikazuje ga na ekranu, prepoznaje 10 ugnjeenih jpeg objekata

vrijeme

6. koraci 1-5 ponavljaju se za svaki


ugnjeeni objekt

Mree raunala II, Aplikacijski sloj

19

HTTP: tijek Vrijeme odgovora


osnovna stranica - izgradnja TCP veze zahtijeva Round Trip Time (RTT) - poruka za upit u 1 smjeru te poruka za odgovor natrag zahtijevaju jo 1 RTT - ukupno: 2 RTT + vrijeme slanja + ostala vremena ekanja u TCP
Inicijalizacija TCP veze RTT Slanje HTTP upita RTT Primitak odgovora Vrijeme Vrijeme prijenosa HTTP odgovora

Vrijeme

Mree raunala II, Aplikacijski sloj

20

HTTP: dinamiki sadraji slanje informacija od browsera prema serveru


u tijelu poruke za upit s POST esto: kao Type/Value parovi dodani na URL u poruci za upit s GET

dinamiki sadraji s CGI skriptama


Common Gateway Interface (CGI) obrauje informacije kao eksterni proces i alje novu HTML stranicu na server
1. User ispunjava CGI formular Script baza 2. preko HTTP na server podataka 3. predaje se na CGI 4 4. CGI postavlja upit DB 5. DB unos je pronaen 6. CGI izrauje HTML 5 7. preko HTTP korisniku 8. HTML prikaz

User 1 8

browser 2 7

server 3 6

Mree raunala II, Aplikacijski sloj

21

HTTP: dinamiki sadraji dinamiki sadraji kroz Scripting


interpretacijom ugraenih skripti mogue je generirati dinamike sadraje Server-side Scripting: u HTML je ugraen kd koji interpretira server i pri tome generira HTML, npr. PHP Client-side Scripting: u HTML je ugraen kd koji interpretira client, npr. JavaScript
browser 1 4 2 3 PHP-Modul server browser 1 2 JavaScript server

User

User

Mree raunala II, Aplikacijski sloj

22

HTTP: Caching Web Caching


smanjenje vremena ekanja korisnika i mrenog prometa uporabom pomonog meuspremnika (cache) Cache je server za web browser, a client za web server

Client HT

HT TP r
TP r

esp ons Pr TT e H HT t TP es qu req re ue eH P T st ns TT o HT sp resp P re on P se T HT

equ e st

proxy server

TP HT

st ue req

nse Origin po es server

Client

Origin server 23

Mree raunala II, Aplikacijski sloj

HTTP: Caching Cache


Cache moe postaviti upit serveru da li je njegov objekt jo aktualan: HTTP upit
If-modified-since: <date>

Server

Objekt nepromijenjen

HTTP odgovor
HTTP/1.0 304 Not Modified

HTTP upit
If-modified-since: <date>

Objekt promijenjen

HTTP odgovor
HTTP/1.0 200 OK

<data>
Mree raunala II, Aplikacijski sloj 24

HTTP: Caching
Primjer upotrebe meuspremnika
Pretpostavke - srednja veliina objekta = 100.000 bitova - srednja rata HTTP upita clienata u LAN = 15/s - kanjenje izmeu LAN-a i HTTP servera = 2s Posljedice - optereenje LAN-a 15/s 100.000 bitova / 10 106 bitova/s = 0,15 = 15 % - optereenje pristupnog voda 15/s 100.000 bitova / 1,5 106 bitova/s = 1 = 100 % - ukupno kanjenje = kanjenje u LAN-u + kanjenje kod pristupa + kanjenje u Internetu = ms + minute + 2 s = minute

HTTP server
Internet

1,5 Mbps pristupni vod 10 Mbps LAN

Mree raunala II, Aplikacijski sloj

25

HTTP: Caching 1. rjeenje: nadogradnja pristupa


pristupni vod s 10 Mbps mogue, ali povezano s trokovima posljedice - opetereenje LAN-a = 15 % - optereenje pristupnog voda 15/s 100.000 bitova / 10 106 bitova/s = 0,15 = 15 % - ukupno kanjenje = kanjenje u LANu + kanjenje kod pristupa + kanjenje u Internetu = ms + ms + + 2 s = sekunde HTTP server
Internet

10 Mbps pristupni vod 10 Mbps LAN

Mree raunala II, Aplikacijski sloj

26

HTTP: Caching 2. rjeenje: upotreba meuspremnika (cache)


pretpostavka: Cache Hitrate je 0,4 realno: 40% traenih stranica nalazi se dugorono u meuspremniku, a 60% je potrebno zatraiti od HTTP servera posljedice - optereenje LAN-a = 15 % - optereenje pristupnog voda 0,6 15/s 100.000 bitova / 1,5 106 bitova/s = 0,6 = 60 % - ukupno kanjenje = kanjenje u LANu + kanjenje kod pristupa + kanjenje u Internetu = ms + ms + + 0,6 2 s < 2 s
Internet

HTTP server

1,5 Mbps pristupni vod 10 Mbps LAN

Cache

Mree raunala II, Aplikacijski sloj

27

Aplikacijski sloj Uvod Najee aplikacije


Hypertext Transfer Protocol (HTTP) File Transfer Protocol (FTP) E-Mail Upravljanje mreama (Network Management) Domain Name System (DNS)

Mree raunala II, Aplikacijski sloj

28

FTP File Transfer Protocol


prijenos datoteka izmeu raunala 1 TCP veza (port 21) za upravljanje naredbe: USER username, PASS password, LIST, RETR filename, STOR filename, za prijenos svake datoteke posebna TCP veza (port 20) upravljaki podaci: out-of-band-control

FTP user interface

FTP client

file transfer

FTP server

User local file system


Mree raunala II, Aplikacijski sloj

FTP server

remote file system


29

E-Mail Simple Mail Transfer Protocol (SMTP)


poruke u ASCII formatu, zaglavlje, tijelo ostali podaci (Word datoteke i sl.) pretvaraju se u ASCII format te pridodaju: multimedia mail extension (MIME) slanje pomou SMTP protokola preko TCP itanje preko POP3, HTTP

Alice's agent

SMTP

Bob's Alice's mail server SMTP mail server POP3, HTTP

Bob's agent

Mree raunala II, Aplikacijski sloj

30

E-Mail: SMTP [RFC 821]


koristi TCP za pouzdan prijenos poruka od clienta prema serveru (preko porta 25) direktan prijenos: od servera (poiljatelj) prema serveru (primatelj) 3 faze prijenosa:
handshaking prijenos poruke faza zavretka

interakcija pomou naredbi i odgovora


naredbe: ASCII tekst odgovori: statusni kd i tekst

poruke moraju biti u 7-bitnom ASCII tekstu

Mree raunala II, Aplikacijski sloj

31

Primjer jednog SMTP dijaloga


S: C: S: C: S: C: S: C: S: C: C: C: S: C: S: 220 hamburger.edu HELO crepes.fr 250 Hello crepes.fr, pleased to meet you MAIL FROM: <alice@crepes.fr> 250 alice@crepes.fr... Sender ok RCPT TO: <bob@hamburger.edu> 250 bob@hamburger.edu ... Recipient ok DATA 354 Enter mail, end with "." on a line by itself Do you like ketchup? How about pickles? . 250 Message accepted for delivery QUIT 221 hamburger.edu closing connection
32

Mree raunala II, Aplikacijski sloj

Aplikacijski sloj Uvod Najee aplikacije


Hypertext Transfer Protocol (HTTP) File Transfer Protocol (FTP) E-Mail Upravljanje mreama (Network Management) Domain Name System (DNS)

Mree raunala II, Aplikacijski sloj

33

Upravljanje mreama Zadaci upravljanja mreom


nadzor i administracija mree = sloen HW/SW sustav (mnogo ureaja, vodova, strukture podataka, ) prema ISO slijedeih 5 podruja (FCAPS) primjene - uinak: nadgledanje optereenja, propusnost, vrijeme odgovora, dokumentacija (npr. za nadzor SLA - Service Level Agreements), mjere reakcije - pogreke: nadgledanje, dokumentacija, mjere reakcije - konfiguracija: pregled ureaja i njihove HW/SW konfiguracije - pristup: odreivanje, kontrola, dokumentacija pristupa korisnika i ureaja - sigurnost: nadgledanje i kontrola pristupa, upravljanje kljuevima, npr. pravila filtriranja za firewall, Intrusion Detection razliiti standardi, npr. TMN, CORBA

Mree raunala II, Aplikacijski sloj

34

Upravljanje mreama Simple Network Management Protocol (SNMP)


Agent Data

Rairen protokol Managing Entity, proces na sredinjoj Management Station, Client Network Managed Device, ureaj u mrei management protocol Managed Object, HW ili SW u Managed Device, npr. tablica prosljeivanja Management Agent, proces na Managed Device, izvodi lokalne akcije, Server Request/Reply protokol izmeu Agent Management Entity i Management Agent preko UDP
Managed device

Managing Data entity Managed device Agent Data

Managed device

Agent Data

Data

Managed device

Mree raunala II, Aplikacijski sloj

35

Upravljanje mreama SNMP poruke (Version 2)


GET: itanje neke Managed Object varijable od strane Managing Entity SET: postavljanje (aktualiziranje) neke Managed Object varijable od strane Managing Entity takoer GET-NEXT i GET-BULK za strukture podataka TRAP: obavijest od strane Management Agent o nekoj pogreci

Mree raunala II, Aplikacijski sloj

36

Upravljanje mreama Management Information Base (MIB)


MIB moduli sadre strukture podataka za Managed Objects, normirane od strane IETF Sintaksa je opisana u Structure of Management Information (SMI), definirana od strane IETF, koja se oslanja na Abstract Syntax Notation One (ASN.1) definiran od strane ISO (u osnovi kao C bez referenci) ASN.1 posjeduje i numeracijsku shemu u svrhu jednoznane identifikacije objekata, ime je svaki MIB modul jednoznano odreen pomou Bit Encoding Rules (BER) definira se toan binarni format za prijenos

Mree raunala II, Aplikacijski sloj

37

Upravljanje mreama ASN.1 numeriranje


ITU-T (0) Standard (0) ISO (1) ISO member body (2) US DoD (6) Internet (1) directory management experimentalprivate security snmpv2 (4) (1) (2) (3) (5) (6) MIB-2 (1) system interface address ip (1) (2) translation (4) (3) Mree raunala II, Aplikacijski sloj icmp (5) cmot transmission snmp (9) (10) (11) mail (7) Joint ISO/ITU-T(2) ISO identified organization (3) NATO identified(57)

Open Software Foundation (22)

tcp (6)

udp egp (7) (8)

rmon (16) 38

Upravljanje mreama MIB modul za UDP

Object Identifier 1.3.6.1.2.1.7.1 1.3.6.1.2.1.7.2 1.3.6.1.2.1.7.3

Name udpInDatagrams udpNoPorts udpInErrors

Type Counter32 Counter32 Counter32

Description (from RFC 2013) total number of UDP datagrams delivered to UDP users total number of received UDP datagrams for which there was no application at the destination port number of received UDP datagrams that could not be delivered for reasons other than the lack of an application at the destination port total number of UDP datagrams sent from this entity

1.3.6.1.2.1.7.4

udpOutDatagrams

Counter32

1.3.6.1.2.1.7.5

udpTable

SEQUENCE of UdpEntry

a sequence of UdpEntry objects, one for each port that is currently open by an application, giving the IP address and the port number used by application

Mree raunala II, Aplikacijski sloj

39

Aplikacijski sloj Uvod Najee aplikacije


Hypertext Transfer Protocol (HTTP) File Transfer Protocol (FTP) E-Mail Upravljanje mreama (Network management) Domain Name System (DNS)

Mree raunala II, Aplikacijski sloj

40

DNS Domain Name System (DNS)


Imena hostova odnosno domena DNS preslikava imena domena na neke vrijednosti te vrijednosti su npr. IP adrese DNS je distribuirana baza podataka, sastoji se iz mnogo imenikih servera koji komuniciraju nekim aplikacijskim protokolom osnovna pretpostavka za koritenje infrastrukture! npr. rezolucija imena kod slanja e-maila:
2 cs.princeton.edu Name server 192.12.69.5 3 TCP
Mree raunala II, Aplikacijski sloj 41

User 1 user @ cs.princeton.edu

Mail program 192.12.69.5 4

DNS Struktura domena


DNS implementira hijerarhijski imeniki prostor za Internet objekte ita se od lijevo prema desno, od desno prema lijevo se procesira imeniki serveri upravljaju pojedinim zonama hijerarhija je implementirana kroz imenike servere

edu princeton mit

com

gov

mil arpa navy

org acm ieee

net

de

eu

cisco yahoo nasa nsf

cs

ee

physics

ux01 ux04

Mree raunala II, Aplikacijski sloj

42

DNS Hijerarhija imenikih servera


Root Name Server ima ih nekoliko top-level imeniki server za com, org, net, edu, uk, de, eu, autoritativni imeniki server najdonja razina, za pojedine organizacije
Princeton name server

Root name server

Cisco name server

CS name server

EE name server

Root Name Server (stanje 2004):

Mree raunala II, Aplikacijski sloj

43

DNS: Resource Records


Resource Records
podatkovni elementi (naziv domene, vrijednost, tip, TTL) TTL: Time to Live, vrijeme trajanja tip = A - vrijednost = IP adresa - primjer: (ns.cisco.com, 128.96.32.20, A, TTL) tip = NS - vrijednost = ime domene host-a na kojem se izvodi imeniki server, a koji preslikava imena u domeni - primjer: (princeton.edu, cit.princeton.edu, NS, TTL) tip = CNAME (Canonical Name) - vrijednost = kanonsko ime host-a, omoguuje alias-imena - primjer: (cic.cs.princeton.edu, cicada.cs.princeton.edu, CNAME, TTL) tip = MX (Mail Exchange) - vrijednost = ime domene host-a na kojem se izvodi Mail server - primjer: (cs.princeton.edu, optima.cs.princeton.edu, MX, TTL)

Mree raunala II, Aplikacijski sloj

44

DNS: Resource Records Primjer: Resource Records


Root Name Server (princeton.edu, cit.princeton.edu, NS, TTL) (cit.princeton.edu, 128.196.128.233, A, TTL) (cisco.com, ns.cisco.com, NS, TTL) (ns.cisco.com, 128.96.32.20, A, TTL) sadri imeniki element za svaki server slijedee razine i A-element s IP adresom zajedno ine link na servere druge razine

Mree raunala II, Aplikacijski sloj

45

Вам также может понравиться