Reti di Calcolatori: Architetture e Servizi Corso del Prof. De Santo 2007/2008 www.r0x.it/inginf Andrea Della Corte 1, Dario Pecorale 2 1
[email protected]
http://bizarro.iobloggo.com 2
[email protected] Vr. 0.98c
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Sommario
Reti di Calcolatori: Architetture e Servizi ...................................................................................................... 1 1
2
3
4
Introduzione......................................................................................................................................... 6 1.1
Storia delle reti di calcolatori ...................................................................................................... 6
1.2
Il concetto di rete locale .............................................................................................................. 8
1.3
Le reti broadcast ........................................................................................................................ 10
1.4
Differenze tra LAN e WAN ......................................................................................................... 10
1.5
Modello gerarchico delle reti di calcolatori ............................................................................. 11
1.6
Affidabilità servizio..................................................................................................................... 14
1.7
Primitiva ...................................................................................................................................... 14
1.8
Il modello ISO-OSI ...................................................................................................................... 14
1.9
Meccanismo di Imbustamento ................................................................................................. 16
Il livello fisico ...................................................................................................................................... 19 2.1
Introduzione allo studio del livello fisico .................................................................................. 19
2.2
Mezzi di trasmissione ................................................................................................................ 20
2.3
Mezzi trasmissivi guidati............................................................................................................ 20
2.4
Tipi di cavi studiati ..................................................................................................................... 28
2.5
Tabella riassuntiva ..................................................................................................................... 28
Il cablaggio strutturato ...................................................................................................................... 30 3.1
Introduzione allo studio del cablaggio strutturato .................................................................. 30
3.2
Topologia di Rete ....................................................................................................................... 31
3.3
Topologia del cablaggio strutturato ......................................................................................... 32
Il livello Data-Link .............................................................................................................................. 39 4.1
Livello di link: introduzione e servizi......................................................................................... 39
4.2
Servizi del livello Data-Link ........................................................................................................ 40
2
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
4.3
Adattatori ................................................................................................................................... 41
4.4
Tecniche di rilevazione e correzione degli errori ..................................................................... 41
4.5
Il progetto IEEE 802.................................................................................................................... 42
4.6
MAC (Medium Access Control) e LLC (Logical Link Control) ................................................... 43
4.7
Protocolli ad accesso multiplo .................................................................................................. 46
4.8
Tassonomia dei protocolli MAC ................................................................................................ 46
4.9
Tecniche di trasmissione dell’informazione ............................................................................. 58
4.10 Ethernet ...................................................................................................................................... 60 4.11 Classificazione degli apparati attivi ........................................................................................... 70 4.12 Interconnessione di LAN ............................................................................................................ 75 4.13 Configurazioni per l’interconnessione di LAN mediante i Bridge ........................................... 76 4.14 Differenze tra una configurazione con Bridge e una con Router ........................................... 78 4.15 LAN Virtuali ................................................................................................................................. 79 5
Il Livello Rete ...................................................................................................................................... 82 5.1
Introduzione al livello rete ........................................................................................................ 82
5.2
Reti a circuito virtuale (VC)........................................................................................................ 83
5.3
Reti a datagramma..................................................................................................................... 84
5.4
Confronto tra reti VC e Datagram ............................................................................................. 84
5.5
Tecniche di Instradamento........................................................................................................ 85
5.6
Le tabelle di routing ................................................................................................................... 86
5.7
Algoritmi di instradamento ....................................................................................................... 88
5.8
Tassonomia degli algoritmi di instradamento ......................................................................... 88
5.9
Algoritmi di Routing: Strumenti di base ................................................................................... 91
5.10 Routing gerarchico ..................................................................................................................... 96 5.11 Il livello Rete di Internet (IP) .................................................................................................... 102 3
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
5.12 Indirizzamento IPv4 ................................................................................................................. 102 5.13 Indirizzamento per classi (Classful Addressing) ..................................................................... 104 5.14 Algoritmo dei router con indirizzamento classful.................................................................. 105 5.15 Problemi del Classful Addressing ............................................................................................ 106 5.16 Inoltro CIDR .............................................................................................................................. 107 5.17 Subnet Masks ........................................................................................................................... 107 5.18 CIDR: un esempio reale ........................................................................................................... 110 5.19 CIDR: Esempio Riassuntivo ...................................................................................................... 114 5.20 Come ottenere un blocco di indirizzi ...................................................................................... 115 5.21 Principi in pratica ..................................................................................................................... 116 5.22 Gestione della congestione ..................................................................................................... 117 5.23 Il Datagram IP ........................................................................................................................... 119 5.24 Viaggio di datagramma da mittente a destinatario............................................................... 122 5.25 ICMP (Internet Control Message Protocol) ............................................................................ 124 5.26 Indirizzi MAC, IP e protocollo ARP .......................................................................................... 124 5.27 DHCP ......................................................................................................................................... 126 5.28 NAT............................................................................................................................................ 127 5.29 IPv6............................................................................................................................................ 129 6
Il Livello Trasporto ........................................................................................................................... 132 6.1
Introduzione al livello trasporto ............................................................................................. 132
6.2
Principali funzioni del livello trasporto ................................................................................... 132
6.3
I Protocolli di livello Trasporto in Internet ............................................................................. 133
6.4
Definizione di porta ................................................................................................................. 134
6.5
Domain Network System ......................................................................................................... 134
Appendice .................................................................................................................................................... 135 4
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Architettura fisica dei router .................................................................................................................. 136 Il quadro normativo ................................................................................................................................ 141 Impianti ................................................................................................................................................141 Sicurezza............................................................................................................................................... 144 Progetto ...............................................................................................................................................146 Collaudo e Verifiche ............................................................................................................................ 148 Progettazione di una rete informatica ............................................................................................... 150 CSMA/CA (CSMA Collision Avoidance) .............................................................................................. 152 Fases de un proyecto y instalacion .................................................................................................... 154 Domande d’esame .............................................................................................................................. 154
5
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
1 Introduzione 1.1
Storia delle reti di calcolatori
Una rete di calcolatori è un insieme interconnesso di calcolatori autonomi.
• •
Autonomi = poiché non ci deve essere una relazione master-slave tra essi; i calcolatori si connettono e scambiano dati per scelta; Interconnessi = devono essere capaci di scambiare informazioni attraverso un mezzo fisico;
Ad esempio i primi sistemi IBM costituiti da un grande mainframe centrale cui erano collegati tanti terminali stupidi (ossia non autonomi) non rappresentavano delle reti di calcolatori (RC). Storicamente nasce prima la WAN (Wide Area Network), che ha origine in ambito militare. Infatti dopo la seconda guerra mondiale, il gruppo di ricercatori tedeschi viene diviso in due: un gruppo viene portato negli Stati Uniti, un altro in Russia. Nasce la guerra fredda, e in tutti gli Stati Uniti vengono poste delle batterie di missili intercontinentali; controllate singolarmente da calcolatori; nasce così il problema di creare una RC affinché si possano coordinare tra loro queste batterie. Il primo problema è quello di effettuare un collegamento a grande distanza. L’utilizzo di una comunicazione via etere, attraverso i primi prototipi di satelliti, rappresentava una soluzione non convincente per tutte le complicazioni legate alle comunicazioni via radio. L’unica soluzione, pertanto, era quella di utilizzare un mezzo fisico costituito da fili. Poiché non era effettuabile un collegamento diretto mediante la costruzione di un’apposita linea, si pensò di utilizzare la RTG (Rete Telefonica Generale) che era già diffusa in maniera capillare sul territorio. La rete telefonica trasporta la voce umana trasformata, mediante il telefono, in un opportuno segnale elettrico. Viene così inventato il modem che permette di connettere il calcolatore al telefono. La RTG oltre che da una diffusa rete di fili, è costituito da centrali di raccolta (CR) e centrali di distribuzione (CD) che permettono la comunicazione di molteplici telefoni tra loro.
6
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
In particolare, lo scopo della RTG è quello di creare un circuito di connessione diretta tra mittente e destinatario della comunicazione. Tale meccanismo è detto sistema a commutazione di circuito. Tale sistema, pur essendo ottimo per le comunicazioni telefoniche, non ha le caratteristiche adatte per la comunicazione tra due calcolatori, poiché presenta due grossi limiti: •
•
È un sistema poco robusto, nel senso che, poiché si basa su una connessione diretta telefono-telefono, se si interrompe il circuito a causa di un malfunzionamento o di un guasto, la comunicazione viene interrotta; È un sistema poco efficiente, in quanto mentre per la comunicazione telefonica è fondamentale la continuità (ossia deve essere garantita la connessione anche nei momenti di silenzio), nella comunicazione tra calcolatori basata sullo scambio di stringhe di bit è inutile occupare la linea nei momenti di silenzio.
Pertanto, il sistema a commutazione di circuito non è sufficientemente affidabile ed efficiente per le specifiche che occorrono alla nostra applicazione. Praticamente lo scopo era quello di utilizzare comunque la linea telefonica dal punto di vista fisico senza, però, utilizzare il sistema a commutazione di circuito, al fine di creare un sistema di interconnessione più robusto ed efficiente (ossia senza sprechi). Come già detto, lo scambio di informazioni tra calcolatori avviene mediante i pacchetti di bit (pertanto la comunicazione non è continua). L’idea dei progettisti fu quella di sovrapporre alla RTG una RC, ponendo un calcolatore in corrispondenza di ogni centrale della RTG. Il calcolatore ha il vantaggio di poter memorizzare i cari pacchetti, ed in particolare svolge un meccanismo STORE AND FORWARD (immagazzina e inoltra). Supponiamo che M1 vuole comunicare con M2. M1 invia il pacchetto di bit al calcolatore R1 che lo memorizza (store) e permette così di mantenere libera la linea tra M1 e R1. A questo punto, R1 trasmette il pacchetto a R2 (forward) che lo memorizza e permette di liberare la linea tra R1 e R2. R2 è, a tal punto, libero di scegliere il percorso da seguire (R3, R4,…, Rn) a seconda di quale sia libero e funzionante. Per tale motivo: calcolatori legati alle centrali sono detti comunemente Router (dall’inglese ROUTE = percorso); ed oltre al meccanismo S&F, hanno il compito di scegliere il percorso che il pacchetto deve seguire. Tale sistema di comunicazione è definito a commutazione di pacchetto.
7
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Oss.
Dario Pecorale
Il router deve essere interfacciato alla rete telefonica che trasporta fisicamente l’informazione; questo
adattamento può essere realizzato mediante un modem.
Inoltre, mentre la rete di comunicazione e le centrali sono già esistenti e quindi non adattabili alle nostre esigenze, i router possono essere scelti dall’utente che realizza la RC. Il sistema a commutazione di pacchetto risulta: più robusto poiché ad ogni step intermedio è possibile eseguire un diverso percorso a seconda della linea più libera, ed è quindi possibile aggirare guasti e malfunzionamenti; più efficiente poiché una volta trasmesso il pacchetto al router successivo posso liberare la linea occupata per la comunicazione e lasciarla disponibile per altre comunicazioni. Oggigiorno tutte le RC funzionano mediante il sistema a commutazione di pacchetto. Concettualmente le reti WAN funzionano nel modo descritto, anche se, praticamente, oggi la linea telefonica è stata maggiormente adattata a queste prerogative. La comunicazione descritta (connessioni tra coppie di calcolatori, in cui le info sono elaborate da calcolatori intermedi detti router) è basata sul trasporto dell’informazione da un mittente a un destinatario, ed è detto metodo di trasmissione punto-punto. In generale le reti molto estese geograficamente (WAN) tendono ad essere punto-punto. La commutazione di pacchetto prevede due tecniche trasmissive:
1.1.1 circuito virtuale Innanzitutto c’è da premettere che i dati trasmessi nel circuito sono frammentati in piccoli pacchetti divisi in header e payloader. Tale tecnica prevede che un pacchetto debba seguire una strada predefinita, però non sono gli unici dati passare lungo la linea, quindi non ne sono proprietari. I vantaggi sono che il pacchetto presenta un header più piccolo e un tempo di commutazione del router breve. I contro sono che l’host richiede alla rete l’instaurazione di un percorso virtuale predefinito, ma ciò costa tempo.
1.1.2 datagram ogni singolo pacchetto è mandato su un nodo che gestisce automaticamente dove istradare i pacchetti della stessa informazione, che perciò possono prendere percorsi diversi.
1.2
Il concetto di rete locale
Il concetto di rete locale segna il passaggio tra: informatica centralizzata (mainframe + rete di terminali) a informatica distribuita (minicomputer + rete locale). L’informatica centralizzata si basava su pochi calcolatori costosi cui erano collegati un grosso numero di terminali stupidi (tale tecnica era sviluppata da IBM soprattutto in ambito bancario).
8
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Con le tecnologie, nascono, però differenti esigenze di utilizzo dei calcolatori. Ad esempio, in un’azienda il reparto operaio ha bisogno di calcolatori automatizzati, il reparto progettisti ha bisogno di calcolatori per il calcolo scientifico, ecc. Per soddisfare la differenziazione delle esigenze si tende, quindi, a migliorare i calcolatori autonomi e adattarli, mediante software opportuno, alle varie esigenze. Si sviluppano, pertanto, i minicomputer che hanno costi e dimensioni ridotti rispetto ai mainframe. La DIGITAL fu la prima azienda a progettare i minicomputer. E' solo alla fine degli anni ’70 che, con i microprocessori INTEL, nascono le prime workstation individuali. Il problema principale è la condivisione delle risorse e lo scambio di flussi di dati fra i vari computer. Per quanto riguarda il collegamento fisico dei minicomputer, nelle reti locali la limitatezza fisica della zona permette di avere maggiori gradi di libertà nelle scelte di progetto. Dalle WAN, le LAN ereditano il concetto di sistema a commutazione di pacchetto e di comunicazione non continua. A differenza delle WAN che si basava su una comunicazione punto-punto, le LAN utilizzano una comunicazione broadcast. Questo tipo di approccio implica che il pacchetto di bit inviato da un minicomputer, viene trasmesso a tutti i minicomputer collegati alla rete. Quando un elaboratore riceve un pacchetto, esamina l’indirizzo di destinazione, se questo coincide con il proprio indirizzo, il pacchetto viene elaborato, altrimenti viene ignorato. Affinché tale comunicazione sia possibile c’è bisogno di un mezzo di trasmissione condiviso che deve soddisfare precise specifiche prestazionali(bus). La gestione del mezzo condiviso è regolata da una serie di regole, dette MAC (Medium Access Control). La tecnologia broadcast può presentare le seguenti topologie:
1.2.1 bus In ogni istante solo un elaboratore può trasmettere, gli altri si astengono. È necessario un meccanismo di arbitraggio quando due calcolatori vogliono trasmettere simultaneamente. Lo standard 802.3 (Ethernet) è una rete broadcast, basata su un bus, con arbitraggio distribuito operante a 100 Mbps. Gli elaboratori trasmettono quando vogliono: se si rileva una collisione aspettano un tempo random e riprovano.
1.2.2 ring
9
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
In un ring ogni bit circumnaviga l’anello in un tempo minore rispetto a quello di trasmissione di un pacchetto. È necessario un meccanismo di arbitraggio (solitamente un token o gettone). Un esempio è lo standard IEEE 802.5.
1.3
Le reti broadcast
Le reti broadcast presentano diversi tipi di meccanismi di arbitraggio: Allocazione statica: i turni di assegnazione sono assegnati a priori, ad esempio assegnando un time slot a ogni elaboratore con un algoritmo round-robin. Lo svantaggio è che vengono trasmessi time slot anche a stazioni che non trasmettono. Allocazione dinamica: si decide di volta in volta chi sarò il prossimo a trasmettere; è necessario un meccanismo di arbitraggio delle contese, che può essere: • •
Centralizzato: un bus arbitration unit accetta richieste di trasmissione e decide chi abilitare; Distribuito: ognuno decide per conto proprio (es. 802.3).
Quando si uniscono la DIGITAL, l’INTEL e la XEROX, nasce la prima rete locale, chiamata Ethernet. Questa rete utilizza un cavo coassiale per il collegamento fisico dei vari computer e un chip che contiene le regole MAC che consentono di gestire il canale condiviso. Queste caratteristiche permettevano di ottenere una velocità di trasmissione di circa 10 Mbps.
1.4
Differenze tra LAN e WAN
WAN: metodo di comunicazione punto-punto (da un mittente a un destinatario); utilizza macchine dedicate alla rete (router); il canale è costituito dalla rete telefonica. LAN: metodo di comunicazione broadcast (da un mittente a tutti i destinatari); necessità di regole per l’utilizzo della rete (MAC); canale apposito (unico e condiviso).
10
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
1.5
Dario Pecorale
Modello gerarchico delle reti di calcolatori
Come abbiamo visto, una RC è un sistema molto complesso poiché coinvolge i calcolatori utilizzati, la rete di comunicazione, la progettazione dei dispositivi dedicati, la scelta del canale, le regole di gestione del mezzo, ecc. Pertanto, le varie case produttrici di RC (che inizialmente erano numerose) costruivano dei prodotti molto differenti tra loro. Nasce, quindi un problema di compatibilità fra i vari prodotti e si crea l’esigenza di definire uno standard (ossia un accordo di compatibilità). Definire uno standard non significa chiudere la strada alla diversificazione e alla competizione, poiché lo standard definisce le caratteristiche di base che deve possedere il prodotto senza imporre come deve essere praticamente realizzato. Storicamente, nel mondo dell’informatica è stato complicato definire uno standard; ciò è stato reso possibile grazie alle crescenti esigenze di compatibilità e alla spinta di organi politici internazionali, che hanno obbligato i vari produttori a conseguire un accordo. Il primo passo verso la standardizzazione è stato la creazione di un modello di rete di riferimento, detto modello a livelli. Il modello a livelli organizza le RC come pila di livelli disposti verticalmente. Lo scopo di ogni livello è di offrire determinati servizi al livello superiore, nascondendo i dettagli sul come tali servizi siano implementati. Il livello n di un calcolatore è in comunicazione (non diretta) con il livello n di un altro calcolatore. Le regole e le convenzioni che permettono queste comunicazioni sono definite protocolli del livello n. Formalmente, il protocollo è un accordo tra le parti che comunicano sul modo in cui deve avvenire la comunicazione. Violare il protocollo rende impossibile la comunicazione. Le entità di pari livello su computer differenti sono definite PARI e comunicano attraverso il protocollo.
11
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
In pratica la comunicazione non avviene direttamente dal livello n di un computer al livello n di un altro computer. Infatti, ogni livello comunica con il livello immediatamente sottostante inviando informazioni e dati di controllo, fino a raggiungere il livello più basso. Al di sotto del livello 1, si trova il supporto fisico attraverso cui è possibile effettuare la comunicazione vera e propria.
Tra ciascuna coppia di livelli contigui c’è un’interfaccia. L’interfaccia definisce le operazioni elementari e i servizi che il livello inferiore rende disponibile al livello superiore. Pertanto, ogni livello esegue un insieme specifico di funzioni ben definite. In fase di progetto è importante definire in modo preciso e chiaro le interfacce tra i vari livelli affinché sia possibile sostituire l’implementazione di un livello con un’altra del tutto differente, poiché la nuova implementazione offra al livello sovrastante esattamente lo stesso insieme di servizi della vecchia. L’insieme di livelli e protocolli è detto architettura di rete. Negli anni successivi, un organismo internazionale (ISO = International Standards Organization) definisce lo standard OSI (Open System Interconnection = interconnessione di sistemi aperti). La standardizzazione delle reti permette a qualunque calcolatore di accedere alla rete, senza bisogno di una particolare interfaccia. Il modello ISO-OSI è strutturalmente basato sul modello a livelli, e pertanto utilizza i concetti fondamentali di: -
livello
-
protocollo
-
interfaccia
12
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Nel modello ISO-OSI, l’interfaccia permette al livello n di richiedere servizi al livello n-1 mediante i cosiddetti “punti di accesso a servizio”: SAP (Service Access Point).
I SAP di livello n sono i punti di accesso nei quali il livello n+1 può accedere ai servizi del livello n. L’informazione passata dal livello n al livello n-1, attraverso l’n-1 SAP si dice PDU (Protocol Data Unit) di livello n. Essa, entrando nel livello n-1, diventa un SDU (Service Data Unit) di livello n-1. Ricapitolando il SAP di livello n è un numero identificativo di un servizio cui vogliamo accedere per un dato strato. Ogni volta che uno strato crea un messaggio produce una SDU che viene inviata a un SAP, quando questa PDU arriva al livello n-1 viene detta PDU (parte dati + PCI). La PCI è una Protocol Central Info che da informazioni sul protocollo usato. Vi sono due tipi di servizi offerti da un livello a quello superiore: a) Connection Oriented; b) Connection-Less. Vediamoli da vicino. a) Si sviluppa in tre fasi: 1. si stabilisce una connessione, cioè si crea con opportuni mezzi un canale di comunicazione fra source e destination. 2. la connessione, una volta stabilita, agisce come un tubo digitale lungo il quale scorrono tutti i dati trasmessi, che arrivano nello stesso ordine in cui sono partiti. 3. si rilascia la connessione. b) I PDU viaggiano indipendentemente gli uni dagli altri, possono prendere strade diverse e arrivare in ordine diverso da quello di partenza o non arrivare affatto. 13
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
N.B.: similitudine con la commutazione di pacchetto: • •
1.6
circuito virtuale datagram
Affidabilità servizio
Un servizio è affidabile se non perde mai dati, assicura che tutti i dati spediti vengono consegnati al destinatario. Ciò richiede che il ricevente invia un ACK (Acknowledgement) al source per ogni pacchetto ricevuto. Un servizio non affidabile non offre la certezza che i dati spediti arrivino effettivamente a destinazione. Se un certo livello non offre nessun servizio affidabile, qualora tale funzionalità sia desiderata dovrà essere fornita da almeno uno dei livelli superiori.
1.7
Primitiva
Un servizio di livello n è specificato da una serie di primitive (operazioni) che un’entità di livello n+1 può adoperare per accedere al servizio. Le primitive hanno vari parametri (mittente, destinatario, servizio richiesto) che sono usati dalle peer entità per negoziare le caratteristiche della connessione. I dettagli della negoziazione fanno parte del protocollo. Esse possono indicare al servizio: l’azione da compiere, cosa riportare in merito ad una azione effettuata dalla peer entità di livello n.
1.8
Il modello ISO-OSI
Il modello ISO-OSI ha 7 livelli. I principi applicati per arrivare a 7 livelli si possono riassumere come segue: si deve creare un nuovo livello quando è richiesta una funzione diversa; la funzione del livello deve essere ben definita e va scelta osservando la definizione di protocolli internazionali; i confini dei livelli vanno scelti al fine di minimizzare il flusso di informazioni attraverso le interfacce; il numero complessivo deve essere limitato al fine di rendere l'architettura attuabile, ma tale da evitare che un livello svolga funzioni distinte.
14
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Esaminiamo i vari livelli: •
•
•
•
Il livello fisico ha a che fare con la trasmissione di bit su un canale di comunicazione. Riguarda le caratteristiche meccaniche, elettriche e procedurali delle interfacce di rete (componenti che connettono l’elaboratore al mezzo fisico) e le caratteristiche del mezzo fisico. Il livello data-link fa si che un mezzo fisico trasmissivo appaia, al livello superiore come una linea di trasmissione esente da errori di trasmissione non rilevati. In sostanza si assicura che su un link tra due nodi ciò che parte arriva un modo corretto. Esso funziona cosi: • spezzetta i dati provenienti dal livello superiore in frame; • invia i frame in sequenza; • aspetta un ACK frame per ogni frame inviato; Si occupa di regolare il traffico (per impedire che il ricevente sia sommerso di dati). In pratica trasforma una connessione fisica in un canale di comunicazione possibilmente affidabile. Il livello rete controlla il funzionamento della subnet di comunicazione. Si occupa di istradare le informazioni attraverso un routing statico o dinamico, di gestire la congestione (a volte pacchetti arrivano a un router che non sa come processarli) e di convertire i dati nel passaggio da una rete a un’altra (rimappando gli indirizzi, frammentando pacchetti e gestendo protocolli diversi).
Il livello trasporto accetta dati dal livello superiore, li spezza in pacchetti, li passa al livello rete e si assicura che arrivi alla peer entity che si trova all’altra estremità della connessione. Crea connessioni di livello rete per ogni connessione di livello trasporto richiesta: per ottenere alto throughput: tante connessioni rete per singola connessione trasporto. Inoltre offre servizi al livello superiore come 15
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
ordinare i dati da consegnare e senza errori. In sostanza rileva la presenza di errori e li corregge. I livelli sessione e presentazione si sono rilevati nella pratica superflui e non ben definiti. Il livello applicazione presenta tutti i protocolli necessari per offrire i vari servizi agli utenti, come terminale virtuale, trasferimento file e posta elettronica. Tali protocolli sono HTTP, SMTP, FTP.
• •
L’architettura a 7 livelli OSI (standard de iure) è stata soppiantata dagli standard di pratica applicazione (standard de facto). I più diffuso standard de facto sono Ethernet per le reti locali e il modello TCP/IP per le reti geografiche. Il modello TCP/IP è un modello semplificato a 5 livelli che si presta ottimamente per le RC reali attuali.
1.9
Meccanismo di Imbustamento
Il meccanismo di imbusta mento descrive le trasformazioni e i trattamenti che subisce il pacchetto di bit da parte della rete prima di raggiungere il destinatario. Nel modello TCP/IP il pacchetto di bit al livello applicazione prende il nome di messaggio. Questi pacchetti sono •
Header (Intestazione) che contiene informazioni sui protocolli necessari per la comunicazione;
•
Trailer (Coda) che contiene informazioni per il controllo degli errori
La comunicazione fra le due entità di livello superiore avviene con una modalità che è uguale per tutte le architetture di rete: •
Il programma applicativo deve mandare un messaggio M alla sua peer entity;
•
Il livello 5 consegna M al livello 4 per la trasmissione
16
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
•
Dario Pecorale
Il livello 4 aggiunge un suo header in testa al messaggio; questo header contiene informazioni di controllo, tra le quali: numero di sequenza del messaggio; dimensione del messaggio; time stamp; priorità
•
Il livello 4 consegna il risultato al livello 3
•
Il livello 3 può trovarsi nella necessità di frammentare i dati da trasmettere in unità più piccole (pacchetti) a ciascuna delle quali aggiunge il suo header
•
Il livello 3 passa i pacchetti al livello 2
•
Il livello 2 aggiunge a ogni pacchetto il proprio header (e magari un trailer per il controllo degli errori) e lo spedisce sul canale fisico
•
Nella macchina di destinazione i pacchetti fanno il percorso inverso, con ogni livello che elimina (elaborandoli) l’header e il trailer di propria competenza, e passa il resto al livello superiore.
17
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Punto di Fuga N. 1
Uprising by Kozyndan
18
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
2 Il livello fisico 2.1
Introduzione allo studio del livello fisico
Il livello fisico definisce le interface meccaniche, elettriche e le temporizzazioni della rete. Le basi teoriche della comunicazione dati sono costituite da •
Analisi di Fourier;
•
Banda passante;
•
Capacità di canale;
Le informazioni possono essere trasmesse mediante le variazioni di alcune proprietà fisiche, ad esempio la tensione. Rappresentando il valore di questa tensione attraverso una funzione del tempo f(t), è possibile modellare il comportamento del segnale e analizzarlo matematicamente.
2.1.1 Analisi di Fourier Un qualunque segnale periodico nel tempo di periodo T (e sufficientemente regolare) può essere rappresentato mediante lo sviluppo in Serie di Fourier, ossia come somma (idealmente infinita) di seni e coseni:
1 sin2 cos 2 2 ஶ
ஶ
ଵ
ଵ
1 ;
. ;
In generale, la scomposizione mediante serie di Fourier può essere applicata a un qualunque segnale reale di durata finita (0, T).
2.1.2 Banda Passante Nessun mezzo di trasmissione è in grado di trasmettere segnali senza attenuazione, ossia senza perdere parte dell’energia durante la trasmissione. Se tutte le armoniche fossero attenuate in modo uniforme, il segnale verrebbe ridotto in ampiezza ma non risulterebbe distorto, e quindi avrebbe la stessa forma del segnale di partenza. Purtroppo, i mezzi di trasmissione non attenuano le armoniche della serie di Fourier in modo uniforme, e ciò provoca una distorsione del segnale.
19
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Solitamente, il segnale è trasmesso senza modifiche in un certo intervallo di frequenze, mentre è attenuato per tutte le frequenze esterne a questo intervallo. L’intervallo di frequenze trasmesse senza una forte attenuazione è definito BANDA PASSANTE.
Oss.
Nella realtà il limite non è molto preciso, perciò spesso viene indicata la banda passante compresa tra
zero e la frequenza dove la potenza è attenuata al 50%.
La banda passante è una proprietà fisica del mezzo di trasmissione e dipende dalla costruzione, dallo spessore e dalla lunghezza del mezzo. Inoltre la banda passante limita la velocità dei dati (espressa in bps = bit per secondo) sul canale.
2.1.3 Capacità di canale Definito il rapporto segnale-rumore come
ௌ ே
, è possibile introdurre la capacità di trasmissione del canale,
scoperta da Shannon e intesa come massimo numero di bps:
max log ଶ #1 $
2.2
% ' &
Mezzi di trasmissione
Lo scopo del livello fisico è trasportare un pacchetto di bit da una macchina a un’altra. E’ possibile utilizzare diversi tipi di mezzi fisici per realizzare una trasmissione; ogni mezzo è caratterizzato da una specifica banda passante, ritardo, costo e facilità di installazione e manutenzione. I mezzi di trasmissione sono generalmente divisi in: • •
MEZZI TRASMISSIVI GUIDATI (mezzi magnetici, cavi in rame, fibre ottiche); MEZZI TRASMISSIVI NON GUIDATI (wireless, trasmissione satellitare, radio, ecc.)
Def. Il CABLAGGIO STRUTTURATO e’ un particolare sistema di cablaggio passivo di un edificio (o di un insieme
di edifici) basato su standard riconosciuti a livello internazionale, che consente il trasporto di informazioni di diversa natura su di un mezzo condiviso.
2.3
Mezzi trasmissivi guidati
2.3.1 Cavi in rame Un buon cavo deve avere caratteristiche tali da “assomigliare” a un mezzo elettrico ideale: • •
Bassa resistenza; Bassa capacità; 20
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
•
Dario Pecorale
Bassa induttanza;
Le caratteristiche elettriche dei cavi dipendono da diversi fattori: -
Numero dei conduttori e loro diametro (AWG) Concentricità tra conduttori e isolante; Presenza di schermi; Materiali usati nella costruzione del conduttore e dell’isolante (costante dielettrica, permeabilità magnetica e conduttanza).
AWG (American Wire Gage) è una scala per le dimensioni dei fili di rame;
2.3.2 Cavo coassiale Un cavo coassiale è composto da un nucleo conduttore coperto da un rivestimento isolante, a sua volta circondato da un conduttore cilindrico solitamente realizzato con una calza di conduttori sottili, che infine è avvolto da una guaina protettiva di plastica.
La costruzione e la schermatura del cavo coassiale forniscono ampiezza di banda e immunità al rumore eccellenti. La banda disponibile dipende dalla quantità, dalla lunghezza del cavo e dal rapporto segnale-rumore del segnale dati; i cavi coassiali moderni hanno un’ampiezza di banda sino a 1 Ghz. 21
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Il cavo coassiale, essendo più schermato del doppino, può estendersi per distanze più lunghe e consente velocità più elevate. Esistono due tipi di cavi coassiali: -
A 50 Ω (utilizzati per le trasmissioni digitali); A 75 Ω (utilizzati per le trasmissioni analogiche, per la televisione e le connessioni Internet via cavo).
I cavi coassiali furono ampiamente utilizzati dalle aziende telefoniche per le connessioni sulle lunghe distanze, ma in seguito sono stati sostituiti dalla fibra ottica nelle tratte più lunghe. Il cavo coassiale è ancora molto utilizzato per la televisione via cavo e le reti MAN. In particolare per le reti Ethernet si utilizzano i seguenti tipi di cavi coassiali:
Thick Ethernet
Thin Ethernet
2.3.3 Doppino Il doppino è composto da due conduttori di rame isolati, spessi circa 1mm, avvolti uno intorno all’altro in una forma elicoidale. L’intreccio è utilizzato perché due cavi paralleli formano un’eccellente antenna; quando invece i cavi sono intrecciati, i campi elettromagnetici generati dai due conduttori si annullano a vicenda.
Oss.
Utilizzando una tecnica di trasmissione differenziale (ossia trasmettendo $ ଶ su un conduttore e – ଶ
sull’altro) si eliminano i disturbi, infatti a destinazione si ha: ) $ * ) ଶ
ଶ
$ * +
dove n indica per rumore bianco (additivo e casuale).
22
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
L’ampiezza di banda dipende dal diametro del cavo e dalla sua lunghezza; generalmente la banda passante di un doppino varia da qualche decina di Mhz a qualche centinaia di Mhz, ed è pertanto inferiore rispetto alla banda di un cavo coassiale.
2.3.4 I principali tipi di doppino -
UTP (Unshielded Twisted Pair): doppino non schermato; FTP (Foiled Twisted Pair): schermo in foglio di alluminio; STP (Shielded Twisted Pair): single coppie schermate + schermo totale.
2.3.5 Categorie di doppini I cavi UTP seguono le specifiche standardizzate in TIA/EIA che li dividono in varie categorie in base ad esempio al numero di intrecci e alle capacità di trasportare segnali. -
Categoria 1: per telefonia analogica; Categoria 2: per telefonia digitale e trasmissione dati a bassa velocità; Categoria 3: testati fino a 16 Mhz, per servizio fonia e reti LAN; Categoria 4: testati fino a 20 Mhz, per LAN; Categoria 5: testati fino a 100 Mhz, per LAN e servizi inferiori; Categoria 5e: testati fino a 100 Mhz ma con parametri più restringenti rispetto alla cat. 5, per LAN e servizi inferiori; Categoria 6: testati fino a 200 Mhz; Categoria 7: testati fino a 600 Mhz.
Le categorie 6 e 7 sono in fase di progetto (draft).
Oss. Oggigiorno il 90% dei doppini installati è di categoria 5e, il 9% di cat. 5 e il restante 1% di cat. 6. 2.3.6 Parametri per la valutazione delle prestazioni I parametri da considerare per valutare le prestazioni dei cavi dipendono dalla categoria. In generale, i parametri sono:
23
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
• • • •
Dario Pecorale
Attenuazione; Diafonia (NEXT); Rapporto tra attenuazione e diafonia (ACR); Ritardo di propagazione.
Per la categoria 5e, a questi si sono aggiunti: • • • •
Power Sum NEXT Diafonia remota (FEXT) Diafonia remota equalizzata (ELFEXT); Ritardo differenziale.
Analizziamo in dettaglio i parametri più importanti: Attenuazione Indica la perdita di potenza del segnale dovuta alla propagazione lungo il cavo. . , 10 log # ௧/. '
NEXT (Near End Cross Talk) Rappresenta la diafonia che si genera in una coppia di fili quando una coppia di fili adiacente è attraversata da un segnale elettrico. In particolare, indica il rapporto tra segnale trasmesso e disturbo indotto (si misura in dB). ACR (Attenuation to Cross talk Ratio) Indica il rapporto fra attenuazione e diafonia ed è pari alla differenza fra il NEXT e l’attenuazione espresso in dB. Propagation Delay Il ritardo di propagazione è il tempo che il segnale impiega per viaggiare da un capo all’altro del cavo. Power Sum Next Rappresenta la diafonia generata su una coppia di fili, dalle rimanenti coppie dello stesso cavo attraversate da un segnale elettrico. FEXT (Far End Cross Talk) Rappresenta la diafonia misurata dal lato opposto alla sorgente di disturbo. ELFEXT ( Equal Level FEXT) Rappresenta semplicemente il FEXT cui è stata sottratta l’attenuazione in modo che il parametro risulti indipendente dalla lunghezza del cavo. Delay Skew Il ritardo differenziale indica la differenza fra i tempi di propagazione del segnale sulle coppie di fili su cui il segnale si propaga a velocità differenti. Per il loro basso costo, discreto livello di prestazioni, facilità di installazione, i doppini sono largamente utilizzati e nella pratica oggi rappresenta l’unico tipo di cavo in rame utilizzato nelle reti LAN. 24
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
In generale, l’applicazione più comune del doppino è il sistema telefonico. Infatti, quasi tutti i telefoni sono collegati alla centrale telefonica attraverso un doppino.
Oss.
Il cavo coassiale ha un unico conduttore centrale per la trasmissione dell’informazione. A un cavo
coassiale è possibile connettere direttamente un altro cavo coassiale mediante connessioni con "tecniche a crimpare", a vampiro o con morsetto a vite. Pertanto, il cavo coassiale può essere utilizzato come mezzo condiviso (ossia come un bus) e si presta in modo diretto alla comunicazione broadcast. Il doppino, invece, ha più conduttori intrecciati su cui viaggia una trasmissione differenziata, e pertanto non è possibile accedervi direttamente. Quindi, il doppino rappresenta un sistema di comunicazione “point–to– point”. Per effettuare una comunicazione broadcast bisogna utilizzare un dispositivo attivo (detto HUB) che permette la raccolta e lo smistamento dei dati.
2.3.7 Fibre ottiche I cavi in fibra ottica sono costituiti da un nucleo (core) di vetro attraverso il quale si propaga la luce. Il nucleo è circondato da un rivestimento di vetro (cladding) che ha un indice di rifrazione più basso, e pertanto costringe la luce a rimanere nel nucleo. Lo strato successivo al cladding è un rivestimento (racket) in plastica che protegge la struttura in vetro. Le fibre, di solito, sono raggruppate in fasci, protetti da una guaina più esterna.
A seconda del diametro del nucleo, possiamo distinguere due tipi di fibra ottica; 2.3.7.1 Fibra multimodale In cui tutti i raggi di luce che colpiscono l’interfaccia con angolo maggiore di quello critico sono riflessi internamente e pertanto il core può contenere molti raggi (modi) che rimbalzano ad angoli diversi. 2.3.7.2 Fibra monomodale Che si comporta come una guida d’onda, poiché la luce può propagarsi solo in linea retta, senza rimbalzare.
25
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
La luce visibile ha lunghezze d’onda che variano da 0,4 a 0,7 μm. Per la comunicazione ottica, nella pratica, si usano le lunghezze d’onda vicine all’infrarosso. In particolare, si utilizzano tre bande di lunghezza d’onda (finestre) centrate rispettivamente a 0,85 , 1,30 , e 1,55 μm. Le finestre a 1,30 e 1,55 μm hanno ottime proprietà di attenuazione: meno del 5% per km. La finestra da 0,85 μm ha una attenuazione più alta ma questa lunghezza d’onda può essere generata, oltre che dal laser, anche dal led. Tutte e tre le finestre, hanno ampiezza di banda compresa tra i 25.000 e i 30.000 Ghz (25-30 Thz) In definitiva, un sistema di trasmissione ottico è costituito da tre elementi fondamentali: 1. La sorgente luminosa: led (Light Emitting Diode) o laser 2. Il mezzo trasmissivo formato dalla fibra di vetro, realizzata in silicio; 3. Il rilevatore, generalmente un fotodiodo che genera un impulso elettrico ogni volta che è colpito dalla luce.
Oss. Con l’attuale tecnologia delle fibre, si possono trasmettere dati fino a 50 Tbps. Oggi, il limite pratico per
la trasmissione dei dati (pari a circa 10 Gbps) deriva dall’incapacità di convertire più velocemente il segnale elettrico in segnale ottico. Inoltre, il tempo di risposta di un tipico fotodiodo è di 1 ns, pertanto la velocità di trasmissione dati è limitata a circa 1 Gbps.
Oss.
Anche la fibra ottica, come il doppino è un mezzo di trasmissione monodirezionale, quindi per una
connessione completa occorrono 2 fibre ottiche (oppure 2 bande di frequenza su una singola fibra).
Come per i cavi in rame, la fibra ottica trova larga applicazione nell’industria telefonica. In particolare la fibra sostituisce i cavi in rame nelle zone di distribuzione (ossia nei collegamenti a lunga distanza tra le centrali di distribuzione). La fibra ottica rappresenta quindi il primo passo verso il moderno sistema di telefonia digitale, poiché per trasmettere mediante fibra ottica la CD deve operare una conversione analogica-digitale (e viceversa nel caso di ricezione). Inoltre con l’avvento del PCM (Pulse Code Modulation), il canale telefonico digitale può trasmettere fino a 64 kbps (8000 campioni/sec * 8 bit). La trasmissione telefonica è una comunicazione sincrona, e la sincronizzazione è regolata da un clock comune con periodo pari a 125 μs. Invece, la comunicazione a commutazione di pacchetto è intrinsecamente asincrona, in quanto non c’e’ bisogno di sincronizzare i due calcolatori in comunicazione. La fibra ottica offre molti vantaggi, primo fra tutti l’elevata ampiezza di banda. Inoltre, sono caratterizzati da un basso livello di attenuazione e sono sottili e leggere.
Oss.
1 Km di cavo contenente 1.000 coppie di doppini pesa circa 8.000 Kg. Due fibre hanno una capacità
superiore e pesano solo 100 Kg. Inoltre occupano un volume notevolmente minore.
La fibra ha anche il vantaggio di non essere influenzata dalle sorgenti elettriche e dai cavi elettromagnetici.
26
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Infine, le fibre non perdono la luce ed è piuttosto difficile accedervi per intercettare i dati; queste proprietà rendono le fibre molto più sicure dei cavi in rame. Per contro, la fibra è una tecnologia meno nota che spesso richiede conoscenze specifiche. Inoltre, la fibra ha un costo abbastanza elevato (non legato ai materiali ma alle sofisticate tecnologie di produzione) e si può danneggiare se si piega troppo. Infine, le interfacce per la fibra ottica costano più di quelle elettriche per i cavi in rame.
27
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
2.4
Dario Pecorale
Tipi di cavi studiati
Cavi
Cavi in rame
Coassiale Doppino
Monomodale
Fibre Ottiche
Multimodale
2.5
Tabella riassuntiva Principali vantaggi e svantaggi dei cavi studiati Doppini Vantaggi
• • • •
Svantaggi
Prestazioni differenti in base alla categoria scelta Facilità di installazione superiore alla fibra Costi ridotti rispetto alla fibra Basso costo degli apparati attivi
• • • •
Problemi di immunità elettromagnetica Maggiore attenuazione rispetto alla fibra Non adatto per lunghi percorsi Minore sicurezza rispetto alla fibra
Fibre Ottiche Vantaggi • • •
• •
Ottime prestazioni (Ampia banda e basse perdite) Adatta a trasmissione dati su lunghe distanze Facilità di installazione (leggera e poco ingombraste, e non ha bisogno della messa a terra) Affidabile (non risente di nessuna interferenza elettromagnetica) Sicura (molto difficile da violare
Svantaggi • • • •
Costo cavi in fibra Costo apparati attivi Connettorizzazione Specializzazione dei tecnici utilizzati per la messa in opera della fibra
28
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Punto di Fuga N. 2
Winter Bunny - Kozyndan
29
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
3 Il cablaggio strutturato 3.1
Introduzione allo studio del cablaggio strutturato
Il cablaggio strutturato è un particolare sistema di cavi passivo di un edificio (o di un insieme di edifici purchè si trovino su un’area privata) basato su standard riconosciuti a livello internazionale, che consente il trasporto di informazioni di diversa natura su di un mezzo condiviso, ed è progettato in modo tale da essere “modulato” ed espandibile.
Oss. Il termine cablaggio deriva dall’inglese cabling = sistema di cavi. Quindi, il cablaggio strutturato è un particolare sistema di cablaggio che è stato standardizzato, ossia sono stati definiti dei riferimenti normativi che impongono le caratteristiche tecniche che il sistema deve possedere e le componenti da utilizzare per la realizzazione fisica. Questo standard nasce negli Stati Uniti d’America ed è definito da due enti: la EIA (Employee Involvement Association) e la TIA (Telecommunications Industry Association). Lo standard è contrassegnato dalla sigla EIA/TIA 568, che si suddivide a sua volta in 568° e 568b. Successivamente, questo standard USA è stato riconosciuto a livello internazionale dalla ISO (International Standard Organization) e dalla EN (European Normative). In particolare, lo standard internazionale è contrassegnato dalla sigla ISO 1801, e lo standard europeo è contrassegnato dalle sigle EN50173 ed EN50174.
Oss. L’ingegnere è garante che la messa in opera del cablaggio strutturato è a “regola d’arte”, ossia rispetta lo standard.
Oss.
Un concetto fondamentale del cablaggio strutturato è che il sistema di cavi che trasportano le
informazioni è parte integrante dell’edificio (e del posto di lavoro).
Lo standard impone al cablaggio di supportare, oltre alla trasmissione dati, anche il sistema di fonia e la “building automation” (automazione dell’edificio, ossia sistemi di allarme, sistemi antincendio, ecc.).
Oss.
La fonia che in origine era un sistema analogico, si è digitalizzata con l’avvento della modulazione PCM
(Pulse Code Modulation) e del PABX (Private Automatic Branch Exchange = Centralino Telefonico Privato Automatizzato). Inizialmente si era pensato di utilizzare il PABX anche per la trasmissione dati, ma praticamente il PABX è inutilizzabile a tale scopo poiché è un mezzo di comunicazione intrinsecamente puntopunto e perché 64 Kbps sono insufficienti per una LAN (infatti Ethernet nasce già a 10 Mbps). Il sistema dati e il sistema fonia possono utilizzare entrambi il cablaggio strutturato poiché entrambi digitali e, inoltre, la banda passante del sistema dati è molto più elevata di quella del sistema fonia.
30
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
3.2
Dario Pecorale
Topologia di Rete
La topologia di rete è una rappresentazione grafica della forma fisica della rete mediante nodi (apparati attivi) e segmenti (linee di collegamento).
3.2.1 Topologia a stella (Token Star)
Tutti i nodi convergono in un unico punto definito “centro stella”.
Oss. La topologia a stella è la tipica topologia di una rete telefonica, e le centrali di raccolta rappresentano un tipico esempio di centro-stella.
Difetti: il centro stella è punto critico della comunicazione, pertanto un malfunzionamento del centro stella implica il non funzionamento di tutta la rete. Pregi: eventuali malfunzionamenti di un nodo attivo possono essere facilmente individuati, poiché se un nodo attivo non funziona (per un suo malfunzionamento o per un’interruzione della linea di collegamento) tutti gli altri nodi attivi possono comunque mantenere la comunicazione.
3.2.2 Topologia a bus
Tutti i nodi sono collegati da un unico mezzo di comunicazione passivo, detto “bus”. Difetti: non c’e un centro stella da cui dipende tutta la comunicazione. Pregi: è difficile individuare un malfunzionamento poiché tutti condividono lo stesso mezzo.
31
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
3.2.3 Topologia ad anello (Token Ring)
Tutti i nodi attivi sono connessi in successione, e l’ultimo nodo è connesso direttamente al primo. Difetti: esiste il rischio che gli host possano intercettare comunicazioni altrui; vi è un elevato traffico in tutta la rete; il guasto di un host compromette la trasmissione di dati. Pregi: può coprire distanze maggiori di quelle consentite da altre reti senza l'aggiunta di amplificatori di segnale.
3.3
Topologia del cablaggio strutturato
La massima estensione di un cablaggio strutturato (e quindi di una LAN) è un campus, cioè una serie di edifici su area privata. Il cablaggio strutturato è costituito essenzialmente da • •
Cablaggio orizzontale che collega i vari posti di lavoro situati su un piano al centro stella di piano, generalmente mediante i doppini; Cablaggio verticale che collega i centro stella di piano al centro stella di edificio, e i centro stella di edificio al centro stella di campus, generalmente mediante dorsali di comunicazione in fibra ottica per sostenere l’altissimo carico proveniente da ogni piano.
• Pertanto la topologia di una rete di cablaggio strutturato corrisponde a un “Albero di Stelle”:
32
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Centro stella di edificio
Centro stella di campus
Centro stella di piano
Fibra
Doppino Posti di lavoro
Oss. Nel cablaggio strutturato ogni posto di lavoro è connesso attraverso doppini all’armadio di piano. Ogni armadio di piano è connesso attraverso fibre (dorsali di edificio) all’armadio di edificio. Tutti gli armadi di edificio sono connessi attraverso fibre (dorsali di campus) all’armadio di campus.
I posti di lavoro sono costituiti da una workstation collegata a una presa utente. Le workstation possiedono una schede di rete, che permette la connessione di fisica con la presa utente mediante doppino.
Oss.
Le vecchie schede di rete presentavano dei connettori BNC, che permettevano l’utilizzo del cavo
coassiale mediante la cosiddetta Daisy Chain (connessione a ghirlanda).
33
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Per il cablaggio orizzontale si utilizza il doppino, che usa connettori della famiglia MMJ (Modular Multi Jack). In particolare, si utilizzano i seguenti connettori: •
RJ11: connettore telefonico a 4 contatti;
•
RJ45: connettori per reti locali a 8 contatti.
Caratteristica fondamentale: semplici da installare! Il connettore RJ45 viene connesso al cavo con “tecniche a crimpare” secondo lo standard EIA/TIA 568 A/B.
Oss.
Per la connessione di reti LAN abbiamo bisogno di 2 doppini, e quindi basterebbero 4 contatti (2 per il
doppino di trasmissione e 2 per il doppino di ricezione). Il connettore RJ45 ha 8 connettori per un criterio di ridondanza, ossia affinché sia utilizzabile per vario tempo anche se cambiano le esigenze a causa dell’innovazione tecnologica.
34
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Oss.
Dario Pecorale
La scheda di rete è un dispositivo di tipo firma che rappresenta il livello data-link della workstation e si
interfaccia con il livello fisico mediante diversi tipi di connettori; in particolare ha un connettore femmina di tipo RJ45.
3.3.1 La Patch Cord Nel posto di lavoro (workspace) la singola workstation è collegata alla presa utente mediante una Patch Cord (bretella di connessione). La Patch Cord è il cavo di interconnessione mobile tra la presa utente a muro e la scheda di rete della workstation. Nel cablaggio in rame è costituito da un doppino (cavo UTP o FTP) terminato con due connettori (plugs) RJ45.
Oss. Nel rispetto degli standard la Patch Cord non supera la lunghezza di 3 m. 3.3.2 La Presa Utente La presa utente è collegata all’armadio di piano mediante un cavo con 4 coppie di doppini (UTP o FTP) di categoria 5e (oppure cat. 6). Nel rispetto degli standard, questi cavi non superano la lunghezza di 80 m. La presa utente presenta dal lato accessibile all’utente dei connettori “Femmina” dell’RJ45 (e dell’RJ1). Mentre, dal lato interno presenta, in corrispondenza di ogni connettore, un “Frutto” da cui parte il cavo con 4 doppini di cat. 5e (certificato fino a 100 Mhz).
3.3.3 Il Patch Panel Il cavo che parte dalla presa utente è connesso, nell’armadio di piano, a un Patch Panel (pannello di permutazione). Il Patch Panel interfaccia fisicamente il lato utente con le apparecchiature attive. Lo scopo del Patch Panel è quello di separare (fisicamente e logicamente) il cablaggio e l’apparato attivo, secondo i criteri di “modularità e indipendenza”. La connessione tra “cavo utente” e apparato attivo mediante Patch Panel può essere effettuata secondo diversi schemi.
Oss. Il Patch Panel si compone di un numero di prese della stessa categoria del cablaggio (RJ45 se il cablaggio orizzontale è in rame).
3.3.4 L’Armadio L’Armadio è una struttura passiva di una certa complessità, le cui caratteristiche fondamentali sono: dimensioni standard, apertura da tutti i lati, distribuzione dell’alimentazione, controllo alimentazione con UPS, clima controllato, sensori di porte aperte. L’armadio si sta evolvendo e da una struttura passiva sta diventando una struttura intelligente integrata nella rete.
Oss. Per rispettare i vincoli fisici imposti dallo standard (lunghezza massima del cavo in rame tra presa utente
e armadio di piano pari a 80 m, e lunghezza mas della Patch Cord pari a 3m) ci possono essere più armadi di
35
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
piano sullo stesso piano e più prese utente nello stesso workspace. In particolare, quando abbiamo più armadi di piano sullo stesso piano, si individua un armadio di piano principale cui sono connessi (mediante fibra) tutti gli altri armadi di piano, e che a sua volta è collegato all’armadio di edificio (mediante fibra).
3.3.5 L’Hub L’apparato attivo, anche detto Hub è un dispositivo che effettua la conversione da analogico a digitale, ossia che permette la connessione tra un cablaggio orizzontale in rame e un cablaggio verticale in fibra ottica. Generalmente, nell’armadio, l’uscita in fibra dell’apparato attivo è connessa a un Patch Panel ottico, mediante una Patch Point ottica (bretella di permutazione ottica). Il Patch Panel Ottico interfaccia fisicamente l’apparato attivo con cablaggio verticale in fibra. [Vedi anche 4.11.1.2]
3.3.6 Connettori per Fibra Ottica Per il cablaggio verticale, come già detto, si utilizza la fibra, che usa degli opportuni connettori. Questi connettori hanno la funzione di assicurare la continuità ottica tra due cavi in fibra.
Oss.
La connettorizzazione in fibra ha una complessità e un costo d’installazione elevato rispetto alla
connettorizzazione dei cavi in rame; questo è uno dei principali motivi per cui il cablaggio orizzontale è realizzato ancora in rame. I principali connettori per fibra sono: 3.3.6.1 Connettore ST Il connettore ST (o “a baionetta”) è a singola ferrula (parte fisica in cui si trasmette il segnale ottico), ed ha un corpo metallico di protezione con ghiera (come il BNC). 3.3.6.2 Connettore SC Il connettore SC è a singola ferrula, è di tipo push-pull (come l’RJ45) ed è presente in due modelli: simplex e duplex. Ha una maggiore densità di connessione rispetto al connettore ST
Oss. Il connettore SC ha diversi metodi di terminazione: resine + lappatura; UV + lappatura; anaerobico/freddo + lappatura; crimpare + lappatura.
3.3.6.3 Connettore MT-RJ Il connettore MT-RJ è a singola ferrula ed è di tipo push-pull. Raddoppia la densità di connessione.
Oss.
Per la fibra si sta osservando un graduale passaggio dal connettore ST al connettore SC, anche se il
connettore MT-RJ sembra avere tutte le caratteristiche necessarie per conquistare, in futuro, il mercato mondiale
36
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Oss. Il tempo di vita utile di un cablaggio strutturato è di almeno 15 anni (se realizzato secondo gli standard). Il tempo di via medio di una workstation è di 3 anni, mentre il tempo di vita medio di un software è di 1 anno e mezzo al massimo.
37
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Punto di Fuga N. 3
Bunny Blossom - Kozyndan
38
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
4 Il livello Data-Link
4.1
Livello di link: introduzione e servizi
Il livello data-link ha il compito di costruire una comunicazione affidabile ed efficiente tra due dispositivi fisicamente connessi (host-router, router-router, host-host). In un dato collegamento, un nodo trasmittente incapsula il datagramma in un frame di livello link e lo trasmette a un nodo di destinazione che riceve il frame ed estrae il datagramma. Generalmente il data-link è un firmware implementato in un adattatore (per esempio schede PCMIA e schede Ethernet) che tipicamente include RAM, chip DSP, interfaccia verso il bus dell’host e verso il link.
39
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Il livello data-link incapsula il pacchetto proveniente dal network (datagramma) in un “frame” aggiungendo un header (intestazione) e un trailer (coda):
Negli header sono contenuti gli indirizzi fisici per identificare mittente e destinatario. I frame hanno una lunghezza massima impostata dall’hardware, mentre i datagrammi non hanno questo tipo di limite e pertanto il datagramma è scomposto in più frame.
4.2
Servizi del livello Data-Link
Il livello data-link, oltre a fornire un’interfaccia per il livello rete ha il compito di gestire la comunicazione di un frame lungo ogni singolo collegamento mediante i seguenti servizi: Controllo del flusso: i nodi agli estremi del collegamento presentano una limitata capacità di buffering, di conseguenza il destinatario potrebbe ricevere frame a un ritmo più elevato di quello per cui riesce a processarli. Senza il controllo di flusso, il buffer del ricevente potrebbe superare la propria capacità e i frame andrebbero persi. Rilevazione degli errori: Gli errori di bit sono causati dall’attenuazione di segnale e da rumore elettromagnetico, per questo motivo molti protocolli di livello data-link offrono un meccanismo per rilevarne la presenza. Viene inserito dal nodo trasmittente un bit di controllo di errore all’interno del frame e sarà compito del nodo ricevente controllarne la presenza. Correzione dell’errore: Il nodo ricevente determina anche il punto preciso del frame in cui si è verificato l’errore. Vi sono anche altri servizi di minore importanza, come: Framing: I frame sono costituiti da un campo dati, nel quale è inserito il datagramma, e da vari campi intestazione. Considereremo come campi intestazione anche gli eventuali campi trailer. Accesso al collegamento: Il protocollo che controlla l’accesso al mezzo (MAC), specifica le regole con cui immettere i frame nel collegamento condiviso da parte di più nodi. Consegna affidabile: Il servizio di consegna affidabile è realizzato attraverso un Acknowledgement (ACK) e ritrasmissioni: tale servizio è utilizzato spesso per i collegamenti soggetti a elevati tassi di errore allo scopo di correggere gli errori localmente( correzione del piccolo frame), piuttosto che procedere alla ritrasmissione completa del pacchetto da origine a destinazione da parte dei livelli di trasporto o di applicazione. (ACK = conferma dell’avvenuta ricezione). Half-duplex e full-duplex: nella trasmissione full-duplex gli estremi di un collegamento possono trasmettere contemporaneamente. Non possono farlo in quello half-duplex.
40
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
4.3
Dario Pecorale
Adattatori
Il protocollo di link è realizzato da un adattatore, ovvero un dispositivo che contiene una RAM, un interfaccia bus/host e un interfaccia di collegamento. Gli adattatori sono conosciuti anche come schede di rete. La scheda di rete incapsula il datagramma in un frame e lo trasmette nel canale di comunicazione. Dall’altro lato, l’adattatore riceve l’intero frame, estrae il datagramma di livello rete e lo consegna al livello rete. La scheda di rete supporta i protocolli per la rilevazione dell’errore; se arriva quindi un frame che contiene errori lo scarta.
4.4
Tecniche di rilevazione e correzione degli errori
Vediamo tre tecniche per rilevare gli errori nei dati trasmessi: Controllo di parità: Supponiamo che le informazioni da inviare siano costituite da d bit. In uno schema di parità pari, il mittente include un bit addizionale e sceglie il suo valore in modo da rendere peri il numero totale di bit 1 nei d+1 bit trasmessi (l’informazione originale più il bit di parità). Nello schema di parità dispari, il valore del bit di parità è scelto in modo che ci sia un numero dispari di bit 1. Con un solo bit di parità ciò che il ricevente deve fare è contare il numero di bit 1 tra quelli ricevuti. Se trova un numero dispari di bit 1, sa che si è verificato almeno un errore in un bit. Metodo di checksum: In questo metodo i d bit di dati sono trattati come una sequenza di numeri interi da k bit. Un semplice modo per eseguire la checksum è quello di sommare questi interi da k bit e usare i bit del risultato come bit per la rilevazione degli errori. La checksum di Internet si basa su questo approccio: i dati sono trattati come interi da 16 bit e sommati. Il complemento a 1 di questa somma costituisce la checksum di Internet che viene trasportate nell’intestazione dei segmenti. Il ricevente controlla la checksum calcolando il complemento a 1 della somma dei dati ricevuti (compresa la checksum) e verifica che tutti i bit del risultato siano 1. Controllo a ridondanza ciclica: il (CRC) è un metodo per il calcolo di somme di controllo (checksum in inglese) e, come queste, trova applicazione in tutti i campi in cui sia utile poter controllare l'integrità di una stringa di dati (telecomunicazioni, registrazione di dati su supporti fisici, compressione di file). Usando il codice CRC si genera una stringa di bit di controllo che viene normalmente trasmessa assieme ai dati.
41
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
4.5
Dario Pecorale
Il progetto IEEE 802
Nel mondo delle reti esiste una enorme varietà di approcci e protocolli per gestire il livello data-link di un mezzo condiviso. Quando cominciarono a diffondersi le prime reti LAN (ARC, Ethernet, Token ring), l’IEEE (Institute of Electrical and Electronic Engineers) decise di instituire dei comitati per standardizzare le reti LAN e MAN. Tali comitati sono stati complessivamente raccolti nel progetto IEEE 802. I comitati sono: 802.1 Overview, Architecture, Bridging and Management 802.2 Logical Link Control 802.3 CSMA/CD (Carrier Sense, Multiple Access with Collision Detection) 802.3u 100BaseT 802.4 Token Bus 802.5 Token Ring 802.6 Metropolitan Area Networks - DQDB (Distributed Queue, Dual Bus) 802.7 Broadband technical advisory group 802.8 Fiber-optic technical advisory group 802.9 Integrated data and voice networks 802.10 Network security 802.11 Wireless network 802.12 100VG AnyLAN 802.14 Cable-TV based broadband communication network N.B.: 802.3 è Ethernet. Il progetto IEEE 803 definisce che le LAN e le MAN devono fornire un’interfaccia unificata verso il livello rete pur utilizzando tecnologie trasmissive differenti. A tale scopo, il progetto IEEE 802 suddivide il livello data-link in due sottolivelli.
42
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
4.6
Dario Pecorale
MAC (Medium Access Control) e LLC (Logical Link Control)
Il sottolivello LLC è comune a tutte le LAN, mentre il sotto livello MAC è peculiare di ciascuna LAN e dipende da livello fisico al quale è associato. Il sottolivello LLC è l’interfaccia unificata verso il livello rete ed è descritto nell’802.2, mentre i vari sottolivelli MAC sono descritti negli standard specifici di ogni rete locale (da 802.3 a 802.14). Pertanto, il protocollo LLC nasconde le differenze tra i vari protocolli MAC (associati al tipo di rete) offrendo al livello rete un’interfaccia e un formato del pacchetto unici.
4.6.1 Il sottolivello MAC Il sottolivello MAC si occupa di due problematiche distinte: La contesa del canale trasmissivo e il rilevamento delle collisioni; L’indirizzamento (ossia determinare a quali destinazioni è diretto il messaggio) Il primo punto è risolto attraverso degli algoritmi, mentre il secondo punto è risolto con gli indirizzi MAC, che possono essere di tre tipi: • • •
Single (unico destinatario) Multicast (un gruppo di destinatari) Broadcast (tutti i destinatari)
Gli indirizzi MAC sono generalmente espressi scrivendo due cifre esadecimali per ogni byte. Ad esempio: 1A23-F9-CD-06-9B. Il pacchetto MAC ha un formato standard indipendente dal protocollo utilizzato; I campi principali di un MAC PDU sono quattro
43
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
• • • •
Dario Pecorale
DSAP: Destination SAP SSAP: Source SAP La LLC-PDU contiene l’header LLC e i dati La FCS (Frame Control Sequence): un CRC su 32 bit per il controllo dell’integrità della trama
SSAP e DSAP occupano 6 byte ciascuno e identificano l’adattatore che ha inviato il frame e l’adattatore che deve ricevere il frame. SSAP e DSAP sono cablati fisicamente nel firmware della scheda di rete e sono a loro volta suddivisi in due campi: i primi 3 byte identificano il costruttore e i 3 byte meno significativi identificano univocamente il costruttore. I primi 3 byte sono assegnati da un organismo internazionale, l’OUI (Organization Inique Identifier), a ogni costruttore di schede di rete per identificare in modo univoco il lotto di indirizzi acquistati dal costruttore. I secondi 3 byte rappresentano il serial number della scheda e vengono assegnati dal costruttore stesso alle schede di rete prodotte secondo una numerazione interna.
Poiché SSAP e DSAP sono fisicamente cablati nella scheda di rete, per modificarli bisognerebbe intervenire direttamente sul firmware della scheda stessa. Il livello MAC è implementato nell’hardware della scheda di rete locale, mentre il livello LLC di solito è realizzato in software.
44
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Il campo FCS (Frame Control Sequence) è destinato a un codice di controllo (detto checksum), che permette il rilevamento degli errori ma non la loro correzione. Il checksum viene calcolato sulla sequenza dati da trasmettere e inviato insieme ad essi; se alcuni bit del campo dati vengono interpretati in maniera errata, il checksum calcolato dal ricevitore sarà diverso da quello trasmesso e quindi viene rilevato l’errore. Il pacchetto MAC ha una lunghezza minima di 64 byte, che include DSAP, SSAP, DATI e FCS. In fase di trasmissione, quando il TX rileva una collisione interrompe l’invio del pacchetto corrente, pertanto il RX riceve continuamente parti del pacchetto che vengono eliminati poiché hanno lunghezza inferiore a 64 byte. Se la parte occupata dai dati è minore di 48 byte, si aggiunge un campo pad che riempie il pacchetto. Lo standard MAC più diffuso è Ethernet (802.3) che grazie a un ottimo rapporto qualità prezzo ha acquisito il monopolio del mercato. In passato, il comitato 802.3 si divise in due parti: il primo propose una versione innovativa dell’802.3 compatibile con la precedente, definita Fast Ethernet (802.3 u); il secondo propose una nuova versione, 802.12 del tutto incompatibile con la 802.3, tale soluzione si rivelò disastrosa e fu presto scartata. Fast Ethernet è stata a sua volta sostituita da versioni più innovative: Gigabit Ethernet e 10Gigabit Ethernet.
4.6.2 Il protocollo LLC
Il protocollo LLC nasconde le differenze tra i vari tipi di reti 802 offrendo interfaccia e formato unici verso lo strato rete. 802.2 è lo standard del sottolivello LLC. Esso definisce sia i servizi forniti dal livello LLC, sia il protocollo che li implementa.
45
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
LLC fa in modo che il livello rete non distingua tra un collegamento punto-punto proprio delle reti WAN e un collegamento broadcast proprio delle LAN. Scopo di LLC è anche quello di fornire un supporto standard alla convivenza di più protocolli di livello rete (ad esempio TCP/IP, DECnet) sulla stessa LAN.
4.7
Protocolli ad accesso multiplo
Nel mondo delle reti esistono due tipi di connessione: Collegamento punto-punto: costituito da un trasmittente a un’estremità del collegamento e da un unico ricevente dall’altra. Collegamento broadcast: può avere più nodi trasmittenti e riceventi connessi allo stesso canale broadcast condiviso. (se un nodo invia un dato, il canale lo diffonde a tutti i nodi) Il problema chiave delle reti broadcast è rappresentato dalla scelta dell’utente che dovrà acquisire il controllo del canale quando più utenti possono trasmettere simultaneamente. Sono stati sviluppati vari protocolli che gestiscono l’uso di un canale broadcast detti protocolli di accesso multiplo. Questi protocolli sono algoritmi distribuiti che determinano come gli utenti devono condividere il segnale, ossia quando un utente può trasmettere. I protocolli ad accesso multiplo appartengono a un sottolivello del livello data-link, chiamato MAC (Medium Access Control). Le caratteristiche di un protocollo MAC sono le seguenti • • • •
4.8
Sincrono o Asincrono Informazioni necessarie sulle altre stazioni Robustezza (ad esempio agli errori sul canale) Prestazioni
Tassonomia dei protocolli MAC
I protocolli MAC possono essere suddivisi in 3 classi principali: • • •
Channel Partitioning (Suddivisione del canale); Random Access (Accesso casuale); Taking Turn Access (Accesso a turno).
4.8.1 Protocolli a suddivisione di canale
46
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
4.8.1.1 TDMA (Time Division Multiple Access) Supponiamo che il canale supporti N nodi e che la sua velocità di trasmissione sia di R bps. TDMA suddivide il tempo in intervalli di tempo (time frame) e poi divide ciascun intervallo di tempo in N slot (tanti intervalli quanti sono i nodi in “gioco”). Ogni slot è assegnato a uno degli N nodi. Ogni volta che un nodo ha un pacchetto da inviare, trasmette i bit del pacchetto durante lo slot di tempo assegnatogli a rotazione nel frame TDMA. Le dimensioni dello slot sono stabilite in modo da consentire la trasmissione di un singolo pacchetto. TDMA è usato in quanto riesce a evitare le collisioni ed è perfettamente imparziale: ciascun nodo ottiene, durante ciascun intervallo di tempo, un tasso trasmissivo di R/N bps. Gli inconvenienti si hanno quando non vi sono altri nodi che devono inviare un pacchetto e quindi quello che vuole trasmettere è costretto ad aspettare il suo turno e a non superare il limite di R/N.
4.8.1.2 FDMA ( Frequency Division Multiple Access) Il canale viene diviso in frequenze differenti (ciascuna con una larghezza di banda di R/N) e assegna ciascuna frequenza a un nodo. Quindi, da un canale da R bps, FDMA crea N canali di R/N bps. Anche FDMA evita le collisioni e divide equamente la larghezza di banda tra gli N nodi, e come il precedente gli svantaggi ci sono quando sono in molte stazioni a dividersi il canale e che se molte di queste non trasmettono abbiamo molta banda sprecata e quella che trasmette è vincolata a una larghezza di banda di R/N.
4.8.1.3 CDMA (Code Division Multiple Access) In questo protocollo ogni bit viene moltiplicato con un segnale (il codice) che cambia con frequenza superiore (chipping rate) a quella dei bit di dati. Supponiamo che il tasso trasmissivo dei bit di dati definisca l’unità di tempo e indichiamo con lo slot di tempo richiesto per la trasmissione di un bit. Sia di il valore del bit di dati nell’i-esimo slot. Per comodità, rappresentiamo con -1 il bit 0. Ogni slot è inoltre suddiviso in M minislot. Nella figura abbiamo posto M=8. Il codice CDMA usato dal trasmettitore è una serie di M valori, detti cm, che possono essere 1 o -1. 47
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Il risultato del codificatore CDMA sarà il prodotto tra il segnale originale e la chipping sequence:
.
Il ricevente si vedrebbe recapitare i bit codificati, Z e ricostruire il bit di dati originale, d, calcolando: .
Questo caso appena visto è ideale, infatti CDMA deve lavorare in presenza di interferenze dovute ad altre trasmissioni. Come può un ricevitore CDMA ricostruire i bit di dati originali se questi sono stati combinati con quelli di un altro trasmettitore? CDMA lavora nell’ipotesi che i segnali dei bit trasmessi con interferenza siano cumulativi. Ad esempio, se tre trasmittenti inviano un valore 1 e il quarto invia un valore -1 durante lo stesso mini-slot, allora il segnale ricevuto sarà 2(1+1+1-1=2). Se il codice del trasmittente è scelto bene, ciascun ricevente può ricostruire i dati inviati da un determinato trasmittente a partire dal segnale aggregato, manipolando il codice del trasmittente esattamente come specificato dalla formula:
(in pratica ne fa una media).
48
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
4.8.2 Protocolli ad accesso casuale I protocolli ad accesso casuale consentono agli utenti di trasmettere sempre alla massima velocità ogni volta che hanno un frame da inviare. Naturalmente, quando due o più stazioni trasmettono contemporaneamente e i frame trasmessi si sovrappongono temporalmente, il segnale finale risulta distorto, questo evento è detto collisione. La ritrasmissione del pacchetto non è immediata ma il nodo attende per un periodo di tempo casuale stabilito indipendentemente. 4.8.2.1 ALOHA Negli anni ’70, Abramson e i suoi colleghi dell’università delle Hawaii idearono il primo protocollo ad accesso casuale per risolvere il problema dell’assegnazione del canale. Questo protocollo, chiamato ALOHA, fu ideato per trasmissioni radio broadcast, ma il concetto di fondo può essere applicato a qualsiasi sistema dove utenti non coordinati utilizzano un singolo canale condiviso. Esaminiamo due versioni di ALOHA: 4.8.2.2 ALOHA Puro (o Unslotted) L’idea di fondo è consentire a ogni stazione di trasmettere ogni volta che ha un frame da inviare. Ogni volta che due o più frame vengono inviati contemporaneamente sul canale si verifica una collisione che danneggia entrambi gli elementi.
49
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Basta che il primo bit di un frame si sovrapponga all’ultimo bit di un altro frame per considerarli entrambi totalmente distrutti e quindi da ritrasmettere. Pertanto, la stazione controlla il canale (rilevando i picchi di rumore causati dalla collisione, utilizzando un sistema di ACK) e verifica se il frame inviato è stato distrutto o no. Se il frame è stato distrutto, la stazione rimane in attesa per un tempo casuale prima di ripetere la trasmissione. Il tempo di attesa deve essere casuale, altrimenti gli stessi frame continueranno a collidere in un ciclo senza fine.
50
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
4.8.2.3 Prestazioni dell’ALOHA Puro Questo protocollo limita le prestazioni del canale, poiché la probabilità di trasmettere con successo è del 18%.
4.8.2.4 Slotted ALOHA Nel 1972 Roberts pubblicò una variante dell’ALOHA puro, chiamata Slotted ALOHA. Sostanzialmente Roberts propose di suddividere il tempo in intervalli discreti (Slot) di uguale dimensione, dove ogni intervallo corrisponde al tempo di trasmissione di un frame. Ogni stazione può trasmettere il frame che deve inviare, ma solo all’inizio di ogni slot. 51
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Tale protocollo richiede, quindi, che le stazioni siano sincronizzate; tale esigenza si può soddisfare con una speciale stazione che emette un segnale all’inizio di ogni slot. Ogni stazione controlla il canale e verifica se ci sono collisioni. In tal caso, rimane in attesa per un intervallo di tempo casuale e poi ritrasmette il frame in uno slot successivo. A differenza dell’ALOHA puro che è un protocollo a tempo continuo, lo Slotted ALOHA è un protocollo a tempo discreto in quanto il frame non può essere inviato in ogni istante di tempo ma bisogna attendere l’inizio dello slot successivo.
4.8.2.5 Prestazioni dello Slotted Aloha Questo canale usa al massimo la banda del canale per il 37% circa.
4.8.2.6 ALOHA VS ALOHA Slotted • Sono non efficienti: il massimo throughput è 0.184 (Aloha) ovvero 0.368 (Slotted Aloha); • Sono iniqui: sorgenti più aggressive accaparrano più banda; • Sono robusti: non ci sono entità che svolgono funzioni di controllo che rappresentano punti deboli del Sistema;
52
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
• •
Dario Pecorale
Sono semplici: non c’è alcun coordinamento; Nello Slotted ALOHA c’e’ la necessità di una sincronizzazione.
4.8.2.7 CSMA: accesso multiplo a rilevazione della portante Nei protocolli ALOHA dove le stazioni trasmettono senza verificare le azioni intraprese dalle altre stazioni, è naturale avere un numero elevato di collisioni e di conseguenza una bassa percentuale di utilizzo del canale. In questo protocollo quando una stazione ha dei dati da trasmettere, controlla il canale per verificare se qualche altra stazione sta trasmettendo. Se il canale è occupato, la stazione esegue un controllo continuo del canale e aspetta fino a quando non si libera. Appena il canale si libera, la stazione trasmette un frame con probabilità p; in caso di collisione, la stazione rimane in attesa per un intervallo casuale prima di ripetere l’intero algoritmo. Esistono tre sottofamiglie: • • •
1-Persistente: Appena il canale si libera il pacchetto è trasmesso; Non-Persistente: Prima di trasmettere la sorgente aspetta un intervallo di tempo casuale; p-Persistente: Il canale è slottato. Appena il canale si libera la stazione trasmette all’inizio di uno slot con probabilità p, oppure attende con probabilità q=1-p. Il protocollo è tanto più aggressivo quanto più p è alto.
53
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Ma perché avvengono le collisioni se tutti ascoltano il canale prima di immettere dati? Tali collisioni avvengono perché se due o più stazioni diventano pronte per la trasmissione mentre un’altra stazione sta trasmettendo, entrambe aspetteranno il termine della trasmissione in corso e poi simultaneamente cominciano la loro trasmissione, provocando una collisione. Un altro motivo di collisione si ricava dalla figura.
In t0 il nodo B rileva che il canale è inattivo e comincia la trasmissione, i suoi bit si propagano verso tutte le direzioni lungo il mezzo. La propagazione verso valle dei bit di B al crescere del tempo indica che è necessario un intervallo di tempo non nullo per l’effettiva propagazione dei bit di B lungo il canale. Al tempo t1>t0 il nodo D vuole inviare. Sebbene al tempo t1 il nodo B stia ancora trasmettendo, i suoi bit non hanno ancora raggiunto D e quindi, in questo istante, D ritiene inattivo il canale e inizia a trasmettere i pacchetti. E così si verifica l’interferenza tra i due nodi. I due nodi continuano a trasmettere anche se si è verificata una collisione; a tal proposito viene ideato una evoluzione di questo protocollo. 4.8.2.8 CSMA/CD (CSMA Collision Detection) Questo protocollo introduce un miglioramento, consentendo a ogni stazione di annullare la propria trasmissione in caso di collisione. In altre parole, se due stazioni, dopo aver controllato il canale, iniziano a trasmette contemporaneamente, entrambe rileveranno la collisione quasi immediatamente. Invece di completare la trasmissione dei rispettivi frame, oramai danneggiati, le stazioni interrompono la trasmissione. La terminazione rapida dei frame danneggiati permette di risparmiare tempo e banda. Questo protocollo è usato nel sottostrato MAC delle LAN e in particolare costituisce la base delle famose LAN Ethernet. 54
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
4.8.2.9 Gestione delle collisioni nel CSMA/CD Cosa succederebbe se il tempo impiegato da una linea per accorgermi di una collisione fosse maggiore di quello necessario all’invio di un frame? L’host potrebbe non accorgersi della collisione e “pensare” di aver inviato con successo il suo pacchetto. Definiamo
Dove indichiamo con ܶ il tempo totale per l’invio di un frame (compresi i ritardi per collisioni) e ܶ il tempo
delle sole collisioni generatesi.
55
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
La durata di un minislot, poi, è legata al tempo di propagazione sul canale (perché tutte le stazioni, anche le più lontane, devono conoscere lo stato del canale) e quindi possiamo dire in prima approssimazione che
Con l = lunghezza del canale e c velocità di propagazione del segnale. Allora
1 1
dove
ఛ
்
ே
con C = capacità di trasmissione del canale e Nf = dimensione in bit del frame. Possiamo allora dedurre che l’efficienza è legata alla lunghezza del canale, capacità di trasmissione, velocità di propagazione e lunghezza media del frame. Una stazione trasmittente può rilevare una collisione soltanto durante la trasmissione della trama stessa
்ܴ ൌ
ଶ
ೝ
൏ ܶ ൌ
ೝೌ ೝೌ
=
Da cui possiamo ricavare la lunghezza massima di un cavo
2 2
Per Ethernet si ha
. /
5,7 km è un limite solo teorico, il limite reale fissato per garantire buone prestazioni è posto a 2,5 km.
4.8.3 Tavola riassuntiva delle prestazioni
56
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
4.8.4 Protocolli di accesso a turno Nonostante l’uso del CSMA/CD permane il problema delle collisioni. I protocolli MAC a turno risolvono la contesa del canale senza generare nessuna collisione. 4.8.4.1 Polling Il concetto di polling (sondaggio) prevede un nodo principale di tipo Master che gestisce le richieste dei nodi di tipo slave. I nodi Slave inviano un messaggio di Request to send al master. Il master in base ad alcuni criteri determina quale slave deve trasmettere e gli invia un messaggio di Clear to send. Il tempo di trasmissione è sempre diviso in slot. Gli svantaggi di questo protocollo sono il polling overhead ( se tutte le stazioni vogliono trasmettere nel medesimo istante temporale, il master deve gestire molte richieste); latenza. 4.8.4.2 Token passing Il protocollo prevede un gettone di controllo (token) scambiato da un nodo al successivo sequenzialmente. Quando una stazione riceve il token può trasmettere per un determinato intervallo (slot) e poi deve passare il token alla stazione successiva. Se la stazione non ha nulla da trasmettere quando arriva il token, lo passa direttamente alla stazione successiva. Il concetto di token permette di gestire il concetto di priorità. Il problema principale di questo protocollo è il ritardo. Tutte le stazioni hanno la certezza di trasmettere dopo un certo tempo di attesa; questo sarà minimo se nessuna stazione sfrutta il token, mentre sarà massimo se tutte le stazioni effettuano una trasmissione quando ricevono il token.
57
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
4.8.4.3 Polling distribuito Tale protocollo divide il tempo in due periodi: uno di contesa e uno di trasmissione. Supponiamo che ci siano N stazioni, numerate da 0 a N-1. Il periodo di contesa è composto da N intervalli brevi, detti “reservation slot”. In generale, la generica stazione j se ha un frame da inviare trasmette un bit 1 nello slot j. Al termine del periodo di contesa, ogni stazione sa quali stazioni devono trasmettere; pertanto le stazioni “prenotate” trasmettono il proprio frame seguendo l’ordine numerico. Dopo che l’ultima stazione prenotata ha trasmesso il proprio frame, inizia un altro periodo di contesa.
4.9
Tecniche di trasmissione dell’informazione
La trasmissione dell’informazione sulle reti è sempre di tipo Seriale. La conversione seriale- parallelo è effettuate mediante un registro a scorrimento.
La trasmissione seriale dell’informazione prevede sempre una sincronizzazione tra mittente e destinatario. Le tecniche di trasmissione seriale dell’informazione sono due: sincrona e asincrona.
4.9.1 Trasmissione seriale asincrona Nella trasmissione seriale asincrona la sincronizzazione è ottenuta aggiungendo un bit di start e un bit di stop all’informazione .
58
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Una tipica trasmissione seriale asincrona con sincronizzazione a 1 byte è quella effettuata mediante RS232C (a 9 pin oppure a 25 pin):
4.9.2 Trasmissione seriale sincrona Una soluzione per effettuare una trasmissione seriale sincrona è quella di utilizzare due clock con la stessa frequenza che sincronizzano mittente e destinatario. Purtroppo, praticamente è impossibile costruire due clock
59
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
con frequenze perfettamente identiche. Frequenze di clock diverse possono mandare il trasmettitore e il ricevitore fuori sincronia, facendo perdere l’informazione dal punto in cui iniziano i bit. Pertanto, per realizzare una trasmissione seriale sincrona si usano particolari tecniche di codifica dell’informazione che sono autosincronizzanti (il segnale di clock viene associato ai dati trasmessi), ossia consentono ai ricevitori di determinare sena ambiguità il punto iniziale, il punto finale o il punto centrale di ogni bit senza far riferimento a impulsi esterni. La tecnica di codifica più diffusa è la cosiddetta codifica Manchester. Nella codifica Manchester ogni periodo di bit è diviso in due intervalli uguali: l’1 binario è inviato con un livello di tensione alto durante il primo intervallo e un livello basso durante il secondo; lo 0 binario è inviato con lo schema contrario. Con questo schema ogni periodo di bit ha una transizione nel punto centrale, caratteristica che permette al ricevitore di sincronizzarsi con il trasmettitore. Lo svantaggio della codifica Manchester è che occupa il doppio della banda rispetto alla codifica binaria elementare (in quanto gli impulsi sono larghi la metà).
La codifica Manchester differenziale è una variante della codifica Manchester elementare. Il bit 1 è indicato dall’assenza di una transizione all’inizio dell’intervallo, mentre il bit 0 è indicato dalla presenza di una transizione all’inizio dell’intervallo. In entrambi i casi, c’ è una transizione nel punto centrale. La codifica differenziale richiede dispositivi più complessi ma offre una maggiore immunità ai rumori. Tutti i sistemi Ethernet adottano la codifica Manchester.
4.10 Ethernet La prima rete locale fu progettata e costruita da Bob Metcalfe e David Boggs nel 1976; tale sistema fu chiamato Ethernet.
60
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Il mezzo trasmissivo (the ether) era un cavo coassiale di grande diametro (thick) lungo fino a 2,5 km. Al sistema si potevano collegare fino a 256 computer, tramite transceiver applicati al cavo (multidrop, che permette di collegare più computer in parallelo). Il progetto IEEE 802 ha standardizzato diverse reti locali e metropolitane. Alcune hanno riscontrato un valido utilizzo e sono sopravvissute, molte altre no. Le reti locali più importanti sono: 802.3 (ethernet) e 802.15 (Bluetooth). Le varie reti pur avendo livelli fisici e sottolivelli MAC diversi, hanno lo stesso LLC, perciò hanno la stessa interfaccia verso il livello rete.
4.10.1 Struttura del frame Ethernet La scheda mittente incapsula il datagramma IP (oppure il pacchetto di un altro protocollo di livello rete) in un Ethernet frame:
Preamble: ogni frame comincia con un campo preambolo di 8 byte, ognuno contenente lo schema di bit 10101010, mentre l’ultimo è 10101011. I primi sette byte servono per attivare gli adattatori dei riceventi e sincronizzare i loro orologi con quello del trasmittente. Gli ultimi due bit degli otto byte del preambolo avvisano l’adattatore del ricevente che i successivi 6 byte sono l’indirizzo di destinazione. TX e RX rimangono sincronizzati per il resto del frame usando la codifica Manchester per controllare i limiti dei bit. Address (indirizzi): sono gli indirizzi MAC degli adattatori del trasmittente e del ricevente. Sono campi da 6 byte ciascuno. Type (tipo): il campo type indica il protocollo di livello rete che deve gestire il frame. Infatti, sullo stesso computer si possono usare simultaneamente più protocolli dello strato rete (IP, NovellIPX, AppleTalk), perciò
61
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
quando arriva un frame Ethernet il ricevitore deve sapere quale protocollo deve gestire il pacchetto. Il campo è da 2 byte. Data (dati): il campo data contiene il l’informazione, cioè il datagramma IP. Dato che l’unità massima trasferita (MTU) per Ethernet è 1500 byte, qualora il datagramma IP superi questo valore, allora l’host dovrà frammentare il datagramma. Altrimenti se il datagramma IP è inferiore alla dimensione minima del campo dati, equivalente a 46 byte, il campo dovrà essere completato (stuffed) fino a raggiungere quel dato valore e viene fatto da un campo “pad” che viene usato per riempire il frame (varia da 0 a 46 byte). Tale campo va da 46 a 1500 byte. Checksum: il checksum è un codice hash dei dati di 32 bit. Il checksum è un CRC (Cyclic Redundancy Check); esegue il rilevamento degli errori ma non si occupa della collisione. Quello rappresentato e descritto è il formato DIX del frame Ethernet. Quando IEEE creò lo standard Ethernet (802.3), il comitato apportò due modifiche al formato DIX: il campo preamble venne ridotto a 7 byte e l’ultimo byte fu utilizzato come delimitatore di inizio frame ( SOF = Start Of Frame = 10101011); il campo type venne sostituito dal campo length (lunghezza).
4.10.2 Regolazione dell’accesso Quando i nodi di una LAN Ethernet sono connessi a un hub (invece che a uno switch) abbiamo una LAN broadcast: quando un adattatore trasmette un pacchetto, tutte le schede di rete lo ricevono. Ethernet utilizza il famoso protocollo CSMA/CD che ha le seguenti caratteristiche: • • • •
L’adattatore può iniziare a trasmettere in qualsiasi momento, cioè non usa slot. Non può trasmettere un pacchetto quando rileva che altri adattatori stanno trasmettendo, utilizzando la rilevazione della portante. Annulla la propria trasmissione quando rileva che altri adattatori stanno trasmettendo, usando la rilevazione della collisione. Prima di ritrasmettere, l’adattatore resta in attesa per un lasso di tempo arbitrario, in genere più breve rispetto alla durata della trasmissione del pacchetto.
Vediamo le fasi operative:
62
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
L’adattatore ottiene un datagramma di rete dal nodo cui è collegato, prepara un pacchetto Ethernet e lo sistema in un suo buffer. Quando riscontra che il canale è inattivo, inizia la trasmissione del pacchetto . Se il canale risulta occupato, resta in attesa fino al momento in cui non rileva più il segnale. Durante la trasmissione, verifica la presenza di eventuali segnali provenienti da altri adattatori. Se non ne rileva, allora considera il pacchetto spedito. Altrimenti, se rileva segnali provenienti da altri adattatori, interrompe immediatamente la trasmissione del pacchetto e trasmette un segnale di disturbo (jam) di 48 bit. Dopo aver annullato la trasmissione e trasmesso il segnale di disturbo, l’adattatore rimane in attesa. La finalità del segnale di disturbo è avvisare della collisione tutti gli altri adattatori che in quel momento sono in fase trasmissiva. Supponiamo, ad esempio, che l’adattatore A inizi l’invio di un pacchetto e che appena prima che il suo segnale raggiunga l’adattatore B, questo inizi a trasmettere. In tal caso B avrà trasmesso solo pochi bit nel momento in cui annullerà la trasmissione. Questi pochi bit si propagheranno fino a A, ma con così scarsa energia che potrebbero non essere rilevati da A come una collisione. Per assicurare che A rilevi la collisione, B trasmette il segnale di disturbo di 48 bit.
63
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
L’algoritmo di attesa è detto di “attesa esponenziale”, che in base alle collisioni successive che si verificano l’adattatore aumenterà il tempo di attesa.
64
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
65
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
4.10.3 Cablaggio Ethernet Il nome Ethernet si riferisce al cavo (definito etere). Generalmente si usano 4 tipi di cavi: 10 Base 5 10 Base 2 10 Base-T 10 Base-F Esempio di notazione 10 Base 5 • • •
10 = velocità di trasmissione in Mbps; Base = trasmissione su banda base; 5 = indica il tipo di mezzo trasmissivo, nel caso del cavo coassiale indica la approssimata a unità di 100m.
lunghezza max
4.10.3.1 10 Base 5 Il cavo 10 Base 5 è un cavo coassiale spesso (thick), generalmente di colore giallo, di lunghezza max. 500m di segmento, avente la possibilità di inserire 100 nodi per segmento. Per la sua lunghezza ha dei segni disposti a distanza di 2,5 metri che indicano la posizione delle spine. Le connessioni sono realizzate mediante spine a vampiro, spingendo uno spillo nel nucleo centrale del cavo coassiale. Nel modello con cavo 10 base 5, un transceiver è fissato saldamente intorno al cavo per mantenere stabile il contatto con il nucleo interno. Il transceiver è l’elemento che permette la trasmissione/ricezione dei pacchetti tra la scheda di interfaccia Ethernet e il cavo coassiale. Infatti il transceiver contiene i circuiti elettronici che permettono la trasmissione all’interfaccia Ethernet dei dati prelevati dal cavo, la trasmissione sul cavo dei dati ricevuti dall’interfaccia 66
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Ethernet, il rilevamento della portante e delle collisioni. Inoltre quando rileva una collisione invia un segnale di non validità sul cavo per segnalare la collisione a tutti gli altri transceiver. Un transceiver cable (o drop cable) collega il transceiver a una scheda di interfaccia installata nel computer. Il transceiver cable può essere lungo fino a 50 metri e contiene 5 doppini schermati singolarmente; due doppini servono per il send/receive dei dati, due servono per il send/receive dei segnali di controllo e uno per alimentare il transceiver. La scheda di interfaccia installata nel computer contiene un chip controller che trasmette i riceve i frame, elabora i dati nel giusto formato di frame, elabora il checksum dei frame in uscita e verifica il checksum dei frame di ingresso.
4.10.3.2 10 Base 2 Il secondo cavo è il 10 Base 2, o thin Ethernet, meno ingombrante e più facile da piegare rispetto al precedente, ha una lunghezza max di 185m per segmento e ospita fino a 30 nodi per segmento. Thin Ethernet è molto più economico e semplice da installare.
67
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Le connessioni sono realizzate usando connettori BNC standard che formano giunzioni a “T”, i connettori BNC sono più facili da usare e sono più affidabili. Nel modello con cavo 10 Base 2 i circuiti elettronici del transceiver sono implementati nella scheda di interfaccia, e ogni stazione ha sempre il proprio transceiver.
4.10.3.3 10 Base T E’ previsto l’uso di un doppino lungo max 100m, contenente 1024 nodi per segmento. Questo modello usa una differente tecnica di cablaggio: ogni stazione è collegata mediante un doppino a un concentratore centrale chiamato hub ( gli hub non elaborano il traffico, implementano solo il CSMA/CD). Nel modello 10 Base T pertanto, c’ è un hub cui ogni stazione si collega attraverso un cavo dedicato (non condiviso). Quindi è semplice rimuovere o aggiungere una stazione, e inoltre è facile individuare le interruzioni della linea. Lo svantaggio di questo modello è rappresentato dalla lunghezza massima dei doppini che partono dall’hub: 100 metri o al max 200 metri nel caso di doppini ad alta qualità (categoria 5). 10 Base T è diventato uno standard dominante grazie all’uso di cablaggi preesistenti (la maggior parte degli uffici dispone già di linee di comunicazione interne fatte da doppini) e alla facilità di gestione.
68
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
4.10.3.4 10 Base F Ha lo stesso schema di cablaggio del 10 Base T ma utilizza le fibre ottiche. È un alternativa costosa a causa del prezzo dei connettori e dei terminatori, ma offre un’eccellente immunità alle interferenze e una buona sicurezza (poiché intercettare i dati trasmessi attraverso fibra ottica è più difficile). Inoltre, 10 Base F consente di collegare edifici lontani oppure hub molto distanti, in quanto le fibre possono essere lunghe fino a 1 Km. Ogni versione di Ethernet ha una lunghezza max per segmento. Per creare una rete più grande è possibile collegare tra loro più cavi mediante ripetitori. I ripetitori sono dei dispositivi che operano sul livello fisico: ricevono, amplificano e ritrasmettono i segnali in entrambe le direzioni. Dal punto di vista del software, una struttura composta da segmenti collegati attraverso dei ripetitori è identica a una strutture composta da un singolo cavo; l’unica differenza riguarda il ritardo introdotto dai ripetitori. Ad esempio per 10 Base 5 la distanza tra qualunque coppia di transceiver non può superare i 2,5 Km e nessun percorso tra due transceiver può attraversare più di quattro ripetitori.
4.10.4 Fast Ethernet Per aumentare la velocità della trasmissione, i differenti gruppi industriali proposero due nuove LAN ottiche basate su topologie ad anello. Una fu chiamata FDDI (Fiber Distributed Data Interface) e l’altra fu chiamata Fibre Channel. L’insuccesso delle LAN ottiche (a causa della complessità di gestione della stazione =>chip complessi e apparecchiature costose) diede spazio a versioni innovative di Ethernet che supportavano velocità superiori a 10 Mbps. Nel 1992 IEEE riunì il comitato 802.3 per creare una LAN più veloce. Il comitato decise di mantenere lo standard esattamente com’ era, ottimizzando però la sua velocità. I membri del comitato che si opposero a tale decisione crearono un loro standard LAN indipendente (802.12) che fallì miseramente. Il comitato 802.3 decise di procedere verso la definizione di una Ethernet semplicemente ottimizzata per tre motivi fondamentali: • • •
mantenere la compatibilità con le LAN Ethernet esistenti; un nuovo protocollo avrebbe potuto creare problemi imprevisti; necessità di raggiungere l’obiettivo prima che la tecnologia cambiasse.
Nel 1995 fu approvato ufficialmente da IEEE lo standard 802.3u, comunemente noto come Fast Ethernet. L’idea alla base di Fast Ethernet è quella di mantenere lo stesso formato di frame(comprese le dimensioni max e min), lo stesso sistema di indirizzamento a 48 bit, le stesse interfacce e regole procedurali, aumentando a 100 Mbps la velocità di trasmissione. Fast Ethernet si basa interamente sulle architetture 10 Base T e 10 Base F, perciò tutti i sistemi Fast Ethernet utilizzando Hub e Switch, e non sono consentiti cavi Multidrop con connettori a vampiro e connettori BNC. In particolare, i tipi di cavi usati dalla Fast Ethernet sono: 100 Base T4: UTP di categoria 3 (lunghezza max segmento = 100m);
69
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
100 Base TX: UTP di categoria 5 (lunghezza max segmento = 100m); 100 Base FX: fibra multimodale (lunghezza max segmento = 2 Km). 4.10.4.1 Gigabit Ethernet Il comitato 802.3, concluso lo sviluppo dello standard “Fast Ethernet”, iniziò a lavorare su una Ethernet ancora più veloce. Nel 1998 fu ratificato da IEEE lo standard 802.3z, comunemente noto come GIBABIT ETHERNET. Gli obbiettivi del comitato 802.3 erano essenzialmente gli stessi del comitato 802.3u, ossia rendere Ethernet 10 volte più veloce mantenendo la compatibilità con tutti gli standard Ethernet esistenti. Tutte le configurazioni Gigabit Ethernet sono punto-punto (abbandonando il sistema multidrop dello standard 10Mbps originale). La configurazione più comune è quella dove uno switch o un hub si collegano a più computer e possibilmente ad altri switch o hub. Pertanto, ogni cavo Ethernet è collegato sempre solo a due dispositivi. Gigabit Ethernet supporta due modalità operative : full duplex e half duplex. La modalità full duplex permette ai frame di viaggiare contemporaneamente in entrambe le direzioni. Questa modalità è utilizzata quando i computer sono collegati a uno switch, e pertanto tutte le linee hanno un buffer dove memorizzare i frame in arrivo. Perciò ogni computer o switch è libero di inviare frame quando vuole. Quindi il trasmittente non ha bisogno di esaminare il canale per vedere sue è occupato poiché la contesa è impossibile(non si utilizza il protocollo CSMA/CD). La modalità half duplex è utilizzata quando i computer sono collegati a un hub e non a uno switch. L’hub è un dispositivo che al suo interno collega elettricamente tutte le linee per simulare il cavo multidrop utilizzato nella ethernet classica. In questa modalità le collisioni sono possibili, perciò è richiesto il protocollo CSMA/CD standard.
4.11 Classificazione degli apparati attivi Questi dispositivi operano su livelli diversi e utilizzano differenti porzioni di informazione per decidere come eseguire la commutazione.
4.11.1 Dispositivi di livello 1 4.11.1.1 Ripetitori I ripetitori sono dispositivi analogici collegati a due segmenti di cavo. Un segnale che arriva da un segmento è amplificato e trasmesso sull’altro segmento di cavo. 4.11.1.2 Hub Gli hub hanno diverse linee di input collegate elettricamente. I frame che arrivano su una di queste linee sono trasmessi attraverso tutte le altre. L’intero hub forma un singolo dominio di collisione, ossia due frame che arrivano contemporaneamente collidono proprio come su un cavo multidrop.
70
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Un hub I ripetitori e gli hub non esaminano gli indirizzi 802 e non li utilizzano in alcun modo.
4.11.2 Dispositivi di livello 2 I dispositivi di livello 2 sono i Bridge e gli Switch. Tuttavia parlando di Bridge e Switch si parla in effetti di apparecchiature con la stessa funzione. Il termine "Bridge" è quello più tradizionale e si riferisce a un elemento di interconnessione fra due rami di rete, anche con tecnologia LAN diversa, ed è quindi dotato di due connessioni. Con il crescere della complessità delle reti sono apparsi successivamente Bridge che consentono di interconnettere più rami di rete fra di loro e sono stati denominati "Switch", il termine "Bridge" (ponte) infatti non si adatta a un dispositivo con più di due connessioni: i fiumi hanno due sole sponde. Tuttavia il termine Bridge è ancora in uso anche per apparati con un numero maggiore di porte. La sola differenza di uno Switch rispetto al Bridge è che lo Switch esegue tutte le proprie elaborazioni in hardware e non via software, perciò non rallenta il fluire del traffico tra i segmenti. 4.11.2.1 Bridge e Switch I Bridge (o Switch) sono dispositivi che operano nel livello Data-Link, essendo sostanzialmente degli “Hub intelligenti” e permettono l’interconnessione di diverse LAN. I Bridge esaminano il pacchetto del livello Data-Link e inoltrano selettivamente il frame in base all’indirizzo di destinazione. Questo permette di dividere i domini di collisione e un enorme risparmio di banda. I Bridge sono dispositivi “Store and Forward”, infatti bufferizzano i frame (Store) e poi quando deve inoltrare il frame su un segmento usa il CSMA/CD per accedere al segmento e trasmettere (Forward). Vantaggi dei bridge: •
• •
Il meccanismo “Store and Forward” permette di isolare i domini di collisione dei segmenti di LAN. Pertanto si ottiene un max throughput totale più alto e non si limita il numero di nodi e l’estensione geografica. Possono collegare diversi tipi di LAN (ad esempio una Ethernet 892.3 e una LAN wireless 802.11, oppure due differenti versioni di Ethernet). Sono quasi completamente “trasparenti”: non influenzano il funzionamento delle LAN, sono invisibili e tutto l’hardware e a tutto il software, permettono di spostare un nodo da un segmento a un altro senza necessità di apportare modifiche, permettono a un nodo di un segmento di comunicare con un nodo di
71
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
un altro segmento senza tenere conto dei tipi di LAN in uso sui due segmenti e su eventuali segmenti nel mezzo.
Un Bridge 4.11.2.1.1 Frame filtering and frame forwarding Quando arriva un frame, il bridge deve decidere se scartare i dati oppure inoltrarli, nel secondo caso deve stabilire su quale LAN immettere il frame. La decisione viene effettuata confrontando l’indirizzo di destinazione con le informazioni riportate in una tabella (hash) memorizzata nel bridge. La tabella può elencare ogni possibile destinazione e indicare a quale LAN appartiene. Quando si collegano per la prima volta i bridge alla rete, tutte le tabelle hash sono vuote. Poiché i bridge non sanno dove si trovano le varie destinazioni, ogni frame proveniente da una destinazione sconosciuta è inviato a tutte le LAN connessa al bridge, tranne che a quella di input. Pertanto, col tempo i bridge imparano dove si trovano le destinazioni; quindi i frame inviati a una destinazione saranno inviati solo alla LAN contenente il destinatario. La topologia può cambiare quando le macchine e i bridge vengono accesi, spenti o spostati. Per gestire le topologie dinamiche, il bridge quando crea una voce della tabella di hash, annota anche il tempo di arrivo del frame. Periodicamente, un processo nel bridge esamina la tabella di hash e cancella le voci che hanno più di qualche minuto. In questo modo un computer scollegato dalla sua LAN, spostato in un altro punto e collegato a un’altra LAN, torna operativo in pochi minuti senza necessità di ricalcolare.
72
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
La procedura di instradamento di un frame dipende, quindi, dalla LAN sorgente e dalla LAN destinazione: 1. se la LAN di destinazione e la LAN sorgente coincidono, il frame è scartato; 2. se la LAN di destinazione e la LAN sorgente sono differenti, il frame è inoltrato; 3. se la LAN di destinazione è sconosciuta, si effettua il flooding (ossia il frame è inoltrato su tutte le LAN, tranne quella sorgente. Pertanto, ogni volta che arriva un frame il bridge deve applicare questo algoritmo:
73
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
4.11.3 Dispositivi di livello 3 4.11.3.1 Router Nella tecnologia delle reti informatiche un Router, in inglese letteralmente instradatore, è un dispositivo di rete che si occupa di instradare pacchetti lavorando al livello 3 (rete) del modello OSI. La caratteristica fondamentale dei router è che la funzione di instradamento è basata sugli indirizzi di livello 3 (rete) "IP" del modello OSI, a differenza dello switch che instrada sulla base degli indirizzi di livello 2 (collegamento) "MAC". Parleremo approfonditamente dei Router nel prossimo capitolo.
4.11.4 Chiarimenti terminologici assolutamente indispensabili (Parte Prima) Nonostante ci sia una netta distinzione tra tutti questi apparati, nella moderna interpretazione, vi è un po’ di confusione nel distinguerli. Nella attuale notazione comune, parlare di “Switch” in modo generico non ha molto senso: è necessario anche specificare di quale livello è tale Switch. Si ha quindi: • • •
Uno Switch di livello 1, che può essere un Hub o un Repeater; Uno Switch di livello 2, ossia un Bridge; Uno Switch di livello 3, ossia un Router.
Si fa notare inoltre che, ancora nella notazione comune, uno Switch, senza ulteriori specifiche, è un Router.
4.11.5 Tipologie di connessione mediante apparati attivi
74
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
4.12 Interconnessione di LAN I motivi che possono spingere una azienda a creare più LAN sono essenzialmente: 1. 2. 3. 4. 5. 6.
Autonomia dei loro proprietari; L’azienda è distribuita geograficamente su più edifici molto lontani; Elevato carico di lavoro (su una singola LAN la banda è divisa tra tutte le workstation); Distanza fisica tra le macchine troppo elevata (Lunghezza limitata dei cavi nella 802.3); Affidabilità e sicurezza. Su una unica LAN il “dominio di collisioni” è grande (tante stazioni implicano tante probabili collisioni)
Nasce pertanto il problema dell’interconnessione di diverse LAN. Una prima soluzione è quella di utilizzare gli Hub connessi secondo un’architettura gerarchica (o multi-tier) con un hub di backbone:
Ogni LAN connessa è denominata segmento. La connessione di più LAN mediante Hub, non permette di dividere fisicamente le LAN ma crea solo una LAN più grande. Il vantaggio degli Hub è che sono semplici, economici ed estendono la massima distanza tra nodi (100 m per Hub). Il loro compito è di replicare su tutte le loro uscite ciò che gli viene dato in ingresso (un flusso di dati). Per contro, gli Hub non separano i domini di collisione (un nodo può collidere con un qualsiasi nodo che risiede su qualunque segmento di LAN) e ciò limita li numero di nodi e il throughput (throughput multi-tier = è throughput del singolo segmento di LAN). Inoltre, gli Hub non permettono di connettere differenti tipi di LAN (e nemmeno differenti versioni di Ethernet). Dal punto di vista funzionale un lungo cavo multidrop collegato a tante macchine equivale a un hub collegato a più macchine. Infatti, in entrambi i casi tutte le macchine appartengono allo stesso dominio di collisione e tutte usano il protocollo CSMA/CD. Un altro svantaggio è dato dall’impossibilità di interconnettere con un Hub di dorsale segmenti di LAN che adottano differenti tecnologie Ethernet.
75
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
4.13 Configurazioni per l’interconnessione di LAN mediante i Bridge
76
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Per aumentare l’affidabilità è desiderabile installare più bridge per creare percorsi alternativi tra le LAN. Questa soluzione però introduce un problema in quanto crea anelli nella topologia che possono produrre cicli infiniti. Per risolvere questo problema è necessario che i bridge comunichino tra loro e coprano la topologia reale con una struttura “spanning tree” (ad albero) che raggiunga ogni LAN. Per la costruzione di una topologia fittizia priva di anelli è necessario disabilitare alcune potenziali connessioni tra LAN. Nella struttura spanning tree un solo percorso collega una LAN a ogni altra LAN, poiché esiste un unico percorso che collega ogni sorgente a ogni destinazione, gli anelli sono impossibili. Per costruire uno spanning tree, i bridge devono innanzitutto scegliere quale tra loro dovrà funzionare da nodo principale della struttura. Generalmente il nodo principale è il bridge con il numero di serie più basso. Viene quindi costruita una struttura ad albero basata sui percorsi più brevi che uniscono il nodo principale a ogni bridge e LAN. Se viene meno un Bridge o una LAN, si elabora una nuova struttura.
77
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
4.14 Differenze tra una configurazione con Bridge e una con Router
78
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
4.15 LAN Virtuali Le LAN virtuali permettono di ricablare gli edifici interamente via software. Le VLAN si basano su switch VLAN compatibili progettati in modo speciale che permettono di creare delle LAN logiche (costruite secondo criteri organizzativi) differenti dalle LAN fisiche (secondo criteri del cablaggio strutturato). Motivi di utilizzo delle VLAN: • • •
Connessione di tutti gli edifici di un determinato reparto alla stessa LAN logica, ance se gli uffici sono geograficamente distanti e appartengono a LAN fisiche differenti; Sicurezza: i dati sono trasmessi e ricevuti solo dagli utenti della VLAN; Permette di dividere il traffico, evitando di sovraccaricare la dorsale.
Per creare una rete basata su VLAN, l’amministratore di rete decide quante VLAN creare e quale nome assegnare a ogni VLAN, e quali computer collegare a ogni VLAN. Affinché la VLAN funzioni correttamente, negli SWITCH LAN (bridge o switch) devono essere impostate delle tabelle di configurazione che indicano quali VLAN sono accessibili attraverso le varie porte. Nella figura successiva vediamo come sono state create tre VLAN, in cui i computer sono collegati direttamente agli switch. Da notare inoltre come postazioni cablate fisicamente assieme risultano “logicamente” associate a un’altra LAN, questo è lo scopo principale della creazione della VLAN. Mentre se usassi i Bridge non connetto direttamente le postazioni, ma proprio le LAN.
79
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
80
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Punto di Fuga N. 4
Bunny Headphones - Kozyndan
81
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
5 Il Livello Rete 5.1
Introduzione al livello rete
Al terzo posto della pila OSI troviamo il livello Rete. Il ruolo del livello rete è di trasferire pacchetti da un host a un altro. Ha tre importanti funzioni: •
• •
Inoltro: quando un router riceve un pacchetto, lo trasferisce all’appropriato collegamento di uscita. È l’azione con cui il router trasferisce i pacchetti da un’interfaccia d’ingresso a quella di uscita. Per trasmettere i pacchetti i Router estraggono dal campo intestazione il valore che utilizzano come indice nella tabella di inoltro. Il risultato indica a quale interfaccia di collegamento il pacchetto debba essere diretto. Le tabelle di inoltro nei router sono configurate tramite un algoritmo d’istradamento che determina i valori inseriti nelle tabelle di inoltro dei router. Tale algoritmo può essere centralizzato o decentralizzato. Instradamento: il livello di rete determina, tramite algoritmi d’istradamento, il percorso che i pacchetti devono seguire. È il processo di rete che determina i percorsi dei pacchetti nel loro viaggio dall’origine alla destinazione. Impostazione della connessione: prevede l’effettuazione dell’handshake tra i router per impostare lo stato prima che i pacchetti inizino a fluire.
Consideriamo ora i servizi che il livello rete potrebbe offrire quando il livello trasporto dell’host mittente passa un pacchetto al livello di rete. • • • • •
Consegna garantita: questo servizio assicura che il pacchetto giunga, infine, alla destinazione. Consegna garantita con ritardo limitato: questo servizio non solo garantisce la consegna del pacchetto, ma anche il rispetto di un limite di ritardo specificato. Consegna in ordine: Questo servizio garantisce che i pacchetti giungano alla destinazione nell’ordine in cui sono stati inviati. Minima ampiezza di banda garantita: questo servizio emula il comportamento di un collegamento trasmissivo dal bit rate specificato tra host d’invio e di ricezione, anche se l’effettivo percorso da capo a capo può attraversare diversi collegamenti fisici. Jitter limitato: questo servizio garantisce che l'intervallo fra trasmissione di due pacchetti consecutivi sia uguale a quello di ricezione.
Il livello di rete di Internet mette a disposizione un solo servizio, noto come “best effort”, ossia col massimo impegno possibile. Tale servizio non garantisce di preservare la temporizzazione tra i pacchetti, né la loro ricezione nel medesimo ordine d’invio e nemmeno che siano consegnati. Anche il livello rete può offrire un servizio con o senza connessione. Le principali architetture (Internet, ATM) offrono un servizio senza connessione ma anche orientato alla connessione, ma mai entrambi. Le reti di calcolatori che mettono a disposizione solo il servizio con connessione sono chiamate reti a circuito virtuale; quelle che offrono solo il servizio senza connessione sono dette reti a datagramma.
82
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Asynchronous Transfer Mode, o ATM è un protocollo di rete a commutazione di cella che incapsula il traffico in celle a lunghezza fissa (53 byte) invece che in pacchetti a lunghezza variabile come nelle reti a commutazione di pacchetto (ad esempio Ethernet).
5.2
Reti a circuito virtuale (VC)
Questa tipologia di rete afferma che la sottorete dovrebbe fornire un servizio affidabile orientato alle connessioni, in quanto tale situazione assicura una maggiore qualità di servizio.
Nelle reti a VC i router devono mantenere informazioni sullo stato delle connessioni attive. Il ciclo di vita dei circuiti virtuali è articolato in tre fasi: •
• •
Impostazione: in questa fase il livello Trasporto del mittente contatta il livello Rete, specifica l’indirizzo del destinatario e attende che la rete imposti il VC. Il livello rete determina il percorso tra mittente e destinatario, ossia la serie di collegamenti e router attraverso i quali viaggeranno tutti i dati della sessione. Il livello di rete determina inoltre il numero VC dei collegamenti lungo il percorso, e aggiunge una riga nella tabella d’inoltro dei router lungo il percorso. Trasferimento dati: una volta stabilito il VC i pacchetti possono iniziare a fluire attraverso di esso. Terminazione: quando il mittente vuole terminare la connessione, informa il livello di rete che a sua volta comunica la decisione del sistema all’altro capo della rete e aggiorna le tabelle d’inoltro nei router per indicare che il VC non esiste più.
In caso di guasto di una centrale intermedia potrei utilizzare dei protocolli che ricalcolano il percorso.
83
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
5.3
Dario Pecorale
Reti a datagramma
In questa tipologia di rete il pacchetto viene suddiviso in più parti, dette datagrammi. Quando il sistema terminale vuole inviare un pacchetto in una rete a datagramma, prima lo contrassegna con l’indirizzo del destinatario e quindi lo immette nella rete. I router della rete a datagramma non conservano informazioni sullo stato dei VC semplicemente perché non ve ne sono. Durante il viaggio i pacchetti passano attraverso una serie di router che utilizzano gli indirizzi di destinazione per inoltrarli. Ogni router presenta una tabella d’inoltro che fa corrispondere gli indirizzi di destinazione alle interfacce di collegamento; quando un pacchetto giunge al router, quest’ultimo utilizza l’indirizzo di destinazione (contenuto nell’header del datagram) per cercare nella tabella d’inoltro a quale interfaccia di collegamento avviarlo. Il Router quindi inoltra il pacchetto su tale interfaccia. Da ciò si evince che i pacchetti che viaggiano tra un dato mittente e un dato destinatario possono intraprendere percorsi diversi.
5.4
Confronto tra reti VC e Datagram
84
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
5.5
Dario Pecorale
Tecniche di Instradamento
Le tre principali tecniche di instradamento sono: 1. routing by network address; 2. routing by label swapping; 3. source routing;
5.5.1 Routing by network address L’instradamento mediante indirizzo di rete è una tecnica usata nei protocolli “ConnectionLess”, ossia la tecnica di instradamento tipica di Internet. E’ una tecnica molto veloce. Tale tecnica utilizza il pacchetto di livello rete, e in particolare utilizza l’indirizzo di destinazione (indirizzo di livello 3) come chiave d’accesso alla “tabella di instradamento” del router.
Ogni voce della tabella di routing è costituita da una coppia di valori: uno rappresenta la destinazione e l’altro rappresenta la linea di output da utilizzare per raggiungere tale destinazione. L’algoritmo che gestisce le tabelle di routing e prende le decisioni d’instradamento è chiamato “Algoritmo di routing”. N.B.: • •
Non ci possono essere due indirizzi di destinazione uguali. Il pacchetto non viene modificato durante tutto il percorso.
5.5.2 Routing by label swapping L’instradamento mediante sostituzione di etichetta è la tecnica usata nei protocolli orientati alla connessione (ATM). In fase di call setup si utilizza l’indirizzo di destinazione del pacchetto per decidere l’instradamento. Effettuata la connessione, si scrivono le tabelle di routing e si identifica il percorso scelto con una etichetta. L’informazione legata a tale etichetta è molto più leggera di un normale indirizzo.
85
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Tale etichetta viene inserita nel pacchetto di livello rete ( al posto dell’indirizzo di destinazione) ed è usata per l’accesso alla tabella di routing. Essa ha validità locale poiché viene sostituita ad ogni passo. Infatti, a ogni attraversamento di un router l’etichetta viene cambiata affinché il pacchetto arrivi al router successivo seguendo il percorso stabilito in fase di connessione. N.B.: l’indirizzo di destinazione è usato solo in fase di call setup.
Le tabelle di instradamento sono differenti a seconda della tecnica di instradamento. I router usati per questa tecnica sono più complessi.
5.5.3 Source routing Routing pilotato dalla sorgente. Questo metodo non è molto utilizzato.
5.6
Le tabelle di routing
Le tabelle di routing sono archiviate nei router e permettono di effettuare l’instradamento: il router preleva un’info dal pacchetto in input, confronta tale info con i valori contenuti nella tabella di routing e inoltra il pacchetto sulla giusta linea d’uscita. L’info prelevata dal pacchetto e la tabella di routing sono differenti per ogni tecnica di instradamento Problema: il router come costruisce le tabelle di routing? In generale, qualunque sia la rete (TCP/IP, DECnet, OSI) è possibile scrivere le tabelle di routing manualmente (solo in casi molto semplici) oppure utilizzare algoritmi molto sofisticati.
86
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Il router contiene due processi: instradamento e inoltro, come già accennato in precedenza. Le tabelle di routing dipendono anche dal tipo di sottorete. Se questa è statica si preferisce scrivere le tabelle di routing manualmente, altrimenti se è dinamica (cioè la topologia della rete e il volume del traffico determinano una alta variazione dei cammini dei router) si usano algoritmi d’instradamento.
87
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
5.7
Dario Pecorale
Algoritmi di instradamento
L’algoritmo di instradamento è quella parte del software del livello rete che si occupa di scegliere lungo quale linea d’uscita vanno instradati i pacchetti in arrivo, permettendo di costruire le Tabelle di Routing. Se la sottorete usa interamente un modello a datagramma, la scelta del percorso va ripetuta per ogni pacchetto in arrivo, poiché il percorso migliore può variare nel tempo. Se la sottorete usa internamente un modello a VC, la scelta del percorso viene effettuata solo quando viene impostato un nuovo circuito virtuale. Gli algoritmi di routing devono essere semplici, efficienti, robusti e ottimizzati. I criteri di ottimalità del percorso sono: • •
Minimizzare il ritardo medio del pacchetto; Massimizzare l’uso delle linee.
Un algoritmo di routing è robusto se è in grado di far fronte ai cambiamenti di topologia e di traffico, senza che sia necessario interrompere gli host e riavviare la rete ogni volta che un router si blocca. La ricerca del percorso ottimo che attraversa sequenzialmente ciascun nodo è definita “problema del commesso viaggiatore”. Per stabilire il percorso migliore si utilizzano i seguenti parametri: • •
5.8
Numero di hop (salti = tratti della rete tra router attraversati). Costo (non è il normale costo, ma una variabile composita in base a velocità della linea, intasamento, costo di noleggio apparati, etc.)
Tassonomia degli algoritmi di instradamento
Gli algoritmi di routing permettono di costruire la tabella di instradamento. Si possono raggruppare in due classi principali: Algoritmi non adattativi (o statici) • Fixed directory routing • Flooding Non basano le loro decisioni su misure o stime del traffico e della topologia corrente. •
Algoritmi adattativi (o dinamici) • Isolati • Centralizzati • Distribuiti Non ho ancora degli algoritmi veri e propri, ma delle famiglie. Cambiano le loro decisioni secondo le modifiche apportate alla topologia e di solito anche al traffico presente sulla rete. •
88
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
5.8.1 Algoritmi Statici 5.8.1.1 Fixed directory routing Più che un algoritmo è un metodo ed è il più usato. Ogni router ha una tabella di routing scritta manualmente che associa all’indirizzo del destinatario una determinata linea d’uscita. Questo algoritmo prevede: • •
intervento manuale in caso di guasto; tabelle con percorsi alternativi.
L1 e L3 sono i possibili percorsi. N.B.: Capri.unisa.it è un nome di dominio, ma in quel campo va inserito, in realtà l’Indirizzo di rete del destinatario. Il nome di dominio è un particolare modo di individuare un host fornito dal TCP/IP (DNS). 5.8.1.2 Flooding I router inoltrano i pacchetti su tutte le linee, tranne che su quella d’ingresso (simil Hub). Il flooding è utile quando la topologia della rete è sconosciuta (infatti con tale algoritmo vengono raggiunte tutte le destinazioni nella rete). Non sono utilizzate le tabelle di instradamento. Gli svantaggi sono lo spreco di banda e la necessità di rilevare i loop (cicli del pacchetto nella rete). È possibile rilevare i loop mediante un’indicazione del tempo di vita medio del pacchetto. • •
Age counter: ogni pacchetto ha un Time To Live, ossia il pacchetto non può girare (vivere) più di un certo tempo. Scarto i pacchetti che passano una seconda volta (richiedono molta memoria).
Il flooding è stato sviluppato in ambito militare.
89
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Sono state sviluppate varie versioni del flooding come il Selective Flooding (simil Bridge) e Hot Potato (inoltra non su tutte le linee ma sulla prima libera).
5.8.2 Algoritmi dinamici 5.8.2.1 Routing isolato Ogni router decide l’instradamento in maniera autonoma senza scambiare informazioni. In questo caso, ogni pacchetto ha un campo in cui vengono sommati i costi delle linee attraversate; tramite questo campo i router imparano la distanza da un mittente Tale algoritmo è usato nei bridge “802.1 d”.
5.8.2.2 Routing centralizzato Esiste un Routing Central Center che riceve informazioni sullo stato della rete dai nodi, calcola le nuove tabelle di routing e le distribuisce ai router. Tale algoritmo ottimizza le prestazioni ma è poco robusto, poiché la costruzione e la gestione delle tabelle di routing è affidata a un unico router.
90
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Inoltre, introduce un notevole carico sulla rete. 5.8.2.3 Routing distribuito Il routing distribuito unisce i pregi dei due approcci precedenti ottenendo robustezza (assenza del Router Centralizzato di Controllo) e calcolo ottimale delle tabelle. Riescono a gestire in modo migliora una rete grande. Ogni router partecipa alla realizzazione di un algoritmo distribuito. Infatti, ogni router calcola la propria tabella dialogando con gli altri router e gli end-node. Il dialogo avviene con protocolli ausiliari di livello tre. Gli algoritmi distribuiti più famosi sono: • •
5.9
Distance Vector (o di Bellman-Ford) Link State Racket (o algoritmo di Dijkstra)
Algoritmi di Routing: Strumenti di base
5.9.1 Algoritmo Distance Vector Questo algoritmo è basato sull’equazione di Bellman-Ford (dynamic programming). Definiamo := costo del percorso a costo minimo da x a y 91
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Allora dove min viene scelto tra tutti i vicini v di x.
• • • • •
= stima del costo minimo da x a y Nodo x sa il costo verso ogni vicino v: c(x,v) Nodo x: distance vector =[ :yєN] Nodo x conosce anche i distance vector dei suoi vicini Per ogni vicino v, x conosce =[ :yєN]
L’idea di fondo dietro il Distance Vector è che: • •
ogni nodo periodicamente invia il suo distance vector ai vicini quando un nodo x riceve una nuova stima DV da un vicino, aggiorna la sua DV usando l’equazione B-F : ← {c(x,v) + } per ogni yεN • sotto alcune condizioni, la stima converge al costo minimo .
Il Distance Vector è un algoritmo: •
Iterativo e asincrono: ho bisogno di un certo numero di cicli per convergere al costo minimo e non so quando ognuno di questi cicli avverrà (ne ho uno ogni volta che un nodo si accorge di una variazione).
92
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
•
Dario Pecorale
Distribuito: Ogni nodo notifica ai suoi vicini solo quando cambia il suo DV
5.9.1.1 Distance Vector: un esempio Come possiamo vedere all’inizio le tabelle di ogni nodo contengono solo il costo verso i suoi primi vicini. Man mano che avvertono delle variazioni, le notificano ai loro vicini, che integrano queste nuove informazioni.
93
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
5.9.1.2
Dario Pecorale
Distance Vector: good news travels fast and bad news… slow!
Si può notare quindi che un miglioramento nella situazione di linea viene “vista” quasi immediatamente da tutte le tabelle di routing presenti sulla rete.
Invece una notizia negativa (come sopra) potrebbe richiedere ben 44 iterazioni prima che la rete si stabilizzi. Si utilizzano quindi una algoritmo di Poisoned Reverse per gestire questa situazione (non sempre funziona).
5.9.2 Algoritmo di Dijkstra L’algoritmo di Dijkstra calcola il cammino a costo minimo da un nodo (l’origine) a tutti gli altri nodi della rete, è iterativo e ha le seguenti proprietà dopo la k esima iterazione, i cammini a costo minimo sono noti a k nodi di destinazione, e alla fine genera la tabella di routing per quel nodo. Quest’algoritmo può gestire circa mille nodi. E’ nato dopo il Bellman-Ford e ha una complessità molto maggiore. Tale algoritmo si applica a ogni router. Questo algoritmo prevede che i router vengano informati tramite un link state broadcast sulla topologia della rete e sul costo dei link. In pratica ogni nodo, cooperando con il resto della rete, conosce il quadro completo di ciò che succede. Questo quadro completo è costruito in fase di setup con un metodo di flooding.
94
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Notazioni: • • • • • •
v = prossimo destinatario; c(i, j) = costo del link dal nodo i al nodo j; c(i, j) = infinito se i due nodi non sono adiacenti D(v) = costo minimo del cammino dal nodo origine alla destinazione v per quanto concerne l’iterazione corrente dell’algoritmo; p(v)= immediato predecessore di v lungo il cammino a costo minimo dall’origine a v N = sottoinsieme di nodi che contiene tutti i nodi v per cui il cammino a costo minimo dall’origine a v è definitivamente noto.
Ecco come disegnare la tabella di routing al nodo A:
Note rappresentative: • • •
i router sono rappresentati some nodi della rete; i collegamenti tra i router sono rappresentati con degli archi cui è associato un costo; i link sono bidirezionali e il costo del link viene considerato uguale nelle due direzioni.
95
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
5.9.3 Dijkstra: un esempio
5
A
2 1
B 2
D
3
C 3
1
5
F
1
E
2
N.B.: • •
La tabella dell’algoritmo di Dijkstra non è una tabella di instradamento. I costi dei link possono variare in funzione dell’ammontare di traffico gestito.
5.9.4 Confronto tra Link State e Distance Vector (Missing)
5.10 Routing gerarchico Abbiamo usato finora delle ipotesi ideali: i router sono tutti uguali e quindi la rete è piatta. Nella pratica tale ipotesi non è vera, poiché gli algoritmi di routing illustrati non sono in grado di gestire il problema dell’instradamento per reti di grandi dimensioni; infatti, al crescere del numero di router, il tempo richiesto per calcolare, memorizzare e comunicare le informazioni di instradamento diventa proibitivo. Inoltre si cerca di rispondere alla necessità che ciascuno ha di voler amministrare la propria rete nel modo desiderato, pur mantenendo la possibilità do connetterla alle reti esterne.
96
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
In pratica si predilige un’organizzazione gerarchica, ossia l’intera rete è organizzata a priori come "rete di reti", dove ciascun amministratore di rete controlla il routing nella sua specifica rete (in pratica decide che algoritmo usare). Si decide così di organizzare i router in sistemi autonomi (AS, Autonomous System) generalmente composti di gruppi posti sotto lo stesso controllo amministrativo (stesso ISP o stessa rete aziendale). I router di un gruppo autonomo eseguono lo stesso algoritmo di instradamento e gli uni hanno informazioni sugli altri, esattamente come nel modello presentato nel paragrafo precedente. L’algoritmo d’instradamento in esecuzione in un AS è detto protocollo di instradamento interno al sistema autonomo (INTRA-AS ROUTING). Ovviamente è necessario connettere gli AS tra di loro, e pertanto uno o più router (i cosiddetti RouterGateway) avranno il compito aggiuntivo di inoltrare i pacchetti a destinazioni esterne. Questi router sono più complessi e costosi.
97
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Nella figura sono mostrati i tre AS: A, B, C. I router all’interno di ogni AS hanno lo stesso protocollo di instradamento interno, che non è detto debba essere lo stesso degli altri due AS. I router C.b, A.a, A.c, B.a sono gateway. Come fa un router di un sistema autonomo a sapere come instradare un pacchetto verso una destinazione esterna al sistema? L’algoritmo di instradamento interno all’AS determinerà il percorso minimo che porta al gateway, che alla ricezione del pacchetto, lo inoltrerà sul collegamento che conduce fuori dal sistema autonomo. Il sistema autonomo all’altro lato del collegamento si assume poi la responsabilità di instradare il pacchetto verso la destinazione ultima. Il problema è di facile soluzione se l’AS ha un solo collegamento verso l’esterno, ma se ne avesse di più? Il problema si complica. Ad esempio se il router A.d riceve un pacchetto la cui destinazione è esterna all’AS, deve inoltrarlo a uno dei suoi due gateway A.a e A.c, ma a quale? Per rispondere alla domanda l’AS A deve conoscere le destinazioni raggiungibili attraverso gli AS B e C e quindi informare tutti i router all’interno del proprio sistema, di modo che ciascuno possa configurare la propria tabella di inoltro per gestire destinazioni esterne. Per gestire questi compiti si fa ricorso a un unico protocollo d’instradamento tra sistemi autonomi (INTER-AS PROTOCOL). Quando un sistema autonomo viene a conoscenza di una destinazione da un sistema autonomo confinante, può inoltrare questa informazione d’instradamento ad altri sistemi autonomi confinanti.
98
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
5.10.1 Intra-AS Routing Protocol Questi protocolli, noti anche come IGP (Inter Gateway Protocol), si occupano di instradare i pacchetti tra gateway. I più famosi sono: • • •
RIP: Routing Information Protocol (Cisco proprietaria, Distance Vector) OSPF: Open Shortest Path First (Open Source, Link State) IGRP: Interior Gateway Routing Protocol (Cisco proprietaria, Distance Vector)
5.10.1.1 Rip • Algoritmo Distance Vector; • Incluso nella versione BSD-UNIX del 1982; • Metrica della Distanza: # di hop (max = 15); • Distance Vectors: scambiati ogni 30 sec attraverso Response Message (anche detti advertisement); • Ogni advertisement: instrada fino a venticinque reti di destinazione. Se non arrivano advertisement entro 180 sec --> il vicino/link è dichiarato morto: • • • • •
I percorsi tramite quel vicino sono invalidati Viene inviato un advertisement ai vicini; I vicini a loro volta inviano advertisement (se le tabelle sono cambiate); Le info di malfunzionamento dei link si propagano rapidamente all’intera rete; Si usa il poison reverse per evitare la creazione di ping-pong loop (distanza infinita = 16 hop);
5.10.1.2 OSPF • “Open”: disponibile pubblicamente • Usa l’algoritmo Link State • Dissemina pacchetti LS; • Ogni nodo possiede la mappa della topologia della rete; • Il calcolo dei percorsi avviene usando l’algoritmo di Dijkstra; • Gli advertisement OSPF hanno una entry per ogni router vicino; • Gli advertisement vengono disseminati sull’intero AS (via flooding); • Security: tutti i messaggi OSPF sono autenticati (per prevenire intrusioni); uso di connessioni TCP; • Sono consentiti percorsi multipli dello stesso costo (Multipath); • Per ciascun link sono gestite metriche di costo multiple per diversi TOS (per es., i link satellitari costano “low” per il best effort; “high” per real time); • Supporto integrato uni- e multicast: Il Multicast OSPF (MOSPF) usa lo stesso database di topologia dell’OSPF; • OSPF Gerarchico per domini grandi;
99
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
•
• • •
Dario Pecorale
Gerarchia a due livelli: local area, backbone • Advertisement Link-state solo in area; • Ogni nodo possiede la topologia dettagliata dell’area; conosce solo la direzione (il percorso minimo) verso reti i altre aree; Area Border Routers: “riassume” le distanze verso le reti nella sua area, annuncia agli altri Area Border Router; Backbone Routers: eseguono routing OSPF limitatamente al backbone; Boundary Routers: connettono ad altri AS.
5.10.1.3 IGRP • Protocollo proprietario CISCO; successore di RIP(metà anni 80); • Distance Vector, come RIP; • Svariate metriche di costo (ritardo, larghezza di banda, affidabilità, carico, ecc.); • Usa il TCP per scambiare aggiornamenti di routing; • Routing Loop-free attraverso l’uso del Distributed; • Updating Algorithm (DUAL) basato sul concetto di diffused computation. 5.10.1.4 BGP (Border Gateway Protocol) Standard de facto su internet per la connessione tra gateway. Utilizza un algoritmo di Path Vector •
Simile al Distance Vector • Ogni Border Gateway invia in broadcast ai vicini (peers) l’intero percorso (cioè, la sequenza di AS) verso la destinazione; • Per es., Gateway X può inviare il suo percorso verso la destinazione Z: Path (X, Z) = X, Y1, Y2,Y3,…, Z
Poniamo che: il gateway X invia il suo path al peer gateway W: • •
W può oppure no selezionare il path offerto da X • Sulla base di motivi di costo, policy (non attraversare AS rivali), loop prevention; Se W seleziona il path annunciato da X, allora: Path (W, Z) = w, Path (X, Z)
•
Nota: X può controllare il traffico entrante evitando di annunciare i suoi percorsi ai peers: • Per es., non voglio instradare traffico a Z -> non invio alcun annuncio a Z.
I messaggi BGP sono scambiati usando il TCP. Messaggi BGP: •
OPEN: apre una connessione TCP con il peer e autentica il mittente;
100
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
• • •
Dario Pecorale
UPDATE: annuncia un nuovo (o cancella uno vecchio); KEEPALIVE: tieni la connessione in assenza di UPDATES; serve anche per gli ACK alle richieste di OPEN; NOTIFICATION: rileva errori nei messaggi precedenti; usato anche per chiudere la connessione.
5.10.2 Perché usare politiche diverse di Inter e Intra – AS? Politica: • •
Inter-AS: l’amministratore vuole il controllo su come il suo traffico viene instradato e su chi instrada attraverso la sua rete; Intra-AS: singolo amministratore, non vi sono decisione di policy.
Dimensione: •
Il routing gerarchico riduce la dimensione delle tabelle e il traffico di update.
Prestazione: • •
Intra-AS: può focalizzarsi sulla prestazione; Inter-AS: la politica prevale sulla prestazione.
5.10.3 Chiarimenti terminologici assolutamente indispensabili (Parte Seconda) In ambito internet •
Router ≅ Gateway
In ambito OSI il Gateway è un PROXY, una macchina di livello applicazione (livello 5), capace di mettere in comunicazione due architetture di rete completamente differenti. •
Router ≠ Gateway
101
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
5.11 Il livello Rete di Internet (IP)
• • • • •
OSPF implementa l’algoritmo di Link State; BGP è lo standard dei router Inter-AS; I protocolli di Routing gerarchico generano le tabelle di routing; Il protocollo IP si occupa dell’instradamento dei pacchetti; Il protocollo ICMP si occupa delle segnalazioni fra router.
Nella pratica per indicare una destinazione si utilizzano dei nomi simbolici (unisa.it) che non rappresentano l’indirizzo. Nel caso di internet un’applicazione di rete (DNS = Domain Name System) che associa ai nomi mnemonici la stringa di bit che rappresenta l’indirizzo.
5.12 Indirizzamento IPv4 Generalmente un host ha un solo collegamento con la rete; quando l’IP dell’host vuole inviare un datagramma, lo fa su tale collegamento. Il confine tra host e collegamento fisico è detto interfaccia. Il router presenta più interfacce, una su ciascuno dei suoi collegamenti. IP richiede che tutte le interfacce abbiano un proprio indirizzo IP. • •
Un IP è associato a un’unica interfaccia, non a un host; Un host può avere più interfacce (es. una connessione RJ45 e una wireless). Non è vero il contrario.
102
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Gli indirizzi IP sono lunghi 32 bit (4 byte), e quindi ci sono in totale 2^32 indirizzi IP, cioè quattro miliardi. Tali indirizzi sono solitamente scritti nella cosiddetta notazione decimale puntata (Dotted Decimal Notation), in cui ciascun byte dell’indirizzo è indicato in forma decimale ed è separato con un punto dagli altri byte dell’indirizzo. N.B.: E’ una notazione utile solo all’uomo per la memorizzazione! Pertanto, l’indirizzo 193.32.216.9 in notazione binaria diventa: 11000001 00100000 11011000 00001001 N.B.: Questo e’ il vero indirizzo IP!
In figura abbiamo un Router con tre interfacce che connette sette host. I tre a sinistra e l’interfaccia del router cui sono connessi hanno un indirizzo IP della forma 233.1.1.xxx: ossia, i 24 bit più a sinistra nell’indirizzo IP sono identici. Questa rete che interconnette tre interfacce di host e l’interfaccia del router forma un sottorete. Andiamo ora a esaminare più da vicino gli indirizzi IP. Infatti l’indirizzo IP è composto da due campi: • •
Parte rete (high order bits) (parte sinistra); Parte host (low order bits) (parte destra).
103
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Dal punto di vista dell’indirizzo IP, una rete è l’insieme delle interfacce che hanno la stessa parte rete dell’indirizzo IP. Le macchine appartenenti alla stessa rete hanno la proprietà delle LAN, ossia possono comunicare tra loro senza l’intervento del router (metodi broadcast e punto-punto).
5.13 Indirizzamento per classi (Classful Addressing) Le classi si distinguono a seconda di quanta parte dei 32 bit è assegnata all’indirizzo di rete e quanta all’indirizzo host. Indirizzo rete: individua la rete tra le reti da raggiungere. Indirizzo host: individua la macchina da raggiungere in una data rete. • • •
• • •
Abbiamo tre classi (A, B, C) utilizzate per gli indirizzi degli host e si differenziano per la lunghezza della parte rete/host; Una classe (D) è usata per multicast; Una classe (E) è riservata per usi futuri.
La classe A ha come primo bit “0”, i primi sette bit sono dedicati alla parte rete, l’indirizzo tutti 0 è riservato. Posso allocare 2^7 reti ognuna con 2^24 host (16M); La classe B inizia con la sequenza “10” e i primi quattordici bit sono dedicati alla parte rete, posso allocare 2^14 reti ognuna con 2^16 host (65k); La classe C inizia con la sequenza “110”; i primi ventuno bit sono dedicati alla parte rete, posso allocare 2^21 reti ognuna con 2^8 host (256).
Le Tabelle di Routing non contengono gli indirizzi degli host, ma utilizzano solo gli indirizzi della rete.
104
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
I router usano delle maschere abbinate alle classi:
Le maschere messe in AND bit a bit con gli indirizzi consentono di estrarre la parte rete. La maschera è una stringa di 32 bit con i bit più significativi posti a 1 ( il numero di bit posti a 1 dipende dalle classi).
5.14 Algoritmo dei router con indirizzamento classful Quest’algoritmo deve essere velocissimo per permettere un attraversamento quasi istantaneo del router.
Arriva un indirizzo IP Il Router: a) Lo “shifta” a destra di ventotto bit per ottenere i primi quattro bit 1101 b) Invia i quattro bit in un selettore a sedici vie
c) Individuata la classe dell’indirizzo IP è possibile utilizzare la maschera corrispondente ed estrarre l’indirizzo di rete con il quale accedere alle tabelle di routing:
105
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Shifto di ventotto bit a destra, ottengo i primi quattro bit
ho riconosciuto che la sequenza 1101 fa parte della classe C: utilizzo una maschera per la classe C:
Metto in AND l’indirizzo e la maschera:
Ho estratto l’indirizzo di rete: Con il quale accedere alle tabelle di routing.
5.15 Problemi del Classful Addressing Il requisito che la parte di sottorete di un indirizzo IP fosse lungo esattamente 1, 2 o 3 byte si rivelò presto problematico nel supportare il numero di organizzazioni in rapida crescita con sottoreti di piccole e medie dimensioni. Una sottorete di classe C (/24) poteva ospitare solo fino a 2^8 – 2 = 254 host (due dei 256 indirizzi sono riservati per usi specifici): troppo pochi per molte organizzazioni. D’altro canto, alcune sottoreti di classe B, che possono avere 65634 host, risultavano sovradimensionate. Con il classful addressing, a un’organizzazione con 2000 host veniva assegnato un indirizzo di sottorete di classe B. Questo portò a un rapido esaurimento degli indirizzi della classe b e a uno scarso utilizzo dello spazio di indirizzamento assegnato. Ad esempio, l’ente che usava indirizzi di classe B per i suoi 2000 host si vedeva allocare spazio a sufficienza per 65534 interfacce, lasciando più di 63000 indirizzi inutilizzati. Professor didn’t dixit Esiste un indirizzo IP speciale, detto broadcast: 255.255.255.255. Quando un host emette un datagramma con destinazione 255.255.255.255, il messaggio viene consegnato a tutti gli host sulla stessa sottorete. I Router possono inoltrare il messaggio alle sottoreti confinanti.
106
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Le possibili soluzioni sono IPv6, che è un protocollo che prevede un differente indirizzo IP (da 16 byte) e quindi un nuovo software che lo gestisca. Pertanto, la sostituzione di IPv4 con IPv6 è un’operazione molto complicata poiché bisognerebbe intervenire su tutti gli host e router per modificare il software. Una soluzione alternativa è rappresentata dal CIDR (Classless Inter Domain Routing ) che permette di avere maggiore flessibilità nella gestione degli indirizzi senza modificare il pacchetto dell’IPv4. Il metodo CIDR si basa sui concetti di Subnet e Subnet Mask. Infatti, all’interno di una rete IP è possibile distinguere delle sottoreti (Subnets). A tal fine la parte host dell’indirizzo IP è partizionata in subnet number e host number.
5.16 Inoltro CIDR In principio il concetto di subnet e subnet mask era utilizzato per dividere una rete in porzioni più piccole. Questo comportava ovviamente uno spreco di una porzione di indirizzi (es. si passava da 255 host possibili a 2 gruppi di 64). Es. IP assegna a questa sottorete l’indirizzo 223.1.1.0/24, dove la notazione /24, detta anche maschera di sottorete (subnet mask), indica che i 24 bit più a sinistra dell’indirizzo definiscono l’indirizzo della sottorete. Definizione di sottorete è detta sottorete una rete isolata in cui i punti terminali sono collegati all’interfaccia di un host o di un router. Il CIDR riprende questa funzionalità, già presente nell’IPv4 e modifica la logica che vi è dietro lasciando sostanzialmente invariata (e retro compatibile, quindi vincente) questa tecnologia.
5.17 Subnet Masks
107
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Possiamo quindi costruire la seguente tabella:
108
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Rappresentazione binaria
Rappresentazione decimale
Indirizzo IP
11000000 11100100 00010001 00111001
192.228.17.57
Subnet Mask
11111111 11111111 11111111 11100000
255.255.255.224
AND bit-a-bit
11000000 11100100 00010001 00100000
192.228.17.32
Sottorete numero
11000000 11100100 00010001 00100000
1
Host numero
00000000 00000000 00000000 00011001
25
puntata
La parte rete dell’indirizzo IP ha quindi lunghezza arbitraria poiché varia in funzione del numero di bit dedicati al subnet number. La maschera di sottorete è una stringa di 32 bit che filtra l’indirizzo IP in modo tale da prelevare solo la parte rete. Il formato dell’indirizzo sarà: a.b.c.d/x, dove x è il numero di bit della parte rete dell’indirizzo. • •
Questo indirizzo rete di grandezza variabile mi permetterà quindi di evitare sprechi e reti sovradimensionate! Inoltre ora la tipologia della rete (“classe”) non è più contenuta implicitamente nell’indirizzo! Questo ci permette di evitare ENORMI sprechi!
Le maschere non devono necessariamente suddividere una rete in più sottoreti, ma possono anche aggregare tra di loro delle reti. In tal caso si parla di “Supernet”. Il metodo CIDR non modifica l’indirizzo IP base dell’IPv4 pertanto non bisogna modificare il software degli host, ma è sufficiente intervenire soltanto sui router.
109
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
5.18 CIDR: un esempio reale
A MCI, grande internet provider viene assegnata rete con indirizzo 208.128/11, ossia 2ଷଶିଵଵ indirizzi. Successivamente MCI può decidere di dedicare una sottorete ad ARS, ossia di darle l’indirizzo di rete 208.130.28/22, ossia 2ଷଶିଶଶ indirizzi. ARS può a sua volta individuare una sottorete 208.130.29/24 cui dedicare 2ଷଶିଶସ indirizzi, in cui un singolo host è identificato dall’indirizzo 208.130.29.33/32.
110
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Possiamo quindi dire a ragione che 208.128/11 ingloba 208.130.28/22. Perché? Indirizzo IP in notazione decimale Indirizzo IP puntata
Subnet Mask
208.128/11
11010000 100XXXXX XXXXXXXX 11111111 XXXXXXXX 00000000
11100000
00000000
208.130.28/22
11010000 10000010 XXXXXXXX
11111111
11110000
000111XX 11111111 00000000
In pratica come possiamo vedere, l’indirizzo 208.128/11 è più “generale” rispetto a 208.130.28/22, quindi lo contiene.
Questa proprietà permette anche una mappatura geografica degli indirizzi, con evidenti vantaggi.
111
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Riassumendo
Università
Primo Indirizzo
Ultimo Indirizzo
Totale Indirizzi
Scritti come
Salerno
194.24.0.0
194.24.7.255
2048
194.24.0.0/21
Sannio
194.24.8.0
194.24.11.255
1024
194.24.8.0/22
(disponibili)
194.24.12.0
194.24.15.255
1024
194.24.12.0/22
Napoli
194.24.16.0
194.24.31.255
4096
194.24.16.0/20
112
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
113
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
5.19 CIDR: Esempio Riassuntivo
11001000
11011011 11
11010000 100 11010110
/8
L1
/11
L2
/10
L2
/8
11010000 10000010 00011101 00100001
/32
L5
11011011 1100100
/15
L6
11010000 10000010 000111
/22
L6
11010110 01110000 11000
/21
L6
L1
L1 HOST 1
R4
R3
L5 3
L3 3
R1 L2
L6 3
R5
L4
R2
HOST 2
208.130.29.33
11010000 10000010 00011101 00100001 11010000 10000010 000111
/22
L3
11011011 11001
/13
L4
11010000 10000010 00011
/21
L4
11010110 01110000 11
/18
L3
Doppia scelta! Prendo quello con /X più grande!
114
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
5.20 Come ottenere un blocco di indirizzi Innanzitutto si deve contattare il proprio ISP. Il provider, cui è stato allocato un blocco di indirizzi 200.23.16.0/20, potrebbe a sua volta dividerlo in otto blocchi uguali di indirizzi contigui e fornire uno a ciascuna delle otto organizzazioni che supporta.
Rivolgersi a un ISP è solo un modo per ottenere un blocco di indirizzi. Anche perché lo stesso ISP deve richiedere, a sua volta, un blocco di indirizzi. Esiste un’autorità globale che ha la responsabilità ultima di gestire lo spazio di indirizzamento IP e di allocare i blocchi di indirizzi: è l’ICANN, organizzazione senza scopo di lucro che ha il compito anche di gestire i server radice DNS e di assegnare e risolvere dispute sui nomi di dominio. Molto importante è anche l’identificazione di un responsabile di eventuali problemi.
115
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
5.21 Principi in pratica
Supponiamo che il provider Fly-by-night-ISP comunichi che gli debbano essere inviati tutti i datagrammi i cui primi 20 bit di indirizzo corrispondano a 200.23.16.0/20. Il resto del mondo non ha bisogno di sapere che all’interno del blocco di indirizzi 200.23.16.0/20 esistono di fatto 8 organizzazioni, ciascuna con la propria sottorete. Questa possibilità di usare un singolo prefisso per sottendere più reti viene spesso detta aggregazione di indirizzi. Cosa avviene quando gli indirizzi non sono allocati in modo gerarchico? Cosa succederebbe se Fly-by-night-ISP acquisisse un provider chiamato ISPs-R-US e poi facesse connettere l’organizzazione 1 a Internet attraverso la propria sussidiaria ISPs-R-US?
116
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Dalla figura si evince che la sussidiaria possiede il blocco di indirizzi 199.31.0.0/16, ma gli indirizzi IP dell’Organizzazione 1 sfortunatamente non appartengono a tale blocco. L’organizzazione 1 potrebbe rinumerare tutti i propri router e host al fine di presentare indirizzi all’interno della sussidiaria; ma tale soluzione è costosa e nessuno ci dice che in futuro potrebbe essere rassegnata in un’altra sottorete. La soluzione tipica consiste nel tenere gli indirizzi IP dell’Organizzazione 1 in 200.23.10.0/23. Fly-by-night ISP continuerà a mostrare il blocco di indirizzi 200.23.16.0/20 e ISPs-R-Us continua a mostrare 199.31.0.0/16. Però la sussidiaria mostra anche il blocco di indirizzi dell’organizzazione 1, 200.23.18.0/23. Quando altri router in Internet vedono i blocchi di indirizzi 200.23.16.0/20 e 200.23.18.0/23 vogliono instradare su un indirizzo nel blocco 200.23.18.0/23, useranno la corrispondenza a prefisso più lungo (più specifico) che corrisponde all’indirizzo di destinazione.
5.22 Gestione della congestione Quando troppi pacchetti sono presenti in una porzione della sottorete, le prestazioni degradano. Questa situazione è chiamata congestione. Quando il numero di pacchetti immessi dagli host nella sottorete è: • • •
Minore della capacità di trasporto della sottorete, tutti i pacchetti sono inoltrati; Eccessivo rispetto alla capacitò di trasporto della sottorete, tutti i pacchetti sono inoltrati; Elevatissimi rispetto alla capacità di trasporto, per cui le prestazioni crollano completamente.
117
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
La congestione può essere causata da più fattori: 1. Se diversi flussi di pacchetti cominciano ad arrivare da più linee e tutti i pacchetti necessitano della stessa linea di output, inizia a formarsi una coda. Se la memoria non è sufficiente non sarà possibile conservare tutti i dati, ed i pacchetti iniziano ad andar persi. Anche aumentando la memoria del router, la congestione peggiora invece di migliorare, poiché i pacchetti saranno scaduti e quindi saranno già stati trasmessi dei duplicati, generando ulteriore congestione nella rete. 2. Anche i processori lenti possono causare congestione: se i router sono lenti, le operazioni richieste possono formare delle code e quindi congestione. Possibili soluzioni: • •
Aumentare le risorse: si possono utilizzare linee telefoniche dial-up per aumentare la banda. Diminuire il carico: negare servizi ad alcuni utenti.
5.22.1 Metodi per il controllo delle congestioni Controllo della congestione, ossia garantire che la sottorete sia in grado di trasportare il traffico immesso. Controllo del flusso, è invece una tecnica che mira a evitare che una sorgente veloce trasmetta continuamente una quantità di dati tale da provocare una congestione.
5.22.2 Controllo della congestione nelle sottoreti a circuito virtuale 1. Una tecnica largamente utilizzata per evitare il peggioramento di una congestione è quella di non impostare nessun circuito virtuale fino a quando il problema non scompare. 2. Un’altra tecnica è basata sulla negoziazione tra l’host e la sottorete durante l’impostazione del circuito virtuale.
5.22.3 Controllo della congestione nelle sottoreti a datagrammi Ogni router può facilmente tenere sotto controllo l’utilizzo delle sue linee di output e di altre risorse. Per esempio, il dispositivo potrebbe associare a ogni linea una variabile reale u, il cui valore riflette l’utilizzo recente della linea. Ogni volta che questa variabile sale oltre una soglia di guardia, la linea sale in uno stato d’allarme, vengono controllati i pacchetti in arrivo al router: se la linea di output associa a quei dati uno stato di allarme, il router esegue un’azione di controllo.
118
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
5.23 Il Datagram IP Un pacchetto IP è chiamato anche datagramma. Come tutte le PDU è costituito da un header (solitamente di grandezza fissata di 20 byte) e un’area dati che contiene fino a 65000 byte circa. L’header IP contiene tutte le informazioni necessarie per la consegna del datagramma alla destinazione: indirizzo mettente e destinatario, identificativo, ecc. I router esaminano l’header di ogni datagramma e inoltrano il pacchetto lungo il percorso verso la destinazione. I router usano le tabelle di routing per calcolare il next hop e le aggiornano usando dei protocolli di routing dinamici.
• • • • •
Numero di versione: specifica la versione del protocollo IP del datagramma, consentendo al router la corretta interpretazione del datagramma. Le versioni esistenti sono la 6 e la 4. Lunghezza dell’intestazione: un datagramma IP può contenere un numero variabile di opzioni, e questi 4 bit indicano dove iniziano i dati del datagramma. Tipo di servizio: tale campo permette al router di riconoscere quanto sia alta la priorità del datagramma. Lunghezza del datagramma: rappresenta la lunghezza totale del datagramma IP (intestazione più dati) misurata in byte. Identificatore, flag spiazzamento di frammentazione: sono usati nella frammentazione dei pacchetti.
119
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
•
•
•
• • •
Dario Pecorale
Tempo di vita: è stato incluso per assicurare che i datagrammi non restino in circolazione per sempre nella rete. Questo campo viene decrementato di un’unità ogni volta che il datagramma è elaborato da un router, e quando raggiunge zero il datagramma deve essere eliminato. Protocollo: questo campo è usato solo quando il datagramma raggiunge la destinazione finale. Il valore del campo indica lo specifico protocollo a livello di trasporto al quale vanno passati i dati del datagramma. Ad esempio, il valore 6 indica che i dati sono destinati a TCP, mentre il valore 17 designa UDP. Il numero di protocollo nel datagramma IP ha un ruolo analogo a quello del campo numero di porta nel segmento a livello trasporto. Checksum dell’intestazione: consente al router di rilevare gli errori sui bit nell’header dei datagrammi ricevuti. Un router calcola il valore di checksum per ciascun header ricevuto e se questo campo non corrisponde a quello calcolato dal router allora si rileva un errore e il router scarta il pacchetto. Indirizzi IP di origine e destinazione: quando un host crea un datagramma, inserisce il proprio indirizzo IP e l’indirizzo di destinazione in questi due campi. Opzioni: questi campi permettono di estendere l’intestazione di IP. Dati: l’informazione vera e propria da trasmettere al destinatario.
5.23.1 Frammentazione dei datagrammi IP La massima quantità di dati che un frame a livello data link può trasportare è detta unità massima di trasmissione (MTU). Dato che, per il trasporto da un router a un altro, i datagrammi IP sono incapsulati in frame a livello data link, la MTU di questo protocollo pone un limite rigido alla lunghezza dei datagrammi IP. È difficile gestire questo fatto poiché le tratte del percorso mittente-destinatario possono usare differenti protocolli a livello di data link, e ciascuna tratta può avere differenti MTU. Se a un router si presenta un datagramma IP ma la rete su cui dovrà farlo uscire ha un MTU inferiore, allora il router frammenta il datagramma in pacchetti più piccoli tutti con lo stesso numero identificativo. Tutti i bit del campo flag sono posti tutti a 1 tranne l’ultimo posto, che è posto a zero (per far capire che quello è l’ultimo pacchetto frammentato); infine con il campo spiazzamento il router destinatario capisce in che ordine riassemblare i frammenti del datagramma dopo averlo ricevuto completamente.
120
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
121
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
5.24 Viaggio di datagramma da mittente a destinatario
5.24.1 Esempio 1 A invia un datagram a B: 1) Ricerca indirizzo di rete di B; 2) A e B si trovano sulla stessa rete, quindi sono direttamente connessi; 3) Il livello data-link di A incapsula il datagram in un pacchetto di livello data-link (frame) e lo invia direttamente a B.
122
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
5.24.2 Esempio 2 A invia un datagram IP a E: 1) ricerca indirizzo rete di E; 2) A e E si trovano su reti differenti, quindi non sono direttamente connessi; 3) tabella di routing: il prossimo hop per E è 223.1.1.4; 4) il livello link di A invia il datagram al router 223.1.1.4 in un pacchetto di livello link; 5) il datagram arriva a 223.1.1.4 con destinazione 223.1.2.2; 6) il router cerca l’indirizzo rete di E; 7) E si trova sulla stessa rete dell’interfaccia 223.1.2.9 del router, quindi il Router e E sono direttamente connessi; 8) il livello di link invia il datagramma a 223.1.2.2 in un pacchetto di livello link attraverso l’interfaccia 223.1.2.9.
123
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
5.25 ICMP (Internet Control Message Protocol) Protocollo utilizzato da host, router e gateway per scambiarsi informazioni sull’andamento della rete. • •
Segnalazione errori; Richieste/Risposte (ping)
E’ un livello rete “sopra” IP •
I messaggi ICMP sono portati dal datagramma IP.
Messaggi ICMP: tipo e codice più i primi 8 byte del datagram IP che causa errore.
5.26 Indirizzi MAC, IP e protocollo ARP Indirizzo IP: indirizzo di livello rete, usato per portare un datagramma dalla rete sorgente alla rete destinazione. Indirizzo MAC: indirizzo di livello data-link, usato per portare un datagramma da un’interfaccia a un’altra interfaccia fisicamente connessa (stessa rete). L’indirizzo MAC (48 bit) è cablato nella ROM dell’adattatore. Quindi anche se ogni macchina di Internet ha uno o più indirizzi IP, in realtà questi non possono essere utilizzati per inviare pacchetti perché l’hardware che opera nel livello data-link non comprende gli indirizzi IP. Oggi la maggior parte degli host è collegata alla rete attraverso una scheda di rete che conosce solo gli indirizzi MAC. Una qualsiasi scheda di rete incorpora un indirizzo MAC a 48 bit. Le schede inviano e ricevono frame basati sugli indirizzi MAC a 48 bit e non sanno nulla degli indirizzi IP a 32 bit. Per individuare l’indirizzo MAC dato l’indirizzo IP utilizzeremo l’ARP.
5.26.1 ARP (Address Resolution Protocol) L'ARP è un protocollo di supporto del livello rete che costruisce dinamicamente una tabella di corrispondenza tra indirizzi IP e indirizzi MAC:
124
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Ogni nodo IP (Host e router) del sistema deve solo assegnare a ogni macchina uno o più indirizzi IP e decidere le maschere di sottorete. ARP si occupa di tutto il resto. Consideriamo due host A e B. A conosce l’indirizzo IP di B, ma gli occorre l’indirizzo fisico di B. A invia in broadcast un pacchetto di query ARP che contiene l’indirizzo IP di B. B riceve il pacchetto ARP e risponde ad A con il suo indirizzo fisico. A salva nella sua tabella ARP la coppia di indirizzi IP- MAC e conserva tale informazione per un tempo TTL. Se A e B non si trovano sulla stessa rete, la query ARP viene inviata a un router R. R riceve il pacchetto ARP e risponde a A con il suo indirizzo fisico. A invia ad R il frame destinato a B, e poi R utilizzerà il proprio protocollo ARP per ottenere l’indirizzo fisico di B ed inviargli il frame. La corrispondenza IP-MAC non è univoca; infatti, mentre l’indirizzo MAC è associato a un’unica macchina fisica (cablato nella sua scheda di rete), può accadere che alla stessa macchina (e quindi allo stesso MAC) vengono associati, in istanti differenti, indirizzi IP diversi. Pertanto la tabella ARP è creata dinamicamente, creando le corrispondenze quando servono ed eliminandole dopo un periodo di tempo (TTL).
125
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
5.27 DHCP DHCP (Dynamic Host Configuration Protocol) è un protocollo per assegnare dinamicamente indirizzi IP agli host che si sono appena connessi alla rete e che desiderano ottenere informazioni sulla configurazione della rete. Ogni sottorete dispone di un server DHCP. Per i nuovi host il protocollo DHCP si articola in quattro punti.
•
•
•
•
DHCP server discovery. L’host appena collegato ha bisogno di identificare il server DHCP con il quale interagire. L’host, non conoscendo la rete, né tanto meno l’indirizzo del server DHCP, crea un datagramma IP contenente il suo messaggio di identificazione DHCP con l’indirizzo di destinazione broadcast di 255.255.255.255 e indirizzo IP sorgente di 0.0.0.0, cioè “questo host”. Il client DHCP inoltra il datagramma IP al suo adattatore, che incapsula il datagramma in un pacchetto di livello link. Questo pacchetto include l’indirizzo MAC broadcast (FF-FF-FF-FF-FF-FF) nel campo indirizzo di destinazione. Il pacchetto inviato sarà ricevuto da tutti gli adattatori di rete. Se un server DHCP è connesso alla stessa sottorete, inizierà a processare il messaggio di identificazione incapsulato nel pacchetto ricevuto. Azioni svolte dal server DHCP. Ricevuto il messaggio di identificazione il server risponde con un messaggio di offerta DHCP. Il messaggio di offerta del server contiene l’indirizzo IP proposto al client, la maschera di sottorete e la durata della concessione dell’indirizzo IP. Il pacchetto contenente il datagramma IP viene spedito al client appena collegato. Richiesta DHCP. Il client appena collegato sceglierà tra le offerte dei server e risponderà con un messaggio di richiesta DHCP, che riposta tra i parametri di configurazione.
126
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
•
Dario Pecorale
Conferma DHCP. Il server risponde al messaggio di richiesta DHCP con un messaggio di ACK DHCP, che conferma i parametri richiesti.
5.28 NAT Sappiamo che ogni dispositivo IP richiede un indirizzo. Con la proliferazione delle piccole sottoreti, l’ISP dovrà allocare un intervallo di indirizzi per coprire tutte le macchine della sottorete. Ma se la sottorete si espande e l’ISP avesse già allocato la parte contigua all’intervallo di indirizzi dell’attuale sottorete, come possiamo agire? Fortunatamente esiste la traduzione degli indirizzi di rete (NAT, Network Address Translation).
127
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
In figura abbiamo un router abilitato NAT, con un’interfaccia che fa parte della rete domestica. Come visto in precedenza, le quattro interfacce della rete hanno lo stesso indirizzo di sottorete 10.0.0.0/24. I router abilitati alla NAT non appaiono come router al mondo esterno, ma si comportano come un unico dispositivo con un unico indirizzo IP. Tutto il traffico che lascia il router domestico verso Internet ha l’indirizzo IP origine 138.76.29.7, e tutto il traffico in entrate deve avere lo stesso indirizzo come destinazione. In sostanza, il router abilitato NAT nasconde i dettagli della rete domestica al mondo esterno. Ma come i calcolatori della rete domestica ottengono i propri indirizzi e dove il router acquisisca il proprio indirizzo IP. Spesso la risposta è DHCP. Il router ottiene il proprio indirizzo dal server DHCP dell’ISP, e manda in esecuzione un server per fornirgli gli indirizzi ai calcolatori all’interno dello spazio d’indirizzamento della rete domestica. Se tutti i datagrammi in arrivo al router NAT dalla rete geografica hanno lo stesso indirizzo IP di destinazione, allora come apprende il router a quale host interno un dato datagramma dovrebbe essere inoltrato? Il trucco consiste nell’utilizzare una tabella di traduzione NAT nel router NAT e includere nelle righe della tabella i numeri di porta e gli indirizzi IP. Ad esempio supponiamo che un utente che si trova nella rete con indirizzo 10.0.0.1 richieda una pagina web da un server (porta 80) con indirizzo IP 128.119.40.186. L’host 10.0.0.1 assegna il numero di porta origine (random) 3345 e invia il datagramma nella rete locale. Il router NAT riceve il datagramma, genera per esso un nuovo numero di porta origine 5001, sostituisce l’indirizzo IP di origine con il proprio indirizzo IP sul lato WAN 138.76.29.7 e sostituisce il vecchio numero di porta con il nuovo 5001. Il NAT del router aggiunge così una riga alla propria tabella di traduzione NAT. Il server web ignaro della manipolazione subita dal datagramma in arrivo con la richiesta http, risponde con un datagramma con l’indirizzo IP del router NAT come destinazione e il cui numero di porta di destinazione è 5001. Quando questo datagramma arriva al Router NAT, quest’ultimo indicizza la tabella di traduzione NAT usando l’indirizzo IP destinazione e il numero di porta destinazione per
128
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
ottenere l’appropriato indirizzo IP (10.0.0.1) e in corretto numero di porta di destinazione (3345). Riscrive il datagramma con i nuovi dati e lo inoltra nella rete domestica.
5.29 IPv6 Abbiamo bisogno di una nuova versione dell’indirizzo IP perché lo spazio di indirizzamento a 32-bit di IPv4 sarà completamente allocato nel 2008. Inoltre: • • •
Formato header per velocizzare l’inoltro; Cambiamenti header per facilitare QoS; Nuovi indirizzi “anycast”: instrada al “migliore” di un gruppo di server duplicati.
Formato datagram IPv6: • • • • • • • •
Header a lunghezza fissa di 40 byte; Frammentazione non consentita (compatibile con le grandi prestazioni di internet oggi); Priorità: identifica una priorità tra i datagram; Flow Label: identifica datagram in un “flusso” (concetto di “flusso” non ben definito); Next header: identifica il protocollo upper per i dati; Checksum: rimosso per ridurre il tempo di processo a ogni hop; Opzioni: consentite ma fuori dall’header, indicate dal campo “Next Header”; ICMPv6: nuova versione di ICMP • tipi messaggio addizionali, es., “Packet Too Big”; • Funzioni di management dei gruppi multicast.
5.29.1 Transizione da IPv4 a IPv6 La transizione è molto complicata in quanto: • • •
Non tutti i router possono essere aggiornati simultaneamente; Non c’è un “giorno stabilito”; Come opererà la rete con router misti IPv4 e IPv6?
Proposti due approcci: • •
Dual Stack: alcuni router con dual stack (v6, v4) “traducono” tra i formati; Tunneling: IPv6 porta i datagram IPv4 come payload tra i router IPv4.
129
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
5.29.1.1
Dual State
5.29.1.2
Tunneling
Dario Pecorale
130
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Punto di Fuga N. 5
Bunny Card by TheUmbrella
131
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
6 Il Livello Trasporto 6.1
Introduzione al livello trasporto
Il livello trasporto ha il compito di gestire il trasporto dei dati dal mittente originario della comunicazione al destinatario finale, al fine di renderlo affidabile ed efficiente indipendentemente dalla rete o dai link fisici effettivamente utilizzati. Il livello trasporto fa da cuscinetto tra il livello Sessione (o Applicazione se la pila è TCP/IP) e il livello Rete. L’obiettivo finale del livello trasporto è fornire un servizio affidabile, efficace ed efficiente ai suoi utenti, ossia ai processi del livello applicazione. Tutti i livelli al di sotto di quello Trasporto sono detti “Transport Service Provider” e gli interlocutori della comunicazione sanno di parlare attraverso intermediari. Mentre tutti i livelli al di sotto del livello Trasporto sono detti “Transport Service User” e gli interlocutori della comunicazione sono resi ignari del fatto che esistano degli intermediari (router e subnet) che si frappongono tra il calcolatore locale e quello remoto. I servizi e i protocolli di Trasporto forniscono un canale di comunicazione logica tra i processi applicativi in esecuzione su host differenti e agiscono sugli end system (coppia IP – porto). In definitiva il livello trasporto si occupa del trasferimento dati tra processi, appoggiandosi e migliorando i servizi di livello Rete, che, invece si occupano di trasmettere informazioni tra gli apparati (calcolatori, router). Il livello trasporto può offrire dei servizi ai livelli superiori, ma a sua volta è fruitore dei servizi offerti dal livello Rete. Così come ci sono due tipi di servizi di livelli Rete, ce ne sono due anche a livello Trasporto: • •
6.2
Servizi affidabili orientati alla connessione; Servizi non affidabili di tipo datagram.
Principali funzioni del livello trasporto
Poiché il livello Rete non è in grado di assicurare servizi affidabili, poiché esiste una principale esigenza di efficienza e affidabilità, sarà compito del livello Trasporto fornire certe garanzie di servizio (ad esempio il trasferimento corretto di un file). Il livello trasporto dovrà affrontare quattro principali problemi: •
Controllo degli errori: ciò che è ricevuto dal destinatario è esente da errori;
132
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
• • •
6.3
Dario Pecorale
Sequenza ordinata: è rispettato l’ordine con cui sono arrivati i dati in invio; Controllo di flusso: non arrivano al destinatario più dati di quanti questo non riesca a processare; Controllo di congestione: evitare che transitino più dati di quelli che la rete riesce a processare.
I Protocolli di livello Trasporto in Internet
Al di sopra del livello Trasporto si elevano due colonne parallele, relative ai due tipi di paradigmi cui si rifanno le applicazioni. I due protocolli sono: • •
UDP (User Data Protocol); TCP (Transmission Control Protocol).
6.3.1 UDP Suddetto protocollo è, di fatto, il protocollo IP con l’aggiunta di un breve header, e fornisce un servizio di trasporto datagram (quindi non affidabile). Il servizio offerto da UDP è detto di “best effort”, in quanto i segmenti UDP possono essere persi e consegnati all’applicazione fuori ordine. Inoltre è un servizio definito connection-less in cui non è prevista una fase di inizializzazione e in cui il mittente non si pone il problema del se il ricevente sia in ascolto o no: il dato viene inviato e basta. L’esistenza di questo protocollo è giustificata dal fatto che, non essendo previste connessioni iniziali, tale protocollo introduce pochi ritardi, non solo, ma risulta semplice da gestire. Non è progettato un controllo della congestione, l’UDP può spedire dati tanto velocemente quanto desidera. UDP è spesso usato per applicazione con streaming multimedia che sono tolleranti alle perdite dei pacchetti e sensibili ritardi (applicazioni che non richiedono il real time). Il trasferimento dati tramite UDP può essere reso più affidabile aggiungendo dei controlli di affidabilità minimi che avvengono al livello applicazione, come la gestione degli errori e la conferma di avvenuta ricezione. Nel pacchetto UDP esiste un campo checksum che ha il compito di rilevare “errori” nei segmenti trasmessi, controllando se è stata persa qualche informazione.
6.3.2 TCP TCP è un protocollo molo più affidabile e orientato alla connessione in quanto, prima di scambiarsi dati, i processi devono effettuare l’handshake, ossia devono inviarsi reciprocamente alcuni segmenti preliminari per stabilire i parametri del successivo trasferimento dati.
133
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
TCP garantisce un flusso di byte affidabile e ordinato. Anch’esso utilizza un campo di checksum per garantire la non deteriorazione del pacchetto. Tuttavia nelle applicazioni multimediali di oggi non ho bisogno dell’affidabilità piena e inoltre oggi il tasso di errore rispetto al passato è molto ridotto. L’affidabilità molto accentuata del TCP è quindi diventata un overhead. A questo protocollo si è quindi iniziato a preferire l’UDP che non garantisce nessuna prestazione, ma statisticamente funziona meglio.
6.4
Definizione di porta
Il concetto di porta, proprio del livello Trasporto, è simmetrico a quello di indirizzo IP per il livello Rete. Mentre, però, a livello Rete un indirizzo IP identificava un’interfaccia, a livello Trasporto una porta identifica un’applicazione residente in quel momento sull’host.
6.5
Domain Network System
Domain Name Service (spesso indicato con DNS) è un servizio che permette di tradurre un tipico indirizzo web (www.unisa.it), molto più facile da ricordare, nell’IP corrispondente (193.205.160.14). Il servizio è realizzato tramite un database distribuito, costituito dai server DNS. Il nome DNS denota anche il protocollo che regola il funzionamento del servizio, i programmi che lo implementano, i server su cui questi girano, l'insieme di questi server che cooperano per fornire il servizio.
134
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Appendice
135
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Architettura fisica dei router
Come già detto i router gestiscono le funzioni di inoltro e instradamento. La loro architettura prevede quattro componenti. • • • •
Porte di ingresso (Input Port): completano il collegamento elettrico e svolgono funzioni a livello di link. Svolgono anche operazioni di ricerca per impostare il corretto inoltro. Struttura di commutazione (Switching Fabric): che connette fisicamente le porte di ingresso con quelle di uscita. Porte d’uscita (Output Port): memorizzano i pacchetti che provengono della struttura di commutazione e li trasmettono sul collegamento di uscita. Processore di instradamento (Routing Processor): esegue i protocolli di instradamento, conserva le informazioni di instradamento e le tabelle di inoltro, ed effettua funzioni di gestione della rete all’interno del router.
Vediamo le componenti più da vicino.
136
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
6.5.1 Porte di ingresso
Oltre alla funzione di terminazione elettrica di linea e all’elaborazione a livello di link, i moduli di ricerca e inoltro della porta è centrale. Essendoci delle copie locali della tabella di inoltro (che solitamente è elaborata dal processore di instradamento), la decisione relativa alla determinazione di quale debba essere la porta di uscita per un dato pacchetto, può essere presa già dalla porta di ingresso, senza invocare il processore di instradamento centralizzato. L’inoltro decentralizzato evita di creare un collo di bottiglia in un singolo punto all’interno di un router. Se le porte hanno scarsa capacità elaborativa allora si limitano a inoltrare il pacchetto al processore di instradamento, che effettua la ricerca nella tabella e inoltra il pacchetto. È auspicabile che la ricerca nella tabella di inoltro sia effettuare in un lasso di tempo inferiore a quello richiesto per ricevere un nuovo pacchetto. Per velocizzare la ricerca si implementa una tabella con struttura ad albero o di mantenere in una cache le righe della tabella d’inoltro recentemente consultate.
6.5.2 Struttura di commutazione Qui i pacchetti sono commutati (ossia inoltrati) dalla porta di ingresso alla porta di uscita. La commutazione può avvenire in vari modi. 6.5.2.1 Commutazione in memoria I primi router commutavano le porte di in/out sotto il controllo del processore di instradamento. Le porte erano dei tradizionali dispositivi di I/O che quando sopraggiungeva un pacchetto ne segnalavano l’arrivo tramite interrupt e quindi lo copiava nella memoria del processore di instradamento che procedeva a estrarre dall’intestazione l’indirizzo di destinazione. Quindi individuava tramite la tabella di inoltro l’appropriata porta d’uscita nel cui buffer copiava il pacchetto. La velocità risulta limitata dall’ampiezza di banda della memoria.
137
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
6.5.2.2 Commutazione tramite bus Le porte di ingresso trasferiscono un pacchetto direttamente alle porte di uscita su un bus condiviso, senza intervento del processore di instradamento. Poiché il bus è condiviso si può trasferire solo un pacchetto per volta. Ai pacchetti che arrivano alla porta di IN e che trovano il bus occupato per il trasferimento di un altro pacchetto viene inibito il passaggio attraverso la struttura di commutazione. Poiché ciascun pacchetto deve attraversare il bus, la larghezza di banda della commutazione è limitata da quella del bus.
6.5.2.3 Commutazione attraverso rete d’interconnessione Per superare i limiti in banda dovuti al bus si usa una rete di interconnessione più sofisticata, quale quella usata in passato nelle architetture multiprocessore. Un crossbar switch è una rete di interconnessione che consiste di 2N bus che collegano N porte di IN a N porte di OUT. Il pacchetto che giunge a una porta di IN viaggia lungo il bus orizzontale collegato a tale porta fino a intersecare il bus verticale e, se questo è disponibile, è trasferito al bus d’uscita. Se la porta di uscita è occupata il pacchetto in arrivo è bloccato a e accodato presso la porta di ingresso.
138
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
6.5.3 Porte d’uscita L’elaborazione delle porte di uscita prende i pacchetti dalla memoria della porta di uscita e li trasmette sul collegamento uscente. Le funzioni di terminazione elettrica del collegamento sono del tutto analoghe a quelle delle porte di IN. Le funzionalità di accoramento e di gestione dei buffer sono richieste quando la struttura di commutazione consegna i pacchetti alla porta di uscita a una frequenza che supera quella del collegamento uscente.
È evidente che si possono formare delle code sia sulle porte di IN che di OUT, se queste sono troppo lunghe possono saturare il buffer e quindi causare perdita di pacchetti, la cui esatta locazione dipende dal carico del traffico, dalla velocità relativa della struttura di commutazione e dalla portanza della linea.
139
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
140
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Il quadro normativo Impianti Legge 186/68
Disposizioni concernenti la produzione di materiali, apparecchiature, macchinari, installazioni e impianti elettrici ed elettronici Regola d’arte: 1. Prodotto costruito seguendo tutte le regole a esso associate; 2. Realizzazione del prodotto seguendo le direttive dettate dalla norme relative; 3. Un prodotto è realizzato a regola d’arte anche se non segue le norme associate al prodotto ma il progettista ha seguito dei suoi schemi validi teoricamente; • Art. 1: Tutti i materiali, le apparecchiature, i macchinari, le installazioni e gli impianti elettrici ed elettronici devono essere realizzati e costruiti a regola d’arte; • Art. 2: I materiali, le apparecchiature, i macchinari, le installazioni e gli impianti elettrici ed elettronici realizzati secondo le norme del comitato elettrotecnico italiano si considerano costruiti a regola d’arte.
Legge 46/90
Per tale legge posso costruire un impianto solo se il titolare dell’impresa è iscritto alla camera di commercio e i tecnici devono avere determinati requisiti. Essere un ingegnere non permette di realizzare un impianto. Prima dell’attuazione di questa legge per la realizzazione di un impianto non c’era bisogno di un progetto. Con questa legge si impone alla ditta appaltatrice di rilasciare una documentazione dove bisogna indicare di aver realizzato il prodotto a regola d’arte e i materiali usati. • • • • • •
Art. 1 Comma 1 lettera b: Impianti elettronici (Reti di calcolatori senza comunicazione con l’esterno); Art. 2 Comma 1: Le società possono effettuare installazione, ampliamente e manutenzione degli impianti solo se iscritte alla camera di commercio; Art. 2 Comma 2: L’imprenditore o il responsabile tecnico dell’impresa devono possedere i requisiti tecnico-professionali; Art. 3: Requisiti tecnico-professionali abilitanti (Laurea in materia tecnica specifica, Diploma con specializzazione nel settore ed esperienza, ecc.); Art. 6 Comma 1: Obbligo di progetto da chi è iscritto all’albo degli ingegneri; Art. 7 Comma 1: Impianti a regola d’arte con materiali a regola d’arte (fare
141
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
• •
• •
D.M. 447/91
• • • •
D.M. 314/92
Dario Pecorale
riferimento alla Legge 186/68 e alla norma UNI CEI); Art. 7 Comma 2: Gli impianti devono essere muniti di messa a terra e interruttore differenziale (Salvavita); Art. 9 Comma 1: Al termine dei lavoro l’impresa deve rilasciare al committente la Dichiarazione di Conformità degli impianti insieme alla “Relazione Tipologica dei Materiali Utilizzati”; Art. 10 Comma 1: Il lavoro deve essere affidato dal committente o proprietario a imprese aventi i requisiti; Art. 12: L’ordinaria manutenzione non richiede un progetto.
Art. 1: Se la rete di calcolatori esce verso l’esterno con più di due linee telefoniche ricado in questa legge, altrimenti devo seguire le linee guida della 46/90; Art. 1 comma 2: Sono sotto la 46/90 anche gli impianti elettrici per usi veri; Art. 1 comma 4: Definizione di impianto elettrico; Art. 5: Realizzazione a regola d’arte (ossia secondo norme UNI CEI).
Se la rete di calcolatori esce verso l’esterno con più di due linee telefoniche ricade in questa legge, altrimenti devo seguire le linee guida della 46/90. • • •
Art. 3 Comma 1: Informazioni riguardo le entità abilitate all’installazione, collaudo, allacciamento e manutenzione delle apparecchiature terminali; Art. 3 Comma 3: Anche il D.M. 314/93 prevede una dichiarazione che non coincide con quella della 46/90 ma concettualmente molto simile; Art. 5 Comma 1: Gli abbonati possono provvedere direttamente all’installazione, al collaudo, all’allacciamento e alla manutenzione di apparecchiature terminali omologate con capacità non superiore a due linee urbane qualora l’allacciamento alla terminazione delle rete pubblica richieda il solo inserimento della spina nel relativo punto terminale.
Ho un buco per le reti che escono con 1-2 linee verso l’esterno
142
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Situazione prima del D.P.R. 380/2001 NO
Impianto collegato alla rete telefonica esterna
SI Con più di 2 linee?
NO
SI
D.P.R. 380/2001
L. 46/90
D.M. 314/92
NULLA
Installazione da impresa abilitata per gli impianti
Installazione da impresa abilitata per gli impianti
Installazione da chiunque
Testo unico per l’edilizia • •
Art. 107: Annulla la differenza tra progettazione di impiantistica civile e “incivile”, la 46/90: è applicabile a tutti gli edifici; Art. 108: le imprese per esercitare devono essere attestate dalla SOA.
N.B.: La dichiarazione di conformità, se l’imprenditore non possiede i requisiti tecnici dovuti, deve essere formulata dal proprietario dell’impresa e dal dipendente con i requisiti richiesti.
143
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Sicurezza D.P.R. 547/55
Serie di norme molto precise, quasi 400 articoli, che abbracciano ogni ambito lavorativo • •
•
Legge 818/84
Art. 1: Ci si interessa all’incolumità dei lavoratori subordinati o a essi equiparati; Art. 36: Esistono delle aziende e delle lavorazioni per cui è particolarmente importante la prevenzione incendi. Il “Braccio armato” dello stato sono i Vigili del fuoco; Art. 36 Comma 2: Uscito 27 anni dopo, spiega nel dettaglio quali sono le attività per cui è prescritta una particolare attenzione agli incendi.
• •
D. Lgs. 626/94
Nullaosta provvisorio per le attività soggette alla prevenzione incendi: ossia le aziende possono lavorare, ma “prima o poi” lo stato passerà a controllare; Esiste un elenco di professionisti che dopo un corso e fatto un esame possono autocertificare che impresa non rispetta le regole anti-infortuni.
Individua le figure professionali e prescrive l’adozione di procedure per migliorare la sicurezza e la salute dei lavoratori. Sono una serie di norme aggiunte per adeguarsi alle leggi della comunità europea. • • • • • • • •
Art. 1: Ambito di applicazione; Art. 2: Definizioni; Art. 3 Comma 1: Misure di tutela da adottare; Art. 3 Comma 1 Lettera b: Vi è una figura professionale che a valle di un corso può redarre una “valutazione dei rischi”; Art. 3 Comma 1 Lettera l: L’azienda deve avere una figura sanitaria detta “medico competente”; Art. 3 Comma 1 Lettera l: I datori di lavoro devono formare i lavoratori sulla prevenzione riguardo le norme e i rischi; Art. 3 Comma 2: Le misure di tutela non comportano oneri finanziari dei dipendenti. Allegato 7: Disposizioni sull’uso di attrezzature munite di video terminali.
D.M. 2 Ottobre 2000 Linee guida su uso di videoterminali • Caratteristiche dell’arredo della postazione dei VDT; • Ambienti; • Come evitare l’insorgenza di disturbi muscolo scheletrici; • Come evitare l’insorgenza di problemi visivi; • Come evitare disturbi da affaticamento mentale.
144
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
D.P.R. 37/98
Dario Pecorale
•
Un laureato può fare progetto di prevenzione dagli incendi da consegnare a vigili del fuoco, ma deve aver frequentato un corso previsto da 818/84; Dopo un certo tempo i vigili vengono a controllare che io abbia rispettato il progetto; Dopo il controllo, se non ci sono cambiamenti sostanziali, si può autocertificare.
D.M. 10 Marzo 98
•
Stabilisce una serie di norme dettagliate per la prevenzione degli incendi.
D. Lgs. 494/96
Questo decreto impone al committente di designare CEL e CCP in funzione
• •
• • • • •
•
• •
Presenza di più imprese anche non contemporanea; Durata dei lavori; Rischi particolari;
Art. 1: Prescrive le misure per la tutela e sicurezza lavoratori nei cantieri temporanei o mobili; Art. 2: Definizione attori: e) CPP: coordinatore sicurezza e salute durante la progettazione dell’opera (coordinatore per la progettazione); f) CEL: coordinatore sicurezza e salute durante realizzazione opera (coordinatore esecuzione lavori). Art. 10 Comma 1: Requisiti del CEL e CCP: • Laurea specialistica in ingegneria e lavoro nel settore per almeno un anno; • Laurea in ingegneria e lavoro nel settore per almeno due anni; • Diploma di geometra o perito industriale e lavoro nel settore per almeno tre anni. Art. 10 Comma 2: CEL e CPP devono essere in possesso di attestato di frequenza a corso specifico; L’allegato V specifica: • Durata del corso (120 ore); • Argomenti del corso.
145
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Progetto Definizione di progetto Il progetto può essere definito come un modello tecnico-matematico, formato da relazioni e rappresentazioni grafiche, finalizzate all’esecuzione di un lavoro. Può essere altresì considerato come la specifica individuazione dell’opera, intesa quale definizione della sua natura, della sua forma, delle sue dimensioni, della sua struttura essenziale e delle soluzioni tecniche di costruzione prescelte.
Legge 46/90
•
Art. 6: Progettazione degli impianti Comma 1 e 2. N.B.: Per la manutenzione non è necessario un progetto.
D.P.R. 447/91
Estende la 46/90 e dice che il progetto è d’obbligo se l’impianto elettronico coesiste con l’impianto elettrico con obbligo di progettazione. •
D.M. 314/92
•
Art. 4: Progettazione degli impianti.
Art. 3: Se la rete di calcolatori ricade nell’applicazione della 314/92 il progetto è obbligatorio sempre. Il progetto deve essere sottoscritto da un progettista iscritto all’albo professionale.
146
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
NO
Dario Pecorale
Impianto collegato alla rete telefonica esterna
SI Con più di 2 linee?
NO
SI L. 46/90
Progetto richiesto se l’impianto elettrico è soggetto a progettazione Installazione da impresa abilitata per gli impianti
Legge 109/94
D.M. 314/92
NULLA
Progetto richiesto
Progetto non richiesto
Installazione da impresa abilitata per gli impianti
Installazione da chiunque
Merloni Legge quadro in materia di lavori pubblici, sostituisce la 2248/1865 Principi della Merloni • • • •
• • •
Responsabilità da parte di tutti gli attori e ben definita; Concorrenza tra le aziende (miglior rapporto qualità/prezzo); Controllo. Art. 16 Comma 1: La progettazione di articola in: • Preliminare; • Definitiva; • Esecutiva. Art. 16 Comma 2: Progetti adeguati se non son specificate le fasi; Art. 16 Comma 3: Progetto preliminare -> caratteristiche dei lavori; Art. 16 Comma 4: Progetto definitivo -> definisce i lavori da realizzare.
147
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
D.P.R. 447/91
Dario Pecorale
•
Art. 16 Comma 5: Progetto esecutivo -> definisce i lavori e i costi in dettaglio;
•
Fase costruttiva: modifiche sul progetto esecutivo in corso di esecuzione dei lavori.
•
Art. 4 Comma 2: Lavori privati. Il progetto deve contenere una relazione tecnica sulla tipologia di installazione, trasformazione e ampliamento.
Direttore dei lavori: geometra, perito industriale, ingegnere, architetto. Per la Merloni CEL = DL altresì direttore operativo.
D. L. 358/92
Testo unico in materia di appalti pubblici (Direttive CEE) • •
Art. 1: Ambiti di applicazione; Art. 2: Procedure di aggiudicazione: 1. Pubblico incanto: procedura aperta cui possono partecipare tutte le imprese 2. Licitazione privata: procedura aperta cui possono partecipare solo le imprese invitate 3. Appalto- concorso: procedura ristretta (come la licitazione privata) in cui l’azienda redige una relazione tecnica sui materiali, tempi e costi 4. Trattativa privata: procedura negoziata in cui l’amministrazione aggiudicatrice consulte le imprese di propria scelta e negozia con esse i termini del contratto.
Collaudo e Verifiche • •
Verifica: complesso di operazioni manuali che ha lo scopo di accertare se l’opera è stata realizzata in conformità a determinati requisiti tecnici e contrattuali; Collaudo: dichiarazione che segue la verifica per constatare formalmente il risultato tecnico positivo o negativo che sia.
Verifiche: L. 46/90 Art. 14 ; D.P.R. 447/91 Art. 9 Collaudo: D.M. 314/92 Art. 3 ; D.P.R. 554/99 Art. 188
148
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Regolamento recante istituzione del sistema di qualificazione per gli esecutori di lavori pubblici, ai sensi dell’articolo 8 della legge dell’11 febbraio 1994, n° 109, e successive modificazioni. S.O.A. (Società Organismi di Attestazione): •
D.P.R. 34/2000
• • •
Sono delle società a carattere privato, costituite secondo criteri dettati dal regolamento sulla qualificazione, devono essere Società Per Azioni (S.p.A.), con un capitale sociale interamente versato minimo di un miliardo; Sono autorizzate dall’Autorità di vigilanza dei lavori pubblici a valutare l’idoneità di un’impresa e a rilasciarne un attestato di qualificazione; Un’impresa, per ottenere la qualificazione deve stipulare un contratto con una SOA, la quale, dopo aver valutato l’idoneità della stessa rilascia l’attestato. Per risultare idonea ad ottenere la qualificazione un’impresa deve adeguarsi alle normative riportate nel D.P.R. 34/00 e dimostrare di aver realizzato negli ultimi 5 anni lavori pari all’importo per cui chiede la qualificazione.
OG: 11 impianti tecnologici (opere generali); OS: 19 impianti di rete.
L. 46/90 Art. 12
D.P.R. 447/91 Art. 8 comma 2
La manutenzione non ha progetto
Gli interventi ordinaria manutenzione sono quelli finalizzati a contenere il degrado.
149
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Progettazione di una rete informatica
Destinatari • •
• • • • •
Il committente (pubblico o privato): definisce, a partire da un’idea, le esigenze di Information Technology che dovranno essere soddisfatte dal sistema di cablaggio; Il progettista edile: nella progettazione degli spazi e dei volumi dell’edificio deve prevedere tutte le opere (cavedi, canalizzazioni, locali tecnici) per gli utenti e per i servizi oltre alle considerazioni ambientali ed estetiche dell'edificio; Il progettista del sistema di cablaggio: progetta il sistema di cablaggio in funzione delle caratteristiche dell’edificio e delle esigenze attuali e future di Information Technology dell’utilizzatore; L’installatore del sistema di cablaggio: è responsabile dell'installazione e la posa in opera dei componenti del sistema di cablaggio; Il direttore dei lavori: dirige e verifica i lavori in corso d’opera per assicurare la loro corretta esecuzione; Il collaudatore: è responsabile della verifica di conformità del sistema di cablaggio; Il manutentore del sistema di cablaggio: è responsabile della manutenzione e della gestione delle problematiche e dei malfunzionamenti causati dal sistema di cablaggio;
150
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
•
Dario Pecorale
Il gestore della rete: è responsabile del corretto funzionamento e delle riconfigurazioni del sistema di cablaggio;
Fasi di un progetto [Art. 16 comma 1] La progettazione si articola, nel rispetto dei vincoli esistenti, preventivamente accertati, e dei limiti di spesa prestabiliti, secondo tre livelli di successivi approfondimenti tecnici: 1. Preliminare; 2. Definitiva; 3. Esecutiva; Tali fasi sono disposte in modo da assicurare a) La qualità dell’opera e la rispondenza alle finalità relative; b) La conformità alle norme ambientali e urbanistiche; c) Il soddisfacimento dei requisiti essenziali, definiti dal quadro normativo nazionale e comunitario N.B.: Il livello di dettaglio da raggiungere in ogni parte del progetto è variabile in base al tipo dell’edificio in cui si andrà ad effettuare la messa in opera e del mittente (pubblico o privato). [Art.16 comma 3] Il progetto preliminare definisce le caratteristiche qualitative e funzionali dei lavori, il quadro delle esigenze da soddisfare e delle specifiche prestazioni da fornire (…) [Art. 16 comma 4] Il progetto definitivo individua compiutamente i lavori da realizzare nel rispetto delle esigenze, dei criteri, dei vincoli, degli indirizzi e delle indicazioni stabiliti nel progetto preliminare (…) [Art. 16 comma 5] Il progetto esecutivo, redatto in conformità al progetto definitivo, determina in ogni dettaglio i lavori da realizzare ed il relativo costo previsto e deve essere sviluppato ad un livello di definizione tale da consentire che ogni elemento sia identificabile in forma, tipologia, qualità dimensione e prezzo (…)
Documenti da presentare insieme ad un progetto [Art. 4 comma 2] I progetti debbono contenere gli schemi dell’impianto e i disegni planimetrici, nonché una relazione tecnica sulla consistenza e sulla tipologia dell’installazione, della trasformazione o ampliamento dell’impianto stesso (…)
151
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
CSMA/CA (CSMA Collision Avoidance) Questo approccio, utilizzato per le connessioni wireless, deriva da quello CSMA/CD, ed è utilizzato per reti Wireless. Il CSMA/CD non va bene per WLAN in quanto • • •
Una radio Full Duplex è molto costosa; La potenza del segnale in trasmissione sarebbe comunque tale da mascherare tutti gli altri segnali in aria; In un ambiente wireless non si può assumere che tutte le stazioni possano ascoltarsi (raggio d’azione limitato), quindi non sarebbe possibile rilevare collisioni avvenute fuori l’area di copertura della stazione trasmittente;
SI applicano quindi degli ulteriori accorgimenti al CSMA/CD: • • •
•
Il passaggio dallo stato occupato allo stato libero del mezzo è il momento in cui la probabilità di avere collisioni è più elevata; Più stazioni potrebbero aver atteso la disponibilità del mezzo e decidere quindi di trasmettere contemporaneamente, con inevitabili collisioni che non sarebbero rilevabili; Poiché trasmettere non appena il canale risulta libero per poi eventualmente rilevare le collisioni (Collision Detection) non è una buona soluzione nel caso wireless, il CSMA/CA cerca di evitarle (Collision Avoidance), o almeno di ridurne la probabilità; Per far ciò, Il CSMA/CA utilizza una procedura di backoff casuale per risolvere la contesa del mezzo tra più stazioni in attesa di trasmettere;
Il protocollo è Il tempo di trasmissione è suddiviso in slot temporali ed una stazione può cominciare a trasmettere solo all’inizio di uno slot: 1. La stazione trasmittente cerca di determinare lo stato del mezzo valutando il contenuto del proprio NAV (Network Allocation Vector) ed ascoltando il mezzo: a. Se il canale è libero per un tempo DIFS, salta al punto 3; b. Se il canale è occupato o viene occupato nel tempo DIFS, salta al punto 2; 2. La stazione trasmittente avvia la procedura di backoff; 3. La stazione trasmittente emette un RTS (Request to Send); 4. Se la stazione trasmittente in un certo intervallo non riceve il CTS (Clear to Send), vuol dire che molto probabilmente l’RTS ha colliso, ciò significa che due stazioni hanno scelto lo stesso slot nella finestra di backoff, per cui la stazione trasmittente raddoppia la finestra di backoff e poi ripete dal punto 2.
La procedura di backoff
È il meccanismo usato per risolvere la contesa tra stazioni che vogliono accedere al mezzo.
152
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Minimizza le collisioni durante la contesa tra più stazioni che hanno ritardato la trasmissione in corrispondenza dello stesso evento. È invocata: • Quando la stazione rileva il canale come occupato prima della trasmissione del primo frame; • Dopo ciascuna ritrasmissione; • Dopo una trasmissione avvenuta con successo Pacchetti trasmessi successivamente dalla stessa stazione sono sempre separati di almeno un tempo di backoff; Non è invece invocata quando una stazione decide di trasmettere il primo frame ed il mezzo è risultato libero per un intervallo di tempo fissato; In pratica serve a definire un tempo casuale da far attendere ad un apparato prima di ritrasmettere. • L’intervallo in cui scegliere questa quantità di tempo si allarga al crescere delle collisioni provate da quell’apparato.
153
Reti di Calcolatori: Architetture e Servizi Andrea Della Corte
Dario Pecorale
Fases de un proyecto y instalacion 1. Optimismo general
2. Fase de desorientacion 3. Desconcierto general
4. Periodo de cachondeo incontrolado 5. Buscada implacable de culpables 6. Salvese el que pueda
7. Castigo ejemplar a los inocentes
8. Recuperacion del optimismo perdido
9. Terminacion inexplicable de la instalacion
10. Condecoraciones y premios a los no partecipantes
Domande d’esame Esame del 24/01/07 - Cablaggio strutturato - Protocolli MAC (CSMA/CD, Aloha, ecc) - Tempo di contesa nel protocollo CSMA/CD e exponential backoff - Algoritmi di Routing - Cavi UTP - CSMA/CA - Perché si usa la fibra nel cablaggio verticale - Definizione di banda passante - Cos'e' la categoria dei cavi - Differenza tra algoritmi di routing adattativi e non adattativi - Architettura fisica dei Router - Tecniche di gestione delle congestioni - Fixed Directory Routing - Frame Ethernet - Trasmissione seriale - Codifica Manchester Per la lode - Leggi 46/90 e 626/94 e collegamento con l'ingegnere - Albi degli ingegneri, come funzionano, quali sono, è possibile che un informatico si scriva all'albo edile? - Fasi di un progetto - Documenti da presentare per un progetto 154