Reti di calcolatori Riferimenti: Curtin cap. 9 Reti di calcolatori •Una rete di calcolatori è costituita da due o più elaboratori collegati mediante un mezzo che permette di farli colloquiare – il mezzo è in genere un cavo (filo) o l’etere (radiofrequenza) •Occorre un dispositivo per la connessione (scheda di rete, modem, …) e un programma di gestione della rete (il driver della scheda) Motivazioni Una rete permette di: • condividere periferiche (stampanti, dischi, ...) • rendere più semplice e efficace la manutenzione (alcune risorse sono condivise, per cui gestite in un unico punto) • aumentare la tolleranza ai guasti (se un dispositivo si rompe, sia esso un computer o una stampante, questo può essere sostituito da un altro) • eseguire applicazioni distribuite (un programma può essere distribuito su più calcolatori, e quindi eseguito in modo parallelo) • ma soprattutto… Motivazioni Permette alle persone di: • di accedere a informazioni remote (World Wide Web) • di comunicare con altre persone (e-mail, messenger, newsgroup, blog) • di partecipare a videogiochi con altre persone • di scrivere un’enciclopedia collaborativa come Wikipedia Reti di Calcolatori • una rete richiede: – un mezzo fisico attraverso cui i dati si possano propagare – dispositivi di I/O usati dai calcolatori per inviare/ricevere dati sulla rete – protocolli per disciplinare le comunicazioni calcolatori dispositivi I/O mezzo fisico Mezzi fisici e dispositivi per la trasmissione • diversi mezzi fisici di trasmissione: – – – – doppino (linea telefonica) cavo coassiale fibra ottica onde elettromagnetiche nel vuoto (onde radio , raggi infrarossi) • diversi dispositivi di I/O: – modem – scheda a raggi infrarossi – scheda wireless Componenti •Nodo: un qualsiasi dispositivo hardware del sistema in grado di comunicare con gli altri nodi che fanno parte della rete •Concentratore (hub): dispositivo di connessione che semplifica il collegamento fisico tra i nodi e instrada i segnali •Dorsale: cavo ad alta capacità che consente la trasmissione dei dati tra i vari dispositivi Esempio di architettura Componenti •Server: elaboratore che può essere condiviso dagli altri computer collegati in rete (in genere il più potente): – file server (server gestore dei dati): gestisce la memorizzazione e la condivisione di dati su file, in genere su unità a disco – server di stampa (printer server): gestisce le stampanti disponibili in una rete locale – server di comunicazione: gestisce l’accesso ad altre reti locali o a Internet – database server: gestisce, tramite un DBMS, uno o più DB condivisi Esempio di collocazione di server Architettura client-server Con l’architettura clientserver, più calcolatori, attraverso una rete, possono richiedere servizi a una macchina (generalmente più potente) remota Tipi di rete Due modi per classificare le reti: •Estensione – in base all’area coperta dalla rete •Topologia – in base a quali collegamenti esistono tra i calcolatori Tipi di rete in base alla loro estensione •Rete Locale (LAN, Local Area Network): collega due o più computer in un’area non più vasta di un palazzo. Ad es., collega i computer di un laboratorio, un gruppo di lavoro, un ufficio •Rete Metropolitana (MAN, Metropolitan Area Network): simile a una rete locale, collega i computer di una singola organizzazione in un’area delle dimensioni di una città (es. Banca con filiali cittadine) Tipi di rete in base alla loro estensione •Rete Geografica (WAN, Wide Area Network): collega computer distribuiti su aree molto vaste. Ad es., la rete GARR collega tutte le università italiane •Internet: è la rete delle reti. Collega fra loro reti locali, metropolitane, geografiche e singoli computer di tutto il mondo Tipi di rete in base alla loro topologia •A bus (lineare): tutti i nodi sono collegati tramite una stessa linea •Il segnale emesso da un nodo percorre tutta la linea, raggiungendo così la destinazione Tipi di rete in base alla loro topologia •Ad anello: i nodi sono collegati in una struttura circolare •Un nodo è collegato solo ad altri due nodi • Il segnale emesso da un nodo passa al successivo; se non è indirizzato a quel nodo, viene ritrasmesso al nodo seguente, finché non raggiunge il destinatario Tipi di rete in base alla loro topologia •A stella: i nodi sono collegati a un nodo centrale •La comunicazione tra due nodi avviene attraverso il nodo centrale •L’informazione trasmessa da un nodo viene smistata dal nodo centrale verso il nodo di destinazione Tipi di rete in base alla loro topologia •Punto-punto (o paritetiche): i nodi sono collegati a coppie, e operano allo stesso livello •La comunicazione è diretta tra due nodi •È utilizzabile per pochi nodi Topologia La topologia non determina la disposizione dei componenti, ma il modo in cui questi sono collegati Es.: stessa disposizione, diverse topologie lineare ad anello a stella paritetica Interfaccia di rete •Per collegare un elaboratore a una rete locale si usa una scheda di interfaccia di rete, che ha i compiti di: – creare la connessione fisica – convertire i dati da trasmettere nel formato opportuno – amplificare la potenza del segnale a livello elettrico Collegamento fisico delle reti locali •Cavi a doppino intrecciato: simili al cavo dei telefoni, sono economici, veloci e affidabili (differenze con il testo) •Cavi coassiali: simili a quelli per le antenne televisive, più affidabili, con trasmissione molto veloce •Cavi in fibra ottica: costituiti da fibre in plastica o vetro molto sottili, trasmissione veloce e affidabile, più difficili da installare •Trasmissione in radiofrequenza Ethernet •Tecnologia più diffusa per LAN •Deriva da ether (ètere), cioè il cavo in cui passano i segnali •Usabile con varie topologie (a bus, a stella, …) •Problema: se più segnali transitano sullo stesso cavo, creano interferenze • Ethernet risolve il problema con la modalità di accesso Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Ethernet Funzionamento di CSMA/CD: 1. quando un computer vuole comunicare, controlla che nessun altro computer stia comunicando e poi invia il segnale sul cavo di collegamento; altrimenti, aspetta; 2. se si verifica un conflitto (due computer hanno tentato di comunicare contemporaneamente), entrambi i computer si fermano e aspettano per un tempo casuale, poi riprovano Carrier Sense: rileva la “portante”, cioè se un altro computer sta trasmettendo (passo 1.) Multiple Access: più computer possono accedere al mezzo trasmissivo Collision Detection: rileva le collisioni (passo 2.) Token ring •Si usa per LAN ad anello •Un token (un gruppo di byte) [in italiano gettone], viene passato continuamente da un computer all’altro, in sequenza sull’anello •Un computer può trasmettere sulla rete solo quando è in possesso del token •Se un computer riceve un messaggio non destinato a lui, lo rimette in circolo sull’anello Token ring Trasmissione in rete: larghezza di banda • Larghezza di banda: capacità di trasmissione (misura potenziale) • Velocità di trasmissione: misura effettiva • Entrambe misurate in bit/s (o bps), cioè con il numero di bit trasmessi in un secondo Trasmissione Digitale e Analogica digitale analogico su linea telefonica digitale Il modem •Velocità di trasmissione tipiche – modem analogici: 14.400, 28.800, 38.400, 56.600 bit/s (cioè non più di 7 KByte/s) – modem ADSL: 256 Kbit/s – 50 Mbit/s •Il modem più lento detta la velocità di comunicazione •Utilizzato principalmente per le comunicazioni di tipo privato (utente che si collega da casa a un Internet provider) Trasmissione Digitale e Analogica •Reti locali: comunicazione su linee dedicate, installate per la rete, e adatte alla trasmissione digitale delle informazioni •Su distanze maggiori: si impiegano le reti di comunicazione esistenti, ad es. la rete telefonica, che possono trasmettere informazioni in forma analogica (ad es., la voce) •Occorrono dispositivi per trasmettere le informazioni utilizzando la rete telefonica modem •Anche trasmissioni digitali (per es. ADSL) usano modem per convertire le informazioni in segnali di voltaggio da spedire sulla linea telefonica Protocolli di comunicazione •è necessario disciplinare le comunicazioni sulla rete per evitare il caos • Protocollo di comunicazione: insieme di regole che definisce in modo preciso tutti gli aspetti della comunicazione •Ad esempio, l’elaboratore A richiede all’elaboratore B la stampa di un file (sulla stampante connessa a B) •A invia a B un messaggio contenente (almeno): – l’indirizzo del mittente – l’indirizzo del destinatario – il tipo di servizio richiesto (la stampa) ed eventuali dati (quelli da stampare) Protocolli di comunicazione Il protocollo deve definire: – come è strutturato un messaggio – come associare un indirizzo all’elaboratore – quale percorso far seguire ai messaggi per arrivare a destinazione, – come rilevare e gestire gli errori di comunicazione –… Protocolli di comunicazione: TCP/IP •TCP/IP (Transmission Control Protocol / Internet Protocol) è il protocollo di comunicazione usato in Internet e anche nella maggior parte delle altre reti •Praticamente tutti i servizi offerti da Internet, compreso il World Wide Web, sono basati su TCP/IP Controlli di corretta ricezione •Esistono tecniche sofisticate di controllo della correttezza di trasmissione, che hanno una percentuale di fallimento quasi nulla •Alcune tecniche permettono di correggere l’errore, e di evitare la ritrasmissione dei dati •Le tecniche più sofisticate richiedono però più bit per il controllo Linee dedicate e linee commutate •Si ha una linea dedicata quando due sistemi di elaborazione sono collegati da una linea di comunicazione di cui possiedono il controllo assoluto •Le linee utilizzate condivise tra vari elaboratori sono dette linee commutate Linee commutate: il telefono •Ogni telefono è collegato a una centrale, la quale è a sua volta collegata ad altre centrali •Quando si telefona, la chiamata instaura un circuito passando attraverso le varie centrali fino a giungere a destinazione •Cosa avviene: le centrali costruiscono un percorso tra chiamante e chiamato che dura per tutto e solo il tempo della chiamata •Svantaggi: circuito occupato, anche per scambiare poche informazioni (es. telefono) Commutazione di pacchetto •Soluzione: – commutazione di pacchetto •Come il sistema postale! •Messaggi suddivisi in pacchetti di dimensione fissa •Ogni pacchetto contiene l’indirizzo del mittente e del destinatario, ed è trasmesso separatamente •Ogni pacchetto può seguire un percorso diverso •Il destinatario riassembla i pacchetti per formare il messaggio Commutazione di pacchetto Quindi: • L’ordine dei pacchetti può non essere mantenuto durante la trasmissione • Il destinatario attende tutti i pacchetti per ricomporre i messaggi • Ogni pacchetto occupa il mezzo trasmissivo (e le schede di rete) per un breve tempo • Si ha un effetto di parallelismo, per cui un elaboratore può essere coinvolto in più comunicazioni contemporaneamente Instradamento (Routing) •Come far arrivare i pacchetti a destinazione? •Ogni nodo ritrasmette i pacchetti ricevuti al vicino immediato più vicino alla destinazione •I nodi possiedono una tabella che indica, per ogni destinazione, a quale vicino trasmettere il pacchetto •Inoltre, la scelta del nodo di inoltro dipende anche da situazioni temporanee di carico della rete, guasti, alternative di inoltro, ecc. Instradamento (Routing) • Commutazione di pacchetto B A Commutazione di Pacchetto • maggiore affidabilità – se un router è guasto scelgo un’altra strada – Internet è nata in ambiente militare USA • maggiore efficienza – A e B non “occupano” una linea completa per tutta la durata della loro “conversazione” – ecco perché Skype è così economico – Internet si è sviluppata in ambiente Universitario Instradamento (Routing) • Cosa succede quando ci colleghiamo da casa? • Dall’elaboratore di casa (tramite telefono) al provider è in atto un collegamento a commutazione di circuito; la linea risulta occupata • Dal provider a un altro punto sulla rete Internet è in corso una commutazione di pacchetto