Computer Network Lesson

LEZIONE del 27 Ottobre


Come si è già visto il sottolivello MAC di una rete locale deve affrontare e risolvere due ordini di problemi: l'arbitraggio per accedere all'unico canale trasmissivo disponibile e l'assegnazione coerente di indirizzi per identificare univocamente mittente e destinatario dei frame costituenti il messaggio in transito lungo il canale.

Arbitraggio

Il problema della condivisione del canale è risolto da opportuni algoritmi distribuiti, specifici per ciascuna architettura, che sono basati su diversi principi quali la contesa, il token, la prenotazione e il round-robin. Va precisato, comunque, che ciascuna soluzione è realizzata in "firmware" e, quindi, con riferimento alla scelta dei cavi, il tipo di portante e relativa modulazione, ecc... cosicchè il progetto IEEE 802 oltre a soddisfare gli standard ISO-OSI di livello 1 e 2, si armonizza con le richieste dello standard EIA/TIA 568 che fa esplicito riferimento ai sistemi di cablaggio per le telecomunicazioni, le loro caratteristiche e prestazione, la disposizione dei pin nelle interconnessioni, ecc...

Nel seguito è riportata una breve descrizione del meccanismo di funzionamento di ciascuna architettura MAC.

  1. CSMA/CD

    E' definita dal progetto IEEE 802.3 e si presenta come l'evoluzione della rete Ethernet proposta da Digital, Intel e Xerox (DIX). L'arbitraggio del canale trasmissivo avviene tramite un meccanismo a contesa non deterministico (Carrier Sense Multiple Access with Collision Detection) che, per sua stessa natura non garantisce un tempo di attesa superiormente limitato. La sua specifica prevede una topologia logica a bus, con cablaggio a bus o a stella. La velocità di trasmissione nominale è di 10 Mb/s con un throughput massimo di circa 4Mb/s.

  2. Token Bus

    E' definita dal progetto IEEE 802.4 ed è concepita appositamente come standard di rete locale per applicazioni di automazione di fabbrica, nell'ambito del progetto MAP (Manufactoring Automation Protocol). Ha una topologia logica e fisica a bus, ma l'arbitraggio del canale avviene tramite un token e, quindi, il protocollo è deterministico, con tempo di attesa limitato superiormente. La velocità di trasmissione nominale è di 10 Mb/s con un throughput massimo di 8Mb/s.

  3. Token Ring

    E' definita dal progetto IEEE 802.5 e rappresenta l'evoluzione della rete locale Token Ring proposta da IBM in alternativa ad Ethernet. Lo standard prevede una topologia ad anello, con cablaggio stellare o a doppio anello. L'arbitraggio del canale avviene tramite token e quindi il protocollo è deterministico, con tempo di attesa limitato superiormente. La velocità di trasmissione nominale è di 4 o 16 Mb/s con un throughput massimo di 3 o 12Mb/s.

  4. DQDB

    E' definita dal progetto IEEE 802.6 con lo scopo di caratterizzare lo standard delle reti metropolitane, approvato anche in sede di CCITT (Comitè Consultatif International de Telegraphie et Telephonie). Utilizza una topologia logica a doppio bus, con cablaggio a doppio bus o a doppio anello. L'arbitraggio del canale è realizzato tramite prenotazioni gestite dall'algoritmo DQDB (Distributed Queue Dual Bus) che dà luogo ad un tempo d'attesa limitato superiormente (protocollo deterministico). La velocità nominale di trasmissione varia fra 34 e 140 Mb/s con un throughput massimo pari circa all'80% della velocità.

  5. FDDI

    E' definita dal progetto IEEE 802.8 come rete locale ad elevate prestazioni sebbene compaia nel sistema di standardizzazione internazionale con sigla ISO 9314. E' prevista una topologia logica ad anello, con cablaggio stellare o a doppio anello. L'arbitraggio del canale avviene mediante token, cosicchè il protocollo risulta essere deterministico, con tempo d'attesa limitato superiormente. La velocità trasmissiva nominale è di 100 Mb/s con un throughput massimo di 80 Mb/s. Lo standard FDDI è stato esplicitamente concepito per reti locali con mezzo trasmissivo in fibra ottica (Fiber Distributed Data Interface), anche se oggi si hanno realizzazione anche su rame.

Per comodità del lettore, nella tabella seguente sono state riassunte le caratteristiche salienti delle architetture MAC appena descritte. Si noti, in particolare, la distinzione fra topologia e cablaggio per la realizzazione della trasmissione broadcast. Da questo punto di vista il broadcast è effettivamente implementato a livello eletrrico (fisico) con il bus mente, nei canali punto-punto (anello) il broadcast è solamente di tipo logico.

MACarbitraggiotopologia cablaggioattesa
CSMA/CDcontesabusbus
stella
non
deterministica
Token Bustokenbusbus deterministica
Token Ringtokenanellostella
doppio-anello
deterministica
DQDBprenotazionedoppio-bus doppio-bus
doppio-anello
deterministica
FDDItokenanellostella
doppio-anello
deterministica

In tutte le architetture MAC si è posta particolare attenzione al meccanismo dell'arbitraggio, trascurando il modo con cui i dati vengono effettivamente trasmessi. Per riferirsi a questo aspetto del problema bisogna partire dalla struttura della PDU, specifica per ciascuna archietettura MAC e, per questo, denominata MAC-PDU. Quello che si può notare immediatamente è che, sebbene il numero e la dimensione dei campi non sia lo stesso per ciascun tipo di MAC-PDU, sono sempre presenti, come evidenzia chiaramente la figura,

quattro campi, aventi ciascuno il significato riportato nel seguito:

  1. indirizzo del mittente (MAC-SSAP);
  2. indirizzo del destinatario (MAC-DSAP);
  3. informazione relativa al pacchetto di livello LLC (LLC-PDU);
  4. sequenza FCS (Frame Control Sequence) su 32 bit, ossia, un codice a ridondanza ciclica (CRC) per l'identificazione degli errori di trasmissione.

Si tenga presente che le sigle SSAP e DSAP, che identificano i punti di accesso (SAP) dei servizi di livello 2, rappresentano propriamente il mittente e il ricevente di ciascuna comunicazione e sono forniti dalla struttura hardware delle LAN, come apparirà chiaramente nella prossima sezione.

Indirizzamento

Il problema dell'assegnazione degli indirizzi MAC, che permetta di identificare univocamente il mittente e il destinatario della trasmissione di frame, è risolto imponendo un codice identificativo di ciascuna MAC (scheda di rete) che sia univoco a livello mondiale. Per evitare una rapida saturazione dei codici si è scelta una rappresentazione a 6 byte, ciascuno scritto in formato esadecimale, e registrati dal costruttore in un'apposito registro PROM della scheda. Il contenuto di tale registro può essere eventualmente riscritto via software utilizzando valori inseriti in un apposito buffer.

La codifica degli indirizzi comprende due campi di 3 byte ciascuno, col seguente significato di

Va osservato, comunque, che i primi due bit trasmessi lungo il canale rivestono un'importanza particolare, in quanto

Esiste, poi, un'ulteriore problema di non standardizzazione nel modo con cui vengono trasmessi i singoli bit lungo il canale, nel senso che in alcuni casi (802.3 e 802.4) viene trasmesso per primo il bit meno significativo di ciascun byte, mentre nei restanti casi (802.5 e 802.8) quello che viene trasmesso è il bit più significativo di ogni byte. Per superare questa difficoltà bisogna distinguere tra formato canonico (Canonical Order) e formato interno (Native Order) e determinare quando è necessario fare le opportune conversioni che rimangano a carico delle singole architetture di rete locale.

Comunque sia, gli indirizzi MAC possono essere di tre tipi:

Quando una scheda di rete locale riceve un pacchetto, non lo passa automaticamente al livello superiore (LLC), ma effettua una serie di controlli. Per prima cosa verifica che il pacchetto sia integro, ossia, abbia una FCS corretta, con le dovute dimensioni. Dopodicchè analizza l'indirizzo di destinazione (MAC-DSAP) col seguente effetto:

  1. se il MAC-DSAP è broadcast, il pacchetto viene sempre inoltrato verso il livello LLC;
  2. se il MAC-DSAP è singolo, il pacchetto passa al livello LLC solo nel caso che l'indirizzo indicato sia lo stesso dell'indirizzo hardware della scheda oppure di quello caricato dal software nell'apposito buffer;
  3. se, infine, il MAC-DSAP è multicast, si verifica se la sua ricezione è stata abilitata dal software del livello superiore, cioè, se la scheda appartiene al gruppo abilitato.

Poichè non è noto a priori quanti sono i gruppi cui appartiene la scheda, si usano tecniche hash per mantenere la lista dei gruppi abilitati. Gli indirizzi di gruppo servono principalmente per scoprire quali altri nodi sono collegati alla rete locale, quali servizi sono messi a disposizione e le relazioni esistenti fra gli indirizzi MAC e quelli del livello di rete.

Controllo Logico della Connessione

Il livello di connessione (data link) introdotto nel modello di riferimento ISO-OSI definisce l'interfaccia fra la rete locale, cui il singolo nodo può connettersi, e la sua struttura interna a bus dove sono inseriti i suoi componenti hardware. Dal punto di vista del nodo questa è realizzata dalla parte hardware (sottolivello MAC) e dal relativo software di gestione, il driver (sottolivello LLC). Infatti, il livello LLC è in grado di gestire un unico livello MAC, ossia, non può svolgere funzione di relaying fra diverse MAC, inoltrando i relativi pacchetti. Tale funzionalità di istradamento è relegata al livello di rete.

Il protocollo LLC ha lo scopo di fornire un'interfaccia unificata con il livello di rete e può operare sia in modalità connessa che non-connessa, sebbene quest'ultima sia la più diffusa. La struttura della PDU relativa a tale protocollo, indicata con LLC-PDU, è quella riportata nella figura seguente

che, in funzione dei valori assunti dal campo controllo, permette di distinguere tre tipi di PDU:

Inoltre, si identificano tre tipi di U-PDU, a seconda delle funzioni realizzate.

Il protocollo LLC ha anche lo scopo di fornire un supporto standard alla convivenza di più protocolli del livello superiore (ad esempio, DECnet e TCP/IP) sulla stessa LAN e, a tal fine, viene utilizzato lo specifico SAP, indicato con LLC-SAP, per distinguere fra i protocolli di rete che si appoggiano su di esso.