MOD5_1_Reti Ethernet-TokenRing

Transcript

MOD5_1_Reti Ethernet-TokenRing
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 224 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
B
T = Tempo di propagazione
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 è
ta= r x 51,2, dove 0<=r<=2k -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
Spiegazione
Preambolo
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
Inizio Frame
Indirizzo MAC
destinazione
Indirizzo MAC
sorgente
6 byte del MAC address della scheda di rete del sorgente
Lunghezza dei dati
Lunghezza dei dati da 0 a 1500 byte
Dati
Payload del livello superiore
Pad
FCS
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 x3 + x2 + x0.
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 xr M(x);
2. Dividere xr M(x) per G(x);
3. Accodare ad xr 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: x12 + x11 + x3 + x2 + x1 + 1;
• CRC-16: x16 + x15 +x2 + 1;
• CRC-CCITT: x16 + x12 + x5 + 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.
1001
G(x) = x3 +1
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) = x3+ x2+ x
- M(x) il messaggio da trasmettere (su k bit)
- G(x) il polinomio “generatore”
G(x) = x2 + 1
1110
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: x4+x1+x0. 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
00000
= 00010
00000
= 00101
00000
= 01011
00000
= 10110
10011
=01010
00000
=10100
10011
=01110
00000
=1110 è il CRC, quindi il messaggio da trasferire sarà: 10011001000
la trasmissione sarebbe 11010110111110
Esempio 3.
Sia: M(x) = x6+ x3+ x2
G(x) = x4 + 1
- M(x) il messaggio da trasmettere (su k bit)
- G(x) il polinomio “generatore”
1001100
10001
10011000000 : 10001 = 1001000 il quoziente viene ignorato ai fini del calcolo del CRC
10001
=00100
00000
=01000
00000
=10000
10001
=00010
00000
=00100
00000
=01000
00000
=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