MPLS工作过程

2024-06-13 09:36
文章标签 工作 过程 mpls

本文主要是介绍MPLS工作过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

控制层面:
1) 在没有 MPLS 时控制层面仅生成 RIB(路由表)和 FIB(转发信息数据库);FIB 是基于 RIB生成;

2) 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表已经生成;

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

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

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

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

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

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


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


注:控制层面生成的表格
RIB-》FIB---》 LIB---》 LFIB       前两张表为路由协议工作后生成,后两张表为 MPLS 的LDP协议生成;

这篇关于MPLS工作过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1056932

相关文章

kotlin中的模块化结构组件及工作原理

《kotlin中的模块化结构组件及工作原理》本文介绍了Kotlin中模块化结构组件,包括ViewModel、LiveData、Room和Navigation的工作原理和基础使用,本文通过实例代码给大家... 目录ViewModel 工作原理LiveData 工作原理Room 工作原理Navigation 工

Spring Security注解方式权限控制过程

《SpringSecurity注解方式权限控制过程》:本文主要介绍SpringSecurity注解方式权限控制过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、摘要二、实现步骤2.1 在配置类中添加权限注解的支持2.2 创建Controller类2.3 Us

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

SpringBoot集成图片验证码框架easy-captcha的详细过程

《SpringBoot集成图片验证码框架easy-captcha的详细过程》本文介绍了如何将Easy-Captcha框架集成到SpringBoot项目中,实现图片验证码功能,Easy-Captcha是... 目录SpringBoot集成图片验证码框架easy-captcha一、引言二、依赖三、代码1. Ea

pycharm远程连接服务器运行pytorch的过程详解

《pycharm远程连接服务器运行pytorch的过程详解》:本文主要介绍在Linux环境下使用Anaconda管理不同版本的Python环境,并通过PyCharm远程连接服务器来运行PyTorc... 目录linux部署pytorch背景介绍Anaconda安装Linux安装pytorch虚拟环境安装cu

SpringBoot项目注入 traceId 追踪整个请求的日志链路(过程详解)

《SpringBoot项目注入traceId追踪整个请求的日志链路(过程详解)》本文介绍了如何在单体SpringBoot项目中通过手动实现过滤器或拦截器来注入traceId,以追踪整个请求的日志链... SpringBoot项目注入 traceId 来追踪整个请求的日志链路,有了 traceId, 我们在排

Spring Boot 3 整合 Spring Cloud Gateway实践过程

《SpringBoot3整合SpringCloudGateway实践过程》本文介绍了如何使用SpringCloudAlibaba2023.0.0.0版本构建一个微服务网关,包括统一路由、限... 目录引子为什么需要微服务网关实践1.统一路由2.限流防刷3.登录鉴权小结引子当前微服务架构已成为中大型系统的标

Java中对象的创建和销毁过程详析

《Java中对象的创建和销毁过程详析》:本文主要介绍Java中对象的创建和销毁过程,对象的创建过程包括类加载检查、内存分配、初始化零值内存、设置对象头和执行init方法,对象的销毁过程由垃圾回收机... 目录前言对象的创建过程1. 类加载检查2China编程. 分配内存3. 初始化零值4. 设置对象头5. 执行

SpringBoot整合easy-es的详细过程

《SpringBoot整合easy-es的详细过程》本文介绍了EasyES,一个基于Elasticsearch的ORM框架,旨在简化开发流程并提高效率,EasyES支持SpringBoot框架,并提供... 目录一、easy-es简介二、实现基于Spring Boot框架的应用程序代码1.添加相关依赖2.添

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入