La stessa comunicazione puo' essere osservata da punti di vista diversi: il livello fisico vede segnali, il livello data link vede frame, lo switch usa gli indirizzi MAC per scegliere la porta.
La comunicazione di rete e' un problema complesso. Per renderlo piu' semplice da studiare e da progettare, viene diviso in livelli. Ogni livello ha un compito preciso e offre un servizio al livello superiore.
In questo modo chi si occupa del trasporto fisico dei bit non deve conoscere il contenuto del messaggio, mentre chi usa la rete non deve sapere nei dettagli come il segnale elettrico, luminoso o radio viene generato.
Il modello ISO/OSI e' un modello di riferimento che descrive la comunicazione di rete dividendola in sette livelli. Non e' una tecnologia specifica, ma una mappa concettuale utile per capire dove si collocano protocolli, apparati e funzioni.
I livelli 1 e 2 sono vicini, ma non fanno la stessa cosa.
| Livello | Nome | Funzione generale |
|---|---|---|
| 7 | Applicazione | Servizi di rete usati dalle applicazioni |
| 6 | Presentazione | Formato dei dati, codifica, cifratura |
| 5 | Sessione | Gestione della sessione di comunicazione |
| 4 | Trasporto | Comunicazione end-to-end, flusso, porte |
| 3 | Rete | Indirizzamento logico e instradamento |
| 2 | Collegamento dati | Frame, indirizzi MAC, comunicazione nella rete locale |
| 1 | Fisico | Trasmissione dei bit come segnali sul mezzo fisico |
Durante l'invio, i dati vengono preparati dai vari livelli. Ogni livello aggiunge informazioni utili al proprio compito. Questa operazione prende il nome di incapsulamento.
Il nome dell'unita' dati cambia perche' cambia il livello che la sta osservando. Per l'applicazione e' un messaggio; per TCP e' un segmento; per IP e' un pacchetto; per Ethernet e' un frame.
| Livello | Unita' dati |
|---|---|
| Livelli 7-5 | Messaggio o dati dell'applicazione |
| Livello 4 | Segmento TCP o datagramma UDP |
| Livello 3 | Pacchetto |
| Livello 2 | Frame |
| Livello 1 | Bit e segnali |
In ricezione avviene il percorso inverso. La scheda di rete riceve un segnale dal mezzo fisico, ricostruisce i bit e consegna il frame al livello data link. Ogni livello controlla il proprio header, lo rimuove e passa il contenuto al livello superiore.
| Passaggio | Controllo principale |
|---|---|
| Segnale -> bit | La NIC interpreta il segnale elettrico, ottico o radio. |
| Frame -> pacchetto | Il data link controlla MAC destinatario e FCS. |
| Pacchetto -> segmento/datagramma | IP verifica che il pacchetto sia destinato all'host corretto. |
| Segmento/datagramma -> messaggio | Il livello di trasporto consegna i dati al processo giusto tramite la porta. |
Il livello fisico si occupa di rappresentare e trasmettere i bit sul mezzo trasmissivo. Non interpreta il significato dei dati: per questo livello una pagina web, un file o un messaggio sono semplicemente sequenze di bit.
10110010
Quei bit possono essere rappresentati con tensioni elettriche su rame, impulsi luminosi su fibra ottica oppure onde radio in una rete wireless.
| Mezzo trasmissivo | Tipo di segnale |
|---|---|
| Doppino in rame | Segnale elettrico |
| Cavo coassiale | Segnale elettrico |
| Fibra ottica | Segnale luminoso |
| Wi-Fi | Onda radio |
| Bluetooth | Onda radio |
Gli apparati di livello 1 lavorano con segnali e bit. Non leggono indirizzi MAC, non leggono indirizzi IP e non decidono quale sia il destinatario finale del messaggio.
| Apparato | Funzione |
|---|---|
| Repeater | Rigenera il segnale |
| Hub | Ripete il segnale su tutte le porte |
| Cavo e connettori | Permettono il collegamento fisico |
| Transceiver | Converte un segnale da una forma a un'altra |
Il livello data link organizza i bit in strutture chiamate frame. Questo livello permette la comunicazione tra dispositivi collegati alla stessa rete locale o allo stesso collegamento.
+----------------+----------------+-----------+-------------+
| MAC Destinaz. | MAC Mittente | Dati | Controllo |
+----------------+----------------+-----------+-------------+
Nel frame compaiono informazioni che il livello fisico non gestisce: indirizzi MAC, dati trasportati e campi di controllo.
| Campo | Funzione |
|---|---|
| Preambolo | Aiuta a sincronizzare mittente e destinatario |
| MAC destinatario | Indica a chi e' destinato il frame |
| MAC mittente | Indica chi ha inviato il frame |
| Dati | Contenuto trasportato |
| FCS | Campo di controllo degli errori basato su CRC |
L'indirizzo MAC e' l'indirizzo di livello 2 associato a una specifica interfaccia di rete. MAC significa Media Access Control.
00:1A:2B:3C:4D:5E
Un computer con due interfacce, per esempio Ethernet e Wi-Fi, puo' avere due indirizzi MAC diversi: uno per ciascuna interfaccia.
| Aspetto | MAC address | Indirizzo IP | Numero di porta |
|---|---|---|---|
| Livello OSI | Livello 2 | Livello 3 | Livello 4 |
| A cosa serve | Consegna nella rete locale | Raggiungere l'host tra reti diverse | Consegnare i dati al processo corretto |
| Esempio | 00:1A:2B:3C:4D:5E |
192.168.1.10 |
80, 443, 49152 |
| Usato da | Switch e schede di rete | Router e host | TCP, UDP e sistema operativo |
Un hub e uno switch possono sembrare simili perche' hanno molte porte Ethernet, ma lavorano in modo molto diverso.
| Aspetto | Hub | Switch |
|---|---|---|
| Livello OSI | 1 | 2 |
| Legge indirizzi MAC? | No | Si' |
| Inoltro | Ripete su tutte le porte | Invia verso la porta corretta, se nota |
| Efficienza | Bassa | Alta |
Lo switch costruisce una tabella che associa gli indirizzi MAC alle proprie porte. Quando riceve un frame, legge il MAC mittente per imparare dove si trova quel dispositivo e legge il MAC destinatario per decidere dove inoltrare il frame.
| MAC address | Porta dello switch |
|---|---|
AA:AA:AA:AA:AA:01 |
Fa0/1 |
AA:AA:AA:AA:AA:02 |
Fa0/2 |
AA:AA:AA:AA:AA:03 |
Fa0/3 |
Se lo switch non conosce ancora la porta del destinatario, inoltra il frame su tutte le porte tranne quella da cui lo ha ricevuto. Questa operazione si chiama flooding.
Lo switch riceve un frame dalla porta Fa0/1. Per decidere dove inoltrarlo guarda il MAC destinatario e lo confronta con la propria tabella MAC.
| MAC conosciuto | Porta |
|---|---|
AA:AA:AA:AA:AA:01 |
Fa0/1 |
AA:AA:AA:AA:AA:02 |
Fa0/2 |
AA:AA:AA:AA:AA:03 |
Fa0/3 |
AA:...:01
scegli un caso
Scegli un caso:
Nel frame Ethernet il MAC di destinazione indica chi deve ricevere la trama. Da questo punto di vista una trasmissione può essere di tre tipi.
| Tipo | Destinatari | Esempio |
|---|---|---|
| Unicast | un solo dispositivo | un host invia un frame a un MAC noto |
| Multicast | un gruppo di dispositivi | solo gli host interessati a quel gruppo elaborano il frame |
| Broadcast | tutti i dispositivi della LAN | ARP Request: "chi ha questo indirizzo IP?" |
Uno switch inoltra un broadcast su tutte le porte della stessa LAN, tranne quella da cui il frame è entrato. Un router invece non inoltra quel broadcast verso altre reti.
Un frame puo' essere destinato a tutti i dispositivi della rete locale. In questo caso si usa l'indirizzo MAC broadcast.
FF:FF:FF:FF:FF:FF
Negli standard IEEE 802, il livello data link viene diviso in due sottolivelli: LLC e MAC.
E' il sottolivello superiore. Offre un'interfaccia comune verso il livello rete, indipendente dalla tecnologia usata sotto.
E' il sottolivello inferiore. Gestisce indirizzi MAC, frame, accesso al mezzo e controllo degli errori tramite FCS.
Quando piu' dispositivi condividono lo stesso mezzo trasmissivo, bisogna stabilire chi puo' trasmettere e quando. Questa e' una funzione del sottolivello MAC.
CSMA/CD significa Carrier Sense Multiple Access with Collision Detection. Era usato nelle vecchie Ethernet half-duplex, soprattutto con bus o hub.
Con uno switch moderno in full-duplex il collegamento tra host e switch è punto-punto: non c'è un mezzo condiviso da contendere e CSMA/CD non viene usato. Nel Wi-Fi il problema è diverso: le collisioni non si rilevano nello stesso modo, quindi si usa CSMA/CA, che cerca di evitarle.
| Tecnologia | Metodo | Idea |
|---|---|---|
| Ethernet tradizionale | CSMA/CD | Ascolta il mezzo e rileva eventuali collisioni |
| Wi-Fi | CSMA/CA | Ascolta il canale e cerca di evitare collisioni |
Gli standard IEEE 802 definiscono molte tecnologie usate nelle reti locali, personali e metropolitane. Riguardano soprattutto il livello fisico e il livello data link.
| Standard | Tecnologia / ambito | Tipo di rete |
|---|---|---|
| IEEE 802.1 | Bridging, switching, VLAN | LAN |
| IEEE 802.2 | LLC | LAN / MAN |
| IEEE 802.3 | Ethernet | LAN cablata |
| IEEE 802.11 | Wi-Fi | WLAN |
| IEEE 802.15 | Bluetooth / WPAN | PAN |
| IEEE 802.16 | WiMAX | MAN wireless |
| Tipologia | Estensione tipica | Tecnologia | Standard |
|---|---|---|---|
| PAN | Pochi metri | Bluetooth | 802.15 |
| LAN cablata | Aula, laboratorio, edificio | Ethernet | 802.3 |
| WLAN | Casa, aula, scuola | Wi-Fi | 802.11 |
| LAN virtuale | Separazione logica nella LAN | VLAN | 802.1Q |
Quando un PC invia dati a un altro PC nella stessa LAN, il livello data link costruisce un frame con il MAC del destinatario, il MAC del mittente, i dati e il campo FCS. Il livello fisico trasforma poi quel frame in bit e segnali sul cavo.
PC1 ---- SWITCH ---- PC2
Frame Ethernet
|
Bit
|
Segnale elettrico sul cavo
Lo switch riceve il frame, legge il MAC destinatario e lo inoltra verso la porta corretta. Il PC2 ricostruisce i bit, interpreta il frame, controlla il FCS e accetta il frame se il MAC destinatario corrisponde.
In una rete Wi-Fi il mezzo non e' un cavo, ma l'aria. Il livello fisico usa onde radio, mentre il livello data link usa frame Wi-Fi, indirizzi MAC e regole specifiche per accedere al canale radio.
Notebook ))) Access Point ---- Switch ---- Rete
Il livello fisico trasmette bit sotto forma di segnali sul mezzo trasmissivo. Il livello data link organizza i bit in frame, usa gli indirizzi MAC, controlla gli errori e gestisce l'accesso al mezzo. Negli standard IEEE 802, il livello data link e' diviso in LLC e MAC. Ethernet e' definita dalla famiglia 802.3, Wi-Fi dalla 802.11 e Bluetooth/WPAN dalla 802.15.