2. IL LIVELLO DATA LINK
E’ il livello 2 della Pila ISO/OSI
Gestisce l’accesso con i diversi mezzi di
trasmissione fisici presenti
Gestisce il controllo di flusso dei dati
Gestisce il controllo degli errori durante la
trasmissione
Prepara i dati sotto forma di frame da
imbustare poi nel livello 3 Rete
3. IL LIVELLO DATA LINK
Il livello è diviso in sottolivelli che sono
differenti a seconda del mezzo di
trasmissione e sul tipo di rete ove devono
veicolare i dati LAN o WAN
I dati trasmessi sul mezzo fisico sono
organizzati in frame (trama) che hanno
caratteristiche e specifiche diverse a
seconda del protocollo di raccordo utilizzano
verso il livello 3
4. STANDARD IEEE 802
Il sottolivello MAC regola l’accesso al
mezzo che cambiando in base al mezzo
di trasmissione e al tipo di rete LAN o
WAN
5. IL SOTTOLIVELLO LLC
prevede una modalità di trasmissione solo
dati detta «connectionless»
prevede una modalità di trasmissione
orientata alla connessione «connection
oriented» con i seguenti compiti:
apre e chiude la connessione
regola il flusso dei dati
effettua il controllo e la correzione degli errori di
trasmissione
6. IL SOTTOLIVELLO MAC
regola l’accesso al mezzo di trasmissione
Le modalità di accesso al mezzo variano in
base al mezzo di trasmissione e al tipo di rete.
Infatti l’accesso al mezzo può essere:
deterministico senza collisioni (interferenza di
altri trasmettitori) o non deterministico ovvero
con la possibilità di collisioni sul mezzo di
trasmissione.
7. ELEMENTI SPECIFICI DEL LIVELLO DATALINK
I protocolli possono essere sincroni e asincroni
Nel protocollo asincrono si tiene conto del fatto che
gli host in comunicazione hanno velocità di
trasmissione sensibilmente diverse. Si spediscono
caratteri delimitandoli con bit sprecando banda
La struttura è rappresentata qui
Nel protocollo sincrono i dati sono spediti sotto forma
di trame di bit, riducendo i tempi morti nella
trasmissione. Un errore sulla trama può richiedere la
ritrasmissione della stessa
Start Carattere Stop
8. STRUTTURA DI UNA TRAMA
La trama è costituita da un’intestazione Header
dai dati, e da una coda Trailer secondo questo
schema:
Header e Trailer variano a seconda del tipo di
rete sulla quale le trame sono trasmesse LAN o
WAN. Per esempio sulla LAN l’implementazione
maggiormente diffusa è Ethernet, mentre sulle
WAN è PPP ad esempio.
HEADER DATA TRAILER
9. PRINCIPALI STANDARD DEL LIVELLO DATALINK
ISO HDLC (high level data link control)
IEEE 802.2 LLC, 802.3 ETHERNET, 802.5
TOKEN RING, …, 802.11 WLAN
ITU HDLC, Q.922 FRAME RELAY
ANSI 3T9.5, ADCPP (Advanced Data
Communications Control Protocol)
10. STRUTTURA DEL FRAME IN DETTAGLIO
Header composto da Start Frame, Address,
Type/Length.
Start frame è il delimitatore di inizio frmae
Address è l’insieme degli indirizzi mittente
destinatario
Type/Lenght indica di che tipo di dati del livello
superiore o oppure la lunghezza del frame
Data i dati
Trailer composto da FCS codice di correzione
degli errori della trama, End frane fine frame
Start
framey
Address Type
/Length
Data FCS End Frame
11. PROTOCOLLO ETHERNET
La struttura del frame Ethernet con le relative
lunghezze in byte è schematizzato di
seguito.
Preamble
7 byte+
1byte SFD
Destination
Address
6 byte
Source
Address
6 byte
Type
2 byte
Data
46-1500
byte
FCS
4 byte
12. STRUTTURA IN DETTAGLIO DEL FRAME
ETHERNET
Il preamble è una sequenza di sincronizzazione per i clock dei
sistemi che iniziano la trasmissione
SFD Start Frame Delimiter è l’inizio del frame
Destination e Source Address sono gli indirizzi MAC degli host
ognuno è di 6 byte
Type indica se trattasti di pacchetto Ethernet 2 o 802,3 oppure
indica il tipo di protocollo di livello 3 trasportato
Data sono i dati che hanno una lunghezza variabile
FCS sono la codifica CRC a 32 bit del frame
Preamble
7 byte+
1byte SFD
Destination
Address
6 byte
Source
Address
6 byte
Type
2 byte
Data
46-1500
byte
FCS
4 byte
13. STRUTTURA DEL FRAME PPP POINT TO POINT
PROTOCOL
PPP è utilizzato nelle reti WAN
La struttura del Frame è diversa da quello
Ethernet, come mostrato.
FLAG
1 byte
Address
1 byte
Control
1 byte
Protcol
2 byte
Data
Variabile
FCS
2 byte
Delimitatore
01111110
Indirizzo
di
Broadcast
Contiene una
sequenza
binaria che
attiva l’invio
di dati utente
in modo
nonordinato
Identifica il
protocollo
di livello 3
secondo
RFC
Codice
di
correzio
ne degli
errori
CRC a
16 bit
14. FRAME ETHERNET II IN DETTAGLIO
Nelle reti LAN sono presenti frame Ethernet 2 e 802.3, la
discriminante del tipo di pacchetto basa sul valore del
campo Type che se inferiore a 1500 rappresenta un frame
802.3, altrimenti Ethernet 2.
Nel frame Ethernet 2 il campo Type codifica anche il tipo di
protocollo di livello superiore L3
Il preambolo è di 8 byte manca SFD è incapsulato all’interno
dello stesso
Preamble
8 byte
Destination
Address
6 byte
Source
Addres
s
6 byte
Type
2
byte
Data
46-1500
byte
FCS
4 byte
15. FRAME ETHERNET II IN DETTAGLIO 2
Type essendo superiore a 1500, codifica il tipo di protocollo
di livello superiore
0800h IPv4 Livello 3
0806h ARP Livello 3
0803h RARP Livello 3
809Bh AppleTalk
8100h VLAN 802.1Q Livello 2 MAC, LLC
8600h IPV6
Preamble
8 byte
Destination
Address
6 byte
Source
Address
6 byte
Type
2
byte
Data
46-1500
byte
FCS
4 byte
16. FRAME ETHERNET 802.3
Il campo Type ha valore minore o uguale a
1500 e codifica la lunghezza in byte del
campo dati
All’interno del campo dati viene imbustata
una PDU LLC specifica detto SNAP Ethernet
Il campo Campo PAD riempie la trama fino a
raggiungere la dimensione di 72 byte.
Preamble
7 byte
SFD
1 byte
Destination
Address
6 byte
Source
Address
6 byte
Length
2 byte
Data
fino a
1492 byte
PAD
46
byte
FCS
4 byte
17. PDU LLC SNAP ETHERNET 1
Snap è acronimo di Subnetwork Access Protocol, per
essere un frame Snap i campi DSAP e SSAP devono valere
AAh
I byte OUI sono a zero il campo Protcol Type indica il tipo di
protocollo di livello 3 trasportato. Alcuni valori di SAP sono;
AAH Sanp Ethernet
F0H frame Netbeui/Netbios
06h IPv4
DSAP
1 byte
SSAP
1 byte
Control
1 byte
OUI
3 byte
Protocol
Type
2 byte
Dati
< 1492
byte
18. PDU LLC SNAP ETHERNET 2
Il campo OUI di tre byte che riporta parte del MAC Address nel frame il
primo byte di OUI ha importanza per la classificazione del tipo
destinazione che può essere:
un solo host unicast
un gruppo di host multicast
tutti gli host broadcast
Per distinguere di che tipo di destinazione si tratta occorre esaminare il bit di
peso 1 e peso 0 bit (a livello di bit i dati sono trasmessi Little Endian del primo
byte OUI denominati U/L e I/G;
Infatti se I/G=0 si tratta di un pacchetto unicast
Se I/G=1 si tratta di un pacchetto multicast universale (U/L=0)) e locale (U/L=1)
Se ttti i byte sono ff, si tratta di un pacchetto broadcast
DSAP
1 byte
SSAP
1 byte
Control
1 byte
OUI
3 byte
Protocol
Type
2 byte
Dati
< 1492
byte
19. CONTROLLO DI FLUSSO
Il livello Data Link gestisce il controllo di
flusso
Le modalità maggiormente diffuse sono:
Stop and Wait
PAR
Finestra Scorrevole
Go Back N
Selective Reject
Piggy Backing
20. CONTROLLO DI FLUSSO – CARATTERISTICHE
COMUNI
Modalità di trasmissione Half o Full Duplex
Utilizzo di pacchetti ACK (Acknolowedgement) per
confermare la ricezione corretta delle trame da parte
del ricevente
In alternativa utilizza NACK che indica al trasmettitore
la ricezione non corretta dalla trame da parte del
ricevente
Il trasmettitore attiva su ogni trama un conteggio
temporale. Questo permette di attendere un tempo
oltre il quale il trasmettitore assume che la trama è
andata persa (errori di trasmissione, ecc)
21. STOP AND WAIT
All’invio di ogni Pacchetto
indicato con P, il trasmettitore TX
aspetta ACK per un tempo t,
dopo che ha ricevuto ACK, invia
nuovo pacchetto
Se non riceve ACK dopo il tempo
t la trama è andata persa e la re-
invia automaticamente
Problema trama duplicata in
quanto il ricevente non è in grado
di stabilire se il trasmettitore ha
ricevuto ACK, e quindi potrebbe
ricevere una trama duplicata.
Questo problema aumenta se il
ricevitore è lento.
22. PAR
Per ovviare al problema della trama duplicata e dell’ACK
ritardato, si può ovviare con la tecnica PAR Positive
Acknolewdgement Ritrasmission che inserisce nella
trama il numero della trama spedita.
In questo modo la trama duplicata verrà scartata dal
ricevente se è stata già ricevuta in quanto conterrà lo
stesso numero PAR
L svantaggio di questo protocollo risiede nella lentezza in
quanto prima di procedere alla trasmissione occorre
attendere un intero tempo di invio – ricezione ACK per
continuare la trasmissione.
Tale tempo è definito come RTD Round Trip Delay
23. FINESTRA SCORREVOLE
Le trame sono numerate, il
trasmettitore decide la
dimensione della finestra SWS
(Send Windows Size) ovvero
quante trame inviare
Anche gli ACK e gli NACK sono
numerati in modo che ad ogni
invio il trasmettitore riceve
riscontro numerato che
incrementa un indice detto LAR
Last Received Acknoledgement
Il trasmettitore invia un altro
gruppo di trame con indice
superiore al LAR ricevuto in
questo modo la trasmissione
viene proseguita spostando la
finestra in avanti.
24. FINESTRA SCORREVOLE PROBLEMI
Se il ricevitore riceve
trama errata scarta tutte
le trame successive
finché il trasmettitore non
invia la trama che era
errata
Nel caso di trama
mancante ovvero di
trame che sono spedite
fuori ordine, scarta tutte
le trame fino alla
ricezione della trama
mancante.
25. GO BACK N
Trasmette N pacchetti pari
alla dimensione della finestra
SWS prima di ricevere un
ACK
Trama mancante , il
ricevente riceverà trame
successive fuori ordine
bloccando l’invio degli ACK,
fermando di fatto il
trasmettitore finché non
rispedirà la trama mancante
che sarà con trame fuori
ordine
ACK mancante il trasmettitore
riceve comunque ACK
successivi e quindi continua a
spedire trame a meno che non
arriva un NACK dal ricevitore
NACK mancante se il
trasmettitore non riceve NACK
non riceverà nemmeno i
successivi ACK, quindi
quando scatta il timer
ricomincia a spedire e
ricevendo un ACK positivo
spedisce le altre trame in
attesa nella finestra
26. SELECTIVE REJECT
E’ una finestra scorrevole modificata
Il ricevitore trattiene le trame in un buffer
le trame mancanti possono sono rispedite e
vengono inglobate in quelle già ricevute.
Il ricevitore deve avere la capacità
elaborativa di ricostruire le trame nella
sequenza corretta