Estratto del documento

TCP, UDP

o

 Rete: instradamento dei datagrammi dall’origine al

destinatario

IP, protocolli di instradamento

o

 Link (collegamento): instradamento dei datagrammi

attraverso una serie di commutatori di pacchetto

PPP, Ethernet

o

 Fisico: trasferimento dei singoli bit sfrutta l’incapsulamento

Per trasmettere i dati da un mittente ad un destinatario si

descritto nella figura sottostante:

L’origine produce un messaggio M nel livello applicazione, viene passato nel livello

trasporto sotto forma di segmento, poi va a finire nel livello rete come datagramma

e infine arriva nel livello di collegamento in forma di frame. Qui, sfruttando il livello

fisico, il frame passa nel livello di collegamento di uno switch, ovvero un

commutatore che ha la funzione di far passare i pacchetti da una macchina all’altra a

seconda dell’indirizzo MAC del destinatario. Invece il router ha la funzione di

IP. Una volta

trasmettere i pacchetti da una macchina all’altra attraverso l’indirizzo

che i messaggi arrivano nel livello rete del router, questi vengono mandati nel

destinatario che segue il processo inverso chiamato “deincapsulamento” per far

arrivare il messaggio M nel livello applicazione.

Servizi Con Connessione

Abbiamo detto che i servizi possono essere o “con connessione” (TCP) o “senza

connessione” (UDP). Nel primo caso il servizio è offerto attraverso tre fasi:

1. Apertura della connessione tra due punti della rete

2. Utilizzo della connessione per inviare i dati

3. Chiusura della connessione

accomuna tutti i servizi di connessione è che i dati sono ricevuti

La caratteristica che

nello stesso ordine in cui vengono inviati.

Esistono due variante di flusso di dati: stream di messaggi o stream di byte.

Servizi Senza Connessione

I servizi senza connessione saltano sia la prima che l’ultima fase dei servizi con

connessione.

I dati sono inviati impacchettati in messaggi, ognuno dei quali contiene l’indirizzo

completo del destinatario.

Non arrivano necessariamente nell’ordine in cui sono inviati.

Qualità del Servizio

La qualità del servizio è data da diversi parametri:

 Ordine di consegna dei dati: è garantito solo dai servizi con connessione

 Ricezione garantita del messaggio

Il ricevitore manda un ack (ricevuta) per ogni messaggio.

o Gli ack possono essere usati sia per servizi con connessione che senza

o connessione.

Se il trasmittente non riceve l’ack, può decidere di inviare di nuovo il

o messaggio. Dopo quanto tempo? Uso di un timer.

 Consegna corretta dei messaggi (es. uso di checksum)

 Tempi di consegna: ritardo e jitter (es. per servizi real‐time multimediali)

Servizi Con Connessione e Senza Connessione

I principali tipi di servizi sono descritti nella tabella sottostante:

TCP/IP: Protocolli e Servizi Offerti

Vediamo i protocolli e i servizi offerti dal livello di rete e il livello di trasporto:

Livello di RETE

IP Internet Protocol

• Invio di datagrammi senza garanzia di consegna

• Indirizzamento

• Routing

• Controllo della congestione

• Trasmissione multicast

• Internetworking

Livello di TRASPORTO

TCP Transmission Control Protocol

• Apertura e chiusura della connessione

• Flusso di byte bidirezionale lungo un canale virtuale

• Ordinamento dei dati

• Garanzia della non duplicazione dei dati

• Controllo di flusso

• Controllo degli errori

UDP User Datagram Protocol

• Trasmissione senza connessione e senza garanzia di ordinamento

non affidabile, ma più rapido (es. per servizi real‐time)

• Scambio di messaggi

Confronto tra ISO‐OSI e TCP/IP

Mettiamo a confronto i due modelli.

Quello che si nota è che il modello ISO‐OSI è formato da 7 livelli, mentre il modello

TCP/IP da solo 4 livelli, infatti il livello applicazione di quest’ultimo corrisponde ai

del modello TCP/IP corrisponde

livelli 5, 6 e 7 del modello ISO‐OSI, mentre il livello 1

al primo e al secondo livello del modello ISO‐OSI. Corrispondono solo i livelli rete e

trasporto.

I vantaggi del modello TCP/IP sull’OSI sono fondamentalmente due:

 Quando nacque OSI, TCP/IP era già presente nel mondo accademico come

supporto ad alcune applicazioni molto diffuse (ftp, telnet)

 I protocolli del modello TCP/IP sono molto più semplici e facili da

implementare; inoltre sono open‐source!

Il modello OSI è stato ed è utile per discutere e progettare le reti di computer, ma i

protocolli non si sono mai affermati, al contrario di quelli di TCP/IP

LIVELLO APPLICAZIONE

Creare un’Applicazione di Rete

Creare un’applicazione di rete significa scrivere programmi che girano su sistemi

terminali diversi e che comunicano attraverso la rete. Ad esempio il software di un

server Web comunica con il software di un browser.

Inoltre non occorre predisporre programmi per i dispositivi del nucleo della rete,

quali router o commutatori Ethernet.

Processi Comunicanti

Chiaramente quando realizziamo un’applicazione di rete, stiamo facendo

comunicare fra loro dei processi che girano su macchine diverse. Un processo è un

programma in esecuzione su di un host.

All’interno dello stesso host, due processi comunicano utilizzando schemi

interprocesso (definiti dal sistema operativo). Mentre processi su host differenti

scambio di messaggi.

comunicano attraverso lo

Si distinguono due tipi di processi:

 Processo client: processo che dà inizio alla comunicazione

 Processo server: processo che attende di essere contattato

Nelle applicazione con architetture P2P sono presenti questi due tipi di processi.

Indirizzamento

Affinché un processo su un host invii un messaggio a un processo su un altro host, il

mittente deve identificare il processo destinatario. Su internet tuti gli host sono

identificati attraverso il cosiddetto indirizzo IP, univoco a 32 bit. ad indirizzare

Però l’indirizzo IP è sufficiente ad indirizzare un computer, ma non

un’applicazione. Poiché su uno stesso computer possono girare più applicazioni, si

deve usare un altro numero aggiuntivo per distinguere le varie applicazioni presenti

su uno stesso computer: questo numero è chiamato “numero di porta”.

serve ad

La coppia indirizzo IP‐numero di porta è definita in gergo “socket” e

identificare un’applicazione particolare su una determinata macchina.

Esempio:

 Indirizzo IP: 128.119.245.12

 Numero di porta: 80

Protocollo a Livello di Applicazione

I protocolli a livello di applicazione sono usati per questi scopi:

 Tipi di messaggi scambiati, ad esempio messaggi di richiesta e di risposta

 Sintassi dei tipi di messaggio: quali sono i campi nel messaggio e come sono

descritti

 Semantica dei campi, ovvero significato delle informazioni nei campi

 Regole per determinare quando e come un processo invia e risponde ai

messaggi

Inoltre i protocolli possono essere definiti o da noi o dai altri. Si distinguono in

protocolli di pubblico dominio, che possono essere definiti ad esempio nelle

protocolli

“Request for comments” descritte in precedenza (esempi: HTTP, SMTP), in

proprietari, ovvero protocolli riservati ad esempio a soli due utenti senza che gli altri

lo comprendano (esempio: Skype).

Quale Servizio di Trasporto Richiede un’Applicazione?

Il livello applicazione per funzionare ha bisogno del livello trasporto, quindi quando

viene definito, ad esempio, il protocollo HTTP bisogna decidere quale livello di

trasporto deve usare. La scelta può ricadere o su TCP o su UDP e dipende dalla

fattori:

qualità del servizio che si desidera avere e da altri quattro

 Perdita di dati

 Temporizzazione

 Throughput

 Sicurezza

‐ WEB E HTTP

Una pagina web è costituita da un insieme di oggetti che possono essere file HTML,

un’immagine JPEG, un’applet Java, un file audio, …

Di solito la pagina web contiene un file HTML di base che descrive la formattazione

degli oggetti all’interno della pagina e un insieme di oggetti referenziati da quella

pagina. Il riferimento di un oggetto all’interno di un file HTML avviene attraverso

degli URL.

Un esempio di URL:

Panoramica su HTTP

Il protocollo HTTP (hypertext transfer protocol) è un

protocollo di livello applicazione che permette ad un

client di scaricare una pagina web e i relativi

contenuti da un server web.

Viene implementato un modello client/server dove:

 Client: è il browser che richiede, riceve,

“visualizza” gli oggetti del Web

 Server: il server web invia oggetti in risposta a

una richiesta

HTTP usa il protocollo TCP a livello trasporto e procede come segue:

 Il client inizializza la connessione TCP (crea un socket) con il server, la porta 80

 Il server accetta la connessione TCP dal client

 Messaggi HTTP scambiati fra browser (client HTTP) e server web (server HTTP)

 Connessione TCP chiusa

Inoltre HTTP è un protocollo “senza stato” (stateless), ovvero il server non mantiene

informazione sulle richieste fatte dal client.

Connessione HTTP

HTTP si può realizzare in due modi:

 Connessioni non persistenti: almeno un oggetto viene trasmesso su una

connessione TCP

 Connessioni persistenti: più oggetti possono essere trasmessi su una singola

connessione TCP tra client e server

Connessione Non Persistenti

Supponiamo che l’utente immetta l’URL

“www.someSchool.edu/someDepartment/home.index”, e supponiamo inoltre che la

pagina home.index contenga, oltre al testo, i riferimenti a 10 immagini jpeg.

Vediamo cosa succede quando immettiamo questo URL.

1a. Il client HTTP inizializza una connessione TCP con il server HTTP (processo)

a www.someSchool.edu sulla porta 80.

Il server HTTP all’host www.someSchool.edu in attesa di una connessione

1b.

TCP alla porta 80 “accetta” la connessione e avvisa il client.

2. Il client HTTP trasmette un messaggio di richiesta (con l’URL) nella socket

della connessione TCP. Il messaggio indica che il client vuole l’oggetto

someDepartment/home.index.

HTTP riceve il messaggio di richiesta, forma il messaggio di risposta

3. Il server

che contiene l’oggetto richiesto e invia il messaggio nella sua socket.

4. Il server HTTP chiude la connessione TCP.

5. Il client HTTP riceve il messaggio di risposta che contiene il file html e

il file html, trova i riferimenti a 10

visualizza il documento html. Esamina

oggetti jpeg.

6. I passi 1‐5 sono ripetuti per ciascuno dei 10 oggetti jpeg.

Il vantaggio della connessione non persist

Anteprima
Vedrai una selezione di 10 pagine su 217
Sistemi Operativi e Reti Pag. 1 Sistemi Operativi e Reti Pag. 2
Anteprima di 10 pagg. su 217.
Scarica il documento per vederlo tutto.
Sistemi Operativi e Reti Pag. 6
Anteprima di 10 pagg. su 217.
Scarica il documento per vederlo tutto.
Sistemi Operativi e Reti Pag. 11
Anteprima di 10 pagg. su 217.
Scarica il documento per vederlo tutto.
Sistemi Operativi e Reti Pag. 16
Anteprima di 10 pagg. su 217.
Scarica il documento per vederlo tutto.
Sistemi Operativi e Reti Pag. 21
Anteprima di 10 pagg. su 217.
Scarica il documento per vederlo tutto.
Sistemi Operativi e Reti Pag. 26
Anteprima di 10 pagg. su 217.
Scarica il documento per vederlo tutto.
Sistemi Operativi e Reti Pag. 31
Anteprima di 10 pagg. su 217.
Scarica il documento per vederlo tutto.
Sistemi Operativi e Reti Pag. 36
Anteprima di 10 pagg. su 217.
Scarica il documento per vederlo tutto.
Sistemi Operativi e Reti Pag. 41
1 su 217
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher luixfux di informazioni apprese con la frequenza delle lezioni di Sistemi operativi e reti 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 di Catanzaro - Magna Grecia o del prof Trunfio Paolo.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community