CAMBIA STILE

CAMBIA TEXTURE

CAMBIA COLORE

IL LIVELLO DATA LINK



Le funzioni principali di questo livello sono la suddivisione del pacchetto in tanti frame (framing), sincronizzazione e controllo del flusso, facendo in modo che il trasmettitore non intasi il ricevitore con una quantità non troppo elevata di dati. Inoltre questo livello effettua anche un controllo degli errori attraverso opportuni protocolli di verifica inserendo nella struttura stessa del frame appositi campi e decide i metodi di accesso al mezzo.

FRAMING

Quando questo strato riceve un pacchetto dal livello di rete, vi inserisce in testa ed in coda delle informazioni affinché sia inoltrato alla stazione destinataria. I confini di inizio e fine di ogni frame devono essere identificati e riconoscibili attraverso opportuni metodi. Uno di questi è quello del conteggio dei byte, capace di identificare le dimensioni del frame. Usando questa tecnica, però, può capitare che vi sia un problema proprio nel conteggio dei byte e quindi si potrebbe compromettere l'intero frame. Un altro metodo di framing è l'inserimento di alcuni caratteri di controllo che ne delimitano la lunghezza: generalmente vengono utilizzati i due caratteri DLE (Data Link Escape) e STX (Start of Text) all'inizio e DLE e ETX (End of Text) alla fine del frame. Però può capitare che vi sia una sbagliata interpretazione dei caratteri (dovuti o al troncamento prematuro del frame o inizio di un nuovo frame). La soluzione a questo problema è quella di aggiungere un altro carattere DLE ogniqualvolta se ne presenti uno all'interno della sequenza di dati; in questo modo il ricevitore, trovando nella sequenza due DLE consecutivi, potrà riconoscere che quelli incontrati sono semplici dati e non caratteri di controllo, provvederà quindi a rimuovere il byte DLE supplementare. Questa tecnica è nota come Byte Stuffing.



RILEVAMENTO DEGLI ERRORI

Il livello Data Link, prima di passare il frame al livello Fisico per la trasmissione, inserisce in coda ad esso un campo che verrà utilizzato dalla stazione ricevente per effettuare una verifica sulla correttezza del frame.

CONTROLLO DI PARITÀ

La tecnica più semplice per il controllo degli errori è la tecnica del bit di parità da inserire in coda ad ogni blocco di dati. La tecnica può essere di parità pari o dispari. Nel primo caso il bit di parità viene calcolato in modo tale che il numero totale di bit uguali a 1 sia pari. Nel secondo caso il bit di parità viene calcolato in modo tale che il numero totale di bit uguali a 1 sia dispari.

Byte da trasmettere:     

                  Parità pari:     

             Parità dispari:     

CONTROLLO CICLICO DI RIDONDANZA CRC (CYCLIC REDUNDANCY CHECK)

Questo metodo esegue su calcoli aritmetici in modulo 2 direttamente via HW. Per ogni file, il trasmettitore, associa ad esso un certo valore. La stessa operazione viene fatta dal ricevitore e si confrontano i due valori: se sono uguali non c'è stato nessun errore sulla trasmissione del pacchetto.

CONTROLLO DI FLUSSO

Il controllo di flusso si basa su 3 tipi di servizi:

  • - Servizio senza connessione e senza conferma: non viene richiesta nessuna connessione logica e nessuna attesa da parte della stazione mittente di un segnale di avvenuta ricezione da parte di quella destinataria. In questo caso eventuali frame persi non vengono recuperati. (ES: posta senza raccomandata di ritorno);
  • - Servizio senza connessione con conferma: non viene richiesta nessuna connessione logica, ma la stazione mittente aspetta che arrivi una conferma di avvenuta ricezione da parte di quella ricevente. In questo caso può essere rispedito il frame andato perso. (ES: Posta con raccomandata di ritorno);
  • - Servizio con connessione e con conferma: prima di trasmettere, la stazione mittente stabilisce una connessione logica con quella ricevente, inoltre la stazione destinataria invia una conferma a quella mittente per ogni frame correttamente ricevuto (ES: chiamata telefonica);

Per impedire che la stazione mittente spedisca i frame con una velocità tale da creare problemi in ricezione alla stazione destinataria, occorre implementare dei protocolli in modo che controllino il flusso dei dati. Uno di questi protocolli è il Simplex Stop And Wait. Il protocollo prevede che il ricevitore invii un frame di controllo, denominato ACK (Acknowledgement), per confermare l'avvenuta ricezione ed autorizzare il mittente ad inviare un altro frame. Però può capitare che ci sia un errore durante la trasmissione dei frame dati o del frame ACK, e quindi bisogna ricorrere al protocollo PAR (Positive Acknowledgement with Retrasmission). Questo protocollo prevede che, quando il trasmettitore spedisce il frame, attivi un timer e resti in attesa del frame ACK. Scaduto il timer senza che sia arrivato il frame ACK, il trasmettitore ritrasmette il frame. Però può accadere che potrebbe andare perso il frame ACK, e quindi il trasmettitore, ingannato dal mancato arrivo del frame alla fine del timer, rispedisca di nuovo il frame, e quindi ci sarebbe una duplicazione del frame. Per ovviare a questo problema, il trasmettitore inserisce nell'intestazione del frame, un campo che contiene un unico bit con valore 0 o 1 per ogni nuovo frame trasmesso. Se viene perso l'ACK, la stazione destinataria riceve una sequenza di frame errata e quindi si renderebbe conto che ha ricevuto per errore una copia dello stesso frame.

Quasi sempre la trasmissione di un singolo messaggio prevede l'invio di numerosi frame, quindi le tecniche descritte finora non sono adeguate. Pertanto si ricorre al protocollo della finestra scorrevole:



ESEMPIO:
Il campo ha dimensione 3 bit: le possibili combinazioni vanno da 000 a 111 = 7 bit

Quindi la finestra è di 7 bit. Trasmesso il frame 4, il ricevitore invia al trasmettitore l'ACK RR5 (pronto a ricevere il frame 5).

Quindi il trasmettitore invia al ricevitore il frame 5 e la finestra scorre verso destra.

Quando una stazione destinataria ha ricevuto un frame e deve inviare alla stazione trasmittente il frame ACK, può utilizzare lo stesso frame dati. Questa tecnica è nota come Piggybacking ("Trasportare in groppa").

METODI DI ACCESSO AL MEZZO

Se 2 o più stazioni trasmettono contemporaneamente i propri frame, danno vita ad una collisione e vanno irrimediabilmente distrutti. Tramite degli opportuni metodi di accesso al mezzo, adottati dal livello data link, è possibile ridurre significativamente la possibilità che i frame subiscano collisioni. I protocolli per l'accesso possono essere probabilistici o deterministici. In quelli probabilistici la risoluzione della contesa del canale va affidata al caso ed ogni stazione non ha mai la certezza che la propria trasmissione andrà a buon fine senza subire collisioni. In quelli deterministici viene dato il permesso di trasmettere solo ad una stazione per volta, tramite il passaggio, da una stazione all'altra, di un frame di controllo, detto token, che autorizza a trasmettere solo la stazione che ne è in possesso.

PROTOCOLLI CON RILEVAMENTO DI COLLISIONE (COLLISION DETECT)

I protocolli appartenenti a questa famiglia prevedono la presenza, in ogni stazione, di dispositivi in grado di rilevare quando due o più frame subiscono collisioni (collision detect). A questa famiglia appartengono i protocolli aloha (puro e a slot):

  • - Aloha puro: questo protocollo prevede che quando una stazione ha necessità di trasmettere dati, lo fa senza curarsi di cosa stanno facendo le altre stazioni della rete. Se poi viene rilevata una collisione, aspetta un tempo casuale e poi riprova a ritrasmettere il frame;

  • - Aloha a slot: questo protocollo prevede che quando una stazione ha necessità di trasmettere dati, deve aspettare un certo intervallo temporale predefinito. Il tempo infatti viene suddiviso in intervalli, detti slot, di durata esattamente pari al tempo necessario per trasmettere un singolo frame. Qualora la stazione rilevi una collisione, aspetterà un numero casuale di slot prima di effettuare un nuovo tentativo. Il vantaggio di questa tecnica è che la collisione tra 2 o più frame o è totale o non avviene affatto.


PROTOCOLLI CON RILEVAMENTO DELLA PORTANTE

I protocolli di questa famiglia prevedono la presenza, in ogni stazione, di dispositivi in grado di rilevare sul canale la trasmissione di un'altra stazione e verificare quindi se la linea è occupata o meno (carrier sense). I protocolli di questa famiglia sono il CSMA 1 - persistente (carrier sense multiple access) e il CSMA non persistente:

  • - CSMA 1 – persistente: una stazione prima di trasmettere, deve ascoltare il canale per verificare che sia libero ovvero che nessun'altra stazione stia trasmettendo. Solo in questo caso potrà iniziare la trasmissione. Qualora dovesse risultare occupato, la stazione che desidera trasmettere resta in ascolto nell'attesa che il canale si liberi e poi trasmette i propri dati. Un problema che può verificarsi, a causa del ritardo di propagazione dei segnali sulla linea, può essere che una stazione potrebbe rilevare il canale libero anche quando un'altra stazione ha appena iniziato a trasmettere. Un altro problema che può verificarsi con tale protocollo è nel caso un cui due o più stazioni avendo rilevato il canale occupato, non effettuano la trasmissione ma restano in modo permanente in ascolto del canale e non appena questo si libera, trasmettono ognuna i propri dati contemporaneamente.

  • - CSMA non persistente: una stazione non resta in modo persistente in ascolto, ma solo in intervalli di tempo casuali. In questo modo si riduce la possibilità di avere una collisione.

PROTOCOLLI CSMA/CD

Questo protocollo prevede sia l'ascolto del canale prima della trasmissione, sia la rilevazione delle collisioni seguita dalla ritrasmissione del frame. Il CSMA/CD (Carrier Sense Multiple Access with Collision Detect) ha le stesse problematiche del CSMA 1 persistente e nel caso venga rilevata una collisione, la stazione sospende la trasmissione e, dopo un tempo casuale, effettua un nuovo tentativo.



I PROTOCOLLI DEL DATA LINK


Il livello Data Link utilizza vari protocolli, di cui i più conosciuti sono l'HDLC (High Level Data Link Control) utilizzato soprattutto per le reti geografiche e il protocollo PPP (Point-to-Point Protocol) utilizzato soprattutto per le connessioni internet.

Il protocollo HDLC viene considerato un protocollo di linea, ovvero utilizzato su linee pubbliche. Prevede due tipi di connessione:

  • - Bilanciata che gestisce la connessione full-duplex;
  • - Sbilanciata che gestisce la connessione half-duplex.

Inizio Frame:
01111110

Indirizzo:
8bit/multipli di 8

Controllo:
8 o 16 bit

Informazione:
dim. Variabile

FCS - Frame check Sequence:
16/32 - CRC

Fine Frame:
01111110

Quando viene inviato un frame, in testa e in coda viene inviata la sequenza di bit 01111110, ma questa sequenza potrebbe essere anche parte dell'informazione da inviare. Con la tecnica del bit stuffing (a riempimento di bit), dopo 5 bit consecutivi a 1 viene inserito uno 0 (da parte del trasmettitore se la sequenza è riferita all'informazione). Il ricevitore riceve il tutto e analizza il sesto bit: se è 0 allora lo riconosce come un bit "extra" e lo rimuove, se il sesto bit è 1 allora riconosce la sequenza come fine frame.

Il protocollo PPP (Point-to-Point Protocol) viene utilizzato come standard per l'accesso ad internet, detto dial up. Differisce dall'HDLC perché l'HDLC è orientato al bit mentre il PPP è orientato al byte.

Inizio Frame:
01111110

Indirizzo di tipo broadcast (indirizzato a tutti):
11111111

Controllo:
00000011

Protocollo:
riconosce il protocollo usato dai livelli superiori per generare il pacchetto

Informazione:
dim. variabile

Checksum:

Fine Frame:
01111110

Il PPP è composto da:

  • - LCP (Link Control Protocol) è il protocollo che stabilisce e configura la connessione;
  • - NCP (Network Control Protocol) che prevede l'assegnazione da parte del server DHCP (Dynamic Host Configuration Protocol) di un indirizzo di rete (indirizzo IP) all'host dell'utente.

LAN E MODELLO DI RIFERIMENTO IEEE 802

Verso la fine degli anni '70, con il diffondersi delle prime reti locali, divenne necessario formalizzare degli standard con l'obiettivo di risolvere problemi di compatibilità tra i diversi componenti hardware e software utilizzati e per mettere ordine e razionalizzare il complesso mercato delle LAN.

Per questi scopi l'IEEE (Institute of Electrical and Electronic Engineers) lanciò il progetto IEEE 802 e, successivamente, vennero a crearsi gli standard "de jure" e "de facto". Uno standard viene detto "de jure" quando viene riconosciuto da un'organizzazione mondiale, "de facto", quando non viene riconosciuti da organismi internazionali di standardizzazione, ma vengono imposti dal successo e dalla diffusione che un prodotto ha sul mercato.

Il progetto IEEE 802 partì nel febbraio 1980 (da qui la sigla 802). Lo standard 802.1 si occupa della supervisione e del management. Lo standard 802.2 si occupa di creare un'interfaccia comune per le LAN e le MAN allo strato 3 di Rete. Lo standard 802.3 fu approvato definitivamente nel 1989 e ha una velocità di trasmissione di 10 Mb/s. Prevede l'utilizzo di cavi coassiali (spessi o sottili), cavi UTP e fibre ottiche.

SOTTOLIVELLO MAC DELLO STANDARD IEEE 802.3

Le funzioni svolte dal MAC riguardano principalmente l'incapsulamento dei dati che comprende il framing, l'indirizzamento e la rilevazione degli errori. Un'altra funzione fondamentale è la gestione dell'accesso al mezzo trasmissivo che comprende sia l'allocazione del mezzo sia la risoluzione della contesa.

FRAMING

Quando il livello superiore richiede al MAC, di trasmettere dei dati, questo provvede alla costruzione del frame.

Preambolo

SFD

Indirizzo Destinazione

Indirizzo Mittente

Lunghezza/Tipo

Dati

PAD

FCS

In testa al frame viene generato ed inserito un preambolo di 7 ottetti (la cui sequenza è 10101010), che permette la sincronizzazione tra la stazione ricevente e quella trasmittente. Poi viene inserito un ottetto denominato inizio frame (SFD - con sequenza 10101011). Il campo Indirizzo Destinazione contiene l'indirizzo MAC della stazione a cui è destinato il frame, mentre il campo Indirizzo Mittente contiene l'indirizzo MAC della stazione che ha composto il frame. Il campo di riempimento PAD viene utilizzato solo se il campo dati è inferiore a 46 byte. Infine il frame viene chiuso dal campo FCS che contiene il CRC dei campi precedenti per la rilevazione di eventuali errori.

GESTIONE DEGLI INDIRIZZI MAC

L'indirizzo MAC è formato, da 6 ottetti, che vengono trasmessi nell'ordine di scrittura, da sinistra verso destra. I bit che compongono i singoli byte, però, vengono trasmessi da destra verso sinistra. Il primo bit dell'indirizzo che viene trasmesso viene detto I/G e vale 0 se l'indirizzo è di tipo Individuale, ovvero è associato ad una particolare stazione della rete, vale 1 se l'indirizzo è di Gruppo, quando il frame è indirizzato a più stazioni della rete. Un caso particolare di indirizzo multicast è quello di tipo broadcast (ff-ff-ff-ff-ff-ff) che viene utilizzato quando il frame è diretto a tutte le stazioni della rete. Il secondo bit che viene trasmesso viene detto U/L e vale 0 se l'indirizzo è di tipo Universale, cioè è stato assegnato centralmente ed ufficialmente dall'IEEE; vale 1 se invece l'indirizzo è di tipo Locale, cioè non è stato assegnato ufficialmente, ma viene deciso su base locale dall'amministratore della rete.

Byte indirizzo MAC:          

Caratteristiche:          



ACCESSO AL MEZZO

Il MAC dell'802.3 utilizza il metodo di accesso al mezzo CSMA/CD. La stazione prima di trasmettere, ascolta se sul bus è già presente un segnale (carrier sense), se il canale risulta libero inizia a trasmettere rimanendo in ascolto, per rilevare un'eventuale collisione. Nel caso venga rilevata una collisione, la stazione sospende la trasmissione, ed invia a tutte le stazioni della rete una sequenza di 32 bit, detta sequenza jamming per avvisare dell'avvenuta collisione, in modo che venga da essa scartata il frame corrotto. Dopo un tempo casuale, la stazione che ha fallito la trasmissione effettua un nuovo tentativo. Possono essere effettuati al massimo 16 tentativi.



RETI ETHERNET

Agli inizi degli anni '70, tre industrie, la Digital Equipment Corp, la Intel Corp e la Xerox Corp, si unirono per formare un consorzio, denominato DIX, per predisporre la versione 1.0 di Ethernet. Nel 1982 venne presentata, la versione 2.0 che ebbe rapidamente successo sul mercato delle LAN come uno standard de facto.

FAST ETHERNET

Nel 1995 è stato approvato dall'IEEE lo standard, chiamato 100base-t che aumenta la velocità di trasmissione delle reti Ethernet a 100 Mb/s. Anche questo standard, conosciuto come Fast Ethernet, utilizza il metodo di accesso al mezzo CSMA/CD.

Tipo

Mezzo Trasmissivo

Bit Rate

Distanza Max.

100BASE-T4

UTP cat.3, 4 o 5

100 Mbit/s

100 m

100BASE-TX

UTP cat. 5

100 Mbit/s

100 m

100BASE-FX

Fibra Ottica

100 Mbit/s

2 Km



GIGABIT ETHERNET

Dal 1999 la Fast Ethernet ha ceduto il posto alla Gigabit Ethernet, capace di raggiungere una velocità di trasmissione pari a 1000Mbit/s.

Tipo

Mezzo Trasmissivo

Bit Rate

Distanza Max.

1000BASE-T

Utp CAT. 5 o superiore

1000 Mbit/s

100 m

1000BASE-SX

Fibra Ottica

1000 Mbit/s

500 m

1000BASE-LX

Fibra Ottica

1000 Mbit/s

2 Km

1000BASE-LX10

Fibra Ottica

1000 Mbit/s

10 Km

1000BASE-BX10

Fibra Ottica

1000 Mbit/s

10 Km

1000BASE-CX

STP

1000 Mbit/s

25 m



RETI CON ACCESSO A TOKEN


Un'alternativa al metodo di accesso CSMA/CD è quello con accesso tramite token. Questo metodo prevede la presenza di un frame token, che può essere acquisito a turno dalle stazioni che desiderano trasmettere. La stazione che possiede il token è l'unica che può trasmettere sulla rete e al termine della trasmissione immette di nuovo in circolazione il token che può essere prelevato da un'altra stazione. In questo modo si elimina il problema delle collisioni. L'IEEE ha creato due differenti standard: 802.4 token bus e l'802.5 token ring.

STANDARD IEEE 802.4 TOKEN BUS

Lo standard IEEE 802.4 prevede una topologia fisica a bus ma una configurazione logica ad anello. Ogni stazione conosce in fatti l'indirizzo della stazione che la precede e di quella successiva, formando un anello virtuale.

STANDARD IEEE 802.5 TOKEN RING

In una rete token ring le stazioni sono collegate ad anello ed i frame passano da una stazione all'altra in maniera sequenziale. Terminata la trasmissione del token, la stazione rigenera il token stesso rimettendolo in circolo per dare la possibilità ad altri nodi di trasmettere.

RETI WIRELESS


Una rete wireless permette la comunicazione tra computer senza utilizzare cavi offrendo, rispetto alle altre LAN, l'enorme vantaggio della mobilità.

LAN WIRELESS IEEE 802.11

Anno

Sigla

Freq. Operante

Velocità

1997

IEEE 802.11

2.412 / 2.484 GHz

2 Mbps

1999

IEEE 802.11b

2.4 / 2.485 GHz

11 Mbps

1999

IEEE 802.11a

5.15 / 5.825 GHz

54 Mbps

2003

IEEE 802.11g

2.4 / 2.485 GHz

54 Mbps

2004

IEEE 802.11n

2.4 / 5.4 GHz

300 Mbps

2008

IEEE 802.11ac

5 GHz

1 Gbps



LIVELLO FISICO 802.11

Per installare una rete wireless occorre almeno un Access Point wireless ed un adattatore wireless per ogni stazione da connettere. Se questa è un desktop, l'adattatore può essere su scheda PCI o tramite porta esterna USB. Se la stazione da connettere è un notebook, l'adattatore wireless può essere integrato nella macchina con una scheda wireless mini PCI.


LIVELLO MAC DI 802.11

Il MAC dell'IEEE 802.11 prevede due tipi di configurazione di rete wireless:

  • - AD HOC NETWORK: composta da un piccolo numero di stazioni paritetiche (peer to peer) che colloquiano direttamente tra loro senza l'ausilio di una stazione base;
  • - INFRASTRUCTURE NETWORK: prevede un sistema di distribuzione cui si accede attraverso le stazioni base, ovvero gli Access Point.

L'insieme delle stazioni che colloquiano tra di loro pariteticamente o attraverso il medesimo AP, viene detto BASIC SERVICE SET (BSS). L'insieme di più BSS connessi tra loro attraverso un sistema di distribuzione viene detto EXTEND SERVICE SET (ESS). Per trasmettere via wireless, occorre conoscere se il canale è libero e se vi è in atto una collisione (CSMA/CA – Carrier Sense Multiple Access/Collision Avoidance), in tal caso il trasmettitore si pone in attesa per un intervallo di tempo. Al termine di questo intervallo, la stazione mittente invia un frame di controllo RTS (REQUEST TO SENT) alla ricevente per chiedere l'autorizzazione alla trasmissione, solo quando la ricevente invia a sua volta l'autorizzazione attraverso il frame CTS (CLEAR TO SEND), avviene la trasmissione dei dati al termine della quale, se tutto è andato a buon fine, la stazione destinataria invia un messaggio di ACK, ovvero di avvenuta ricezione. I frame RTS e CTS contengono anche informazioni sulla durata della trasmissione.

CRITERI DI SICUREZZA

I dati scambiati in una rete wireless, non transitando su un cavo, sono soggetti ad essere intercettati anche da dispositivi estranei alla rete che si trovano in zone vicine. Inoltre, se la rete è connessa ad internet, sono possibili intrusioni anche dal web. Per la sicurezza delle comunicazioni su una rete wireless, possono essere utilizzati i seguenti criteri si sicurezza:

  • - SSID (Service Set Identifier): è il nome univoco associato alla rete, associato in fase di configurazione dell'AP. Tutti i client possono connettersi alla rete se rilevano l'SSID;
  • - Filtri MAC: Usa l'indirizzo MAC (codice a 48 bit) associato univocamente in fabbrica ad ogni scheda di rete. Quando si configura l'AP si crea una lista di indirizzi MAC per limitare i dispositivi Wireless che possono accedere alla rete;
  • - Client List (LISTA CLIENTI): lista contenente i client connessi alla rete: quelli non autorizzati possono essere disabilitati;
  • - WEP (Wired Equivalent Privacy): sistema di cifratura alfanumerica immessa dall'utente che deve essere utilizzata da ciascun client. La WEP può essere:
    •        - A chiave aperta: vengono cifrati solo i pacchetti dati;
    •        - A chiave condivisa: i client per accedere alla rete debbono utilizzare la chiave;
  • - WPA (WiFi- Protected Access) con chiave pre-condivisa (PSK, Pre-Shared Key): viene utilizzata una stringa alfanumerica (Pass Phrase) cambiata dinamicamente con un protocollo denominato TKIP (Temporal Key Integrity Protocol);
  • - WPA2 (PSK) con chiave pre-condivisa: come al WPA, ma permette anche la codifica dei dati con algoritmo AES (Advanced Encryption Standard) (utilizzando matrici di 4x4 byte, questo algoritmo di cifratura si svolge in 4 fasi cambiando le posizioni delle righe e delle colonne dei dati contenuti nella tabella).

Una tecnologia di comunicazione wireless a corto raggio è quella BLUETOOTH. L'ultima versione disponibile del Bluetooth è la v4.0, capace di trasmettere alla velocità di 24 Mb/s e cifra i dati con l'algoritmo AES-128 bit.

Un'altra tecnologia di trasmissione wireless è l'infrarossi (IrDA) che opera su distanze di circa un metro e non può attraversare oggetti solidi. I dispositivi comunicanti devono essere in linea tra loro con un cono massimo di disallineamento di circa 30°. La velocità di trasmissione è pari a circa 1Mb/s.