实验详解手工指定MPLS的LSP(Huawei设备)

采用静态手工指定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 --> R4

R2 --> R4
[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

3、静态指定LSP的路径与label R4 --> R2

R4 --> R2
[R4]static-lsp ingress toR2 destination 10.1.2.2 32 nexthop 10.1.34.3 outgoing-i
nterface Serial 4/0/0 out-label 43

[R3]static-lsp transit B incoming-interface Serial 4/0/1 in-label 43 nexthop 10.
1.23.2 outgoing-interface Serial 4/0/0 out-label 32

[R2]static-lsp egress toR2 incoming-interface Serial 4/0/0 in-label 32

此时在R2上pingR4就可以看到去和回都是由label的,去的是23 回的是32
在这里插入图片描述

分析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的标签包,R3作为一个Transit,收到R2发来的标签包(labeled packet),R3查询LFIB,先看ILM(INCOMING LABEL MAP ) (入接口,入标签,token),关联tunnelID(token) 0X1,指向NHLFE,由于tunnel ID不为0,那么就执行MPLS 转发,交换标签,从23换到34 ,如下是ILM和NHLFE的信息
在这里插入图片描述
在R3的两个接口分别抓包,可以看到两个标签,进来的label是23 出去的是34
在这里插入图片描述
4、当这个带着34的label包来到R4上后,R4就会查看LSP信息,因为这是一个label包,R4是egress设备,则对于收到label包会将其标签进行弹出操作,这样就成为了一个IP包,然后查询本地的FIB,根据吓一条进行IP的报文转发

在这里插入图片描述
在这里插入图片描述

R4 -> R2

1、首先在R4上查询10.1.2.2这个IP包的FIB,信息起源为自己的环回,即这个包是一个IP包,查询后发现这个IP包是有Tunnel ID 的,说明此IP包存在LSP信息,需要查询MPLS的LSP,也可以根据tunnel-info查询这个路由的LSP转发信息
在这里插入图片描述

2、R4作为一个ingress设备,要对一个进入MPLS-domain的IP包进行push label的操作,可见其对10.1.2.2/32这个FEC压入了一个43的label,重点还是关注NHLFE
在这里插入图片描述
3、当这个带着43的label来到R3后,R3作为一个Transit设备,收到的肯定是带label的包,查询自身的LFIB,检索出其中的NHLFE;将43的label swap成32,R3上抓包也可以看出来

在这里插入图片描述
在这里插入图片描述
4、当这个带着32label的包来到R2后,R2作为一个egress设备,首先收到一个label的包,先查LFIB,检索出其中的NHLFE,会做一个pop的操作,将in-label的32 弹出,使其变成一个IP包;然后查FIB进行转发

在这里插入图片描述

总结

LSP的生成过程

第一步:首先运行IGP 控制层面学习路由表项,将路由跑通,生成RIB,根据其生成FIB

第二部:运行LDP(label distrubetion protal)每个router生成LIB,根据FIB和LIB 生成最优in out label,即LFIB;或手工配置static-lsp 指定路由的in outlabel,即手工生成lsp(label switching path)

几种表的查询方式

RIB:dis ip routing-table
FIB:dis fib
LIB: dis mpls ldp lsp
LFIB:dis mpls lsp

MPLS-domain中的几种角色和处理动作

LER label edge router
- Ingress 进
- Egress 出
LSR label switching router
- transit MPLS域的中间节点。完全处于mpls domain中

处理动作
- ingress:push  进入MPLS域的报文;在ingress上封装标签,由原本的IP包变成label包
- transit:swap  在MPLS域中,transit设备将旧标签剥离,并打上新的标签
- egress :pop  在egress设备上,将标签剥离,由label包变成IP包

LFIB的架构

LFIB架构:
1、ILM in-label mapping 目的:判断收不收
2、tunnel-id/Token
[R2]dis tunnel-info tunnel-id 0x1
3、NHLFE nexthop label forwarding entry 下一跳转发条目 目的:发不发,怎么发

FIB中的Tunnel ID是什么

FIB 的tunnelID是决定此数据包是IP转发还是标签转发的依据;FIB中的tunnelID对应到dis mpls verbose中的token


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值