思科Cisco MPLS多协议标签交换原理与配置操作详解
本文讲述了思科Cisco MPLS多协议标签交换原理与配置操作。分享给大家供大家参考,具体如下:
一、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的数据包格式
- Label:20bit,范围(16-2^20),0-15为保留标签
- EXP:3bit,用于在label中标记标签中优先级,用来做QoS
- S:1bit,栈底位,代表标签是否到达栈底S=0表示未到达栈底;S=1表示到达栈底,最多可以存在3层标签
一层标签为普通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,在标签号所有需要经过的接口上配置
或
修改接口MTU
修改MPLS标签的范围
修改Root ID为接口s0/1的地址;回车重启生效,force立即生效
协议开启后,邻居间使用hello建邻,生成邻居表
存在Root ID,选举同OSPF一致。Root ID同时作为了建立TCP会话的源目IP,若存在环回,那么默认使用环回作为Root ID,此时就必须将环回宣告到路由协议中
当邻居关系建立后,邻居间会将基于FIB表生成的标签号传递给邻居,保存于LIB表中,之后将LIB表和FIB表进行结合,生成LFIB表,基于该表进行标签流量转发
用traceroute测试MPLS
让R2只把某些路由分发的标签传递给邻居,实现标签分发的过滤
相关文章
- 这篇文章主要介绍了思科Cisco PPP协议原理与配置方法,结合实例形式分析了思科PPP协议的基本原理、配置命令与相关操作注意事项,需要的朋友可以参考下2020-03-30
- 这篇文章主要介绍了思科Cisco路由器OSPF动态路由配置实验,结合实验案例形式详细分析了思科Cisco路由器OSPF动态路由配置的相关概念、原理、配置命令与操作注意事项,需要的朋2020-03-29
- 这篇文章主要介绍了思科Cisco路由器RIP动态路由配置实验,结合实验案例形式分析了思科Cisco路由器RIP动态路由配置原理、步骤、操作命令与相关注意事项,需要的朋友可以参考下2020-03-29
- 这篇文章主要介绍了思科Cisco MGRE配置实验,详细分析了思科MGRE配置的实验要求、步骤、以及相关配置命令,需要的朋友可以参考下2020-03-24
- 这篇文章主要介绍了思科Cisco基于IPv6的数据包分析,结合实验案例形式分析了针对思科Cisco 的ipv6数据包分析相关实现技巧,需要的朋友可以参考下2020-03-18
- 这篇文章主要介绍了思科Cisco利用三层交换机实现VLAN间路由实验,详细分析了思科Cisco三层交换机实现VLAN间路由的具体原理、步骤、配置命令与相关操作注意事项,需要的朋友可2020-03-18
- 这篇文章主要介绍了思科Cisco基于服务器的AAA实验,结合具体实验案例形式分析了服务器AAA认证具体原理、配置实现技巧与操作注意事项,需要的朋友可以参考下2020-03-13
- 这篇文章主要介绍了思科cisco路由器dhcp动态分配ip地址实现方法,总结分析了思科Cisco路由器dhcp动态分配ip地址相关原理、配置命令与使用技巧,需要的朋友可以参考下2020-03-10
- 这篇文章主要介绍了思科CISCO交换机间链路聚合端口聚合实现方法,结合实例形式详细分析了思科CISCO交换机间链路聚合端口聚合具体原理、配置方法与相关操作注意事项,需要的朋2020-03-05
思科CISCO VLAN、TRUNK 和 VTP 功能与原理简介
这篇文章主要介绍了思科CISCO VLAN、TRUNK 和 VTP 功能与原理,简单总结分析了思科CISCO VLAN、TRUNK 和 VTP 基本功能、原理、特点与相关注意事项,需要的朋友可以参考下2020-03-05
最新评论