Lo strato di collegamento e le reti Ethernet Modulo 5 (Unità 1-2-3)



Documenti analoghi
Reti LAN. IZ3MEZ Francesco Canova

Networking e Reti IP Multiservizio

Reti di Calcolatori. Il software

Dispositivi di rete. Ripetitori. Hub

ARCHITETTURA DI RETE FOLEGNANI ANDREA

CLASSIFICAZIONE DELLE RETI

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Soluzioni verifica parte 4

GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6

Linee Commutate. Comunicazione telefonica:

CAPITOLO 1. Introduzione alle reti LAN

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

Introduzione alle Reti Telematiche Centro Multimediale Montiferru

Fast Ethernet. Caratteristiche generali

il progetto ieee 802

Parte II: Reti di calcolatori Lezione 24

Corso di Informatica

Sottolivello MAC - Medium Access Protocol

TEST DI RETI DI CALCOLATORI I (9400N) anno 1999/2000

LIVELLO DATA LINK (DI LINEA)

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Evoluzione della rete Ethernet

Protocolli di accesso multiplo

GLI INDIRIZZI DELL INTERNET PROTOCOL (IP ADDRESS) 2. Fondamenti sugli indirizzi dell Internet Protocol 2. Struttura di un indirizzo IP 2

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 3 a lezione a.a. 2009/2010 Francesco Fontanella

i nodi i concentratori le dorsali

Reti di calcolatori ed indirizzi IP

Laboratorio di reti Relazione N 5 Gruppo 9. Vettorato Mattia Mesin Alberto

Apparecchiature di Rete

Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008

INFOCOM Dept. Antonio Cianfrani. Virtual LAN (VLAN)

Reti e Internetworking

Il livello Data-Link e i suoi protocolli

Informatica per la comunicazione" - lezione 8 -

Classificazione delle tecniche di accesso multiplo

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Internet. Introduzione alle comunicazioni tra computer

Inizializzazione degli Host. BOOTP e DHCP

Per essere inviato il dato deve essere opportunamente codificato in modo da poter essere trasformato in SEGNALE, elettrico oppure onda luminosa.

SISTEMI DI NUMERAZIONE E CODICI

SWITCH. 100 Mb/s (UTP cat. 5E) Mb/s SWITCH. (UTP cat. 5E) 100 Mb/s. (UTP cat.

Lo Stack TCP/IP: Le Basi

INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP FORME DI INDIRIZZI IP CINQUE FORME DI INDIRIZZI IP

Protocollo IP e collegati

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Il protocollo MODBUS. Il protocollo MODBUS Pag. 1 di 11

RC4 RC4. Davide Cerri. Davide Cerri CEFRIEL - Politecnico di Milano cerri@cefriel.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Reti di Telecomunicazione Lezione 8

Quanto sono i livelli OSI?

Parte II: Reti di calcolatori Lezione 22

Cos'è una vlan. Da Wikipedia: Una LAN virtuale, comunemente

Parte II: Reti di calcolatori Lezione 21

Informatica per la comunicazione" - lezione 8 -

Reti di Calcolatori:

RETI E SOTTORETI. Copyright 2010 Marco Salatin Pagina 1


Reti locali LAN (Local Area Networks)

Reti e Sistemi per l Automazione MODBUS. Stefano Panzieri Modbus - 1

Soluzione dell esercizio del 2 Febbraio 2004

VPN CIRCUITI VIRTUALI

I COMPONENTI DI UNA RETE

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

Comunicazione codifica dei dati. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

4 3 4 = 4 x x x 10 0 aaa

Ethernet Truncated Binary Exponential Back-off (TBEB)

Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00

1) GESTIONE DELLE POSTAZIONI REMOTE

Elementi di Informatica e Programmazione

Transmission Control Protocol

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella

Rete LAN ed Ethernet. Tipi di reti Ethernet

Analisi di Protocolli

SAPIENZA Università di Roma Facoltà di Ingegneria

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Laboratorio di Informatica Corso di laurea in Lingue e Studi interculturali. AA Paola Zamperlin. Internet. Parte prima

8 Interconnessione delle reti

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Protocolli di Comunicazione

Sistema ATM con rete NetRail. Divisione elco srl

Gestione della memoria centrale

Reti e Internet: introduzione

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 4

ARP (Address Resolution Protocol)

Elementi di Informatica e Programmazione

Strutturazione logica dei dati: i file

Hardware delle reti LAN

Nelle reti locali il livello 2 dlla pila OSI è suddiviso in: . delimitazione di trama (effettuata dal sottostrato MAC);

Reti di Calcolatori

DA SA Type Data (IP, ARP, etc.) Padding FCS

RETI DI TELECOMUNICAZIONE

Determinare la grandezza della sottorete

Cos è. Protocollo TCP/IP e indirizzi IP. Cos è. Cos è

Linux User Group Cremona CORSO RETI

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Universal Serial Bus (USB)

Networking e Reti IP Multiservizio

3. Introduzione all'internetworking

Transcript:

Lo strato di collegamento e le reti Ethernet Modulo 5 (Unità 1-2-3) Il livello 2, Data-Link, è suddiviso in due sottolivelli: - il sottolivello MAC (Media Access Control) - il sottolivello LLC (Logical Link Control) Il sottolivello MAC contiene parecchie tecnologie di accesso al mezzo condiviso standardizzate dal progetto IEEE 802 (IEEE sta per Institute of Electrical and Electronics Engineers), alcuni sono: - IEEE 802.3 per reti Ethernet - IEEE 802.5 per reti Token-Ring - IEEE 802.11 per reti a fibre Wireless Sottolivello MAC (pag.304) Il sottolivello MAC si occupa di tutto quello che riguarda l accesso al mezzo trasmissivo che è condiviso dalla rete: determina chi può utilizzare il mezzo trasmissivo in un certo momento e stabilisce dove iniziano i frame di dati e dove finiscono. Per richiedere l accesso al canale il livello MAC può usare due protocolli di accesso: - protocollo ad accesso controllato, ovvero prima di trasmettere è in possesso del controllo del mezzo per evitare le collisioni (es. rete Token Ring) - protocollo ad accesso causale, ovvero trasmette senza avere controllo del mezzo e quindi esiste la possibilità di collisioni (es. rete Ethernet con CSMA/CD) Il sottolivello MAC si occupa anche delle schede di rete NIC (Network Interface Card) e delle connessioni alle schede. Ogni scheda ha un indirizzo univoco, a livello mondiale, detto MAC ADDRESS costituito da un codice di 6 ottetti (6 byte da 8 bit = 48 bit). I primi 3 ottetti sono detti OUI (Organizationally Unique Identifier) e si riferiscono all azienda che l ha prodotta, gli altri 3 sono un identificativo della singola scheda, fissato dall azienda. Gli ottetti vengono solitamente rappresentati in formato esadecimale, separando ciascun ottetto con un trattino o con i due punti. Un esempio di indirizzo MAC è "00-08-74-4C-7F-1D". Confrontando i primi tre ottetti con le assegnazioni OUI si può osservare come esso appartenga alla Dell Corporation, mentre gli ultimi tre ottetti rappresentano il numero seriale assegnato al componente dal produttore. Ogni scheda ha un indirizzo unico perché i primi 24 bit sono identificativi della casa produttrice e i successivi della scheda. In questo modo ogni casa produttrice ha a disposizione 2 24 indirizzi, quindi 1

può produrre più di 16 milioni di schede; se un produttore ne produce meno, gli indirizzi (a 48 bit) non assegnati vengono persi, non potendo essere utilizzati da altri costruttori. Si comprende, quindi, come l'indirizzo MAC non cambi se si sposta una scheda di rete da una LAN ad un'altra, mentre invece può cambiare l'indirizzo IP. Gli indirizzi MAC non sono mai acceduti dall utente ma è il Sistema Operativo che associa il nome del computer al suo indirizzo MAC, rilevandolo dalla scheda di rete NIC. Per individuare l indirizzo MAC di una scheda presente in qualsiasi computer, in ambiente Windows da prompt dei comandi digitare ipconfig /all. Indirizzi IEEE EUI-64 L'indirizzo IEEE EUI-64 rappresenta un nuovo standard per l'indirizzamento delle interfacce di rete. L'ID azienda di 24 bit e l'id estensione di 40 bit creano uno spazio di indirizzi di dimensioni maggiori per il produttore di schede di rete. Sottolivello LLC (pag.313) Il sottolivello LLC è un interfaccia verso il livello di rete nel modello OSI. Qualunque sia la tecnologia utilizzata per accedere al mezzo trasmissivo, il sottolivello LLC fornisce al livello di rete (livello 3) il trasporto affidabile dell informazione tra due punti. In dettaglio può fornire servizi di controllo di flusso, conferma, rilevazione degli errori. L'LLC può fornire al livello superiore tre distinte modalità di servizio: Tipo 1 (logical data link) è un servizio non affidabile e non orientato alla connessione, costituito da singoli frame che vengono trasmessi in modo indipendente l'uno dall'altro e senza richiedere alcuna comunicazione preliminare. È possibile la trasmissione verso una sola stazione (unicast), più stazioni (multicast) o l'intera rete (broadcast). Non è garantita la consegna dei singoli elementi e neppure che sia rispettata la sequenza di trasmissione. Non è prevista alcuna forma di correzione degli errori né di controllo di flusso; qualora tali funzioni siano necessarie, devono essere fornite dai protocolli di livello superiore. Tipo 2 (data link connection) è un servizio affidabile e orientato alla connessione, che richiede l'apertura di un canale di comunicazione tra una stazione sorgente e una destinazione (unicast o punto-punto) per consentire lo scambio dei dati. Sono presenti meccanismi di correzione degli errori e di sequenziamento che garantiscono la consegna dei dati inviati nella sequenza di trasmissione. Tipo 3 è una modalità di servizio logical data link alternativa, affidabile e non orientata alla connessione, che prevede una conferma di ricezione (acknowledge) per i frame inviati e garantisce la consegna ordinata dei dati trasmessi, senza richiedere prima la connessione. La rete Ethernet, IEEE 802.3 e tecniche a contesa La rete Ethernet rappresenta oggi la rete LAN più nota e più diffusa. La nascita di Ethernet risale al 1976 quando Xerox utilizzò un metodo di accesso al mezzo trasmissivo di tipo a contesa, chiamato CSMA/CD, per realizzare una rete locale con una velocità di 2,94 Mbit/s per collegare oltre 100 stazioni. Ethernet incontrò subito un notevole successo per la sua semplicità realizzativa e le elevate prestazioni; per questo motivo Digital, Intel e Xerox formarono un consorzio DIX per elaborare le specifiche della rete Ethernet alla velocità trasmissiva di 10 Mbit/s. 2

La rete Ethernet è stata standardizzata come IEEE 802.3 e mentre nella prima versione veniva utilizzata la topologia a bus, dove tutte le stazioni condividevano il mezzo trasmissivo cavo coassiale; con l'utilizzo di dispositivi di rete quali gli hub e switch si ottenne una nuova versione di Ethernet con un collegamento fisico a stella, ovvero con uno switch funzionante da centro stella ed eventuali hub per aumentare l'affidabilità della rete e facilitare la ricerca di difetti nel cavo. I mezzi trasmissivi utilizzati sono il doppino UTP e la fibra ottica. La velocità trasmissiva può essere di 10 Gbit/s. Esempi di reti Ethernet Uno spinotto RJ45 va alla scheda montata nel computer che si vuole collegare, l'altro all'hub. È possibile anche collegare fra di loro due soli computer provvisti di scheda Ethernet; in questo caso si usa un cavo incrociato, con i collegamenti diversi rispetto a quelli di un cavo Ethernet normale. Tecnica a contesa CSMA/CD Le caratteristiche di 802.3 sono ben riassunte nell'acronimo CSMA/CD: Carrier Sense: ogni stazione sulla rete locale ascolta continuamente il mezzo trasmissivo; Multiple Access: il mezzo trasmissivo è condiviso da ogni stazione; Collision Detection: le stazioni sono in grado di rilevare la presenza di collisioni dovute alla trasmissione simultanea, e reagire di conseguenza. La tecnica fu sviluppata nel 1970 e rappresenta una pietra miliare nella storia delle reti e di Internet. Il metodo di accesso CSMA/CD prevede che, prima di trasmettere, una stazione "ascolti" il mezzo di trasmissione per determinare se un'altra stazione stia trasmettendo un messaggio nello stesso momento (in pratica attende di percepire uno spazio vuoto tra le trasmissioni di rete). Se nessun'altra stazione sta trasmettendo, allora la stazione invia il suo messaggio, ed esso viaggia verso tutte le altre stazioni sulla rete. Ogni stazione ricevente a sua volta esamina l'indirizzo allegato al messaggio ricevuto: se tale indirizzo la riguarda direttamente, allora il messaggio sarà ricevuto ed elaborato da essa. Con CSMA/CD può accadere che due o più stazioni inviino contemporaneamente i loro messaggi, producendo una trasmissione confusa detta collisione. Tutte le stazioni sulla rete, incluse quelle trasmittenti, sono continuamente in ascolto del mezzo trasmissivo e sono in grado di rilevare la collisione. Le stazioni riceventi ignorano la trasmissione confusa, mentre le stazioni trasmittenti sospendono immediatamente la trasmissione non appena rilevano una collisione. In seguito ad una collisione ogni stazione trasmittente resta in attesa per un certo periodo di tempo, dopo di che riprova a trasmettere. Se tutte le stazioni trasmittenti attendessero lo stesso intervallo di tempo prima di ritrasmettere, sarebbe molto probabile un'altra collisione; per evitare questa 3

evenienza, ogni stazione genera dapprima un numero casuale, che determina l'intervallo di tempo per cui dovrebbe restare in attesa prima di ritrasmettere dopo una particolare collisione. Un vantaggio fondamentale del metodo CSMA/CD è che l'accesso al mezzo fisico è solitamente velocissimo perché viene facilitato dagli HUB che con il loro circuito sono in grado di smistare i pacchetti trasmessi ad una velocità molto superiore a quelle delle medie della rete evitando in gran parte i conflitti e migliorando considerevolmente le prestazioni di tutte le reti. Tuttavia, in condizioni di traffico più gravose, il numero di collisioni cresce, per cui il tempo impiegato per rispondere alle collisioni e per ritrasmettere può causare un deterioramento delle prestazioni della LAN. Abbiamo detto che per rilevare il verificarsi di queste collisioni, una stazione in fase di trasmissione continua ad ascoltare i segnali sul canale, confrontandoli con quelli da lei generati. Nel caso in cui sia rilevata una collisione vengono effettuate le seguenti azioni: la stazione trasmittente sospende la trasmissione e invia una sequenza di jamming (interferenza trasmissiva) composta da 32 bit per avvertire le altre stazioni della collisione; le stazioni in ascolto, intercettando il jamming, scartano i bit ricevuti; la stazione trasmittente ripete il tentativo di trasmissione dopo un tempo di attesa generato in modo casuale utilizzando un algoritmo detto algoritmo di back-off. Il numero massimo di tentativi di ritrasmissione è 16. Indichiamo con T il tempo di propagazione del segnale tra due qualsiasi stazioni presenti sulla rete A e B. A T = Tempo di propagazione B Supponiamo che A inizi a trasmettere all'istante t. La stazione B non si accorgerà che il canale è occupato da un'altra stazione fino all'istante t+t e quindi può inviare un proprio messaggio prima di tale istante. All'istante t+t la stazione B rivela la collisione, cessa di trasmettere il messaggio che aveva iniziato a trasmettere ed invia un pacchetto di jamming. La stazione A riceve il pacchetto di jamming all'istante t+2t e soltanto a questo istante, cioè dopo un intervallo di 2T, essa è in grado di rivelare la sovrapposizione del proprio messaggio con quello generato da un'altra stazione. Se indichiamo con T il tempo massimo di propagazione del segnale tra due qualsiasi stazioni presenti sulla rete, 2T rappresenta il tempo massimo di trasmissione per una stazione prima di accorgersi di una collisione. Il tempo 2T prende il nome di round-trip delay (o RTT, cioè roundtrip time). Il Round Trip Time o Round Trip Delay è quindi una misura del tempo impiegato da un pacchetto per viaggiare da un computer della rete ad un altro e tornare indietro (tipicamente, un'andata clientserver ed il ritorno server-client). Caratteristiche dell algoritmo di back-off Nel caso di collisione tra due o più stazioni il protocollo CSMA/CD sceglie in modo casuale l istante di ritrasmissione per ciascuna stazione utilizzando l algoritmo di Back-Off. In pratica, considerando un tempo di attesa minimo (slot time) di 51,2 microsecondi, il tempo di attesa è dato da un numero r moltiplicato per il tempo di attesa minimo=51,2 microsecondi, dove r è un numero casuale ottenuto secondo la seguente regola: 4

Si sceglie un numero casuale k=min{n,10} dove n è il numero delle collisioni (quindi se n<=10 si ha che K=n; se 10<n<=16 allora K=10); il tempo di attesa prima di trasmettere con il canale libero è t a = r x 51,2, dove 0<=r<=2 k -1. Dopo 16 collisioni consecutive viene inviato un messaggio di errore al livello superiore e la trasmissione viene sospesa. Ogni volta che avviene una collisione k aumenta e con esso il limite massimo che r può assumere. Formato del frame Ethernet (IEEE 802.3) Lo standard IEEE 802.3 è attualmente il più diffuso. Il formato dei pacchetti IEEE 802.3 è il seguente: Contenuto Preambolo Inizio Frame Indirizzo MAC destinazione Indirizzo MAC sorgente Lunghezza dei dati Dati Pad FCS Spiegazione Si tratta di una sequenza di segnali 1 e 0 che consente di sincronizzare il clock del ricevitore con quello del trasmettitore. In particolare contiene la sequenza di bit 10101010. Questo campo è composto da un byte, la cui sequenza di bit è 10101011 (in esadecimale AB). Gli ultimi due 1 segnalano la fine del segnale di sincronismo e l inizio del frame vero e proprio. 6 byte del MAC address della scheda di rete del destinatario 6 byte del MAC address della scheda di rete del sorgente Lunghezza dei dati da 0 a 1500 byte Payload del livello superiore Sono i dati veri e propri che verranno trasmessi con questo frame. I dati possono ammontare al massimo a 1500 byte. Ha una lunghezza variabile tra 0 e 46 byte e viene introdotto per garantire che la lunghezza minima del pacchetto non sia inferiore a 64 byte. Se il frame è più corto di 64 byte con questo campo si porta il frame alla lunghezza di 64byte. Questo valore minimo del pacchetto è necessario per un corretto funzionamento del protocollo CSMA/CD (serve per permettere al ricevitore di distinguere tra la ricezione di una trama e la ricezione di frammenti prodotti da una collisione). È il codice CRC (codice di controllo del frame) Di tale standard ne esistono alcune varianti in relazione ai mezzi fisici utilizzati. I principali sono: 10Base-2, 10Base-5, 10 Base-T, 100Base-TX, 100 Base-FX. - Il primo numero indica la velocità massima, espressa in megabit al secondo, raggiungibile dalla rete; - Il termine "Base" indica che la tecnologia Ethernet è la base del sistema. - Le categorie 10 Base-5 (Thick ethernet) e 10 Base-2 (Thin ethernet) a bus - hanno mezzo fisico cavo coassiale. - Gli standard 10 Base-T e 100 Base-T (Fast Ethernet) vengono utilizzati nelle topologie fisiche a stella. La lettera, in questo caso, indica il tipo di cavo. "T " sta per "Twisted pair", il doppino 5

intrecciato che può essere a sua volta non schermato (UTP - Unshielded Twisted Pair) o schermato (STP - Shielded Twisted Pair). - Nel 100 Base-FX la lettera "F" indica il cavo in fibra ottica ("Fiber"). Rilevamento degli errori La rilevazione d'errore consiste nella capacità di scoprire la presenza di errori causati dal rumore o da altri fenomeni deterioranti durante una trasmissione di dati. Un importante funzione del livello data link nelle reti è rappresentata dal rilevamento degli errori di trasmissione. Il nodo che riceve il messaggio deve essere in grado di determinare l integrità del messaggio, per far ciò il nodo trasmittente aggiunge alcuni bit di controllo FCS (Frame Check Sequence). Per calcolare l FCS, l host trasmittente applica un algoritmo matematico alla stringa di bit che invia. Lo stesso algoritmo viene poi applicato dall host ricevente che confronta il risultato ottenuto con quello ricevuto ed è in grado di determinare se il frame di dati è arrivato integro. In caso di errore verrà richiesto il rinvio del frame al mittente. Calcolo dei Codici CRC I Cyclic Redundancy Code (CRC), noti anche come polynomial code, sono basati sull'idea di considerare le stringhe di bit come rappresentazioni di polinomi a coefficienti 0 e 1 (un numero ad m bit corrisponde ad un polinomio di grado m-1). Ad esempio, la stringa di bit 1101 corrisponde al polinomio x 3 + x 2 + x 0. L'aritmetica polinomiale è fatta in modulo 2, secondo le regole della teoria algebrica dei campi. In particolare: addizione e sottrazione sono equivalenti all'or esclusivo (non c'è riporto o prestito); la divisione è come in binario, calcolata attraverso la sottrazione modulo 2. Per utilizzare questo metodo di controllo, il mittente ed il destinatario si mettono d'accordo su un polinomio generatore G(x), che deve avere il bit più significativo e quello meno significativo entrambi uguali ad 1. Supponiamo che G(x) abbia grado r. Il frame M(x), del quale si vuole calcolare il checksum, deve essere più lungo di G(x). Supponiamo che abbia m bit, con m > r. L'idea è di appendere in coda al frame un checksum tale che il polinomio corrispondente sia divisibile per G(x). Quando il ricevente riceve il frame più il checksum, divide il tutto per G(x). Se il risultato è zero è tutto OK, altrimenti c'è stato un errore. Il calcolo del CRC si effettua come segue: 1. Accodare r bit a destra del frame, che quindi ha m+r bit, e corrisponde ad x r M(x); 2. Dividere x r M(x) per G(x); 3. Accodare ad x r M(x) il resto della divisione effettuata al passo precedente. Ciò che si ottiene è il frame più il checksum da trasmettere, che è ovviamente divisibile per G(x). Si noti che di fatto questa è un'operazione di XOR fatta sugli r bit meno significativi, e quindi non modifica il frame. 6

Questo metodo è molto potente, infatti un codice polinomiale con r bit: rileva tutti gli errori singoli e doppi; rileva tutti gli errori di x bit, x dispari; rileva tutti i burst (gruppi contigui) di errori di lunghezza <= r. Tra i polinomi sono diventati standard internazionali: CRC-12: x 12 + x 11 + x 3 + x 2 + x 1 + 1; CRC-16: x 16 + x 15 +x 2 + 1; CRC-CCITT: x 16 + x 12 + x 5 + 1; Ad esempio la sequenza 10100011 si può rappresentare con il polinomio P(x) = 1 x7 + 1x5 + 1x1 + 1x0 ovvero M(x) = x7 + x5 + x1 + x0 Si divide il polinomio del messaggio per il polinomio generatore di grado r <= s-1 aggiungendo r zeri e dividendo in modulo 2. G(x) = x 3 +1 1001 10100011000 : 1001 in modulo 2 Considerando le regole del modulo 2: 0-0 = 0 0-1 = 1 1-0 = 1 1-1 = 0 Q(x) = 10110101 R(x) = 101 il dato da trasmettere è 10100011 101 dove R(x) è il CRC ed è la parte che viene aggiunta al messaggio da trasmettere. Esempio 1. Calcolare il CRC. Sia: M(x) = x 3 + x 2 + x G(x) = x 2 + 1 - M(x) il messaggio da trasmettere (su k bit) 1110 - G(x) il polinomio generatore 101 111000 : 101 = 1101 il quoziente viene ignorato ai fini del calcolo del CRC 101 =100 101 il divisore sta dentro il dividendo perché ha gli stessi bit significativi ==100 101 =01 è il CRC, quindi il messaggio da trasferire sarà: 111001 Il ricevente divide, sempre in modulo 2, il messaggio ricevuto (compreso di CRC), se il resto è 0 la ricezione è corretta, altrimenti no. Esempio 2 7

Si deve trasmettere il messaggio 1101011011 (dieci bit) utilizzando l algoritmo CRC per la rilevazione d errore ed il polinomio generatore di grado 4: x 4 +x 1 +x 0. Determinare il messaggio trasmesso considerando che per ottenere il CRC devono essere aggiunti quattro zeri al messaggio da trasmettere. Risposta: 11010110110000: 10011=1110 = Resto = CRC 11010110110000 : 10011 = 11000010 il quoziente viene ignorato ai fini del calcolo del CRC 10011 =10011 10011 =00001 = 00010 = 00101 = 01011 = 10110 10011 =01010 =10100 10011 =01110 =1110 è il CRC, quindi il messaggio da trasferire sarà: 10011001000 la trasmissione sarebbe 11010110111110 Esempio 3. Sia: M(x) = x 6 + x 3 + x 2 G(x) = x 4 + 1 - M(x) il messaggio da trasmettere (su k bit) 1001100 - G(x) il polinomio generatore 10001 100110 : 10001 = 1001000 il quoziente viene ignorato ai fini del calcolo del CRC 10001 =00100 =01000 =10000 10001 =00010 =00100 =01000 =1000 è il CRC, quindi il messaggio da trasferire sarà: 10011001000 8

Rete Token Ring (IEEE 802.5) Una rete Token Ring è una LAN nella quale i computer sono collegati punto-punto con topologia logica ad anello che, per evitare la collisione di dati trasmessi contemporaneamente da due computer della rete, impiega un protocollo chiamato appunto Token Ring. La rete token ring è stata sviluppata da IBM negli anni 70 come risposta alla rete Ethernet ed è utilizzata principalmente all interno di tali sistemi. È stata poi standardizzata dall IEEE nella specifica 802.5. Aveva inizialmente una velocità trasmissiva di 4 MHz, poi a 16 MHZ, ma il suo costo di implementazione è molto superiore alla rete Ethernet, per questo ha scarse prospettive di sviluppo. Inoltre, sebbene da un punto di vista teorico sia più efficiente dell'ethernet, è stata superata da quest'ultima per l'alta commercializzazione. Infatti, l'ethernet grazie alle implementazioni sempre più veloci e all'introduzione degli switch (che evitano i conflitti) ha surclassato le implementazioni della Token Ring. Schema di una rete Token ring Si basa su un modello di accesso di tipo token passing (passaggio di gettone) e funziona come segue: 1) i vari sistemi si passano periodicamente l un l altro, in maniera circolare, un particolare segnale (gettone), detto token, che è una semplice configurazione di bit e può assumere 2 stati logici: vuoto o pieno (il token serve appunto per evitare le collisioni); 2) Se il token è vuoto significa che esso non trasporta alcuna informazione ed il sistema che lo riceve, se lo desidera, può inviare sulla rete un pacchetto, inserendolo nel frame del token al quale provvederà a cambiare lo stato, da vuoto a pieno (questo implica la semplice modifica da 0 a 1 nella parte del frame che indica i bit del token) altrimenti reinserisce sulla rete il token vuoto, come lo ha ricevuto; 3) Se il token è pieno, il sistema che lo riceve verifica se il destinatario indicato nel pacchetto trasportato è lui stesso. In caso positivo preleva il pacchetto dalla rete, ne fa una copia e reinserisce sulla rete il token e il pacchetto ricevuto (sul pacchetto aggiorna il byte FS che vedremo dopo); altrimenti reinserisce semplicemente sulla rete il token ed il pacchetto così come li ha ricevuti; 4) Quando il pacchetto arriva all host che lo aveva generato, questo lo toglie dalla rete (cancellandolo dal frame del token) e rimette in circolo il token vuoto. Il pacchetto contenente il messaggio viene letto quindi da tutti i computer che si trovano a valle (downstream) fino a che non raggiunge il destinatario. Può trasmettere solo un computer alla volta, quello in possesso del token, e, ogni volta che riceve il token, può trasmettere al massimo un solo frame, quindi deve consegnare il token al terminale vicino. Ogni terminale prima o poi riceverà il token ed avrà quindi la possibilità di trasmettere. I dispositivi di rete garantiscono la presenza di un solo token sull'anello, e provvedono a rigenerarne uno qualora questo venga perso a causa di guasti nella rete o al calcolatore che l'ha preso in consegna. 9

Generazione del token In una rete Token Ring c è una stazione, detta ACTIVE MONITOR, che gestisce alcune funzioni molto importanti della rete. Tra le sue funzioni c è quella fondamentale di generare la prima volta il token e rigenerarlo ogni volta che è necessario (cioè se è stato cancellato, se si è perso, o altro). Come viene designato l Active Monitor: In fase di startup della rete tutti gli host connessi trasmettono in broadcast un frame che contiene il proprio indirizzo MAC e contemporaneamente ricevono gli indirizzi MAC delle altre stazioni. Quando un host riceve un indirizzo numericamente maggiore del proprio, interrompe l invio del proprio MAC. Alla fine solo una stazione trasmetterà il proprio MAC e quello è l ACTIVE MONITOR. Rilascio del TOKEN Normale Abbiamo detto che in una rete Token ring ogni stazione ha un collegamento punto-punto con le stazioni vicine, tuttavia ha caratteristiche di tipo broadcast per il tipo di funzionamento, ovvero perché il frame fa un giro completo dell anello ed è ricevuto da tutte le stazioni della rete : - quando riceve un messaggio, l host verifica se è lui il destinatario verificando l indirizzo di destinazione, in tal caso fa una copia locale del messaggio e lo rimette in rete, altrimenti lo rimette in rete senza averne fatto la copia. Quando il frame arriva all host che lo aveva generato, questo lo toglie dalla rete e rimette in circolo il token vuoto. Forzato Il rilascio del token può essere anche forzato. Questo avviene per permettere una maggiore efficienza della rete e sfrutta il passaggio del token per trasmettere altri frame senza aspettare che il frame concluda il giro dell anello. In dettaglio, consideriamo 4 stazioni, A,B,C,D, in una rete token ring: - A deve trasmettere, quindi cattura il token, inizia a trasmettere P1 e anziché aspettare di ricevere la trama rilascia il token (nel senso che non lo setta pieno ma vuoto) dopo la trasmissione del frame P1; - B cattura il token, trasmette il frame P2 (ovvero accoda il frame P2 al frame P1) e rilascia il token; - A riceve il frame P1 e lo toglie dal ciclo (nel senso che lo elimina dal pacchetto che sta girando); - B riceve il frame P2 e lo toglie dal ciclo; - il token rimane in circolo per essere catturato. 10