Fondamenti di networking
Internet è una rete decentralizzata di reti autonome che utilizzano standard comuni per lo scambio di dati attraverso vari mezzi fisici e wireless. Le reti locali, dalle SOHO alle aziendali, si integrano per fornire connettività a dispositivi tradizionali, mobili e all'Internet of Things (IoT) distribuito su più livelli.
Fondamenti di networking
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 informatici, è 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 (Local Area Network) esistono in tutte le dimensioni e configurazioni.
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 | Edge / Gateway | Dispositivi / End Nodes |
|---|---|---|
| Elaborazione, storage, analytics | Pre-elaborazione locale, protocolli (MQTT, CoAP) | Sensori, attuatori, RFID |
Esempi concreti di dispositivi IoT:
| Tag RFID | Sensori industriali | Dispositivi medici | Domotica | Veicoli connessi |
|---|---|---|---|---|
| Tracciamento merci, badge aziendali, antifurti | Temperatura, pressione, vibrazione (Industry 4.0) | Glucometri connessi, pacemaker smart, telemedicina | Termostati intelligenti, serrature smart, telecamere IP | 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 | 1 |
| Interruttore chiuso | 0 |
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 | Esadecimale (Hex) |
|---|---|---|---|
A |
01000001 |
65 |
0x41 |
9 |
00111001 |
57 |
0x39 |
# |
00100011 |
35 |
0x23 |
€ |
Non codificabile in ASCII. Richiede UTF-8 | - | - |
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 |
| Fibra ottica | 10 Gbps–400 Tbps | km–migliaia di km | Velocità, sicurezza | Costo 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 | 10³ bps |
| Megabit per secondo | Mbps | 10⁶ bps |
| Gigabit per secondo | Gbps | 10⁹ bps |
| Terabit per secondo | Tbps | 10¹² bps |
| Petabit per secondo | Pbps | 10¹⁵ 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
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
Introduzione al 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 ← questo modulo |