MPLS学习笔记

  一、MPLS术语

  二、MPLS常用命令

  三、MPLS重点记录

  四、MPLS场景使用

 

一、MPLS术语

    RIB:路由表
    FIB(转发信息库):是RIB的拷贝
    LIB(标签信息库):标签分发协议为路由条目分配标签,形成LIB
    LFIB(标签转发信息库):FIB+LIB   (show mpls forwarding-table)
    LDP:标签分发协议    (show mpls ldp bindings)
    
    LSR(标签交换路由器):
    Edge:边缘
    
    FEC(转发等价类):一组被转发的数据报文
    LSP:标签交换通道(Label Switched Path)
    
    上游:数据的入方向
    下游:数据转发的出方向
    下游主动提供标签(你需要我把数据转发给你,你需要提供标签给我)
    
    VPNv4:64bit的路由区分器 + 32bit的IP地址 = 96bit的VPNv4地址

 

二、MPLS常用命令

#######################################mpls基础配置####################################


ip cef                    #配置cisco mpls前提,默认开启

mpls ip                    #全局开启,默认开启
mpls label protocol ldp   #ldp是默认协议

mpls ldp router-id loopback 0  {force}    #route-id一般使用环回口    ,force为所设route-id立刻生效

[config-if]#mpls ip         #在需要接收标签的接口下配置mpls    


##########################################【可选】##################################################

mpls  label range <16-1048575>    #控制标签范围

[可用于跨设备建立邻居]
R1[config]#mpls ldp neighbor 33.1.1.1 targeted ldp    #使用单播发送hello
R2[config]#mpls ldp discovery targeted-hello accept    #接收单播hello报文

mpls ldp neighbor 22.1.1.1 password cisco    {0|7|}    #使用密码建立邻居,基于MD5认证,默认是明文

[IGP协议下自动开启mpls]
ip ospf 110 area 0
    mpls ldp autoconfig        #所有ospf接口下自动开启mpls

[具体事例四、场景应用之4.3 控制标签分发]
no mpls ldp advertise-labels        #关闭默认标签通告功能
mpls ldp advertise-labels for a to b   #针对特定的邻居控制标签的通告
                                       #a:需要通告的标签的前缀,a的格式是标准acl
                                       #b:将标签通告给邻居的route-id ,b的格式是标准acl

no mpls ip propagate-ttl    {forwarded | local}#全局模式下,关闭mpls ttl繁衍
    原理:只针对IP报文TTL拷贝到标签产生时,强制更改标签ttl=255,因此也仅仅在PE设备或者边界LSR上有意义
    forwarded参数    从CE接收到的IP TTL不会拷贝,但是PE本地产生的IP报文则会拷贝到标签
    local参数        本地产生的IP TTL也不会拷贝


##################【show命令】############
show mpls ldp neighbor            #LDP邻居

show mpls forwarding-table      #LFIB标签转发信息表

show mpls ip binding            #查找LIB标签信息表,【推荐理由】更直观,拥有in use

show mpls ldp bindings             #查找LIB标签信息表

show mpls ldp parameters        #查看ldp的发包参数和状态

show mpls interfaces        #查看哪些接口启用了mpls

show mpls interface eth0 detail        #查看指定mpls接口状态


##################【ping命令】############
ping mpls ipv4 55.1.1.1/32 source 11.1.1.1    #测试标签通道是否畅通

 

 

三、MPLS重点记录

    1.LDP只为IGP路由分配标签
    2.LDP的IGP自动配置
        只有链路状态型动态路由协议支持
        IS-IS 或者 OSPF
    3.标签的条件性通告(控制标签通告)
        优点:优化标签,节省设备资源
    4.MPLS VPN,专线都属于peer to peer VPN类型,而IPSEC,L2TP,GRE...属于overlay VPN类型
    5.MPLS VPN优点:
        a.不同客户的路由隔离(通过VRF技术)
        b.相同用户的路由传递(通过MP-BGP+MPLS)
        c.用户可以用重叠地址
        
    6.Q:本地有意义的VRF隔离路由,那么如何解决跨越设备更新过程中路由隔离问题?
      A:通过路由区分器(RD)来扩展用户路由的长度,为其增加前缀,保证唯一性
    7.路由区分器(RD:Routing Distinguisher )
        作用:使得每个客户的路由全局唯一
        固定长度:64bit
    8.Q:所有客户的路由通过BGP批量更新过来,如何区分哪个路由是哪个客户的呢?
        (RD仅仅使得路由全局唯一,并不会标识出路由属于哪个客户)
      A:借助BGP的路由操控能力--路由标记RT(扩展团体属性),将具有特殊属性的VPNv4前缀还原成IPv4前缀,
        RT在vrf中部署,分更新路由Export RTs和接收路由和接收路由Import RTs
    
    9.MPLS路由模型
        CE设备运行标准IP路由,静态或者动态都可。
        PE设备拥有客户所有路由,需要为每一个客户提供隔离的路由表(vrf routing),同时拥有一张全局路由表
            PE运行骨干网IGP,MP-BGP以及与CE之间的路由(静态or动态)
            PE设备上路由进入哪个vrf靠内层标签,数据进入哪个vrf靠RT(route targets)
        P设备只负责VPNv4的数据转发,不参与客户的控制平面(大部分情况)
            P设备运行IGP
    10.MP-BGP更新包含如下元素
        a.VPNv4 address (RD-IPv4)
        b.扩展属性(RT:route targets,SOO:放环)
        c.用于转发VPN包的标签
        d.其他BGP属性(as path,local preference,MED,standard communtiy)
    11.MPLS 的TTL
    12.MPLS 的MTU
        背景:三层MTU一般为1500Byte,标签栈需要占用一定的MTU,当一个>1500的报文被边界LSR压入标签,将有可能导致报文被分片
        解决方案:
        1.降低CE断出方向流量的MTU    ##需要客户配合,并不现实
        2.应用path MTU发现            ##路径MTU发现使用的ICMP容易被防火墙、ACL、IDS等安全策略干掉
        3.Cisco IOS允许比1500大一些的报文,称为小巨人帧
        
    13.MPLS LSP Ping在可以在数据转发层检测故障
        ping mpls ipv4 10.1.1.1/32 source 10.1.1.4
        报文协议:mpls-echo
        udp端口3503,目的地址:127.0.0.0/8范围
    
    14.MPLS的基本配置步骤
        1. ip cef    #全局开启cef
        2.mpls ip     #全局
        3.mpls ip #接口下开启mpls
        4.mpls ldp route-id
        5.mpls label protocols  #mpls采用哪种协议,一般是ldp
        6.ospf的LSP端点的环回口子网掩码        #不是/32会出现标签断裂
          isis另外讨论
        7.测试LSP
        

 

四、MPLS场景使用

  4.1 MPLS基础配置案例

    1)拓扑

 

    2)需求

R1、R2、R3、R4、R5开启MPLS

 

    3)关键配置

mpls基础配置
R1[config]#ip cef                    #配置cisco mpls前提,默认开启
R1[config]#mpls ip                    #全局开启,默认开启
R1[config]#mpls label protocol ldp   #ldp是默认协议
R1[config]#mpls ldp router-id loopback 0  {force}    #route-id一般使用环回口    ,force为所设route-id立刻生效
R1[config-if]#mpls ip         #在需要接收标签的接口下配置mpls

[R2、R3、R4、R5配置如R1一样]

 

  4.2 开启MPLS LDP自动配置

   1)拓扑

    同4.1拓扑

  2)需求

MPLS随着IGP协议配置,自动配置

  3)关键配置

ip ospf 110 area 0
    mpls ldp autoconfig        #所有ospf接口下自动开启mpls

【可选】
mpls ldp neighbor 22.1.1.1 password cisco    {0|7|}    #使用密码建立邻居,基于MD5认证,默认是明文

 

  4.3 控制标签分发

  1)拓扑

同4.1拓扑

  2)需求

控制标签分发,设备上只能收到其他设备分发的环回口路由的标签,同时针对不必要标签进行控制

  3)关键配置

[R2]                                       
ip access-list standard a
    permit 22.1.1.1 0.0.0.0
    permit 33.1.1.1 0.0.0.0
    permit 44.1.1.1 0.0.0.0
    permit 55.1.1.1 0.0.0.0

ip access-list standard b
    permit 11.1.1.1 0.0.0.0


no mpls ldp advertise-labels        #关闭默认标签通告功能
mpls ldp advertise-labels for a to b   #针对特定的邻居控制标签的通告
                                       #a:需要通告的标签的前缀,a的格式是标准acl
                                       #b:将标签通告给邻居的route-id ,b的格式是标准acl

【R1、R3、R4、R5配置类似R2】

 

  4.4 客户总部与分支机构在运营商MPLS网络上传输数据

  1)拓扑

同4.1一样

  2)需求

客户总部需要通过走MPLS与分支机构进行数据交互

 

  3)关键配置

    1.基础IP配置
    2.PE,P设备IGP配置(如:OSPF)
    3.PE-PE设备间MP-BGP(RD)
      router bgp 100
       no bgp default ipv4-unicast
       neighbor 10.1.1.4 remote-as 100
       neighbor 10.1.1.4 update-source Loopback0    #不可缺少
       !
       address-family vpnv4
        neighbor 10.1.1.4 activate

    4.PE设备vrf配置(配置RD)
      方法一:
       ip vrf A
        rd 100:200
       !
       interface Ethernet0/1
        ip vrf forwarding A
        
      方法二:        
       vrf definition A
        rd 100:200
       !
       interface Ethernet0/0
        vrf forwarding A
        
    5.CE-PE的静态or动态路由
    (CE-PE各协议对接可参考:https://www.cnblogs.com/lisenlin/p/14334266.html) CE和PE的vrf里均要配置路由,此处采用静态路由 R1(config)
#ip route vrf A 66.1.1.1 255.255.255.255 eth0/1 16.1.1.6 R6(config)#ip route 77.1.1.1 255.255.255.255 eth0/1 16.1.1.1 R4(config)#ip route vrf A 77.1.1.1 255.255.255.255 eth0/0 47.1.1.7 R7(config)#ip route 66.1.1.1 255.255.255.255 eth0/0 47.1.1.4 CE-PE通过MP-eBGP连接(PE上可以不用路由重分布) R1侧 router bgp 100 address-family ipv4 vrf A neighbor 16.1.1.6 remote-as 200 neighbor 16.1.1.6 activate neighbor 16.1.1.6 as-override #如果总部与分支都想设置同一个AS号,需要在两端的PE侧都使用as-override参数 R6侧 router bgp 200 network 66.1.1.1 mask 255.255.255.255 neighbor 16.1.1.1 remote-as 100 6.PE设备双向导入 【R1】 router bgp 100 address-family ipv4 vrf A redistribute static show bgp vpnv4 unicast all #查看静态路由是否被充分进vrf A的BGP路由里 7.控制路由更新 PE之间更新的路由,以及注入哪个VRF 【R1】 ip vrf A route-target export 16:16 #来自R1路由打上RT标签 route-target import 47:47 #来自远方RT标签是47:47,就接收进此vrf 【看步骤4,你采用了是哪一种创建vrf的方法】 【R4】 vrf definition A rd 100:200 ! address-family ipv4 route-target export 47:47 route-target import 16:16 exit-address-family 8.完善数据转发层面(核心网的LDP) 【R1,R3,R4互连接口】 interface Ethernet0/0 mpls ip 9.验证 R6的环回口访问R7环回口 R6#ping 77.1.1.1 source lo0

 

posted @ 2021-02-02 15:48  森林326  阅读(849)  评论(0编辑  收藏  举报