In terza, all’indirizzo Informatica e telecomunicazioni, Sistemi e reti parte dall’architettura del computer: modello di Von Neumann, CPU e ciclo macchina, memorie, assembly o Arduino. Questa parte occupa di solito settembre e ottobre. Poi arrivano segnali, protocolli, LAN e WAN, Ethernet e il laboratorio con Packet Tracer: questo succede fra novembre e dicembre, e la verifica cade fra dicembre e gennaio, cioè 8-12 settimane da oggi, 5 ottobre. Se in questo momento sei ancora sulla CPU, è normale. Se vuoi dare un’occhiata avanti o ripassare l’architettura, c’è il post su Von Neumann e la CPU.
Qui parlo solo della rete locale e del livello 2. Per la mappa generale dei livelli c’è il post su ISO/OSI e TCP/IP, mentre gli indirizzi IP e le subnet (livello 3) sono nel post di subnetting di quarta. Qui ci fermiamo prima: come si parlano due computer collegati allo stesso switch.
Cos’è una LAN e perché oggi è a stella
Una LAN (Local Area Network) è una rete confinata a uno spazio ridotto: un’aula, un laboratorio, un ufficio, una casa. La forma dei collegamenti si chiama topologia.
- Bus: un unico cavo condiviso a cui si attaccano tutti. Economico, ma se il cavo si rompe cade tutto, e tutti litigano per lo stesso mezzo.
- Anello: ogni nodo è collegato al successivo, in cerchio. Storicamente legato ad altre tecnologie (Token Ring).
- Stella: ogni dispositivo ha il suo cavo verso un punto centrale. Oggi è la scelta standard.
Con la stella, se un cavo si guasta si disconnette solo quel PC; aggiungere un dispositivo non disturba gli altri. Il centro della stella oggi è uno switch, ma una volta era un hub: la differenza è il cuore di questo post.
I mezzi: doppino e fibra
Il cavo che vedi in laboratorio è un doppino UTP (Unshielded Twisted Pair): quattro coppie di fili intrecciati, che riducono le interferenze. Termina con un connettore RJ45. Le categorie (Cat5e, Cat6 e simili) indicano in sostanza la qualità del cavo: più sale la categoria, più alta è la velocità e la frequenza che il cavo regge. La fibra ottica trasmette impulsi di luce invece di segnali elettrici: non risente di interferenze elettromagnetiche e copre distanze maggiori, per questo si usa fra edifici o per le dorsali.
L’indirizzo MAC
Ogni scheda di rete ha un indirizzo MAC (Media Access Control), pensato per essere univoco. È lungo 48 bit, cioè 6 byte, e si scrive in esadecimale, un byte alla volta separato da due punti (oppure da trattini). Per esempio:
00:1A:2B:3C:4D:5E
Ogni cifra esadecimale vale 4 bit, quindi 12 cifre fanno 48 bit. Se l’esadecimale ti dà fastidio, il post sul complemento a 2 e sui numeri in virgola mobile ripassa le basi di binario ed esadecimale.
L’indirizzo si divide in due metà:
- i primi 3 byte sono l’OUI (Organizationally Unique Identifier), assegnato al costruttore;
- gli ultimi 3 byte sono scelti dal costruttore stesso per distinguere le singole schede.
Il MAC è un indirizzo fisico, legato alla scheda. L’indirizzo IP è logico: dipende dalla rete in cui ti trovi e può cambiare. Il MAC serve a consegnare il frame all’interno della stessa rete locale; l’IP serve a far arrivare il pacchetto attraverso reti diverse. Esiste anche un indirizzo speciale, FF:FF:FF:FF:FF:FF, di broadcast: significa “tutti i dispositivi di questa LAN”.
Il frame Ethernet
A livello 2 i dati viaggiano in unità chiamate frame. Ci interessa la struttura, a livello descrittivo:
| Campo | A cosa serve |
|---|---|
| Preambolo | sequenza che permette al ricevente di sincronizzarsi |
| MAC destinazione | a chi è diretto il frame |
| MAC sorgente | chi lo ha inviato |
| Tipo | dice quale protocollo c’è dentro (per esempio IP) |
| Dati | il contenuto trasportato, il pacchetto di livello superiore |
| FCS | codice di controllo per accorgersi di errori di trasmissione |
Il dettaglio utile da ricordare è che nel frame ci sono MAC, non IP. Lo switch lavora guardando i MAC del frame.
Hub e switch
L’hub è un dispositivo di livello 1: ripete ogni segnale che riceve su tutte le altre porte, senza capire niente di cosa contiene. Quindi tutti i dispositivi collegati a un hub condividono lo stesso dominio di collisione: se due trasmettono insieme, i segnali si scontrano.
Lo switch è un dispositivo di livello 2: legge il MAC di destinazione e manda il frame solo sulla porta giusta. Ogni porta dello switch è un dominio di collisione separato. Resta invece un unico dominio di broadcast: un frame di broadcast viene inoltrato su tutte le porte (a meno di VLAN, di cui si parla in quinta).
Come fa lo switch a sapere quale MAC sta su quale porta? Ha una tabella MAC e la costruisce da solo, con l’apprendimento:
- quando arriva un frame, lo switch legge il MAC sorgente e lo associa alla porta da cui è arrivato (lo annota nella tabella);
- poi cerca il MAC destinazione nella tabella: se lo trova, inoltra il frame solo su quella porta; se non lo trova, fa flooding, cioè lo manda su tutte le porte tranne quella di arrivo.
All’inizio la tabella è vuota, quindi i primi frame vanno in flooding. Man mano che i dispositivi parlano, lo switch impara e l’inoltro diventa mirato. Un dispositivo che non trasmette mai non viene mai imparato. L’hub, al contrario, non impara niente: non ha tabelle.
CSMA/CD in poche righe
Nel caso del mezzo condiviso (bus, hub) il problema è: come evitare che due stazioni parlino insieme? Ethernet usa CSMA/CD (Carrier Sense Multiple Access with Collision Detection):
- prima di trasmettere, la stazione ascolta il canale (carrier sense);
- se è libero, trasmette; se è occupato, aspetta;
- mentre trasmette continua ad ascoltare: se rileva una collisione, smette;
- manda un breve segnale di disturbo, così tutti sanno che c’è stata collisione;
- aspetta un tempo casuale, diverso per ogni stazione;
- riprova.
Oggi, con switch e collegamenti full duplex (ogni coppia di fili serve per un solo verso, quindi si trasmette e si riceve contemporaneamente) le collisioni non esistono più sul cavo, e il CSMA/CD non è più usato. Ma è un classico da verifica, perché spiega perché le reti con hub si degradavano all’aumentare dei dispositivi.
ARP: da IP a MAC
Un PC conosce l’IP di destinazione (per esempio perché l’hai scritto nel ping), ma per costruire il frame ha bisogno del MAC. Lo chiede con il protocollo ARP (Address Resolution Protocol):
- il PC manda una ARP request in broadcast (MAC di destinazione
FF:FF:FF:FF:FF:FF): “chi ha l’IP tale? Mi dica il suo MAC”; - il dispositivo con quell’IP risponde con una ARP reply, in unicast, indicando il proprio MAC;
- il PC salva la coppia IP-MAC nella tabella ARP (la cache ARP), per non rifare la domanda a ogni pacchetto.
Se il destinatario è fuori dalla LAN, il PC non cerca il MAC di quell’host: cerca il MAC del gateway (il router), a cui consegna il frame.
Come si studia con Cisco Packet Tracer
In laboratorio userete Cisco Packet Tracer, un simulatore di reti. Quello che dovresti saper fare, per un esercizio base:
- creare una rete con due PC e uno switch, collegarli con i cavi giusti, assegnare gli IP agli host;
- verificare la connettività con
pingda un PC all’altro; - leggere la tabella ARP del PC con
arp -a; - sullo switch, leggere la tabella MAC con
show mac address-table; - ripetere il ping e osservare come cambiano le tabelle: prima del primo ping la tabella MAC dello switch di solito non contiene gli host, dopo sì.
Packet Tracer ha anche la modalità simulazione, in cui puoi vedere i singoli frame muoversi: è il modo migliore per vedere con i tuoi occhi il flooding e l’inoltro mirato.
Errori tipici
- Confondere MAC e IP. Il MAC cambia con la scheda, l’IP con la rete. Nel frame di una LAN c’è il MAC; l’IP sta dentro il campo dati.
- Pensare che lo switch guardi l’IP. Lo switch (livello 2) guarda solo i MAC. Chi ragiona sugli IP è il router, o uno switch di livello 3.
- Dire che l’hub “impara”. Non ha tabelle: ripete tutto su tutte le porte.
- Scambiare i domini. Switch: un dominio di collisione per porta, un solo dominio di broadcast. Hub: un unico dominio di collisione.
- Dimenticare che il MAC sorgente viene imparato, non quello di destinazione. È la sorgente che dice “questo MAC sta su questa porta”.
Esercizi svolti
Esercizio 1: leggere un MAC
Dato il MAC 00:1A:2B:3C:4D:5E: individua OUI e parte della scheda, scrivi il primo byte in binario e dì quanti indirizzi MAC possibili esistono.
OUI e scheda. I primi 3 byte sono 00:1A:2B (OUI), gli ultimi 3 sono 3C:4D:5E (parte scelta dal costruttore).
Primo byte in binario. 00 in esadecimale è 0000 0000. Per riferimento, 1A è 0001 1010 e 4D sarebbe 0100 1101. Nel primo byte il bit meno significativo indica se l’indirizzo è unicast (0) o multicast/broadcast (1); qui è 0, quindi è un normale indirizzo di una singola scheda. Il secondo bit meno significativo, anch’esso 0, indica un indirizzo assegnato dal costruttore (globalmente univoco).
Quanti indirizzi. Sono 48 bit, quindi:
indirizzi possibili, circa 281 mila miliardi. Per un singolo OUI restano 24 bit liberi: schede.
Verifica: .
Esercizio 2: la tabella MAC di uno switch
Uno switch ha 4 porte (1, 2, 3, 4). Sono collegati i PC A (porta 1), B (porta 2), C (porta 3), D (porta 4). La tabella MAC è inizialmente vuota. Passano questi frame, nell’ordine:
- A invia a B;
- B invia ad A;
- C invia ad A;
- A invia a D.
Per ogni frame: prima si impara il sorgente, poi si decide che fare con la destinazione.
| Frame | Impara | Destinazione nella tabella? | Azione |
|---|---|---|---|
| 1. A → B | A su porta 1 | B: no | flooding su porte 2, 3, 4 |
| 2. B → A | B su porta 2 | A: sì (porta 1) | inoltro solo su porta 1 |
| 3. C → A | C su porta 3 | A: sì (porta 1) | inoltro solo su porta 1 |
| 4. A → D | A già nota | D: no | flooding su porte 2, 3, 4 |
Tabella finale: A porta 1, B porta 2, C porta 3. D non compare: non ha mai trasmesso, quindi lo switch non ha avuto modo di impararlo. Al frame 1 il flooding ha raggiunto anche C e D, che però hanno scartato il frame perché la destinazione non era il loro MAC. Al frame 4 stessa cosa: D lo riceve perché è la destinazione vera, B e C lo ignorano. Appena D risponderà ad A, lo switch imparerà D sulla porta 4.
Esercizio 3: leggere una tabella ARP
Sul PC con IP 192.168.1.10 il comando arp -a mostra:
Indirizzo IP Indirizzo fisico Tipo
192.168.1.1 00:1A:2B:3C:4D:5E dinamico
192.168.1.20 08:00:27:AB:12:34 dinamico
192.168.1.35 B8:27:EB:9C:00:41 dinamico
Domanda a. Qual è il MAC dell’host 192.168.1.20? Risposta: 08:00:27:AB:12:34. Se il PC deve mandare un frame a quell’host, mette quel valore come MAC di destinazione, senza fare ARP.
Domanda b. A quale IP corrisponde B8:27:EB:9C:00:41? Risposta: 192.168.1.35.
Domanda c. Cosa succede se il PC deve parlare con 192.168.1.50, che non è in tabella? Il PC non ha il MAC, quindi:
- manda una ARP request in broadcast (destinazione
FF:FF:FF:FF:FF:FF) con la domanda “chi ha 192.168.1.50?”; - lo switch, trattandosi di broadcast, la inoltra su tutte le porte;
- l’host che ha quell’IP risponde con una ARP reply in unicast, indicando il proprio MAC;
- il PC aggiunge la riga in tabella e può costruire il frame.
Se nessuno risponde (host spento o inesistente), non compare nessuna riga e la comunicazione fallisce.
Nota: gli host in questa tabella sono nella stessa rete 192.168.1.0, quindi si risolvono direttamente. Per un IP fuori dalla rete il PC risolverebbe via ARP l’indirizzo del gateway, non quello della destinazione finale.
Esercitarsi e simulazione
Su reti non c’è ancora un simulatore nel sito. Per le altre prove puoi guardare la categoria delle simulazioni del liceo, mentre per il metodo di studio della materia c’è la pagina Informatica. Il modo migliore per prepararti è fare in Packet Tracer lo scenario dell’esercizio 2: costruiscilo, fai i ping nell’ordine indicato e confronta show mac address-table con quello che hai previsto su carta.
Se qualcosa non torna
Sistemi e reti in terza è una materia in cui si passa da concetti astratti (livelli, protocolli) a un laboratorio dove tutto deve funzionare per davvero, e il salto non è sempre ovvio. Se ti blocchi su MAC, switch o ARP, scrivimi dalla pagina contatti: facciamo una diagnosi gratuita per capire cosa non è ancora chiaro e come ti conviene prepararti alla verifica.