Capitolo 1: Introduzione
L'ultimo secolo si è concentrato principalmente sulla raccolta, l'elaborazione e la distribuzione dell'informazione. L'utilizzo di diverse tecnologie ha portato al passaggio dai mainframe terminali, in cui la potenza di calcolo è concentrata in un unico grande elaboratore a cui si accede per mezzo di un certo numero di terminali, a quello di avere un gran numero di elaboratori autonomi interconnessi tra loro (autonomi nel senso che uno non può forzare lo spegnimento dell'altro, interconnessi nel senso che devono essere capaci di scambiare informazioni tra loro). Un sistema del genere è detto reti di calcolatori.
In ogni caso c'è differenza tra reti di calcolatori e sistema distribuito: l'insieme dei computer indipendenti appare ai propri utenti come un singolo sistema coerente di calcolo, nel senso che l'esistenza di più elaboratori è invisibile all'utente perché implicito. Di solito ha un solo modello (o paradigma) che presenta agli utenti, la cui realizzazione è affidata ai middleware, ovvero programmi che fungono da intermediari tra diverse applicazioni e componenti software. È un esempio di sistema distribuito il World Wide Web dove tutto appare all'utente come documento (pagina web).
Rete di Calcolatori: mancano coerenza, modello e software. L'utente è conscio dell'esistenza di molteplici elaboratori con sistemi operativi e hardware diversi, che devono essere esplicitamente riferiti. Il sistema non compie tentativi di far apparire e agire le macchine in modo coerente. Un esempio può essere "Internet", che però è una rete di reti di calcolatori, dove il Web è un sistema distribuito che si appoggia a Internet.
In ogni caso c'è una sovrapposizione tra i due argomenti per cui entrambi hanno necessità di spostare informazioni, ma nel Sistema Distribuito questo movimento lo conduce il software, mentre nelle Reti di calcolatori lo conduce l'utente. Quindi si può dire che la rete di calcolatori unita a un sistema software di gestione (cioè SO) forma il SO distribuito.
1.1 Scopi delle reti di calcolatori
- Condivisione delle risorse (aziendale): Si possono rendere disponibili a chiunque sulla rete tutti i programmi, risorse e informazioni, indipendentemente dalla posizione fisica dell'utente e della risorsa (non c'è sempre questa condivisione). Un esempio può essere la necessità di avere in un ufficio una stampante che sia condivisibile tra più colleghi piuttosto che una stampante per ognuno. Quindi, ognuno può accedere alle informazioni che vengono rese comuni (anche tra diversi paesi).
- Affidabilità (aziendale): Si ottiene mettendo in rete sorgenti alternative delle risorse (come duplicare applicazioni o dati su più computer). È importante il funzionamento a tutti i costi e quindi devono essere affidabili (es. traffico aereo, centrali).
- Diminuzione dei costi (aziendale): Si ha un risparmio economico poiché una rete di personal computer costa molto meno di un mainframe. Si ha il modello client-server. I dati quindi sono memorizzati in computer ad alte prestazioni chiamati server, gestiti da amministratori di sistema, mentre coloro che accedono ai dati dei server (ovvero le macchine controllate da impiegati) vengono chiamati client. Questi hanno a disposizione i dati in remoto e sono collegati ai server tramite delle reti. Questo modello client-server viene rappresentato da un processo client che manda un messaggio attraverso la rete (che è una sottorete di comunicazione) al processo server e resta in attesa di un messaggio di risposta. Quando il processo server riceva la richiesta, esegue il lavoro o recupera i dati desiderati e manda indietro una risposta. Questo modello si ha anche a livello mondiale (es. web = server).
- Mezzi di comunicazione e scambio di informazioni (aziendale): È possibile scambiarsi informazioni ad esempio con le e-mail, messaggi, e quindi poter anche ridurre i costi, facendo ad esempio videoconferenze piuttosto che dover viaggiare a spese dell'azienda. Subentra quindi l'e-commerce, anche la comodità, come acquistare prodotti da casa favorendo commercio elettronico messo a disposizione sotto forma di cataloghi di beni e servizi on-line dalle aziende.
- Scalabilità (aziendale): Si possono aumentare le prestazioni del sistema aumentando il numero dei calcolatori entro certi limiti. Espansioni semplici a basso costo.
- Comunicazione fra persone (domestica): È uno dei principali motivi, insieme all'accesso a informazioni remote, intrattenimento interattivo (es. video on demand) e commercio elettronico (es. acquisizione di DVD da cataloghi online) per cui le persone acquistano un computer per casa. Ne è un esempio il concetto della chat room e news group (instant messaging). Molto importante è un'altra comunicazione interpersonale, il peer-to-peer (modello che si distingue dal client-server) in cui gli individui che formano gruppi dispersi possono comunicare tra di loro senza una suddivisione rigida tra client e server (es. società Napster). Prima il database di ogni utente era centrale, ora locale, ovvero ogni utente può gestire il suo (es. posta multiutente). C'è anche l'e-learning ovvero l'insegnamento a distanza, la possibilità di pagare le bollette da casa, le vendite con aste online. Infine ci sono altre forme di e-commerce.
- Applicazioni mobili: Principalmente sono computer portatili, notebook e PDA (Personal Digital Assistant). Scatta la necessità di avere informazioni sempre vicino, come portarsi il proprio ufficio in viaggio. Questa possibilità è data dalla presenza di reti wireless (senza fili) che permettono la navigazione in internet come se ci fosse una rete fissa e permettono di non essere costretti a stare in una postazione, ma di poter girare, camminare, usando sempre la rete. Il wireless è utile anche per i contatori di acqua luce e gas senza dover passare di casa in casa o ancora i rilevatori di fumo che mandano l'allarme ai vigili. Con lo sviluppo sono nati anche WAP (Wireless Application Protocol) 1.0 e 2.0, sistemi che fondono i cellulari con i PDA, e fanno parte dei m-commerce (mobile commerce), cioè di quei metodi come il pagamento non in contanti, direttamente sui dispositivi cellulari. Ciò però comporta dei risvolti sociali per cui si ha un Digital Divide: ci sono soggetti e società che possono utilizzare strumenti di ICT (Information and Communication Technologies) e altri che non sono in grado di impiegarli e disporli a causa di condizioni economiche, livello d'istruzione, qualità delle infrastrutture, differenze di età o di sesso, appartenenza a diversi gruppi etnici, provenienza geografica (quindi anche paesi) e in generale a livello globale.
1.2 Hardware di rete
Due parametri sono utili per definire le caratteristiche di una rete anche se non c'è una suddivisione accettata universalmente: tecnologia di trasmissione e la scala dimensionale.
Parliamo di tecnologia di trasmissione. Principalmente sono due le tipologie:
- Reti broadcast (diffusione): Hanno un unico canale di comunicazione condiviso da tutti gli elaboratori e macchine della rete. Brevi messaggi chiamati spesso pacchetti, vengono inviati da un elaboratore e sono ricevuti da tutti gli altri. Un indirizzo all'interno del pacchetto individua il destinatario. Quando un elaboratore riceve un pacchetto, esamina l'indirizzo di destinazione processando il pacchetto e se coincide col proprio indirizzo, il pacchetto viene elaborato, altrimenti ignorato. Le reti broadcast però consentono anche di inviare un pacchetto a tutti gli altri elaboratori tramite un opportuno indirizzo speciale che permette a tutti di prendere in considerazione il pacchetto (broadcasting). Si può anche inviare il pacchetto ad un sottoinsieme degli elaboratori (multicasting) e in questo caso solo gli elaboratori appartenenti a questo sottoinsieme la prendono in considerazione, mentre gli altri la ignorano. Questo avviene tramite un bit dell'indirizzo che indica che si tratta di una trasmissione multicasting. I rimanenti n-1 bit dell'indirizzo rappresentano l'indirizzo del gruppo destinatario.
- Reti punto a punto: Consistono invece di un insieme di connessioni fra coppie di elaboratori (in via esclusiva). Per arrivare dalla sorgente alla destinazione, un pacchetto può dover attraversare uno o più elaboratori intermedi e spesso esistono più cammini alternativi con varie lunghezze, per cui gli algoritmi di instradamento (o routing) hanno un ruolo fondamentale per trovare la strada migliore. La trasmissione punto a punto con un trasmettitore e un ricevitore è a volte chiamata unicasting (es. poste).
In sintesi, di solito, le reti più piccole e geograficamente localizzate tendono ad usare il broadcasting, quelle con dimensioni maggiori punto a punto. Ci sono però molte eccezioni (es. rete geografica realizzata via satellite e quindi broadcast, o rete locale basata su ATM e quindi punto a punto).
C'è però un altro criterio per classificare le reti, cioè la scala dimensionale delle reti. Questa scala dipende principalmente dalla distanza tra i processori.
- Reti Locali: Chiamate anche LAN (Local Area Network) sono reti private installate solitamente negli uffici, edifici o campus, fino ad una estensione che arriva a qualche km. Principalmente impiegate per collegare personal computer e workstation negli uffici delle aziende e nelle fabbriche per condividere risorse e scambiare info. Si distinguono dalle altre reti per:
- Dimensione: Non può andare oltre un certo limite, per cui è noto a priori il tempo di trasmissione nel caso peggiore. Ciò permette di utilizzare delle tecniche particolari per la gestione del canale di comunicazione.
- Tecnologia di trasmissione: Sono in generale reti broadcast, rappresentate da un cavo a cui sono connesse tutte le macchine (come le vecchie linee telefoniche duplex). La velocità varia tra i 10 e i 100 Mbps (megabit al secondo), hanno bassi ritardi dell'ordine dei micro/nanosecondi e basso tasso di errore.
- Topologia: ci sono diverse strutture utilizzate per poter collegare tra loro gli elaboratori elettronici di una rete. È fondamentale in fase di progettazione scegliere quella giusta per evitare poi problemi.
- Bus (cioè con cavo lineare): in ogni istante solo un elaboratore può trasmettere, gli altri devono astenersi. È necessario quindi un meccanismo di arbitraggio, che può essere centralizzato o distribuito, per risolvere i conflitti quando due o più elaboratori vogliono trasmettere contemporaneamente. Le reti sono semplici e poco costose, però ogni computer può intercettare le comunicazioni altrui, c'è un elevato traffico in tutta la rete ed è molto sensibile ai guasti che sono difficili da trovare. Un esempio è lo standard IEEE 802.3 (detto Ethernet), rete broadcast con arbitraggio distribuito che implementa un controllo decentralizzato che lavora a velocità tra 10 Mbps e 10 Gbps. Questo standard viene detto anche CSMA/CD e descrive una tecnologia per reti locali (LAN) derivata nel 1985 dalla precedente tecnologia Ethernet. È probabilmente lo standard più popolare fra quelli dell'ampia famiglia IEEE 802. L'acronimo CSMA/CD sta per: Carrier Sense: ogni stazione sulla rete locale ascolta continuamente il mezzo trasmissivo; Multiple Access: il mezzo trasmissivo è condiviso da tutte le stazioni, ognuna delle quali vi accede da un punto differente; Collision Detection: le stazioni sono in grado di rilevare la presenza di collisioni dovute alla trasmissione simultanea, e reagire di conseguenza. Quindi aspettano un tempo casuale e riprovano. I computer e gli elaboratori connessi ad una rete Ethernet possono trasmettere quando vogliono. C'è anche lo standard IEEE 802.4 che è basato sui token dei bus. Questo standard fa parte della pila di protocolli di rete del modello di riferimento ISO/OSI, dove 802.3 occupa il livello fisico e la parte inferiore del livello data link. IEEE ha infatti ritenuto opportuno suddividere questo livello in due parti: LLC (Logical Link Control) e MAC (Media Access Control). Il sottolivello LLC è comune a tutti gli standard della famiglia IEEE 802, mentre il sottolivello MAC è più strettamente legato al livello fisico e le sue diverse implementazioni hanno il compito di offrire un'interfaccia comune al livello LLC.
- Ring (anello): Ogni bit si propaga autonomamente senza dover aspettare il resto del pacchetto a cui appartiene. Il tempo è tipicamente inferiore a quello di trasmissione del pacchetto intero. Anche qui è necessario un meccanismo di arbitraggio, basato da un token (gettone) che abilita la trasmissione e che permette di turnare le macchine. Un esempio è lo standard IEEE 802.5, che è una rete basata su ring con arbitraggio distribuito operante alla velocità di 4 o 16 Mbps. Ogni calcolatore è collegato ad altri due, formando un cerchio. All'interno di questa rete solo un calcolatore alla volta può trasmettere, quello in possesso del token. Esso avvia la trasmissione dei dati trasferendoli al calcolatore vicino, il quale li prende in consegna se è il destinatario. I dati sono ripetuti verso l'altro calcolatore collegato, così fino a raggiungere il destinatario. Il destinatario legge i dati ma non li toglie dalla rete. Essi completano il giro dell'anello fino a tornare al mittente, il quale elimina i dati dalla rete e rimette in circolo il token. L'anello può esistere fisicamente oppure solo a livello concettuale. Il vantaggio quindi sta nell'ampiezza di banda e tempi di attesa deterministici che non necessita di amplificatori di segnali. Però è scarsamente diffusa, poco economica e difetta di affidabilità.
- Star (stella): È molto diffusa, è facilmente scalabile, non c'è nessuna interruzione in caso di guasti ad un cavo/nodo, basso traffico di pacchetti per gli host (con l'uso dello switch), rende comunicazioni sicure e difficilmente intercettabili tra un host (ospite) e l'altro. Ha però alcuni difetti come l'utilizzo di cavi e blocco completo in caso di guasto al nodo centrale. Queste possono essere anche miste. In una rete del genere assume importanza la qualità dei cavi che collegano tra di loro i vari hub (detti dorsali, ricevono un segnale diretto da un computer ad un altro ma lo passano a tutti gli altri computer della rete). In una rete di grandi dimensioni l'utilizzo di switch al posto degli hub consente di razionalizzare la trasmissione di informazioni solamente verso il nodo destinatario.
- Allocazione statica e dinamica:
- Statica: Consiste nel suddividere il tempo in intervalli discreti e usare un algoritmo round-robin, permettendo a ogni macchina di eseguire il broadcast solo quando è il proprio turno (time slot). Questa allocazione però comporta lo svantaggio dello spreco della capacità del canale del time slot quando macchine o stazioni non hanno niente da trasmettere.
- Dinamica: Possono essere centralizzati, ovvero una apposita apparecchiatura (es. arbitration unit) accetta le richieste di trasmissione e decide chi abilitare tramite algoritmi interni, oppure distribuiti, ovvero ognuno decide per conto proprio (es. 802.3).
- Reti Metropolitane: Chiamate anche MAN (Metropolitan Area Network) hanno una estensione tipicamente urbana e sono generalmente pubbliche. Fino a qualche anno fa erano basate sulle tecnologie delle reti geografiche utilizzate su scala urbana. Recentemente è stato definito un apposito standard IEEE 802.6 o DQDB (Distributed Queue Dual Bus) che è utilizzato in varie realizzazioni, molto più vicino alla tecnologia LAN che WAN. Esiste un mezzo trasmissivo di tipo broadcast a cui tutti i computer sono attaccati. Ogni bus (cavo coassiale o fibra ottica) è unidirezionale ed ha una head-end che cadenza l'attività di trasmissione.
- Reti geografiche: Chiamate anche WAN (Wide Area Network) si estendono a livello di una nazione, di un continente o dell'intero pianeta e sono costituite da due componenti:
- Host (colui che ospita): dette anche end system, sui quali girano i programmi usati dagli utenti. Sono di proprietà dei client.
- Communication Subnet (comunicazioni sottorete): connette gli host tra di loro. Il suo compito è trasportare messaggi da un end system all'altro, come il sistema telefonico che trasporta parole da chi parla a chi ascolta. La subnet è divisa in due sottocomponenti:
- Linee di trasmissione: dette anche circuito, canali, trunk, sono realizzati con cavi in rame, fibre ottiche o collegamenti radio e spostano i bit tra le macchine.
- Elementi (o nodi) di commutazione: sono elaboratori specializzati utilizzati per connettere tra di loro due o più linee di trasmissione. Quando arrivano i dati su una linea di comunicazione (bidirezionale), l'elemento di commutazione deve scegliere una linea in uscita sul quale instradarli (o inoltrarli). Questi computer sono chiamati sistemi intermedi o nodi di commutazione pacchetti o router (instradatore). Di solito una WAN è utilizzata per connettere più LAN fra di loro. L'insieme di linee di comunicazione e router (ma non gli host) forma la subnet. In generale quindi una WAN contiene numerose linee ciascuna delle quali collega coppie di router. Se due router che non condividono la stessa linea vogliono comunicare, lo devono fare indirettamente attraverso altri computer. Ogni router riceve un pacchetto da una linea in ingresso, lo memorizza per intero in un buffer interno, e appena la necessaria linea in uscita è libera, instrada il pacchetto su di essa. Una subnet organizzata secondo questo principio si chiama store and forward subnet.
-
Reti logiche
-
Reti logiche
-
Reti di Calcolatori - Appunti parziale 3
-
Reti di Calcolatori - Appunti Parziale 2