RETI DI CALCOLATORI
Parte Terza
IEEE 802.3
CSMA/CD
(ETHERNET)
Gianfranco Prini
DICO - Università di Milano
[email protected]
NOTA DI COPYRIGHT
•
•
•
•
•
•
Queste trasparenze (slide) sono protette dalle leggi sul copyright e dalle disposizioni dei
trattati internazionali. Il titolo e il copyright delle slide (ivi inclusi, ma non limitatamente,
ogni immagine, fotografia, animazione, video, audio, musica, testo, tabella, disegno) sono
di proprietà dell'autore.
Le slide possono essere riprodotte e utilizzate liberamente dagli istituti di ricerca, scolastici
e universitari italiani afferenti al Ministero dell’Istruzione, dell’Università e della Ricerca per
scopi istituzionali e comunque non a fini di lucro. In tal caso non è richiesta alcuna
autorizzazione.
Ogni altro utilizzo o riproduzione, completa o parziale (ivi incluse, ma non limitatamente, le
riproduzioni su supporti ottici e magnetici, su reti di calcolatori e a stampa), sono vietati se
non preventivamente autorizzati per iscritto dall'autore.
L'informazione contenuta in queste slide è ritenuta essere accurata alla data riportata nel
frontespizio. Essa è fornita per scopi meramente didattici e non per essere utilizzata in
progetti di impianti, prodotti, reti, etc. In ogni caso essa è soggetta a cambiamenti senza
preavviso. L'autore non assume alcuna responsabilità per il contenuto delle slide (ivi
incluse, ma non limitatamente, la correttezza, la completezza, l'applicabilità, l'adeguatezza
per uno scopo specifico e l'aggiornamento dell'informazione).
In nessun caso possono essere rilasciate dichiarazioni di conformità all'informazione
contenuta in queste slide.
In ogni caso questa nota di copyright non deve mai essere rimossa e deve essere riportata
fedelmente e integralmente anche per utilizzi parziali.
ARGOMENTI
• Un po' di storia
• Protocollo CSMA/CD
• Ethernet v2.0
• IEEE 802.3 - CSMA/CD
• Fast Ethernet (IEEE 802.3u)
• Gigabit Ethernet (IEEE 802.3z)
UN PO' DI STORIA
• Capostipite: rete ALOHA realizzata presso il
campus della Università delle Hawaii verso la
fine degli anni '60 (tecnologia: bus radio)
• Predecessore: rete Ethernet realizzata presso
lo Xerox PARC verso la metà degli anni '70
(tecnologia: bus su cavo coassiale, 3 Mbps)
• Standard de facto iniziale: specifica Ethernet
v1.0 del consorzio DIX (DEC, Intel e Xerox)
verso la fine degli anni '70 (tecnologia: bus su
cavo coassiale, 10 Mbps)
• Revisione dello standard: Ethernet v2.0 (1982)
STANDARD IEEE 802.3
• Proposto inizialmente da IEEE, è soggetto a
continue evoluzioni (supplementi fino al 1993)
• Adottato da ISO come DIS (Draft International
Standard) nel 1985 e come standard nel 1989
• Differisce da Ethernet v2.0 in alcuni punti:
– Livello fisico: caratteristiche funzionali di dettaglio
(elettriche ed elettroniche) di transceiver e repeater
– Livello dati: particolari del formato dello header, con
conseguente diversa interpretazione di alcuni campi
– Livello dati: presenza in IEEE 802.3 del sottolivello LLC,
che invece manca del tutto in Ethernet v2.0
• Il termine "Ethernet" viene spesso abusato
per indicare anche lo standard IEEE 802.3
ETHERNET v2.0 vs. IEEE 802.3
Network
Network
L
L
C
IEEE 802.2. LLC
ISO 8802.2
Data
Link
Data Link
M
A
C
Ethernet
v2.0
Physical
CSMA/CD
IEEE
802.3
IEEE
802.5
ANSI
X3T9.5
ISO
8802.3
ISO
8802.5
ISO9
9314
CSMA/CD
Token Ring
FDDI
MAC DI ETHERNET v2.0:
PROTOCOLLO CSMA/CD
• Assunzione: tutte le (interface delle) stazioni
condividono lo stesso mezzo trasmissivo
• Carrier sense (listen before talking)
– Prima di trasmettere si "ascolta" il bus e vi si immette il
segnale solo se non si rileva traffico (concetto locale)
• Multiple access (protocollo distribuito)
– Non esistendo una stazione master, tutte le stazioni sono
abilitate a trasmettere se/quando trovano il canale libero:
due stazioni possono trasmettere contemporaneamente
• Collision detect (listen while talking)
– Durante la trasmissione si "ascolta" il bus per verificare
se il segnale presente nella rete è uguale a quello che vi
si sta immettendo: in caso contrario si ha una collisione
COLLISIONI: COME E PERCHE'
B vuole trasmettere e può (il canale è libero all'interfaccia tra B e il bus)
A
B
C
D
E
C vuole ma non può trasmettere, D non vuole ma potrebbe, E vuole e può
A
B
C
D
E
A, C e D non possono trasmettere, E rileva una collisione (B non ancora!!!)
A
B
C
D
E
MAC DI ETHERNET v2.0:
GESTIONE DELLE COLLISIONI
• Non appena una stazione rileva una collisione
trasmette una jamming sequence (32-48 bit in
Ethernet v2.0, 32 bit in IEEE 802.3)
– Tutte le stazioni vengono così informate della collisione,
e scartano tutti i bit a seguire fino al prossimo "silenzio"
• Ogni stazione trasmittente ripete il tentativo
dopo un intervallo di tempo di durata casuale
(algoritmo detto truncated binary exponential
backoff), fino a un massimo di 16 volte, dopo
di che viene fatto intervenire il software
– Slot time: durata della trasmissione di 512 bit (t=51.2 ms)
– Fattore di ritardo all'n-esimo tentativo: numero casuale
positivo o nullo r<2k , dove k=min(n,10)
– Ritardo: intervallo di tempo T=r*t (ergo di durata casuale)
COLLISIONI: SEGNALAZIONE
E sta trasmettendo la jamming sequence, D è già informata della collisione
A
B
C
D
E
B rileva la collisione e trasmette la jamming sequence, C è ora informata
A
B
C
D
E
B si prepara a ritrasmettere dopo un ritardo T (il canale è già tornato libero)
CARATTERISTICHE DEL
PROTOCOLLO CSMA/CD
• Non garantisce che l'invio di un messaggio si
completi entro un termine stabilito, per cui è
inadatto ad applicazioni real-time veramente
critiche, ma non pone problemi nell'industria
convenzionale a processo discreto/continuo
• Statisticamente si comporta ottimamente se il
carico medio viene mantenuto al di sotto del
30% con picchi brevi e infrequenti fino al 60%
(problema controllabile segmentando la rete
con bridge, switch e router)
PARAMETRI DEL
PROTOCOLLO CSMA/CD
• Durata minima di un messaggio almeno pari
al doppio del tempo che un segnale impiega
ad attraversare la rete tra le due stazioni
"cronologicamente" più lontane
– Collisioni rilevabili durante la trasmissione, e non dopo
– La velocità del segnale è funzione del mezzo trasmissivo
– Concatenando mezzi diversi il percorso più lungo
geometricamente può non esserlo cronologicamente
• Parametri (fissandone tre, gli altri sono noti)
–
–
–
–
Velocità di trasmissione del segnale (max 3*108 m/s)
Velocità di trasmissione dell'informazione (bit rate)
Lunghezza minima dei messaggi
Diametro della rete (nel senso "cronologico" di cui sopra)
CSMA/CD: ROUND-TRIP DELAY
A
B vuole trasmettere e può (il canale
B
è libero all'interfaccia tra B e il bus)
A
B rileva subito una collisione e
trasmette la jamming sequence
B
A
Solo tra un istante A sarà in
grado di rilevare la collisione
B
TRAME MAC CSMA/CD IN
ETHERNET v2.0 E IEEE 802.3
Type > 1500
Ethernet v2.0
DSAP
SSAP
Type
(6 byte) (6 byte) (2 byte)
Preamble
SFD
(7 byte) (1 byte)
IEEE 802.3
FCS
(4 byte)
Data
(46-1500 byte)
MAC PDU
(64-1518 byte)
DSAP
SSAP Length
(6 byte) (6 byte) (2 byte)
LLC PDU
(0-1500 byte)
PAD
(0-46 byte)
min 46 byte
0 <= Lenght <= 1500
FCS
(4 byte)
ESEMPIO: PARAMETRI DI
ETHERNET v2.0 E IEEE 802.3
• Velocità del segnale sul cavo: circa 2*108 m/s
• Velocità di trasmissione della rete: 10 Mbps
• Lunghezza minima della trama: 512 bit (MAC
PDU) più 64 bit (preambolo e SFD) = 576 bit
• Round-trip delay massimo ammesso: 57.6 ms
• Tempo di attraversamento massimo: 28.8 ms
• Diametro massimo della rete: circa 5760 m
• Tenendo conto di altri fattori (ritardi indotti da
apparati attivi e passivi, margini di sicurezza,
etc.) il diametro massimo si riduce a 2800 m
per Ethernet v2.0 e 4 km per IEEE 802.3
FUNZIONI DEL MAC CSMA/CD:
FASE DI TRASMISSSIONE
• Converte un pacchetto proveniente dai livelli superiori
in una stringa seriale di bit
• Genera il preambolo e lo SFD, lo prepende alla stringa
di bit e immette il tutto nella rete solo se il canale è
libero (altrimenti aspetta che lo diventi), garantendo
comunque una spaziatura minima tra i messaggi pari
a 9.6 ms (metodo di CSMA/CD per delimitare le trame)
• Rilevando una collisione, interrompe la trasmissione
del pacchetto, trasmette la jamming sequence e inizia
a eseguire l'algoritmo di truncated binary exponential
backoff per schedulare la prossima ristrasmissione,
generando un interrupt dopo il 16-esimo tentativo
• In assenza di collisioni, genera il CRC e lo accoda al
messaggio come campo FCS
FUNZIONI DEL MAC CSMA/CD:
FASE DI RICEZIONE
• Estrae dalla rete una stringa seriale di bit, ne rimuove il
preambolo e, se indirizzata alla stazione ricevente, i.e.
se il DSAP
– é uguale all'indirizzo locale, oppure
– è l' indirizzo broadcast ff-ff-ff-ff-ff-ff, oppure
– è un indirizzo multicast e tale modalità risulta abilitata
la ricompone in un pacchetto (sempre che non riceva
nel frattempo la jamming sequence), scartandolo se la
lunghezza risulta inferiore a quella minima (64 byte)
• Se non si sono verificate collisioni, estrae il CRC dal
campo FCS e
– se di valore diverso dal CRC calcolato localmente in
ricezione, scarta l'intero pacchetto
– se di valore uguale, passa il pacchetto ai livelli superiori
CSMA/CD: STATISTICHE
• In una rete con "molti" sistemi e con carico medio
del 30%, circa il 50% dei pacchetti risultano initially
deferred (i.e. la stazione trasmittente deve attendere
che il canale sia libero prima di potervi accedere)
• Di questi il 2-3% vengono trasmessi con successo
dopo una collisione singola (i.e. entrano in collisione
con un altro pacchetto durante la prima trasmissione,
mentre la seconda ha successo)
• Pochissimi pacchetti incorrono in collisioni multiple
• Praticamente nessuno raggiunge il limite di 16 tentativi
su periodi di osservazione anche molto lunghi
• Nelle reti con "pochi" sistemi (anche due soli) questi
dati valgono per carichi anche prossimi al 90%
FAST ETHERNET (IEEE 802.3u)
• Velocità di trasmissione dell'informazione (bit
rate) elevata a 100 Mbps
• Mantiene l'algoritmo CSMA/CD degli standard
a 10 Mbps (Ethernet v2.0 e IEEE 802.3)
• Riduce di un fattore 10 tutti i parameri
–
–
–
–
Bit time: 10 ns
Slot time: 5.12 ms
Interpacket gap: 0.96 ms
Max diameter: 210 m
• Impiegata per ora soprattutto nelle dorsali di
campus o di edificio in alternativa a FDDI/ATM
GIGABIT ETHERNET
(IEEE 802.3z, IEEE 802.3ab)
• Velocità di trasmissione dell'informazione (bit
rate) elevata a 1000 Mbps (1 Gbps)
• Mantiene l'algoritmo CSMA/CD degli standard
a 10 e a 100 Mbps (Ethernet v2.0, IEEE 802.3,
IEEE 802.3u)
• Riducendo di un fattore 100 tutti i parameri
sarebbe inservibile, per cui slot time esteso
–
–
–
–
Bit time: 1 ns
Slot time: 4.096 ms (invece di 0.512 ms)
Interpacket gap: 96 ns
Max diameter: 200 m (invece di 20 m !!)
Preamble
SFD
DSAP
SSAP Length
LLC PDU
PAD
(7 byte) (1 byte) (6 byte) (6 byte) (2 byte) (0-1500 byte) (0-46 byte)
FCS
(4 byte)
Extension
(3584 bit)
Scarica

IEEE 802.3 CSMA/CD (Ethernet)