MPLS工作过程

控制层面:路由协议工作,生成RIB-FIB,流量的方向即为控制流量;

数据层面:设备基于路由表访问目标,产生数据流量;与控制层面方向相反;

控制层面:

  1. 在没有 MPLS 时控制层面仅生成 RIB(路由表)和 FIB(转发信息数据库);FIB 是基于 RIB生成;
  1. MPLS协议会启动 TDP (cisco 私有) 或 LDP(公有),直连设备间将建立邻居关系;

LDP------基于UDP 和 TCP 的646 端口工作;先使用 udp 发送组播hello 包发现邻居,获取邻居 ip地址,再和该直连邻居建立 TCP的会话;邻居关系建立后;为了邻居关系间的稳定,一般使用设备的环回地址来建立 tcp 会话;建议设置环回地址为 mpls 协议的route-id,该id 值将携带在组播收发的 hello 报文中,之后自动进行tcp会话;

总结:MPLS协议需要在直连邻居间使用 router-id 地址来进行TCP 的会话;故前提条件为,route-id 必须为设备真实使用的ip 地址,建议为环回地址------稳定;

组播 hello 包在直连的物理接口上收发来获取对端的router-id;自然也要求router-id 值间路由可达;

因此正常在建立 LDP 的邻居关系前,路由协议已经收敛完成,RIB和FIB表已经生成;

  1. MPLS 在建立邻居关系后,生成邻居表;LDP协议再基于FIB 表中学习到的路由条目生成标签号;

cisco 设备默认基于FIB表中所有学习到的路由条目生成标签号,华为设备默认仅基于FIB 表中 32 位掩码的主机路由生成标签号;原因在于正常 32位主机路由为 ospf 学习的环回接口,正常工程中只有 BGP和 MPLS VPN 才会基于环回通讯,使用标签转发;

其他普通流量还是基于特快包交换来进行;

反观cisco 在启动 mpls 以后,所有流量将基于标签转发,降低了转发效率(前提为默认)

  1. 标签号生成后,将存储于本地的 LIB 表------标签信息数据库;LIB 表将在邻居间共享;

LIB表中装载本地及邻居为每条路由分发的标签号;

  1. 运行MPLS 协议的设备,将LIB和FIB 进行结合,将标签号和最佳路径的关系映射生成 LFIB 表(标签转发信息数据库)

注:控制层面生成的表格

RIB-》FIB---》 LIB---》 LFIB 前两张表为路由协议工作后生成,后两张表为 MPLS 的LDP协议生成;

相关推荐
风曦Kisaki5 分钟前
Kubernetes(K8s)笔记Day07: StatefulSet 有状态控制器详解与使用案例
linux·docker·云原生·容器·kubernetes
不相心 -w-6 分钟前
Cmake的基础用法
linux·开发语言·c++
paopaokaka_luck9 分钟前
基于springboot3+vue3的乡村医生诊疗管理系统(AI助手、协同过滤算法、webSocket实时聊天、Echarts图形化分析)
前端·网络·人工智能·spring boot·websocket·网络协议·echarts
热心市民R先生11 分钟前
IgH EtherCAT Master 1.5 全流程安装部署手册(Git 源码版 + 内核源码修改 + 实时内核适配)
网络·机器人
程序猿乐锅17 分钟前
【计算机网络 | 第三章】数据链路层
网络·网络协议·计算机网络
深爱水瓶 血影S狂风18 分钟前
Linux.NET学习手记(2)
linux·学习·.net
张文君18 分钟前
docker registry 删除镜像
运维·docker·容器
爱喝水的鱼丶29 分钟前
SAP-ABAP:调试器高级工具使用——内表分析、SQL追踪、内存检查功能实操
运维·sql·性能优化·sap·abap·经验交流
XiangrongZ30 分钟前
debian中配置stm32的交叉编译环境
运维·stm32·debian
cuiyaonan200036 分钟前
some weird issues regarding docker
运维·docker·容器