当云企业网中多个地域的TR连接到ECR时,云上云下资源互访会存在多条流量路径,本文为您介绍在这种情况下的选路规则。
选路规则
首先确定下云流量路径。默认情况下,当来自VPC的下云流量到达TR时:
如果当前TR与ECR直接相连,则流量直接从当前TR进入ECR下云。
如果当前TR与ECR不直接相连,则流量选择有ECR直接相连的其他TR下云。此时如果其他TR有多个:
选择和目标VBR相同地域的TR下云。
如果其他TR的地域都和目标VBR的地域不同,则选择地域ID字节序靠前的TR下云。
下云流量路径确定后,系统会确保上云流量与下云流量路径对称。
场景示例
本节提供2个典型场景示例,帮助您熟悉和理解选路规则。
示例一:多个TR均连接了ECR
以上图场景为例,某企业在华东1(杭州)地域建有IDC机房,且分别在华东1(杭州)地域和华东2(上海)地域的VPC内部署了业务。
企业通过VBR、ECR、TR连通云下IDC和云上VPC,杭州TR和上海TR之间建立了跨地域连接,ECR绑定了杭州TR1、上海TR2、杭州VBR。
1. 下云流量路径
VPC1访问云下IDC,来自VPC1的流量到达TR1时,因为TR1与ECR直接相连,则流量直接从TR1进入ECR下云。
VPC2访问云下IDC,来自VPC2的流量到达TR2时,因为TR2也与ECR直接相连,则流量直接从TR2进入ECR下云。
2. 上云流量路径
因为下云流量路径已确定,系统会引导上云流量与下云流量路径对称:
IDC访问VPC1时,流量到达ECR后,经过TR1进入VPC1。
IDC访问VPC2时,流量到达ECR后,经过TR2进入VPC2。
示例二:多个TR之间相互连接,存在TR未连接ECR
以上图场景为例,某企业已将3个IDC分别接入到华北2(北京)地域、华东2(上海)、华东1(杭州)地域的VBR,且分别在华北2(北京)、华东2(上海)、华东1(杭州)地域的VPC内部署了业务。
企业已将3个VBR连接至ECR,并将TR1和TR2连接至ECR。3个TR之间均建立了跨地域连接。
1. 下云流量路径
VPC1下云的流量路径 | VPC2下云的流量路径 | VPC3下云的流量路径 |
VPC1下云访问3个IDC时,因为TR1和ECR直接相连,所以流量会直接从TR1进入ECR下云。
VPC2下云与VPC1同理,流量会直接从TR2进入ECR下云。
VPC3下云访问3个IDC时,因为TR3不和ECR直接相连,所以流量会选择去往TR1或TR2下云:
VPC3访问IDC1时,流量到达TR3后,选择和目标VBR1相同地域的TR1下云。
VPC3访问IDC2时,流量到达TR3后,选择和目标VBR2相同地域的TR2下云。
VPC3访问IDC3时,流量到达TR3后,因为TR1和TR2的地域都和目标VBR3的地域不同,此时流量选择地域ID字节序靠前的TR1下云(比较TR1和TR2的地域ID字节序,cn-beijing比cn-shanghai靠前)。
2. 上云流量路径
上云访问VPC1的流量路径 | 上云访问VPC2的流量路径 | 上云访问VPC3的流量路径 |
下云流量路径确定后,系统会引导上云流量与下云流量路径对称,详情见上图,此处不再赘述。
调整选路默认行为
在需要通过比较地域ID字节序来选择TR的情况下,您可以通过手动指定TR,来改变默认的流量路径。通过改变流量路径,您可以:
降低时延:改变流量可能在地理位置上发生绕行的路径,从而降低网络时延。
降低成本:云上网络中,多个跨地域连接链路的带宽成本可能不同,您可以使业务流量优先走低成本的跨地域链路,从而减少费用。
控制流量分布:如果某个地域TR流量较大,您可以将部分业务流量定向引导至流量较为空闲的TR,从而提升整体的网络质量和吞吐率。
默认情况下,VPC3和IDC3的互访流量路径 | 改路后,VPC3和IDC3的互访流量路径 |
如上图所示,当VPC3访问IDC3时,按照前述的选路规则需要比较TR1和TR2的地域ID字节序,流量默认会选择TR1传输。
此时您可以将TR2设为default,使得VPC3和IDC3的互访流量通过TR2传输,从而改变默认的流量路径。
操作步骤
前往目标ECR的基本信息页面,找到目标TR,在操作列单击设为default。
工作原理
TR和ECR之间的选路规则通过各自路由表中的路由条目优先级实现,下方给出选路规则的具体实现原理,供有需求的用户参考。
单击查看选路规则的实现原理
MED说明
MED(Multi-Exit Discriminator,多出口鉴别器)是BGP的一种路径属性,当相邻的自治系统之间存在多条相同路由的路径时,可以通过设置MED属性改变流量路径。
MED属性的存放位置:MED属性存在于路由条目中,您可以在ECR路由条目列表的MED列查看。
MED属性的取值范围:当前阿里云侧MED的取值为3个,分别为1000、2000、3000,其中1000对应同地域,2000对应default,3000对应跨地域。
MED优先级:数值越低,优先级越高。TR或ECR进行选路时,优先选择MED值低的路由条目。
MED传递范围:MED属性仅在ECR和TR之间、TR和TR之间传递,不传递到VBR或VPC。
MED传递策略:
下云流量方向:下云流量通过TR的路由条目进行选路。ECR向TR传递路由条目时,如果某个路由条目来源VBR和对应接收的TR位于同一地域,则该路由条目的MED值置为1000;如果位于不同地域,则置为3000。
上云流量方向:上云流量通过ECR的路由条目进行选路。TR向ECR传递路由条目时,如果路由条目来自于同地域直接相连的VPC,那么TR会将该路由条目的MED值置为1000;如果路由条目来自于其他TR,那么TR会将该路由条目的MED值置为3000。
路由条目优先级
TR和ECR之间的流量选路,通过各自路由表中路由条目优先级来实现。
下云流量路由选路规则
下云流量通过企业版转发路由器TR的路由条目进行选路。
TR从ECR实例和其他TR实例学习到相同目标网段的路由条目后,系统将根据TR的路由优先级,从高到低依次比较每个属性值,属性值优先级高的路由条目被优选用于转发流量。若多条路由条目当前属性值相同,则系统继续对比下一个路由条目属性值。
路由选路优先级如下表所示:
路由条目属性优先级从高到低依次为:P1>P2>P3>P4。
|
路由条目属性优先级 |
路由条目属性 |
属性值说明 |
|
P1 |
AS_Path |
系统会对比去往相同目标网段路由条目的AS_Path路径。 AS_Path长度越短越优先,若AS_Path长度相同,则比对本地优先属性。 |
|
P2 |
本地优先 |
下一跳是地域内连接的优先级高于跨地域连接。
|
|
P3 |
MED |
VPC的地域中若没有ECR和TR连接的地域,则比对MED值,MED值越小的路由条目越优先。您可以在ECR中设置目标TR为Default的MED值,以改变下云流量的路径选路。具体操作,请参见操作步骤。 若去往相同目标网段路由条目的MED值相同,则比对字节序属性。 |
|
P4 |
字节序 |
系统会对比去往相同目标网段路由条目所属的地域ID。地域ID按照字母排序,地域ID排序靠前的路由条目的优先级较高。 例如:来自华北2(北京)(cn-beijing)地域的路由条目优先级高于来自华东1(杭州)(cn-hangzhou)地域的路由优先级。 |
上云流量路由选路规则
上云流量通过ECR的路由条目进行选路。
ECR从TR实例和其他ECR实例学习到相同目标网段的路由条目后,系统将依据路由条目属性的优先级,从高到低依次对比各路由条目在每个属性上的值,属性值优先级高的路由条目被优先用于转发流量。若多条路由条目当前路由条目属性值相同,则系统继续对比下一个路由条目属性值。
路由选路的优先级如下表所示:
路由条目属性优先级从高到低依次为:P1>P2>P3>P4。
|
路由条目属性优先级 |
路由条目属性 |
属性值说明 |
|
P1 |
MED |
ECR从TR实例学习到去往相同目标网段的路由条目,路由条目来自同地域的TR,MED值为1000;路由条目来自其他跨地域的TR,MED值为3000。 若从TR实例学习到去往相同目标网段的路由均为跨地域的TR,则MED值均为3000,继续比对本地优先属性。 |
|
P2 |
本地优先 |
VBR的地域中有ECR和TR连接的地域,优先从与VBR地域相同的ECR和TR连接处上云。 VBR的地域中没有ECR和TR连接的地域,则比对默认出口标记属性。 |
|
P3 |
默认出口 |
VBR的地域中没有ECR和TR连接的地域,系统会对从设置Default出口连接收到的TR路由打标记,确保进入ECR的路由条目优先选择打标的此路由条目。 若ECR出口连接收到的TR路由未打标记,继续比对字节序属性。 |
|
P4 |
字节序 |
系统会对比去往相同目标网段路由条目所属的地域ID。地域ID按照字母排序,排序靠前的地域ID路由条目的优先级较高。 例如:来自华北2(北京)(cn-beijing)地域的路由条目优先级高于来自华东1(杭州)(cn-hangzhou)地域的路由优先级。 |
原理示例
下面依次介绍3个场景,由浅入深,帮助您理解TR和ECR之间的选路原理,以及如何改变流量路径。所有场景假设AS-PATH长度相同。
场景1:多个TR仅有1个连接了ECR
以上图场景为例,某企业的IDC接入了华东1(杭州)地域的VBR,且分别在华东1(杭州)地域和华东2(上海)地域的VPC内部署了业务。
企业通过VBR、ECR、TR连通云下IDC和云上VPC,其中杭州TR1和上海TR2之间建立了跨地域连接,ECR绑定了杭州TR1和杭州VBR。
1. IDC路由传播至VPC
-
A:IDC向VBR传播路由
-
B:VBR向ECR传播路由
-
C:ECR向TR传播路由
-
D:TR之间传播路由,此时TR1会将来自于ECR的路由条目传播给TR2
2. VPC路由传播至IDC
-
A:VPC向TR传播路由(TR已开启路由学习)
-
B:TR之间传播路由,同时向ECR传播路由,此时TR1会将来自于TR2的路由条目传播给ECR
-
C:ECR向VBR传播路由
-
D:VBR向IDC传播路由
3. 流量路径
因为VBR和VPC1之间、VBR和VPC2之间均只有1条路径,所以不需要选路。
场景2:多个TR均连接了ECR
以上图场景为例,某企业在华东1(杭州)地域建有IDC机房,且分别在华东1(杭州)地域和华东2(上海)地域的VPC内部署了业务。
企业通过VBR、ECR、TR连通云下IDC和云上VPC,杭州TR和上海TR之间建立了跨地域连接,ECR绑定了杭州TR1、上海TR2、杭州VBR。TR和ECR之间全互联。
1. IDC路由传播至VPC
-
A:IDC向VBR传播路由
-
B:VBR向ECR传播路由
-
C:ECR向TR1和TR2传播路由,此时ECR会在路由条目中先设置MED属性,再发送给2个TR。
当路由条目“来源VBR”和“目标TR”属于同地域时,MED值设为1000;属于跨地域时设为3000,所以:
-
VBR和TR1属于同地域,ECR先将路由条目MED值设为1000,再传播给TR1
-
VBR和TR2属于跨地域,ECR先将路由条目MED值设为3000,再传播给TR2
-
-
D:TR之间传播路由。传播完成后,各个TR路由生效情况如下:
-
TR1与ECR直接相连,根据同地域优先原则,来自ECR的路由条目优先生效。来自VPC1的下云流量访问VBR时,TR1选择ECR作为下一跳。
-
TR2也与ECR直接相连,根据同地域优先原则,来自ECR的路由条目优先生效。来自VPC2的下云流量访问VBR时,TR2选择ECR作为下一跳。
-
2. VPC路由传播至IDC
-
A:TR之间传播路由
-
B:TR1和TR2向ECR传播路由,此时TR会先在路由条目中设置MED属性,再发送给ECR。
当路由条目“来源VPC”和“当前TR”属于同地域时,MED值设为1000;属于跨地域时设为3000。
-
源于VPC1的路由条目:
-
VPC1和TR1属于同地域,TR1先将路由条目MED值设为1000,再传播给ECR
-
VPC1和TR2属于跨地域,TR2先将路由条目MED值设为3000,再传播给ECR
-
ECR收到路由条目后,根据MED值越低优先级越高,则来自于TR1的路由条目优先生效。上云流量访问VPC1时,ECR选择TR1作为下一跳。
-
-
源于VPC2的路由条目:和源于VPC1的路由条目同理,ECR优先生效来自于TR2的路由条目。上云流量访问VPC2时,ECR选择TR2作为下一跳。
-
-
C:ECR向VBR传播路由
-
D:VBR向IDC传播路由
3. 流量路径
根据前述路由分析:
-
下云流量:在TR上,因TR都与ECR直接相连,根据同地域优先原则,来自ECR的路由条目优先生效,故TR会直接选择ECR作为下一跳,流量直接从本地域TR到ECR下云。
-
上云流量:在ECR上,来自于VPC直接相连的同地域TR的路由条目优先级更高,故流量会优先选择VPC所属地域TR上云。
场景3:多个TR之间相互连接,存在TR未连接ECR
以上图场景为例,某企业已将3个IDC分别接入到华东2(北京)地域、华东2(上海)、华东1(杭州)地域的VBR,且分别在华北2(北京)、华东2(上海)、华东1(杭州)地域的VPC内部署了业务。
企业已将3个VBR连接至ECR,并将TR1和TR2连接至ECR。3个TR之间均建立了跨地域连接。
1. IDC路由传播至VPC
-
A:IDC向VBR传播路由
-
B:VBR向ECR传播路由
-
C:ECR向TR1和TR2传播路由,此时ECR会在路由条目中先设置MED属性,再发送给TR。
当路由条目“来源VBR”和“目标TR”属于同地域时,MED值设为1000;属于跨地域时设为3000。
以来自于VBR1的路由条目为例:
-
VBR1和TR1属于同地域,ECR先将路由条目MED值设为1000,再传播给TR1
-
VBR1和TR2属于跨地域,ECR先将路由条目MED值设为3000,再传播给TR2
-
-
D:TR之间传播路由。传播完成后,各个TR路由生效情况如下:
-
TR1和TR2都与ECR直接相连,情况与场景2相同,根据同地域优先原则,来自于ECR的路由条目优先生效。
-
TR3不与ECR直接相连,情况如下:
-
当收到源于VBR1的路由条目时:
-
来自于TR1的路由条目:MED值为1000。
-
来自于TR2的路由条目:MED值为3000。
-
MED值为1000的路由条目优先级更高,故来自于TR1的路由条目优先生效。VPC3下云流量访问VBR1时,TR3选择TR1作为下一跳。
-
-
当收到源于VBR2的路由条目时,情况与VBR1同理,来自于TR2的路由条目优先生效。VPC3下云流量访问VBR2时,TR3选择TR2作为下一跳。
-
当收到源于VBR3的路由条目时:
-
来自于TR1的路由条目:来源VBR3地域为杭州,TR1地域为北京,属于跨地域,MED值为3000
-
来自于TR2的路由条目:来源VBR3地域为杭州,TR2地域为上海,属于跨地域,MED值为3000
-
MED值相同时,根据字节序决定优先级,beijing字节序高于hangzhou,故来自于TR1的路由条目优先生效。VPC3下云流量访问VBR3时,TR3选择TR1作为下一跳。
-
-
-
根据上述路由规则,从各个VPC下云的流量路径分别为:
|
VPC1下云的流量路径 |
VPC2下云的流量路径 |
VPC3下云的流量路径 |
|
|
|
|
2. VPC路由传播至IDC
-
A:VPC向TR传播路由。
-
B:TR和TR之间传播路由,同时TR向ECR传播路由。此时TR会先在路由条目中设置MED属性,再发送给ECR。
当路由条目“来源VPC”和“当前TR”属于同地域时,MED值设为1000;属于跨地域时设为3000。
-
源于VPC1的路由条目:
-
VPC1和TR1属于同地域,TR1先将路由条目MED值设为1000,再传播给ECR
-
VPC1和TR2属于跨地域,TR2先将路由条目MED值设为3000,再传播给ECR
-
ECR收到路由条目后,根据MED值越低优先级越高,则来自于TR1的路由条目优先生效。上云流量访问VPC1时,ECR选择TR1作为下一跳。
-
-
源于VPC2的路由条目:和源于VPC1的路由条目同理,ECR优先生效来自TR2的路由条目。上云流量访问VPC2时,ECR选择TR2作为下一跳。
-
源于VPC3的路由条目:
-
VPC3和TR1属于跨地域,TR1先将路由条目MED值设为3000,再传播给ECR
-
VPC3和TR2属于跨地域,TR2先将路由条目MED值设为3000,再传播给ECR
-
ECR收到的路由条目MED值相同,进入同地域优先逻辑:
-
VBR1所在地域的TR是TR1,与ECR直接相连。故来自VBR1的上云流量访问VPC3时,ECR选择TR1为下一跳。
-
VBR2所在地域的TR是TR2,与ECR直接相连。故来自VBR2的上云流量访问VPC3时,ECR选择TR2为下一跳。
-
VBR3所在地域的TR是TR3,与ECR不直接相连,进入字节序比较:
beijing字节序高于hangzhou,故来自于TR1的路由条目优先生效。来自VBR3的上云流量访问VPC3时,ECR选择TR1作为下一跳。
-
-
-
-
C:ECR向VBR传播路由
-
D:VBR向IDC传播路由
根据上述路由规则,IDC上云访问3个VPC的流量路径分别为:
|
上云访问VPC1的流量路径 |
上云访问VPC2的流量路径 |
上云访问VPC3的流量路径 |
|
|
|
|
3. 改变流量路径
您可以在ECR将TR2置为default默认路径,改变VPC3和IDC3之间互访流量的路径:
-
改变下云流量路径:
ECR将TR2置为default默认路径后,根据MED传递策略,ECR发送给TR2的所有路由条目MED属性都会被置为2000。TR2将这些路由条目发送给TR3后,TR3会优先生效来自TR2的路由条目,从而将VPC3的下云流量出口从TR1改为TR2。
-
改变上云流量路径:
ECR将TR2置为default默认路径后,根据默认出口原则,上云流量优先选择已设为default的TR2作为下一跳。此时来自VBR3的上云流量访问VPC3时,ECR选择TR2作为下一跳。
|
修改MED前,VPC3和IDC3的互访流量路径 |
修改MED后,VPC3和IDC3的互访流量路径 |
|
|
|
3个VPC与IDC互访的流量路径汇总如下:
|
MED修改状态 |
VPC1与IDC互访流量路径 |
VPC2与IDC互访流量路径 |
VPC3与IDC互访流量路径 |
|
修改MED前 |
|
|
|
|
修改MED后 |
流量路径不变 |
流量路径不变 |
|