文章目录
采用静态手工指定label的方式配置MPLS的LSP
MPLS中对于LSP(label switching path)有两种方式,手工静态指定、LDP(label distribute protocol),本实验采用前者的方式,详细分析LSP在转发数据报文中是如何查表(RIB、FIB、LIB、LFIB)的
几种表项的区别
RIB:路由转发信息库,根据控制层面的协议计算出来的一个转发信息库
FIB:FIB是根据RIB生成的,区别在于RIB是需要进行递归查找的,FIB则不需要
LIB:label information base根据FIB生成LIB,用于转发标签包
LFIB:FIB和LIB共同构建出LFIB,用于转发标签包
实验拓扑
说明:
- domain内的网段信息为10.1.xy.z/24 xy为两台路由器的编号,z为路由器本身的编号
- 灰色部分书MPLS的domain,R2、R3是作为MPLS-doamin的边界,即LER( label edge router),完全处在domain内部的是LSR(label switching router);灰色部分的地方底层要打通IGP,本实验采用了OSPF 三台router均在area 0中
- 处于边界的LER设备其实即作为ingress,也作为egress
配置思路与过程
IGP–OSPF
MPLS-doamin底层的IGP,此处不多过多赘述,配置如下所示
[R2]dis cu con ospf
[V200R003C00]
#
ospf 1 router-id 10.1.1.1
area 0.0.0.0
network 10.1.2.2 0.0.0.0
network 10.1.23.2 0.0.0.0
#
return
[R3]dis cu con ospf 1
[V200R003C00]
#
ospf 1 router-id 10.1.3.3
area 0.0.0.0
network 10.1.3.3 0.0.0.0
network 10.1.23.3 0.0.0.0
network 10.1.34.3 0.0.0.0
#
return
[R4]dis cu con ospf
[V200R003C00]
#
ospf 1 router-id 10.1.4.4
area 0.0.0.0
network 10.1.4.4 0.0.0.0
network 10.1.34.4 0.0.0.0
#
return
此时,使用R2的lookback ping R4 抓包可以看到这是一个IP包
关于IP包就进行查表转发,注意查询的是FIB,FIB是根据RIB生成的,区别在于RIB是需要进行递归查找的,FIB则不需要
LSP–MPLS
1、首先要使MPLS-domain中的路由器与接口使能MPLS
mpls lsr-id x.x.x.x
mpls
int g0/0/x
mpls
2、静态指定LSP的路径与label
[R2]static-lsp ingress toR4 destination 10.1.4.4 32 nexthop 10.1.23.3 outgoing-i
nterface Serial 4/0/0 out-label 23
[R3]static-lsp transit A incoming-interface Serial 4/0/0 in-label 23 nexthop 10.
1.34.4 outgoing-interface Serial 4/0/1 out-label 34
[R4]static-lsp egress toR4 incoming-interface Serial 4/0/0 in-label 34
这样一来针对于R2上针对10.1.4.4的这条路由就有了MPLS-LSP的路径,此刻在R2上pingR4 抓包查看
可见,R2去R4的数据报文中在2.5层就出现了MPLS的封装信息;而回来的包是没有的,这是因为回来的报文并没有MPLS的LSP
分析LSP与LFIB
R2 -> R4
1、首先R2上查询10.1.4.4的FIB信息,因为入口是一个IP包,以R2的环回口为源头;发现这个路由是由Tunnel ID的(并不是0x0),说明这个数据报文是要进行标签的转发的
2、检查LFIB,重点关注NHLFE(nexthop label forwarding entry);下一跳,出接口,标签,操作类型:加入、压入标签23
3、此时IP包经过R2后就变成了一个标签包,此时R3收到一个label为23的标签包
总结
几种表的查询方式
RIB:dis ip routing-table
FIB:dis fib
LIB: dis mpls ldp lsp
LFIB:dis mpls lsp
LFIB的架构
LFIB架构:
1、ILM in-label mapping 目的:判断收不收
2、tunnel-id/Token
[R2]dis tunnel-info tunnel-id 0x1
3、NHLFE nexthop label forwarding entry 下一跳转发条目 目的:发不发,怎么发