5.Il livello link Flashcards
Quale è il compito principale dei data link?
Il livello data link ha la funzione di trasportare un frame da un nodo a un’altro nodo fisicamente adiacente.
Quale è il contesto del livello data link? Spiegalo con un analogia.
Utilizzerà un analogia con i sistemi di trasporto. Per fare un viaggio da Princeton a Losanna, prima devo prendere la limousine fino all’ aereoporto, poi prendo l’aereo e infine il treno fino a Losanna. Il turista è il datagramma, la porzione di viaggio è il link, la modalità di viaggio è protocollo di livello data link e l’agenzia di viaggio è l’algoritmo di routing.
Quali sono i servizi di livello data link?
Un servizio del livello data link è sicuramente la creazione di un frame di livello 2, ovvero incapsula un datagramma in un frame, aggiungendoci header e trailer e poi utilizza indirizzi di livello 2(indirizzi MAC) negli header per identificare mittente e destinatario. Il secondo sevizio è invece la consegna affidabile tra nodi adiacenti. Altri servizi sono il controllo di flusso, rilevamento di errore, correzione d’errore, half-duplex e full-duplex.
Chi implementa il livello data link?
Il livello data link è implementato in tutti gli host, di solito come firmware di un ‘adattatore di rete” o su un chip(ad esempio una scheda Ethernet). Si collega direttamente al bus di sistema dell’host.
Come funziona la comunicazione tra adattatori di rete?
Il mittente incapsula un datagramma in un frame, aggiunge bit ulteriori per controllo di errore, controllo di flusso ecc.. Il ricevente cerca eventuali errori, collabora con il controllo di flusso ecc.. Infine estrae il datagramma e lo passa ai livelli superiori.
Che cosa significa EDC quando si parla di rilevamento di errori nel livello data link?
EDC sono i bit ridondanti inseriti per Error Detection and Correction. Il rilevamento di errore non è mai affidabile al 100%. Maggiore è la ridondanza, maggiore e la protezione in generale.
Come si correggono gli errori tramite ridondanza nel livello data link?
Si utilizza un’operazione detta “interleaving” , che consiste nel riordino dei bit), che fornisce una protezione anche contro errori a “raffica”.
Qual’è un algoritmo più efficiente per il rilevamento di errori nei link?
Un algoritmo più efficiente per il rilevamento di errore è il CRC(Cyclic Redundancy Check). In questo algoritmo il mittente calcola un valore di controllo basato sui dati tramite la divisione polinomiale, e il ricevente esegue lo stesso calcolo per verificare che il valore coincida, rilevando eventuali errori.
Quali sono i diversi tipi di collegamento?
I diversi tipi di collegamento sono punto-punto(ad esempio dial-up o tra un host e uno switch Ethernet) e broadcast(mezzo di trasmissione condiviso).
Quale è il compito dei protocolli per il controllo dell’accesso multiplo?
Due o più trasmissioni simultanee partono da nodi diversi e si crea interferenza, perché se un nodo riceve due o più segnali nello stesso momento si verifica una collisione. Quindi il compito del protocollo ad accesso multiplo è di determinare come i nodi condividano il canale, ovvero quando un nodo può trasmettere e quando no. Questi protocolli sono chiamati protocolli MAC.
Quale sarebbero le caratteristiche di un protocollo MAC(Multiple Accesso Control) ideale?
Da un canale broadcast capace di supportare comunicazioni a R bit/s, vorremmo che quando un nodo trasmette, possa farlo a velocità R, quando M nodi trasmettono, possano farlo ad un tasso medio pari a R/M, inoltre che il sistema fosse completamente decentralizzato e possibilmente anche semplice.
Quali sono le tre diverse classi dei protocolli MAC?
Le tre diverse classi sono:
- a ripartizione delle risorse di canale: dividono il canale in “sotto-canali” più piccoli e allocano ciascun sotto-canale a un non in modo esclusivo.
- ad accesso casuale: il canale non viene suddiviso, si accetta che si verifichino collisioni(si cerca comunque di minimizzarle).
- a turni intelligenti: i nodi accedono al canale a turni, ma i nodi con molti dati da trasmettere possono ottenere turni più lunghi.
Quali sono le diverse tecniche di accesso multiplo utilizzate dai protocolli MAC?
Le diverse tecniche utilizzate dai protocolli MAC sono: TDMA(time division multiple access), FDMA(frequency division multiple access) e CDMA(code-division multipel access).
Spiega meglio come funziona TDMA(Time division multiple access).
In TDMA, l’accesso al canale avviene in “round”. Ogni nodo ottiene uno slot di durata fissa in ogni round(la lunghezza del round è uguale al tempo di trasmissione di un pacchetto), gli slot inutilizzati rimangono liberi. I round si chiamano più tipicamente “frame”(anche qui).
Spiega meglio come funziona FDMA(Frequency division multiple access).
In FDMA, lo spettro del canale è suddiviso in “sotto-bande”, ad ogni stazione si assegna una sotto-banda. Quando una sotto-banda non viene più utilizzata, la risorsa rimane inutilizzata.
Spiega meglio come funziona CDMA(code-division multiple access).
In CDMA la ripartizione delle risorse avviene assegnando un “codice” diverso ad ogni nodo.
Come funzionano i protocolli MAC ad accesso casuale?
Quando un nodo ha un pacchetto da trasmettere, può trasmettere al data rate massimo(R), non c’è coordinamento con gli altri nodi da trasmettere, il che può causare collisioni. Un protocolli ad accesso casuale specifica come (e se) rilevare le collisioni e come(e se) recuperare uno stato di collisione(ad esempio, imponendo a ciascun nodo di riprovare dopo un ritardo casuale). Esempi di protocolli del genere sono: Slotted ALOHA, ALOHA, CSMA ecc.
Come funziona Slotted ALOHA?
In Slotted ALOHA il tempo è suddiviso in slot(ciascuno lungo quanto un pacchetto), i nodi possono trasmettere solo all’inizio di uno slot. Quando un nodo ha qualcosa da inviare, lo invia nello slot immediatamente successivo. Se non ci sono collisioni: il nodo può trasmettere ancora nello slot seguente, altrimenti il nodo ritrasmette il pacchetto con probabilità p in ogni slot seguente finché non ha successo.
Quali sono i vantaggi e gli svantaggi dello Slotted ALOHA?
I vantaggi sono che se un solo nodo è attivo, può usare il canale continuamente, inoltre il protocollo è decentralizzato e molto semplice. I svantaggi sono che le collisioni sono molto probabili e gli slot potrebbero rimanere vuoti, quindi un spreco di risorse.
Come funziona invece l’ALOHA puro(non slotted)?
ALOHA è ancora più semplice, perché non c’è nessuna sincronizzazione, quindi quando un frame arriva, viene trasmesso subito, il che ovviamente aumenta la probabilità di collisione.
Come funziona il protocollo MAC CSMA(Carrier Sense Multiple Access)?
In parole povere il CSMA funziona ascoltando prima di parlare. Se il canale viene valutato vuoto, si trasmette un intero frame, altrimenti si ritarda la trasmissione.
Che cosa cambia tra CSMA non-persistente(0-persistente) e 1-persistente?
In CSMA 0-persistente, quando il canale è occupato, attende un tempo casuale e molto più lungo del tempo di trasmissione, esaurito il quale ritenta. In CSMA 1-persistente, quando il canale è occupato, attende finché non si libera e dopodiché trasmette subito.
Quali sono invece le caratteristiche di CSMA p-persistente?
In CSMA p-persistente, quando il canale è occupato, attende finché non si libera e poi con probabilità p, trasmette il frame o con probabilità 1-p, attende un temp casuale e molto più lungo del tempo di trasmissione e poi ritenta.
Che cos’è il tempo di vulnerabilità in CSMA?
In CSMA il tempo di vulnerabilità è l’intervallo di tempo durante il quale una trasmissione può entrare in collisione con altre, ed è determinato dal tempo di propagazione del segnale tra i dispositivi nella rete.