Informatica Lezione 9 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2007-2008 Tipi di comunicazione • Comunicazione sincrona: il mittente e il destinatario sono attivi nello stesso momento – Per esempio, una conversazione telefonica • Comunicazione asincrona: l’invio e la ricezione hanno luogo in istanti diversi – Per esempio, una cartolina • Comunicazione broadcast: un singolo mittente e molti destinatari – Per esempio, la radio, la TV • Comunicazione multicast: un singolo mittente e un numeri limitato di destinatari: – Per esempio, le riviste • Comunicazione point-topoint: un singolo mittente e un singolo destinatario – Per esempio, il telefono Tipi di comunicazione • Internet può essere considerato come un mezzo di comunicazione universale – Asincrona point-to-point: per esempio, la posta elettronica – Sincrona point-to-point: per esempio, Instant Messaging, Voice over IP – Multicast: per esempio, gruppi di piccola o media dimensione possono comunicare nelle chat – Broadcast: per esempio, le pagine web Componenti di Internet Modem Host (o sistema terminale) Commutatore di pacchetto Stazione base Collegamento satellitare Componenti di Internet ISP distrettuale ISP locale Rete aziendale Componenti di Internet • Host (o sistema terminale): – Tradizionalmente, un PC, un workstation, o un computer più potente – Sempre più connessi i sistema terminali come portatili, PDA, televisori, telefoni cellulari, automobili, elettrodomestici, ecc. • Collegamenti (communication link): – Di vari tipi: cavi (di rami, fibre ottiche ecc.), onde elettromagnetiche (collegamenti senza fili, satellitari ecc.) • Commutatori di pacchetto: – I computer vengono connessi in un modo indiretto tramite dispositivi di instradamento – Prendono informazioni da uno dei collegamenti e ritrasmettono su un altro collegamento (verso la destinazione finale) Componenti di Internet • ISP (Internet Service Provider): – Potrebbe essere istituzionale (per esempio, le compagnie telefoniche), aziendale, universitari ecc. – Contiene un insieme di collegamenti e commutatori di pacchetto – Fornisce ai sistemi terminali vari tipi d’accesso ad Internet • Per esempio, dial-up a 56 Kbps via modem, a banda larga, senza fili ecc. – Fornisce anche ai fornitori di contenuti l’accesso a Internet • Per esempio, per connettere un sito web a Internet Client/server • I host possono essere identificati come client e/o server • Client: il computer che richiede servizi da un altro computer – Normalmente: i PC, PDA, ecc. • Server: il computer che fornisce un servizio a un client – Normalmente: computer potenti Client/server • Esempi di server (in una rete locale): – Server gestore dei dati (file server): gestisce la memorizzazione e la condivisione di dati – Server di stampa (printer server): gestisce le stampanti disponibili nella rete – Server di comunicazione: permette l’accesso ad altre reti locali o ad Internet • Esempio di server (in Internet): – Web server: risponde alle richieste per accedere a una pagina web – Server di posta elettronica: riceve e memorizza email, permette la lettura della casella di posta elettronica Client/server • Tipicamente, in un certo (lungo) intervallo di tempo: – un host può essere client di molti server – un host può essere server di molti client • Per esempio: un client può richiedere tanti siti web, un web server può fornire una pagina web a tanti client Client Client Server Server Client Server Client Client Server Client Server Client Server Client Client/server • Nel contesto di software per le reti: – Programma client: un programma eseguito da un host che richiede e riceve un servizio da un programma server in esecuzione su un altro host – Programmi Peer-to-peer (P2P): un programma P2P sul host funziona sia come client che come server • Un host in questo caso viene chiamato peer • Un host agisce come client quando richiede un documento da un altro peer • … agisce invece come server quando invia un file a un altro peer • Esempio: la telefonia Internet (Voice over IP), condivisione dei file (file sharing) I protocolli • I protocolli controllano l’invio e la ricezione di informazione in Internet, e nelle reti in generale – Usati dai sistemi terminali, i commutatori di pacchetto e altre parte di Internet • Dal testo “Internet e Reti di Calcolatori” di Kurose e Ross: – “Un protocollo definisce il formato e l’ordine dei messaggi scambiati tra due o più entità in comunicazione, così come le azioni intraprese in fase di trasmissione e/o di ricezione di un messaggio o di un altro evento” • I principali protocolli in Internet: nome collettivo di TCP/IP – TCP: Transmission Control Protocol – IP: Internet Protocol I protocolli • Un analogia: Ciao Ciao Sai l’ora? 2:00 Tempo Tempo I protocolli Richiesta di connessione TCP Risposta di connessione TCP Get http://www.di.unito.it/sproston <file> Tempo Tempo I protocolli • Il protocollo usato quando si invia una richiesta per una pagina web: – Nostro computer invia la richiesta per una connessione al server web (il computer che fornisce la pagina web) – Il server web risponde con un messaggio di risposta di connessione – Nostro computer invia il nome della pagina che vuole prelevare tramite il messaggio “Get” – Il server web restituisce la pagina (<file>) a nostro computer I protocolli • Un protocollo “monolitico” che realizzi tutte le funzionalità necessarie per la comunicazione tra elaboratori in rete è difficile da realizzare • Inoltre, se cambia qualche componente della rete, si deve modificare l’intero protocollo • Per ridurre la complessità di progettazione la maggior parte dei protocolli è organizzata come una serie di livelli – Il numero dei livelli, il loro nome, le funzionalità differiscono da una rete ad un’altra I protocolli Francese Tedesco Francese a inglese Inglese a tedesco Inglese Inglese I protocolli • Nei protocolli di comunicazione nelle reti si ipotizzano dei livelli e – Il livello n di un dispositivo in rete comunica (virtualmente) con il livello n di un altro dispositivo • In realtà nessun dato viene trasferito da un livello n ad un altro (n>1) ma passa ad un livello sottostante – Un protocollo di livello n svolge le sue funzioni usando i servizi forniti dal livello n-1 e fornisce i servizi al livello n+1 I protocolli • Per ogni coppia di livelli adiacenti esiste una interfaccia • Al di sotto del livello più basso c’è il mezzo fisico che serve per il trasferimento dei dati • Un livello di protocollo può essere implementato via software, hardware, o in modo combinato • Possibili svantaggi del uso dei livelli: – La possibilità che un livello duplichi le funzionalità di quello inferiore – Un livello può richiedere informazioni presenti solo in un altro livello I protocolli Internet: TCP/IP • La famiglia di protocolli TCP/IP - cinque livelli: Applicazione Applicazione Trasporto Trasporto Rete Rete Collegamento Collegamento Fisico Fisico I protocolli Internet: TCP/IP Livello di applicazione HTTP FTP SMTP TELNET TCP … UDP IP DNS … Livello di trasporto Livello di rete Livello di collegamento Livello fisico I protocolli Internet: TCP/IP • I protocolli del livello di applicazione: – Ruolo: vari funzioni, relativi ai programmi applicativi di Internet usati dagli utenti – Per esempio: • SMTP: Simple Mail Transfer Protocol • FTP: File Transfer Protocol • TELNET • HTTP: HyperText Transfer Protocol • DNS: Domain Name System – Creano messaggi di vari tipi (per esempio, messaggi di richiesta per la visualizzazione di una pagina web, un messaggio che contiene un’email/una pagina web, ecc.) Applicazione Trasporto Rete Collegamento Fisico I protocolli Internet: TCP/IP • I protocolli del livello di trasporto: – Ruolo: trasferimento dei messaggio dal livello di applicazione dall’origine alla destinazione (da un host a un altro) – In Internet, due protocolli di trasporto: • TCP (Transmission Control Protocol): – Garantisce il trasferimento dei messaggi – Controlla il flusso in rete (fa il confronto della velocità tra il mittente e il destinatario) – Frazione il messaggio in frammenti più brevi (pacchetti) • UDP: non fornisce nessuna garanzia di consegna di un messaggio (tipicamente usati per la telefonia Internet e la videoconferenza) Applicazione Trasporto Rete Collegamento Fisico I protocolli Internet: TCP/IP • I protocolli del livello di rete: – Ruolo: trasferimento dei pacchetti dall’origine alla destinazione (da un host a un altro) – Due principali componenti: • Protocollo IP: definisce l’informazione che deve essere aggiunto al pacchetto per realizzare il trasferimento nella rete • Protocolli per instradamento: determinano i percorsi che i pacchetti devono seguire nella rete – Internet è una rete di reti: ognuna può scegliere il proprio protocollo di instradamento – Livello spesso chiamato livello IP Applicazione Trasporto Rete Collegamento Fisico I protocolli Internet: TCP/IP • I protocolli del livello di collegamento: – Ruolo: trasferimento dei pacchetti da un nodo della rete al successivo – Alcuni protocolli del livello di collegamento garantiscono la consegna affidabile – Un pacchetto potrebbe essere gestito da differenti protocolli lungo il suo percorso dall’origine alla destinazione – Esempi: Ethernet, PPP (protocollo puntoa-punto) Applicazione Trasporto Rete Collegamento Fisico I protocolli Internet: TCP/IP • Ethernet: diffuso per le reti locale, in cui un numero di computer condividono un mezzo di comunicazione – Quando un computer vuole comunicare, verifica che il mezzo di comunicazione sia libero e invia il segnale – Se invece si accorge che un altro computer sta trasmettendo, aspetta – Se si verifica un conflitto (due o più computer hanno inviato i loro messaggi contemporaneamente) i computer coinvolti: • si fermano • aspettano per un tempo T casuale • riprovano la trasmissione • Lo stesso tipo di gestione di conflitti: anche in reti senza fili (IEEE 802.11) Applicazione Trasporto Rete Collegamento Fisico I protocolli Internet: TCP/IP • I protocolli del livello fisico: – Ruolo: trasferire i singoli bit da un nodo (host, commutatore ecc.) nella rete a un altro – Sono dipendenti dall’effettivo mezzo trasmissivo del collegamento • Per esempio, possiamo avere protocolli diversi per tipi di cavi diversi, per collegamenti satellitari diversi, ecc. Applicazione Trasporto Rete Collegamento Fisico