zoukankan      html  css  js  c++  java
  • MPLS MTU Aggregation

    MPLS-domain的MTU问题
    默认情况下,以太网接口下的二层MTU,三层MTU和MPLS MTU都是1500
    以太帧的Type字段的作用:
    一方面表示上层应用的类型
    另一方面是告诉本地设备如何处理当前到达的数据帧

    以太帧包结构:

    1500以下是标准的以太帧处理
    1500~2000字节之间是按小巨型帧处理
    2000以上按巨型帧处理

    R2(config-subif)#mtu        (二层MTU)

    R2(config-subif)#ip mtu ?
      <68-1500>  MTU (bytes)

    R2(config-subif)#mpls mtu 1504
    The jumbo frames are not supported by all LAN switches
    使用上述命令的主要原因是一些防火墙会删除ICMP无法到达消息,就几乎破坏了MTU发现机制
    可以配置在同一个接口配置物理MTU,IP MTU;同时也不是所有LAN switches都支持小巨型帧的

    一个标签的大小为4 byte(32位)
    以太网字段中Type是用来标识的数据类型(例如是TAG还是IP,其中dot1Q和MPLS都是小巨型帧)

    r5#ping                                                          
    Protocol [ip]:                                                   
    Target IP address: 1.1.1.1                                       
    Repeat count [5]:                                                
    Datagram size [100]: 1500                                        
    Timeout in seconds [2]:                                          
    Extended commands [n]: y                                         
    Source address or interface: 5.5.5.5                             
    Type of service [0]:                                             
    Set DF bit in IP header? [no]: yes                               
    Validate reply data? [no]:                                       
    Data pattern [0xABCD]:                                           
    Loose, Strict, Record, Timestamp, Verbose[none]:                 
    Sweep range of sizes [n]:                                        
    Type escape sequence to abort.                                   
    Sending 5, 1500-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
    Packet sent with a source address of 5.5.5.5                     
    Packet sent with the DF bit set                                  
    M.M.M                                                            
    Success rate is 0 percent (0/5)                                  

    MPLS Domain的安全性问题
    traceroute工作机制:使用逐次增加跳数超时回包机制来查看回包路径
    r4(config)#no mpls ip propagate-ttl forwarded (此时再次traceroute将不会看到中间路径)
    关闭默认的TTL值拷贝行为,直接将Label中的TTL设为255。所以数据包到达R4的时候不会超时发给R5回包,而是继续发送
    r5#traceroute 1.1.1.1               
                                        
    Type escape sequence to abort.      
    Tracing the route to 1.1.1.1        
                                        
      1 45.1.1.4 4 msec 0 msec 0 msec   
      2 12.1.1.1 4 msec *  0 msec       

    Label Switching Path
    MPLS仅仅是一个转发机制,而不能具有计算转发路径的功能

    LFIB = FIB + binding Table
    R1#show mpls forwarding-table
    如果不使用倒数第二跳机制,则目的前缀的路由器需要进行两次路径查找,先查找LFIB,再查找RIB所以开销较大 
    路由器为自己的直连网段分配隐含空标签,既是在倒数第二跳pop,避免边界路由器做二次查找行为,减轻路由器硬件开销
    任何路由器看到隐含空就将Label移除
    所有直连网段本地都会给分配一个隐含空标签(imp-null),只是弹出一层标签
    untag则是一次性移除所有标签

    Aggregation on LSP Tunnels

    假如在R3做汇总,则汇总路由10.1.0.0/16相当于本地发起,则R3会为其分配一个隐含空(imp-null标签),通告给邻居R4后,R4在一旦到达R4就会置为imp-null,发给R3的时候pop label;这时R3就会查找FIB(而不是LFIB)从而使用路由表发送,目的前缀给R2后就相应的压制标签,使得一次标签交换变成两次标签交换,浪费硬件资源
    同时也会使得数据黑洞的严重后果,具体例子见下面Lab

    MPLS域中的汇总行为是不建议配置的

    LDP Paths in BGP Networks
    Labels are assigned to Forwarding Equivalence Classes(FEC).
    FEC in unicast IP routing is equal to a destination prefix found in FIB.
    This is true only for Internal Gateway Protocol (IGP)-derived prefixes.(单播FEC是基于每个目的前缀的,但是前提条件就是该前缀是由IGP学习的)
    BGP-derived prefixes are assigned the label that is used for the BGP next-hop address.

    MPLS单播应用中
    如果数据包的目的地址在本地路由表中由IGP学习过来的,它的FEC的分类方式为FIB的每一个目的前缀
    如果数据包的目的地址在本地路由表中由BGP学习过来的,它的FEC的分类方式是BGP条目的下一跳地址
    进入MPLS-domain的数据包,如果其目的地址在进入的路由器上以BGP形式出现,那么该数据包的转发将借用目的地址的下一跳标签(即:本地路由器去往下一跳所用的标签,将被借用来发送该数据包)
     

  • 相关阅读:
    135. Candy(Array; Greedy)
    69. Sqrt(x) (Divide-and-Conquer)
    109. Convert Sorted List to Binary Search Tree (List; Divide-and-Conquer, dfs)
    108.Convert Sorted Array to Binary Search Tree(Array; Divide-and-Conquer, dfs)
    34. Search for a Range (Array; Divide-and-Conquer)
    35. Search Insert Position (Array; Divide-and-Conquer)
    82. Remove Duplicates from Sorted List II (List)
    python dict list tuple
    python unix时间戳
    字符串哈希函数
  • 原文地址:https://www.cnblogs.com/cyrusxx/p/12824165.html
Copyright © 2011-2022 走看看