Routing asimmetrico con più percorsi di rete

Questo articolo illustra in che modo il traffico di rete può accettare percorsi diversi quando sono disponibili più route tra l'origine di rete e la destinazione.

Esistono due concetti che è necessario conoscere per comprendere il routing asimmetrico. Il primo è l'effetto 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 aziendale ha un solo collegamento a Internet tramite un provider di servizi Internet, tutto il traffico da e verso Internet viaggia nello 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 collegamento a Internet e restituisca tramite un collegamento diverso. Questo scenario è comunemente noto come routing asimmetrico. Nel routing asimmetrico, il traffico di rete restituito accetta un percorso diverso 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 sono presenti più percorsi privati che si trovano anche nella stessa destinazione.

Ogni router lungo il percorso tra l'origine e la destinazione calcola il percorso migliore 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. In genere, questi dispositivi esaminano le intestazioni Di Livello 4 - Protocollo TCP (Transmission Control Protocol) o User Datagram Protocol (UDP) o anche layer 7 (Livello 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 i pacchetti per passare 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 ispezione dei pacchetti può comportare un carico di elaborazione elevato sul 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. Gli eventuali pacchetti correlati a questo flusso sono quindi consentiti in base alla determinazione 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 collegamento è la connessione Internet esistente e l'altra tramite la connessione ExpressRoute. Il traffico destinato a Microsoft potrebbe passare attraverso la connessione Internet, ma restituire la connessione ExpressRoute. Lo stesso può verificarsi anche quando il traffico passa su 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 in una rete, si considerino alcuni scenari. Ad esempio, si dispone di un circuito su Internet e si utilizzano tutti i servizi Microsoft tramite Internet. Il traffico dalla rete verso e da Microsoft attraversa lo stesso collegamento Internet e passa attraverso un firewall. Il firewall registra il flusso quando vede il primo pacchetto. Ogni pacchetto che esegue tale conversazione è consentito perché il flusso esiste nella tabella di stato.

Routing asimmetrico con ExpressRoute

Verrà quindi visualizzato un circuito ExpressRoute per l'utilizzo dei servizi offerti da Microsoft tramite ExpressRoute. Tutti gli altri servizi di Microsoft vengono utilizzati tramite Internet. Si distribuisce un firewall separato nella rete perimetrale connessa alla connessione ExpressRoute. Microsoft annuncia prefissi più specifici alla rete tramite ExpressRoute 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 torna attraverso 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 contiene informazioni precedenti su un flusso, elimina tali pacchetti.

Soluzioni per il routing asimmetrico

Sono disponibili due opzioni per risolvere il problema del routing asimmetrico. Il primo avvierà tramite il routing e il secondo consiste nell'usare un nat (SNAT) basato sull'origine.

Routing

Assicurarsi che gli indirizzi IP pubblici siano annunciati ai collegamenti wan (Wide Area Network) appropriati. Ad esempio, se si vuole usare Internet per il traffico di autenticazione ed ExpressRoute per il traffico di posta elettronica. Non annunciare gli indirizzi IP pubblici di Active Directory Federation Services (AD FS) tramite ExpressRoute. Assicurarsi anche di non esporre il server AD FS locale agli 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 della rete, può verificarsi.

Se si vuole usare ExpressRoute per l'autenticazione, assicurarsi di annunciare gli indirizzi IP pubblici di AD FS tramite ExpressRoute senza NAT. Se configurato in questo modo, il traffico proveniente da Microsoft passa al server AD FS locale passerà tramite ExpressRoute. Il traffico di ritorno dalla rete che passa a Microsoft usa ExpressRoute perché è la route preferita su Internet.

Source NAT

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 prevede invece di 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 passa al firewall perimetrale (che viene usato per NAT) anziché tramite ExpressRoute. Di conseguenza, il traffico di ritorno 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 si prevede che il traffico dal server SMTP locale a Microsoft prenda il percorso Internet, il traceroute previsto proviene dal server SMTP a Microsoft 365. Il risultato convalida che il traffico esce effettivamente dalla rete verso Internet e non verso ExpressRoute.