Anteprima
Vedrai una selezione di 10 pagine su 45
Reti dei calcolatori - Appunti Pag. 1 Reti dei calcolatori - Appunti Pag. 2
Anteprima di 10 pagg. su 45.
Scarica il documento per vederlo tutto.
Reti dei calcolatori - Appunti Pag. 6
Anteprima di 10 pagg. su 45.
Scarica il documento per vederlo tutto.
Reti dei calcolatori - Appunti Pag. 11
Anteprima di 10 pagg. su 45.
Scarica il documento per vederlo tutto.
Reti dei calcolatori - Appunti Pag. 16
Anteprima di 10 pagg. su 45.
Scarica il documento per vederlo tutto.
Reti dei calcolatori - Appunti Pag. 21
Anteprima di 10 pagg. su 45.
Scarica il documento per vederlo tutto.
Reti dei calcolatori - Appunti Pag. 26
Anteprima di 10 pagg. su 45.
Scarica il documento per vederlo tutto.
Reti dei calcolatori - Appunti Pag. 31
Anteprima di 10 pagg. su 45.
Scarica il documento per vederlo tutto.
Reti dei calcolatori - Appunti Pag. 36
Anteprima di 10 pagg. su 45.
Scarica il documento per vederlo tutto.
Reti dei calcolatori - Appunti Pag. 41
1 su 45
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

2.1.4 SERVIZIO DI TRASPORTO OFFERTI DA INTERNET

Internet (come ogni TCP/IP) mette a disposizione delle applicazioni due protocolli di

trasporto: UDP e TCP.Ovvero due protocolli che offrono un modello di servizio diverso.

TCP prevede un servizio orientato alla connessione e il trasporto affidabile dei dati.

Quando un’applicazione invoca TCP come protocollo di trasporto, riceve i seguenti

servizi.

Servizio orientato alla connessione: TCP fa in modo che client e server si

scambino informazioni di controllo a livello di trasporto prima che i messaggi a

livello di applicazione comincino a fluire. Questa procedura detta di

handshaking, mette in allerta client e server preparandoli alla partenza dei

pacchetti. Dopo tale fase, si dice che esiste una connessione TCP tra le socket

dei due processi e tale connessione è full-duplex, nel senso che i due processi

possono scambiarsi contemporaneamente messaggi sulla connessione.

Servizio di trasporto affidabile: i processi comunicanti possono contare su

TCP per trasportare i dati senza errori e nell’ordine opportuno.

Controllo della congestione: servizio che riguarda il benessere generale di

Internet e non quello diretto dei processi comunicanti. Il meccanismo di

controllo della congestione esegue una strozzatura del processo di invio quando

il traffico di rete appare eccessivo. Il controllo di congestione di TCP cerca anche

di confinare le connessioni TCP all’interno della loro porzione di ampiezza di

banda.

Controllo di flusso: il mittente può sovraccaricare il destinatario;

Non vengono garantiti temporizzazione e ampiezza di banda e gli sviluppatori di

applicazioni in tempo reale solitamente scelgono UDP anziché TCP.

UDP: è un protocollo di trasporto leggero e senza fronzoli, dotato di un modello di

servizi minimalista. UDP è senza connessione, non necessita quindi di handshaking, e

fornisce un servizio di trasferimento dati inaffidabile. Così, quando un processo invia

un messaggio tramite la socket UDP, il protocollo non garantisce che questo raggiunga

il processo di destinazione. UDP non include un meccanismo di controllo della

congestione, pertanto un processo d’invio UDP può spingere i dati al livello sottostante

di rete a qualsiasi frequenza. UDP non offre:

- Setup della connessione affidabilità;

- Controllo di flusso;

- Controllo della congestione;

- Temporizzazione;

- Ampiezza di banda minima;

indirizzamento: un processo su di un host per poter inviare un messaggio ad un

processo su un altro host deve identificare il processo destinatario. Gli indirizzi degli

host nelle applicazioni internet vengono identificati attraverso i loro indirizzi IP. Un

indirizzo IP è una stringa di 32 bit che identifica univocamente l’host. Oltre a conosere

l’indirizzo dell’host cui è destinato il messaggio, il mittente deve anche identificare il

processo destinatario. Questa informazione è necessaria in quanto, in generale,

sull’host potrebbero essere in esecuzione molte applicazioni di rete. Il numero di

porta destinazione risponde a questo compito (i server web sono identificati con la

porta 80, mentre i server posta sono identificati dalla porta 25). L’identificatore

comprende sia l’indirizzo Ip che i numeri di porta associati al processo in esecuzione

su un host.

2.1.5 PROTOCOLLI A LIVELLO DI APPLICAZIONE

Un protocollo a livello di applicazione definisce come i processi di un’applicazione,

in esecuzio su sistemi terminali diversi, si scambiano i messaggi. In particolare, un

protocollo a livello di applicazione definisce:

- I tipi di messaggi scambiati (per esempio di richiesta o di risposta);

- La sintassi dei vari tipi di messaggio (per esempio quali sono i campi nel

messaggio e come vengono descritti);

- La semantica dei campi, ossia il significato delle informazioni che contengono;

- Le regole per terminare quando e come un processo invia e risponde ai

messaggi;

Alcuni protocolli a livello di applicazione vengono specificati dalle RRFC e sono

pertanto di pubblico dominio(http,SMTP). Altri protocolli a livello di applicazione

sono privati e volutamente non disponibili al pubblico (per esempio in molti sistemi di

condivisione dei file P2P e KAzaA).

E’ importante distinguere tra applicazioni di rete e protocolli a livello di applicazione.

Un protocollo a livello di applicazione è solo una parte di un’applicazione di rete,

ad esempio http è un protocollo a livello di applicazione del Web, che definisce il

formato e la sequenza dei messaggi che vengono scambiati tra browser e server web.

E’ pertanto solo una parte dell’applicazione web.

2.2 WEB e http

Nei primi anni ’90, comparve sulla scena una nuova importante applicazione: il World

Wide Web. Il Web è l’applicazione Internet che ha catturato l’attenzione del pubbico,

cambiando profondamente il modo di interagire all’interno e all’esterno degli ambienti

di lavoro. Venne ideato da Berners Lee nel 1994 e fu il primo programma client. Inoltre

Bernes Lee scrisse la prima versione di formattazione http..

Il Web opera su richiesta, ovvero gli utenti possono avere ciò che vogliono, quando

vogliono. Inoltre è facilissimo per tutti rendere disponibili informazioni sul Web.

HTTP (Hypertext transfer protocol), protocollo a livello di applicazione web,

definito in [RFC 1945] e [RFC 2616], e costituisce il cuore del Web. Questo protocollo è

implementato in due programmi, client e server, in eseczione su sistemi terminali

diversi, che comunicano tra loro scambiandosi messaggi http.

Una pagina web , detta anche documento, è costituita da oggetti. Un oggetto è

semplicemente un file indirizzabile tramite un solo URL. La maggioranza delle pagine

web consiste di file base HTML e diversi oggetti referenziati. Il file base HTML

referenzia gli altri oggetti nella pagina tramite il loro URL. Ogni URL ha due

componenti: il nome dell’host del server che ospita l’oggetto e il percorso

dell’oggetto.

Un browser web implementa il lato client di http. Un server web, che implementa il

lato server di http, ospita oggetti web, indirizzabili tramite URL. Dunque l’http utilizza

un modello client/server, dove il client è rappresentato dal browser che richiede,

riceve e visualizza gli oggetti del Web e il server web invia oggetti in risposta a una

richiesta.

HTTP utilizza TCP (anziché UDP) come protocollo di trasporto. Il client http per prima

cosa inizia una connessione TCP con il server usando la porta 80. Il server accetta la

connessione TCP dal client e il client http (browser) e il server http (server web) si

scambiano messaggi http. Al termine la connessione TCP è chiusa.

HTTP è un protocollo senza stato, ovvero il server non mantiene informazioni sulle

richieste fatte dal client.

NB: un server web è sempre attivo,ha indirizzo IP fisso e risponde potenzialmente alle

richieste da milioni di diversi browser.

2.2.2 Connessioni persistenti e non persistenti

Le connessioni non persistenti si definiscono in quanto almeno un oggetto viene

trasmesso su una stessa connessione TCP (http 1.0 usa connessioni persistenti),

mentre le connessioni persistenti prevedono che più oggetti possono essere

trasmessi su una singola connessione TCP tra client e server (http 1.1 usa connessioni

persistenti nella modalità di default).

Supponiamo che l’utente immetta l’URL:

www.someSchool.edu/someDepartment/home.index

che contiene testo e riferimenti ad immagini per un totale di 10 oggetti jpeg. Ecco

cosa avviene:

1. Il processo client http inizializza una connessione TCP con il server

www.someSchool.edu sulla porta 80, che è la porta di default per http.

Associate alla connessione TCP ci saranno anche una socket al client e una al

server.

2. Il client http, tramite la porta socket, invia al server un messaggio di richiesta

http che include il percorso /someDepartment/home.index;

3. Il processo server http riceve il messaggio di richiesta attraverso la propria

socket associata alla connessione, recupera l’oggetto

/someDepartment/home.index dalla memoria centrale, lo incapsula in un

messaggio di risposta http che vinee inviato al client attraverso la socket.

4. Il processo http comunica a TCP di chiudere la connessione. Questi in realtà non

termina la connessione fino a quando non è certo che il client abbia ricevuto

integro il messaggio di risposta;

5. Il client http riceve il messaggio di risposta. La connessione TCP termina Il

messaggio indica che l’oggetto incapsulato è un file HTML. Il client estrae il file

dal messaggio di risposta, esamina il file HTML e trova i riferimenti ai 10 oggeti

JPEG.

6. Vengono quindi ripetuti i primi 4 passi per ciascuno degli oggetti JPEG

referenziati.

Schema del tempo di risposta: è il tempo impiegato da un piccolo pacchetto per

andare dal client al server e ritornare al client. Il tempo di risposta totale include i

ritardi di propagazione, di accodamento nei router e nei commutatori intermedi e di

elaborazione del pacchetto. Dunque il tempo di risposta totale comprende:

- Un RTT per inizializzare la connessione TCP;

- Un RTT perché ritorni la richiesta http di connessione e i primi byte della

risposta http.

- Il tempo di trasmissione del file.

Dunque in totale saranno 2RTT + il tempo di trasmissione. Dunque vi sono numerosi

svantaggi per le connessioni non persistenti, ovvero richiede 2RTT per oggetto e si

verifica un OVerhead del sistema operativo ogni connessione TCP (inizializzazione

strutture dati, allocazione buffer). I browser spesso aprono connessioni TCP parallele

per caricare gi oggetti referenziati.

Nelle connessioni persistenti il server lascia aperta la connessione TCP dopo l’invio

di una risposta e i successivi messaggi vengono spediti sulla stessa connessione. Le

connessioni persistenti possono essere di due tipi:

- Una di seguito all’altra (back-to-back): il client invia una richiesta non

appena incontra un oggetto referenziato. Un solo RTT per ogni oggetto

referenziato. Modalità di default in http /1.1

- Senza aspettare le risposte pendenti (pipeling): il client invia una nuova

richiesta solo quando ha ricevuto la risposta precedente. E’ necessario un RTT

per ogni oggetto referenziato;

Formato dei messaggi HTTP: le specifiche http [RFC 2616] includono la definizione

dei due formati dei messaggi http, di richiesta e di risposta.

- Messaggio di richiesta HTTP: un esempio tipico è

-

Osservandolo, accuratamente, inanzittutto notiamo che il messaggio è scritto in

ASCII normale, in modo che l’utente sia in grado di leggerlo. Inoltre notiamo che

consiste di cinque riche, ciascuna seguita da un comando d’invio e di nuova linea.

L’ultima riga è seguita da un comando d’invio e di nuova linea aggiuntivo. In

genere, i messaggi di ri

Dettagli
Publisher
A.A. 2013-2014
45 pagine
SSD Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher donMatteo92 di informazioni apprese con la frequenza delle lezioni di Reti di calcolatori e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi della Basilicata o del prof Behrouz Forouzan.