Reti Del Computer PDF

Document Details

ManageableGrowth292

Uploaded by ManageableGrowth292

Tags

reti di computer informatica tecnologie dell'informazione computer

Summary

Questo documento tratta i concetti base sulle reti di computer, includendo le architetture parallele e le diverse classi di computer. Vengono presentati argomenti legati alle reti, come i sistemi SISD, SIMD, MISD e MIMD. Il documento include anche informazioni sul cloud computing, i modelli di servizio, e le forme di distribuzione dei servizi.

Full Transcript

CAPITOLO 9 LE RETI DEL COMPUTER L’epoca attuale è caratterizzata da termini quali connessione/connection e condivisione/sharing che prevedono la presenza di una rete di calcolatori. Le differenze tra raccolta, trasporto, archiviazione ed elaborazione dei dati stanno rapidamente svanendo vista la con...

CAPITOLO 9 LE RETI DEL COMPUTER L’epoca attuale è caratterizzata da termini quali connessione/connection e condivisione/sharing che prevedono la presenza di una rete di calcolatori. Le differenze tra raccolta, trasporto, archiviazione ed elaborazione dei dati stanno rapidamente svanendo vista la convergenza tra le aree dell’Information Technology e della Communication Technology: anni fa era importante il “centro di calcolo” oggi, invece, sono fondamentali i network e sempre più il termine IT viene sostituito con ICT (Information and Communication Technology). Una rete di computer è una infrastruttura hardware, software e telematica che consente a due o più nodi di comunicare tra loro per condividere le risorse. La comunicazione avviene attraverso vari protocolli e con diversi mezzi trasmissivi quali, per esempio, i cavi coassiali, i fili di rame, le fibre ottiche e le onde elettromagnetiche. Oggi le reti sono utilizzate in ambito aziendale per la condivisione di software, di periferiche ma soprattutto per lo sharing dei dati. Applicazioni tipiche sono la posta elettronica, le web application, la telefonia Voice over IP (VoIP), l’e-commerce e il desktop sharing. Anche in ambito domestico le reti sono diffusissime; applicazioni peer-to-peer, instant messaging tra due o più persone, social network, Wiki (cooperazione per creare contenuti), software di streaming audio, video e Ubiquitous computing (monitoraggio remoto) sono ormai delle commodity per milioni di persone nel mondo. I personal computer, gli smartphone e gli altri device attualmente sul mercato sono strumenti di lavoro e per il tempo libero straordinari per generare foto, video, documenti, fogli di calcolo, ecc. ma in assenza di una rete perderebbero molto del loro appeal attuale. Da qualche anno, inoltre, in un mondo fortemente in evoluzione come quello delle reti ha fatto irruzione la tecnologia mobile che ha ancor più spinto gli individui nel mondo a creare e/o usufruire di servizi ad hoc ormai irrinunciabili. Le reti si sono così trasformate in un’architettura in grado di supportare gli esseri umani nel mentre della loro mobilità giornaliera. Le reti wireless telefoniche cellulari e quelle Wi-Fi sono oggi diffusissime ed i device mobile sono “indossati” da miliardi di persone nel mondo. 9.1 LE ARCHITETTURE PARALLELE Un tipico computer monoprocessore è un’architettura monolitica in cui un processore principale viene supportato nelle sue normali operazioni da altri, i coprocessori, che sono dedicati a scopi precisi.Le architetture parallele, invece, prevedono la presenza di più processori che elaborano contemporaneamente più istruzioni di uno o più programmi; esse sono alla base delle reti di calcolatori. Gli obiettivi di un’architettura parallela prevedono il miglioramento delle prestazioni del sistema e del rapporto costo/prestazioni al fine di eseguire un problema più grande nello stesso tempo piuttosto che lo stesso problema in minor tempo. Spesso tali architetture devono “convivere” con un parallelismo limitato presente nei programmi il che significa sottoutilizzare le loro potenzialità: la vera difficoltà non è realizzare architetture parallele ma sviluppare applicazioni parallele. Di seguito è illustrata la classificazione delle architetture parallele formalizzata da Flynn nel 1972 che ha il pregio di essere schematica e semplice da apprendere.Le diverse classi di Flynn si basano su due caratteristiche essenziali: il numero di flussi di istruzioni e il numero di flussi dei dati. 9.1.1 I SISTEMI SISD I sistemi con un singolo flusso di istruzioni e un singolo flusso di dati sono classificati come SISD (Single Instruction Single Data); essi non consentono l’esecuzione parallela di più istruzioni né consentono il flusso parallelo di più dati. Tutti i computer monoprocessore sono dei SISD. Su tali computer, infatti, è possibile eseguire in un determinato istante una sola istruzione e quindi manipolare solo i dati che questa istruzione chiama in causa. 9.1.2 I SISTEMI SIMD Nella classe dei SIMD (Single Instruction Multiple Data) rientrano quei sistemi in cui più processori eseguono la stessa istruzione su flussi di dati diversi. Si tratta di quei supercalcolatori in cui ogni processore ha la propria memoria dati mentre esiste una sola memoria per le istruzioni e un solo processore di controllo. Questi supercalcolatori sono utili per computazioni che ripetono lo stesso calcolo su un insieme di dati molto grande, per esempio quando si vuole la somma di 128 vettori di dati numerici reali. 9.1.3 I SISTEMI MISD Nella classe MISD (Multiple Instruction Single Data) rientrano gli ipotetici sistemi con un flusso di istruzioni multiplo (ovvero è possibile eseguire contemporaneamente più istruzioni) e un flusso di dati singolo. Nella frase precedente è stato usato il termine “ipotetici” poiché nessun calcolatore conosciuto oggi rientra in tale classe. 9.1.4 I SISTEMI MIMD L’ultima categoria della classificazione di Flynn riguarda i sistemi MIMD (Multiple Instruction Multiple Data) in grado di eseguire più istruzioni contemporaneamente utilizzando più unità di calcolo. Nell’ambito di questa classe è possibile distinguere due ulteriori importanti classi, tenendo conto della cooperazione progettuale tra i vari processori: 1. sistemi multicomputer o in collegamento lasco (loosely coupled): in cui ogni processore è situato in un computer diverso e a loro volta questi computer sono connessi tramite una rete. Tale collegamento, quindi, comporta la connessione di più computer attraverso una linea di comunicazione formando così una rete di computer. Ciascun processore ha una propria memoria centrale, possiede distinte unità di input/output e un proprio sistema operativo. I vari processori collegati in modo lasco possono lavorare indipendentemente (proprio perché "vivono" in computer distinti) o comunicare tra loro tramite la linea di commutazione e quindi condividere, per esempio, archivi di dati memorizzati in memoria di massa. 2. sistemi multiprocessore o in collegamento stretto (tightly coupled): in cui i vari processori sono situati nello stesso computer. Qui, i processori condividono la memoria centrale, hanno le stesse unità di input/output e sono gestiti dallo stesso sistema operativo. Il collegamento stretto è ovviamente caratterizzato da una velocità di dialogo tra processori maggiore a quella presente nel collegamento lasco. In pratica, due processori sono collegati in senso stretto se sono nello stesso computer evidentemente montati sulla stessa scheda madre. Qui, ovviamente, dialogano ad altissima velocità, hanno la stessa,memoria centrale e lo stesso sistema operativo. Due processori sono collegati in senso lasco se sono installati in due schede madri distinte poste in due diversi computer a loro volta collegati in rete. In tal caso i due processori non condividono la memoria centrale e dialogano a una velocità incomparabilmente inferiore a quella esistente nel collegamento stretto. Ogni rete di computer, quindi, rappresenta un collegamento lasco tra i processori presenti. 9.2 I CONCETTI BASE SULLE RETI: NODI, PROTOCOLLI E SERVIZI Internet, la rete delle reti, collega miliardi di nodi nel mondo. Dovendo collegare nodi eterogenei tra loro è fondamentale stabilire degli standard di comunicazione che consentano ad oggetti diversi di parlarsi. Ecco dunque l’importanza dei protocolli che definiscono “il formato e l’ordine dei messaggi scambiati tra due o più entità in comunicazione, così come le azioni intraprese in fase di trasmissione e/o di ricezione di un messaggio o di un altro evento”. Oggi il panorama delle reti è quanto mai eterogeneo e prevede la comunicazione di pochi bit tra dispositivi vicinissimi, si pensi per esempio ad uno smartphone che dialoga con il proprio auricolare. Data una rete qualsiasi, su essa i nodi collegati possono fornire/usufruire di servizi. Sono servizi la posta elettronica, il Web, la messaggistica istantanea, lo streaming di audio e video, i social network, i sistemi di controllo remoto di “cose” collegate alla rete. Per ogni tipo di rete e per ogni tipo di servizio usufruibile esiste un protocollo che ne standardizza il processo di comunicazione. L’evoluzione delle reti di calcolatori ha di fatto cambiato il concetto stesso di software; sempre più le aziende non stipulano contratti per acquistare programmi bensì per “noleggiare servizi”. 9.3 TIPI DI RETI I device sono strumenti digitali ovvero utilizzano i bit per la rappresentazione dei dati; per trasferire un bit tra due o più dispositivi occorre associargli un fenomeno fisico che può essere riprodotto a distanza. In base al fenomeno fisico utilizzato per trasportare i bit, i mezzi trasmissivi che costituiscono il canale di comunicazione possono essere classificati essenzialmente in: mezzi elettrici: sono i mezzi trasmissivi classici che si basano sulla proprietà di certi metalli di condurre energia elettrica; ad ogni bit è associato un particolare valore di tensione o corrente che appartiene ad un intervallo prestabilito del campo di variabilità di tali grandezze; onde radio (wireless): il segnale è associato ad un’onda elettromagnetica che si propaga nello spazio che ha la proprietà di riprodurre a distanza una corrente elettrica in un dispositivo ricevente, l’antenna; mezzi ottici: laser e fibre ottiche in cui si utilizza la luce come fenomeno fisico per il trasferimento dei bit. Quindi, come si può notare, la propagazione può avvenire in modo guidato, nel caso si utilizzi un cablaggio che preveda cavi (elettrici e/o ottici), oppure in modo libero, nel caso di utilizzo delle onde radio. Durante la trasmissione di un segnale possono avvenire alterazioni che, in ogni caso, non devono cambiare il valore del bit trasportato. Il segnale ricevuto può differire da quello trasmesso sia nella trasmissione analogica che in quella digitale. Come già accennato nel capitolo 1, il segnale analogico assume valori continui nell’intervallo di tempo contrariamente al segnale digitale che assume valori due discreti. I dati possono essere rappresentati e propagati sia come segnali analogici che digitali. La voce, per esempio, è trasmessa dalla rete telefonica come un segnale analogico. I dati sono trattati dagli automi in forma binaria e nel momento del loro trasferimento in rete possono oppure essere trasferiti direttamente in binario oppure in analogico, utilizzando opportuni strumenti chiamati modem. Il segnale analogico ha il problema dell’attenuazione del segnale dopo una certa distanza; per cui per raggiungere distanze maggiori il sistema di trasmissione analogica prevede l’utilizzo di amplificatori che aumentano l'energia del segnale, amplificando purtroppo anche il rumore generato dalla sovrapposizione con altri segnali provenienti da elementi esterni od interni al sistema di trasmissione (ad esempio il rumore generato da alcuni dispositivi elettronici del sistema). La trasmissione, dunque, può avvenire in modo digitale, nel qual caso si otterrebbe un ambiente omogeneo in cui i device sono digitali e la trasmissione avviene usando “lo stesso linguaggio”, oppure in modo analogico, creando così un ambiente eterogeneo che ha bisogno di “traduttori” analogico/digitali e viceversa. A seconda di dove sono collocati i nodi da collegare e di conseguenza della tecnologia utilizzata per farli comunicare tra loro, le reti possono distinguersi in: Reti Personali o PAN (Personal Area Network); Reti locali o LAN (Local Area Network); Reti Metropolitane o MAN (Metropolitan Area Network); Reti Geografiche o WAN (Wide Area Network). 9.3.1 LE RETI PAN Le Personal Area Network permettono ai dispositivi di comunicare nello spazio fisico alla portata di una persona. Esse sono reti wireless a corto raggio ed utilizzano Bluetooth come standard tecnico- industriale di trasmissione dati. Sono esempi di PAN un computer connesso alle sue periferiche di Input/Output (tastiera, mouse, ecc..) ed uno smartphone connesso all’auricolare. Nella loro forma più semplice le reti Bluetooth adottano il paradigma master-slave. L’unità di sistema (il PC per esempio) è il master che comunica con gli slave: il mouse, il monitor, la tastiera. 9.3.2 LE RETI LAN Una LAN è una rete i cui computer sono situati nello stesso edificio, nella stessa azienda o comunque su un unico suolo privato. Tutta la rete è normalmente di proprietà di un’unica organizzazione ed è caratterizzata da un’alta velocità di trasferimento di bit2. Si tratta di una rete totalmente digitale, per cui velocissima, ed in cui la comunicazione ha un costo nullo visto che non si utilizzano linee telefoniche. Le prime LAN avevano una velocità di trasferimento pari a 10/100 Mbps; oggi raggiungono i Gbps e possono collegare da due a diverse migliaia di nodi. A livello fisico, una rete è costituita da un certo numero di computer dotati di scheda di rete e da un sistema di connessioni, il cablaggio, che li può collegare in modi diversi. Il complesso dei cavi o del sistema di comunicazione è anche definito “sottorete di comunicazione”, mentre il punto di connessione di un computer alla sottorete è denominato IMP (Interface Message Processor). In una rete la comunicazione può avvenire in due modalità: 1. punto a punto; 2. broadcast. Nelle reti punto-punto si stabiliscono connessioni dirette tra due nodi per cui i cavi di comunicazione connettono una coppia di IMP. Nelle reti broadcast, invece, vi è un solo canale di comunicazione, al quale sono connessi tutti gli IMP. Ogni messaggio trasmesso è contrassegnato da un indirizzo mittente e da uno di destinazione; una comunicazione tra qualsiasi coppia di IMP sarà ricevuta da tutti gli IMP che si limiteranno ad ignorare il messaggio trasmesso se non è diretto a loro. Con il termine topologia di rete si indica la disposizione dei computer di una rete. Storicamente le topologie di rete utilizzate sono state essenzialmente tre: 1. a bus; 2. ad anello; 3. a stella. Attualmente l’unica topologia utilizzata è quella a stella. Topologia a bus La topologia a bus aveva una dorsale che fungeva da canale dati e delle bretelle che connettevano i computer alla dorsale. In questo tipo di topologia i computer erano identificati mediante un indirizzo univoco ed erano connessi mediante un cavo coassiale; tipicamente si utilizzava un cavo coassiale RG-58 A/U, che si connetteva alla scheda di rete del computer mediante un “connettore a T” che aveva un ingresso e due uscite. L’ingresso consegnava il segnale alla scheda di rete del computer, le due uscite consentivano la connessione al nodo successivo e a quello precedente; il primo e l’ultimo computer della rete avevano un “tappo terminatore”. Il protocollo utilizzato dalla rete a bus prevedeva la comunicazione broadcast per cui il sistema operativo di rete di ogni nodo analizzava i dati arrivati per accettarli o trascurarli a seconda del destinatario degli stessi. La LAN a bus richiedeva che tutti i computer fossero accesi e funzionanti nonché abbastanza vicini tra loro: nel caso di malfunzionamenti del cavo coassiale o di una scheda di rete installata su un qualsiasi computer tutta la rete non funzionava più. La topologia a bus imponeva, tra l’altro, un numero non eccessivo di computer collegabili visto il progressivo degrado del segnale che attraversava il bus; problema questo che a volte imponeva l’uso di un dispositivo di rete, chiamato ripetitore, per amplificare il segnale. Ormai, questa topologia non è più utilizzata a favore di quella a stella. Topologia ad anello Anche quella ad anello, come quella a bus, è una topologia ormai storica e quindi non più usata; essa prevedeva la disposizione ad anello dei computer ed una trasmissione in un’unica direzione. Anche in questo caso la comunicazione era broadcast; inoltre, la topologia non prevedeva terminatori di connessione. I dati trasmessi da un host passavano necessariamente per tutti i nodi situati tra quelli di partenza e destinazione. Ogni nodo che riceveva il segnale, analizzava l’indirizzo di destinazione per capire se era il destinatario del messaggio nel qual caso lo accettava; in caso contrario, ricostruiva il segnale e lo inviava al nodo successivo della rete. La ricostruzione del segnale effettuata da tutti gli host della rete consentiva di connettere un alto numero di computer, anche superiore a quelli della topologia a bus. Topologia a stella Nella topologia a stella non esiste un collegamento diretto tra i computer, infatti i segmenti di collegamento che partono dagli host convergono verso un punto centrale chiamato switch dotato di opportune porte di ingresso/uscita. Questa topologia consente di collegare un altissimo numero di host. I cavi utilizzabili in una rete a stella si chiamano RJ-45 simili a quelli che connettono gli apparecchi telefonici domestici alle prese a muro. In questa topologia di rete, contrariamente a quanto succedeva per le precedenti, il malfunzionamento di un cavo interrompe solo la comunicazione tra lo switch e il corrispondente computer collegato, mentre il resto della rete continua a funzionare regolarmente. Ovviamente, se lo switch non funziona l’intera rete risulta bloccata; motivo per cui lo switch va normalmente preservato in armadi chiusi a chiave. Mentre la topologia di rete stabilisce come disporre i computer, la “tecnologia di rete” o “architettura di rete” definisce le regole per lo scambio dei dati attraverso la rete. Storicamente le tecnologie di rete utilizzate sono state di due tipi: 1. probabilistiche; in cui gli host non hanno garanzie circa il successo di una trasmissione poiché il canale trasmissivo, condiviso tra tutti i nodi, potrebbe non essere disponibile per tutto il tempo necessario al completamento della stessa. Ethernet è sicuramente la tecnologia probabilistica più diffusa ed attualmente è l’unica utilizzata nel mondo delle reti LAN; 2. deterministiche; in cui ogni stazione di lavoro collegata in rete riceve un permesso per comunicare per cui ogni host sa per certo che la trasmissione andrà a buon fine. Queste reti sono ormai in disuso visto che storicamente sono più complesse e costose da realizzare. Esse sono state implementate con topologia a bus o ad anello e regolavano lo scambio di dati in base alla trasmissione di un particolare messaggio, chiamato token, che stabiliva quale nodo avesse “diritto di parola”. La tecnologia Ethernet fu sviluppata qualche anno prima del 1980 seguendo concetti di base validi ancora oggi, ovvero: semplicità di gestione della trasmissione e del cablaggio; alta velocità di trasferimento; metodi sbrigativi e poco costosi per consentire a chiunque di partecipare alla trasmissione; non stabilire regole troppo rigide per accedere alla rete e di conseguenza per governare il traffico; economicità dell’installazione e della manutenzione; occuparsi degli eventuali incidenti, tecnicamente chiamati collisioni, solo dopo che questi avvengono. La rete Ethernet inizialmente prevedeva un cablaggio a bus ma attualmente può essere configurata solo come topologia a stella. In una LAN Ethernet ogni host che desidera comunicare effettua prima di tutto un rilevamento sul canale, per vedere se esso è libero o impegnato da qualche altra trasmissione. Sul cavo viaggia, quando non ci sono trasmissioni, un segnale detto “portante del canale”; se un computer, ponendosi “in ascolto” sul canale rileva la portante, può iniziare a trasmettere il suo messaggio. Altrimenti aspetta per un certo periodo di tempo e poi riprova. Può succedere, però, che due o più macchine provino a impegnare il canale nello stesso momento e trovando ambedue il canale libero inizieranno a trasmettere contemporaneamente. In questo caso si verifica quella che si chiama una “collisione”, che comporta la reciproca distruzione dei messaggi in trasmissione e quindi la necessità di ritrasmettere. La tecnologia di rete basata su token, invece, negli anni ha visto l’applicazione nella versione a bus (rete chiamata token-bus) ed ad anello (rete chiamata token-ring). Essa prevede che ogni stazione conosca il numero della stazione attiva che la precede nell’anello logico, e di quella che la segue. A regime ciascuna stazione riceve da quella che la precede (in base alla numerazione) un particolare messaggio, chiamato token, che corrisponde ad un permesso di trasmettere, stabilisce cioè quale nodo abbia “diritto di parola”. Solo la stazione che possiede il token ha la possibilità di trasmettere i suoi messaggi, se ne ha. Tale trasmissione può avvenire per un certo periodo, che corrisponde al periodo di suo possesso del token; trascorso questo tempo, l’host deve comunque cedere il token alla stazione successiva. In questo modo il tempo massimo di attesa per ciascuna stazione per trasmettere è finito, a differenza di quanto accade con lo standard Ethernet, nel quale collisioni ripetute possono rendere indeterminata l’attesa per trasmettere. Attualmente le reti Ethernet sono lo standard di fatto delle reti LAN viste la loro efficienza e la economicità di realizzazione e gestione. 9.3.3 L E RETI METROPOLITANE MAN Una MAN interconnette nodi di un'area geografica più grande di quella coperta da una rete locale utilizzando, nel contempo, sempre la trasmissione digitale. Il termine Metropolitan è associato a questa tipologia di rete nell’ottica di un’amministrazione comunale che è proprietaria delle strade e le può trattare come se fosse il proprio suolo privato. Pertanto, nello spazio metropolitano è possibile interconnettere più reti locali utilizzando la tecnologia LAN in spazi comparabili con le reti WAN. Un esempio tipico di rete MAN è quello di un’amministrazione comunale che collega in rete, tipicamente con cablaggio in fibra ottica, tutti i propri uffici distribuiti geograficamente nel territorio cittadino. 9.3.4 LE RETI GEOGRAFICHE Nel momento in cui le distanze tra gli host iniziano a dilatarsi e/o, soprattutto, quando i nodi da collegare in rete sono divisi dal suolo pubblico, è necessario progettare una rete geografica. Dal punto di vista dell'utente, una WAN sembra funzionare come una LAN. Se una WAN è ben progettata non sembrerà esistere alcuna differenza tra una LAN ed una WAN a meno della diversa velocità; infatti, le reti geografiche sono caratterizzate da una velocità di trasferimento dei bit notevolmente inferiore,rispetto alle LAN. I collegamenti WAN possono comprendere: linee telefoniche; cavi a fibre ottiche; trasmettitori a microonde; collegamenti via satellite sistemi coassiali di televisione via cavo. Visto che il costo di acquisto e la complessità dell'implementazione e manutenzione dei collegamenti WAN sono troppo elevati per la maggior parte delle società private, essi sono, pertanto, generalmente noleggiati dai fornitori di servizi. Tipicamente, infatti, in una WAN l'infrastruttura della rete di,comunicazione è di proprietà delle società di telecomunicazione. In una WAN la connettività può essere analogica su rete PSTN o ADSL. La rete PSTN (Public switched Telephone Network) offre linee telefoniche vocali e storicamente è stata la prima modalità di connessione in WAN per milioni di persone nel mondo. Con la rete PSTN la connessione è a selezione, ovvero la connessione deve essere preventivamente aperta mediante una semplice telefonata. La rete PSTN, progettata a suo tempo per il trasporto della voce, rappresenta oggi una soluzione obsoleta per la connettività in rete geografica tra computer. ADSL, invece, è l’ultima nata in tema di tecnologia di comunicazione. ADSL è l’acronimo di Asymmetric Digital Subscriber Line che letteralmente si traduce in “linea telefonica asimmetrica per l’abbonato”. La definizione asimmetrica è dovuta al fatto che la velocità non è uguale in entrata ed in uscita. Tale asimmetria non è un limite: la fruizione di Internet, infatti, richiede molta più banda in ricezione/download (quando si scaricano programmi, o si naviga scaricando pagine Web) che in trasmissione/upload. ADSL offre prestazioni decisamente migliori di PSTN; essa è la tecnologia migliore per trasportare contenuti multimediali in modo estremamente rapido e consente una connessione H24 visto che non richiede di connettersi e disconnettersi come PSTN poiché si è sempre online. La velocità varia dai 640 kbit/s fino ai 20-30 Mbit/s in base all'operatore telefonico, al contratto stabilito con esso e alla rete utilizzata. La trasmissione analogica richiede una promiscuità di trasmissioni assente nelle LAN dove tutto è digitale. Qui, invece, i nodi delle reti sono device digitali che per comunicare utilizzano canali trasmissivi analogici. È evidente che serve una sorta di traduttore da digitale ad analogico in fase di trasmissione e da analogico a digitale in fase di ricezione. Questo è il motivo per cui una rete analogica richiede l'utilizzo di particolari dispositivi elettronici denominati modem, per connettere il computer alla linea telefonica. Un modem è un dispositivo di ricetrasmissione che ha funzionalità logiche di modulazione/demodulazione (analogica o digitale) in trasmissioni analogiche e digitali; essa, quindi, è una periferica che MOdula i segnali digitali in segnali analogici per essere trasferiti lungo la linea telefonica che consentirà loro di giungere a destinazione dove un modem DEModula i segnali analogici in arrivo in segnali digitali. Mentre per le esigenze di un utente che voglia usufruire dei servizi di Internet la connettività ADSL è eccellente, lo stesso non può dirsi per quei soggetti, tipo i provider/fornitori di servizi Web. In tali casi, infatti, le linee analogiche mostrano tutte le difficoltà del caso poiché non riescono a supportare il carico del traffico di rete generato. I fornitori di servizi spesso hanno necessità di autostrade dell’informatica velocissime per aumentare le prestazioni dei servizi stessi. Per tal motivo utilizzano trasmissioni in digitale che consentono di ottenere un’ampiezza di banda costante e una trasmissione senza errori. Sono disponibili varie forme di connettività digitale, tra cui T1, T3, T4, ATM, Frame Relay, FDDI, X.25 e ISDN. 9.4 RETI A COMMUTAZIONE DI CIRCUITO E DI PACCHETTO La commutazione indica l'insieme delle funzionalità e delle relative tecniche su cui è basato il funzionamento logico di una rete di telecomunicazioni. Grazie alla sua rapidità, convenienza ed affidabilità,la comunicazione a commutazione di pacchetto è molto utilizzata nella trasmissione nelle reti di computer. Essa si preferisce alla commutazione di circuito utilizzato dalla rete telefonica. La commutazione di circuito prevede che la capacità del canale trasmissivo sia interamente dedicata ad un solo tipo di trasmissione, per esempio una telefonata. Con essa il circuito è dedicato all’unica trasmissione per cui garantisce sicurezza ed affidabilità; inoltre, il tempo di trasferimento è costante e dipende solamente dalla distanza fra i terminali e dal numero di nodi da attraversare, in quanto la rete è trasparente al dialogo. Tutte caratteristiche queste ottimali nel caso si voglia effettuare una telefonata ma che mal si addicono alle reti di computer. Questo è il motivo per cui nel momento in cui si stabilisce un circuito tra un nodo A ed un nodo B se un terzo nodo C telefona ad uno dei due nodi A o B troverà il servizio occupato. Il concetto di “occupato”, ovviamente, non andava bene per il Web dove invece era fondamentale lo sharing, la condivisione di uno stesso canale trasmissivo tra più host della rete. Per queste esigenze è sicuramente più efficiente la commutazione di pacchetto in cui il dato originale da inviare viene suddiviso in più pacchetti; ciascun pacchetto è corredato dall’indirizzo del mittente, quello di destinazione più altre informazioni aggiuntive tra le quali il suo numero d'ordine all'interno del dato originale. Questo rende possibile l'invio sulla rete di ciascun pacchetto in modo separato; essi seguono il miglior percorso possibile, in quel momento, tra l'origine e la destinazione. È, quindi, possibile che due pacchetti facenti parte dello stesso dato di partenza seguano percorsi differenti per raggiungere la destinazione (che ovviamente è identica). Sebbene ciascun pacchetto possa seguire un diverso percorso e i pacchetti che compongono un messaggio possano arrivare in momenti differenti o fuori sequenza, il sistema operativo di rete del computer ricevente sarà comunque in grado di riassemblare il messaggio originale visto che ogni pacchetto possiede il numero d'ordine all'interno del pacchetto spedito. Le dimensioni dei pacchetti sono ridotte; per cui, in caso di un errore nel corso della trasmissione di un pacchetto, sarà efficiente ritrasmettere il pacchetto di piccole dimensioni rispetto ad uno di grandi dimensioni. Internet e le attuali reti LAN Ethernet si basano sulla comunicazione a commutazione di pacchetto. Con il termine TCP/IP, infatti, si individua la famiglia dei protocolli a commutazione di pacchetto utilizzata sia in Internet che in LAN. Questo vuol dire, per esempio, che ogni computer connesso in LAN ha bisogno di un suo indirizzo IP, così come ogni computer connesso ad Internet. 9.5 ARCHITETTURE CLIENT-SERVER E PEER TO PEER Da un punto di vista organizzativo i servizi fruibili in rete si dividono in due categorie, peer-to-peer e client-server: in un servizio peer-to-peer, anche individuato con “P2P”, gli host sono paritetici, tutti allo stesso livello; ognuno può fornire servizi e fruire dei servizi forniti dagli altri nodi della rete; in un servizio client/server esistono uno o più server che forniscono i servizi ed uno o più client che fruiscono dei servizi forniti dal/i server. Gli host connessi alla rete hanno, quindi, funzioni diverse; sul server generalmente possono essere memorizzati dati e applicazioni a cui possono accedere, anche contemporaneamente, i client collegati. In un ambiente peer-to-peer non vengono configurati server dedicati o livelli gerarchici tra i computer che sono quindi tutti uguali e definiti peer. Ciascun utente determina quali risorse presenti sul proprio computer dovranno essere condivise attraverso la rete; per esempio, può configurare una directory condivisa in cui memorizzare i file che serviranno agli altri peer. Un servizio client/server, invece, prevede ruoli precisi per ogni host: esiste il nodo che fornisce i servizi e quello che usufruisce degli stessi. A seconda delle necessità un modello si fa preferire all’altro. Per esempio, nel mondo del file sharing in Internet il modello peer-to-peer è risultato vincente visto che si voleva ottenere la decentralizzazione delle risorse da scambiarsi in rete. I software gestionali basati sui data base ed il Web sono esempi comuni di ambienti client/server in cui il client richiede un servizio, per esempio tramite una query SQL, ed il DBMS installato sul server restituisce il risultato. I concetti di client/server e peer-to-peer sono riferiti ai servizi utilizzabili in rete piuttosto che alla rete stessa. Questo vuol dire che un utente che lavora su una postazione in rete può utilizzare parallelamente sia un servizio client/server che peer-to-peer; ovviamente, per far ciò dovrà dotarsi di device (computer, smartphone, tablet, ecc..) su cui siano installati gli opportuni software. In un ambiente client/server un processo parte sempre da una richiesta del client; il server la riceve, la elabora e restituisce il risultato al client attraverso la rete. A seconda del compito eseguito dal server è possibile avere due tipologie di ambienti client/server: 1. file server; 2. application server. Quando il server gestisce l’accesso ai propri dati solo attraverso il file system si parla di file server; se, invece, sul server oltre al file system agisce anche un’applicazione terza, per esempio un DBMS, si parla di application server. In un ambiente file server l’applicazione risiede sul client, il server serve solo come repository dei dati creati dall’applicazione client. Una tipica configurazione di una rete client/server di tipo file server è quella che in una LAN si realizza con il servizio di redazione documenti. In questo contesto tutti gli utenti utilizzano un word processor salvando i dati sul server. Questo vuol dire che sul server ci saranno solo i dati (i documenti) mentre sui client gireranno le applicazioni (il word processor). Il word processor, quindi, verrà installato su ogni computer client e eseguito dal processore di quest’ultimo ma il prodotto dell'applicazione, ovvero il documento, sarà memorizzato sul disco fisso del file server. Visto che in una rete client-server con file server i computer in rete hanno funzioni diverse è ovvio pensare che debbano avere differenti caratteristiche hardware. Indipendentemente, dalle specificità dei singoli casi un computer client deve avere: una buona RAM; un buon processore; un ottimo monitor; caratteristiche che si addicano all’utente; il software client. Sicuramente per la componente server la caratteristica meno importante sarà il monitor mentre quella fondamentale sarà lo storage; non per nulla in molti casi si utilizzano i NAS, ovvero dischi con preinstallato un sistema operativo a cui si può accedere via browser da una qualsiasi postazione client. Oltre ai dati, l'application server (server di applicazioni) rende disponibile ai computer client il lato server delle applicazioni client-server. Ovvero, in una rete basata su application server le applicazioni hanno una parte server, eseguita dall'application server, ed un'altra client eseguita sui computer fruitori di servizi (i client). Per esempio, si pensi ad un software gestionale aziendale basato su un database in cui la parte server del software aziendale è costituita da un DBMS. In questi casi l’applicazione client è una semplice interfaccia che consente di formulare una query SQL, mentre la corposa parte software server eseguirà la query fornendo il risultato che verrà visualizzato sul client. Alcune considerazioni: l'hardware dei computer client può essere non eccelso: i computer client, nella loro visione minimale, possono anche non essere dotati di hard-disk visto che non necessitano di un supporto locale di memorizzazione; infatti sia i dati che le applicazioni possono essere memorizzati sul server. A tal proposito si noti invece che la risorsa meno importante per un computer con funzioni di server è sicuramente il monitor visto che su questo computer non lavorerà nessun essere umano; infatti, i servizi forniti dal server saranno usufruiti dai client remotamente; in una rete client-server, diversamente da quello che accade per una rete peer-to-peer, la condivisione dei dati può essere amministrata e controllata a livello centrale. Essendo i dati collocati in posizione centralizzata (sul server), sono più facilmente gestibili rispetto alle risorse presenti sui computer di una rete peer-to-peer; dal momento che i dati sono memorizzati solo sul server, diventa più semplice applicare una policy per il backup dei dati in ambiente client/server. La visione client/server prevede il ruolo centrale di un fornitore di servizi, il server, e il ruolo ben definito e controllato del client che richiede gli stessi. Nella visione peer to peer, invece, il singolo utente ha maggiori libertà, controlli e possibilità operative. In tale ultima visione, il controllo di ogni singola postazione è problematico tanto che tipicamente, erroneamente, non è contemplata dai processi aziendali. Si può associare il paradigma client/server all’idea dell’ordine e del giusto controllo mentre quello del peer to peer richiama sicuramente l’idea dell’autarchia, il caos. L’organizzazione client/server, invece, predilige l’ordine in quanto un qualsiasi dipendente salverà i propri documenti su un server per cui egli non sarà l’amministratore del dato; l’amministratore sarà qualcun altro, magari assunto per quel ruolo, e quindi con un know-how ad hoc. La situazione è molto più “fluida” di quanto si possa immaginare, nel senso che un utente che lavora su un host in rete può trovarsi parallelamente in più situazioni a seconda dell’organizzazione che si è dato e di quello che sta facendo, così come dimostrano gli esempi che seguono. Si pensi, infatti, ad un knowledge worker che, lavorando alla sua postazione desktop collegata alla rete LAN aziendale a sua volta collegata ad Internet, faccia le seguenti azioni: utilizza un word processor per digitare un suo documento privato che salva sul disco fisso e che quindi stampa con la stampante fisicamente collegata alla porta USB della postazione desktop. In tale situazione egli non ha usato alcuna rete, né la LAN né tanto meno Internet: ha usato la postazione desktop come fosse stand-alone; utilizza un word processor per digitare un documento aziendale che salva sul disco del server, perché così gli è stato imposto dall’organizzazione aziendale. Ebbene, in tale situazione egli sta usando la LAN in modalità file server visto che l’applicazione (il word processor) è residente sul client e il server memorizza il dato creato solo ed esclusivamente per merito del file system di quest’ultimo; utilizza un word processor per digitare un documento aziendale che salva sul disco fisso dell’host di un collega visto che desidererebbe l’approvazione di quest’ultimo e nel frattempo non vorrebbe salvare il documento sul server. In tale situazione egli sta usando la LAN in modalità peer-to-peer poiché sta salvando il documento su un’altra postazione paritetica; utilizza l’ERP aziendale per inserire i dati di una fattura. In tale situazione egli sta usando la LAN in modalità application server, visto che sul proprio client è residente solo l’interfaccia per il data entry mentre le elaborazioni vengono effettuate sul server in cui è presente il software che realizza la logica di business basato a sua volta, molto probabilmente, su un DBMS; utilizza un browser per inserire i dati in una web application di Digital Marketing Automation al fine di realizzare analisi di marketing. In questo caso egli usa la WAN in modalità application server poiché sulla propria postazione è presente solo l’interfaccia web, costituita dal browser, e sul server remoto in Internet verranno effettuate tutte le elaborazioni,; utilizza un software P2P per scaricare la sua musica preferita da Internet. In questo caso egli usa la WAN in modalità peer-to-peer poiché i dati che scambia provengono/vanno da/a altri computer paritetici al suo. I sei casi precedentemente illustrati possono avvenire anche parallelamente visto che la postazione del knowledge worker è multitasking; anzi, è naturale che avvenga ciò oggi. Il knowledge worker, passando da un’applicazione all’altra, passerà da un’architettura all’altra senza quasi rendersene conto. 9.6 LO STORAGE IN RETE In ambiente stand alone (computer autonomo) lo storage può essere effettuato solo ed esclusivamente sul disco fisso del computer. Ovviamente, in rete il discorso cambia radicalmente in quanto un apparato di storage può essere utilizzato per lo scopo anche se non è fisicamente collegato alla postazione che richiede la memorizzazione del dato. Il crescente diffondersi di tecnologie e risorse computazionali ha fatto sì che la quantità di dati da salvare crescesse ogni giorno di più, riducendo così le potenzialità e l'utilità offerta dai singoli strumenti di memorizzazione quali, per esempio i dischi fissi tradizionali. Sono così nate tecnologie che hanno avuto lo scopo di aggregare singole unità disco per realizzare infrastrutture in cui non vi fossero limiti fisici alla quantità di spazio di memorizzazione e nel contempo riducessero i costi di gestione. Lo storage può essere, quindi, configurabile in tre modi diversi: 1. DAS (Direct Attached Storage); 2. NAS (Network Attacched Storage); 3. SAN (Storage Area Network). I sistemi DAS prevedono che l’apparato di storage sia collegato direttamente ad un server; in tal caso, dunque, lo storage è raggiungibile senza utilizzare una rete. Questo è il caso del disco fisso di un computer che ha la funzione di storage server; questa è la tecnologia più semplice da applicare ed usare. Storicamente è quella che si usa da più tempo. I sistemi DAS presentano limiti dovuti essenzialmente alle ridotte possibilità di espansione; inoltre, il coinvolgimento dei server introduce un overhead, ovvero risorse non strettamente necessarie, per le operazioni di trasferimento dati verso lo storage. Questi sistemi garantiscono la tolleranza ai guasti (fault tolerance) attraverso l’uso di più dischi in RAID. Un sistema RAID, acronimo di Redundant Array of Independent Disks, è un insieme ridondante di dischi indipendenti installati e gestiti come se fossero un un’unica memoria di massa al fine di rendere il sistema resiliente alla perdita di uno o più dischi e poterli rimpiazzare a caldo, ovvero senza interrompere il servizio. Con i NAS l’apparato di storage diventa un server con un sistema operativo preinstallato e una scheda di rete che consente il suo collegamento alla LAN aziendale. Al NAS viene assegnato, come a tutti gli altri nodi della LAN, un indirizzo univoco IP che consente la sua gestione attraverso un normale web browser installato presso di un qualsiasi computer in rete. Il sistema operativo integrato permette di specificare i diritti di accesso alle cartelle e ai file. Grazie alla presenza della connessione di rete, un NAS può essere posizionato ovunque nella LAN; esso sarà fisicamente collegato allo switch come qualsiasi altro nodo della LAN. Esistono di verse categorie di NAS, dal più semplice con un disco singolo e connessione di rete ai più sofisticati con dischi multipli, configurazione RAID e doppio accesso di rete. La tecnologia SAN è quella più recente; essa è una rete ad alta velocità di trasmissione costituita esclusivamente da dispositivi di memorizzazione di massa che comunicano tra loro utilizzando i protocolli FCP (Fibre Channel Protocol) ed iSCSI (Internet SCSI); gli apparati di storage sono, in tal modo, accessibili per ogni computer della rete LAN o MAN. Le SAN sono particolarmente utili in grandi organizzazioni che prevedono molti computer in rete che devono usufruire di servizi implementati tramite application server e DBMS server. Le SAN inoltre sono dotate di sistemi evoluti di protezione dei dati e hardware ridondanti per la massima protezione e disponibilità dei dati senza interruzioni del servizio.Rispetto ai sistemi NAS e DAS, le SAN sono molto più scalabili e possono raggiungere capacità dell'ordine di decine o centinaia di Terabyte. Volendo riassumere minimizzando, si può affermare che un DAS è un apparato di storage interno ad un server che a sua volta è collegato in rete, un NAS è uno storage server collegato direttamente alla rete indipendente da qualsiasi computer e una SAN, infine, è una infrastruttura LAN di apparati di storage a servizio della comunità in rete. 9.7 INTERNETWORK Il web diventa indispensabile, irrinunciabile per miliardi di persone e aziende ovunque sparse nel mondo; nascono così tecnologie che consentono il collegamento ad Internet di reti eterogenee tra loro; ovvero nascono le internetwork. Una internetwork è una combinazione di tipologie e tecnologie di rete che, mediante speciali dispositivi, per esempio i router sistemati là dove le diverse le reti si incontrano, consente di estendere le connessioni in una LAN/MAN e creare una WAN. Dunque, attualmente un knowledge worker che ha una postazione aziendale connessa alla LAN può collegarsi ad Internet poiché la LAN si interfaccia alla rete delle reti tramite un router. 9.8 INTERNET E così un bel dì arrivò Internet; la vita, privata e professionale, di miliardi di persone nel mondo fu stravolta. Gli impiegati che una volta si chiamavano “di concetto” diventarono knowledge worker, le aziende che avevano il tesoretto dei dati memorizzati nei loro database ben custoditi e gestiti furono invase da una “marea dati” sempre più difficili da gestire. Più termini sono stati coniati per definire in modo conciso il momento storico attuale. Termini come "società dell'informazione", “società della conoscenza”, "era del cyberspazio", “società dei social networK”, indicano una società in cui le reti di calcolatori, ovvero l’internetwork, hanno avuto un campo di applicazione che è andato ben oltre l'ambiente accademico ed aziendale per rivoluzionare il modo di vita del singolo cittadino: questo è un mondo costruito sulle reti geografiche internazionali, che consente la comunicazione a miliardi di singoli utenti e di singole “cose”. Gli utenti del cyberspazio si avvicinano a questo mondo per lavoro, per divertirsi o per il semplice gusto di comunicare con altri. L’istituto americano National center for policy analysis ha studiato l’intervallo di tempo nel quale alcune tecnologie sono riuscite ad affermarsi nella società mondiale. Ovviamente, si tratta di dati solo indicativi poiché il rapporto fra popolazione, disponibilità monetaria e richiesta di servizio è cambiato notevolmente nel corso degli ultimi due secoli. 9.8.1 DA ARPANET A INTERNET Internet è una internetwork, ovvero una immensa, unica ragnatela che collega miliardi di computer nel mondo. È possibile far risalire la sua data di nascita al dicembre del 1969, allorquando il Ministero della Difesa degli Stati Uniti inaugurò una rete sperimentale di quattro nodi, ciascuno dei quali era costituito da un minicomputer DDP-516 Honeywell con 12K di parole di memoria da 16 bit ciascuna. La rete, realizzata dopo anni di ricerca nelle università degli USA, si chiamava Arpanet (Advanced Research Projects Agency NETwork). L’affidabilità dimostrata dall’Arpanet condusse alla creazione di una rete militare, Milnet, negli USA, e ad una analoga Minet in Europa. Le due reti potevano comunicare tra loro e con Arpanet. Poi vennero connesse anche altre reti che man mano andarono a costituire l’enorme rete planetaria che oggi è denominata Internet. Internet è nata, quindi, come strumento militare. L’obiettivo, per gli Stati Uniti d’America, era poter comunicare dopo una guerra nucleare. Il problema evidente era che per quanto fosse protetto il centro delle telecomunicazioni, sarebbe stato troppo vulnerabile all’impatto con una bomba atomica. Un attacco nucleare avrebbe ridotto qualsiasi network in briciole, ed il centro del network sarebbe stato proprio il primo punto da colpire. Per tal motivo di pensò ad una rete senza autorità centrale che potesse operare anche “ridotta a brandelli”; per ottenere ciò i collegamenti tra i nodi dovevano essere più di uno. I principi di base su cui fondare tale rete furono fissati nei seguenti: sarebbe stata inaffidabile per tutti; doveva essere composta da più collegamenti ridondanti tra i nodi; tutti i nodi della rete sarebbero stati paritetici, ovvero uguali a tutti gli altri; ogni nodo, con la sua autorità, avrebbe originato, passato e ricevuto messaggi agli altri nodi; i messaggi dovevano dividersi in pacchetti più piccoli ed ognuno di essi poteva raggiungere la destinazione utilizzando percorsi e nodi differenti; la rotta seguita dai vari pacchetti sarebbe stata irrilevante, doveva contare il prodotto finale: tutti i pacchetti dovevano arrivare a destinazione; se gran parte del network fosse stata spazzata via, non sarebbe stato un problema per i pacchetti raggiungere la destinazione seguendo rotte alternative. Questo tipo di sistema di comunicazione appariva sicuramente inefficiente rispetto ad altri mezzi di comunicazione, ma estremamente resistente. In seguito, Arpanet, nel frattempo diventata Internet, ha conosciuto uno sviluppo notevolissimo; si è “umanizzata” diventando prima una immensa biblioteca, un punto di incontro, un luogo dove lanciare appelli, dopo un’applicazione. Oggi gran parte del software utilizza i protocolli di Internet per realizzare gli obiettivi prefissati: i termini applicazioni web oriented e web application sono diventate di uso comuno e di fatto consentono l’utilizzo del software da qualsiasi parte del mondo con un qualsiasi device, con tutti i problemi di sicurezza che questo comporta. Il software diventa così un servizio da usufruire ed Internet è l’infrastruttura su cui esso si poggia. 9.8.2 IL WEB La crescita di Internet è direttamente proporzionale alla pluralità e maturità raggiunta dai servizi offerti, tra i quali i più conosciuti sono il World Wide Web, la posta elettronica e la chat. Il World Wide Web, anche chiamato anche con i più concisi termini WWW o semplicemente Web, è probabilmente il servizio di Internet più conosciuto e usato. Esso è un servizio ipermediale che consente la “navigazione” di un immenso ipertesto con contenuti non solo testuali ma anche grafici, audio e video. Si parla, dunque, di ipertesto e non di testo; un testo è quell’oggetto che supporta il tradizionale modo di leggere come per esempio un romanzo, un articolo di giornale, ecc. In tali contesti la lettura avviene in forma lineare. L'occhio spazia da sinistra a destra e poi alla riga successiva, leggendo i caratteri dall'inizio alla fine in maniera sequenziale, paragrafo per paragrafo, pagina per pagina. L'idea di base di un ipertesto, invece, è di consentire al fruitore un libero collegamento fra contenuti posti in punti diversi dello stesso documento e di permettergli una consultazione personalizzata, lasciandosi guidare soltanto dalla logica del pensiero. L'ipertesto è, quindi, un collegamento libero (di tipo associativo) e interattivo (di tipo partecipativo) fra informazioni poste in punti diversi di uno o più documenti. Esso è composto da blocchi di contenuti testuali (Nodi) e da interconnessioni (Link) fra questi blocchi che si attivano tramite un clic effettuato tramite interfaccia grafica. L'ipermedia è l'estensione di questo concetto in quanto qui si integrano testo, grafici, animazioni, video, musica, ecc. Il Web contiene oggi miliardi di “content”, ognuno dei quali ha un path univoco, detto URL (Uniform Resource Locator) o indirizzo Web. Un URL è composto da tre parti fondamentali: 1. un identificativo del protocollo; per esempio http o https; 2. un dominio, per esempio uniba.it; 3. un percorso, per esempio www.uniba.it /percorso. La prima parte consente al browser di trovare il file indicando il protocollo da esso utilizzato. Gli identificativi più diffusi del servizio sono: http identifica il protocollo HyperText Transfer Protocol a commutazione di pacchetto per il trasferimento di contenuti tramite il Web. È un protocollo non sicuro per cui i contenuti viaggiano in chiaro; https identifica il protocollo HyperText Transfer Protocol Secure a commutazione di pacchetto per il trasferimento in sicurezza di contenuti; ftp identifica il protocollo File Transfer Protocol, anch’esso a commutazione di pacchetto molto utilizzato per operazioni di trasferimento file. Il Web è un servizio client/server; il client che consente di usufruire del servizio Web è il browser; Google Chrome, Edge, Mozilla Firefox, Internet Explorer, Opera, Safari, (in puro ordine alfabetico), sono attualmente quelli più diffusi. La seconda parte dell’URL, il dominio, specifica l'identificativo testuale di un server presente in Internet scritto in modo da essere facilmente memorizzabile. I domini sono gli indirizzi, univoci, creati dagli utenti secondo fantasia, ma in modo che possano essere facilmente ricordati; essi affermano l’identità sul web del proprietario. Un dominio è costituito da una serie di stringhe separate da punti, ad esempio www.uniba.it. I domini vengono generalmente identificati in base al livello; si inizia a contare da destra e si continua verso sinistra e il punto separa tra loro i livelli di domini. Per esempio, dato il dominio: www.ricerca.istituto.it it rappresenta il dominio di primo livello. istituto rappresenta il dominio di secondo livello. ricerca rappresenta il dominio di terzo livello. Esso viene gestito, ovvero creato, dall’amministratore del sito web di istituto.it. Aggiungendo stringhe verso sinistra, separati da punti, l’amministratore del sito web di istituto.it potrebbe creare domini di quarto, quinto livello. Per cui, per esempio, www.ict.ricerca.istituto.it è un dominio di quarto livello. Ogni dominio, a partire dal secondo, identifica tipicamente un sito web. La terza parte di un URL, il percorso, indica proprio il percorso del file all’interno del file system del server. L’esplorazione dei documenti su Web è denominata “navigazione”. Per accedere al Web, e quindi per “navigare”, è necessario disporre di un particolare tipo di software client denominato browser. Il browser è il client web; è un programma che consente, sfruttando la grafica, di visualizzare le pagine Web. Tecnicamente il browser è l'interprete delle pagine web scritte nel linguaggio HTML; ovvero, traduce le pagine da HTML a linguaggio macchina per far sì che il processore possa visualizzarle. 9.8.3 DALL’HOSTING ALL'HOUSING La fornitura di servizi di connessione ad Internet è così diventato un settore economico in cui operano molti provider che forniscono servizi molto diversi tra loro che si possono classificare come segue: hosting; server virtuali; housing. L’hosting è quel servizio con cui un sito web viene ospitato all’interno di un server di proprietà dell’Hosting Provider; ovvero una macchina server è condivisa da più siti web di persone/aziende diverse. In pratica, con un contratto di hosting un’azienda chiede il noleggio di una porzione di spazio del disco, una directory, di un server condividendone con altri affittuari le risorse. I server virtuali sfruttano le moderne tecniche di virtualizzazione. La virtualizzazione consente il partizionamento di una macchina fisica in più macchine virtuali, ognuna delle quali può interagire in maniera indipendente con altri dispositivi, applicazioni, dati e utenti allo stesso modo di una risorsa fisica separata. Sulle diverse macchine virtuali possono essere installati/eseguiti diversi sistemi operativi e applicazioni. Il non funzionamento di una macchina virtuale non compromette le altre presenti sullo stesso hardware. Con l’housing, invece, un’azienda “porta il proprio server” nella webfarm del provider. Il server sarà così ospitato all’interno di appositi armadi detti rack e può essere fornito direttamente dal cliente o anche acquistato presso il provider/hoster. L’hoster non avrà mai accesso al server del cliente, né a livello fisico (per riparazioni all'hardware, per sostituzione di componenti ecc.) né a livello software. L’hosting è la soluzione migliore per quelle aziende che vogliano avere una presenza su Web pur avendo un budget limitato e poca competenza tecnica per quanto riguarda la gestione del server. Per siti web con poco traffico giornaliero l’hosting è sicuramente la soluzione migliore. Di contro l’housing è utile quando si vuole un server di proprietà e in azienda è presente un settore ICT con risorse umane che hanno competenze tecniche notevoli nell’utilizzo di tecnologie specifiche lato server ovvero quando si prevede un volume elevato di traffico giornaliero e si ha a disposizione un budget sostenuto. Ovviamente l’housing fornisce una flessibilità nell’installazione di software e nella gestione dei server che l’hosting non può fornire in quanto, in quest’ultimo caso, tutto è demandato all’hoster. 9.9 IL CLOUD COMPUTING Il cloud computing è un innovativo modo di usare l’ITC in cui capacità flessibili e scalabili possono essere fornite on demand, come un servizio. In tal modo i dati, il software, ma anche le piattaforme e le infrastrutture hardware sono alla portata di tutti attraverso una connessione Internet. Si chiama cloud, ossia nuvola, perché i dati e le applicazioni non risiedono presso server locali di una LAN aziendale, ma presso server remoti collegati via Internet anche a migliaia di chilometri: su una nuvola appunto. Il passaggio dall’ambiente client/server a quello cloud sta determinando un cambiamento epocale nel mondo dell’ICT; oggi si opera sempre di più online, Internet è diventata un'estensione dei computer visto che non solo i dati, ma anche il software risiede all'interno della “nuvola”. Il cloud computing consente l'accesso al software, nonché allo storage e ad altre risorse di elaborazione attraverso Internet o su una rete privata. Tali risorse sono indipendenti dalla posizione fisica, per cui l'utente non conosce in genere la loro collocazione fisica. Gli utenti acquisiscono e utilizzano le risorse IT in base alle esigenze, quindi pagano i servizi a consumo. Lo spettro dei sistemi cloud varia notevolmente visto che comprende soluzioni per qualsiasi esigenza aziendale. Il cloud è un normale ambiente multiutente; per tal motivo un sistema cloud deve: gestire e controllare dell’identità degli utenti; allocare le risorse utilizzate dagli utenti; garantire l’accesso esclusivo alle risorse proprietarie di ciascun utente; escludere la possibilità che un utente possa interferire con le attività degli altri. Secondo il NIST(Badger, Grance, Patt-Corner, & Voas, 2012), National Institute of Standards and Technology del Department of Commerce Americano il cloud è caratterizzato da: cinque caratteristiche essenziali; tre modelli di servizio; quattro modelli di distribuzione. 9.9.1 LE 5 CARATTERISTICHE Un servizio, invece, è fornito in modalità cloud se ha le seguenti cinque caratteristiche: 1. On-demand self-service. L’utente deve poter disporre di capacità di calcolo, di storage, di dati, di software, in modo automatico e senza richiedere interazioni umane con il provider del servizio. 2. Broad network access. Le funzionalità devono essere disponibili in rete e accessibili tramite meccanismi standard; esse devono essere utilizzabili sia da thin client (quali smartphonee e tablet) che da thick client (ovvero device più potenti). 3. Resource pooling. Le risorse (storage, processing, memoria, larghezza di banda e le macchine virtuali) devono essere assegnate e riassegnate dinamicamente in base alla domanda degli utenti. 4. Rapid elasticity. Le risorse devono essere rilasciate rapidamente ed elasticamente in modo scalabile; l’utente deve poterle noleggiare in qualsiasi quantità e in qualsiasi momento. 5. Measured Service. I servizi forniti in cloud devono essere monitorati, controllati e misurati in modo che possa essere applicato il sistema di pagamento pay per use, ovvero si paga in base all’effettiva utilizzazione fatta del servizio. 9.9.2 I TRE MODELLI Il cloud computing si caratterizza a seconda di cosa viene fornito “dalla nuvola”; ovvero: se viene fornita un’applicazione software si parla di SaaS; se viene fornito una piattaforma integrata che supporta lo sviluppo di applicazioni in cloud si parla di PaaS; se viene fornita una soluzione che “softwerizza” i server, lo storage, gli apparati di sicurezza e l’hardware in generale si parla di IaaS. Il modello SaaS prevede che il software sia erogato come servizio da un Cloud Provider; gli utenti potranno usufruirne tramite Internet pagando un corrispettivo mensile/annuale. In tal modo, anziché dover acquistare, installare e aggiornare il software sul proprio computer, è possibile utilizzare un servizio cloud in SaaS tramite un web browser installato su un thin client. Le applicazioni sono in esecuzione sull'infrastruttura cloud di proprietà del provider; in tal modo l’utente non gestisce né controlla l'infrastruttura cloud di base inclusa la rete, i server, i sistemi operativi, lo storage; egli potrà agire solo sulla limitata configurazione di alcune impostazioni. Alcuni esempi delle applicazioni SaaS più comuni sono Google Gmail, Google Apps for Business, Microsoft Office 365. Il modello di servizio SaaS è rivolto essenzialmente agli utenti finali. Il PaaS è il cloud per gli sviluppatori, infatti questo modello è rivolto essenzialmente a chi voglia produrre applicazioni web-based; ovvero software usufruibile tramite browser. Il Cloud Provider in questo caso fornisce la cosiddetta “solution stack” contenente i linguaggi di programmazione, le librerie, i servizi ecc. per consentire ad una software house di poter creare le proprie applicazioni. Il provider PaaS offre le risorse infrastrutturali e di elaborazione necessarie allo sviluppo, al test, all'esecuzione e alla gestione delle applicazioni SaaS in un ambiente cloud. L’Infrastructure as a Service (IaaS) è il servizio base del Cloud Computing, attraverso il quale vengono fornite le risorse hardware quali i server, lo storage, le infrastrutture di rete e di backup. Anche in questo caso i destinatari del servizio sono essenzialmente software house che vogliono rivendere i propri software/servizi. In questo caso l’utente non gestisce l'infrastruttura hardware sottostante, ma ha il controllo sui sistemi operativi, sulla memoria e sulle applicazioni che via via saranno installate. Amazon Elastic Compute Cloud (EC2), Google Compute Engine, Microsoft Azure e Verizon Terremark sono esempi di provider di IaaS. 9.9.3 I 4 MODELLI DI DISTRIBUZIONE A seconda di come vengono distribuiti i servizi ovvero di chi ne usufruisce, il cloud computing si declina in: 1. Private Cloud 2. Community Cloud 3. Public Cloud 4. Hybrid Cloud Nel Private Cloud l'infrastruttura cloud è gestita esclusivamente per una sola organizzazione in modalità on premise (ovvero l’organizzazione stessa ha le risorse umane ed il know-how per la gestione dell’infrastruttura) oppure off premise (ovvero la gestione è affidata ad un partner terzo). Nel Community Cloud l'infrastruttura cloud è condivisa da diverse organizzazioni che formano una comunità specifica con obiettivi e problemi condivisi. Anche in questo caso può essere gestito on premise oppure off premise. Il Public Cloud è il modello più riconoscibile di cloud computing visto che i servizi sono resi disponibili per il grande pubblico. Tipicamente si tratta della distribuzione di servizi di proprietà di una società venduti/noleggiati sul web. I public cloud vengono creati, gestiti e mantenuti da Cloud Provider che li rendono disponibili via Internet a chiunque desideri acquistare i servizi che vi risiedono, in genere tramite un abbonamento a pagamento. Infine, un’azienda può decidere di applicare il modello Hybrid Cloud poiché ritiene che alcuni servizi debbano essere erogati in modalità Public Cloud ed altri in modalità Private Cloud. In tal modo l’azienda combina più forme di cloud. Per esempio un’azienda può decidere che: per il servizio di gestione dei processi di business rilevanti (vendite, acquisti, gestione magazzino, contabilità, ecc.) si debba usare un ERP in modalità Private Cloud on premise che consente, tra l’altro, di tenere i dati lontani da “occhi indiscreti” visto che sarebbero memorizzati su server di proprietà e non nella “nuvola” per il servizio di posta elettronica si debba usare la modalità Public Cloud visto che lo si ritiene più affidabile e più economico. 9.9.4 VANTAGGI E SVANTAGGI Si può affermare che i vantaggi più evidenti sono i seguenti: è un servizio pay per use, visto che si paga solo per quanto si consuma; è un servizio di facile accesso, visto che si può accedere ad esso in tutto il mondo tramite un browser; è un servizio che abbattimento costi iniziali dell’infrastruttura IT, trasformandoli in costi di gestione. Gli svantaggi, ma sarebbe più opportuno parlare di barriere psicologiche all’approccio del Cloud, sono legati essenzialmente nell’innovatività del servizio che fa sì che molte aziende vedano pericoli nell’affidare a terzi i propri dati. In linea teorica gli svantaggi sono classificabili nei seguenti punti: le performance sono inferiori a quelle che si avrebbero con un server in casa, ma ci sarebbe da aggiungere ovviamente. Questo svantaggio è irrilevante visto che le prestazioni di una web application in Cloud sono comunque coerenti con quanto un’azienda si aspetta. Aumentano i costi di gestione, quelli on demand. Ma questa è la stessa situazione che da decenni caratterizza, per esempio, il servizio di fornitura di energia elettrica e nessuno parla di svantaggi… 9.10 RILEVAZIONE E CORREZIONE DEGLI ERRORI NELLA TRASMISSIONE DEI DATI Interessante è capire le tecniche che consentono di rilevare gli errori avvenuti nel trasferimento dei bit da una sorgente ad una destinazione. Come per ogni altro sistema, l’affidabilità dei sistemi di elaborazione e comunicazione dipende da quella dei loro componenti (sottosistemi). Generalmente, la probabilità di errore nello scambio di informazioni tra due sottosistemi è direttamente proporzionale al numero di sottosistemi di cui si compone il sistema. Un errore può essere dovuto a disturbi provenienti dall’ambiente o al rumore indotto da altri componenti. Le tecniche utilizzate per far sì che il singolo bit arrivi in modo corretto a destinazione si basano sia sul miglioramento dei canali trasmissivi sia su tecniche software che permettono di rilevare ed eventualmente correggere l’errore. Queste tecniche sono catalogabili in: metodi per il rilevamento degli errori; metodi per il rilevamento e la correzione degli errori. I metodi utilizzabili e classificabili nelle due classi appena definite sono numerosi; di seguito è illustrato un metodo di rilevazione degli errori, quello basato sul bit di parità, ed uno di correzione degli errori rilevati, il codice Hamming. 9.10.1 IL BIT DI PARITÀ Il metodo del bit di parità consiste nell’aggiungere, al messaggio da trasmettere, un bit p, chiamato appunto bit di parità, in modo tale da rendere pari (o dispari, il discorso è simmetrico) il numero degli 1 presenti nel messaggio spedito. Se hai una sequenza di bit 1011 e utilizzi la parità pari, noti che ci sono tre "1" (che è un numero dispari). Quindi, aggiungi un bit di parità 1 per fare in modo che il totale di "1" sia pari (4 in questo caso). Se usi la parità dispari con la stessa sequenza, aggiungeresti un bit di parità 0 perché il numero di "1" è già dispari (tre). 9.10.2. IL CODICE DI HAMMING Questo metodo raggiunge l'obiettivo prefissato mediante la trasmissione di un numero di bit maggiore rispetto al bit di parità. Dato un messaggio M da inviare, il procedimento da applicare per ottenere il frame MS effettivamente trasmesso, consiste nel sistemare i bit su di una griglia, dove le posizioni in cui l'indice è potenza di 2 sono occupate dai bit di controllo, mentre tutte le altre ospitano ordinatamente i bit del messaggio M.

Use Quizgecko on...
Browser
Browser