Nota
- Questa esercitazione richiede l'accesso a Oracle Cloud. Per iscriverti a un account gratuito, consulta Inizia a utilizzare Oracle Cloud Infrastructure Free Tier.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti di Oracle Cloud Infrastructure. Al termine del laboratorio, sostituisci questi valori con quelli specifici del tuo ambiente cloud.
Utilizzare iPerf per eseguire il test del throughput all'interno di un hub OCI e di un'architettura di instradamento della VCN spoke
Introduzione
Negli ambienti cloud in rapida evoluzione di oggi, garantire prestazioni di rete ottimali è fondamentale per operazioni senza interruzioni. Oracle Cloud Infrastructure (OCI) offre solide funzionalità di networking, tra cui l'architettura di instradamento VCN (Hub and Spoke Virtual Cloud Network), per facilitare comunicazioni e gestione efficienti delle risorse. Un aspetto essenziale del mantenimento di questa architettura è testare regolarmente il throughput di rete per identificare potenziali colli di bottiglia e ottimizzare le prestazioni.
In questa esercitazione verrà utilizzato iPerf, un potente strumento di test della rete, per misurare e analizzare il throughput all'interno di un'architettura di instradamento VCN hub e spoke OCI. Entro la fine di questo tutorial, sarai dotato delle conoscenze per valutare e migliorare in modo efficace le prestazioni della tua rete OCI, assicurando che le tue applicazioni e i tuoi servizi vengano eseguiti senza problemi.
Nota: i risultati dei test ottenuti utilizzando iPerf dipendono in larga misura da vari fattori, tra cui le condizioni di rete, le configurazioni hardware e le impostazioni software specifiche per l'ambiente in uso. Come tale, questi risultati possono differire significativamente da quelli in altri ambienti. Non utilizzare questi risultati per trarre conclusioni definitive sulle prestazioni previste della rete o dell'apparecchiatura. Tali misure dovrebbero essere considerate indicative piuttosto che assolute.
iPerf Versioni
iPerf, iPerf2 e iPerf3 sono strumenti utilizzati per misurare la larghezza di banda, le prestazioni e il throughput di rete tra due endpoint. Tuttavia, hanno alcune differenze chiave in termini di caratteristiche, prestazioni e stato di sviluppo.
Panoramica:
-
iPerf (originale)
- Release: rilasciata inizialmente intorno al 2003.
- Sviluppo: il file iPerf originale è stato in gran parte sostituito dai relativi successori (iPerf2 e iPerf3).
- Funzioni: funzionalità di base per il test della larghezza di banda di rete mediante TCP e UDP.
- Limitazioni: nel tempo, è diventato obsoleto a causa della mancanza di supporto per le moderne funzioni di rete.
-
iPerf2
- Release: forzato dal file iPerf originale e gestito in modo indipendente.
- Sviluppo:: gestito in modo attivo, in particolare da Energy Sciences Network (ESnet).
- Funzioni:
- Supporta sia i test TCP che UDP.
- Multithreading: iPerf2 supporta test multithread, utili per il test di ambienti con throughput elevato.
- Test UDP multicast e test bidirezionali.
- Flessibilità del protocollo: migliore gestione di IPv6, multicast e altri protocolli di rete avanzati.
- Prestazioni: offre prestazioni migliori rispetto al file iPerf originale per un throughput più elevato grazie al supporto del multithreading.
- Caso d'uso: è ideale per le situazioni in cui sono necessarie funzioni legacy, come IPv6 e multicast, o se è necessario eseguire il multithreading nei test.
-
iPerf3
- Release: riscritto e rilasciato dallo stesso team (ESnet) che gestisce iPerf2. La riscrittura si è concentrata sulla pulizia del codebase e sulla modernizzazione dello strumento.
- Sviluppo: gestito attivamente con aggiornamenti frequenti.
- Funzioni:
- Supporta sia i test TCP che UDP.
- Mono thread: iPerf3 non supporta il multithreading, che può rappresentare una limitazione per un throughput elevato in determinati ambienti.
- Supporta la modalità inversa per il test in entrambe le direzioni, i test bidirezionali e i flussi multipli per i test TCP.
- Output JSON per una più facile integrazione con altri strumenti.
- Report degli errori e statistiche di rete migliorate.
- Ottimizzato per le moderne interfacce di rete e funzioni come QoS e il controllo della congestione.
- Prestazioni: iPerf3 è ottimizzato per le reti moderne, ma non dispone di funzionalità multithreaded, che a volte possono limitarne le prestazioni su sistemi con larghezza di banda elevata o multi-core.
- Caso d'uso: la soluzione migliore per la maggior parte degli ambienti di rete moderni in cui sono richiesti test delle prestazioni più semplici senza la necessità di multithreading.
Differenze chiave:
Funzione | iPerf | iPerf2 | iPerf3 |
---|---|---|---|
Sviluppo | Cessato | Gestito attivamente | Gestito attivamente |
Test TCP e UDP | Sì | Sì | Sì |
Supporto multithreading | N. | Sì | N. |
Multicast UDP | N. | Sì | N. |
Supporto IPv6 | N. | Sì | Sì |
Output JSON | N. | N. | Sì |
Modalità inversione | N. | Sì | Sì |
Nota: in questa esercitazione verrà utilizzato iPerf2 ove possibile.
La soluzione migliore per un throughput elevato?
Per gli ambienti con throughput elevato, iPerf2 è spesso la scelta migliore grazie alle sue funzionalità di multithreading, che possono sfruttare appieno più core CPU. Ciò è particolarmente importante se si utilizzano interfacce di rete in grado di gestire più gigabit al secondo (Gbps) di traffico.
Se il multithreading non è fondamentale, iPerf3 è una buona scelta per impostazioni più semplici o reti moderne con funzioni come QoS e controllo della congestione. Tuttavia, in ambienti con throughput molto elevato, la sua natura a thread singolo potrebbe diventare un collo di bottiglia.
Perché viene utilizzato il serraggio MMS (Maximum Segment Size)?
Nota: quando il traffico scorre attraverso un tunnel IPSec (Internet Protocol Security) attraverso il firewall MSS pfSense, è necessario prestare attenzione.
Il serraggio MSS fa riferimento a Maximum Segment Size Clamping, una tecnica utilizzata nella comunicazione di rete, in particolare nelle reti TCP/IP, per la regolazione del protocollo MSS di un pacchetto TCP durante il processo di impostazione della connessione. L'MSS definisce la maggiore quantità di dati che un dispositivo può gestire in un singolo segmento TCP ed è in genere negoziato tra i dispositivi di comunicazione durante l'handshake TCP.
Il serraggio MSS è spesso utilizzato da dispositivi di rete come router, firewall o VPN per evitare problemi legati alla frammentazione dei pacchetti. Ecco come funziona:
-
Problemi di frammentazione dei pacchetti: se MSS è troppo grande, i pacchetti possono superare l'unità di trasmissione massima (MTU) del percorso di rete, causando la frammentazione. Ciò può causare inefficienza, aumento del sovraccarico o, in alcuni casi, perdita di pacchetti se la rete non gestisce bene la frammentazione.
-
Riduzione dell'MSS: il serraggio MSS consente al dispositivo di rete di regolare (o bloccare) il valore MSS verso il basso durante l'handshake TCP, assicurandosi che le dimensioni dei pacchetti siano abbastanza piccole da attraversare il percorso di rete senza dover frammentare.
-
Uso nelle VPN: il serraggio MSS viene comunemente utilizzato in scenari VPN in cui la dimensione MTU viene ridotta a causa del sovraccarico della cifratura. Senza il serraggio MSS, i pacchetti potrebbero frammentarsi, riducendo le prestazioni.
Esempio di blocco MSS: se un dispositivo client invia un valore MSS di 1460 byte durante l'handshake TCP, ma la MTU della rete è limitata a 1400 byte a causa dell'incapsulamento VPN, il dispositivo di rete può bloccare MSS a 1360 byte (permettendo il sovraccarico aggiuntivo) per evitare problemi di frammentazione.
Parametri importanti
-
Porte utilizzate
Le porte predefinite utilizzate da iPerf2 e iPerf3 per TCP e UDP sono le seguenti:
Porta TCP Porta UDP iPerf2 5001 5001 iPerf3 5.201 5.201 Entrambe le versioni consentono di specificare una porta diversa utilizzando il flag
-p
, se necessario.A scopo di test, si consiglia di aprire tutte le porte tra gli indirizzi IP di origine e di destinazione degli endpoint iPerf.
-
Dimensioni MTU
iPerf invierà i dati tra un'origine e una destinazione specifiche individuate in anticipo.
Quando si esegue un test iPerf, la comprensione della dimensione MTU è fondamentale perché influisce direttamente sulle prestazioni della rete, sulla frammentazione dei pacchetti e sulla precisione dei test. Ecco cosa dovresti considerare per quanto riguarda le dimensioni MTU durante un test iPerf.
-
Dimensione MTU predefinita:
-
La dimensione MTU predefinita per Ethernet è di 1500 byte, ma può variare in base alla configurazione di rete.
-
Dimensioni MTU maggiori o minori possono influire sulla dimensione massima dei pacchetti inviati durante il test iPerf. Le dimensioni MTU più piccole richiederanno più pacchetti per la stessa quantità di dati, mentre le dimensioni MTU più grandi possono ridurre il sovraccarico.
-
-
Frammentazione pacchetti:
-
Se la dimensione MTU è impostata su un valore troppo piccolo o se la dimensione del pacchetto iPerf è maggiore della dimensione MTU della rete, è possibile che i pacchetti siano frammentati. I pacchetti frammentati possono portare a una latenza più elevata e a prestazioni ridotte nel test.
-
iPerf può generare pacchetti fino a una dimensione specifica e, se superano l'MTU, dovranno essere divisi, introducendo un sovraccarico aggiuntivo e rendendo i risultati meno riflettenti delle prestazioni del mondo reale.
-
-
Jumbo Frames: alcune reti supportano frame jumbo, in cui l'MTU è più grande dei 1500 byte standard, a volte raggiungendo i 9000 byte. Quando si esegue il test in ambienti con frame jumbo abilitati, la configurazione di iPerf in modo che corrisponda a questa MTU più grande può massimizzare il throughput riducendo il sovraccarico delle intestazioni e la frammentazione.
-
MTU Discovery e Path:
-
La ricerca automatica MTU del percorso consente di garantire che i pacchetti non superino l'MTU di qualsiasi rete intermedia. Se iPerf invia pacchetti più grandi del percorso MTU e la frammentazione non è consentita, i pacchetti potrebbero essere eliminati.
-
È importante assicurarsi che i messaggi di frammentazione necessaria ICMP non siano bloccati dai firewall, poiché queste informazioni sono utili per la ricerca automatica MTU del percorso. Senza di essa, i pacchetti più grandi potrebbero non essere consegnati con successo, causando problemi di prestazioni.
-
-
Test TCP vs UDP:
-
In modalità TCP, iPerf gestisce automaticamente la dimensione del pacchetto e si regola in base al percorso MTU.
-
In modalità UDP, la dimensione del pacchetto è controllata dall'utente (utilizzando il flag
-l
) e questa dimensione deve essere inferiore o uguale all'MTU per evitare la frammentazione.
-
-
Regolazione della MTU in iPerf:
-
Utilizzare l'opzione
-l
in iPerf per impostare manualmente la lunghezza dei datagrammi UDP. -
Per i test con dimensioni MTU specifiche, è utile assicurarsi che la rete e le interfacce siano configurate in modo da corrispondere al valore MTU desiderato per evitare corrispondenze errate.
-
-
Coerenza tra i segmenti di rete: assicurarsi che la dimensione MTU sia coerente tra tutti i dispositivi di rete tra i due endpoint. Impostazioni MTU non corrispondenti possono causare inefficienza a causa di frammentazione o pacchetti eliminati, portando a risultati di test imprecisi.
-
VPN (Virtual Private Network): quando si utilizza una VPN, le dimensioni e le prestazioni della rete MTU diventano ancora più significative a causa degli ulteriori livelli di incapsulamento e crittografia. Le VPN introducono un sovraccarico aggiuntivo, che può influire sulle prestazioni di strumenti come iPerf.
Ecco un'analisi più approfondita delle connessioni VPN e del loro impatto sui test di rete:
Concetti chiave di VPN e MTU:
-
Costo indiretto incapsulamento:
-
I protocolli VPN, come IPsec, OpenVPN, WireGuard, PPTP o L2TP, aggiungono intestazioni aggiuntive al pacchetto di dati originale per scopi di crittografia e tunneling.
-
Questo sovraccarico extra riduce le dimensioni effettive dell'MTU perché la VPN deve contenere sia il pacchetto originale che le intestazioni VPN aggiunte. Ad esempio:
- IPsec aggiunge da 56 a 73 byte di overhead.
- OpenVPN aggiunge circa 40-60 byte, a seconda della configurazione (ad esempio, UDP vs TCP).
- WireGuard aggiunge circa 60 byte.
-
Se non si regola l'MTU, i pacchetti più grandi dell'MTU regolata potrebbero essere frammentati o eliminati.
-
-
MTU e Path MTU Discovery nelle VPN:
-
Le VPN spesso creano tunnel che si estendono su più reti e il percorso MTU tra le due estremità del tunnel può essere più piccolo di quello che verrebbe utilizzato su una connessione diretta. La scoperta MTU del percorso aiuta le VPN a evitare la frammentazione, ma alcune reti bloccano i messaggi ICMP, che sono essenziali per questa scoperta.
-
Se messaggi ICMP come la frammentazione necessaria vengono bloccati, il tunnel VPN potrebbe inviare pacchetti troppo grandi per una rete intermedia, causando la perdita o la ritrasmissione dei pacchetti.
-
-
Problemi di frammentazione:
-
Quando si verifica una mancata corrispondenza MTU, la VPN frammenterà i pacchetti a livello di rete o, se la frammentazione non è consentita (DF o è impostato il bit Non frammentare), eliminerà i pacchetti. La frammentazione introduce latenza aggiuntiva, riduce il throughput e può causare la perdita di pacchetti.
-
Le VPN hanno spesso una MTU efficace inferiore (ad esempio, 1400 byte anziché 1500), che tiene conto delle intestazioni aggiunte e impedisce la frammentazione.
-
-
Rettifica dell'MTU per le connessioni VPN: la maggior parte dei client o router VPN consente all'utente di regolare le dimensioni dell'MTU per evitare la frammentazione. Ad esempio, ridurre la dimensione MTU in un tunnel VPN a 1400 o 1350 byte è comune per tenere conto del sovraccarico VPN.
-
-
Velocità di rete dell'istanza
All'interno di OCI, la velocità della scheda di rete (vNIC) o dell'istanza è associata alla forma dell'istanza e alla quantità di CPU assegnate a tale forma.
In questa esercitazione verranno utilizzate le forme E4.Flex
con un'immagine Oracle Linux 8 con 1 OCPU. Ciò significa che otterremo una larghezza di banda di rete (massima) di 1 Gbps per tutti i risultati dei test iPerf.
- La forma è E4. Flessibile.
- Il conteggio di OCPU è 1.
- La larghezza di banda della rete è di 1 Gbps.
Nota: è possibile aumentare la larghezza di banda della rete scegliendo un'altra forma e aumentando la quantità di OCPU.
Obiettivi
- Utilizzare iPerf per eseguire il test del throughput all'interno di un'architettura di instradamento VCN hub e spoke OCI.
Task 1: rivedere l'architettura di instradamento dell'hub OCI e della VCN spoke
Utilizzeremo la seguente architettura per tutti i test di throughput iPerf in questo tutorial.
Si tratta di un'architettura di instradamento hub e spoke completa con soluzioni on premise connesse con un tunnel VPNIPSec VPN IPSec. Per ricreare questa topologia di instradamento, vedere:
Task 2: installare iPerf3 nelle istanze dell'hub
Nota: in questo task verrà installato iPerf3 e verrà installato iPerf2 nel task successivo.
Task 2.1: installare iPerf3 su Step-stone hub
L'hub step-stone è un'istanza di Windows Server. Per Windows sono disponibili distribuzioni iPerf diverse: windows. Per questa esercitazione, verrà eseguito il download da qui: Lister directory.
-
Scaricare il file zip e decomprimere il file nello step-stone dell'hub.
- Andare alla directory in cui è stato decompresso il file zip iPerf.
- Verificare se la cartella decompressa è disponibile.
- Si noti che esiste un'altra cartella iPerf.
- Accedere alla cartella iPerf.
- Verificare i file nella cartella iPerf.
- È necessario un file
iPerf.exe
che verrà utilizzato per eseguire i test effettivi.
-
Eseguire il comando
iPerf.exe
per verificare se funziona.
Task 2.2: installare iPerf3 in un firewall pfSense
-
Per installare iPerf su pfSense, è necessario installare un pacchetto tramite Package Manager.
- Andare al menu System (Sistema).
- Selezionare Package Manager.
-
Fare clic su Pacchetti disponibili.
- Immettere iPerf in Termine di ricerca.
- Fare clic su Cerca.
- Si noti che verrà restituito un solo risultato: iPerf package version 3.0.3 (al momento della scrittura di questa esercitazione).
- Fare clic su +Install.
-
Fare clic su Conferma.
-
Si noti che il numero dei pacchetti installati è 2.
- Andare al menu Diagnostica.
- Selezionare iPerf.
-
Fare clic su Client.
-
Fare clic su Server.
Nota: il firewall pfSense non dispone dell'opzione (per impostazione predefinita) per installare i pacchetti iPerf versione 2.
Task 3: installare iPerf3 nelle istanze spoke
Installa iPerf3 sulle istanze Linux all'interno di OCI nella nostra architettura.
Task 3.1: installare iPerf3 sull'istanza spoke A1 e sull'istanza A2
-
Nell'istanza A1 è già installato iPerf3.
- Connessione all'istanza A1.
- Eseguire il comando
sudo dnf install iPerf3
. - Si noti che iPerf3 è già installato.
-
Eseguire il comando
iPerf3 -v
per verificare la versione iPerf installata. -
Installare iPerf3 nell'istanza A2.
- Connessione all'istanza A2.
- Eseguire il comando
sudo dnf install iPerf3
. - Immettere
Y
.
-
iPerf3 installerà e si noti che l'installazione è stata completata.
Task 3.2: installare iPerf3 nell'istanza spoke B
- Connettersi all'istanza B.
- Eseguire il comando
sudo dnf install iPerf3
per installare iPerf 3. Se iPerf3 è già disponibile, viene visualizzato un messaggio che indica che iPerf è già installato.
Task 3.3: installare iPerf3 sull'istanza spoke C
- Connessione all'istanza C.
- Eseguire il comando
sudo dnf install iPerf3
per installare iPerf 3. Se iPerf3 è già disponibile, viene visualizzato un messaggio che indica che iPerf è già installato.
Task 3.4: installare iPerf3 sull'istanza D
- Connessione all'istanza D.
- Eseguire il comando
sudo dnf install iPerf3
per installare iPerf 3. Se iPerf3 è già disponibile, viene visualizzato un messaggio che indica che iPerf è già installato.
Task 4: installare iPerf3 nelle istanze in locale
Installa iPerf3 sulle istanze Linux on premise nella nostra architettura.
Task 4.1: installare iPerf3 sul client Oracle Linux
- Connettersi all'istanza client Linux in locale.
- Eseguire il comando
sudo dnf install iPerf3
per installare iPerf 3. Se iPerf3 è già disponibile, viene visualizzato un messaggio che indica che iPerf è già installato.
Task 4.2: installare iPerf3 su CPE client Oracle Linux
- Connettersi all'istanza CPE Linux on premise.
- Eseguire il comando
sudo dnf install iPerf3
per installare iPerf 3. Se iPerf3 è già disponibile, viene visualizzato un messaggio che indica che iPerf è già installato.
Task 5: installare iPerf2 su tutte le istanze Linux
Abbiamo installato iPerf3, ora installeremo iPerf2 su tutte le istanze Linux in tutta l'architettura.
Stiamo utilizzando Oracle Linux 8, quindi avremo bisogno del seguente pacchetto iPerf2: Oracle Linux 8 (x86_64) EPEL. Se si utilizza Oracle Linux 9, utilizzare il seguente pacchetto: Oracle Linux 9 (x86_64) EPEL o per un altro sistema operativo o distribuzione Linux utilizzare un pacchetto compilato per tale sistema operativo.
-
Eseguire il comando seguente per installare iPerf 2 su tutte le istanze di Oracle Linux 8.
sudo dnf install https://yum.oracle.com/repo/OracleLinux/OL8/developer/EPEL/x86_64/getPackage/iPerf-2.1.6-2.el8.x86_64.rpm
-
Immettere
Y
per confermare l'installazione. -
Si noti che l'installazione è stata completata.
- Eseguire il comando
iPerf -v
per verificare la versione iPerf installata. - Si noti che è installata la versione iPerf
2.1.6
.
Nota: assicurarsi di installare iPerf2 anche su tutte le altre istanze.
- Eseguire il comando
-
Per l'hub basato su Windows, scaricare da qui: iPerf-2.2.n-win64.
- Eseguire il comando
iPerf.exe
per verificare se funziona. - Eseguire il comando
iPerf -v
per verificare la versione iPerf installata. - Si noti che iPerf versione
2.2.n
è installato.
- Eseguire il comando
Task 6: definire i test iPerf e preparare i comandi iPerf
In questo task, verranno forniti alcuni comandi iPerf con i flag aggiuntivi e verrà spiegato il significato. Per ulteriori informazioni, vedere Prestazioni di rete.
-
Comandi iPerf di base per il test con TCP:
-
Sul lato server iPerf.
iPerf3 -s
-
Sul lato client iPerf.
iPerf3 -c <server_instance_private_ip_address>
-
-
Comandi iPerf che verranno utilizzati per il test con TCP:
Nota:
- Misurazione della larghezza di banda bidirezionale (
-r
). - Dimensione finestra TCP (
-w
).
-
Sul lato server iPerf.
iPerf3 -s -w 4000
-
Sul lato client iPerf.
iPerf3 -c <server_instance_private_ip_address> -r -w 2000 iPerf3 -c <server_instance_private_ip_address> -r -w 4000
- Misurazione della larghezza di banda bidirezionale (
-
Comandi iPerf che verranno utilizzati per i test con UDP:
Nota:
- Test UDP (
-u
). - Impostazioni larghezza di banda (
-b
).
-
Sul lato server iPerf.
iPerf -s -u -i 1
-
Sul lato client iPerf.
iPerf -c <server_instance_private_ip_address> -u -b 10m iPerf -c <server_instance_private_ip_address> -u -b 100m iPerf -c <server_instance_private_ip_address> -u -b 1000m iPerf -c <server_instance_private_ip_address> -u -b 10000m iPerf -c <server_instance_private_ip_address> -u -b 100000m
- Test UDP (
-
Comandi iPerf che verranno utilizzati per il test con TCP (con MSS):
Nota: dimensione massima segmento (
-m
).-
Sul lato server iPerf.
iPerf -s
-
Sul lato client iPerf.
iPerf -c <server_instance_private_ip_address> -m
-
-
Comandi iPerf che verranno utilizzati per il test con TCP (parallelo):
-
Sul lato server iPerf.
iPerf -s
-
Sul lato client iPerf.
iPerf -c <server_instance_private_ip_address> -P 2
Nota: per tutti i test che verranno eseguiti in questa esercitazione, verranno utilizzati i seguenti comandi finali.
-
-
Comando finale iPerf per i test:
Nota:
- Impostazioni larghezza di banda (
-b
). - Prove parallele (
-P
).
Per testare il throughput per una connessione da 100 GB con 100Gbps, abbiamo impostato il throughput su 9Gbps con 11 flussi paralleli.
-
Sul lato server iPerf.
iPerf -s
-
Sul lato client iPerf.
iPerf -c <server_instance_private_ip_address> -b 9G -P 11
- Impostazioni larghezza di banda (
Task 7: eseguire i test iPerf all'interno della stessa VCN nella stessa subnet
In questo task verrà eseguito un test del throughput iPerf2 all'interno della stessa VCN e della stessa subnet. L'immagine seguente mostra i percorsi con le frecce tra due endpoint in cui verranno eseguiti i test di throughput.
Task 7.1: dall'istanza A1 all'istanza A2
Nella tabella seguente sono riportati l'indirizzo IP del client e del server (utilizzato in questo test) e i comandi utilizzati per eseguire il test iPerf con i risultati del test.
IP del server iPerf | 172.16.1.50 |
IP del client iPerf | 172.16.1.93 |
Comando iPerf sul server | iPerf -s |
Comando iPerf sul client | iPerf -c 172.16.1.50 -b 9G -P 5 |
Larghezza di banda testata (SUM) | 1,05 Gbit/sec |
Le immagini seguenti illustrano i comandi e l'output di test completo del test iPerf.
Task 7.2: dall'istanza A2 all'istanza A1
Nella tabella seguente sono riportati l'indirizzo IP del client e del server (utilizzato in questo test) e i comandi utilizzati per eseguire il test iPerf con i risultati del test.
IP del server iPerf | 172.16.1.93 |
IP del client iPerf | 172.16.1.50 |
Comando iPerf sul server | iPerf -s |
Comando iPerf sul client | iPerf -c 172.16.1.93 -b 9G -P 5 |
Larghezza di banda testata (SUM) | 1,05 Gbit/sec |
Le immagini seguenti illustrano i comandi e l'output di test completo del test iPerf.
Task 8: eseguire test iPerf all'interno della stessa VCN in subnet diverse
In questo task verrà eseguito un test del throughput iPerf3 all'interno della stessa VCN, ma di due subnet diverse. L'immagine seguente mostra i percorsi con le frecce tra i due endpoint in cui verranno eseguiti i test di throughput.
Task 8.1: da pfSense Firewall a Hub Step-Stone
Nella tabella seguente sono riportati l'indirizzo IP del client e del server (utilizzato in questo test) e i comandi utilizzati per eseguire il test iPerf con i risultati del test.
IP del server iPerf | 172.16.0.252 |
IP del client iPerf | 172.16.0.20 |
Comando iPerf sul server | iPerf3 -s |
Comando iPerf sul client | iPerf3 -c 172.16.0.252 |
Larghezza di banda testata (SUM) | 958 Mbyte/sec |
Le immagini seguenti illustrano i comandi e l'output di test completo del test iPerf.
Task 8.2: dal passo dell'hub al firewall pfSense
Nella tabella seguente sono riportati l'indirizzo IP del client e del server (utilizzato in questo test) e i comandi utilizzati per eseguire il test iPerf con i risultati del test.
IP del server iPerf | 172.16.0.20 |
IP del client iPerf | 172.16.0.252 |
Comando iPerf sul server | iPerf3 -s |
Comando iPerf sul client | iPerf3 -c 172.16.0.20 |
Larghezza di banda testata (SUM) | 1,01 Gbit/sec |
Le immagini seguenti illustrano i comandi e l'output di test completo del test iPerf.
Task 9: eseguire test iPerf tra due VCN diversi
In questa attività, verrà eseguito un test del throughput iPerf2 tra due VCN diversi e due subnet diverse. Si noti che il test passerà attraverso un firewall che si trova nella VCN hub. L'immagine seguente mostra i percorsi con le frecce tra i due endpoint in cui verranno eseguiti i test di throughput.
Task 9.1: dall'istanza A1 all'istanza B
Nella tabella seguente sono riportati l'indirizzo IP del client e del server (utilizzato in questo test) e i comandi utilizzati per eseguire il test iPerf con i risultati del test.
IP del server iPerf | 172.16.2.88 |
IP del client iPerf | 172.16.1.93 |
Comando iPerf sul server | iPerf -s |
Comando iPerf sul client | iPerf -c 172.16.2.88 -b 9G -P 5 |
Larghezza di banda testata (SUM) | 1,02 Gbit/sec |
Le immagini seguenti illustrano i comandi e l'output di test completo del test iPerf.
Task 9.2: dall'istanza B all'istanza A1
Nella tabella seguente sono riportati l'indirizzo IP del client e del server (utilizzato in questo test) e i comandi utilizzati per eseguire il test iPerf con i risultati del test.
IP del server iPerf | 172.16.1.93 |
IP del client iPerf | 172.16.2.99 |
Comando iPerf sul server | iPerf -s |
Comando iPerf sul client | iPerf -c 172.16.1.93 -b 9G -P 5 |
Larghezza di banda testata (SUM) | 1,02 Gbit/sec |
Le immagini seguenti illustrano i comandi e l'output di test completo del test iPerf.
Task 10: eseguire test iPerf tra VCN diversi ignorando il firewall pfSense
In questa attività, verrà eseguito un test del throughput iPerf2 tra due VCN diversi e due subnet diverse. Si noti che il test ignorerà il firewall che si trova nella VCN hub. L'immagine seguente mostra i percorsi con le frecce tra i due endpoint in cui verranno eseguiti i test di throughput.
Task 10.1: dall'istanza C all'istanza D
Nella tabella seguente sono riportati l'indirizzo IP del client e del server (utilizzato in questo test) e i comandi utilizzati per eseguire il test iPerf con i risultati del test.
IP del server iPerf | 172.16.4.14 |
IP del client iPerf | 172.16.3.63 |
Comando iPerf sul server | iPerf -s |
Comando iPerf sul client | iPerf -c 172.16.4.14 -b 9G -P 5 |
Larghezza di banda testata (SUM) | 1,04 Gbit/sec |
Le immagini seguenti illustrano i comandi e l'output di test completo del test iPerf.
Task 10.2: dall'istanza D all'istanza C
Nella tabella seguente sono riportati l'indirizzo IP del client e del server (utilizzato in questo test) e i comandi utilizzati per eseguire il test iPerf con i risultati del test.
IP del server iPerf | 172.16.3.63 |
IP del client iPerf | 172.16.4.14 |
Comando iPerf sul server | iPerf -s |
Comando iPerf sul client | iPerf -c 172.16.3.63 -b 9G -P 5 |
Larghezza di banda testata (SUM) | 1,05 Gbit/sec |
Le immagini seguenti illustrano i comandi e l'output di test completo del test iPerf.
Task 11: eseguire i test iPerf tra la VCN dell'hub on premise e OCI
In this task, we are going to perform an iPerf2 throughput test between on-premises and OCI using a Site-to-Site IPSec VPN tunnel. Si noti che il test passerà attraverso il firewall che si trova nella VCN hub. L'immagine seguente mostra i percorsi con le frecce tra i due endpoint in cui verranno eseguiti i test di throughput.
Nota:
Quando si eseguono test di throughput (con o senza iPerf) utilizzando un tunnel VPN IPSec e un firewall pfSense Maximum Transmission Unit (MTU) e Maximum Segment Size (MSS) un fattore importante da tenere in considerazione, quando ciò viene fatto in modo errato, i risultati di throughput non saranno validi e non come previsto.
Con iPerf, è possibile modificare il flusso di pacchetti in modo che i pacchetti vengano inviati con un MSS specifico, è possibile utilizzare questo se non si è in grado di modificare le impostazioni MSS sui dispositivi nel percorso tra l'origine o la destinazione.
Limitazione dimensione massima segmento
In questa esercitazione, il lato on-premise aveva un MTU di 9000 che inviava un pacchetto con il valore MSS di 1500 + IPSec overhead.
L'interfaccia pfSense MTU è 1500 ... causando problemi di frammentazione.
Impostando l'interfaccia MSS su 1300, le dimensioni vengono modificate al volo e questa tecnica viene denominata Maximum Segment Size Clamping.
Modifica MSS su pfSense
Task 11.1: dall'istanza del client VPN (on-premise) al passo dell'hub
Nella tabella seguente sono riportati l'indirizzo IP del client e del server (utilizzato in questo test) e i comandi utilizzati per eseguire il test iPerf con i risultati del test.
IP del server iPerf | 172.16.0.252 |
IP del client iPerf | 10.222.10.19 |
Comando iPerf sul server | iPerf -s |
Comando iPerf sul client | iPerf -c 172.16.0.252 -b 9G -P 5 |
Larghezza di banda testata (SUM) | 581 Mbits/sec |
Le immagini seguenti illustrano i comandi e l'output di test completo del test iPerf.
Task 11.2: dal passo dell'hub all'istanza del client VPN (on-premise)
Nella tabella seguente sono riportati l'indirizzo IP del client e del server (utilizzato in questo test) e i comandi utilizzati per eseguire il test iPerf con i risultati del test.
IP del server iPerf | 10.222.10.19 |
IP del client iPerf | 172.16.0.252 |
Comando iPerf sul server | iPerf -s |
Comando iPerf sul client | iPerf -c 10.222.10.19 -b 9G -P 5 |
Larghezza di banda testata (SUM) | 732 Mbits/sec |
Le immagini seguenti illustrano i comandi e l'output di test completo del test iPerf.
Task 12: eseguire i test iPerf tra la VCN spoke on premise e OCI
In this task, we are going to perform an iPerf2 throughput test between on-premises and OCI using a Site-to-Site IPSec VPN tunnel. Si noti che il test passerà attraverso il firewall che si trova nella VCN hub. L'immagine seguente mostra i percorsi con le frecce tra i due endpoint in cui verranno eseguiti i test di throughput.
Task 12.1: dall'istanza del client VPN (in locale) all'istanza A1
Nella tabella seguente sono riportati l'indirizzo IP del client e del server (utilizzato in questo test) e i comandi utilizzati per eseguire il test iPerf con i risultati del test.
IP del server iPerf | 172.16.1.93 |
IP del client iPerf | 10.222.10.19 |
Comando iPerf sul server | iPerf -s |
Comando iPerf sul client | iPerf -c 172.16.1.93 -b 9G -P 5 |
Larghezza di banda testata (SUM) | 501 Mbits/sec |
Le immagini seguenti illustrano i comandi e l'output di test completo del test iPerf.
Nuovi test con MSS nel comando iPerf:
Nota: con iPerf è possibile modificare il flusso di pacchetti in modo che i pacchetti vengano inviati con un MSS specifico, è possibile utilizzare i seguenti comandi se non si è in grado di modificare le impostazioni MSS sui dispositivi nel percorso tra l'origine o la destinazione.
Nella tabella seguente sono riportati l'indirizzo IP del client e del server (utilizzato in questo test) e i comandi utilizzati per eseguire il test iPerf con i risultati del test.
IP del server iPerf | 172.16.1.93 |
IP del client iPerf | 10.222.10.19 |
Comando iPerf sul server | iPerf -s |
Comando iPerf sul client | iPerf -c 172.16.1.93 -b 9G -P 5 -M 1200 |
Larghezza di banda testata (SUM) | 580 Mbits/sec |
Le immagini seguenti illustrano i comandi e l'output di test completo del test iPerf.
Task 12.2: dall'istanza A1 all'istanza del client VPN (in locale)
Nella tabella seguente sono riportati l'indirizzo IP del client e del server (utilizzato in questo test) e i comandi utilizzati per eseguire il test iPerf con i risultati del test.
IP del server iPerf | 10.222.10.19 |
IP del client iPerf | 172.16.1.93 |
Comando iPerf sul server | iPerf -s |
Comando iPerf sul client | iPerf -c 10.222.10.19 -b 9G -P 5 |
Larghezza di banda testata (SUM) | 620 Mbits/sec |
Nelle schermate successive, troverai anche gli output di test completi dei test iPerf.
Nuovi test con MSS nel comando iPerf:
Nota: con iPerf è possibile modificare il flusso di pacchetti in modo che i pacchetti vengano inviati con un MSS specifico, è possibile utilizzare i seguenti comandi se non si è in grado di modificare le impostazioni MSS sui dispositivi nel percorso tra l'origine o la destinazione.
Nella tabella seguente sono riportati l'indirizzo IP del client e del server (utilizzato in questo test) e i comandi utilizzati per eseguire il test iPerf con i risultati del test.
IP del server iPerf | 10.222.10.19 |
IP del client iPerf | 172.16.1.93 |
Comando iPerf sul server | iPerf -s |
Comando iPerf sul client | iPerf -c 10.222.10.19 -b 9G -P 5 -M 1200 |
Larghezza di banda testata (SUM) | 805 Mbits/sec |
Le immagini seguenti illustrano i comandi e l'output di test completo del test iPerf.
Task 13: eseguire i test iPerf tra la VCN spoke on-premise e OCI ignorando il firewall pfSense
In this task, we are going to perform an iPerf2 throughput test between on-premises and OCI using a Site-to-Site IPSec VPN tunnel. Si noti che il test ignorerà il firewall che si trova nella VCN hub. L'immagine seguente mostra i percorsi con le frecce tra i due endpoint in cui verranno eseguiti i test di throughput.
Task 13.1: dall'istanza del client VPN (in locale) all'istanza D
Nella tabella seguente sono riportati l'indirizzo IP del client e del server (utilizzato in questo test) e i comandi utilizzati per eseguire il test iPerf con i risultati del test.
IP del server iPerf | 172.16.4.14 |
IP del client iPerf | 10.222.10.19 |
Comando iPerf sul server | iPerf -s |
Comando iPerf sul client | iPerf -c 172.16.4.14 -b 9G -P 5 |
Larghezza di banda testata (SUM) | 580 Mbits/sec |
Le immagini seguenti illustrano i comandi e l'output di test completo del test iPerf.
Task 13.2: dall'istanza D all'istanza client VPN (in locale)
Nella tabella seguente sono riportati l'indirizzo IP del client e del server (utilizzato in questo test) e i comandi utilizzati per eseguire il test iPerf con i risultati del test.
IP del server iPerf | 10.222.10.19 |
IP del client iPerf | 172.16.4.14 |
Comando iPerf sul server | iPerf -s |
Comando iPerf sul client | iPerf -c 10.222.10.19 -b 9G -P 5 |
Larghezza di banda testata (SUM) | 891 Mbits/sec |
Le immagini seguenti illustrano i comandi e l'output di test completo del test iPerf.
Task 14: eseguire i test iPerf tra Internet e la VCN dell'hub OCI
In questo task, eseguiamo un test del throughput iPerf2 tra un client su Internet e OCI utilizzando Internet. L'immagine seguente mostra i percorsi con le frecce tra i due endpoint in cui verranno eseguiti i test di throughput.
Task 14.1: Da Internet a Hub Step-Stone
Nella tabella seguente sono riportati l'indirizzo IP del client e del server (utilizzato in questo test) e i comandi utilizzati per eseguire il test iPerf con i risultati del test.
IP del server iPerf | xxx.xxx.xxx.178 |
IP del client iPerf | xxx.xxx.xxx.152 |
Comando iPerf sul server | iPerf -s |
Comando iPerf sul client | iPerf -c xxx.xxx.xxx.178 -b 9G -P 5 |
Larghezza di banda testata (SUM) | 251 Mbits/sec |
Le immagini seguenti illustrano i comandi e l'output di test completo del test iPerf.
Task 15: eseguire i test iPerf preliminari all'interno della stessa subnet in locale
In questo task verrà eseguito un test del throughput iPerf2 tra due istanze on premise. L'immagine seguente mostra i percorsi con le frecce tra i due endpoint in cui verranno eseguiti i test di throughput.
Task 15.1: dall'istanza del client VPN (in locale) all'istanza CPE StrongSwan (in locale)
Nella tabella seguente sono riportati l'indirizzo IP del client e del server (utilizzato in questo test) e i comandi utilizzati per eseguire il test iPerf con i risultati del test.
IP del server iPerf | 10.222.10.70 |
IP del client iPerf | 10.222.10.19 |
Comando iPerf sul server | iPerf -s |
Comando iPerf sul client | iPerf -c 10.222.10.70 -b 9G -P 5 |
Larghezza di banda testata (SUM) | 1,05 Gbit/sec |
Le immagini seguenti illustrano i comandi e l'output di test completo del test iPerf.
Task 15.2: dall'istanza CPE StrongSwan (in locale) all'istanza client VPN (in locale)
Nella tabella seguente sono riportati l'indirizzo IP del client e del server (utilizzato in questo test) e i comandi utilizzati per eseguire il test iPerf con i risultati del test.
IP del server iPerf | 10.222.10.19 |
IP del client iPerf | 10.222.10.70 |
Comando iPerf sul server | iPerf -s |
Comando iPerf sul client | iPerf -c 10.222.10.19 -b 9G -P 5 |
Larghezza di banda testata (SUM) | 1,05 Gbit/sec |
Le immagini seguenti illustrano i comandi e l'output di test completo del test iPerf.
Risultati
In questo tutorial, abbiamo eseguito diversi tipi di test di throughput utilizzando iPerf2 e iPerf3. I test sono stati eseguiti su diverse fonti e destinazioni nell'architettura di rete completa con percorsi diversi.
Nella tabella seguente è possibile visualizzare un riepilogo dei risultati dei test che abbiamo raccolto.
Tipo di test | Risultato larghezza di banda | |
---|---|---|
Task 7.1: eseguire i test iPerf all'interno della stessa VCN nella stessa subnet (dall'istanza A1 all'istanza A2) | 1,05 Gbit/sec | Interno OCI |
Task 7.2: eseguire i test iPerf all'interno della stessa VCN nella stessa subnet (dall'istanza A2 all'istanza A1) | 1,05 Gbit/sec | Interno OCI |
Task 8.1: eseguire i test iPerf all'interno della stessa VCN in subnet diverse (da pfSense Firewall a hub Stepstone) | 958 Mbyte/sec | Interno OCI |
Task 8.2: eseguire i test iPerf all'interno della stessa VCN in subnet diverse (dall'hub Stepstone al firewall pfSense) | 1,01 Gbit/sec | Interno OCI |
Task 9.1: eseguire test iPerf tra VCN diversi (Da istanza-A1 a istanza-B) | 1,02 Gbit/sec | Interno OCI |
Task 9.2: eseguire test iPerf tra VCN diversi (dall'istanza B all'istanza A1) | 1,02 Gbit/sec | Interno OCI |
Task 10.1: eseguire i test iPerf tra VCN diversi (ignorare il firewall pfSense) (Da Instance-C a Instance-D | 1,04 Gbit/sec | Interno OCI |
Task 10.2: eseguire i test iPerf tra VCN diversi (ignorare il firewall pfSense) (Da Instance-D a Instance-C) | 1,05 Gbit/sec | Interno OCI |
Task 11.1: eseguire i test iPerf tra la VCN dell'hub OCI e on premise (dall'istanza del client VPN (on premise) allo stepstone dell'hub) | 581 Mbits/sec | Da on-premise a OCI tramite firewall |
Task 11.2: eseguire i test iPerf tra la VCN dell'hub on premise e OCI (da Stepstone dell'hub a istanza del client VPN (on premise)) | 732 Mbits/sec | Da on-premise a OCI tramite firewall |
Task 12.1: eseguire i test iPerf tra la VCN spoke on premise e OCI (dall'istanza client VPN (on premise) all'istanza: A1) | 501Mbits/sec | Da on-premise a OCI tramite firewall |
Task 12.2: eseguire i test iPerf tra la VCN spoke on premise e OCI (dall'istanza A1 all'istanza client VPN (on premise)) | 620 Mbits/sec | Da on-premise a OCI tramite firewall |
Task 13.1: eseguire i test iPerf tra la VCN spoke in locale e OCI (ignorare il firewall pfSense) (dall'istanza client VPN (in locale) all'istanza D) | 580 Mbits/sec | Ignora firewall da on premise a OCI |
Task 13.2: eseguire i test iPerf tra la VCN spoke on premise e OCI (ignorare il firewall pfSense) (da Instance-D a istanza client VPN (on premise)) | 891 Mbits/sec | Ignora firewall da on premise a OCI |
Task 14: eseguire i test iPerf tra INTERNET e la VCN dell'hub OCI (Da INTERNET a Hub Stepstone) | 251 Mbits/sec | Internet su OCI |
Task 15.1: eseguire i test iPerf all'interno della stessa subnet in locale (dall'istanza del client VPN (in locale) all'istanza CPE StrongSwan (in locale)) | 1,05 Gbit/sec | Da on-premise a on-premise |
Task 15.2: eseguire i test iPerf all'interno della stessa subnet in locale (dall'istanza CPE StrongSwan (in locale) all'istanza client VPN (in locale)) | 1,05 Gbit/sec | Da on-premise a on-premise |
Conferme
- Autore - Iwan Hoogendoorn (esperto di rete OCI)
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti gratuiti sulla formazione su Oracle Learning YouTube channel. Inoltre, visita education.oracle.com/learning-explorer per diventare un Oracle Learning Explorer.
Per la documentazione del prodotto, visita l'Oracle Help Center.
Use iPerf to Test the Throughput inside an OCI Hub and Spoke VCN Routing Architecture
G17035-01
October 2024