Routing asimmetrico con più percorsi di reteAsymmetric routing with multiple network paths

Questo articolo illustra il modo in cui il traffico di rete di inoltro e di ritorno può seguire route diverse quando sono disponibili più percorsi tra l'origine e la destinazione di rete.This article explains how forward and return network traffic might take different routes when multiple paths are available between network source and destination.

Per comprendere il routing asimmetrico è importante comprendere due concetti,It's important to understand two concepts to understand asymmetric routing. ovvero l'effetto della presenza di più percorsi di reteOne is the effect of multiple network paths. e il modo in cui i dispositivi, ad esempio un firewall, mantengono lo stato.The other is how devices, like a firewall, keep state. Questi tipi di dispositivi sono detti dispositivi con stato.These types of devices are called stateful devices. Una combinazione di questi due fattori crea scenari in cui il traffico di rete viene rilasciato da un dispositivo con stato perché il dispositivo con stato non ha rilevato il traffico originato dal dispositivo stesso.A combination of these two factors creates scenarios in which network traffic is dropped by a stateful device because the stateful device didn't detect that traffic originated with the device itself.

Più percorsi di reteMultiple network paths

Quando una rete aziendale ha un solo collegamento a Internet tramite il provider di servizi Internet, tutto il traffico da e verso Internet passa per lo stesso percorso.When an enterprise network has only one link to the Internet through their Internet service provider, all traffic to and from the Internet travels the same path. Spesso le aziende acquistano più circuiti, per avere percorsi ridondanti e migliorare i tempi di attività della rete.Often, companies purchase multiple circuits, as redundant paths, to improve network uptime. In questo caso è possibile che il traffico in uscita dalla rete, verso Internet, passi attraverso un collegamento e il traffico di ritorno passi attraverso un collegamento diverso.When this happens, it's possible that traffic that goes outside of the network, to the Internet, goes through one link, and the return traffic goes through a different link. Questa approccio viene definito comunemente routing asimmetrico.This is commonly known as asymmetric routing. Nel routing asimmetrico il traffico di rete segue un percorso diverso rispetto al flusso originale.In asymmetric routing, reverse network traffic takes a different path from the original flow.

Rete con più percorsi

Anche se si verifica principalmente su Internet, il routing asimmetrico è applicabile anche ad altre combinazioni di percorsi multipli.Although it primarily occurs on the Internet, asymmetric routing also applies to other combinations of multiple paths. È ad esempio applicabile a un percorso Internet e un percorso privato per la stessa destinazione e a più percorsi privati per la stessa destinazione.It applies, for example, both to an Internet path and a private path that go to the same destination, and to multiple private paths that go to the same destination.

Ogni router lungo il percorso, dall'origine alla destinazione, calcola il percorso migliore per raggiungere una destinazione.Each router along the way, from source to destination, computes the best path to reach a destination. La determinazione del miglior percorso possibile da parte del router si basa su due fattori principali:The router's determination of best possible path is based on two main factors:

  • Il routing tra le reti esterne è basato sul protocollo di routing, ovvero il protocollo BGP (Border Gateway Protocol).Routing between external networks is based on a routing protocol, Border Gateway Protocol (BGP). Il protocollo BGP riceve annunci dai vicini e li sottopone ad alcune procedure per determinare il percorso migliore per la destinazione specificata,BGP takes advertisements from neighbors and runs them through a series of steps to determine the best path to the intended destination. quindi archivia il percorso migliore nella tabella di routing.It stores the best path in its routing table.
  • La lunghezza di una subnet mask associata a una route influenza i percorsi di routing.The length of a subnet mask associated with a route influences routing paths. Se un router riceve più annunci per lo stesso indirizzo IP ma con subnet mask diverse, il router attribuisce la priorità all'annuncio con una subnet mask più lunga perché viene considerata una route più specifica.If a router receives multiple advertisements for the same IP address but with different subnet masks, the router prefers the advertisement with a longer subnet mask because it's considered a more specific route.

Dispositivi con statoStateful devices

I router esaminano l'intestazione di un pacchetto IP per il routing.Routers look at the IP header of a packet for routing purposes. Alcuni dispositivi analizzano i pacchetti in modo più approfondito.Some devices look even deeper inside the packet. Questi dispositivi esaminano in genere le intestazioni di tipo Layer4, ovvero TCP (Transmission Control Protocol) o UDP (User Datagram Protocol) oppure addirittura di tipo Layer7 (livello dell'applicazione).Typically, these devices look at Layer4 (Transmission Control Protocol, or TCP; or User Datagram Protocol, or UDP), or even Layer7 (Application Layer) headers. Si tratta di dispositivi di sicurezza o di dispositivi di ottimizzazione della larghezza di banda.These kinds of devices are either security devices or bandwidth-optimization devices.

Un esempio comune di dispositivo con stato è rappresentato dal firewall.A firewall is a common example of a stateful device. Quest'ultimo consente o nega il passaggio di un pacchetto attraverso le relative interfacce in base a diversi campi quali protocollo, porta TCP/UDP e intestazioni degli URL.A firewall allows or denies a packet to pass through its interfaces based on various fields such as protocol, TCP/UDP port, and URL headers. Questo livello di controllo del pacchetto comporta un carico di elaborazione elevato per il dispositivo.This level of packet inspection puts a heavy processing load on the device. Per migliorare le prestazioni, il firewall controlla il primo pacchetto di un flusso.To improve performance, the firewall inspects the first packet of a flow. Se il passaggio del pacchetto è consentito, conserva le informazioni sul flusso nella tabella dello stato.If it allows the packet to proceed, it keeps the flow information in its state table. Il passaggio di tutti i pacchetti successivi correlati a questo flusso viene consentito in base alla valutazione iniziale.All subsequent packets related to this flow are allowed based on the initial determination. È possibile che un pacchetto incluso in un flusso esistente arrivi al firewall.A packet that is part of an existing flow might arrive at the firewall. Se non ha informazioni precedenti sullo stato del pacchetto, il firewall rilascia il pacchetto.If the firewall has no prior state information about it, the firewall drops the packet.

Routing asimmetrico con ExpressRouteAsymmetric routing with ExpressRoute

Quando ci si connette a Microsoft tramite Azure ExpressRoute, la rete subisce le modifiche seguenti:When you connect to Microsoft through Azure ExpressRoute, your network changes like this:

  • Sono presenti più collegamenti a Microsoft.You have multiple links to Microsoft. Un collegamento è rappresentato dalla connessione Internet esistente, mentre l'altro avviene tramite ExpressRoute.One link is your existing Internet connection, and the other is via ExpressRoute. Parte del traffico diretto a Microsoft può passare per Internet ma tornare tramite ExpressRoute o viceversa.Some traffic to Microsoft might go through the Internet but come back via ExpressRoute, or vice versa.
  • Tramite ExpressRoute si ricevono indirizzi IP più specifici.You receive more specific IP addresses via ExpressRoute. Per il traffico dalla rete a Microsoft per i servizi offerti tramite ExpressRoute, quindi, i router preferiscono sempre ExpressRoute.So, for traffic from your network to Microsoft for services offered via ExpressRoute, routers always prefer ExpressRoute.

Per comprendere l'effetto di queste due modifiche sulla rete, è possibile esaminare alcuni scenari.To understand the effect these two changes have on a network, let’s consider some scenarios. Si supponga ad esempio di avere un solo circuito per Internet e di utilizzare tutti i servizi Microsoft tramite Internet.As an example, you have only one circuit to the Internet and you consume all Microsoft services via the Internet. Il traffico dalla rete a Microsoft e viceversa attraversa lo stesso collegamento Internet e passa per il firewall.The traffic from your network to Microsoft and back traverses the same Internet link and passes through the firewall. Il firewall registra il flusso non appena rileva il primo pacchetto e ai pacchetti di ritorno viene consentito il passaggio perché il flusso è già presente nella tabella dello stato.The firewall records the flow as it sees the first packet and return packets are allowed because the flow exists in the state table.

Routing asimmetrico con ExpressRoute

A questo punto si abilita ExpressRoute e si utilizzano i servizi offerti da Microsoft tramite ExpressRoute.Then, you turn on ExpressRoute and consume services offered by Microsoft over ExpressRoute. Tutti gli altri servizi Microsoft vengono utilizzati tramite Internet.All other services from Microsoft are consumed over the Internet. Si distribuisce un firewall di confine separato connesso a ExpressRoute.You deploy a separate firewall at your edge that is connected to ExpressRoute. Tramite ExpressRoute, Microsoft annuncia alla rete prefissi più specifici per servizi specifici.Microsoft advertises more specific prefixes to your network over ExpressRoute for specific services. Per tali prefissi l'infrastruttura di routing sceglie ExpressRoute come percorso preferito.Your routing infrastructure chooses ExpressRoute as the preferred path for those prefixes. Se gli indirizzi IP pubblici non vengono annunciati a Microsoft tramite ExpressRoute, Microsoft comunica con gli indirizzi IP pubblici tramite Internet.If you are not advertising your public IP addresses to Microsoft over ExpressRoute, Microsoft communicates with your public IP addresses via the Internet. Il traffico inoltrato dalla rete a Microsoft usa ExpressRoute e il traffico di ritorno da Microsoft usa Internet.Forward traffic from your network to Microsoft uses ExpressRoute, and reverse traffic from Microsoft uses the Internet. Quando il firewall di confine rileva un pacchetto di risposta per un flusso non presente nella tabella dello stato, elimina il traffico di ritorno.When the firewall at the edge sees a response packet for a flow that it does not find in the state table, it drops the return traffic.

Se si sceglie di usare lo stesso pool NAT (Network Address Translation) sia per ExpressRoute che per Internet, si verificano problemi simili con i client negli indirizzi IP privati della rete.If you choose to use the same network address translation (NAT) pool for ExpressRoute and for the Internet, you'll see similar issues with the clients in your network on private IP addresses. La richiesta di servizi come Windows Update passa per Internet, poiché gli indirizzi IP per questi servizi non vengono annunciati tramite ExpressRoute.Requests for services like Windows Update go via the Internet because IP addresses for these services are not advertised via ExpressRoute. Tuttavia, il traffico di ritorno passa per ExpressRoute.However, the return traffic comes back via ExpressRoute. Se Microsoft riceve un indirizzo IP con la stessa subnet mask da Internet e da ExpressRoute, preferisce ExpressRoute a Internet.If Microsoft receives an IP address with the same subnet mask from the Internet and ExpressRoute, it prefers ExpressRoute over the Internet. Se un firewall o un altro dispositivo con stato al confine della rete e connesso a ExpressRoute non ha informazioni precedenti sul flusso, elimina i pacchetti che appartengono a tale flusso.If a firewall or another stateful device that is on your network edge and facing ExpressRoute has no prior information about the flow, it drops the packets that belong to that flow.

Soluzioni per il routing asimmetricoAsymmetric routing solutions

Sono disponibili due opzioni principali per risolvere il problema del routing asimmetrico,You have two main options to solve the problem of asymmetric routing. ovvero il routing e l'uso di Source NAT.One is through routing, and the other is by using source-based NAT (SNAT).

RoutingRouting

Assicurarsi che gli indirizzi IP pubblici vengano annunciati ai collegamenti WAN (Wide Area Network) appropriati.Ensure that your public IP addresses are advertised to appropriate wide area network (WAN) links. Se ad esempio si vuole usare Internet per il traffico di autenticazione ed ExpressRoute per il traffico di posta elettronica, è necessario non annunciare gli indirizzi IP pubblici di Active Directory Federation Services (AD FS) tramite ExpressRoute.For example, if you want to use the Internet for authentication traffic and ExpressRoute for your mail traffic, you should not advertise your Active Directory Federation Services (AD FS) public IP addresses over ExpressRoute. È analogamente necessario non esporre alcun server AD FS locale per gli indirizzi IP ricevuti dal router tramite ExpressRoute.Similarly, be sure not to expose an on-premises AD FS server to IP addresses that the router receives over ExpressRoute. Le route ricevute tramite ExpressRoute sono più specifiche. Questo fa di ExpressRoute il percorso preferito per il traffico di autenticazione diretto a Microsoft,Routes received over ExpressRoute are more specific so they make ExpressRoute the preferred path for authentication traffic to Microsoft. dando luogo al routing asimmetrico.This causes asymmetric routing.

Per usare ExpressRoute per l'autenticazione, è necessario assicurarsi che gli indirizzi IP pubblici AD FS vengano annunciati tramite ExpressRoute senza NAT.If you want to use ExpressRoute for authentication, make sure that you are advertising AD FS public IP addresses over ExpressRoute without NAT. In questo modo il traffico proveniente da Microsoft e diretto a un server AD FS locale passa attraverso ExpressRoute.This way, traffic that originates from Microsoft and goes to an on-premises AD FS server goes over ExpressRoute. Il traffico di ritorno dal cliente a Microsoft usa ExpressRoute perché questa è la route predefinita su Internet.Return traffic from customer to Microsoft uses ExpressRoute because it's the preferred route over the Internet.

Source NATSource-based NAT

È possibile risolvere i problemi del routing asimmetrico anche tramite SNAT.Another way of solving asymmetric routing issues is by using SNAT. Si supponga ad esempio che l'indirizzo IP pubblico di un server SMTP (Simple Mail Transfer Protocol) locale non sia stato annunciato tramite ExpressRoute perché si intende usare Internet per questo tipo di comunicazioni.For example, you have not advertised the public IP address of an on-premises Simple Mail Transfer Protocol (SMTP) server over ExpressRoute because you intend to use the Internet for this type of communication. Una richiesta originata da Microsoft e diretta al server SMTP locale attraversa Internet.A request that originates with Microsoft and then goes to your on-premises SMTP server traverses the Internet. Tramite SNAT la richiesta in ingresso viene inviata a un indirizzo IP interno.You SNAT the incoming request to an internal IP address. Il traffico inverso dal server SMTP viene indirizzato al firewall di confine, usato per NAT, invece che a ExpressRoute.Reverse traffic from the SMTP server goes to the edge firewall (which you use for NAT) instead of through ExpressRoute. Il traffico di ritorno viene restituito tramite Internet.The return traffic goes back via the Internet.

Configurazione della rete con Source NAT

Rilevamento del routing asimmetricoAsymmetric routing detection

Il modo migliore per assicurarsi che il traffico attraversi il percorso previsto è il comando traceroute.Traceroute is the best way to make sure that your network traffic is traversing the expected path. Se il traffico dal server SMTP locale a Microsoft deve passare per Internet, eseguire il comando traceroute dal server SMTP a Office 365.If you expect traffic from your on-premises SMTP server to Microsoft to take the Internet path, the expected traceroute is from the SMTP server to Office 365. Il risultato permette di verificare che il traffico in uscita dalla rete sia effettivamente diretto verso Internet e non verso ExpressRoute.The result validates that traffic is indeed leaving your network toward the Internet and not toward ExpressRoute.