IEEE 802.3 CSMA/CD (ETHERNET) RETI DI CALCOLATORI IEEE 802.3 CSMA/CD (ETHERNET)
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 Data Link L L C Data Link IEEE 802.2. LLC ISO 8802.2 M A C IEEE 802.3 ISO 8802.3 IEEE 802.5 ISO 8802.5 ANSI X3T9.5 ISO9 9314 Physical CSMA/CD 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) C vuole ma non può trasmettere, D non vuole ma potrebbe, E vuole e può A, C e D non possono trasmettere, E rileva una collisione (B non ancora!!!) A B C D E A B C D E 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 B rileva la collisione e trasmette la jamming sequence, C è ora informata B si prepara a ritrasmettere dopo un ritardo T (il canale è già tornato libero) A B C D E A B C D E
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 B vuole trasmettere e può (il canale è libero all'interfaccia tra B e il bus) B rileva subito una collisione e trasmette la jamming sequence Solo tra un istante A sarà in grado di rilevare la collisione A B A B A B
TRAME MAC CSMA/CD IN ETHERNET v2.0 E IEEE 802.3 Type > 1500 DSAP (6 byte) SSAP (6 byte) Type (2 byte) Data (46-1500 byte) FCS (4 byte) Ethernet v2.0 Preamble (7 byte) SFD (1 byte) MAC PDU (64-1518 byte) DSAP (6 byte) SSAP (6 byte) Length (2 byte) LLC PDU (0-1500 byte) PAD (0-46 byte) FCS (4 byte) IEEE 802.3 min 46 byte 0 <= Lenght <= 1500
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 (7 byte) SFD (1 byte) DSAP (6 byte) SSAP (6 byte) Length (2 byte) LLC PDU (0-1500 byte) PAD (0-46 byte) FCS (4 byte) Extension (3584 bit)