Technorati 標籤: MPLS,MPLS TE,隧道,CCIE,負載均衡負載均衡
負載分擔:ide
缺省狀況下,是per-destination的方式.通常不推薦使用per-packet.怕引發TCP亂序問題.oop
前提:只有不一樣的TE tunnel之間發生負載均衡,才能實現非等價的負載均衡.spa
1) 對於到達TE隧道尾端:TE和IGP間是不能支持負載均衡的.3d
這裏,創建一個單向隧道,R2--R5--R6--R7,若是是到到TE隧道尾端,好比到R7的interface loopback0,這個時候,由於隧道只有一條,因此TE隧道和IGP是不能負載均衡的.blog
好比說R2-R5-R6-R7是TE隧道.而後R2-R4-R3-R7 再分一部分流量走IGP是不可能的.接口
2)對於達到TE隧道尾端後的地址的數據流,能夠在TE和IGP之間進行負載均衡,可是隻能作等價的負載均衡.ip
3)能夠在多條TE隧道之間實現等價或者非等價的負載均衡.只能是創建多條達到目的地的TE tunnel來進行流量的負載均衡.[隧道之間能夠實現等價 or 非等價的負載均衡]ci
惟一能作的就是,R2到R7創建兩條隧道,隧道之間能夠進行等價或者非等價的負載均衡.get
負載均衡試驗:
1)到達隧道尾端,IGP和TE隧道之間是不能進行負載均衡的.[只會走TE隧道]
這裏根據下面的拓撲,R2上面創建一個隧道,到R6.紅色的路徑:R2--R5-R6.
圖中所示全部的鏈路均爲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的負載均衡.
而後查看明細,是等價的負載均衡, 這裏traffic share count 相好比果是1就是等價的,比值不爲1的話就是非等價的.
在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:
這裏不會再走下面的路徑了,由於流量已經經過auto route給引入到隧道中去了。
2)不一樣的TE隧道之間是能夠作等價或者非等價的負載均衡的.
---等價的負載均衡
在R2上面創建兩條隧道達到R6.
第一條已經創建好了,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這條路徑.
就算R2-R5-R6和R2-R4-R3-R6的IGP cost都是31(默認TE metric=IGP metric),可是這個時候根據最高仲裁法則, TE metric同樣,兩邊的路徑中RSVP預留的能夠用帶寬都是7.5MB. 最後選擇跳數小的爲最優路徑.這就是爲何tunnel 26要選擇R2-R5-R6的緣由了.
如今立刻在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的路徑:
如今R2上面有兩條隧道到達R6,而且都是用auto route的方式引入了流量。咱們首先來看一下, 在R2上面show ip route 6.6.6.6是一個什麼狀況:
1,首先能夠肯定的是,隧道間已經造成了負載均衡的關係:
2,再說等價仍是非等價的負載:
這裏是等價的負載均衡.
等價負載均衡的緣由:
由於R2--R5--R6和R2-R4-R3 tunnel的bandwidth都是同樣的.都是5MB.
若是需求帶寬同樣,而且沒有手工修改負載參數,那麼最後是做爲等價的負載均衡.
---非等價的負載均衡
非等價負載均衡的原則:
這裏依然是用下面這個拓撲圖作實驗.R2上面有兩個TE隧道,分別是tunnel 26和tunnel 436.
兩個TE隧道都是用auto route方式將流量引入隧道.
隧道的配置狀況在R2上面:
最終,在R2上面,show ip route 6.6.6.6:
而後確認負載顆粒參數:
都是1,說明是等價的負載均衡.
第一,經過TE隧道的Bandwidth修改隧道的負載均衡顆粒參數:
如今經過修改TE隧道的bandwidth來修改爲非等價的負載均衡:
下面在R2上面檢查結果:
第二,經過手工命令來修改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的比例.