12. Sistemi distribuiti e reti di calcolatori Ing. Simona Colucci
Modulazione e trasmissione dei dati Reti di calcolatori Indice Sistemi distribuiti Modulazione e trasmissione dei dati Reti di calcolatori Topologia Messaggi e protocolli ISO/OSI Architettura client/server Architettura peer to peer I Servizi Internet
Si adattano alla nuova natura distribuita delle organizzazioni Sistemi Distribuiti Sistemi caratterizzati da una rete di calcolatori che interagiscono tra loro Si adattano alla nuova natura distribuita delle organizzazioni Poggiano sulla capacità di trasmettere dati lungo un canale di comunicazione
Differenti mezzi trasmissivi disponibili Parametri caratterizzanti: Trasmissione dati Differenti mezzi trasmissivi disponibili Parametri caratterizzanti: Velocità di trasmissione, misurata in bit per secondo(bps). Distanza di trasmissione
Mezzi di trasmissione dati (1/3) Cavi in Rame Cavo coassiale: ha al centro un conduttore di rame (anima), circondato da un materiale isolante e da uno schermo di metallo intrecciato(maglia); il tutto è avvolto da un rivestimento esterno Vantaggi: elevata resistenza alle interferenze elettromagnetiche Svantaggi: costo elevato, difficoltà di utilizzo in canaline strette, frequenti rotture meccaniche Velocità: Su brevi distanze 107 bit/s Su lunghe distanze 105 bit/s Doppino Telefonico: coppia o treccia di più coppie di conduttori di rame ritorti (twisted pair)per ridurre gli effetti negativi delle interferenze elettromagnetiche; in genere non schermato (unshielded twisted pair-UTP) per evitare gli svantaggi del cavo coassiale Velocità a seconda della tecnologia utilizzata: Modem su linea telefonica commutata 56 kbit/s ISDN 128 kbit/s ADSL 640 kbit/s, fino ad alcuni Mbit/s
Mezzi di trasmissione dati (2/3) Fibre ottiche Filamenti di materiali vetrosi realizzati in modo tale da poter condurre la luce su lunghe distanze Disponibili in cavi flessibili, immuni ai disturbi elettrici e atmosferici Una fibra ottica è composta da uno strato(core), ossia il mezzo trasparente che trasporta il segnale laser, e un secondo strato concentrico(cladding), che costringe l’onda a seguire il percorso della fibra ottica; il tutto è rivestito da guaine protettive che aumentano la resistenza Comunicazione tramite : Trasmettitore di segnale: laser(costosa e efficiente) o led(economica) Ricevitore di segnale: foto rivelatore che converte la luce in elettricità Vantaggi: sottilissime(0.5 mm) e leggere (20 kg per un km) Velocità: fino ad alcuni Tbit/s per centinaia di chilometri
Mezzi di trasmissione dati (3/3) Onde radio e sistemi wireless Gamma di tecnologie che usa le onde elettromagnetiche per la trasmissione di dati (senza cavo): Infrarossi: lenti e a distanza ravvicinata(in disuso) Laser e microonde: elevata velocità, ma necessità di visibilità diretta tra apparati(usati in sottoreti) Onde radio: adatte ad ambienti eterogenei (più utilizzate) BlueTooth (brevissime distanze: elaboratore a periferiche, 700 kbit/s) WiFi: tipo di rete locale senza fili WLAN-Wireless Local Area Network (decine/centinaia di metri a seconda della presenza di ostacoli, 56 Mbit/s) WiMax: rete di telecomunicazioni a banda larga e senza fili su scala metropolitana(fino a 50 chilometri, 70Mbit/s ) Rete cellulare, utile anche per i dati : GSM (14.4 kbit/s), GPRS (57.6 kbit/s download, 28.8 upload), UMTS(384 kbit/s), UMTS2(1.8 Mbit/s), UMTS2+(3 Mbit/s), … Via satellite: uso di satelliti geostazionari in un’orbita equatoriale con un raggio di 42400 km dal centro della terra, con velocità angolare pari a quella di rotazione terrestre (fungono da ponti radio). Distanza centinaia di chilometri, ma alta latenza
Modulazione e demodulazione Modulazione: segnale digitale segnale analogico Demodulazione: segnale analogico segnale digitale La linea telefonica trasporta un segnale analogico (segnale portante) che viene modulato in modo da trasportare uno 0 oppure un 1 Tecniche di modulazione del segnale portante: Frequenza Fase Ampiezza
Modulazione di frequenza Segnale digitale da trasmettere Portante Segnale modulato in frequenza
Trasmissione dati Modem: MOdulatore, DEModulatore Linee dedicate (connessione permanente) o commutate (connessione temporanea, es. telefono) Linee simplex (monodirezionali), half-duplex (senso unico alternato), full-duplex (bidirezionali)
Possibili modulazioni PSTN: linea telefonica tradizionale con portante compresa tra 300 e 3300 Hz -> massimo 56 Kbit/s DSL: applicabili solo sull’ultimo miglio tra centrale e utente : Ultimo miglio fino a 6 km Velocità quasi sempre Asimmetrica(ADSL) tra download e upload: fino a 52Mbit/s in download e 12 Mbit/s in upload
Infatti, in una rete avrò: Reti di calcolatori Le reti di calcolatori collegano elaboratori, detti “nodi della rete”(hosts), situati ad una certa distanza fra di loro, fornendo a ciascuno di essi vari “servizi di rete”, ossia funzionalità disponibili a tutti i calcolatori della rete stessa Ogni rete è basata su di una certa topologia. Essa descrive le modalità con le quali si scelgono i calcolatori da connettere direttamente tra loro Infatti, in una rete avrò: Calcolatori connessi direttamente Calcolatori che, per poter comunicare, devono far passare i messaggi attraverso altri elaboratori
Reti geografiche e locali LAN (Local Area Network): rete locale Distanza compresa tra un metro e un chilometro (edificio, campus) Velocità elevatissima MAN (Metropolitan Area Network): rete metropolitana Distanza fino alla decina di chilometri (area cittadina) Velocità elevata WAN (Wide Area Network): rete geografica Collega sistemi a qualsiasi distanza Internet è la più diffusa WAN I tre tipi sono organizzati gerarchicamente: le LAN sono collegate da MAN, collegate dalle WAN
Nuova classificazione: Verso la convergenza Le reti di calcolatori e quelle di telecomunicazione tendono sempre più a convergere, sfruttando le stesse infrastrutture Nuova classificazione: Rete di dorsale (core network): parte centrale di una rete di telecomunicazione (es. MAN e WAN dei diversi Internet Service Provider) Rete di accesso(access network):utilizzata dagli utenti per accedere alla core network (es. linea telefonica, ADSL, GPRS, UMTS) I punti di contatto tra access network e core network sono chiamati Point of Presence (PoP)
Nessun nodo centrale: treni di messaggi Topologia (1) Nodo centrale(apparato di rete specializzato negli scambi) che inoltra i messaggi Semplice Più nodi possono comunicare contemporaneamente Collo di bottiglia (nodo centrale…) Vulnerabile ai guasti del nodo centrale e della rete (unico collegamento) Stella Nessun nodo centrale: treni di messaggi Nessun collo di bottiglia Più nodi possono comunicare contemporaneamente Meno vulnerabile ai guasti della rete e di altri nodi (inversione direzione, a meno di doppio guasto) Più complesso Più nodi da attraversare Anello
Nessuna topologia precisa Nessun nodo centrale Semplice Nessun nodo da attraversare Vulnerabile ai guasti della rete Solo due nodi alla volta possono comunicare Bus Nessuna topologia precisa Resistente ai guasti (se routing dinamico) Più nodi possono comunicare contemporaneamente Complesso Più nodi da attraversare Irregolare
Topologia (3) Le topologie a stella, anello e bus sono usate soprattutto nell’ambito delle reti locali (LAN – Local Area Network) La topologia irregolare è molto diffusa tra le reti geografiche (WAN – Wide Area Network)
Le informazioni scambiate tra i nodi sono strutturate in messaggi I messaggi Le informazioni scambiate tra i nodi sono strutturate in messaggi Ogni messaggio contiene i dati da comunicare ed un certo insieme di informazioni di controllo Spesso la quantità di dati (byte) che è possibile inserire in un messaggio è fissa. Se un nodo deve inviarne un numero maggiore, è necessario utilizzare più messaggi
Struttura dei messaggi La struttura dei messaggi dipende dallo standard utilizzato ma è possibile dare una descrizione generale: Fine messaggio Caratteri di controllo Dati da inviare Destinatario Mittente Inizio messaggio Introduzione Parte utile del messaggio Sequenza di controllo
Il caso più complesso è quello di una rete con topologia irregolare Routing dei messaggi Se due nodi non sono connessi direttamente, il messaggio dovrà attraversare nodi intermedi I nodi intermedi dovranno ricevere il messaggio e rispedirlo verso un nodo a loro connesso e più vicino alla destinazione (routing o instradamento) Il caso più complesso è quello di una rete con topologia irregolare Se A vuole comunicare con B, deve passare attraverso X, oppure attraverso X e Y Il nodo X deve decidere quale strada usare (routing statico o dinamico) A B X Y
Protocolli di rete Un protocollo stabilisce le regole di comunicazione che debbono essere seguite da due interlocutori A: Chiamata per B B: Pronto, chi parla? A: Sono A, sei pronto a ricevere dati? B: Sì A: Ecco i dati … bla bla bla … fine dei dati B: Dati ricevuti con successo A: Ciao B: Ciao Il protocollo stabilisce cosa fare in tutte le situazioni che possono verificarsi (errori, ecc.) Deve essere conosciuto dai due interlocutori (quindi, deve essere uno standard)
Servizi telematici(trasferimento file, e-mail, …) Lo stack ISO-OSI (1) Lo standard ISO-OSI (Open System Interconnect) include un insieme di protocolli che definiscono, a vari livelli di dettaglio, le regole di comunicazione E’ spesso chiamato stack (pila) ISO-OSI 7. Livello applicazione Servizi telematici(trasferimento file, e-mail, …) 6. Livello presentazione Conversione formati (01/12/02 12/01/02) 5. Livello sessione Apertura e chiusura dialogo (Chiamata per B...Ciao) 4. Livello trasporto Segmentazione dati in più messaggi 3. Livello rete Routing (instradamento) 2. Livello collegamento dati Controllo correttezza messaggi (rispedisci se errori) 1. Livello fisico Specifiche Hw/Sw dipositivi fisici usati per connettere i nodi (Ethernet, cavo coassiale, …)
Ciascun livello rappresenta una macchina astratta Lo stack ISO-OSI (2) Ogni livello definisce dei protocolli che gestiscono, a quel livello di dettaglio, la comunicazione Ciascun livello rappresenta una macchina astratta Ogni livello (macchina astratta) dello stack assume di “parlare” con il medesimo livello (macchina astratta) dell’altro nodo ed è completamente ignaro di ciò che succede sotto di lui I messaggi di ogni livello sono incapsulati nei messaggi di livello sottostante senza alcuna manipolazione E’ un modello di riferimento, i protocolli reali spesso implementano solo parzialmente lo stack
Aggiungi dati controllo Verifica messaggi L1 Connessione fisica Lo stack ISO-OSI (3) L7 Invia file “pippo.txt” Ricevi file L6 Converti file L5 Apri dialogo Chiudi dialogo L4 Segmenta file Ricomponi file L3 Invia msg1, msg2, … Ricevi msg1, msg2, … L2 Aggiungi dati controllo Verifica messaggi L1 Connessione fisica
Durante la trasmissione: Lo stack ISO-OSI (4) Il flusso dei dati, in realtà, “scende” lungo lo stack del nodo mittente e “risale” lungo lo stack del nodo destinatario Durante la trasmissione: Ogni livello aggiunge informazioni o modifica quelle provenienti dal livello superiore e le passa al livello inferiore Durante la ricezione: Ogni livello estrae le informazioni di suo interesse e passa quelle rimanenti al livello superiore
Per es. invio file pippo.txt Lo stack ISO-OSI (5) Per es. invio file pippo.txt L7 L7 Mittente L6 L6 Destinatario L5 L5 L4 L4 L3 L3 L2 L2 L1 Rete fisica L1
Rimuove i bit di controllo del livello 2 Apparati di rete (1/2) Nodi che garantiscono il funzionamento, l’efficienza l’affidabilità e la scalabilità delle reti informatiche : Hub (livello 1): semplice ripetitore di segnale che replica la sequenza di bit in ingresso su tutte le interfacce di uscita; collega solo reti identiche perché lavora a livello 1(in disuso a favore degli switch) Bridge/switch (livello 2): ripete il segnale solo verso l’ interfaccia di uscita corretta che porta a destinazione. Bridge: due reti; Switch: più di due reti Router (livello 3): connette reti anche differenti; si occupa dell’istradamento dei pacchetti verso destinazione, eventualmente attraverso altri router: Rimuove i bit di controllo del livello 2 Esamina i bit di controllo del livello 3 e decide come istradare sulla base dell’indirizzo di destinazione Aggiunge nuovi bit di controllo e istrada il pacchetto
Ha un’interfaccia per ogni rete a cui è collegato Apparati di rete (2/2) Proxy (livello 4): Ha un’interfaccia per ogni rete a cui è collegato Può ricostruire l’intero messaggio aprendolo e aggiungendovi informazioni (es. antivirus all’email) Gateway (livello 7): Interconnette applicazioni remote differenti Implementa uno stack protocollare a tutti i livelli Si propone come interfaccia tra due applicazioni che utilizzano protocolli differenti(es. web mail con HTTP e IMAP)
Architettura client/server Indica una modalità particolare di accesso alle funzionalità offerte da una rete E’ Indipendente dalla topologia della rete Una macchina particolare (detta server) offre una serie di servizi (disco condiviso, stampanti, database, ecc.) ed aspetta richieste Le altre macchine (dette client) utilizzano i servizi offerti dal server Quindi, il server generalmente si limita ad attendere che qualcuno lo contatti. Sono sempre i client ad iniziare il dialogo (chiedendo un certo servizio) E’ molto usata. Anche in ambito Internet (DNS, Web,…)
Architettura client/server Più client possono contattare contemporaneamente lo stesso server Il server gestisce una coda di richieste nella quale accoda i messaggi provenienti dal client ed estrae quello che, in un dato istante, elaborerà Rete logica Client Per es. un sito Web Server
Architetture peer to peer Ogni computer può assumere la funzione di server e client a seconda del momento Esempi: Emule, Bittorrent Migliore distribuzione del carico di lavoro sul server
Nasce alla fine degli anni ’60 negli USA per scopi militari (ARPANET) Internet Breve storia Un insieme di tecnologie, standard ed applicazioni in grado di connettere tra loro reti disomogenee (basate cioè su standard diversi), creando una sorta di “rete di reti”, ovvero una “inter-rete”, ovvero una Inter-Net Nasce alla fine degli anni ’60 negli USA per scopi militari (ARPANET) Negli anni ’70 nasce il protocollo fondamentale di Internet: TCP/IP Negli anni ’80 è diffusa soprattutto in ambito accademico All’inizio degli anni ’90 nasce il World Wide Web
Il protocollo di connessione TCP/IP TCP/IP: insieme di protocolli usati per connettere calcolatori e reti Il termine è una combinazione di due dei protocolli più importanti: TCP (Transmission Control Protocol): corrisponde, più o meno, al livello trasporto ISO-OSI IP (Internet Protocol): corrisponde, più o meno, con il livello rete ISO-OSI
Application TCP/UDP IP Network Interface TCP/IP e stack ISO OSI Application TCP/UDP IP Network Interface Application Presentation Session Transport Network Data Link Physical Media Internet Modello ISO OSI
Livelli di rete e trasporto Rete: IP individua il nodo di destinazione ed effettua il routing dinamico di ogni pacchetto da un nodo sorgente a un nodo destinazione, collegando anche reti diverse tra loro, senza garantire la corretta consegna(è connectionless) Trasporto: al di sopra di IP crea una connessione end to end (canale virtuale nonostante la divisione in pacchetti) tra applicazione sorgente e destinazione TCP controlla la corretta trasmissione dei dati sotto forma di pacchetti, occupandosi dell’eventuale ritrasmissione di pacchetti persi UDP(USER DATA PROTOCOL): non garantisce la corretta trasmissione dei pacchetti perché non usa i pesanti meccanismi di controllo del TCP: meno affidabile, più efficiente
HTTP su TCP, permette il funzionamento del web Livello Application Protocolli Applicativi, poggiano sul trasporto e permettono il funzionamento delle diverse applicazioni su Internet. Esempi: HTTP su TCP, permette il funzionamento del web SMTP su TCP, permette l’invio di posta elettronica POP3 su TCP, permette la ricezione di posta elettronica RTP su UDP, permette la trasmissione della TV su Internet
Indirizzi pubblici e privati INDIRIZZO PUBBLICO: IP Numero identificatore di un nodo sulla rete Necessario per comunicare con un computer su Internet E’ un numero lungo quattro byte In modo simbolico, viene scritto con la dotted decimal notation: separando i valori decimali corrispondenti ai singoli byte con dei punti (es. 127.123.45.156) le prime due parti identificano una “rete”, la terza una “sotto-rete” e la quarta uno specifico calcolatore su tale sotto-rete Sono distribuiti dall’ICANN
IP non rilasciati da alcun organismo INTRANET TCP/IP viene usato anche per creare reti locali che si chiamano INTRANET i nodi di una INTRANET usano indirizzi IP privati(es 192.168.x.x, con x qualsiasi) IP non rilasciati da alcun organismo Maggiore sicurezza ai computer della INTRANET Per accedere ad Internet, la INTRANET deve essere collegata ad Internet tramite un router che fa offre il servizio NAT(Network Address Translation): Modifica gli indirizzi IP in transito, nascondendo ad Internet l’utilizzo di indirizzi privati da parte del nodi della INTRANET 38
Nomi e Domini: il DNS A ogni computer su Internet (indirizzo IP) può essere assegnato anche un nome simbolico: nome di dominio Indirizzo utente: nome simbolico dell’utente, simbolo @, nome del dominio dell’utente (es. s.colucci@poliba.it) Dominio: Rappresenta il nodo su cui l’utente stesso risiede La maggior parte dei domini ha tre livelli: etichette rilasciate da organismi Gerarchia di livelli nel dominio Primo livello: .it, .com, .org, .eu,…….(creati da ICANN e delegati ai singoli enti nazionali, che lo danno a vari mantainer) Secondo livello: poliba., unimi., polimi., uniba.,…(creati da enti nazionali del primo livello) Terzo livello: www., java., mail.,….(gestiti dall’azienda che ha comprato il dominio) Esempio: in www.poliba.it il Poliba ha acquistato il dominio dal NIC(Network Information Center) di Pisa (gestisce il .it) e gestisce il computer www nella propria rete I domini devono essere trasformati in indirizzi numerici: DNS (Domain Name Server) come protocollo applicativo poggiato su UDP e progettato secondo il paradigma client server: secondo richiesta al DNS più vicino 39
Sviluppato al CERN di Ginevra E’ un’evoluzione degli ipertesti Il World Wide Web Il World Wide Web (WWW) è un sistema per la gestione di documenti su Internet Sviluppato al CERN di Ginevra E’ un’evoluzione degli ipertesti Sito Web: insieme unitario di documenti Web: documenti ipertestuali Ogni sito Web ha una struttura gerarchica, con una pagina iniziale (home page) e una serie di documenti Web collegati tramite riferimenti (link) I link possono fare riferimento a documenti Web che appartengono ad altri siti Web Si crea così una “ragnatela” di connessioni tra le pagine Web che consente di “navigare” attraverso i siti Web
Standard del WWW URL (Uniform Resource Locator): il nome univoco di un documento sul Web (es. http:// www.poliba.it/Didattica/index.html) ; composto da: Schema: modalità di accesso alla risorsa (es. http) Host: nome di dominio che individua il computer su cui risiede la risorsa(es. www.poliba.it) Percorso: individua la risorsa all’interno dell’host (es. Didattica/index.html ) HTTP (HyperText Transfer Protocol): protocollo applicativo di trasferimento usato su TCP per reperire le risorse su Web secondo la logica client server HTML (HyperText Markup Language): linguaggio di descrizione di un documento Web, che realizza ipertesti visibili tramite browser
Il WWW segue l’approccio client-server : Architettura del WWW Il WWW segue l’approccio client-server : Il browser(Firefox, Internet Explorer, Opera, ..) : lato client; richiede le pagine al Web server e le visualizza Il Web server: lato server; invia le pagine richieste Pagine statiche, memorizzate sul file system Pagine dinamiche, “assemblate” dinamicamente a partire da contenuti memorizzati – ad esempio – nei database Il DBMS: lato server; contiene i dati usati per assemblare le pagine dinamiche Una tipica interazione: Il client (browser) si collega al Web server tramite HTTP L’utente, richiede l’accesso alle pagine Web, individuate tramite i loro indirizzi (URL) Il browser interpreta l’URL e invia una richiesta HTTP al server che detiene il documento Il server Web estrae (o costruisce dinamicamente) la pagina e la invia con HTTP al browser Il browser interpreta la pagina (ovvero l’HTML di cui è composta) e ne visualizza il contenuto in base alle regole contenute nel file HTML
Ricerca per parole chiave Motori di Ricerca Basati su immensi database che contiene tutte le pagine presenti sul Web Ricerca per parole chiave Elenchi aggiornati tramite crawler(o spider o robot) che è un software che analizza regolarmente i contenuti dei siti : Si basa su una lista iniziale di URL da visitare Analizza tutti i documenti della lista iniziale Aggiunge le URL contenute nei documenti analizzati alla sua lista iniziale
Indirizzo: nome utente, simbolo separatore @ e nome del dominio La posta elettronica Indirizzo: nome utente, simbolo separatore @ e nome del dominio Messaggio composto da varie parti: Busta: Informazioni protocollari necessarie per trasmettere e consegnare il messaggio Contenuto: Intestazione : Mittente (from): indirizzo utente del mittente Destinatario (to): indirizzo utente del destintario Destinatario in copia (cc): indirizzo utente del destinatario in copia Oggetto (subject): titolo e breve descrizione del messaggio ……… Corpo del messaggio: stringa di caratteri di lunghezza e contenuto arbitrari (allegati mandati tramite trasformazione di file binari in testo con varie tecniche: es. MIME)
Architettura di un sistema di posta elettronica Tre entità: Mail User Agent(MUA): programma che l’utente usa per leggere e scrivere i messaggi Mail Transport Agent(MTA): programma che si prende carico di far arrivare il messaggio Mail Delivery Agent(MDA): programma che colloca il messaggio arriato nella casella postale del destinatario (spesso coincide con MTA)
Invio e ricezione messaggi L’utente si avvale dei servizi del MTA, non invia direttamente a destinazione Il MTA cerca di recapitare, direttamente o tramite altri MTA per qualche giorno, fino all’arrivo Comunicazione con protocollo SMTP (Simple Mail Transfer Protocol) Ricezione: Il programma utente presenta i messaggi che sono arrivati alla casella di posta, prelevandoli dal calcolatore (MDA), che ospita la casella Protocolli: POP3: permette autenticazione dell’utente, richiesta di elenco di messaggi, rimozione IMAP: permette in più la gestione di elenco di caselle di posta in remoto