在多个地域的TR连接ECR时,您可以在ECR上设置某个TR为Default的MED值来选定您指定的路径,以改变流量在多个TR之间绕行的问题。
选路基本规则
MED(Multi-Exit Discriminator,多出口判别器)是边界网关协议BGP中一个重要的路由属性,较小的MED值意味着更高的优先级,对应的路由条目会被认为是更优的选择。
阿里云定义的MED取值有3个:1000(ECR与TR有连接的同地域互连)、2000(ECR中手动设置TR为Default的MED值)、3000(ECR与TR无连接的跨地域互连)。
下云流量路由选路规则
下云流量通过企业版转发路由器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后 | 流量路径不变 | 流量路径不变 |
使用限制
若ECR仅关联一个CEN,只能为该CEN中的TR设置一个Default的MED值,其余TR不允许将MED设置为Default。
若ECR关联多个CEN,只能为每个CEN中的TR设置一个Default的MED值,同一个CEN中其他TR不允许将MED值设置为Default。
前提条件
您已创建专线网关ECR。
操作步骤
在ECR侧设置某个地域TR为Default的MED值,可以改变多个地域TR连接ECR,且ECR和TR无直接连接的跨地域互通时,可能存在的流量在地理位置的绕行问题。
登录高速通道管理控制台。
在左侧导航栏,单击专线网关,单击目标专线网关实例ID。
单击TR页签,在目标TR实例操作列单击设为default,单击确定。