Reti di Telecomunicazione Lezione 6



Documenti analoghi
INFORMATICA DISTRIBUITA. lez 4 Livello applicazione

Livello di Applicazione in Internet

Reti di Telecomunicazione Lezione 8

Dal protocollo IP ai livelli superiori

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Programmazione in Rete

Introduzione. Livello applicativo Principi delle applicazioni di rete. Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio 2-1

Reti di Calcolatori. Il Livello delle Applicazioni

Standard di comunicazione

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Reti di Telecomunicazione Lezione 7

Internet. Internet. Internet Servizi e Protocolli applicativi. Internet. Organizzazione distribuita

Transmission Control Protocol

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

Introduzione alle applicazioni di rete

Applicazioni web centrati sui dati (Data-centric web applications)

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Informatica per la comunicazione" - lezione 8 -

Siti web centrati sui dati (Data-centric web applications)

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Protocolli applicativi: FTP

Le Reti Informatiche

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito

Introduzione alla rete Internet

Finalità delle Reti di calcolatori. Le Reti Informatiche. Una definizione di Rete di calcolatori. Hardware e Software nelle Reti

appunti delle lezioni Architetture client/server: applicazioni client

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

Reti di calcolatori. Reti di calcolatori

Come leggere ed interpretare la letteratura scientifica e fornire al pubblico informazioni appropriate sui farmaci

I canali di comunicazione

InterNet: rete di reti

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

MODELLI ISO/OSI e TCP/IP

@2011 Politecnico di Torino. Pag. 1. Architettura distribuita. Architetture Client/Server. Architettura centralizzata. Architettura distribuita

Architettura client-server

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Lo scenario: la definizione di Internet

Comprendere cosa è Internet e sapere quali sono i suoi principali impieghi. 25/09/2011 prof. Antonio Santoro

Informatica per la comunicazione" - lezione 9 -

OSOR. Applicazioni di Rete

Introduzione alla rete Internet

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

Introduzione alla rete Internet

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

Reti: cenni storici. Who s who

Reti di Calcolatori. Corso di Informatica. Reti di Calcolatori. Reti di Calcolatori. Corso di Laurea in Conservazione e Restauro dei Beni Culturali

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

Reti locati e reti globali. Tecnologie: Reti e Protocolli. Topologia reti. Server e client di rete. Server hardware e server software.

Aspetti SW delle reti di calcolatori. L architettura del sistema. La struttura di Internet 22/04/2011

URI. Introduzione. Pag. 1

Reti di Calcolatori. una rete di calcolatori è costituita da due o più calcolatori autonomi che possono interagire tra di loro una rete permette:

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Reti e Internet: introduzione

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO

Laboratorio di Informatica Corso di laurea in Lingue e Studi interculturali. AA Paola Zamperlin. Internet. Parte prima

Capitolo 1 - parte 1. Corso Reti ed Applicazioni Mauro Campanella

Internet: architettura e servizi

Internet e le reti. Navigare in rete. Un po di confusione sui termini. Internet WWW Web Servizi i Internet Sito Internet. Sinonimi?!?

Internet: architettura e servizi

QoS e Traffic Shaping. QoS e Traffic Shaping

Programmazione dei socket con TCP #2

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi.

Informatica. Prof. M. Colajanni Università di Modena Reggio Emilia

Progettare un Firewall

12.5 UDP (User Datagram Protocol)

TCP/IP: INDIRIZZI IP SIMBOLICI

La sicurezza delle reti

HTML il linguaggio per creare le pagine per il web

Reti diverse: la soluzione nativa

Cognome Nome Matricola Tempo a disposizione per lo svolgimento: 1 ora e 20 min Avvertenza: Si usi lo spazio dopo ogni quesito per lo svolgimento.

LE POSSIBILITA' DI ACCESSO DA REMOTO ALLE RETI DI CALCOLATORI

Il livello delle applicazioni. Si trattano qui i servizi proposti agli utenti dalle reti

Indice. Prefazione XIII

Reti commutate. Reti commutate. Reti commutate. Reti commutate. Reti e Web

Cenni di programmazione distribuita in C++ Mauro Piccolo

Socket & RMI Ingegneria del Software - San Pietro

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella

Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, Pisa

Lezione n 1! Introduzione"

Internet e posta elettronica. A cura di Massimiliano Buschi

RETI INFORMATICHE Client-Server e reti paritetiche

Protocolli di rete. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 02 Protocolli - 2/30

Inizializzazione degli Host. BOOTP e DHCP

ESERCITAZIONE Semplice creazione di un sito Internet

Lezione 1 Introduzione

Internet Architettura del www

Il Livello delle Applicazioni

Contenuti. Applicazioni di rete e protocolli applicativi

Letture consigliate: W. Richard. Stevens, UNIX Network Programming, volume 1 Networking APIs: Socket and XTI, second edition, ed.

Informatica Corso AVANZATO. Internet: teoria e funzionamento

Ipertesto. Reti e Web. Ipertesto. Ipertesto. Ipertestualità e multimedialità

SS SISTEMI DI COMUNICAZIONE: C O PROTOCOLLI APPLICATIVI

Transcript:

Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it

Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server comunicazione attraverso la rete indirizzamento di processi user agent Servizi per le applicazioni Servizi offerti dal livello di trasporto

Lo strato di applicazione Una applicazione di rete (o distribuita) è un insieme di programmi che operano concorrentemente, scambiandosi informazioni attraverso una rete Per poter comunicare, una applicazione di rete necessita di un supporto da parte dei sistemi il supporto sistemico per le applicazioni di rete è offerto dal livello di applicazione dello stack Internet Ogni processo che opera su un nodo della rete, può scambiare messaggi con gli altri processi della medesima applicazione utilizzando i servizi offerti dal livello di applicazione

Lo strato di applicazione Due processi comunicano utilizzando i servizi offerti dallo strato di applicazione application transport network data link physical application transport network data link physical

Protocolli di applicazione E importante distinguere tra applicazioni e protocolli di applicazione un protocollo di applicazione è implementato dal livello di applicazione quindi, un protocollo è una parte (importante) di una applicazione Ad esempio, l applicazione World Wide Web (WWW) è costituita da numerose componenti, come i browser, i server ed i proxy server utilizza molte convenzioni per codificare i dati, come HTML, CSS,... per permettere la comunicazione tra i vari componenti, utilizza un protocollo implementato nel livello di applicazione: HTTP (HyperText Transfer Protocol)

Protocolli di applicazione Un protocollo del livello di applicazione definisce: i tipi di messaggi scambiati, per esempio, messaggi di richiesta o di risposta la sintassi dei vari tipi di messaggio, per esempio, i campi del messaggio e come questi campi vengono codificati la semantica dei messaggi, ovvero il significato dell informazione dei messaggi, e quale è il modo corretto di interpretarla le regole per determinare quando e come un processo invia messaggi o risponde a messaggi Il software del livello applicazione che realizza un protocollo si preoccupa di rispettare la specifica data dal protocollo stesso

User agents Una componente (processo) di una applicazione di rete è composta di due parti: l implementazione dei protocolli che permettono all applicazione di funzionare, come parte del livello di applicazione uno user agent, che funge da interfaccia tra l utilizzatore dell applicazione e gli aspetti comunicativi Ad esempio, un browser Web: ha una interfaccia utente che serve a visualizzare i documenti ricevuti ed a permettere la loro navigazione inoltre l interfaccia utente consente di richiedere nuovi documenti specificando la loro URL il motore di un browser, invece, è la parte che si preoccupa di inviare le richieste ai vari server e di ricevere le risposte

User agents Client User Agent Protocol messages User Agent Protocol Server Client User Agent Protocol Un processo, parte di una applicazione di rete, è composto da una implementazione dei protocolli di livello applicazione e da uno user agent

Codificare un protocollo Per codificare un protocollo di livello applicazione, è necessario comunicare con l interfaccia del livello di trasporto Lo strumento di programmazione messo a disposizione nel caso dello stack Internet è dato dalla API (Application Programmer s Interface) delle socket Protocol Una socket consente di comunicare attraverso la rete utilizzando lo stack di Internet a partire dal livello di trasporto in questo corso non spiegheremo la sintassi e l uso delle socket, essendo questo argomento già trattato in altri corsi

Indirizzamento dei processi Affinché lo strato di applicazione di un processo possa inviare un messaggio ad un altro processo su di un altro nodo, è necessario identificare il processo ricevente in realtà, vogliamo identificare lo strato di applicazione del processo ricevente Questo indirizzamento è composto di due parti una identificazione del nodo su cui opera il processo con cui si desidera comunicare una identificazione del particolare processo all interno di quel nodo L indirizzamento di un processo è una funzione che viene fornita dallo strato di trasporto

Indirizzamento dei processi Il nome dell host viene codificato in modo univoco su tutta Internet mediante un indirizzo IP l indirizzo IP è una parte del protocollo di livello rete IP Il processo da indirizzare viene identificato con una coppia di valori: il protocollo di trasporto che si intende utilizzare (TCP, UDP o altro) l unico processo (se esiste) sull host indirizzato che sia associato ad un certo valore di porta

Indirizzamento dei processi Il nome dell host viene codificato in modo univoco su tutta Internet mediante un indirizzo IP l indirizzo IP è una parte del protocollo di livello rete IP Il processo da indirizzare viene identificato con una coppia di valori: il protocollo di trasporto che si intende utilizzare (TCP, UDP o altro) l unico processo (se esiste) sull host indirizzato che sia associato ad un certo valore di porta host processo

Indirizzamento dei processi Il nome dell host viene codificato in modo univoco su tutta Internet mediante un indirizzo IP l indirizzo IP è una parte del protocollo di livello rete IP Il processo da indirizzare viene identificato con una coppia di valori: il protocollo di trasporto che si intende utilizzare (TCP, UDP o altro) l unico processo (se esiste) sull host indirizzato che sia associato ad un certo valore di porta host processo indirizzo IP protocollo porta

Indirizzamento dei processi Il nome dell host viene codificato in modo univoco su tutta Internet mediante un indirizzo IP l indirizzo IP è una parte del protocollo di livello rete IP Il processo da indirizzare viene identificato con una coppia di valori: il protocollo di trasporto che si intende utilizzare (TCP, UDP o altro) l unico processo (se esiste) sull host indirizzato che sia associato ad un certo valore di porta nome processo indirizzo IP protocollo porta globalmente unico specifico dell host

Indirizzamento dei processi Il protocollo di trasporto ed il numero di porta sono definiti a priori per i server che offrono un servizio pubblico Ad esempio: per inviare una email usando il protocollo applicativo SMTP, occorre inviare un messaggio opportunamente codificato alla porta TCP 25 del server per richiedere una pagina web, si usa il protocollo applicativo HTTP, che invia un opportuno messaggio di richiesta alla porta TCP 80 del server per trasformare un nome di un calcolatore in un indirizzo IP, si invia una opportuna richiesta alla porta UDP 53 di un DNS server Per sapere quali sono i protocolli di trasporto e le porte associate ai vari servizi applicativi standard, si veda http://www.iana.org

Servizi per una applicazione Quali servizi servono ad una applicazione? Ogni applicazione di rete ha bisogno di servizi specifici Ogni servizio specifico viene realizzato da un opportuno protocollo, che può essere standard oppure progettato e realizzato ad hoc Quali caratteristiche deve offrire il livello di trasporto per poter efficacemente implementare protocolli di livello applicativo? Sebbene ogni protocollo di livello applicativo abbia le proprie specificità, tuttavia il trasporto dei messaggi da un punto ad un altro della rete è una caratteristica comune di tutte le applicazioni Tuttavia esiste più di un protocollo di trasporto Quale protocollo di trasporto adottare per realizzare un protocollo applicativo?

Perdita di dati Servizi per una applicazione alcune applicazioni (ad esempio, audio) possono sopportare la perdita di alcuni dati altre applicazioni (ad esempio, trasferimento di files) richiedono un trasferimento di informazione affidabile al 100% Due protocolli di trasporto quando la perdita di dati è un fatto accettabile, il protocollo di trasporto può essere senza connessione: nello stack Internet, UDP quando la perdita di dati è un evento inaccettabile, il protocollo deve essere orientato alla connessione, ovvero essere affidabile: nello stack Internet, TCP

Servizi per una applicazione Temporizzazione alcune applicazioni (ad esempio, telefonia su Internet, giochi interattivi) richiedono ritardi molto contenuti per essere efficaci Protocolli di trasporto il protocollo TCP non è affidabile dal punto di vista temporale: un pacchetto è garantito che giunga integro a destinazione, ma non entro un tempo stabilito a priori il protocollo UDP è più veloce di TCP, dovendo effettuare meno controlli, tuttavia non è temporalmente affidabile Soluzione usare un protocollo di trasporto in tempo reale, come RTP (Real Time Protocol) studiare i ritardi di rete e calibrare gli apparati ed i collegamenti per garantire di restare nei limiti di tempo prefissati, quindi usare UDP o TCP

Servizi per una applicazione Larghezza di banda alcune applicazioni (ad esempio, multimedia) richiedono una quantità minima di larghezza di banda per poter essere efficaci altre applicazioni (elastiche) fanno uso della quantità di banda che hanno a disposizione Protocolli di trasporto su Internet, proprio per la sua natura eterogenea, non è possibile garantire la presenza di una certa quantità di banda per trasmettere un messaggio Soluzione implementare un protocollo applicativo che realizza un circuito virtuale costruire un protocollo flessibile, che fallisce o si adatta se la banda è insufficiente

Servizi per una applicazione Applicazione Perdita di dati Banda Tempo trasferimento di file posta elettronica documenti web audio/video in tempo reale audio/video memorizzati giochi interattivi applicazioni finanziarie esclusa esclusa tollerabile tollerabile tollerabile tollerabile esclusa elastica elastica elastica audio: 5K-1Mbs video:10k-5mbs come sopra pochi Kbps elastica no no no sì, 100 ms sì, pochi sec sì, 100 ms sì e no

Applicazioni e trasporto Applicazione posta elettronica accesso remoto Web trasferimento file streaming multimedia file server remoto telefonia su Internet Protocolli di livello applicazione smtp [RFC 821] telnet [RFC 854] http [RFC 2068] ftp [RFC 959] proprietario (ad es., RealNetworks) NFS, SMB proprietario (ad es., Vocaltec) TCP TCP TCP TCP Protocollo di trasporto usato TCP o UDP TCP o UDP usualmente UDP

Questa lezione è tratta da: Kurose, cap. 2.1 Conclusione Esercizi: Studiare il protocollo HTTP: siete in grado di identificare i tipi di messaggio, le regole di scambio, le regole di codifica? Rivedere cosa sono e come funzionano le socket Quali protocolli di trasporto scegliereste per il servizio applicativo del Domain Name System? Perché? Quali protocolli di trasporto scegliereste per realizzare un gioco di ruolo su rete? Perché? E per una simulazione di Gran Premio?