思科Cisco MPLS多协议标签交换原理与配置操作详解

本文讲述了思科Cisco MPLS多协议标签交换原理与配置操作。分享给大家供大家参考,具体如下:
 

一、MPLS:多协议标签交换

1.1 IP数据转发方式

1.2 标签交换与传统数据包交换对比

1.3 MPLS的主要应用场景

1.4 控制层面和数据层面

1.5 MPLS模式

1.6 MPLS术语

二、MPLS的数据包格式

三、标签分发协议

3.1 标签分发时的注意点

四、MPLS的工作过程

4.1 倒数第二跳弹出(次末跳弹出)

五、MPLS配置

5.1 配置步骤


一、MPLS:多协议标签交换

  • 支持多种网络层协议,协议(3层)无关性,也叫2.5层协议
  • 基于标签交换进行数据转发

1.1 IP数据转发方式

  • 进程转发:每个数据包过来查找路由(与操作--->最长匹配---->递归查找),也叫基于数据包的转发

快速转发:每个流量中的第一个数据包进行路由查找,后续数据基于第一个数据包的缓存转发,一次路由、多次交换,也叫基于缓存的转发(区分源IP、目的IP、源端口、目的端口、协议号)

  • CEF:cisco私有,特快交换,所有数据包无需查看路由转发,直接查看CEF(FIB)表进行转发,该表项是自动适应路由表,也叫基于拓扑的转发方式;                                                                                  无需路由、直接交换,将路由表变为FIB表(递归完成后的表,目标对接口),ARP表变为ADJ表(接口+MAC),这两张表均为二进制表,可以被硬件直接编译,基于FIB+ADJ的综合表进行转发

1.2 标签交换与传统数据包交换对比

  • 标签交换转发效率优于传统数据包交换(已不明显)
  • MPLS支持MPLS VPN,支持MPLS TE。

1.3 MPLS的主要应用场景

  • 解决BGP的路由黑洞问题
  • MPLS VPN
  • MPLS TE(流量工程)

使用MPLS的前提是设置均基于CEF工作,还要保证IGP收敛。

  • 启动CEF后,表格可以被ASIC(硬件芯片)直接调用
  • CEF解决了递归的问题,便于MPLS生成标签转发表格
  • CEF工作后生成FIB表,只有FIB可以存储标签表

1.4 控制层面和数据层面

控制层面:通过IGP或EGP交互路由条目,生成路由表,然后CEF基于路由表生成FIB表;MPLS使用TDP/LDP基于FIB表中的每一条信息(本地所有的路由条目)生成一个标签号,然后告知所有邻居;

数据层面:普通的数据包将基于FIB表转发,若数据包中存在标签号基于LFIB进行转发,标签的impose和pop也是在数据层面生成

1.5 MPLS模式

  • Frame:帧模式,电路交换,二层协议为Ethernet、HDLC、PPP、FR(非ATM)
  • Cell:信元模式,ATM模式,带有标签的数据信元

1.6 MPLS术语

FEC:转发等价类,具有相同的处理方式的一类数据称为一个转发等价(基于目标IP,源IP,VPN地址,QoS行为,出接口)                                                                                                                                                                                                                LSR:标签交换路由器,标签交换(swap),查看数据包中的标签号然后基于LFIB表进行转发

E-LSR:边界标签交换路由器(PE),标签压入(impose)和弹出(pop)

LSP:标签交换路径

LIB:标签信息数库,存放本本路由器上针对所有FEC所分配的标签以及所有LDP邻居分配自己学习到的标签

LFIB:标签转发信息库,真正转发标签,由FIB和LIB共同生成,包含入标签和出标签

CE:客户端路由器,不工作于MPLS域,使用FIB表转发流量

二、MPLS的数据包格式

思科Cisco MPLS多协议标签交换原理与配置操作详解

  • Label:20bit,范围(16-2^20),0-15为保留标签
  • EXP:3bit,用于在label中标记标签中优先级,用来做QoS
  • S:1bit,栈底位,代表标签是否到达栈底S=0表示未到达栈底;S=1表示到达栈底,最多可以存在3层标签

思科Cisco MPLS多协议标签交换原理与配置操作详解

一层标签为普通MPLS,主要用于解决BGP路由黑洞

二层标签为MPLS VPN使用

三层标签为MPLS TE使用

  • TTL:8bit生存时间,用于MPLS label交换中防环,当标签号被impose时,将复制三层包头的TTL值,然后每经过一个路由器减1,当标签号被pop时,复制回IP包头中使用MPLS后,二层若依然为以太网封装,那么类型号将变化

0x8847 MPLS 单播

0x8848 MPLS 多播

三、标签分发协议

1.LDP和TDP

LDP:工业标准,基于TCP或UDP封装,使用端口号646,组播发送224.0.0.2(所有支持组播功能的路由器都接收该地址),支持认证

LDP邻居发现阶段:使用LDP的hello包建立邻居,不分配标签使用UDP方式,进行TCP三次握手

LDP的会话建立阶段:进行LDP初始化报文的发送,发送keepalive,并发送LDP的标签分发信息

TDP:cisco私有,应用层协议,基于TCP或UDP封装,使用端口号711,广播发送255.255.255.255,不支持认证

2.MP-BGP

3.RSVP

3.1 标签分发时的注意点

  • 标签分发仅具有本地意义
  • 标签分发是异步的
  • 标签分发只会给本地直连、静态以及IGP路由分发标签,不会为BGP路由分发标签。BGP不分发标签,只会在数据层面为路由条目的下一跳添加标签。
  • 标签分发、压入、弹出和交换通常只发生在运营商网络,客户端永远不可能收到带标签的报文。

四、MPLS的工作过程

当控制层面使用路由协议传递路由条目后,路由器上使用LDP/TDP为本地FIB表中每一条存在的路由条目均分配一个标签号,装载于LIB表中,同时传递给邻居,LIB中还记录邻居传递到本地标签号;之后路由器基于本地的FIB和LIB表生成LFIB(标签号的最佳对应路径)

数据层面工作时,第一跳路由器负责标签的impose,中间路由器基于标签号转发流量,进行标签号的替换,最后一跳路由器负责标签的pop。

入标签号为本地分配的标签号,出标签号为下一跳(下游)分配的标签号;存在上下游路由器的概念,基于数据层面定义

4.1 倒数第二跳弹出(次末跳弹出)

最后一跳路由器在默认情况下需要查看LFIB表后在查看FIB表,然后转发数据;PHP可以使倒数第二跳在已知出接口、下一跳等信息时便将标签号pop,然后基于出接口转发流量,导致最后一跳路由器仅查看FIB表

最后一跳路由器,将本地直连路由传递给邻居时使用label3来告知对方为倒数第二跳,非直连路由正常分配标签号;针对域外非直连路由,域内的最后一跳路由器需要查询两张表;建议PE路由器直接连接用于,不再连接其他路由器。

对于一条路由条目,如果该路由器路由表中该路由条目的出接口是一个没有启用MPLS的接口,则该接口就是最后一跳;或者该路由条目对应的下一跳邻居不是本地的TDP/LDP邻居时,该路由器同样为最后一跳路由器;只要一台路由器收到了关于一跳路由条目的标签是3,则该路由器就为倒数第二跳路由器

pop标签仅弹出最上层标签,仅仅只是倒数第二跳;untagged标签弹出所有标签,意味着离开了MPLS域。

倒数第一跳路由器向倒数第二跳路由器发送一个label3空标签,使倒数第二跳路由器提前弹出标签

五、MPLS配置

5.1 配置步骤

  • 运行IGP
  • 启用CEF(cisco设备默认开启CEF)
  • 在接口上启用MPLS
  • 修改链路MTU

物理接口启用MPLS,在标签号所有需要经过的接口上配置

思科Cisco MPLS多协议标签交换原理与配置操作详解

思科Cisco MPLS多协议标签交换原理与配置操作详解

修改接口MTU

思科Cisco MPLS多协议标签交换原理与配置操作详解

修改MPLS标签的范围

思科Cisco MPLS多协议标签交换原理与配置操作详解

修改Root ID为接口s0/1的地址;回车重启生效,force立即生效

思科Cisco MPLS多协议标签交换原理与配置操作详解

协议开启后,邻居间使用hello建邻,生成邻居表

存在Root ID,选举同OSPF一致。Root ID同时作为了建立TCP会话的源目IP,若存在环回,那么默认使用环回作为Root ID,此时就必须将环回宣告到路由协议中

思科Cisco MPLS多协议标签交换原理与配置操作详解

当邻居关系建立后,邻居间会将基于FIB表生成的标签号传递给邻居,保存于LIB表中,之后将LIB表和FIB表进行结合,生成LFIB表,基于该表进行标签流量转发

思科Cisco MPLS多协议标签交换原理与配置操作详解

思科Cisco MPLS多协议标签交换原理与配置操作详解

用traceroute测试MPLS

思科Cisco MPLS多协议标签交换原理与配置操作详解

让R2只把某些路由分发的标签传递给邻居,实现标签分发的过滤

思科Cisco MPLS多协议标签交换原理与配置操作详解