zoukankan      html  css  js  c++  java
  • 影响CBR为TE选择tunnel建立路径的因素

    影响 CBR 为 TE 选择 tunnel 建立路径的因素
    1、接口预留带宽
    按 Priority 的可用带宽(优先级越小越优,低的可以抢占高的带宽)
    sub-pool 对 DS-TE 的支持
    MPLS Traffic Engineering - DiffServ Aware (DS-TE)

    默认情况下:tunnel 3将会处于 down 状态,并且 TE tunnel 只是占据了预留带宽的 800K(默认 tunnle 的优先级均为 7)
    r1#show mpls tra topology                                                 
    My_System_id: 1.1.1.1 (ospf 100  area 0)                                  
                                                                              
    Signalling error holddown: 10 sec Global Link Generation 71               
                                                                              
    IGP Id: 1.1.1.1, MPLS TE Id:1.1.1.1 Router Node  (ospf 100  area 0)       
          link[0]: Broadcast, DR: 12.1.1.2, nbr_node_id:2, gen:63             
              frag_id 12, Intf Address:12.1.1.1                               
              TE metric:10, IGP metric:10, attribute flags:0x0                
              SRLGs: None                                                     
              physical_bw: 10000 (kbps), max_reservable_bw_global: 1000 (kbps)
              max_reservable_bw_sub: 0 (kbps)                                 
                                                                              
                                     Global Pool       Sub Pool               
                   Total Allocated   Reservable        Reservable             
                   BW (kbps)         BW (kbps)         BW (kbps)              
                   ---------------   -----------       ----------             
            bw[0]:            0             1000                0             
            bw[1]:            0             1000                0             
            bw[2]:            0             1000                0             
            bw[3]:            0             1000                0             
            bw[4]:            0             1000                0             
            bw[5]:            0             1000                0             
            bw[6]:            0             1000                0             
            bw[7]:          800              200                0             
     --More--                                                                 

    当设置的 tunnel 比处于 up 状态的 tunnle 的优先级更小,则更优的 tunnel 会抢占适合本 tunnel 数据转发的最小带宽的 tunnel 方,也就是默认只是修改 tunnel 3 会抢占 tunnel 2,而不会抢占 tunnel 14(因为:500K > 300K)
    interface Tunnel2
     tunnel mpls traffic-eng priority 6 6
    !
    interface Tunnel3
     tunnel mpls traffic-eng priority 6 6
    r1#show mpls traffic-eng topology                                         
    My_System_id: 1.1.1.1 (ospf 100  area 0)                                  
                                                                              
    Signalling error holddown: 10 sec Global Link Generation 85               
                                                                              
    IGP Id: 1.1.1.1, MPLS TE Id:1.1.1.1 Router Node  (ospf 100  area 0)       
          link[0]: Broadcast, DR: 12.1.1.2, nbr_node_id:2, gen:84             
              frag_id 12, Intf Address:12.1.1.1                               
              TE metric:10, IGP metric:10, attribute flags:0x0                
              SRLGs: None                                                     
              physical_bw: 10000 (kbps), max_reservable_bw_global: 1000 (kbps)
              max_reservable_bw_sub: 0 (kbps)                                 
                                                                              
                                     Global Pool       Sub Pool               
                   Total Allocated   Reservable        Reservable             
                   BW (kbps)         BW (kbps)         BW (kbps)              
                   ---------------   -----------       ----------             
            bw[0]:            0             1000                0             
            bw[1]:            0             1000                0             
            bw[2]:            0             1000                0             
            bw[3]:            0             1000                0             
            bw[4]:            0             1000                0             
            bw[5]:            0             1000                0             
            bw[6]:          500              500                0             
            bw[7]:            0              500                0             
     --More--                                                                 

    设置优先级的时候应该注意,r1(config-if)#tunnel mpls traffic-eng priority { setup priority } {  hold priority },如果两者的setup priority 不等于 hold priority,就会出现翻滚现象。因为两个 tunnel 的优先级比较是“交叉比较”的
    例如:
    interface Tunnel2
     tunnel mpls traffic-eng priority 6 7
    !
    interface Tunnel3
     tunnel mpls traffic-eng priority 6 7
    那么 tunnel 2 会先使用 6 和 tunnel 3 的 7 进行比较然后 tunnel 2 就会处于 up 状态,紧接着 tunnel 3 同理也会使用自身的 6 和 tunnel 2 的 7 比较使得 tunnel 3 抢占 tunnle 2,从而出现翻滚现象(不过Cisco IOS 12.2以上版本已经不能设置不相等的 setup priority,hold priority)

    ■隧道的优先级
    产生的背景:
    有些隧道比其他的隧道更为重要,所以无论出于什么目的,都需要让一些隧道优于其他隧道.
    MPLS TE是可以实现这样的机制的。每一个隧道都有它的优先级,重要的隧道优先级会更高.次重要的隧道会退出现有路径,然后重新计算路径,而把资源让给更加重要的隧道(优先级更高的隧道).
    隧道的优先级是0-7.数值越小,优先级越高。
    既然有了优先级这个概念,那么一定会涉及到隧道抢占这个东西。既然有隧道的优先级比当前隧道优先级高,那么重要的隧道在想保留带宽的时候,就可以随意把其他的隧道挤出他们的路径,这样的机制就叫隧道抢占.tunnel preemption.
    这里来做2个实验来验证隧道优先级这个概念。

    这里在R2上面,建立两个隧道。

    这里有两个隧道,tunnel 0和tunnel 1.
    但是两个隧道的优先级是完全不同的。tunnel 0,优先级是7.后面的保持优先级先不管。然后tunel1的优先级是5.
    前提情况是:
    R2的接口2/0 ,设置的ip rsvp bw是默认的750M.是大于两个隧道的rsvp bw总和的。
    在R3上面,interface G3/0.
    配置为:

    实际上带宽为2049.那么只能让一个隧道走这条路径,隧道0和隧道1,优先级分别是7和5.所以tunnel 1应该是走绿色的路径,tunnel 0 走红色的路径,因为隧道优先级的不同在这里。
    我们也可以在路由器R2-PE-1上面看看:


    现在在R3上面:

    总结:所以,当总的链路承诺带宽小于所有隧道总和带宽需求的时候,那么这个时候优先级高的隧道就会优先选路。
    关于优先级,还有一个概念,优先级第一个参数是建立优先级,第二个参数是保持优先级。

    为什么会有两个优先级?
    其实就是RFC2751中的抢占和防守优先级为原型的。
    目的是,当一条隧道开始建立的时候,使用他得建立优先级来决定是否承认这条隧道,当另外一个隧道要和先前建立的隧道竞争链路的时候,就用新隧道的建立优先级和第一条隧道的保持优先级进行比较。
    如果根据原则进行比较会产生一个问题,如果建立优先级比保持优先级小的话,会造成程序的死循环。
    假设现在有两个tunnel,0和1.而两个tunnel的建立优先级都为1,两个隧道的保持优先级都是7.当tunnel0 up的时候,建立tunnel 1,那么tunnel1 会用建立优先级1去比较tunnel 0 的保持优先级7,结果tunnel1,抢占成功。
    tunnel1 up,tunnel 0被挤出预留带宽。
    然后tunnel 0这个时候又用相同的方法和tunnel1进行比较,结果tunnel1又up起来,
    剩下的事情就是反复的循环,造成接口震荡.

    为了解决这个问题,cisco IOS不允许建立优先级比保持优先级小。
    在配置的时候也进行了规定,如果硬要配是配置不进去的。

    最后资料的建议是:保持优先级和建立优先级通常都是设置为相同的数值。除非你有特别的理由。


     

  • 相关阅读:
    bzoj 1051: [HAOI2006]受欢迎的牛
    bzoj 1192: [HNOI2006]鬼谷子的钱袋
    一些动规水题
    USACO 2014 Open Silver Fairphoto
    USACO 2013 Nov Silver Pogo-Cow
    09day1
    09day2
    08day2
    08day1
    07day2
  • 原文地址:https://www.cnblogs.com/cyrusxx/p/12824075.html
Copyright © 2011-2022 走看看