当前位置 博文首页 > weixin_34365417的博客:MPLS TE隧道间的负载均衡

    weixin_34365417的博客:MPLS TE隧道间的负载均衡

    作者:[db:作者] 时间:2021-08-24 22:04

    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

    cs
    下一篇:没有了