DIAGNOSTICA DELLE RETI • GUIDA 11

iperf3: misurare la vera velocità della rete locale

Uno speedtest dipende da Internet e dal server remoto. iperf3 elimina questa variabile e permette di misurare direttamente il throughput tra due dispositivi della LAN, rendendolo uno degli strumenti migliori per diagnosticare Ethernet e Wi-Fi.

Livello: intermedio LAN Ethernet / Wi-Fi / Multi-Gigabit

Se una connessione Internet da 2,5 Gbps produce uno speedtest basso, non sappiamo immediatamente se il limite si trova nella rete domestica oppure oltre il router.

iperf3 risolve questo problema creando un test direttamente tra due dispositivi della nostra rete locale.

💡 Concetto chiave

Con iperf3 possiamo testare la LAN senza dipendere dalla velocità della fibra, dal routing dell’ISP o dalla capacità di un server speedtest.

🔗 Come funziona iperf3

Per effettuare il test servono normalmente due dispositivi.

Uno viene configurato come server iperf3, l’altro come client.

PC 1
Server iperf3
LAN / Switch / Wi-Fi
PC 2
Client iperf3

Il client genera il traffico di prova verso il server e iperf3 misura quanto traffico riesce realmente ad attraversare la rete.

Perché è diverso da uno speedtest

Speedtest iperf3
Attraversa Internet Può rimanere interamente nella LAN
Dipende dal server remoto Dipende dai dispositivi scelti per il test
Misura linea + LAN + Internet Può isolare LAN o Wi-Fi
Ottimo per valutare la connessione Internet Ottimo per trovare colli di bottiglia locali

💻 Installare iperf3

iperf3 è disponibile per diversi sistemi operativi.

Una volta ottenuto l’eseguibile appropriato, conviene aprire il terminale direttamente nella cartella che contiene il programma.

⚠️ Usa iperf3 su reti che controlli

Per questa guida lo utilizziamo esclusivamente tra dispositivi della propria LAN. In questo modo il test rimane semplice, controllato e facilmente interpretabile.

🖥️ Avviare il server iperf3

Sul primo computer avviamo iperf3 in modalità server:

iperf3 -s

Il programma rimane in ascolto in attesa che un client avvii il test.

Trovare l’indirizzo IP del server

Sul computer server, in Windows, possiamo usare:

ipconfig

Supponiamo che l’indirizzo IPv4 sia:

192.168.1.50

Questo è l’indirizzo che utilizzeremo sul secondo computer.

🚀 Avviare il client

Sul secondo dispositivo eseguiamo:

iperf3 -c 192.168.1.50

Il client si collega al server e inizia il trasferimento di prova.

Come leggere il risultato

Un output semplificato potrebbe contenere:

[ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 1.09 GBytes 936 Mbits/sec [ 5] 0.00-10.00 sec 1.09 GBytes 935 Mbits/sec receiver

Il valore che ci interessa maggiormente è il bitrate o throughput misurato.

📈 Cosa aspettarsi su Gigabit Ethernet

Su un collegamento Gigabit Ethernet ben configurato, un test TCP iperf3 può normalmente avvicinarsi molto alla capacità utile del link, restando sotto il Gigabit teorico.

100M Ordine di grandezza: decine alte di Mbps
1G Ordine di grandezza: circa 900+ Mbps
2.5G Può superare ampiamente 1 Gbps se tutta la catena lo supporta

Perché non vedo esattamente 1.000 Mbps

La velocità Ethernet indicata dal link è una capacità nominale.

Il traffico reale deve includere overhead e informazioni necessarie ai protocolli.

Per questo il throughput applicativo è normalmente inferiore alla velocità fisica nominale del link.

🔄 Test nella direzione opposta

Di default, il client invia dati verso il server.

Possiamo testare la direzione opposta usando:

iperf3 -c 192.168.1.50 -R

L’opzione -R esegue il test in reverse mode.

Perché è utile?

Se le due direzioni mostrano risultati molto differenti, possiamo indagare driver, schede, Wi-Fi o altri elementi del percorso.

🕑 Aumentare la durata del test

Possiamo eseguire un test più lungo, ad esempio 30 secondi:

iperf3 -c 192.168.1.50 -t 30

Un test più lungo può essere utile per osservare eventuali oscillazioni del throughput.

📶 Testare il Wi-Fi con iperf3

Uno degli utilizzi più interessanti consiste nel collegare un computer server via Ethernet al router e il client via Wi-Fi.

PC server
Ethernet
Router / Access Point
Client
Wi-Fi

In questo modo il test misura soprattutto le prestazioni del collegamento wireless e della LAN, senza dipendere dalla connessione Internet.

Perché il server dovrebbe stare via Ethernet

Se entrambi i dispositivi sono Wi-Fi, il test coinvolge due collegamenti wireless e l’interpretazione diventa più complessa.

Collegare il server via Ethernet riduce il numero di variabili e rende più semplice capire le prestazioni del client wireless.

🔌 Testare una rete 2,5G

Per superare il Gigabit è necessario che l’intero percorso lo permetta.

  • Scheda Ethernet 2,5G sul server.
  • Scheda Ethernet 2,5G sul client.
  • Porte 2,5G sullo switch o router.
  • Cablaggio adeguato e funzionante.
  • Computer sufficientemente performanti.

Un singolo elemento da 1 Gbps limiterà il test.

Testare 10 Gigabit

A 10 Gbps il test diventa molto più esigente.

Possono diventare colli di bottiglia:

  • CPU.
  • Driver della scheda.
  • Bus del sistema.
  • Configurazione del sistema operativo.
  • Capacità dell’adattatore di rete.

Per questo un risultato inferiore a 10 Gbps non indica automaticamente un problema nel cavo o nello switch.

🔧 Stream paralleli

Su alcuni sistemi, soprattutto ad alta velocità, un singolo flusso TCP può non sfruttare completamente il percorso.

Possiamo provare più stream paralleli:

iperf3 -c 192.168.1.50 -P 4

L’opzione -P 4 crea quattro stream paralleli.

Non usare più stream solo per ottenere un numero più alto

Il test parallelo è utile per capire se il limite riguarda il singolo flusso. Bisogna però interpretare separatamente il risultato single-stream e quello multi-stream.

📡 TCP e UDP

I test standard di iperf3 utilizzano normalmente TCP.

È possibile effettuare anche test UDP:

iperf3 -c 192.168.1.50 -u

Con UDP possiamo analizzare anche parametri come perdita e jitter, ma il test richiede maggiore attenzione nell’interpretazione.

Specificare il bitrate UDP

Con UDP è importante definire quanto traffico vogliamo generare.

Un esempio:

iperf3 -c 192.168.1.50 -u -b 500M

In questo caso chiediamo al client di generare circa 500 Mbps di traffico UDP.

Firewall di Windows

Se il client non riesce a collegarsi al server, una delle possibili cause è il firewall.

Quando avvii iperf3, Windows può chiedere se consentire la comunicazione dell’applicazione.

Assicurati che il traffico sia consentito sulla rete locale utilizzata per il test.

🛠️ Procedura pratica consigliata

01

Controlla la velocità dei link

Verifica prima che le schede abbiano negoziato la velocità prevista.

02

Avvia il server

iperf3 -s
03

Avvia il client

iperf3 -c IP_DEL_SERVER
04

Ripeti in reverse

iperf3 -c IP_DEL_SERVER -R
05

Confronta Ethernet e Wi-Fi

Mantieni lo stesso server e cambia soltanto il collegamento del client.

06

Solo dopo prova lo speedtest

Se la LAN funziona correttamente ma Internet è lento, puoi spostare la diagnostica oltre la rete locale.

🧩 Interpretazione rapida

Risultato Possibile interpretazione
iperf3 LAN veloce, speedtest lento Il collo di bottiglia potrebbe essere oltre la LAN
iperf3 lento anche via Ethernet Controllare link, cavi, porte, driver e hardware
Ethernet veloce, Wi-Fi lento Problema o limite nella parte wireless
Client → server veloce, reverse lento Indagare la direzione problematica
1G link ma circa 940 Mbps Risultato coerente con una LAN Gigabit ben funzionante
2.5G link ma circa 940 Mbps Probabile collo di bottiglia Gigabit o altro limite

🧠 Cosa devi ricordare

  • iperf3 misura il throughput tra due dispositivi.
  • Può testare la LAN senza utilizzare Internet.
  • Un dispositivo funziona da server e uno da client.
  • iperf3 -s avvia il server.
  • iperf3 -c IP avvia il test dal client.
  • L’opzione -R permette di invertire la direzione del test.
  • Con -P possiamo provare stream TCP paralleli.
  • Per testare il Wi-Fi è utile mantenere il server via Ethernet.
  • iperf3 e speedtest misurano parti differenti del percorso.

Domande frequenti

Cos’è iperf3?

È uno strumento utilizzato per generare traffico di prova tra due dispositivi e misurare le prestazioni di una rete IP.

iperf3 usa Internet?

Non necessariamente. Se server e client si trovano nella stessa LAN, il traffico può rimanere completamente all’interno della rete locale.

Qual è la differenza tra iperf3 e Speedtest?

Speedtest misura un percorso verso un server Internet. iperf3 può invece misurare direttamente il collegamento tra due dispositivi locali.

Perché su Gigabit ottengo circa 940 Mbps?

Perché il throughput disponibile alle applicazioni è inferiore al valore nominale del link Ethernet a causa dell’overhead dei protocolli.

Come faccio a testare il Wi-Fi con iperf3?

Un metodo molto utile consiste nel collegare il server via Ethernet al router e utilizzare un client Wi-Fi per generare il test.

A cosa serve iperf3 -R?

Inverte la direzione del trasferimento rispetto al test standard e permette di confrontare le prestazioni nelle due direzioni.

A cosa serve -P 4?

Avvia quattro stream paralleli. Può essere utile per verificare se un singolo flusso TCP non riesce a sfruttare completamente una connessione veloce.

Perché iperf3 non raggiunge 10 Gbps su una rete 10G?

A queste velocità possono diventare limitanti CPU, driver, adattatori, bus del sistema e configurazione software. Bisogna quindi analizzare l’intera piattaforma e non soltanto il link Ethernet.