术语

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结构

  1. 体系结构
    A:IP路由协议建立邻居,交互路由信息,生成IP路由表。
    B:标签交换协议从IP路由表中获取路由信息。IP路由表中的路由前缀匹配了FEC(转发等价类,Forwarding Equivalence Class),在传统的采用最长匹配算法的IP转发中,到同一条路由的所有报文就是一个FEC。
    C:IP路由表中激活的最优路由生成IP转发表。
    D:标签转换协议建立邻居,为FEC分配标签并发布给邻居,同时获取邻居发布的标签,生成标签转发表。
  2. MPLS网络的基本组成单元是标签交换路由器LSR(Label Switching Router):
    • 位于MPLS域边缘、连接其它网络的LSR称为边沿路由器LER(Label Edge Router),如果一个LSR有一个或多个不运行MPLS的相邻节点,那么该LSR就是LER。
    • 区域内部的LSR称为核心LSR(Core LSR),如果一个LSR的相邻节点都运行MPLS,则该LSR就是核心LSR。

要点

  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的基本配置步骤

    • ip cef #全局开启cef
    • mpls ip #全局
    • mpls ip #接口下开启mpls
    • mpls ldp route-id
    • mpls label protocols #mpls采用哪种协议,一般是ldp
    • ospf的LSP端点的环回口子网掩码 #不是/32会出现标签断裂
    • 测试LSP

常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#######################################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 #测试标签通道是否畅通