Elementi di Informatica e Programmazione



Похожие документы
Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione

La rete Internet. Percorso di Preparazione agli Studi di Ingegneria. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Elementi di Informatica e Programmazione

Reti di Calcolatori: nozioni generali il modello a livelli

Dal protocollo IP ai livelli superiori

Lo scenario: la definizione di Internet

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

Informatica per la comunicazione" - lezione 8 -

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

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

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

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

Internet e protocollo TCP/IP

Reti di elaboratori. Reti di elaboratori. Reti di elaboratori INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

TCP/IP: INDIRIZZI IP SIMBOLICI

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

Reti di Calcolatori. Il Livello delle Applicazioni

Reti e Internet: introduzione

Reti di Telecomunicazione Lezione 8

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

Standard di comunicazione

Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema. Dal livello A al livello B

Reti di Telecomunicazione Lezione 6

ARP (Address Resolution Protocol)

Informatica per la comunicazione" - lezione 9 -

InterNet: rete di reti

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

Università Magna Graecia di Catanzaro Facoltà di Medicina e Chirurgia Corso di Laurea in Scienze Infermieristiche Polo Didattico di Reggio Calabria

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

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

Internet. Introduzione alle comunicazioni tra computer

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

Il funzionamento delle reti

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

Protocolli di Comunicazione

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

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

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

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Comunicazione nel tempo

Reti di Calcolatori. Il software

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

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

Il funzionamento delle reti

Protocolli applicativi: FTP

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

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

RETI DI COMPUTER Reti Geografiche. (Sez. 9.8)

Elementi di Informatica e Programmazione

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

Corso di recupero di sistemi Lezione 8

Inizializzazione degli Host. BOOTP e DHCP

Reti Informatiche. dott. Andrea Mazzini

Interconnessione di reti

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

P2-11: BOOTP e DHCP (Capitolo 23)

Reti di calcolatori. Reti di calcolatori

Internet: Domini e spazi web. conoscerlo al meglio per usarlo meglio Gabriele Riva - Arci Barzanò

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

Internet: architettura e servizi

Introduzione alle applicazioni di rete

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

I canali di comunicazione

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

Reti diverse: la soluzione nativa

ESERCITAZIONE Semplice creazione di un sito Internet

Cos è. Protocollo TCP/IP e indirizzi IP. Cos è. Cos è

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

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8

Gestione degli indirizzi

Introduzione alla rete Internet

Introduzione alla rete Internet

Reti diverse: la soluzione nativa

Transmission Control Protocol

Introduzione alla rete Internet

Reti di Calcolatori: una LAN

I canali di comunicazione

MANUALE UTENTE FORMULA PEC

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

Glossario ADSL Asymmetric Digital Subscriber Line ADSL2+ Asymmetric Digital Subscriber Line ADSL ADSL2+ Browser Un browser Client Un client

Reti Locali. Lezione tenuta presso l Istituto I.I.S.S. Egidio Lanoce Maglie, 26 Ottobre 2011 Prof Antonio Cazzato

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

Firewall e Abilitazioni porte (Port Forwarding)

Lezione n 1! Introduzione"

Iniziare con Internet Explorer. dott. Andrea Mazzini

Internet e il World Wide Web. Informatica di Base A -- Rossano Gaeta 1

Colloquio di informatica (5 crediti)

Le Reti Informatiche

Транскрипт:

Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela Fogli La comunicazione in rete: i problemi! Esempio: applicazione per scambio messaggi di testo tra due utenti! Il calcolatore A su cui gira l applicazione del mittente deve poter inviare pacchetti al calcolatore B su cui gira l applicazione del destinatario (indirizzo univoco)! Lungo il percorso possono esserci diversi sistemi di comunicazione che possono usare diversi mezzi di trasmissione e dar luogo a errori di trasmissione! I pacchetti possono fare percorsi diversi e arrivare in un ordine diverso da come erano partiti! I pacchetti inviati al calcolatore B devono essere recapitati all applicazione a cui sono destinati! E impossibile delegare la risoluzione alle applicazioni:! La complessità delle applicazioni aumenterebbe (necessario risolvere problemi di gestione della rete)! Soluzioni ad hoc, incompatibilità tra applicazioni diverse e tra applicazioni e infrastrutture di rete Daniela Fogli Elementi di Informatica e Programmazione 2 Il modello a livelli La metafora dei dirigenti d azienda! Per risolvere i problemi suddetti le reti di calcolatori vengono organizzate secondo un architettura a livelli! Ciascun livello definisce un particolare aspetto della comunicazione a un certo livello di astrazione! Ciascun livello fornisce servizi al livello immediatamente superiore, mascherando il modo in cui questi sono realizzati! A tale scopo, ciascun livello sfrutta a sua volta i servizi forniti dal livello inferiore (eccetto il livello più basso)! Ogni livello è caratterizzato dalla sua interfaccia verso il livello superiore Egregio dott. Tersili, con la presente Le segnalo la disponibilità di un prodotto software rivoluzionario sviluppato dalla nostra azienda che Dott. Tersili SPECTRA via Messaggio UFF. POSTALE UFF. POSTALE Egregio dott. Tersili, con la presente Le segnalo la disponibilità di un prodotto software rivoluzionario sviluppato dalla nostra azienda che Dott. Tersili SPECTRA via Daniela Fogli Elementi di Informatica e Programmazione 3 Daniela Fogli Elementi di Informatica e Programmazione 4

I protocolli di comunicazione Livelli, protocolli e interfacce! Ad ogni livello i sono presenti due entità, dette peer, che realizzano il servizio di competenza del livello i (a beneficio del livello superiore i+1)! Le entità realizzano il servizio interagendo tra loro (scambio di pacchetti o entità dati del livello i).! Protocollo di comunicazione (del livello i): insieme di regole con cui le entità devono comunicare. Specifica fra l altro:! la struttura dei pacchetti (inclusa definizione delle informazioni di controllo)! le modalità che regolano il dialogo! Per utilizzare un servizio, è necessario conoscere solo l interfaccia del livello corrispondente indipendenza tra i livelli! (es. indipendenza dal mezzo fisico utilizzato!) Interfaccia livello 4/5 Interfaccia livello 3/4 Interfaccia livello 2/3 Interfaccia livello 1/2 Livello 5 Livello 4 Livello 3 Livello 2 Livello 1 Protocollo di livello 5 Protocollo di livello 4 Protocollo di livello 3 Protocollo di livello 2 Protocollo di livello 1 Mezzo fisico Architettura di rete: stabilisce l insieme dei livelli + i relativi protocolli Esempi: ISO/OSI, TCP/IP Livello 5 Livello 4 Livello 3 Livello 2 Livello 1 Daniela Fogli Elementi di Informatica e Programmazione 5 Daniela Fogli Elementi di Informatica e Programmazione 6 Il modello TCP/IP I livelli del modello TCP/IP (1)! E il modello adottato nella rete Internet! Insieme di protocolli basato su! TCP (Transmission Control Protocol)! IP (Internet Protocol)! Successo commerciale di TCP/IP: affidabilità, efficienza, è diventato uno standard di fatto! Livello applicazione! a questo livello operano le applicazioni utilizzate dagli utenti per inviare e ricevere messaggi! i protocolli di comunicazione da esse adottati fissano la tipologia, la struttura e il significato dei messaggi e le regole secondo cui i processi inviano e rispondono ai messaggi! esempi di protocolli: HTTP, SMTP, POP3, FTP! TCP/IP è impostato su un architettura a cinque livelli. Nel seguito vengono esaminati partendo dall alto Daniela Fogli Elementi di Informatica e Programmazione 7 Daniela Fogli Elementi di Informatica e Programmazione 8

I livelli del modello TCP/IP (2) I livelli del modello TCP/IP (3)! Livello trasporto! Fornisce un servizio di comunicazione fra processi applicativi eseguiti su host diversi: trasporto di un messaggio da un processo applicativo in un calcolatore ad un ben determinato processo applicativo ad un altro calcolatore! Ciascun processo in esecuzione su un calcolatore che richieda servizi di rete viene identificato da un numero di porta - numero a 16 bit, assegnato dal livello di trasporto al processo stesso! Le unità dati trasmesse sono dette segmenti! Due protocolli:! UDP: non affidabile! TCP: affidabile, usa un numero di sequenza e prevede l invio al mittente di un riscontro! E realizzato come modulo del sistema operativo! Livello rete! Fornisce un servizio di comunicazione fra host, ovvero trasferisce i segmenti consegnati dal livello trasporto da un host sorgente a un host destinazione eventualmente attraverso uno o più router! Si occupa della determinazione del percorso e lo smistamento dei pacchetti lungo la rete (mascheramento del problema dell instradamento)! Le unità dati trasmesse sono dette datagrammi! Il livello rete è anch esso parte del sistema operativo Daniela Fogli Elementi di Informatica e Programmazione 9 Daniela Fogli Elementi di Informatica e Programmazione 10 Livelli negli Host e nei Router Indirizzi IP host A host B APPLICAZIONE TRASPORTO protocollo di livello applicazione protocollo di livello trasporto router router APPLICAZIONE TRASPORTO! A livello rete i nodi della rete sono identificati dagli indirizzi IP! Per ogni calcolatore, il suo indirizzo è contenuto in un file di configurazione del sistema operativo (o comunque memorizzato via sw) ed è indipendente dalla scheda di rete utilizzata: identifica il nodo a livello globale! L unicità degli indirizzi IP è assicurata da un autorità centrale:! ogni volta che viene installata una nuova rete locale è necessario richiedere all autorità centrale un nuovo insieme di indirizzi! nella pratica possono essere richiesti a un fornitore di servizi Internet (Internet Service Provider): un azienda privata o pubblica che offre connettività alla rete a terze parti (aziende, enti pubblici, privati cittadini) PROBLEMA: COME IDENTIFICARE I NODI A LIVELLO GLOBALE? Daniela Fogli Elementi di Informatica e Programmazione 11 Daniela Fogli Elementi di Informatica e Programmazione 12

Indirizzo IP Assegnamento indirizzi IP! Un indirizzo IP (IP address) è lungo 32 bit (4 byte) = 2 32 possibili indirizzi diversi (protocollo IPv4)! Rappresentati in genere in forma decimale! successione di quattro numeri (uno per byte), separati da un punto (e.g. 192.167.20.224)! ognuno dei quattro numeri è compreso tra 0 e 255! E in fase di sperimentazione il protocollo IPv6 che utilizza 128 bit anziché 32! Ad ogni host connesso alla rete locale viene attribuito uno degli indirizzi attraverso una delle seguenti modalità:! IP Statico! IP Dinamico! IP Statico! L indirizzo è assegnato ad un host in modo permanente! Si inserisce manualmente l indirizzo in uno specifico file di configurazione! Indirizzo riservato all host anche quando questo non è effettivamente collegato alla rete! Dinamico! Ogni volta che intende accedere alla rete, un host richiede un indirizzo ad una specifica applicazione disponibile nella rete! L interazione avviene tramite il protocollo DHCP (Dynamic Host Configuration Protocol)! L applicazione seleziona un indirizzo IP fra quelli disponibili! L indirizzo torna disponibile una volta che l host non è più connesso Daniela Fogli Elementi di Informatica e Programmazione 13 Daniela Fogli Elementi di Informatica e Programmazione 14 Riassumendo: come è identificato un processo applicativo in rete! Schema di indirizzamento generale su due livelli: indirizzo IP + numero di porta! ogni processo applicativo che usa la rete può essere identificato da tale indirizzo! Indirizzo IP! indirizzo associato a ogni calcolatore collegato a una sottorete! è un indirizzo Internet globale unico, utilizzato dal livello rete per l instradamento e la consegna dei pacchetti! Numero di porta! indirizzo unico all interno dell host che individua un processo attivo sull host! utilizzato dal livello trasporto per consegnare i dati al processo giusto Comunicazione attraverso TCP/IP Livello Applicazione App. X Livello TCP Livello IP App. Y Data Link Livello Fisico HOST A 1 Punti di accesso al servizio (porte) 2 Connessione logica (TCP) Livello TCP Indirizzo di rete (globale) ROUTER ROUTER HOST B Livello Applicazione App. X Livello IP Datalink App. Y Livello Fisico Livello IP Livello IP Datalink Datalink Livello Fisico Livello Fisico Daniela Fogli Elementi di Informatica e Programmazione 15 Daniela Fogli Elementi di Informatica e Programmazione 16

I livelli del modello TCP/IP (4) Realizzazione del servizio! Livello datalink! Il servizio consiste nel trasportare datagrammi tra due nodi collegati da una linea di comunicazione! Per identificare il nodo a cui spedire usa l indirizzo MAC (Media Access Control) identificativo numerico a 48 bit scritto nella ROM della scheda di rete! Nelle reti broadcast il livello datalink si occupa anche di gestire il problema dell accesso multiplo (es. usando protocollo CSMA/CD)! E realizzato nella scheda di rete del calcolatore Scheda di rete calcolatore mittente + MAC address Livello data link flusso di bit Livello fisico Protocollo livello data link + MAC address Livello data link flusso di bit Livello fisico Scheda di rete calcolatore ricevente! A partire dal datagramma da spedire e l indirizzo MAC di destinazione: creazione di un frame la cui intestazione (header) include il MAC! Trasmissione del frame attraverso il livello fisico! All arrivo: esame del MAC, se non coincide con quello della scheda di rete il frame non viene considerato, altrimenti viene estratto il datagramma e passato al livello superiore (di rete) Livello rete Livello data link ( MAC ) Unità dati a livello datalink (frame) Protocollo livello data link ( MAC ) Unità dati a livello datalink (frame) Daniela Fogli Elementi di Informatica e Programmazione 17 Daniela Fogli Elementi di Informatica e Programmazione 18 I livelli del modello TCP/IP (5) Modem! Livello fisico! Il servizio consiste nella trasmissione e ricezione di un flusso di bit attraverso una determinata linea di comunicazione;! E realizzato nella scheda di rete del calcolatore, nei modem e nei mezzi di trasmissione! Protocollo di comunicazione: riguarda caratteristiche quali codifica dei dati trasmessi, frequenza di trasmissione,! Determina (insieme alle caratteristiche fisiche della linea): velocità di trasmissione, ritardo di propagazione, tasso di errore flusso di bit Livello fisico Protocollo livello fisico Linea di comunicazione flusso di bit Livello fisico! Dispositivo che permette di trasferire dati da un calcolatore a un altro attraverso la linea telefonica! Effettua la conversione tra la modalità di codifica digitale adottata all interno del calcolatore e la modalità di codifica richiesta dalla linea telefonica! A seconda della codifica (per sfruttare la banda messa a disposizione dal doppino telefonico) diverse prestazioni:! Modem classico : velocità di trasmissione dei dati fino a 56 Kbit/s! Modem ADSL (Asymmetric Digital Subscriber Line): velocità di download (da 640 kb/s a diverse decine di Mb/s) maggiore di quella di upload (da 128kb/s a 1 Mb/s)! Modem GPRS/EDGE/UMTS/HSDPA: nei cellulari di terza generazione e chiavette USB, velocità progressive ma inferiori a ADSL Daniela Fogli Elementi di Informatica e Programmazione 19 Daniela Fogli Elementi di Informatica e Programmazione 20

Da un livello all altro Il quadro globale Come visto, ogni livello attraversato aggiunge un intestazione (informazioni utili alle funzioni proprie di quel livello) che vengono poi man mano eliminate dai livelli di destinazione attraversati in senso inverso Dati utente Flusso dati proveniente dall applicazione (messaggio) SIST. OP. host A APPLICAZIONE TRASPORTO protocollo di livello applicazione protocollo di livello trasporto router router host B APPLICAZIONE TRASPORTO end to end TCP Unità dati a livello TCP (segmento) datalink IP Unità dati a livello IP (datagramma) Unità dati a livello datalink (frame) HW point to point Daniela Fogli Elementi di Informatica e Programmazione 21 Daniela Fogli Elementi di Informatica e Programmazione 22 Che cos è Internet? Il punto di vista storico-organizzativo La rete Internet! Risultato delle ricerche finanziate dalla DARPA (Defence Advanced Research Projects Agency)! rete accademica ARPANET nel 1969! Obiettivo principale: consentire interoperabilità fra reti diverse per poter realizzare una internet (rete geografica ottenuta dal collegamento di reti più piccole)! Oggi: interconnessione di più sistemi autonomi (gruppi di reti controllati da una determinata autorità amministrativa)! Funzionamento/coordinamento supportato da organismi internazionali (es: ICANN assegna indirizzi IP e nomi di dominio) Daniela Fogli Elementi di Informatica e Programmazione 24

Che cosè Internet? Il punto di vista tecnico Architettura client-server! Internet: sistema di reti interconnesse, organizzate in accordo ad una architettura di protocolli detta Internet Protocol Suite: - TCP o UDP a livello di trasporto - IP a livello rete - nessun vincolo sui livelli sottostanti! Servizi internet realizzati mediante un insieme di protocolli standard di livello applicazione (es. HTTP): nel seguito ne esaminiamo alcuni! L architettura client-server è alla base di tutti i servizi applicativi di Internet! In una architettura client-server, esistono sistemi che accedono a servizi (funzionalità) forniti da altri e sistemi dedicati a fornire i servizi richiesti! Si distinguono i clienti di un servizio (processi client) dai fornitori di servizi (processi server)! I processi client possono usufruire dei servizi inviando una richiesta al processo server opportuno che, al termine del lavoro, rispedisce al client un messaggio di risposta! Generalmente, processi server e processi client sono in esecuzione su macchine diverse collegate in rete Daniela Fogli Elementi di Informatica e Programmazione 25 Daniela Fogli Elementi di Informatica e Programmazione 26 Architettura client-server Calcolatore Server Server richiesta Server è un concetto software! spesso si predispongono macchine dedicate principalmente a far girare processi server e quindi vengono denominate a loro volta macchine server risposta Server Un calcolatore server si occupa dunque di rendere disponibile uno o più servizi. Esempi di servizi offerti: file server, che consente la condivisione in rete dei documenti presenti sui dischi del server; web server, che consente l accesso alle pagine web ivi memorizzate! : indirizzo IP e numero di porta assegnato dinamicamente! Server: indirizzo IP statico e numero di porta standard (dipende dal protocollo, es. http ha la porta 80) Un calcolatore server è spesso un computer dotato di un processore veloce, un'elevata capacità di memoria e numerosi dischi. Inoltre, differentemente da un comune personal computer, il server ha caratteristiche specifiche di modularità (tutte le sue parti sono facilmente accessibili e smontabili, anche "a caldo") ed è in grado, grazie a un sistema di ventilazione potenziato, di rimanere acceso anche molto a lungo Daniela Fogli Elementi di Informatica e Programmazione 27 Daniela Fogli Elementi di Informatica e Programmazione 28

Il servizio di risoluzione dei nomi Domini e sotto-domini in un indirizzo simbolico! Gli indirizzi IP sono difficili da utilizzare per un utente umano! Un sistema di gestione degli indirizzi (Domain Name System - DNS) permette di passare da indirizzi numerici (gli indirizzi IP) a nomi (indirizzi simbolici detti indirizzi DNS)! Il DNS:! associa a ogni indirizzo IP uno o più indirizzi simbolici! gestisce la conversione tra indirizzi simbolici e indirizzi IP! Il DNS è organizzato in maniera gerarchica (domini, sottodomini, sotto-sotto-domini, ) per semplificarne l utilizzo 192.167.20.1 DNS zeus.ing.unibs.it Il numero di livelli è variabile! zeus.ing.unibs.it Dominio di primo livello (.fr per Francia,.uk per Regno Unito, oppure anche.com,.org,.edu, ) Dominio di secondo livello (università, azienda, ente ) Dominio di terzo livello (nell es. un sottodominio dell Università di Brescia) Denominazione di un host preciso Daniela Fogli Elementi di Informatica e Programmazione 29 Daniela Fogli Elementi di Informatica e Programmazione 30 Passaggio da un indirizzo simbolico a un indirizzo IP Il World Wide Web! Realizzato mediante un insieme distribuito di server (DNS server):! ogni server accetta richieste (indirizzi DNS) e restituisce ind. IP! se un server non conosce un indirizzo, può agire da client e inviare richieste di traduzione ad altri server! A ogni dominio è associato un calcolatore responsabile del dominio. Ad es. dato l indirizzo zeus.ing.unibs.it:! C è un computer responsabile per il dominio it;! un computer per il dominio unibs.it;! un computer per il dominio ing.unibs.it.! Il calcolatore responsabile di un dominio mantiene un elenco dei calcolatori responsabili dei suoi sottodomini (e ne conosce i relativi indirizzi IP)! Per es. il calcolatore responsabile del dominio unibs.it deve sapere chi sono i calcolatori responsabili di tutti i suoi sottodomini, tra cui ing.unibs.it, med.unibs.it, eco.unibs.it,! WWW: spazio informativo di risorse distribuite nei nodi della rete, dette pagine web tipicamente scritte nel linguaggio HTML! Architettura client-server alla base del servizio www:! Il client è il navigatore web (il web browser): applicazione che interpreta un linguaggio HTML e interagisce con l utente! Il server si chiama web server (e.g. Apache, attualmente il più diffuso, distribuito gratuitamente in modalità open source) rende disponibili pagine web a richiesta! e server interagiscono attraverso il protocollo di livello applicazione HTTP (HyperText Transfer Protocol)! Le pagine sono identificate mediante indirizzi detti URL (Universal resource locator) es. http://www.unibs.it/aree-disciplinari/ingegneria Daniela Fogli Elementi di Informatica e Programmazione 31 Daniela Fogli Elementi di Informatica e Programmazione 32

Iter di una richiesta di una pagina web Web Browser e Web Server! La richiesta parte dalla barra degli indirizzi del browser dell utente! Ad es. l utente scrive http://www.unibs.it! Il browser stabilisce con il web server una connessione TCP (tipicamente sulla porta 80) ed invia un messaggio di richiesta di una pagina web, indicandone il nome completo (quello digitato dall utente)! Il web server restituisce un messaggio di risposta con un codice che indica se la richiesta è soddisfatta + la pagina web! Il browser riceve la risposta su una porta TCP da esso attivata all atto della richiesta! La pagina web ricevuta (che è un documento HTML) viene interpretata dal browser, che restituisce una presentazione grafica del contenuto all utente! Il web browser è un applicazione client che:! è in grado di interagire con il web server via HTTP! è in grado di interpretare HTML (e visualizzare pagine web)! interagisce con l utente (e ne rileva le azioni)! Il web server è un applicazione server che:! accetta una richiesta di connessione TCP da un client! riceve una richiesta con il nome della pagina e restituisce come risposta la pagina stessa Daniela Fogli Elementi di Informatica e Programmazione 33 Daniela Fogli Elementi di Informatica e Programmazione 34 Altre applicazioni su Internet Altre applicazioni su Internet (cont.)! Posta elettronica:! Per accedere al servizio un utente utilizza un programma detto client di posta (es. Outlook, Eudora, Mail, )! Per inviare un messaggio il client invoca il servizio di un server di trasferimento (detto anche server SMTP)! Per scaricare un messaggio il client invoca il servizio di un server di consegna all utente finale (protocolli: POP3, IMAP)! Trasferimento di file:! un file può essere posto in un opportuna area di memoria di un server, dal quale può essere reperito utilizzando il protocollo FTP (File Transfer Protocol)! Sul server deve essere in esecuzione un FTP server! Sul client, un FTP client (e.g. FileZilla, SmartFTP); si può usare anche il browser (ftp:// al posto di http://)! Sistemi di messaggistica instantanea:! Applicazione che permette a due persone di comunicare tra loro in maniera sincrona ( chat = chiacchierata)! Non esiste uno standard, esempi di sistemi: MSN Messenger, Yahoo! Messenger,! Servizio telefonico su Internet:! Servizio noto come VoIP (Voice over IP)! Consentono fra l altro scambio di file in parallelo a conversazione vocale e audio/video conferenze! Basso costo, ma problemi di affidabilità e qualità servizio (anche se stanno migliorando velocemente )! Esempio: Skype Daniela Fogli Elementi di Informatica e Programmazione 35 Daniela Fogli Elementi di Informatica e Programmazione 36