當雲企業網中多個地區的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. 下雲流量路徑
2. 上雲流量路徑
因為下雲流量路徑已確定,系統會引導上雲流量與下雲流量路徑對稱:
樣本二:多個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
2. VPC路由傳播至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,所以:
D:TR之間傳播路由。傳播完成後,各個TR路由生效情況如下:
2. VPC路由傳播至IDC
3. 流量路徑
根據前述路由分析:
情境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的路由條目為例:
D:TR之間傳播路由。傳播完成後,各個TR路由生效情況如下:
根據上述路由規則,從各個VPC下雲的流量路徑分別為:
VPC1下雲的流量路徑 | VPC2下雲的流量路徑 | VPC3下雲的流量路徑 |
| | |
2. VPC路由傳播至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後 | 流量路徑不變 | 流量路徑不變 | |