Riassunto gerarchico delle nozioni del corso 2003-2004 di RETI
DI CALCOLATORI del Prof. G.Fenu - Università degli Studi di
Cagliari, Facoltà di Scienze Matematiche Fisiche Naturali,
Dipartimento di Matematica ed Informatica, Corso di Laurea in
Informatica
Riferimenti: Andrew S. Tanenbaum, Reti di Calcolatori IV ed.,
Prentice Hall
- 2.1. sottostrato MAC (Medium Access Control, sottolivello di
accesso al mezzo)
- è un sottostrato del livello data link posto tra il livello data link e lo strato fisico
- decide quale elaboratore (stazione) ha il diritto di trasmettere su un canale broadcast (multiaccess channel o random access channel)
- è prevalentemente usato nelle LAN ma anche nelle WAN satellitari
- nessun protocollo del sottostrato MAC garantisce una consegna affidabile, anche in assenza di collisioni
- il problema principale è l'assegnazione del canale broadcast ad utenti in competizione tra loro
- tecniche di allocazione del canale
- allocazione statica
- l'allocazione viene stabilita anticipatamente
- si divide il canale in parti uguali fra gli N utenti
utilizzando tecniche tradizionali:
- FDM (Frequency Division Multiplexing)
- non c'è nessuna interferenza fra gli utenti perchè ognuno usa la propria banda
- TDM (Time Division Multiplexing)
- FDM (Frequency Division Multiplexing)
- l'allocazione statica è efficiente solo se il numero degli utenti N è piccolo e il traffico di ogni utente è elevato
- se gli utenti impegnati a comunicare sono meno di N si spreca parte della banda
- se gli utenti che tentano di comunicare sono più di N, alcuni non potranno farlo
- l'allocazione statica non è adatta ad un traffico irregolare
- per la teoria delle code, il ritardo medio quando si utilizza
FDM o TDM è N volte peggiore del ritardo che si otterrebbe se tutti
i frame fossero ordinatamente inseriti in una grande coda centrale:
- posto:
- T = ritardo medio [sec]
- C = capacità del canale [bps]
- λ = frequenza degli arrivi[frame/sec]
- per tempi di servizio ed arrivo di poisson
- T = 1 / (µC - λ)
- T FDM = 1 / (µ(C/N) - (λ/N)) = N / (µC - λ) = NT
- posto:
- allocazione dinamica
- l'allocazione si adatta alle esigenze di ogni momento
- risulta particolarmente efficiente in caso di traffico irregolare
- premesse
- 1. modello della stazione
- i modello è composto da N stazioni (terminali) indipendenti che generano frame in trasmissione
- la probabilità che un frame venga generato in un intervallo Δt è λΔt, dove λ è la frequenza di arrivo di nuovi frame
- una volta generato il frame la stazione rimane bloccata fino a che il frame non è stato trasmesso con successo
- 2. presupposto del canale singolo
- un solo canale assicura ogni comunicazione
- tutte le stazioni possono trasmettere e ricevere dal canale
- le stazioni sono equivalenti in hardware ma possono avere priorità diverse
- 3. presupposto della collisione
- due frame trasmessi contemporaneamente si sovrappongono temporalmente ed il segnale finale risulta distorto (collisione)
- tutte le stazioni possono rilevare le collisioni
- un frame entrato in collisione deve essere ritrasmesso
- non ci sono altri errori oltre quelli delle collisioni
- la collisione viene rilevata raramente nelle reti wireless per motivi ingegneristici
- 4. tempo
- a. continuo
- la trasmissione del frame può iniziare in qualunque momento
- b. diviso in intervalli (slotted time)
- il tempo è diviso in intervalli discreti (slot)
- la trasmissione di un frame coincide sempre con l'inizio di un intervallo
- un intervallo può contenere
- 0 frame = intervallo vuoto (idle frame)
- 1 frame = trasmissione che ha avuto successo
- 2 o più frame = collisione tra frame
- a. continuo
- 5. occupazione del canale (rilevamento della portante)
- a. verificabile (carrier sense)
- le stazioni sono in grado di capire se il canale è occupato
- le stazioni non trasmettono se il canale è occupato
- esempio: LAN su cavo
- b. non verificabile (no carrier sense)
- le stazioni non sono in grado di capire se il canale è occupato, si limitano a trasmettere il frame
- esempio: reti wireless
- a. verificabile (carrier sense)
- 1. modello della stazione
- allocazione statica
- protocolli ad accesso multiplo a contesa
- sono i sistemi in cui più utenti condividono un canale comune in modo che si possano generare dei conflitti
- con carico leggero hanno un basso ritardo, all'aumentare del carico diventano inefficienti
- ALOHA
- sviluppato negli anni 70 da Norman Abramson all'università delle Hawaii
- nasce con l'esigenza di collegare fra loro delle stazioni radio sparse tra le isole Hawaii
- non dispone di un controllo degli errori in trasmissione
- ne esistono due versioni
- pure ALOHA
- le stazioni trasmettono immediatamente quando hanno dati da inviare
- la stazione ascolta il canale per sapere se il frame è andato distrutto (basta anche la collisione di un solo bit)
- se non è possibile ascoltare il canale durante la trasmissione, si deve adottare un sistema di acknowledge
- se il frame è andato distrutto, il trasmettitore rimane in attesa per un tempo casuale prima di ripetere la trasmissione
- la capacità di trasporto dei sistemi ALOHA è massima quando si utilizza un frame con dimensione uniforme
- periodo di vulnerabilità
- intervallo di tempo in cui un frame è a rischio di collisioni
- usa al massimo il 18% del canale (S = 0.184 con G = 1/2)
- S = Ge -2G = 1 / 2e = 0.184
- G = tentativi per tempo di pacchetto
- S = capacità di trasporto per tempo di frame
- slotted ALOHA
- tecnica pubblicata da Roberts nel 1972 per raddoppiare la capacità dell'ALOHA
- il tempo viene diviso in intervalli discreti
- ad ogni intervallo temporale corrisponde un frame
- la sicronizzazione si ottiene attraverso una speciale stazione che funge da orologio ed emette un segnale ad ogni inizio di intervallo
- i frame possono essere inviati solo all'inizio di un intervallo (slot)
- il periodo di vulnerabilità è ora dimezzato
- usa al massimo il 37% del canale (S = 0.368 con G = 1)
- S = Ge -G = 1 / e = 0.368
- piccole variazioni del carico del canale possono ridurne drasticamente le prestazioni (dipendenza esponenziale)
- pure ALOHA
- protocolli CSMA (Carrier Sense Multiple Access, accesso
multiplo con rilevamento della portante)
- le stazioni rimangono in ascolto di una portante (trasmissione) per capire se il canale è libero (carrier sense protocol)
- le stazioni trasmettono solo quando il canale è libero
- sono protocolli migliorativi rispetto ad ALOHA
- a basso carico hanno un ritardo elevato, al alto carico aumenta l'efficienza del canale
- esistono vari protocolli carrier sense:
- CSMA 1-persistente
- quando una stazione deve trasmettere ascolta il canale
- se il canale è occupato, aspetta finchè si libera
- se il canale è libero, trasmette immediatamente (con probalilità 1)
- se avviene una collisione, la stazione attende un tempo random e riprova da capo
- una stazione può non accorgersi che un'altra ha già iniziato a trasmettere per via del ritardo di propagazione
- le prestazioni peggiorano (aumento delle collisioni) con l'aumento del ritardo di propagazione
- le stazioni possono iniziare a trasmettere contemporaneamente appena il canale è libero generando una collisione
- quando una stazione deve trasmettere ascolta il canale
- CSMA non persistente
- quando una stazione deve trasmettere ascolta il canale
- se il canale è occupato, aspetta un tempo casuale prima di riprovare
- se il canale è libero, si comporta come 1-persistente
- permette di utilizzare meglio il canale ma allunga i ritardi
- quando una stazione deve trasmettere ascolta il canale
- CSMA p-persistente
- si applica a canali divisi in intervalli temporali (slotted)
- quando una stazione deve trasmettere ascolta il canale
- se il canale è occupato, aspetta il prossimo slot
- se il canale è libero
- con probabilità p trasmette subito
- con probabilità q=1-p aspetta il prossimo slot, e se anch'esso è libero riapplica il procedimento
- il processo si ripete finchè:
- il frame viene trasmesso
- qualcun altro ha iniziato a trasmettere
- la stazione si comporta come nel caso di una collisione: aspetta un tempo casuale e ricomincia da capo
- al crescere di p aumentano i ritardi e diminuiscono le collisioni
- CSMA/CD (Collision Detect, con rilevamento delle collisioni)
- ogni stazione interrompe bruscamente la propria trasmissione nel caso venga rilevata una collisione
- la terminazione rapida dei frame danneggiati risparmia tempo e banda
- è utilizzato ampiamente nel sottostrato MAC delle LAN (costituisce la base delle LAN Ethernet)
- il rilevamento della collisione è un processo analogico
- le collisioni possono essere rilevate misurando la potenza o la larghezza d'impulso del segnale ricevuto
- vi è un'alternanza di periodi di contesa, di trasmissione e di inattività
- il tempo minimo per rilevare una collisione è pari al tempo impiegato dal segnale per propagarsi da una stazione ad un'altra (τ)
- una stazione può essere certa di aver assunto il controllo del canale se non rileva alcuna collisione per un tempo pari a 2τ
- l'intervallo di contesa viene rappresentato come un sistema slotted ALOHA con intervalli lunghi 2τ
- su un singolo canale è intrinsecamente un sistema half-duplex
- CSMA 1-persistente
- protocolli senza collisione (non a contesa)
- il CSMA/CD non elimina le collisioni durante il periodo di contesa
- le collisioni influenzano sfavorevolmente le prestazioni del sistema, specialmente quando il cavo è lungo ed i frame sono corti
- questi protocolli eliminano le collisioni utilizzando varie
tecniche:
- protocollo a mappa di bit elementare
- è un protocollo a prenotazione
- ogni periodo di contesa è composto da N intervalli
- la stazione j può annunciare il possesso di un frame da inviare inserendo un bit nello slot j
- quando sono trascorsi N intervalli, ogni stazione sa quali sono le stazioni che vogliono trasmettere; a questo punto le stazioni pronte cominciano a trasmettere in ordine numerico
- questo protocollo usa un bit per ogni stazione e non si adatta bene alle reti con un gran numero di terminali
- le stazioni con un numero basso aspetteranno mediamente di più di quelle con un numero alto
- protocollo a conteggio binario
- una stazione che desidera utilizzare il canale deve comunicare a tutti il proprio indirizzo sotto forma di stringa binaria partendo dai bit di ordine più elevato
- tutti gli indirizzi hanno la stessa lunghezza
- i bit che occupano la stessa posizione negli indirizzi di stazioni diverse sono elaborati con l'operatore OR
- si suppone implicitamente che i ritardi di trasmissione siano trascurabili, in modo che tutte le stazioni possano vedere nello stesso momento i bit dichiarati
- regola di arbitraggio
- la stazione rinuncia non appena si accorge che è stata sovrascritta da un 1 una posizione di bit di ordine elevato che nel proprio indirizzo vale 0
- dopo aver vinto la gara, la stazione può trasmettere il frame
- le stazioni con un numero più alto hanno priorità maggiore di quelle con un numero più basso (si può ovviare usando degli indirizzi virtuali che devono essere permutati circolarmente)
- protocollo a mappa di bit elementare
- protocolli a contesa limitata
- combinano i metodi a contesa e quelli senza collisioni per avere un ritardo limitato a basso carico (contesa) ed una buona efficienza del canale per carichi elevati (senza collisioni)
- i protocolli a contesa precedenti sono simmetrici (tutte le stazioni hanno la stessa probabilità di trasmettere) ma è anche possibile assegnare anche probabilità diverse alle varie stazioni (protocolli asimmetrici)
- protocollo Adaptative Tree Walk (attraversamento adattativo
dell'albero)
- protocollo elaborato da Capetanakis nel 1979
- le stazioni sono rappresentate come foglie di un albero binario
- metodo di contesa
- durante il primo intervallo, 0, di contesa tutte le stazioni possono provare ad acquisire il controllo del canale
- in caso di collisione l'algoritmo analizza tutto l'albero, partendo dal basso, per individuare tutte le stazioni pronte
- ogni intervallo di bit è associato a qualche particolare nodo dell'albero
- in caso di collisione la ricerca prosegue ricorsivamente con gli elementi figli posti a sinistra e destra del nodo
- se un intervallo di bit è libero oppure nessuna stazione trasmette in quel periodo la ricerca su quel nodo può interrompersi perché tutte le stazioni pronte sono state individuate
- quando il carico è pesante conviene far partire la ricerca da livelli successivi al primo.
- più è pesante il carico, più in fondo deve partire la ricerca.
- protocolli WDMA (Wavelenght Division Multiple Access, accesso
multiplo a divisione di lunghezza d'onda)
- il canale viene diviso dinamicamente utilizzando FDM e/o TDM
- utilizzato nelle LAN in fibra ottica
- una lan completamente ottica si può costruire utilizzando un accoppiatore a stella passivo (due fibre provenienti da ogni stazione sono fuse in un cilindro di vetro che invia il segnale di ogni singola stazione a tutte le altre)
- lo spettro è diviso utilizzando WDMA
- ad ogni stazione sono assegnati due canali
- uno stretto, usato come canale di controllo per trasmettere segnali alla stazione
- uno largo, che consente alla stazione di trasmettere frame di dati
- tutti i canali sono sincronizzati da un unico segnale di clock globale
- ogni canale è diviso in gruppi di intervalli temporali (slot)
- l'ultimo intervallo del canale dati è utilizzato dalla stazione per comunicare il proprio stato alle altre stazioni
- su entrambe i canali la sequenza di intervalli si ripete senza fine
- l'intervallo 0 è contrassegnato in maniera speciale
- il protocollo supporta tre classi di traffico:
- traffico a velocità dati costante orientato alle connessioni (es: video non compressi)
- traffico a velocità dati variabile orientato alle connessioni (es: trasferimento file)
- traffico datagram (es: pacchetti UDP)
- ogni stazione deve sintonizzarsi sulla lunghezza d'onda del trasmettitore per ricevere i dati
- standard IEEE 802 (ISO 8802) per LAN
- standard che riguardano LAN e MAN
- IEEE 802.3
- è uno standard CSMA/CD 1-persistente
- è efficiente con un carico medio basso (50%-60% di impiego del canale)
- a questa famiglia appartiene Ethernet che differisce da 802.3 per due differenze secondarie
- cablaggi utilizzati
nome cavo lunghezza max [m] nodi/segmento connessioni vantaggi 10Base5 coassiale spesso (thick ethernet) 500 100 spine a vampiro cavo originale, ora obsoleto 10Base2 coassiale sottile (thin ethernet) 185 30 connettori a T non occorre un hub 10Base-T doppino intrecciato 100 1024 plug RJ45 il sistema più economico 10BAse-F fibra ottica 2000 1024 plug ottici il migliore fra edifici - hub
- le difficoltà associate alla ricerca dei difetti di cablaggio ha condotto all'uso di uno schema differente attraverso l'uso di concentratori (hub)
- gli hub non elaborano il traffico, ma esiste una loro versione avanzata che lo fa, gli switch
- ripetitori
- ogni versione 802.3 ha una lunghezza massima per segmento, per creare reti più grandi si possono collegare tra loro più cavi facendo uso di ripetitori
- i ripetitori ricevono, amplificano e ritrasmettono il segnale in entrambe le direzioni
- i ripetitori introducono un ritardo
- una sistema può contenere più segmenti e più ripetitori ma la distanza tra qualunque coppia di transceiver non può superare i 2.5Km e nessun percorso tra due transceiver può attraversare più di 4 ripetitori
- codifica Manchester
- è un sistema che consente ai ricevitori di determinare senza ambiguità il punto iniziale, finale e centrale di ogni bit senza fare riferimento ad impulsi esterni
- è usata da 802.3
- ogni periodo di bit è diviso in due intervalli uguali con una
transazione centrale:
- 1 = livello alto / livello basso
- 0 = livello basso / livello alto
- questa codifica occupa il doppio della banda della codifica binaria elementare (1 = alto, 0 = basso) perchè gli impulsi sono larghi la metà
- segnali
- alto = 0.85V
- basso = -0.85V
- DC = 0V
- codifica Manchester differenziale
- è una variante della codifica Manchester elementare
- è usata da 802.5 (token ring)
- il bit 1 è indicato da un'assenza di trasizione all'inizio dell'intervallo
- il bit 0 è indicato dalla presenza di una trasizione all'inizio dell'intervallo
- in entrambi i casi c'è una transizione nel punto centrale
- questo schema richiede dispositivi più complessi ma offre una maggior immunità ai rumori
- protocollo del sottostrato MAC 802.3
- struttura del frame
- preamble (7 bytes = 10101010)
- corrisponde ad un'onda quadra (utile per la sincronizzazione)
- SoF - Start of Frame (1 byte = 10101011)
- indica l'inizio del frame
- destination address (2 o 6 byte)
- indirizzo di destinazione
- si distinguono diverse situazioni:
- bit alto a 0 = frame diretto ad una specifica stazione
- bit alto ad 1 = multicast
- tutti i bit ad 1 = broadcast
- il bit 46 è utilizzato per distinguere gli indirizzi locali da quelli pubblici
- source address (2 o 6 byte)
- indirizzo della macchina sorgente
- lenght of data field (2 byte)
- numero di byte nel successivo campo dati
- data (0 - 1500 byte)
- dati da trasportare
- pad (0 - 46 byte)
- campo di compensazione (riempimento) per raggiungere una dimensione minima di 64 byte (dall'indirizzo di destinazione al checksum incluso)
- questa dimensione minima fa si che ogni frame impieghi più di 2τ per arrivare a destinazione, permettendo così che i burst di rumore arrivino prima che sia completata la trasmissione
- al crescere della velocità della rete deve aumentare la lunghezza minima del frame o proporzionalmente deve diminuire la lunghezza del cavo
- checksum (4 byte)
- codice a ridondanza ciclica per il controllo degli errori (CRC-CCITT)
- preamble (7 bytes = 10101010)
- struttura del frame
- LAN 802.3 commutate
- al crescere del numero delle stazioni il traffico aumenta ed alla fine la LAN si satura
- è possibile gestire aumenti di carico attraverso LAN commutate
- il cuore del sistema è lo switch (commutatore)
- lo switch può analizzare il frame e copiarlo direttamente sul connettore della macchina di destinazione
- uno switch può essere composto da più schede ognuna con un certo numero di porte ed un proprio dominio di collisione
- se c'è solo una stazione collegata per ogni scheda non esistono collisioni
- ogni porta può disporre di un buffer di memoria così da poter permettere operazioni full-duplex (trasmissione e ricezione contemporanea)
- la diminuzione dei costi degli switch sta rendendo obsoleti gli hub
- IEEE 802.3u (Fast Ethernet)
- standard approvato nel giugno 1995
- mantiene la compatibilità con 802.3
- cablaggi
nome cavo lunghezza max [m] vantaggi velocità di segnalazione [MHz] codifica 100Base-T4 doppino intrecciato 100 UTP di categoria 3, 100 Mbps 25 8B6T 100Base-TX doppino intrecciato 100 full duplex a 100 Mbps (UTP cat.5) 124 4B5B 100BAse-FX fibra ottica multimodale 2000 full duplex a 100 Mbps 125 4B5B - le interconnessioni tra le stazioni avvengono attraverso l'uso di hub e switch
- 100Base-FX non ammette hub per via della lunghezza dei cavi che devono invece essere collegati a degli switch in modo tale che ognuno sia un dominio di collisione verso se stesso
- IEEE 802.4 (Token Bus)
- Caratteristiche:
- Ritardo massimo di trasmissione noto
- Sia n il numero di stazioni e T secondi è il tempo di trasmissione del singolo frame.
- Le stazioni trasmettono a turno, quindi un frame dovrà aspettare al più nT secondi per essere trasmesso
- Lo strato fisico è costituito da un cavo coassiale a banda
larga (come quello usato per la TV via cavo)
- 75 Ohm e 10 Mbps
- Quando l'anello viene inizializzato ogni stazione viene inserita in ordine col proprio indirizzo
- Anche il passaggio del token avviene nello stesso ordine
- La stazione col numero più alto ha priorità di spedizione e successivamente, secondo l'anello logico la seguente
- ogni stazione conosce l'indirizzo della stazione alla sua destra e sinistra, secondo l'anello logico, l'ubicazione fisica non è rilevante
- I protocolli 802.3 e 802.4 sono incompatibili
- diversi timer, variabili di stato, descrizioni del modello, modulazioni ananlogiche
- Ritardo massimo di trasmissione noto
- Sottostrato MAC
- ogni singola stazione implementa virtualmente 4 sottostazioni
con differente livello di priorità
- 6,4,2,0 : in ordine decrescente di priorità
- se le sottostazioni di priorità superiore non neccessitano di tutto il tempo assegnato, quelle di priorità inferiore possono utilizzarlo
- ogni livello di priorità ha un proprio timer
- Formato del frame
- Preambolo - >= 1 byte
- Delimitatore di inizio - 1 byte
- Controllo del frame- 1 byte
- Indirizzo di destinazione - 2 o 6 byte
- Indirizzo sorgente - 2 o 6 byte
- Dati - da 0 a 8182 byte
- Checksum - 4 byte
- Delimitatore di fine - 1 byte
- i campi di Indirizzo destinazione e sorgente e Checksum sono analoghi a quelli dell'802.3
- i campi Delimitatore inizio e fine contengono una codifica analogica di simboli diversi da 0 e 1, quindi non possono presentarsi nei dati rendendo non necessario il campo "lunghezza del frame"
- il campo Controllo del frame
- in un frame di dati può indicare la priorità o richiedere alla destinazione un riscontro sulla corretta ricezione
- in un frame di controllo può indicare il passaggio del token o un frame di gestione dell'anello
- ogni singola stazione implementa virtualmente 4 sottostazioni
con differente livello di priorità
- Caratteristiche:
- IEEE 802.5 (Token Ring)
- Caratteristiche:
- è la versione standardizzata IEEE di un protocollo IBM
- utilizza la codifica Manchester Differenziale
- le velocità sono 4-16 Mbps (in passato anche 1 Mbps)
- il protocollo IBM usa 4 Mbps
- il range in valore assoluto di tensioni è da 3.0 a 4.5 V
- la trasmissione è numerica e non analogica, quindi non deve rilevare collisioni
- lo strato fisico è composto da coppie di fili intrecciati
- il ring è una collezione di point-to-point
- in questo caso l'anello non è virtuale ma fisico
- il passaggio del traffico è monodirezionale
- ogni stazione è connessa a una speciale interfaccia Ring che
può agire in due modalità
- Ascolto - copia i bit e ritrasmette, introducendo un ritardo di un bit
- Trasmissione - interrompe l'anello e trasmette
- Funzionamento:
- quando non c'è traffico sull'anello circola indefinitivamente un token di 3 byte
- Ogni stazione prima di trasmettere deve cambiare un opportuno bit del token ed inoltrarlo per avvertire le altre stazioni che sta per trasmettere
- poichè un'anello non è in grado di contenere in transito un
intero frame, la stazione che trasmette deve "pulire" l'anello
mentre continua a trasmettere
- in pratica come gli tornano indietro i bit trasmessi che hanno fatto tutto il giro dell'anello vengono cancellati(vedi la modalità Trasmissione dell'interfaccia)
- quando una stazione ha finito di trasmettere deve rigenerare il token di 3 byte e inoltrarlo sull'anello
- Per risolvere il problema relativo all'intero anello
inutilizzabile se una delle stazioni si guasta o c'è un
interruzione del cavo si è introdotto il centro di cablaggio
- ogni stazione è connessa al centro di cablaggio da almeno 2 coppie di fili intrecciati una per i dati in uscita e l'altra per quelli in ingresso alla stazione
- il centro di cablaggio ha dei relè alimentati dalle stazioni
- quando una stazione si guasta o si interrompe il canale il relè non viene alimentato e chiude il circuito escludendo la stazione dall'anello
- i relè possono anche essere comandati via software per operazioni di controllo o test
- Sottostrato MAC:
- il token può essere tenuto da ogni stazione per al più 10 ms
- il token è formato da 3 byte
- SD - Start Delimiter
- AC - Access Control
- ED - End Delimiter
- il frame dati è composta da
- SD - Start Delimiter
- AC - Access Control (bit token, monitor, priority, riservation)
- FC - Frame Control (definisce se il frame è di dati o di controllo)
- Destination Address - 2 o 6 byte
- Source Address - 2 o 6 byte
- Data - senza limite di byte
- Checksum - 4 byte
- ED - End Delimiter
- FS - Frame Status (fornisce un riscontro automatico per ogni frame)
- A proposito di SD e ED, fanno uso di sequenze non valide del codice Manchester Differenziale, alto-alto e basso-basso per indicare inizio e fine del frame rispettivamente
- il byte FS contiene due bit di acknoledge A e C
- A = 0 e C = 0 : destinazione non presente o non attiva
- A = 1 e C = 0 : destinazione presente ma il frame è stato rifiutato
- A = 1 e C = 1 : destinazione presente il frame è stato copiato
- quando un frame arriva alla stazione di destinazione il bit A viene posto a 1 mentre attraversa l'interfaccia Ring. Inoltre se l'interfaccia copia il frame attiva il bit C
- Caratteristiche:
- IEEE 802.2 LLC (Logical Link Control)
- protocollo data link con controllo di errore e di flusso
- può operare sopra 802.3 e gli altri protocolli 802
- nasconde le differenze tra i vari tipi di reti 802 offrendo interfaccia e formato unici verso lo strato network
- è strettamente basato sull'HDLC
- LLC forma la metà superiore dello strato data link (verso lo strato network)
- fornisce tre modalità di servizio:
- datagram inaffidabile
- datagram con acknowledge
- servizio affidabile orientato alle connessioni
- header LLC
- access point di destinazione
- indica il processo destinatario del frame
- access point di sorgente
- indica il processo che ha generato il frame
- campo di controllo
- contiene i numeri di sequenza e di acknowledge
- sono utilizzati quando è richiesta una connessione affidabile sul livello data link
- access point di destinazione
- per Internet sono sufficienti i tentativi di trasmissione best-effort dei pacchetti IP, perciò al livello LLC non è richiesta alcuna operazione di acknowledge
- commutazione dello strato data link
- bridge
- dispositivi utilizzati per interconnettere LAN (anche diverse) che operano nello strato data-link
- esaminano gli indirizzi dello strato data link per eseguire l'instradamento
- poichè non devono controllare il carico utile, possono trasportare qualunque tipo di pacchetto (IPv4, IPv6, AppleTalk, ATM, OSI, ...)
- al contrario i router analizzano gli indirizzi nei pacchetti per poterli instradare correttamente
- il bridge estrae il pacchetto dal frame in arrivo e lo reincapsula su un nuovo frame per la LAN di destinazione
- problemi:
- le operazioni di conversione possono introdurre errori
- dovrà disporre di un buffer per gestire il flusso tra due LAN a diversa velocità
- non può suddividere un frame in frame più piccoli, pertanto se la LAN di destinazione non accetta frame con la stessa lunghezza di quelli in ingresso, questi frame andranno scartati
- in caso di conversione da 802.11 a 802.3 andranno perse le informazioni di cifratura presenti nelle intestazioni data link
- timer ai livelli superiori al data link
- bridge transparent (trasparenti)
- dovrebbero essere completamente trasparenti, ossia dovrebbe essere possibile spostare una macchina da un segmento di cavo all'altro senza dover apportare alcuna modifica hardware o software
- le macchine di un segmento dovrebbero poter comunicare con le macchine collegate a qualunque altro segmento senza tener conto dei tipi di LAN in uso nei vari segmenti
- tabella di hash
- tabella adattativa memorizzata nel bridge che indica a quale linea di output (LAN) appartiene ogni indirizzo di destinazione
- inizialmente (appena connesso il bride) le tabelle di hash sono vuote
- le tabelle vengono riempite con un algoritmo di allagamento
(flooding) che consente un apprendimento all'indietro (backward
learning)
- gli indirizzi sconosciuti vengono inviati a tutte le destinazioni tranne che all'input fino a scoprire il destinatario
- le tabelle vengono automaticamente aggiornate nel caso che si verifichino cambiamenti nella topologia di rete
- procedura di instradamento di un frame:
- se la LAN sorgente e destinazione coincidono, il frame è scartato
- se la LAN di sorgente e destinazione sono diverse, il frame è inoltrato
- se la LAN di destinazione è sconosciuta, si utilizza la trasmissione su tutte le LAN
- bridge spanning tree (bridge ad albero di attraversamento)
- per aumentare l'affidabilità alcuni siti installano due o più bridge in parallelo tra coppie di LAN
- per evitare i problemi legati a questa architettura (loop) è necessario che i bridge comunichino fra di loro e coprano la topologia reale con una srtuttura spanning tree che raggiunga ogni LAN in maniera univoca
- una volta che i bridge hanno concordato la struttura, tutti gli inoltri seguono lo spanning tree (che evita i loop)
- il bridge con il numero seriale (univoco nel mondo) più basso fungerà da nodo principale
- la struttura ad albero viene costruita scegliendo i percorsi più brevi dal nodo principale ad ogni bridge e LAN
- se la topologia della rete cambia, viene calcolata una nuova struttura
- l'algoritmo di spanning tree è uno standard IEEE 802.1D (Radia Perlman)
- bridge source-routing (bridge di instradamento da sorgente)
- è nato per le reti 802.5
- è pensato per ottenere l'instradamento più efficiente possibile a scapito della trasparenza
- non sono quasi mai utilizzati
- l'amministratore deve assegnare manualmente numeri di identificazione distinti ad ogni rete e ad ogni bridge
- le informazioni inserite dall'amministratore vengono incluse in un campo RI (Routing Information) del frame 802.5, e la loro presenza è indicata dal valore 1 del bit più significativo dell'indirizzo sorgente
- quando invia un frame su una LAN diversa, il trasmettitore, fissa a 1 il bit più significativo dell'indirizzo di destinazione ed include nell'intestazione del frame il cammino esatto che il frame deve seguire
- definizione del cammino:
- ogni LAN è identificata da un numero di 12 bit
- ogni bridge è identificato da un numero di 4 bit
- due bridge all'interno della stessa LAN devono avere numeri univoci
- un percorso è una sequenza di numeri di LAN e bridge
- comportamento del bridge
- un bridge di instradamento è interessato solo ai frame in cui il bit più significativo dell'indirizzo di destinazione è posto a 1
- come giunge un frame scandisce il cammino (contenuto
nell'intestazione) per determinare la LAN su cui deve inoltrarlo
- se invece del numero di LAN trova il numero di un altro bridge non inoltra il frame
- se la destinazione è ignota il sorgente invia in broadcasting un frame, di esplorazione, per chiedere informazioni a riguardo
- quando giunge la risposta i bridge registrano in essa la loro identità cosicchè il trasmettitore originale può vedere il percorso esatto seguito e scegliere il percorso migliore
- bridge