Le reti
La connettività di rete è un'infrastruttura critica che abilita lo scambio di dati attraverso protocolli comuni su vari mezzi fisici. Le reti locali (LAN), comprese le configurazioni SOHO e aziendali, forniscono connessioni ad alta velocità e bassa latenza all'interno di aree geografiche limitate, facilitando la condivisione di risorse e la comunicazione.
Tutto è in rete
Oggi non ci chiediamo più se siamo connessi a Internet: la connettività è diventata un'infrastruttura critica, al pari dell'elettricità o dell'acqua corrente. Comprendere come funzionano le reti non è più prerogativa esclusiva degli ingegneri: è una competenza fondamentale per chiunque lavori nel mondo digitale, dallo sviluppatore all'IT Manager.
Chi possiede internet?
Internet non appartiene a nessun singolo gruppo, azienda o governo. È il risultato dell'interconnessione di migliaia di reti autonome che cooperano attraverso standard e protocolli comuni (come TCP/IP) per scambiarsi informazioni.
Le informazioni viaggiano attraverso una varietà di mezzi fisici:
- Cavi in rame (doppino telefonico, cavo coassiale)
- Fibra ottica (trasmissione tramite impulsi luminosi)
- Connessioni wireless (Wi-Fi, 4G/5G, satellite)
I dati scambiati possono assumere forme diverse: testo, video, audio, immagini, telemetria IoT e molto altro.
Reti Locali (LAN)
Le reti locali LAN (Local Area Network) esistono in tutte le dimensioni e configurazioni.
Una LAN è una rete locale che collega dispositivi informatici e periferiche in un'area geografica limitata, come una casa, un ufficio o una scuola. Questo tipo di rete permette la condivisione di risorse (stampanti, file, connessioni internet) e la comunicazione ad alta velocità tra i dispositivi connessi.
Le caratteristiche principali delle reti LAN includono:
- Copertura ridotta: Si estende tipicamente per poche centinaia di metri, all'interno di uno o più edifici adiacenti.
- Alta velocità e bassa latenza: Garantisce trasmissioni dati rapide (da 10 Mbps a 10 Gbps) grazie alla distanza breve tra i nodi.
- Gestione autonoma: È generalmente una rete privata, gestita dall'organizzazione proprietaria senza dipendere da provider esterni per la connettività interna.
- Componenti: Utilizza cavi Ethernet (rame o fibra ottica) o connessioni wireless (Wi-Fi) e dispositivi attivi come switch e router.
- A differenza delle MAN (reti metropolitane) e delle WAN (reti geografiche), la LAN non copre città o paesi. Inoltre offre prestazioni superiori in termini di velocità e costi di implementazione inferiori per ambiti locali.
Reti SOHO (Small Office / Home Office)
Le reti SOHO collegano un numero ridotto di dispositivi (da 2 a qualche decina) e
consentono la condivisione di risorse come stampanti, file, musica e connessione
Internet. Sono tipicamente basate su un router consumer con funzionalità Wi-Fi
integrate.
Reti Aziendali
Le reti aziendali possono connettere centinaia di migliaia di dispositivi distribuiti
su più sedi geografiche. Supportano applicazioni critiche come:
- E-commerce e CRM
- Comunicazioni interne (email, VoIP, videoconferenza)
- Accesso centralizzato a server e database
- Sistemi ERP e supply chain management
La comunicazione in rete è generalmente più efficiente e meno costosa rispetto ai
canali tradizionali. Le reti aziendali e SOHO forniscono tipicamente una connessione
condivisa a Internet, motivo per cui Internet viene spesso definita una
"rete di reti" (network of networks).
Dispositivi Mobili e IoT
Internet connette oggi miliardi di dispositivi che vanno ben oltre i tradizionali
computer desktop e laptop.
Dispositivi Mobili
Smartphone, tablet e wearable (smartwatch, fitness tracker) sono oggi tra i
principali produttori e consumatori di traffico Internet mondiale.
Internet of Things (IoT)
L'IoT (Internet of Things) rappresenta l'ecosistema di oggetti fisici dotati di
sensori, software e connettività di rete. L'architettura IoT si articola tipicamente
su tre livelli:
┌─────────────────────────────────┐
│ Cloud / Data Center │ ← Elaborazione, storage, analytics
├─────────────────────────────────┤
│ Edge / Gateway │ ← Pre-elaborazione locale, protocolli (MQTT, CoAP)
├─────────────────────────────────┤
│ Dispositivi / End Nodes │ ← Sensori, attuatori, RFID
└─────────────────────────────────┘
Esempi concreti di dispositivi IoT:
| Categoria | Esempi |
|---|---|
| TAG RFID | Tracciamento merci, badge aziendali, antifurti |
| Sensori industriali | Temperatura, pressione, vibrazione (Industry 4.0) |
| Dispositivi medici | Glucometri connessi, pacemaker smart, telemedicina |
| Domotica | Termostati intelligenti, serrature smart, telecamere IP |
| Veicoli connessi | Telemetria auto, fleet management, guida assistita |
Nota per sviluppatori: i protocolli più diffusi in ambito IoT sono MQTT
(publish/subscribe, leggero, ideale per connessioni instabili) e CoAP
(ottimizzato per dispositivi con risorse limitate). Entrambi operano sopra TCP/IP.
Il Bit: L'Unità Fondamentale dell'Informazione
I computer e le reti operano esclusivamente con cifre binarie: zeri e uno.
Il termine bit (abbreviazione di binary digit) rappresenta la più piccola
unità di informazione digitale.
Un bit può assumere solo due stati fisici distinti:
| Stato fisico | Valore binario |
|---|---|
| Interruttore aperto | 0 |
| Interruttore chiuso | 1 |
Byte e Codifica dei Caratteri
Otto bit formano un byte, l'unità standard per rappresentare un singolo carattere
o valore.
ASCII e Unicode
Precisazione tecnica: l'ASCII originale (standard ANSI X3.4-1968)
utilizza 7 bit, codificando 128 caratteri. La versione "Extended ASCII"
estende a 8 bit (256 caratteri). Tuttavia, per applicazioni moderne e
internazionali, si utilizza Unicode (standard UTF-8), che supporta oltre
1.1 milioni di caratteri e mantiene compatibilità retroattiva con ASCII.
Esempi di codifica ASCII (Extended, 8 bit):
| Carattere | Binario | Decimale | Hex |
|---|---|---|---|
A |
01000001 |
65 | 0x41 |
9 |
00111001 |
57 | 0x39 |
# |
00100011 |
35 | 0x23 |
€ |
Non codificabile in ASCII → richiede UTF-8 | — | — |
Esempio Pratico: Conversione Binaria in Python
# Conversione tra carattere, decimale e binario in Python
carattere = 'A'
# Ottieni il valore decimale (code point Unicode)
decimale = ord(carattere)
print(f"Carattere : {carattere}")
print(f"Decimale : {decimale}") # Output: 65
print(f"Binario : {bin(decimale)}") # Output: 0b1000001
print(f"Hex : {hex(decimale)}") # Output: 0x41
# Padding a 8 bit (formato byte completo)
binario_8bit = format(decimale, '08b')
print(f"Byte : {binario_8bit}") # Output: 01000001
# Operazione inversa: da binario a carattere
valore = int('01000001', 2)
print(f"Da bin a char: {chr(valore)}") # Output: A
Metodi di Trasmissione dei Dati
Dopo che le informazioni sono state convertite in bit, devono essere trasformate in segnali fisici trasmissibili attraverso un mezzo (medium). Esistono tre metodi principali:
1. Segnali Elettrici
Trasmissione tramite impulsi di tensione su cavi in rame (es. cavo Cat5e/Cat6 per reti Ethernet). Economici e diffusi, ma soggetti a interferenze elettromagnetiche (EMI) e attenuazione sul lungo raggio.
2. Segnali Ottici
Trasmissione tramite impulsi luminosi su cavi in fibra ottica (single-mode o multi-mode). Offrono larghezza di banda elevatissima, immunità alle interferenze e distanze di trasmissione fino a centinaia di chilometri.
3. Segnali Wireless
Trasmissione tramite onde elettromagnetiche (radio, microonde, infrarossi). Elimina la necessità di cablaggio fisico ma è soggetto a interferenze, ostacoli fisici e limitazioni di sicurezza.
| Mezzo | Velocità tipica | Distanza | Pro | Contro |
|---|---|---|---|---|
| Rame (Cat6) | 1–10 Gbps | ≤100 m | Economico | Interferenze, distanza limitata |
| Fibra ottica | 10 Gbps–400 Tbps | km–migliaia di km | Velocità, sicurezza | Costo di installazione |
| Wi-Fi (802.11ax) | Fino a ~9.6 Gbps teorici | ~50–100 m indoor | Mobilità | Interferenze, sicurezza |
| 5G | Fino a ~20 Gbps teorici | Variabile | Mobilità, copertura | Infrastruttura |
I segnali possono essere convertiti più volte lungo il percorso
(es. elettrico → ottico → wireless) attraverso dispositivi come convertitori
di media (media converters) e access point.
Larghezza di Banda, Throughput, Latenza e Jitter
Questi quattro parametri sono fondamentali per valutare le prestazioni di una rete. Vengono spesso confusi: ecco le distinzioni precise.
Bandwidth (Larghezza di Banda)
La bandwidth rappresenta la capacità teorica massima di un collegamento, ovvero quanti bit possono essere trasmessi per unità di tempo in condizioni ideali. È una proprietà del mezzo fisico e dell'infrastruttura.
Throughput (Velocità Effettiva)
Il throughput misura la quantità di dati effettivamente trasferiti in un dato
intervallo di tempo. È quasi sempre inferiore alla bandwidth dichiarata, a causa di:
- Overhead dei protocolli di rete (header TCP/IP, controllo errori)
- Congestione e collisioni
- Qualità del collegamento fisico
- Limitazioni hardware dei dispositivi intermedi
Latenza
La latenza è il tempo necessario affinché un pacchetto viaggi dalla sorgente alla destinazione. Si misura tipicamente in millisecondi (ms) tramite il comando ping. È critica per applicazioni real-time come VoIP, gaming online e videoconferenze.
# Misurazione latenza verso un host remoto
ping -c 4 8.8.8.8
# Output di esempio:
# 64 bytes from 8.8.8.8: icmp_seq=1 ttl=118 time=12.4 ms
# 64 bytes from 8.8.8.8: icmp_seq=2 ttl=118 time=11.8 ms
# round-trip min/avg/max/stddev = 11.8/12.1/12.4/0.3 ms
Jitter
Il jitter è la variazione della latenza nel tempo (la deviazione standard della latenza). Un jitter elevato causa degrado della qualità audio/video nelle comunicazioni real-time, anche quando la latenza media è accettabile.
Latenza ideale: 10ms — 10ms — 10ms — 10ms (jitter ≈ 0)
Latenza reale: 10ms — 25ms — 8ms — 30ms (jitter elevato → qualità VoIP scarsa)
Tabella Unità di Misura della Bandwidth
| Unità | Simbolo | Equivalente |
|---|---|---|
| Bit per secondo | bps |
unità base |
| Kilobit per secondo | Kbps |
103 bps |
| Megabit per secondo | Mbps |
106 bps |
| Gigabit per secondo | Gbps |
109 bps |
| Terabit per secondo | Tbps |
1012 bps |
| Petabit per secondo | Pbps |
1015 bps |
Attenzione: i provider Internet dichiarano la velocità in Mbps
(megabit), mentre i sistemi operativi mostrano spesso la velocità di download
in MB/s (megabyte). Ricorda: 1 byte = 8 bit → 100 Mbps ≈ 12.5 MB/s.
Il Collo di Bottiglia (Bottleneck)
In una rete con più segmenti, la velocità massima effettiva è limitata dal segmento più lento del percorso — il cosiddetto bottleneck. Questo principio, noto come legge dell'anello debole, è fondamentale nell'ottimizzazione delle prestazioni di rete in contesti Cloud e DevOps.
Client (1 Gbps) ──→ Switch (10 Gbps) ──→ Router WAN (100 Mbps) ──→ Server
↑
BOTTLENECK: throughput massimo = 100 Mbps
Best Practice: Ottimizzazione delle Performance di Rete
💡 Per IT Manager e DevOps Engineer
- Monitoring continuo: usa strumenti come Prometheus + Grafana, Zabbix
o PRTG per monitorare latenza, throughput e packet loss in tempo reale. - Quality of Service (QoS): prioritizza il traffico critico (VoIP, video) su
quello non critico (backup, aggiornamenti) tramite policy QoS su switch e router. - Segmentazione della rete: usa VLAN per isolare traffico e migliorare sicurezza
e performance. - CDN (Content Delivery Network): distribuisci i contenuti statici vicino agli
utenti finali per ridurre latenza e carico sui server centrali. - Test periodici: strumenti come iPerf3 (throughput interno) e
Speedtest CLI (connettività esterna) aiutano a rilevare degradi prestazionali
prima che diventino problemi critici.
# Test throughput interno con iPerf3
# Sul server:
iperf3 -s
# Sul client:
iperf3 -c <IP_SERVER> -t 10 -P 4
# -t 10 = durata 10 secondi
# -P 4 = 4 stream paralleli
Il Modello OSI
Tutti i concetti trattati in questo modulo — trasmissione dei dati, segnali, larghezza di banda — trovano una collocazione precisa nel Modello OSI (Open Systems Interconnection), il framework a 7 livelli che descrive come i dati viaggiano da un'applicazione su un dispositivo a un'altra applicazione su un dispositivo remoto.
| Livello | Nome | Funzione chiave |
|---|---|---|
| 7 | Applicazione | HTTP, DNS, SMTP |
| 6 | Presentazione | Codifica, crittografia, compressione |
| 5 | Sessione | Gestione connessioni |
| 4 | Trasporto | TCP/UDP, porte, controllo flusso |
| 3 | Rete | IP, routing |
| 2 | Data Link | MAC, switch, Ethernet |
| 1 | Fisico | Bit, segnali, cavi ← adesso siamo qui |
Alcune note sulle scelte adottate nelle conversioni:
- Nella tabella ASCII ho usato
<code>per i valori di carattere, binario e hex, e<sup>era già inapplicabile lì; la riga dell'€usa le entità HTML→e—al posto delle frecce e trattini Markdown. - Nella tabella bandwidth ho usato
<sup>per gli esponenti (10<sup>3</sup>ecc.) in luogo del carattere Unicode, così il rendering è più affidabile e semanticamente corretto. - Nella tabella OSI il numero di livello è centrato con
text-centere i nomi di protocollo sono racchiusi in<code>; l'ultimo record usa←per la freccia e<strong>per il grassetto finale. - Nella tabella dei mezzi di trasmissione ho usato
–per i trattini lunghi nei range e≤per il simbolo ≤.