350 likes | 464 Views
Sistemi distribuiti e Internet Prof. Michele Amoretti Fondamenti di Informatica a.a. 2008/2009. Sommario Classificazione di Enslow Sistemi distribuiti Reti LAN Reti WAN Internet Protocolli di comunicazione Gerarchia di protocolli TCP/IP. Classificazione di Enslow
E N D
Sistemi distribuiti e Internet Prof. Michele Amoretti Fondamenti di Informatica a.a. 2008/2009
Sommario • Classificazione di Enslow • Sistemi distribuiti • Reti LAN • Reti WAN • Internet • Protocolli di comunicazione • Gerarchia di protocolli TCP/IP
Classificazione di Enslow Enslow nel 1980 ha proposto di collocare le architetture dei sistemi di elaborazione in uno spazio tridimensionale le cui dimensioni sono: Elaborazione – Dati – Controllo Unità di elaborazione singola. Unità di elaborazione singola ma con più unità funzionali. Unità di elaborazione multiple omogenee o eterogenee. Base di dati centralizzata. Base di dati distribuita fisicamente con direttorio centralizzato. Base di dati distribuita fisicamente senza direttorio centralizzato. Punto di controllo unico. Relazioni di tipo master-slave statiche o dinamiche. Punti di controllo autonomi e/o cooperanti. E D C
Classificazione di Enslow Tra i due casi estremi (PC e Internet) si possono collocare tutte le architetture di elaborazione esistenti.
Sistemi distribuiti • Un sistema di elaborazione distribuito è dato da un insieme di • computer collegati in rete, sui quali vengono eseguiti programmi che • comunicano allo scopo di • condividere risorse • condividere informazioni • I singoli computer di una rete sono indicati come nodi (o host, o • terminali) e possono essere di qualsiasi tipo, dal PDA (personal digital • assistant) al laptop, al supercomputer paralleli.
Reti LAN Una rete LAN (Local Area Network) connette dispositivi hardware come computer, stampanti e periferiche di memorizzazione tutti vicini tra loro. Esempi di LAN sono l’interconnessione di macchine in un locale, nello stesso edificio o in un campus universitario. Un’importante caratteristica delle LAN è che il proprietario dei computer è anche il proprietario dei mezzi di comunicazione.
Reti LAN Topologie LAN comuni:
Reti WAN Una rete WAN (Wide Area Network) connette elaboratori che non si trovano nelle immediate vicinanze ma possono essere in un’altra città, un’altra nazione o anche al di là dell’oceano. Poiché le WAN attraversano proprietà pubbliche, l’utente deve acquistare servizi di telecomunicazioni da un fornitore esterno. Tipicamente si tratta di linee dedicate punto a punto che collegano direttamente due macchine, e non di canali condivisi come quelli di una LAN. La maggior parte delle reti WAN usa una tecnologia store-and-forward (immagazzinamento ed inoltro), a commutazione di pacchetto per consegnare i messaggi.
Reti WAN Es. Per inviare un messaggio dal nodo di origine A al nodo di destinazione D, occorre passare da A →B → C → D. In alternativa, il messaggio potrebbe viaggiare da A →B → F → D o da A → E → F → D. Il percorso esatto è determinato dalla rete, non dall’utente, considerando il tragitto in grado di effettuare la trasmissione più rapidamente. Se il messaggio è grande, può essere suddiviso in più pacchetti, ognuno dei quali può prendere una strada diversa. Una delle più interessanti caratteristiche di una rete store and forward è che il guasto di una singola linea o di un singolo nodo non compromette necessariamente l’intera rete.
Internet L’affidabilità e la tolleranza agli errori sono stati i motivi che hanno spinto a studiare le reti WAN verso la fine degli anni ’60 e l’inizio degli anni ’70. Le forze armate degli Stati Uniti erano interessate a sistemi di comunicazione in grado di funzionare anche qualora alcune componenti fossero state distrutte, come sarebbe potuto accadere in caso di guerra o insurrezione civile. Le loro ricerche portarono alla creazione di Internet. Per interconnettere LAN e WAN si usano dispositivi chiamati router. Internet è la rete delle reti, che connette un numero enorme di WAN e LAN. Utenti privati, aziende, enti pubblici, ecc. accedono a Internet collegandosi (a pagamento) alle WAN di proprietà di alcune aziende chiamate Internet Service Provider (ISP).
Internet Gerarchia di ISP Numero di nodi connessi al 7/2007: 489774269
Protocolli di comunicazione Per ottenere comunicazioni ben organizzate serve una serie di procedure che specifichino come debbano avere luogo gli scambi di dati. Tutto ciò si ottiene tramite i protocolli di rete. Un protocollo di rete è una serie di regole, convenzioni e accordi condivisi per lo scambio efficiente e ordinato di informazioni. Internet è gestita dalla Internet Society, un’associazione professionale non profit e non governativa composta da oltre 100 organizzazioni mondiali (fondazioni, agenzie governative, istituzioni universitarie, aziende) in 180 paesi, unite dallo scopo comune di mantenere il buon funzionamento della rete delle reti. Questo gruppo, con i sottocomitati IAB (Internet Architecture Board) e IETF (Internet Engineering Task Force) stabilisce gli standard per i protocolli di rete. www.isoc.org
Gerarchia di protocolli TCP/IP La gerarchia di protocolli di Internet, detta anche stack (pila) di protocolli, ha cinque livelli. Questa gerarchia è anche indicata come TCP/IP, dai nomi di due dei protocolli più importanti. Livello Nome Esempi 5 Applicazione HTTP, SMTP, FTP 4 Trasporto TCP, UDP 3 Rete IP 2 Collegamento DSL, Ethernet, Wi-Fi, WiMax 1 Fisico doppino telefonico, fibra ottica Ideatori: Vinton (Vint) Cerf e Robert (Bob) Kahn (1972).
Livello 1: fisico I protocolli del livello fisico governano lo scambio di cifre binarie su un canale di comunicazione fisico, come un cavo a fibre ottiche, un doppino in rame o un canale radio wireless. Tali protocolli specificano aspetti come i seguenti: • Come sapere quando un bit è presente sulla linea. • Per quanto tempo il bit rimarrà sulla linea. • Se il bit è rappresentato come segnale digitale o analogico. • Quali livelli di voltaggio sono utilizzati per rappresentare uno 0 binario e un 1 binario. • La forma del connettore tra il computer e la linea di trasmissione.
Livello 1: fisico A livello fisico si collocano varie strategie di codifica delle informazioni, con l’obbiettivo di aumentare la velocità di trasmissione fino al limite teorico dato dal teorema di Shannon-Hartley: C è la capacità del canale in bit al secondo, dopo l’applicazione della correzione d’errore. BW è la banda del canale (in hertz). S/N è il rapporto segnale/rumore (S e N sono potenze, espresse in Watt).
Livello 1: fisico Linee telefoniche commutate Segnali analogici trasportati all’interno di un circuito che collega punti identificati da un numero unico (il numero telefonico!). Il mezzo analogico va bene per la voce umana che varia in modo continuo di frequenza e volume. Per poter trasmettere sequenze di 0 e 1, si utilizza un dispositivo chiamato modem, in grado di modulare un segnale analogico standard chiamato portante, in fase di trasmissione, e di demodulare segnali analogici modulati, in fase di ricezione. Velocità massima di trasmissione: 56 Kbps (kilobit per secondo)
Livello 1: fisico Modulazione
Livello 1: fisico Digital Subscriber Line (DSL) Una linea DSL utilizza gli stessi cavi della normale linea telefonica casalinga, infatti è fornita dalla compagnia telefonica o da un’azienda che opera come intermediario. Benché il cavo sia identico, la linea DSL utilizza un insieme di frequenze diverso e trasmette segnali digitali e non analogici. Perciò, il traffico vocale generato dalle normali comunicazioni telefoniche non interferisce con il traffico dati della rete informatica. Banda asimmetrica: maggiore in download, minore in upload. Velocità tipiche di trasmissione: da 1 a 20 Mbps (megabit per secondo) Con queste linee si comincia a parlare di collegamenti a banda larga.
Livello 1: fisico Collegamenti su linee in fibra ottica Le fibre ottiche sono filamenti di materiale vetroso, realizzati in modo da poter condurre la luce (laser, tipicamente). Sono normalmente disponibili sotto forma di cavi ove il materiale vetroso è coperto da una guaina di plastica. Le reti cablate in maniera capillare con fibre ottiche sono rare: si tratta di solito di installazioni aziendali proprietarie. Velocità tipiche di trasmissione: da 40Gbps (gigabit per secondo) a qualche Tbps (terabit per secondo).
Livello 1: fisico Collegamenti su linee della televisione via cavo In alcuni paesi le comunicazioni in banda larga sono effettuate anche tramite le linee della televisione via cavo, con appositi modem. In questo caso il fornitore è generalmente lo stesso che fornisce la televisione via cavo. Parte della capacità allocata per i segnali TV viene usata per la trasmissione di dati. Anche questa soluzione fornisce una connessione sempre attiva e offre una velocità di download paragonabile a quella consentita da una linea DSL.
Livello 1: fisico Connessioni wireless Uno sviluppo relativamente recente nelle telecomunicazioni è la crescita delle comunicazioni wireless (= senza cavo) che utilizzano segnali radio, microonde e infrarossi. Nel mondo wireless gli utenti non necessitano più di una connessione fisica a una rete cablata, per accedere ai dati, ma sono liberi da cavi, esattamente come è avvenuto per i telefoni cellulari. Con la tecnologia wireless è possibile inviare e ricevere posta elettronica, accedere a database o controllare applicazioni remote anche in macchina, in spiaggia e ovunque. La branca dell’informatica che si occupa di sistemi distribuiti di tipo wireless prende il nome di mobile computing.
Livello 1: fisico • Problemi delle comunicazioni wireless: • alcuni tipi di linee wireless soffrono di problemi legati all’ambiente: sono fortemente influenzati da pioggia e nebbia, non possono oltrepassare ostacoli come edifici o grandi alberi, e hanno tassi di errore più alti rispetto alla comunicazione via cavo. • le comunicazioni wireless sono spesso più lente di quelle via cavo (dell’ordine di centinaia di Kbps o pochi Mbps, rispetto alle centinaia di Mbps o Gbps delle comunicazioni via cavo), il che le rende non adatte al trasferimento di grandi quantità di dati. • infine c’è l’aspetto della sicurezza: al momento non è particolarmente difficile intercettare le trasmissioni e ottenere accesso non autorizzato a reti wireless.
Livello 2: collegamento A causa di interferenze, del meteo o di altri fattori, si possono introdurre errori nel flusso di dati. I bit in uscita dal canale potrebbero non essere una copia esatta di quelli in entrata e questo crea un problema di rilevamento e correzione degli errori: come si rileva il momento in cui si verificano gli errori, e come si correggono? Inoltre, poiché vogliamo ricevere messaggi completi e non semplici flussi di bit, dobbiamo sapere quali bit nel flusso stanno insieme tra loro, ovvero dobbiamo identificare l’inizio e la fine di un frame di dati. Questo è il problema del framing, o tramatura. I protocolli di collegamento dati hanno il compito di provvedere alla gestione degli errori, al framing e alla trasmissione dei frame tra due nodi direttamente collegati.
Livello 2: collegamento • Ethernet • Negli ambienti commerciali e professionali, la tecnologia a larga banda • più comune è Ethernet (inventata a metà degli anni ’70 da Xerox), che • consente di trasmettere dati su linee dedicate (topologia a bus) • all’interno di un edificio o di un complesso di edifici con velocità di • 10 Mbps. • Evoluzioni: • Fast Ethernet: 100 Mbps (primi anni ’90) • Gigabit Ethernet: 1 Gbps (1998) • Ten-gigabit Ethernet: 10 Gbps (2003)
Livello 2: collegamento Esempi di LAN Ethernet realizzate usando cavi condivisi:
Livello 2: collegamento Esempio di LAN Ethernet realizzata usando un HUB:
Livello 2: collegamento Connessioni wireless ad accesso locale In una rete wireless ad accesso locale, un utente trasmette dal proprio computer a una stazione base wireless locale, l’unità di ricezione, che si trova a distanza di un centinaio di metri o poco più. Questa stazione base è connessa a una rete cablata tradizionale, per esempio DSL. Uno dei più diffusi standard per l’accesso locale wireless è il Wi-Fi, abbreviazione di Wireless Fidelity; i terminali devono essere a non più di 50-100 metri dall’access point. Velocità: da 11 a 54 Mbps. Un altro noto standard wireless di accesso locale è Bluetooth, che opera a basso voltaggio e consente la comunicazione tra dispositivi piuttosto vicini tra loro, a distanze di 10–15 metri. La tecnologia Bluetooth è spesso usata per supportare comunicazioni wireless con periferiche come stampanti, mouse e tastiere. Velocità: fino a 723 Kbps.
Livello 2: collegamento • Connessioni wireless wide-area • In una rete wireless wide-area, ciascun computer trasmette messaggi • a una stazione radio base remota fornita da una compagnia di • telecomunicazioni, che può trovarsi anche a chilometri di distanza. • Solitamente la stazione radio base è una grande antenna posta in cima • a una torre o a un edificio, simile alle antenne utilizzate per le reti di • telefonia cellulare. • Worldwide Interoperability for Microwave Access (WiMax) • possibilità di essere utilizzato su qualsiasi tipo di territorio, a prescindere dalle caratteristiche geografiche • copertura di alcuni km² per ciascuna stazione radio base • velocità di trasmissione di dati condivisi fino a 70 Mbps in aree metropolitane
Livello 3: rete Le due responsabilità fondamentali del livello di rete sono: • creare uno schema di indirizzamento universale per tutti i nodi di rete; • routing dei messaggi nella rete Ogni nodo della rete deve usare lo stesso protocollo del livello di rete, e questa è una delle parti più importanti dello stack di protocolli. Spesso si dice che il livello di rete è il “collante” che tiene insieme l’intera rete; in Internet si chiama Internet Protocol (IP).
Livello 3: rete Ogni nodo di Internet ha un identificatore unico chiamato indirizzo IP. In IPv4 l’indirizzo è una stringa di 32 bit che normalmente viene scritta come quartina di cifre comprese tra 0 e 255, ciascuna separata da un punto. In IPv6 l’indirizzo è lungo 128 bit. È compito di una speciale applicazione Internet denominata Domain Name System (DNS) convertire un nome di host simbolico come google.com nel suo indirizzo IP (v4) 64.233.187.99. Il DNS è un enorme database, distribuito su migliaia di macchine che, in totale, contengono le corrispondenze tra nomi e indirizzi IP per gli oltre 400 milioni di computer host su Internet.
Livello 3: rete Supponete che A voglia inviare un messaggio a D. Per prima cosa, il nodo A usa il DNS per ottenere l’indirizzo IP del nodo D, che inserisce nel messaggio. Poiché non vi è un tragitto diretto da A a D, il messaggio viene inviato lungo un percorso a più salti che da A consente di raggiungere D (ognuno dei salti diretti da macchina a macchina, detto hop, usa i protocolli di collegamento dati descritti nel paragrafo precedente). In questo esempio vi sono quattro possibilità: ABCD, AEFD, ABFD e AEFBCD. Il processo con cui si sceglie un percorso specifico si chiama routing. Cambiamenti di topologia, guasti, .. instradamento dinamico
Livello 4: trasporto Ogni computer host ha un indirizzo IP che lo identifica univocamente, ma in esso potrebbero trovarsi in esecuzione molti programmi applicativi, ognuno che svolge il proprio lavoro. Quando arriva un messaggio, come si fa a sapere a quale programma è indirizzato e dove recapitarlo? Serve un secondo livello di indirizzamento che identifichi non solo una macchina specifica, ma anche un programma specifico in esecuzione su di essa. Questo “identificatore di programma”, solitamente costituito da un numero intero, è chiamato numero di porta. I protocolli di livello trasporto realizzano un servizio di recapito tra programmi (applicazioni), ciascuno con il suo grado di affidabilità. I messaggi di livello applicazione possono venire frammentati in segmenti (la cui lunghezza può anche non essere sempre uguale, dipende dal protocollo di trasporto).
Livello 4: trasporto • Di seguito vengono riportati i servizi che vengono, in genere, offerti dal • livello di trasporto; è bene ricordare che nessuno di tali servizi è • obbligatorio. Di conseguenza, per ciascuna applicazione è possibile • scegliere il protocollo più adatto allo scopo. • Servizio orientato alla connessione • Corretto ordine di consegna dei pacchetti • Trasferimento affidabile • Controllo di flusso • Controllo di congestione • Orientamento al byte • Multiplazione • Principali protocolli di trasporto: • Transport Control Protocol (TCP) [servizi 1,..,5] • User Datagram Protocol (UDP) [servizi 6,7]
Livello 5: applicazione I protocolli di livello 5 definiscono le regole per implementare i servizi all’utente finale forniti dalla rete. Esempi: Acronimo Nome Applicazione # porta HTTP HyperText Transfer Protocol Accesso a pagine web 80 SMTP Simple Mail Transfer Protocol Invio di email 25 POP3 Post Office Protocol Ricezione di email 110 IMAP Internet Mail Access Protocol Ricezione di email 143 FTP File Transfer Protocol Accesso a file remoti 21 TELNET Terminal Emulation Protocol Accesso a terminali remoti 23 DNS Domain Name System Traduzione di nomi 42 simbolici in indirizzi IP