DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOIGNEGNERIA INFORMATICA B Ingegneria Elettrica Architetture dei sistemi informatici e reti di calcolatori
Sistema informatico distribuito I programmi scritti finora sono monolitici, ogni componente necessaria all elaborazione è eseguita da uno stesso processo che viene eseguito da un unico calcolatore (con un unica CPU ) ed eventualmente accedono ad una base di dati locale E possibile sfruttare più calcolatori in parallelo ed organizzare meglio la struttura di un applicazione in più programmi che cooperano tra di loro Sistema distribuito 2
Sistema informatico distribuito Sistema informatico distribuito se (almeno una delle condizioni è verificata): Le applicazioni (fra loro cooperanti) risiedono su più nodi elaborativi (Elaborazione distribuita) Il patrimonio informativo (unitario) è ospitato su più nodi elaborativi (Basi di dati distribuita) Per analizzare i sistemi distribuiti bisogna analizzare: I mezzi e le tecniche di trasmissione dei dati attraverso un canale di comunicazione L organizzazione dei calcolatori in una rete di calcolatori L organizzazione delle applicazioni che sono eseguite sulla rete di calcolatori e che interagiscono tra di loro (cioè il sistema distribuito) 3
La comunicazione dei dati sorgente distorsioni (messaggio) sistema di trasmissione trasmettitore canale di trasmissione (segnale) ricevitore (messaggio) destinatario Trasmettitore: converte il messaggio per renderlo trasmissibile in modo efficiente Ricevitore: riceve il segnale dal canale e lo converte in un messaggio comprensibile dal destinatario 4
Mezzi e tecniche di trasmissione dati La trasmissione dati consente di collegare dal punto di vista fisico tra di loro calcolatori e periferiche I principali mezzi per la trasmissione dei dati sono I cavi di rame Le fibre ottiche Le onde elettromagnetiche I parametri più significativi per caratterizzare la trasmissione dati sono: La velocità di trasmissione (in bit- per- second, bps) La distanza di trasmissione (da poche decine di metri a migliaia di chilometri) 5
Cavi in rame Coassiale Simile a quello della televisione Primo cavo transatlantico nel 1956 (36 telefonate in parallelo) Resistente alle interferenze elettromagnetiche Poco flessibile Si usura facilmente Difficile da installare Doppino Simile a quello utilizzato per il telefono Meno costoso Più flessibile e facile da installare Più soggetto ad interferenze esterne 6
Cavi in rame Coassiale Doppino 7
Fibre ottiche La fibra ottica è costituita da materiale vetroso e impiega un segnale luminoso per la trasmissione di informazioni Rappresenta un mezzo di comunicazione ideale, diffusione limitata dagli alti costi di produzione Oggi ampiamente utilizzata sia per le reti locali che metropolitane e geografiche principali Il primo cavo transatlantico nel 1988 (40000 telefonate contemporanee) Vantaggi: Bassa attenuazione del segnale Grande capacità di trasporto delle informazioni Immunità alle interferenze elettromagnetiche Svantaggi: Minore flessibilità rispetto ai conduttori in rame Costi di produzione e soprattutto di installazione maggiori 8
Fibre ottiche Nelle fibre ottiche, il raggio luminoso viaggia attraverso continue riflessioni Il segnale può viaggiare lungo distanze di decine di chilometri senza bisogno di essere rigenerato Velocità di trasmissione ordine delle decine di Gb/s I cavo è composto da due strati: Il core è un mezzo trasparente che trasporta il segnale laser Il cladding è uno strato esterno che costringe l onda a seguire il percorso del cavo 9
Onde radio e sistemi wireless Per comunicazioni wireless si intende un ampia gamma di tecnologie che fanno uso di onde elettromagnetiche per la trasmissione dati Tecnologia Frequenza Note Onde radio < 3GHz Tecnologia più diffusa Può coprire ambienti eterogenei Microonde 3GHz 300GHz Fasci direzionali senza dispersione Collegamento di edifici vicini Infrarossi 300GHz 428GHz Luce visibile (laser) 428GHz 749GHz Collegano dispositivi «visibili» Tecnologia lenta ed in disuso Fasci direzionali senza dispersione Sensibile agli effetti atmosferici 10
Tecnologie radio nei sistemi wireless Wifi Raggio di azione di circa 100 metri Velocità fino a 54Mbps WiMAX Raggio di azione di 50Km (copre un area metropolitana) Velocità fino a 70Mbps Rete cellulare (GSM, GPRS, UMTS) Velocità fino a 14.4Kbps (GSM), 57.6kbps (GPRS), 3Mbps (UMTS) Rete satellitare Utilizzano satelliti geostazionari Velocità di parecchi Gbps Connessioni sia monodirezionali che bidirezionali Utilizzate nel campo della telefonia, televisione e navigazione marittima 11
Modulazione e demodulazione del segnale Le reti di telecomunicazione trasmettono onde elettromagnetiche (o luminose) cioè segnali analogici Per trasmettere informazioni digitali è necessario quindi trasformare le sequenze di bit in onde elettromagnetiche e viceversa Il modem trasforma segnali digitali in analogici (modulazione) e viceversa (demodulazione) 12
Modulazione e demodulazione del segnale La modulazione di un segnale può avvenire in frequenza, fase o ampiezza Modulazione in frequenza sulla linea telefonica tradizionale: In assenza di trasmissione dati, il segnale portante è una sinusoide con una data frequenza (1700Hz) Se si vuole trasmettere un 1, si usa una frequenza più alta (2100Hz) Se si vuole trasmettere un 1, si usa una frequenza più bassa (1300Hz) Velocità massima di trasmissione: 56Kbps Evoluzione: tecnologia DSL 13
Rete di calcolatori Una rete permette di collegare più calcolatori (detti anche nodi o host) con l obiettivo di: Condividere applicazioni Consultare archivi comuni Trasmettere dati tra sistemi Una rete è composta da nodi eterogenei sia per quanto riguarda il software che l hardware Le reti hanno dimensioni di vario tipi: LAN (Local Area Network) o rete locale Collega calcolatori nella stessa stanza o edificio MAN (Metropolitan Area Network) Copre un area metropolitana WAN (Wide Area Network) o rete geografica Collega citta diverse o nazioni diverse Internet è la più estesa tra le rete geografiche 14
Rete di calcolatori Le reti hanno una struttura gerarchica 15
Rete di calcolatori Si è assistito ad una convergenza tecnologica tra reti di calcolatori (WAN e MAN) e reti di telecomunicazione Le telecomunicazioni si appoggiano sempre più sulla trasmissione digitale e sui protocolli tipici delle reti di calcolatori Le reti di calcolatori usano spesso le infrastrutture create per le reti di telecomunicazioni La rete di dorsale La rete d accesso Point of Presence 16
Rete di calcolatori La rete di dorsale (una WAN o MAN) è la parte centrale di una rete di telecomunicazioni. È la rete gestita da Internet Service Provider La rete d accesso permette l accesso alla rete dorsale. Possibili esempi sono ADSL e UMTS Rete d accesso Molti collegamenti Bassa velocità (Mbit/s) Brevi distanze (<50km) Rete di dorsale Pochi collegamenti Alta velocità (Gbit/s) Lunghe distanze (>50km) 17
Struttura dei messaggi La comunicazione tra due nodi avviene tramite invio di messaggi I messaggi sono divisi in pacchetti, ciascuno dei quali spedito individualmente I pacchetto sono sequenze di bit in genere di ugual lunghezza L header e il footer contengono una serie di informazioni di controllo 18
Struttura dei messaggi I pacchetti sono spediti individualmente L instradamento (routing) di ciascun pacchetto viene effettuato tramite le informazioni nei bit di controllo Il routing può essere deciso staticamente o dinamicamente 19
Protocolli di comunicazione Protocollo di comunicazione: un insieme di regole che devono essere seguite da due interlocutori per la mutua comprensione in una comunicazione Regole di formato, regole temporali, ecc... L elevato livello di cooperazione in una comunicazione nelle reti di calcolatori pone condizioni molteplici, gestibili tramite insiemi di protocolli Ogni protocollo è dedicato ad un particolare aspetto della comunicazione I protocolli utilizzati dai calcolatori sono organizzati secondo una gerarchia di livelli Ogni protocollo fornisce servizi al protocollo immediatamente superiore e si appoggia a sua volta su di un protocollo a livello inferiore 20
Lo standard ISO- OSI L Open System Interconnection definito dall International Standard Organization propone una pila di protocolli per la comunicazione Servizi telematici Conversione dei formati Apertura/chiusura dialogo Segmentazione del messaggio in pacchetti Routing Controllo di correttezza Aspetti HW/SW legati ai dispositivi di comunicazione 21
Lo standard ISO- OSI In un nodo ciascun livello è una sorta di macchina virtuale che comunica con la macchina virtuale equivalente dell altro nodo Protocolli end- to- end, principalmente utilizzati dai due capi estremi di una comunicazione per elaborare le informazioni scambiate Protocolli di accesso, alla rete regolano la comunicazione dei nodi intermedi per permettere lo scambio dei messaggi e dei pacchetti 22
Lo standard ISO- OSI Ogni livello aggiunge proprie informazioni di controllo che saranno considerate come dati dal livello sottostante 23
Lo standard ISO- OSI Esempio di invio di un file 24
Apparati di rete Le reti possono contenere altri elementi oltre ai calcolatori per migliorare l efficienza e l organizzazione della rete Hub (livello 1): ripetitore di segnale Replica i bit in ingresso su tutte le interfacce in uscita Collegamento tra segmenti di cavo Bridge/switch (livello 2): ripete i bit verso un interfaccia Bridge connette due reti Switch collega un numero maggiore di reti Esamina i dati inoltrando solo quelli che devono raggiungere l altro cavo Esegue modifiche sui dati trasmessi Router (livello 3): connette reti con tecnologie diverse Proxy (livello 4): può analizzare i dati in transito Esempio: antivirus, sistemi di autenticazione Gateway (livello 7): interfaccia tra protocolli diversi Collegamento tra reti dissimili Esempio: la Webmail (legge i dati tramite IMAP e li visualizza tramite HTTP) 25
Apparati di rete LAN B LAN LAN B LAN LAN-LAN WAN-LAN WAN-WAN LAN-WAN-LAN G G WAN G G G G WAN Host: macchine destinate all esecuzione dei programmi utente Bridge (B): connessione tra reti locali LAN B LAN Gateway (G): connessione tra reti geografiche con caratteristiche diverse 26 26
Apparati di rete Applicazione Applicazione Presentazione Presentazione Sessione Sessione Trasporto Trasporto Rete Rete Rete Rete Data Link Data Link Data Link Data Link Fisico Fisico Fisico Fisico Nodo A Router Router Nodo B 27
Sistema distribuito Il sistema distribuito è basato su una rete di calcolatori Il sistema distribuito è dotato di un infrastruttura software detta middleware che permette di coordinare le attività delle varie applicazioni e condividere le risorse Implementa la pila di protocolli di comunicazione Il sistema distribuito esegue una serie di applicazioni logicamente indipendenti che cooperano per adempiere un obiettivo comune 28
Paradigma client/server Il paradigma client/server è un modello di interazione tra processi che si suddividono in Client Processo (attivo) che richiede l esecuzione di servizi Server: Processo (passivo) che offre i servizi Rimane in attesa delle richieste dei client Ogni server potrebbe aver richieste da più client Il server può agire a sua volta come client in un interazione con un altro nodo e viceversa un client può agire da server 29
Paradigma peer- to- peer Nel paradigma peer- to- peer non esiste una gerarchia precisa nella rete Tutti i calcolatori hanno lo stesso ruolo (possono agire sia da client che da server) e possono condividere le risorse software ed hardware Il vantaggio del paradigma peer- to- peer è la possibilità di distribuire il carico di lavoro Lo svantaggio è la complessità nella coordinazione tra le macchine 30
Le componenti logiche di un applicazione Un applicazione (distribuita) è composta in genera da tre elementi (layer): Presentazione: gestisce l interazione con l utente (front- end dell applicazione) Logica applicativa: manipola i dati o gli input forniti dall utente Gestione dei dati: gestisce la persistenza dei dati, l accesso, ecc. Presentazione Logica applicativa Gestione dei dati 31
Architetture 3- tiered Presentazione Logica applicativa Gestione dei dati Tier: Livello hardware (una macchina) su cui sono installati gli strati software Nel modello ideale il componente intermedio contiene tutta la logica dell applicazione (nei casi reali parte della logica applicativa può risiedere sul front- end e sul back- end) Vantaggi: flessibilità e scalabilità 32
Server Farm Una server farm è un insieme di elaboratori sullo stesso livello del paradigma Client/Server, che condividono il carico elaborativo, le applicazioni e, eventualmente, i dati La server farm è gestita dagli altri livelli come un unica risorsa 33
Internet Internet è la più grande rete geografica che utilizza il protocollo TCP/IP È una rete di reti È composto da un grandissimo numero di risorse eterogenee interconnesse sparse in tutto il mondo (calcolatori, reti, applicazioni, dati) che si basano sulla stessa pila di protocolli Non è solo un collegamento fisico tra calcolatori, ma è anche un insieme di servizi Il World Wide Web è solo uno di essi Intranet: le tecnologie e i servizi Internet sono utilizzate anche per la rete locale Extranet: connessione fra reti locali di diverse aziende 34
Storia di internet Anni 70 ARPANET Una rete informatica del DARPA (Defence Advanced Research Project Agency) dedicata a progetti di ricerca Prima rete basata su scambio di pacchetti (50kbps) Applicazioni: scambio file, terminale remoto Una dozzina di nodi (connetteva principalmente università) Primi anni 80 nascono alcune sotto- reti MILNET: dedicata ad applicazioni militari CSNET: dedicata a ricerche in ambito informatico collega tutte le facoltà universitarie in USA Altre reti dedicate alla ricerca: HEPNET (fisica delle alte energie) e NSI (NASA) Fine anni 80 CSNET diventa Internet estendendosi ad applicazioni commerciali Reti private: CompuServe e MCI 35
Il protocollo TCP/IP TCP/IP è un insieme di protocolli usati per connettere calcolatori e reti fisiche diverse Indipendenza dalla realizzazione fisica della rete Nasconde i dettagli delle reti fisiche, gestendo il formato degli indirizzi, il formato dei messaggi scambiati e le tecniche di trasferimento Il TCP/IP è nato prima dello ISO- OSI I due standard sono leggermente diversi TCP/IP ha due livelli ISO- OSI ha sette livelli 36
Confronto tra TCP/IP e ISO- OSI I primi due livelli non sono definiti 37
Livello di rete (IP) Internet Protocol (IP) opera a livello di rete Consegna i pacchetti tra sorgente e destinazione È connection- less Non garantisce la corretta consegna dei pacchetti Se necessario i livelli superiori rendono affidabile la consegna Due funzionalità principali: Individuare quale è il calcolatore di destinazione Instradare i pacchetti al nodo di destinazione attraverso nodi intermedi 38
Livello di trasporto (TCP e UDP) Questi protocolli (utilizzati uno in alternativa all altro) creano un canale virtuale diretto tra due applicazioni nascondendo tutta la gestione in pacchetti della trasmissione dei dati Transmission Control Protocol (TCP) Garantisce che i dati arriveranno a destinazione senza errori Ritrasmette i pacchetti che sono stati persi User Data Protocol (UDP) Meno affidabile del TCP: non ritrasmette i pacchetti persi Offre prestazioni migliori 39
Livello applicativo World Wide Web Invio messaggi di posta elettronica Ricezione messaggi di posta elettronica Trasmissione di video su Internet 40
Indirizzi IP È una sequenza di cifre binarie che identifica un calcolatore in una rete Analogo ai numeri di telefono Per poter comunicare con un calcolatore è necessario conoscere il suo indirizzo IP Gli indirizzi IP si suddividono in Pubblici: quelli che identificano un calcolatore su Internet Privati: quelli che identificano un calcolatore in una Intranet 41
Nomi dei domini In indirizzo IP può essere associato ad un nome solitamente composto da 3 parti Dominio di primo livello: identifica in genere la nazione Dominio di secondo livello: identifica la società o l ente Nome host: il nome della macchina Esempio: www.polimi.it I nomi dei domini sono organizzati in modo gerarchico ICANN è l ente che regola l assegnamento degli IP pubblici e dei domini di primo livello Esiste un protocollo applicativo (DNS) che permette risolvere l indirizzo IP partendo dal nome del dominio 42
World Wide Web Nel 1989 Tim Berners- Lee, fisico del CERN di Ginevra, popone il progetto di un interfaccia grafica ipertestuale denominata World Wide Web (WWW) Nel 1993 un gruppo di studenti del NCSA (National Center for Supercomputing Applications) dell Università dell Illinois realizza il primo browser Mosaic Nel 1994 Nasce la Netscape Comunications Coorp. che rilascia il primo browser commerciale Navigator. Solo nel 1996 Microsoft rilascia Internet Explorer Il World Wide Web è oggi un enorme deposito di informazioni accessibili attraverso Internet Per consultarle gli utenti necessitano di programmi di navigazione (browser), che utilizzano un interfaccia di tipo point and click Le informazioni visualizzate dai browser sono ipertesti multimediali 43
World Wide Web Il Web utilizza tre meccanismi per realizzare la condivisione di materiale su Internet URL (Uniform Resource Locator): permette di identificare in modo univoco un documento su Internet HTTP (Hyper Text Transfer Protocol): protocollo applicativo client/ server usato per accedere ai documenti HTML (Hyper Text Markup Language): linguaggio per realizzare ipertesti Collegamenti tra le pagine Modalità di visualizzazione del testo contenuto nella pagina 44
Ipertesti Insieme di pagine Web (non necessariamente residenti sullo stesso server) Le pagine hanno una struttura ad albero La pagina iniziale è detta homepage 45
Architettura del Web Due attori: Web browser: permette agli utenti di visualizzare le pagine Web Web server: gestisce le pagine Web da mostrare agli utenti Due tipi di pagine: Statiche: memorizzate nel file system del server Dinamiche: costruite dinamicamente in base alle richieste dell utente e alle informazioni lette da un database ed eventualmente elaborate 46
URL Lo URL identifica in modo univoco una pagina Web Schema: protocollo utilizzato per interagire con il server (generalmente HTTP) Host: Nome del computer su cui risiede la pagina Percorso: identifica il percorso ed il nome della pagina all interno del computer 47
Interazione tra browser e web server 1. L utente inserisce l URL della pagina da visualizzare 2. Il browser invia la richiesta HTTP al server 3. Il server invia la pagina richiesta al browser e chiude la sessione HTTP 4. Il browser riceve la pagina HTML e la visualizza 48