Informatica per la comunicazione" - lezione 9 -
Protocolli di livello intermedio:" TCP/IP"
IP: Internet Protocol" E il protocollo che viene seguito per trasmettere un pacchetto da un host a un altro, in generale privi di una connessione fisica diretta." Si occupa, cioè, dell instradamento (routing) dei pacchetti." Ogni host è connesso in rete grazie a una scheda di rete." Ogni scheda di rete è identificata da un indirizzo univoco (detto indirizzo IP), che intuitivamente può essere visto come una specie di numero telefonico della scheda di rete."
Indirizzi IP" Un indirizzo IP è formato da 4 Byte, solitamente rappresentati come quattro numeri naturali in notazione decimale (ciascuno compreso " fra 0 e 255) separati da punti, ad esempio:" " "195.176.39.49"
128.201.4.78 195.176.39.49
Routing" L instradamento (routing) è il processo di scelta del percorso che un pacchetto segue a partire dallo host mittente per raggiungere lo host destinatario" La strada seguita da un pacchetto non viene decisa a priori con una pianificazione a livello globale" Al contrario, ciascun nodo intermedio del percorso è responsabile della scelta del prossimo nodo a cui inviare un pacchetto in transito" Un dispositivo che esegua queste scelte è denominato router" Un router può essere un normale computer su cui giri un apposita applicazione software oppure un dispositivo specializzato"
128.201.4.78 195.176.39.49
Su un computer funzionano contemporaneamente numerosi programmi "
? 195.176.39.49 128.201.4.78
TCP: Transmission Control" Si occupa di realizzare una connessione stabile fra due applicazioni, che in genere girano su host diversi " Il servizio offerto da TCP è la realizzazione di un flusso affidabile di dati" TCP garantisce che i pacchetti trasmessi tramite il protocollo IP arrivino nell ordine corretto e che gli eventuali pacchetti perduti vengano nuovamente inviati" TCP realizza un flusso bidirezionale di dati fra due punti virtuali, detti socket, che le applicazioni software utilizzano per inviare e per ricevere dati" Un socket è costituito da:" l indirizzo IP di una scheda di rete" una porta TCP (TCP port), che può essere considerata come una specie di casella postale" " " 195.176.39.49:80" ""
I protocolli dei livelli più alti definiscono gli standard per la comunicazione tra la rete e le applicazioni software che girano sui singoli host" Esempi di protocolli applicativi standard sono:" FTP (File Transfer Protocol): per il trasferimento di file" Protocolli applicativi" HTTP (HyperText Transfer Protocol): per il trasferimento di pagine Web ( Internet!)" SMTP (Simple Mail Transfer Protocol): per l invio di messaggi di posta elettronica " POP (Post Office Protocol): per la gestione locale dei messaggi di posta elettronica sul proprio computer" IMAP (Internet Message Access Protocol): per la gestione dei messaggi di posta elettronica su un server di posta remoto "
Internet Web!" Il web è solo uno degli aspetti di internet." In particolare, chiamiamo web tutta l informazione che riusciamo a ottenere collegandoci ad altri calcolatori per mezzo di un browser" Il browser è un applicazione che consente la visualizzazione su schermo del contenuto di pagine ipermediali provenienti da altri computer e trasferite per mezzo del protocollo HTTP"
Che cos è Internet?"
Questo è solo un aspetto di Internet."
Che cos è Internet?" "Internet è una realtà molto complessa, di cui distinguiamo numerosi aspetti:" le infrastrutture fisiche (hardware) utilizzate per il trasferimento dell informazione" i protocolli di gestione di tali infrastrutture, dai livelli più bassi legati ai fenomeni fisici nell hardware fino a quelli più alti riguardanti le applicazioni per gli utenti finali" i servizi offerti all utente da applicazioni software che sfruttano internet per il trasferimento di informazione" le organizzazioni e le società di gestione che creano e mantengono le condizioni affinché internet possa funzionare regolarmente"
Gestione di Internet" "Per quanto riguarda le organizzazioni di gestione di internet ricordiamo:" gli enti di gestione delle infrastrutture fisiche (come il GARR in Italia)" gli enti che definiscono e pubblicano i protocolli per internet, come l International Organization for Standardization (ISO), che si occupa di standard di ogni tipo, o il World Wide Web Consortium (W3C), che si occupa in particolare degli standard del Web" le agenzie che assegnano su richiesta (e a pagamento) a individui e organizzazione i nomi dei domini (come www.unibg.it) da utilizzare negli indirizzi web" queste agenzie, dette domain name registrar, fanno in ultima analisi riferimento alla Internet Corporation for Assigned Names and Numbers (ICANN), a sua volta controllata dal governo degli Stati Uniti "
Internet / Intranet / Extranet" Le tecnologie di internet possono essere utilizzate anche in reti chiuse, riservate ad esempio ai membri di un organizzazione" In genere si distingue fra:" intranet: una rete privata, riservata ai membri di un organizzazione, basata sulle tecnologie di internet" extranet: una rete analoga a un intranet, ma estesa a certe categorie di partner esterni di un organizzazione (clienti, fornitori, ecc.)"
Applicazioni Internet / Web" Una rete telematica può essere utilizzata per creare applicazioni che si basano sull interazione di più componenti che girano su host diversi e sfruttano la rete per trasferire dati da uno host all altro" In particolare, quando la rete utilizzata è internet, queste applicazioni sono denominate applicazioni internet " Le applicazioni che consentono a un utente di accedere a certi servizi utilizzando un browser prendono il nome di applicazioni web (esempi: easyjet, trenitalia, ticketone, google maps)" Altre applicazioni internet, invece, richiedono da parte dell utente l uso di un applicazione speciale (in genere scaricata dalla rete e installata sul computer (esempio: google earth)"
Architettura Client - Server"
Le applicazioni internet possono essere realizzate secondo differenti architetture" L architettura più semplice e diffusa è l architettura clientserver" "Nei sistemi client-server:" una componente dell applicazione, detta server, ha il compito di fornire determinati servizi" un altra componente, detta client, ha il compito di consumare i servizi forniti dal server" In genere c è una forte asimmetria fra la componente server (spesso piuttosto complessa) e la componente client (di solito piuttosto semplice)" Si noti che molte copie del client possono interagire contemporaneamente e da host diversi con un unico server"
Esempio di client-server" Google Earth" il server è un applicazione che gira sui computer di Google Inc., in grado di fornire mappe satellitari di tutta la superficie terrestre, integrate con svariate informazioni accessorie (confini, strade, condizioni meteorologiche ecc.)" il client è un applicazione che gestisce la visualizzazione delle informazioni inviate dal server, e che può essere scaricata dal sito web di Google Inc. e installata su qualsiasi computer"
Nelle applicazioni web, il client è costituito semplicemente da un browser" Il browser può interpretare ed eseguire localmente dei programmi contenuti all interno delle pagine web scaricate dal server" I programmi contenuti in una pagina web ed eseguiti dal client all interno del browser sono denominati applet (cioè applicazioncine )" Esempi:" Applicazioni Web C-S" animazioni visualizzate all interno di pagina" visualizzazione di un video di YouTube" giochi online"
In altri casi, durante la navigazione di un sito web certi programmi sono eseguiti dal server e i risultati dell esecuzione vengono poi inviati al client" Esempi:" generazione di pagine web dinamiche" pagine web interattive"
Lo stato dell interazione" Le applicazioni web si basano sul protocollo http, che presenta un problema:" l interazione è senza memoria o, come si dice con un termine tecnico, priva di stato (stateless)" ciò significa che ogni richiesta che giunge al server da parte del client è trattata dal server come una nuova richiesta, indipendente dalle richieste precedenti" in altre parole il server non tiene memoria delle eventuali fasi precedenti dell interazione" "Attenzione però:" il client può conservare memoria delle sue richieste precedenti il punto è che non lo fa il server" alcune tecnologie particolari, come le servlet Java, consentono al server di mantenere una rappresentazione dello stato dell interazione"
Cookies" Per molte applicazioni questo costituisce un problema: sono quindi state sviluppate tecniche per rappresentare lo stato dell interazione (state management)" La soluzione più comune si basa sull uso dei cookie:" quando un server deve conservare per il futuro certi dati concernenti l interazione con un certo client, memorizza questi dati direttamente sullo host del client; questi dati sono rappresentati sotto forma di file denominati cookie " quando il server ha necessità di utilizzare i dati conservati in un cookie, li legge direttamente dallo host del client" L uso di questa tecnica non è priva di problemi, perché consentire al server l accesso al file system del client comporta rischi per la sicurezza e la privatezza dei dati" "I browser danno quindi la possibilità di escludere l invio dei cookie da parte di un server, ma a volte questa limitazione può impedire al server di operare correttamente"
Parte III: il computer come strumento per l interazione e la comunicazione " Web 1.0"
Web 1.0" Che cosa vuol dire 1.0?" "
In informatica, la numerazione x.y per indicare la versione di un prodotto ha questo significato: se le modifiche apportate non sono particolarmente rivoluzionarie, si considera il nuovo prodotto solo una variante della stessa versione, quindi si lascia intatto x e si aumenta y di 1. Quando invece si è di fronte a un cambiamento radicale, si aumenta x di 1 e si azzera y per segnare l inizio di una nuova era del prodotto." "
Web 1.0" 1.1" 1.2" 2.0"