MPLS TE隧道間的負載均衡

Technorati 標籤: MPLS,MPLS TE,隧道,CCIE,負載均衡

 

負載分擔:

缺省情況下,是per-destination的方式.一般不推薦使用per-packet.怕引起TCP亂序問題.

clip_p_w_picpath002[5]

前提:只有不同的TE tunnel之間發生負載均衡,才能實現非等價的負載均衡.

1) 對於到達TE隧道尾端:TE和IGP間是不能支持負載均衡的.

clip_p_w_picpath004[5]

這裏,建立一個單向隧道,R2--R5--R6--R7,如果是到到TE隧道尾端,比如到R7的interface loopback0,這個時候,因爲隧道只有一條,所以TE隧道和IGP是不能負載均衡的.

比如說R2-R5-R6-R7是TE隧道.然後R2-R4-R3-R7 再分一部分流量走IGP是不可能的.

2)對於達到TE隧道尾端後的地址的數據流,可以在TE和IGP之間進行負載均衡,但是隻能做等價的負載均衡.

3)可以在多條TE隧道之間實現等價或者非等價的負載均衡.只能是建立多條達到目的地的TE tunnel來進行流量的負載均衡.[隧道之間可以實現等價 or 非等價的負載均衡]

唯一能做的就是,R2到R7建立兩條隧道,隧道之間可以進行等價或者非等價的負載均衡.

clip_p_w_picpath006[4]

負載均衡試驗:

1)到達隧道尾端,IGPTE隧道之間是不能進行負載均衡的.[只會走TE隧道]

這裏根據下面的拓撲,R2上面建立一個隧道,到R6.紅色的路徑:R2--R5-R6.

clip_p_w_picpath008[4]

圖中所示所有的鏈路均爲10MB以太,ospf cost=10默認.

這裏把R2的interface e 0/1修改爲cost=20.[出接口生效],這樣,從IGP的角度來說,就會有圖中紅色和紫色的兩條鏈路到達R6.

分別是:R2--R5--R6和R2--R4--R3--R6.

當修改完R2的e 0/1 ospf cost=20以後, R2--R5--R6[loopback0],一共有31的cost.

R2--R4--R3--R6[loopback0],一共也是31的cost.

所以,當R2的e 0/1修改完cost=20以後,在R2上面show ip route到6.6.6.6的話,是IGP的負載均衡.

clip_p_w_picpath010[4]

然後查看明細,是等價的負載均衡, 這裏traffic share count 相比如果是1就是等價的,比值不爲1的話就是非等價的.

clip_p_w_picpath012[4]

在R2上面的隧道tunnel 26上面,用auto announce模式,將數據流引入隧道:

interface Tunnel26

ip unnumbered Loopback0

tunnel mode mpls traffic-eng

tunnel destination 6.6.6.6

tunnel mpls traffic-eng autoroute announce

tunnel mpls traffic-eng priority 7 7

tunnel mpls traffic-eng bandwidth 5000

tunnel mpls traffic-eng path-option 10 dynamic

no routing dynamic

end

這個時候,因爲流量自動引入了隧道,在R2上面再查看隧道盡頭的6.6.6.6,會發現不會是負載均衡,而是走的tunnel 26:

clip_p_w_picpath014[4]

這裏不會再走下面的路徑了,因爲流量已經通過auto route給引入到隧道中去了。

2)不同的TE隧道之間是可以做等價或者非等價的負載均衡的.

---等價的負載均衡

在R2上面建立兩條隧道達到R6.

clip_p_w_picpath016[8]

第一條已經建立好了,tunnel 26:

interface Tunnel26

ip unnumbered Loopback0

tunnel mode mpls traffic-eng

tunnel destination 6.6.6.6

tunnel mpls traffic-eng autoroute announce

tunnel mpls traffic-eng priority 7 7

tunnel mpls traffic-eng bandwidth 5000

tunnel mpls traffic-eng path-option 10 dynamic

no routing dynamic

end

tunnel26一定走的是R2--R5--R6這條路徑.

clip_p_w_picpath018[4]

就算R2-R5-R6和R2-R4-R3-R6的IGP cost都是31(默認TE metric=IGP metric),但是這個時候根據最高仲裁法則, TE metric一樣,兩邊的路徑中RSVP預留的可以用帶寬都是7.5MB. 最後選擇跳數小的爲最優路徑.這就是爲什麼tunnel 26要選擇R2-R5-R6的原因了.

clip_p_w_picpath020[4]

clip_p_w_picpath022[4]

現在馬上在R2上面建立第二條隧道,R2到R6,但是不能走R5.我們期望的PATH是R2-R4-R3-R6.

這裏該隧道命名爲:tunnel 436. 推薦使用顯式路徑, 不管是strict模式還是loose模式都可以.

所以現在在R2上面添加第二條隧道436,並且用auto route的宣告方式引入流量:

ip explicit-path name no-R5 enable

next-address 4.4.4.4

next-address 3.3.3.3

next-address 6.6.6.6

exit

interface Tunnel436

ip unnumbered Loopback0

tunnel mode mpls traffic-eng

tunnel destination 6.6.6.6

tunnel mpls traffic-eng autoroute announce

tunnel mpls traffic-eng priority 7 7

tunnel mpls traffic-eng bandwidth 5000

tunnel mpls traffic-eng path-option 10 explicit name no-R5

no routing dynamic

end

最後在R2上面查看tunnel 436的路徑:

clip_p_w_picpath024[4]

現在R2上面有兩條隧道到達R6,並且都是用auto route的方式引入了流量。我們首先來看一下, 在R2上面show ip route 6.6.6.6是一個什麼情況:

1,首先可以確定的是,隧道間已經形成了負載均衡的關係:

clip_p_w_picpath026[4]

2,再說等價還是非等價的負載:

clip_p_w_picpath028[4]

這裏是等價的負載均衡.

等價負載均衡的原因:

因爲R2--R5--R6和R2-R4-R3 tunnel的bandwidth都是一樣的.都是5MB.

clip_p_w_picpath030[4]

如果需求帶寬一樣,並且沒有手工修改負載參數,那麼最後是作爲等價的負載均衡.

---非等價的負載均衡

非等價負載均衡的原則:

clip_p_w_picpath032[4]

這裏依然是用下面這個拓撲圖做實驗.R2上面有兩個TE隧道,分別是tunnel 26和tunnel 436.

兩個TE隧道都是用auto route方式將流量引入隧道.

clip_p_w_picpath034[4]

隧道的配置情況在R2上面:

clip_p_w_picpath036[4]

最終,在R2上面,show ip route 6.6.6.6:

clip_p_w_picpath038[4]

然後確認負載顆粒參數:

clip_p_w_picpath040[4]

都是1,說明是等價的負載均衡.

第一,通過TE隧道的Bandwidth修改隧道的負載均衡顆粒參數:

現在通過修改TE隧道的bandwidth來修改成非等價的負載均衡:

clip_p_w_picpath042[4]

下面在R2上面檢查結果:

clip_p_w_picpath044

第二,通過手工命令來修改TE隧道間的非等價負載均衡的顆粒參數:

現在R2上面兩個隧道均恢復成相同的帶寬,但是用手工命令來進行指定隧道的負載均衡參數:

Router(config-if)#tunnel mpls traffic-eng load-share x

interface Tunnel26

ip unnumbered Loopback0

tunnel mode mpls traffic-eng

tunnel destination 6.6.6.6

tunnel mpls traffic-eng autoroute announce

tunnel mpls traffic-eng priority 7 7

tunnel mpls traffic-eng bandwidth 3000

tunnel mpls traffic-eng path-option 10 dynamic

tunnel mpls traffic-eng load-share 100

no routing dynamic

end

interface Tunnel436

ip unnumbered Loopback0

tunnel mode mpls traffic-eng

tunnel destination 6.6.6.6

tunnel mpls traffic-eng autoroute announce

tunnel mpls traffic-eng priority 7 7

tunnel mpls traffic-eng bandwidth 3000

tunnel mpls traffic-eng path-option 10 explicit name no-R5

tunnel mpls traffic-eng load-share 85

no routing dynamic

end

最後在R2上面,可以看到,系統會自動進行100/85的計算,最後得出20/17的比例.基本是4:3的比例.

clip_p_w_picpath046

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章