在多個地區的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無直接連接的跨地區互連時,可能存在的流量在地理位置的繞行問題:
前往目標ECR的基本資料頁面,找到目標TR,在操作列單擊設為default。
