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的比例.