你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

优化 Azure ExpressRoute 的路由

有多个 ExpressRoute 线路时,可以通过多个路径连接到 Microsoft。 这可能会导致路由不理想,即流量在较长的路径上传输,从而增加延迟并影响应用程序性能和用户体验。 本文介绍如何使用标准路由技术优化路由。

Microsoft 对等互连的路径选择

若要在具有多个 ExpressRoute 线路的情况下确保流量流经理想的路径,需要使用 Internet Exchange (IX) 或 Internet 服务提供商 (ISP) 管理到达 Internet 的路径。 BGP 根据最长前缀匹配 (LPM) 等因素使用最佳路径选择算法。 为了确保通过 Microsoft 发往 Azure 的流量使用 ExpressRoute 路径,应实现“本地首选项”属性。 此设置可确保该路径在 ExpressRoute 上始终是首选。

注意

默认的本地优先级通常为 100。 本地优先级越高越好。

请考虑以下示例场景:

显示从客户到 Microsoft 的不理想路由的关系图。

若要首选 ExpressRoute 路径,请按如下所示配置“本地优先级”:

从 R1 角度看 Cisco IOS-XE 配置:

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

从 R1 角度看 Junos 配置:

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

从客户到 Microsoft 的欠佳路由

假设你在美国有两个办公室,一个在洛杉矶,一个在纽约,这两个办公室通过 WAN 连接。 你有两个 ExpressRoute 线路,一个在美国西部,一个在美国东部,也通过 WAN 连接。 你打算让洛杉矶用户连接到 Azure 美国西部,纽约用户连接到 Azure 美国东部。 但是,如果不知道哪个前缀来自哪个区域,你的 WAN 可能会将两个办公室的流量都路由到美国东部线路,从而导致洛杉矶用户的路由不理想。

从客户到 Microsoft 的不理想路由的关系图。

解决方案:使用 BGP 社区

若要优化路由,请使用 BGP 社区值来标识每个 Azure 区域中的前缀。 例如,12076:51004 用于美国东部,12076:51006 用于美国西部。 为每个区域中的相应前缀配置更高的本地首选项值,可确保流量采用最佳路径。

使用 BGP 社区的解决方案关系图。

注意

使用专用对等互连时,对于从客户到 Azure 虚拟网络的路由可以应用相同的技术。 根据虚拟网络部署,将路由器配置为优先选择一条 ExpressRoute 线路。

从 Microsoft 到客户的欠佳路由

在此场景中,Microsoft 连接采用了一条较长的路径到达你的网络。 例如,Exchange Online 与本地服务器的连接可能通过错误的 ExpressRoute 线路进行路由。 如果没有提示,Microsoft 无法确定哪个本地前缀更接近哪条线路。

从 Microsoft 到客户本地的不理想路由的关系图。

解决方案:使用 AS PATH 追加

在适当的 ExpressRoute 线路上播发本地前缀,或使用 AS PATH 前置来影响路由。 延长次优先区域中前缀的 AS PATH,可确保 Microsoft 优先选择最佳路径。

使用 AS PATH 前置的解决方案关系图。

重要

使用专用 AS 编号时,我们会移除 Microsoft 对等互连上收到的前缀的 AS PATH 中的专用 AS 编号。 与公共 AS 进行对等互连,并在 AS PATH 中追加公共 AS 编号,以影响 Microsoft 对等互连的路由。

虚拟网络之间的路由欠佳

使用 ExpressRoute,可以通过将 VNet 链接到 ExpressRoute 线路来启用 VNet 到 VNet 通信。 当 VNet 链接到多个线路时,可能会出现不理想的路由。 例如,由于 ECMP 路由,美国西部和美国东部的 VNet 可能会通过远程线路路由流量。

虚拟网络之间的不理想路由的关系图。

解决方法:将高权重分配给本地连接

为本地连接分配更高的权重,可确保 VNet 首选最佳路径。 此配置可确保流量采用 VNet 之间的最短路径。

为本地连接分配高权重的解决方案关系图。

注意

还可以通过配置连接权重(而不是使用 AS PATH 前置)来影响从 VNet 到本地网络的路由。 决定如何发送流量时,连接权重优先于 AS Path 长度。

后续步骤