Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Sommario
Azure offre un modo stabile e rapido per connettere la rete locale a Azure. I clienti di tutte le dimensioni usano metodi come VPN da sito a sito ed ExpressRoute per gestire le proprie attività in Azure. Ma cosa accade quando le prestazioni non soddisfano le aspettative o l'esperienza precedente? Questo articolo ti aiuta a standardizzare il modo in cui testi il tuo ambiente specifico e ne definisci una configurazione di base.
Si apprenderà come testare in modo semplice e coerente la latenza e larghezza di banda di rete tra due host. Si ricevono anche consigli su come esaminare la rete Azure per isolare i punti di problema. Lo script e gli strumenti di PowerShell illustrati richiedono due host nella rete (alla fine del collegamento sottoposto a test). Un host deve essere un Windows Server o desktop e l'altro host può essere Windows o Linux.
Componenti di rete
Prima di approfondire la risoluzione dei problemi, verranno illustrati alcuni termini e componenti comuni. Questa discussione assicura che si stia pensando a ogni componente nella catena end-to-end che abilita la connettività in Azure.
Al livello più alto, esistono tre principali domini di routing di rete:
- La rete di Azure (nuvola blu)
- Internet o WAN (cloud verde)
- Rete aziendale ("nuvola arancione")
Esaminando il diagramma da destra a sinistra, si esaminerà brevemente ogni componente:
Macchina virtuale : il server potrebbe avere più schede di interfaccia di rete. Verificare che le route statiche, le route predefinite e le impostazioni del sistema operativo inviino e ricevano il traffico nel modo previsto. Inoltre, ogni SKU di macchina virtuale ha una restrizione della larghezza di banda. Se si usa uno SKU di macchina virtuale di dimensioni inferiori, il traffico è limitato dalla larghezza di banda disponibile per la scheda di interfaccia di rete. Usare un DS5v2 per i test per garantire una larghezza di banda adeguata nella macchina virtuale.
Scheda di interfaccia di rete: assicurarsi di conoscere l'indirizzo IP privato assegnato alla scheda di interfaccia di rete in questione.
Gruppo di sicurezza di rete NIC : potrebbero essere presenti gruppi di sicurezza di rete specifici applicati a livello di scheda di interfaccia di rete. Assicurarsi che il set di regole dell'NSG sia adeguato al traffico che si sta cercando di far passare. Ad esempio, assicurarsi che le porte 5201 per iPerf, 3389 per RDP o 22 per SSH siano aperte per consentire il passaggio del traffico di test.
Subnet della rete virtuale - La NIC è assegnata a una subnet specifica. Assicurarsi di conoscere quale e le regole associate a tale subnet.
NSG di subnet - Proprio come per la NIC, puoi applicare gli NSG anche a livello di subnet. Assicurarsi che il set di regole NSG sia appropriato per il traffico che si sta tentando di far passare. Per il traffico in ingresso alla NIC, si applica prima il gruppo di sicurezza della subnet, poi quello della NIC. Quando il traffico esce dalla macchina virtuale, si applica prima l'NSG della scheda di rete, quindi l'NSG della subnet.
UDR della subnet - Le route definite dall'utente possono indirizzare il traffico verso un hop intermedio, ad esempio un firewall o un bilanciatore del carico. Assicurati di sapere se è presente un UDR (route definita dall'utente) per il traffico. In tal caso, comprendi dove va e cosa fa l'hop successivo al tuo traffico. Ad esempio, un firewall potrebbe passare traffico e negare altro traffico tra gli stessi due host.
Subnet del gateway / gruppo di sicurezza di rete / route definite dall'utente - Proprio come la subnet della macchina virtuale, la subnet del gateway può avere gruppi di sicurezza di rete e route definite dall'utente. Assicurarsi di sapere se sono lì e quali effetti hanno sul traffico.
Gateway di rete virtuale (ExpressRoute): una volta abilitato il peering (ExpressRoute) o la VPN, non sono presenti molte impostazioni che possono influire su come o se il traffico viene instradato. Se si dispone di un gateway di rete virtuale connesso a più circuiti ExpressRoute o tunnel VPN, tenere presente le impostazioni relative al peso della connessione. Il peso della connessione influisce sulle preferenze di connessione e determina il percorso impiegato dal traffico.
Filtroroute (non visualizzato): è necessario un filtro di route quando si usa Microsoft peering tramite ExpressRoute. Se non si ricevono route, verificare se il filtro di route è configurato e applicato correttamente al circuito.
A questo punto, si è nella parte WAN del collegamento. Questo dominio di routing può essere il provider di servizi, la rete WAN aziendale o Internet. In questi collegamenti entrano in gioco numerosi hop, dispositivi e aziende, il che può rendere difficile identificare e risolvere i problemi. Prima di poter analizzare gli hop, è necessario escludere sia Azure che le reti della tua azienda.
Nel diagramma precedente, all'estrema sinistra è la rete aziendale. A seconda delle dimensioni dell'azienda, questo dominio di routing può essere costituito da alcuni dispositivi di rete tra l'utente e la rete WAN o più livelli di dispositivi in una rete campus o aziendale.
Data la complessità di questi tre diversi ambienti di rete di alto livello, è spesso ottimale iniziare ai bordi e cercare di mostrare dove le prestazioni sono buone e dove si degrada. Questo approccio consente di identificare il dominio di routing problematico tra i tre. È quindi possibile concentrarsi sulla risoluzione dei problemi su tale ambiente specifico.
Tools
È possibile analizzare e isolare la maggior parte dei problemi di rete usando strumenti di base come ping e traceroute. È raro che sia necessario approfondire l'analisi dei pacchetti usando strumenti come Wireshark.
Per facilitare la risoluzione dei problemi, è stato sviluppato Azure Connectivity Toolkit (AzureCT) per inserire alcuni di questi strumenti in un pacchetto semplice. Per i test delle prestazioni, strumenti come iPerf e PSPing possono fornire informazioni sulla rete. iPerf è uno strumento comunemente usato per i test di prestazioni di base ed è piuttosto facile da usare. PSPing è uno strumento ping sviluppato da SysInternals. PSPing può eseguire ping ICMP e TCP per raggiungere un host remoto. Entrambi questi strumenti sono leggeri e vengono semplicemente "installati" copiando i file in una directory nell'host.
È possibile usare un modulo di PowerShell (AzureCT) che esegue il wrapping di questi strumenti e metodi.
AzureCT - Toolkit di connettività di Azure
Il modulo AzureCT PowerShell include due componenti: Availability Testing e Performance Testing. Questo articolo è incentrato sul test delle prestazioni, in particolare sui due comandi Link Performance di questo modulo PowerShell.
Per usare questo toolkit per i test delle prestazioni, seguire questi tre passaggi di base:
Installare il modulo di PowerShell
(new-object Net.WebClient).DownloadString("https://aka.ms/AzureCT") | Invoke-ExpressionQuesto comando scarica e installa il modulo PowerShell in locale.
Installare le applicazioni di supporto
Install-LinkPerformanceQuesto comando di AzureCT installa iPerf e PSPing in una nuova directory
C:\ACTToolse apre le porte del firewall Windows per consentire il traffico ICMP e porta 5201 (iPerf).Eseguire il test delle prestazioni
Innanzitutto, nell'host remoto installare ed eseguire iPerf in modalità server. Assicurarsi che l'host remoto sia in ascolto su 3389 (RDP per Windows) o 22 (SSH per Linux) e consenta il traffico sulla porta 5201 per iPerf. Se l'host remoto è Windows, installare AzureCT ed eseguire il comando
Install-LinkPerformanceper configurare iPerf e le regole del firewall necessarie.Quando il computer remoto è pronto, aprire PowerShell nel computer locale e avviare il test:
Get-LinkPerformance -RemoteHost 10.0.0.1 -TestSeconds 10Questo comando esegue una serie di test di carico e latenza simultanei per stimare la capacità e la latenza della larghezza di banda del collegamento di rete.
Esaminare l'output del test
Il formato di output di PowerShell è simile al seguente:
I risultati dettagliati di tutti i test iPerf e PSPing vengono salvati in singoli file di testo nella directory degli strumenti di AzureCT all'indirizzo
C:\ACTTools.
Risolvere i problemi di prestazioni
Se i risultati del test delle prestazioni non sono quello previsto, seguire un approccio sistematico per identificare il problema. Dato il numero di componenti nel percorso, un processo dettagliato è più efficace rispetto al test casuale.
Annotazioni
Questo scenario è un problema di prestazioni, non un problema di connettività. Per isolare i problemi di connettività alla rete Azure, vedere Verifica della connettività ExpressRoute.
Sfidare i presupposti
Assicurati che le tue aspettative siano ragionevoli. Ad esempio, con un circuito ExpressRoute da 1 Gbps e 100 ms di latenza, si prevede che l'intero traffico di 1 Gbps non sia realistico a causa delle caratteristiche delle prestazioni di TCP su collegamenti a latenza elevata. Per altre informazioni sui presupposti sulle prestazioni, vedere la sezione Riferimenti.
Parti dal margine della rete
Iniziare con i bordi tra domini di routing e provare a isolare il problema in un singolo dominio di routing principale. Evitare di incolpare la "scatola nera" nel percorso senza indagini approfondite, in quanto questo presupposto può ritardare la risoluzione.
Creare un diagramma
Disegnare un diagramma dell'area in questione per lavorare in modo metodico e isolare il problema. Pianificare i punti di test e aggiornare la mappa quando si cancellano le aree o si scava più in profondità.
Dividere e conquistare
Segmentare la rete e restringere il problema. Identificare dove funziona e dove non funziona. Continuare a spostare i punti di test per isolare il componente che causa l'offesa.
Prendere in considerazione tutti i livelli OSI
Anche se è comune concentrarsi sulla rete e sui livelli 1-3 (livelli fisici, dati e rete), tenere presente che i problemi possono verificarsi anche al livello 7 (livello applicazione). Tenere una mente aperta e verificare tutti i presupposti.
Risoluzione avanzata dei problemi di ExpressRoute
L'isolamento dei componenti Azure può risultare complesso se non si è certi del punto in cui si trova il bordo del cloud. Con ExpressRoute, la rete perimetrale è un componente di rete denominato Microsoft Enterprise Edge (MSEE). Il MSEE è il primo punto di contatto nella rete Microsoft e l'ultimo hop quando la lascia. Quando si crea una connessione tra il gateway di rete virtuale e il circuito ExpressRoute, ci si connette a MSEE. Il riconoscimento di MSEE come primo o ultimo hop è fondamentale per isolare un problema di rete Azure. Conoscere la direzione del traffico consente di determinare se il problema si trova in Azure o in un altro downstream nella rete WAN o aziendale.
Annotazioni
MSEE non si trova nel cloud Azure. ExpressRoute si trova al perimetro della rete Microsoft, non in realtà in Azure. Dopo aver stabilito la connessione con ExpressRoute a un MSEE, si è connessi alla rete Microsoft, permettendo l'accesso a servizi cloud come Microsoft 365 (con peering Microsoft) o Azure (con peering privato e/o Microsoft).
Se due reti virtuali sono connesse al circuito same ExpressRoute, è possibile eseguire test per isolare il problema in Azure.
Piano di test
Eseguire il test Get-LinkPerformance tra VM1 e VM2. Questo test fornisce informazioni dettagliate sul fatto che il problema sia locale. Se il test produce risultati di latenza e larghezza di banda accettabili, è possibile contrassegnare la rete virtuale locale come valida.
Supponendo che il traffico di rete virtuale locale sia valido, eseguire il test Get-LinkPerformance tra VM1 e VM3. Questo test esegue la connessione tramite la rete Microsoft fino a MSEE e torna a Azure. Se il test produce risultati di latenza e larghezza di banda accettabili, è possibile contrassegnare la rete Azure come valida.
Se Azure viene escluso, eseguire test simili nella rete aziendale. Se questi test sono validi, collaborare con il provider di servizi o l'ISP per diagnosticare la connessione WAN. Ad esempio, eseguire test tra due succursali o tra la scrivania e un server del data center. Trova endpoint come server e PC client che possono percorrere il percorso di test.
Importante
Per ogni test, contrassegnare l'ora del giorno e registrare i risultati in una posizione comune. Ogni esecuzione di test deve avere un output identico per il confronto coerente dei dati. La coerenza tra più test è il motivo principale per l'uso di AzureCT per la risoluzione dei problemi. La chiave è ottenere un output di test e dati coerente ogni volta. Registrare il tempo e avere dati coerenti è particolarmente utile se il problema è sporadico. Essere diligenti con la raccolta dei dati in anticipo per evitare ore di ripetere gli stessi scenari.
Il problema è isolato, ora cosa?
Più si isola il problema, più velocemente è possibile trovare una soluzione. In alcuni casi, si raggiunge un punto in cui non è possibile proseguire con la risoluzione dei problemi. Ad esempio, potrebbe accadere che il collegamento del tuo provider di servizi faccia dei passaggi attraverso l'Europa quando ti aspetti che rimanga in Asia. A questo punto, contattare un utente per ottenere assistenza in base al dominio di routing a cui è stato isolato il problema. Restringerlo a un componente specifico è ancora meglio.
Per problemi di rete aziendale, il reparto IT interno o il provider di servizi può essere utile per la configurazione del dispositivo o la riparazione hardware.
Per i problemi della rete WAN, condividere i risultati dei test con il provider di servizi o l'ISP per aiutarli a lavorare ed evitare attività ridondanti. Potrebbero voler verificare i risultati in base al principio di attendibilità, ma verificare.
Per Azure problemi, dopo aver isolato il problema nel modo più dettagliato possibile, esaminare la documentazione di rete Azure e, se necessario, oprire un ticket di supporto.
Riferimenti
Aspettative di latenza e larghezza di banda
Suggerimento
La distanza geografica tra endpoint è il fattore più grande di latenza. Sebbene anche la latenza delle apparecchiature (componenti fisici e virtuali, numero di hop e altri fattori) incida, il principale fattore determinante è la lunghezza del collegamento in fibra, non la distanza in linea d’aria. Questa distanza è difficile da misurare in modo accurato, quindi usare un calcolatore della distanza della città per una stima approssimativa.
Ad esempio, si imposta un ExpressRoute a Seattle, Washington, USA. La tabella seguente illustra la latenza e la larghezza di banda che si osservano durante il test in diverse posizioni Azure, insieme alle distanze stimate.
Configurazione dei test:
Un server fisico che esegue Windows Server 2016 con una scheda di interfaccia di rete da 10 Gbps, connessa a un circuito ExpressRoute.
Circuito ExpressRoute Premium da 10 Gbps con peering privato abilitato.
Una rete virtuale Azure con un gateway UltraPerformance nell'area specificata.
Una macchina virtuale DS5v2 che esegue Windows Server 2016 nella rete virtuale usando l'immagine di Azure predefinita con AzureCT installata.
Tutti i test usano il comando azureCT Get-LinkPerformance con un test di carico di 5 minuti per ognuna delle sei esecuzioni di test. Per esempio:
Get-LinkPerformance -RemoteHost 10.0.0.1 -TestSeconds 300Il flusso di dati per ogni test proviene dal server locale (client iPerf a Seattle) alla macchina virtuale Azure (server iPerf nell'area Azure elencata).
La colonna "Latency" mostra i dati del test no load (test di latenza TCP senza iPerf in esecuzione).
La colonna "Larghezza di banda massima" mostra i dati del test di carico su 16 flussi TCP con una dimensione della finestra di 1 MB.
Risultati della latenza e della larghezza di banda
Importante
Usare questi numeri solo per riferimento generale. Molti fattori influiscono sulla latenza e, mentre questi valori sono in genere coerenti nel tempo, le condizioni all'interno di Azure o la rete del provider di servizi possono cambiare, influenzando la latenza e la larghezza di banda. In genere, queste modifiche non comportano differenze significative.
| Posizione ExpressRoute | regione Azure | Distanza stimata (km) | Latenza | 1 Larghezza di banda della sessione | Larghezza di banda massima |
|---|---|---|---|---|---|
| Seattle | West US 2 (Regione Ovest degli Stati Uniti 2) | 191 km | 5 ms | 262,0 Mbits/sec | 3,74 Gbits/sec |
| Seattle | Stati Uniti occidentali | 1.094 km | 18 ms | 82,3 Mbits/sec | 3,70 Gbits/sec |
| Seattle | Stati Uniti centrali | 2.357 km | 40 ms | 38,8 Mbits/sec | 2,55 Gbits/sec |
| Seattle | Stati Uniti centro-meridionali | 2.877 km | 51 ms | 30,6 Mbits/sec | 2,49 Gbits/sec |
| Seattle | Stati Uniti centro-settentrionali | 2.792 km | 55 ms | 27,7 Mbits/sec | 2,19 Gbits/sec |
| Seattle | Stati Uniti orientali 2 | 3.769 km | 73 ms | 21,3 Mbits/sec | 1,79 Gbits/sec |
| Seattle | Stati Uniti orientali | 3.699 km | 74 ms | 21,1 Mbits/sec | 1,78 Gbits/sec |
| Seattle | Japan East | 7.705 km | 106 ms | 14,6 Mbits/sec | 1,22 Gbits/sec |
| Seattle | UK South | 7.708 km | 146 ms | 10,6 Mbits/sec | 896 Mbits/sec |
| Seattle | West Europe | 7.834 km | 153 ms | 10,2 Mbits/sec | 761 Mbits/sec |
| Seattle | Australia orientale | 12.484 km | 165 ms | 9,4 Mbits/sec | 794 Mbits/sec |
| Seattle | Sud-est asiatico | 12.989 km | 170 ms | 9,2 Mbits/sec | 756 Mbits/sec |
| Seattle | Brasile meridionale * | 10.930 km | 189 ms | 8,2 Mbits/sec | 699 Mbits/sec |
| Seattle | India meridionale | 12.918 km | 202 ms | 7,7 Mbits/sec | 634 Mbits/sec |
* La latenza per il Brasile è un esempio in cui il percorso in fibra ottica differisce significativamente dalla distanza in linea retta. La latenza prevista è di circa 160 ms, ma in realtà è di 189 ms a causa della route fiber più lunga.
Annotazioni
AzureCT testa questi numeri usando iPerf in Windows tramite PowerShell. iPerf non applica le opzioni TCP predefinite di Windows per il fattore di scala e utilizza un valore di shift inferiore per la dimensione della finestra TCP. Ottimizzando i comandi iPerf usando l'opzione -w e una dimensione maggiore della finestra TCP, è possibile ottenere una velocità effettiva migliore. L'esecuzione di iPerf in modalità multithreading da più computer consente anche di raggiungere le massime prestazioni dei collegamenti. Per ottenere i migliori risultati di iPerf su Windows, usare Set-NetTCPSetting -AutoTuningLevelLocal Experimental. Controllare i criteri dell'organizzazione prima di apportare modifiche.
Passaggi successivi
- Scarica Azure Connectivity Toolkit
- Seguire le istruzioni per test delle prestazioni del collegamento