Routing asimmetrico con più percorsi di rete

Questo articolo illustra il modo in cui il traffico di rete può seguire percorsi differenti quando sono disponibili differenti percorsi tra l'origine e la destinazione di rete.

Nota

  • Questo articolo illustra i problemi che possono verificarsi con il routing asimmetrico in una rete con più collegamenti a una destinazione. Non deve essere usato come riferimento per la progettazione di una rete con routing asimmetrico, perché Microsoft non consiglia o supporta questa architettura.

Esistono due concetti che è necessario conoscere per comprendere il routing asimmetrico. Il primo è l'effetto della presenza di più percorsi di rete. L’altro è il modo in cui i dispositivi, ad esempio un firewall, mantengono lo stato. Questi tipi di dispositivi sono detti dispositivi con stato. Quando questi due fattori vengono combinati, possono creare uno scenario in cui il traffico di rete viene eliminato dal dispositivo con stato. Il traffico viene eliminato perché non ha rilevato che il traffico ha avuto origine da se stesso.

Più percorsi di rete

Quando una rete Enterprise ha un solo link a Internet tramite un provider di servizi Internet, tutto il traffico da e verso Internet passa per lo stesso percorso. È comune che le aziende acquistano più circuiti per creare percorsi ridondanti per migliorare il tempo di attività della rete. Con questo tipo di configurazione è possibile che il traffico esce da un link a Internet e restituisca tramite un link differente. Questa scenario viene definito comunemente routing asimmetrico. Nel routing asimmetrico, il traffico di rete restituito accetta un percorso differente rispetto al flusso originale in uscita.

Rete con più percorsi

Anche se il routing asimmetrico si verifica in genere quando si passa a Internet. Si verifica anche quando viene introdotta una combinazione di più percorsi. Il primo esempio è quando si dispone di un percorso Internet e di un percorso privato che passa alla stessa destinazione. Il secondo esempio è quando si hanno più percorsi privati che passano anche alla stessa destinazione.

Ogni router lungo il percorso tra l'origine e la destinazione calcola il percorso migliore da intraprendere per raggiungere la destinazione. Il router determina il percorso migliore possibile in base a due fattori principali:

  • Il routing tra le reti esterne è basato sul protocollo di routing, ovvero il protocollo BGP (Border Gateway Protocol). Il protocollo BGP riceve annunci dai vicini e li sottopone ad alcune procedure per determinare il percorso migliore per la destinazione specificata, quindi archivia il percorso migliore nella tabella di routing.
  • La lunghezza di una subnet mask associata a una route influenza i percorsi di routing. Se un router riceve più annunci per lo stesso indirizzo IP, il router seleziona il percorso con la subnet mask più lunga perché viene considerata una route più specifica.

Dispositivi con stato

I router esaminano l'intestazione di un pacchetto IP per il routing. Alcuni dispositivi analizzano i pacchetti in modo più approfondito. Questi dispositivi esaminano in genere le intestazioni di tipo Layer 4: Transmission Control Protocol (TCP) o User Datagram Protocol (UDP) oppure addirittura di tipo Layer7 (livello dell'applicazione). Si tratta di dispositivi di sicurezza o di dispositivi di ottimizzazione della larghezza di banda.

Un esempio comune di dispositivo con stato è rappresentato dal firewall. Un firewall consente o rifiuta il passaggio di pacchetti attraverso le relative interfacce in base a vari criteri. Questi criteri includono, ma non sono limitati al protocollo, alla porta TCP/UDP e alle intestazioni URL. Questo livello di controllo del pacchetto può comportare un carico di elaborazione elevato per il dispositivo.

Per migliorare le prestazioni, il firewall controlla il primo pacchetto di un flusso. Se consente al pacchetto di passare attraverso le relative interfacce, mantiene le informazioni sul flusso nella tabella di stato. I pacchetti successivi correlati a questo flusso sono quindi consentiti in base alla valutazione iniziale. Un pacchetto che fa parte di un flusso esistente può arrivare al firewall da cui non ha avuto origine. Poiché non dispone di informazioni sullo stato precedenti sul flusso iniziale, il firewall elimina il pacchetto.

Routing asimmetrico con ExpressRoute

Quando ci si connette a Microsoft tramite Azure ExpressRoute, la rete subisce le modifiche seguenti:

  • Sono presenti più collegamenti a Microsoft. Un link è la connessione Internet esistente e l'altro tramite la connessione ExpressRoute. Il traffico destinato a Microsoft potrebbe attraversare la connessione Internet, ma restituire la connessione ExpressRoute. Lo stesso può verificarsi anche quando il traffico passa attraverso ExpressRoute ma restituisce il percorso Internet.
  • Sono stati ricevuti indirizzi IP più specifici dal circuito ExpressRoute. Pertanto, quando il traffico dalla rete passa a Microsoft per i servizi offerti tramite ExpressRoute, i router preferiscono sempre la connessione ExpressRoute.

Per comprendere l'effetto di queste due modifiche sulla rete, è possibile esaminare alcuni scenari. Si supponga ad esempio di avere un circuito per Internet e di utilizzare tutti i servizi Microsoft tramite Internet. Il traffico dalla rete a Microsoft e viceversa attraversa lo stesso link Internet e passa per un firewall. Il firewall registra il flusso quando vede il primo pacchetto. Ogni pacchetto che ha seguito la conversazione è consentito perché il flusso esiste nella tabella di stato.

Routing asimmetrico con ExpressRoute

Si apre quindi un circuito ExpressRoute per utilizzare i servizi offerti da Microsoft tramite ExpressRoute. Tutti gli altri servizi Microsoft vengono utilizzati tramite Internet. Si distribuisce un firewall di confine separato connesso a ExpressRoute. Tramite ExpressRoute, Microsoft annuncia alla rete prefissi più specifici per determinati servizi. Per tali prefissi l'infrastruttura di routing sceglie ExpressRoute come percorso preferito.

Se non si annunciano gli indirizzi IP pubblici a Microsoft tramite ExpressRoute. Microsoft comunica con gli indirizzi IP pubblici tramite Internet. Il traffico inviato dalla rete a Microsoft usa la connessione ExpressRoute, ma il traffico restituito da Microsoft usa il percorso Internet. Quando il firewall al perimetro vede un pacchetto di risposta per un flusso che non conosce, elimina tali pacchetti.

Se si sceglie di annunciare lo stesso pool NAT (Network Address Translation) per ExpressRoute e per Internet. Si verificano problemi simili con i client nella rete in indirizzi IP privati. Le richieste di servizi come Windows Update passano attraverso Internet perché gli indirizzi IP per questi servizi non vengono annunciati tramite ExpressRoute. Tuttavia, il traffico di ritorno passa per ExpressRoute. Poiché Microsoft ha ricevuto un indirizzo IP con la stessa subnet mask da Internet ed ExpressRoute, il percorso preferito è sempre ExpressRoute. Se un firewall o un altro dispositivo con stato nella rete perimetrale con connessione ExpressRoute non dispone di informazioni precedenti su un flusso, elimina tali pacchetti.

Soluzioni per il routing asimmetrico

Sono disponibili due opzioni disponibili per risolvere il problema del routing asimmetrico. Il primo consiste nel routing e il secondo consiste nell'usare una NAT basata su origine (SNAT).

Definizione dei percorsi di trasferimento

Assicurarsi che gli indirizzi IP pubblici vengano annunciati ai collegamenti WAN (Wide Area Network) appropriati. Ad esempio, se si desidera usare Internet per il traffico di autenticazione ed ExpressRoute per il traffico di e-mail. Non annunciare gli indirizzi IP pubblici di Active Directory Federation Services (AD FS) tramite ExpressRoute. Accertarsi inoltre di non esporre il server AD FS locale per gli indirizzi IP ricevuti dal router tramite ExpressRoute. Le route ricevute tramite ExpressRoute sono più specifiche. Questo fa di ExpressRoute il percorso preferito per il traffico di autenticazione diretto a Microsoft, Se non si presta attenzione al modo in cui il routing viene eseguito nei problemi di routing asimmetrico di rete può verificarsi.

Per usare ExpressRoute per l'autenticazione, è necessario assicurarsi che gli indirizzi IP pubblici AD FS vengano annunciati tramite ExpressRoute senza NAT. Se configurato in questo modo, il traffico proveniente da Microsoft passa al server AD FS locale passa attraverso ExpressRoute. Il traffico di ritorno dalla rete verso Microsoft usa ExpressRoute perché questa è la route predefinita su Internet.

NAT basato sull'origine

Un altro modo per risolvere il problema di routing asimmetrico consiste nell'usare SNAT. Ad esempio, si sceglie di non annunciare l'indirizzo IP pubblico di un server SMTP (Simple Mail Transfer Protocol) locale tramite ExpressRoute. Si intende invece usare Internet per questo tipo di comunicazione. Una richiesta proveniente da Microsoft e diretta al server SMTP locale attraversa Internet. Tramite SNAT la richiesta in ingresso viene inviata a un indirizzo IP interno. Il traffico di ritorno dal server SMTP viene indirizzato al firewall di confine, usato per NAT, invece che a ExpressRoute. Di conseguenza, il traffico restituito accetta il percorso Internet.

Configurazione della rete con Source NAT

Rilevamento del routing asimmetrico

Il modo migliore per assicurarsi che il traffico attraversi il percorso previsto è il comando traceroute. Se il traffico dal server SMTP locale a Microsoft deve passare per Internet, eseguire il comando traceroute dal server SMTP a Microsoft 365. Il risultato permette di verificare che il traffico in uscita dalla rete sia effettivamente diretto verso Internet e non verso ExpressRoute.