Optimiser le routage ExpressRouteOptimize ExpressRoute Routing

En présence de plusieurs circuits ExpressRoute, vous pouvez vous connecter à Microsoft par le biais de plusieurs chemins d’accès.When you have multiple ExpressRoute circuits, you have more than one path to connect to Microsoft. Par conséquent, le routage pourrait ne pas être optimal. Autrement dit, votre trafic peut emprunter un chemin d’accès plus long pour atteindre Microsoft ; Microsoft peut faire de même pour atteindre votre réseau.As a result, suboptimal routing may happen - that is, your traffic may take a longer path to reach Microsoft, and Microsoft to your network. Plus le chemin d’accès réseau est long, plus la latence est élevée.The longer the network path, the higher the latency. La latence a un impact direct sur les performances d’application ainsi que sur l’expérience utilisateur.Latency has direct impact on application performance and user experience. Cet article aborde ce problème et explique comment optimiser le routage à l’aide des technologies de routage standard.This article will illustrate this problem and explain how to optimize routing using the standard routing technologies.

Sélection du chemin sur les peerings Microsoft et publicsPath Selection on Microsoft and Public peerings

Il est important de s’assurer que lors de l’utilisation du peering Microsoft ou public, le trafic transite par le chemin souhaité si vous disposez d’un ou de plusieurs circuits ExpressRoute, ainsi que de chemins d’accès à Internet via un échange Internet (IX) ou un fournisseur de services Internet (ISP).It's important to ensure that when utilizing Microsoft or Public peering that traffic flows over the desired path if you have one or more ExpressRoute circuits, as well as paths to the Internet via an Internet Exchange (IX) or Internet Service Provider (ISP). BGP utilise un algorithme de sélection de chemin optimal basé sur un certain nombre de facteurs, notamment la correspondance de préfixe la plus longue.BGP utilizes a best path selection algorithm based on a number of factors including longest prefix match (LPM). Pour s’assurer que le trafic destiné à Azure via le peering Microsoft ou public traverse le chemin ExpressRoute, les clients doivent implémenter l’attribut Local Preference pour s’assurer que le chemin est toujours préféré sur ExpressRoute.To ensure that traffic destined for Azure via Microsoft or Public peering traverses the ExpressRoute path, customers must implement the Local Preference attribute to ensure that the path is always preferred on ExpressRoute.

Notes

La préférence locale par défaut est généralement 100.The default local preference is typically 100. Les préférences locales plus élevées sont privilégiées.Higher local preferences are more preferred.

Examinez l’exemple de scénario suivant :Consider the following example scenario:

Scénario ExpressRoute n° 1 : routage non optimal entre le client et Microsoft

Dans l’exemple ci-dessus, pour préférer les chemins ExpressRoute, configurez la préférence locale comme suit.In the above example, to prefer ExpressRoute paths configure Local Preference as follows.

Configuration Cisco IOS-XE du point de vue R1 :Cisco IOS-XE configuration from R1 perspective:

R1(config)#route-map prefer-ExR permit 10
R1(config-route-map)#set local-preference 150

R1(config)#router BGP 345
R1(config-router)#neighbor 1.1.1.2 remote-as 12076
R1(config-router)#neighbor 1.1.1.2 activate
R1(config-router)#neighbor 1.1.1.2 route-map prefer-ExR in

Configuration Junos du point de vue R1 :Junos configuration from R1 perspective:

user@R1# set protocols bgp group ibgp type internal
user@R1# set protocols bgp group ibgp local-preference 150

Routage non optimal entre le client et MicrosoftSuboptimal routing from customer to Microsoft

Voici un exemple de problème de routage.Let's take a close look at the routing problem by an example. Imaginez que vous disposez de deux bureaux aux États-Unis, un à Los Angeles et un à New York.Imagine you have two offices in the US, one in Los Angeles and one in New York. Vos bureaux sont connectés sur un réseau étendu (WAN), qui peut être votre propre réseau principal ou le VPN IP de votre fournisseur de services.Your offices are connected on a Wide Area Network (WAN), which can be either your own backbone network or your service provider's IP VPN. Vous avez deux circuits ExpressRoute également connectés sur le réseau étendu, l’un dans USA Ouest et l’autre dans USA Est.You have two ExpressRoute circuits, one in US West and one in US East, that are also connected on the WAN. Vous avez bien évidemment deux chemins d’accès pour vous connecter au réseau Microsoft.Obviously, you have two paths to connect to the Microsoft network. Imaginez à présent que vous déployiez un service Azure (par exemple, Azure App Service) dans les régions USA Ouest et USA Est.Now imagine you have Azure deployment (for example, Azure App Service) in both US West and US East. Vous avez pour objectif de connecter vos utilisateurs de Los Angeles à la région Azure USA Ouest et les utilisateurs de New York à la région Azure USA Est, car selon votre administrateur de service, les utilisateurs de chaque bureau doivent accéder aux services Azure les plus proches pour une expérience optimale.Your intention is to connect your users in Los Angeles to Azure US West and your users in New York to Azure US East because your service admin advertises that users in each office access the nearby Azure services for optimal experiences. Malheureusement, le plan fonctionne bien pour les utilisateurs de la côte Est, mais pas pour ceux de la côte Ouest.Unfortunately, the plan works out well for the east coast users but not for the west coast users. La cause du problème est la suivante.The cause of the problem is the following. Sur chaque circuit ExpressRoute, nous publions le préfixe dans la région Azure USA Est (23.100.0.0/16) et dans la région Azure USA Ouest (13.100.0.0/16).On each ExpressRoute circuit, we advertise to you both the prefix in Azure US East (23.100.0.0/16) and the prefix in Azure US West (13.100.0.0/16). Si vous ne savez pas à quelle région correspond chaque préfixe, vous ne pourrez pas le traiter différemment.If you don't know which prefix is from which region, you are not able to treat it differently. Votre réseau WAN peut penser que les deux préfixes sont plus proches des régions USA Est et USA Ouest et donc router les utilisateurs des deux bureaux vers le circuit ExpressRoute dans la région USA Est.Your WAN network may think both of the prefixes are closer to US East than US West and therefore route both office users to the ExpressRoute circuit in US East. Au final, vous risquez d’avoir des utilisateurs mécontents dans vos bureaux de Los Angeles.In the end, you will have many unhappy users in the Los Angeles office.

Scénario ExpressRoute n° 1 : routage non optimal entre le client et Microsoft

Solution : utilisez des communautés BGPSolution: use BGP Communities

Pour optimiser le routage pour les utilisateurs des deux bureaux, vous devez savoir faire la différence entre le préfixe de la région Azure USA Ouest et celui de la région Azure USA Est.To optimize routing for both office users, you need to know which prefix is from Azure US West and which from Azure US East. Nous encodons ces informations à l’aide des valeurs de communauté BGP.We encode this information by using BGP Community values. Nous avons affecté une valeur de Communauté BGP unique à chaque région Azure, par exemple : « 12076:51004 » pour USA Est et « 12076:51006 » pour USA Ouest.We've assigned a unique BGP Community value to each Azure region, e.g. "12076:51004" for US East, "12076:51006" for US West. À présent que vous savez à quelles régions Azure correspondent les préfixes, vous pouvez configurer les préférences de circuit ExpressRoute.Now that you know which prefix is from which Azure region, you can configure which ExpressRoute circuit should be preferred. Étant donné que nous utilisons le protocole BGP pour échanger des informations de routage, vous pouvez utiliser les préférences locales du protocole BGP pour influencer le routage.Because we use the BGP to exchange routing info, you can use BGP's Local Preference to influence routing. Dans notre exemple, vous pouvez affecter, dans la région USA Ouest, une valeur de préférence locale supérieure à celle de la région USA Est (13.100.0.0/16) et vice-versa dans la région USA Est (23.100.0.0/16).In our example, you can assign a higher local preference value to 13.100.0.0/16 in US West than in US East, and similarly, a higher local preference value to 23.100.0.0/16 in US East than in US West. Cette configuration permet de garantir que, lorsque les deux chemins d’accès à Microsoft sont disponibles, vos utilisateurs de Los Angeles prendront le circuit ExpressRoute dans la région USA Ouest pour se connecter à Azure dans cette région, tandis que vos utilisateurs de New York prendront le circuit ExpressRoute dans la région USA Est vers Azure dans cette région.This configuration will make sure that, when both paths to Microsoft are available, your users in Los Angeles will take the ExpressRoute circuit in US West to connect to Azure US West whereas your users in New York take the ExpressRoute in US East to Azure US East. Le routage est optimisé des deux côtés.Routing is optimized on both sides.

Solution ExpressRoute n° 1 : utilisez des communautés BGP

Notes

La même technique peut être appliquée pour le routage entre le client et le réseau virtuel Azure, en utilisant les préférences locales.The same technique, using Local Preference, can be applied to routing from customer to Azure Virtual Network. Nous ne balisons pas la valeur de communauté BGP sur les préfixes publiés à partir d’Azure sur votre réseau.We don't tag BGP Community value to the prefixes advertised from Azure to your network. Toutefois, étant donné que vous savez à quel déploiement de réseau virtuel correspond quel bureau, vous pouvez configurer vos routeurs en conséquence pour privilégier un circuit ExpressRoute plutôt qu’un autre.However, since you know which of your Virtual Network deployment is close to which of your office, you can configure your routers accordingly to prefer one ExpressRoute circuit to another.

Routage non optimal entre Microsoft et le clientSuboptimal routing from Microsoft to customer

Voici un autre exemple dans lequel les connexions en provenance de Microsoft prennent un chemin plus long pour atteindre votre réseau.Here is another example where connections from Microsoft take a longer path to reach your network. Dans ce cas, vous utilisez des serveurs Exchange locaux et Exchange Online dans un environnement hybride.In this case, you use on-premises Exchange servers and Exchange Online in a hybrid environment. Vos bureaux sont connectés à un réseau étendu.Your offices are connected to a WAN. Vous publiez vers Microsoft les préfixes des serveurs locaux de vos deux bureaux par le biais des deux circuits ExpressRoute.You advertise the prefixes of your on-premises servers in both of your offices to Microsoft through the two ExpressRoute circuits. Dans certains cas, tels que la migration de boîte aux lettres, Exchange Online lance les connexions aux serveurs locaux.Exchange Online will initiate connections to the on-premises servers in cases such as mailbox migration. Malheureusement, la connexion à votre bureau de Los Angeles est routée au circuit ExpressRoute dans la région USA Est, puis retraverse l’ensemble du pays avant d’atteindre la côte ouest.Unfortunately, the connection to your Los Angeles office is routed to the ExpressRoute circuit in US East before traversing the entire continent back to the west coast. L’origine du problème est similaire au premier cas.The cause of the problem is similar to the first one. En l’absence d’indicateur, le réseau Microsoft ne peut pas déterminer quel préfixe est le plus proche de la côte Ouest et de la côte Est.Without any hint, the Microsoft network can't tell which customer prefix is close to US East and which one is close to US West. Malheureusement, il choisit le mauvais chemin vers votre bureau de Los Angeles.It happens to pick the wrong path to your office in Los Angeles.

Scénario ExpressRoute n° 2 : routage non optimal entre Microsoft et le client

Solution : ajoutez le préfixe AS PATHSolution: use AS PATH prepending

Il existe deux solutions à ce problème.There are two solutions to the problem. La première consiste simplement à publier votre préfixe local pour le bureau de Los Angeles (177.2.0.0/31) sur le circuit ExpressRoute dans la région USA Ouest et celui pour le bureau de New York (177.2.0.2/31) sur le circuit ExpressRoute dans la région USA Est.The first one is that you simply advertise your on-premises prefix for your Los Angeles office, 177.2.0.0/31, on the ExpressRoute circuit in US West and your on-premises prefix for your New York office, 177.2.0.2/31, on the ExpressRoute circuit in US East. Par conséquent, Microsoft ne dispose que d’un seul chemin d’accès pour se connecter à chacun de vos sites.As a result, there is only one path for Microsoft to connect to each of your offices. Il n’existe aucune ambiguïté et le routage est optimisé.There is no ambiguity and routing is optimized. Avec cette conception, vous devez réfléchir à votre stratégie de basculement.With this design, you need to think about your failover strategy. Dans le cas où le chemin d’accès à Microsoft via ExpressRoute est interrompu, vous devez vous assurer qu’Exchange Online peut toujours se connecter à vos serveurs locaux.In the event that the path to Microsoft via ExpressRoute is broken, you need to make sure that Exchange Online can still connect to your on-premises servers.

La deuxième solution est de continuer à publier les deux préfixes sur les deux circuits ExpressRoute, tout en nous indiquant quel préfixe correspond à chacun de vos bureaux.The second solution is that you continue to advertise both of the prefixes on both ExpressRoute circuits, and in addition you give us a hint of which prefix is close to which one of your offices. Étant donné que nous prenons en charge l’ajout de préfixe AS PATH BGP, vous pouvez configurer l’AS PATH pour influencer le routage.Because we support BGP AS Path prepending, you can configure the AS Path for your prefix to influence routing. Dans cet exemple, vous pouvez allonger le chemin AS PATH pour 172.2.0.0/31 dans la région USA Est pour que nous privilégiions le circuit ExpressRoute dans la région USA Ouest pour le trafic destiné à ce préfixe ; notre réseau pensera que le chemin d’accès pour ce préfixe est plus court dans l’Ouest.In this example, you can lengthen the AS PATH for 172.2.0.0/31 in US East so that we will prefer the ExpressRoute circuit in US West for traffic destined for this prefix (as our network will think the path to this prefix is shorter in the west). De même, vous pouvez allonger le chemin AS PATH pour 172.2.0.2/31 dans la région USA Ouest pour que nous privilégiions le circuit ExpressRoute dans la région USA Est.Similarly you can lengthen the AS PATH for 172.2.0.2/31 in US West so that we'll prefer the ExpressRoute circuit in US East. Le routage est optimisé pour les deux bureaux.Routing is optimized for both offices. Grâce à cette conception, si un circuit ExpressRoute est défaillant, Exchange Online peut toujours vous joindre via un autre circuit ExpressRoute ainsi que par le biais de votre réseau étendu.With this design, if one ExpressRoute circuit is broken, Exchange Online can still reach you via another ExpressRoute circuit and your WAN.

Important

Nous supprimons les numéros AS privés dans le chemin AS PATH pour les préfixes reçus dans le cadre de l’appairage Microsoft lors d’un appairage avec un numéro AS privé.We remove private AS numbers in the AS PATH for the prefixes received on Microsoft Peering when peering using a private AS number. Vous devez effectuer un appairage avec un numéro AS public et ajouter des numéros AS publics au chemin AS PATH pour influencer le routage pour l’appairage Microsoft.You need to peer with a public AS and append public AS numbers in the AS PATH to influence routing for Microsoft Peering.

Solution ExpressRoute n° 2 : ajoutez le préfixe AS PATH

Notes

Bien que les exemples fournis ici s’appliquent aux peerings Microsoft et publics, nous prenons en charge les mêmes fonctionnalités pour le peering privé.While the examples given here are for Microsoft and Public peerings, we do support the same capabilities for the Private peering. En outre, le préfixe AS Path fonctionne au sein d’un même circuit ExpressRoute pour influencer la sélection des chemins principaux et secondaires.Also, the AS Path prepending works within one single ExpressRoute circuit, to influence the selection of the primary and secondary paths.

Routage non optimal entre des réseaux virtuelsSuboptimal routing between virtual networks

Avec ExpressRoute, vous pouvez établir une communication réseau virtuel-réseau virtuel (également appelée « VNet ») en les reliant à un circuit ExpressRoute.With ExpressRoute, you can enable Virtual Network to Virtual Network (which is also known as "VNet") communication by linking them to an ExpressRoute circuit. Lorsque vous les reliez à plusieurs circuits ExpressRoute, un routage non optimal peut se produire entre les réseaux virtuels.When you link them to multiple ExpressRoute circuits, suboptimal routing can happen between the VNets. Prenons un exemple.Let's consider an example. Vous disposez de deux circuits ExpressRoute, l’un dans USA Ouest et l’autre dans USA Est.You have two ExpressRoute circuits, one in US West and one in US East. Dans chaque région, vous avez deux réseaux virtuels.In each region, you have two VNets. Vos serveurs web sont déployés sur un réseau virtuel et les serveurs d’applications sur l’autre.Your web servers are deployed in one VNet and application servers in the other. À des fins de redondance, vous reliez les deux réseaux virtuels de chaque région à la fois au circuit ExpressRoute local et au circuit ExpressRoute distant.For redundancy, you link the two VNets in each region to both the local ExpressRoute circuit and the remote ExpressRoute circuit. Comme illustré ci-dessous, chaque réseau virtuel est doté de deux chemins d’accès menant vers l’autre réseau virtuel.As can be seen below, from each VNet there are two paths to the other VNet. Les réseaux virtuels ne font pas la distinction entre le circuit ExpressRoute local et le circuit ExpressRoute distant.The VNets don't know which ExpressRoute circuit is local and which one is remote. Par conséquent, étant donné qu’ils appliquent une stratégie de routage ECMP (Equal-cost multi-path routing) pour équilibrer la charge du trafic entre les réseaux virtuels, certains flux de trafic emprunteront le chemin le plus long et seront routés au niveau du circuit ExpressRoute distant.Consequently as they do Equal-Cost-Multi-Path (ECMP) routing to load-balance inter-VNet traffic, some traffic flows will take the longer path and get routed at the remote ExpressRoute circuit.

Scénario ExpressRoute n° 3 : routage non optimal entre réseaux virtuels

Solution : attribuer plus de poids à la connexion localeSolution: assign a high weight to local connection

La solution est simple.The solution is simple. Étant donné que vous savez où se trouvent les réseaux virtuels et les circuits, vous pouvez nous indiquer le chemin à privilégier pour chaque réseau virtuel.Since you know where the VNets and the circuits are, you can tell us which path each VNet should prefer. Spécifiquement pour cet exemple, vous attribuez plus de poids à la connexion locale qu’à la connexion à distance (consultez l’exemple de configuration ici).Specifically for this example, you assign a higher weight to the local connection than to the remote connection (see the configuration example here). Lorsqu’un réseau virtuel reçoit le préfixe de l’autre réseau virtuel sur plusieurs connexions, il préfère la connexion avec le plus de poids pour envoyer le trafic destiné à ce préfixe.When a VNet receives the prefix of the other VNet on multiple connections it will prefer the connection with the highest weight to send traffic destined for that prefix.

Solution ExpressRoute n° 3 : attribuer plus de poids à la connexion locale

Notes

Vous pouvez également modifier entre le réseau virtuel et votre réseau sur site, si vous disposez de plusieurs circuits ExpressRoute, en configurant le poids attribué à une connexion au lien d’ajouter un préfixe AS PATH, technique décrite dans le second scénario ci-dessus.You can also influence routing from VNet to your on-premises network, if you have multiple ExpressRoute circuits, by configuring the weight of a connection instead of applying AS PATH prepending, a technique described in the second scenario above. Pour chaque préfixe, nous examinerons toujours le poids attribué à la connexion avant la longueur du chemin AS pour décider du mode d’envoi du trafic.For each prefix, we will always look at the connection weight before the AS Path length when deciding how to send traffic.