当前位置: 首页 > news >正文

计算机网络:(十一)多协议标记交换 MPLS

计算机网络:(十一)多协议标记交换 MPLS

  • 前言
  • 一、传统网络的问题
  • 二、MPLS:给数据包贴个“标签”
  • 三、MPLS的工作流程
    • 1. 入站
    • 2. 中间
    • 3. 出站
  • 四、MPLS的能力


前言

  • 前面我们讲解了计算机网络中网络层的相关知识,包括网络层转发分组的过程、网际控制报文协议(ICMP),以及网络层的重要概念和网际协议(IP),互联网的路由选择协议、IPV6与IP多播

  • 接下来,我们继续讲解计算机网络中网络层的其他知识

我的个人主页,欢迎来阅读我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343
我的计算机网络专栏,欢迎来阅读
https://blog.csdn.net/2402_83322742/category_12909527.html


一、传统网络的问题

  • 我们知道,网络中的数据包要从A到B,得靠路由器转发。
    在这里插入图片描述

  • 传统的IP路由转发有个特点:每经过一个路由器,都要拆开数据包的IP头,查一遍路由表,确定下一跳

就像我们寄快递,每个中转站都要拆开包裹看收件人详细地址(省、市、区、街道),再决定发往下一个中转站。如果是全国性的大物流网络,每天上亿个包裹,每个都拆包查地址,效率肯定低。

在大型网络(比如运营商骨干网、企业跨地域网络)中,数据包要经过几十上百个路由器,传统路由的“逐跳查路由表”就成了瓶颈——速度慢,还难保证转发的稳定性

二、MPLS:给数据包贴个“标签”

在这里插入图片描述

MPLS(多协议标记交换)的核心思路很简单:在数据包进入网络前,先给它贴一个“标记”,后面的转发设备不用再查详细地址,看这个标记就知道往哪送

类比一下:快递总部先给每个包裹贴个“区域标签”(比如“华北区”“华东区”),中转站看到标签,不用拆包看详细地址,直接按标签送到对应大区的分拣中心,最后再拆标签处理细节。

三、MPLS的工作流程

1. 入站

当数据包第一次进入MPLS网络时(比如从你的公司内网进入运营商骨干网),第一个处理它的设备(叫“入站LSR”,可以理解为“入口标记路由器”)会做两件事

  • 查路由表,确定这个数据包最终要去哪;
  • 给它分配一个“标记”(比如数字“5”),并把“标记5→下一跳”记在自己的“标记转发表”里;
  • 给数据包戴上这个标记(就像给包裹贴标签),然后发往下一跳。

2. 中间

中间的路由器(叫“中间LSR”)收到带标记的数据包后不查IP路由表,只看标记

  • 比如收到标记“5”,直接查自己的“标记转发表”:“标记5→下一跳是设备X”;
  • 把数据包转发给设备X,甚至可以换个新标记(比如设备X的标记表中“5”对应“8”,就把标记换成8再发)。

这里的关键是:标记是“局部”的,每个设备的标记表只在自己范围内有效(就像不同中转站的标签编码可能不同,但不影响整体流程)。

3. 出站

当数据包快离开MPLS网络时(比如从运营商骨干网进入目标公司内网),最后一个设备(叫“出站LSR”)会撕掉标记,让数据包恢复成普通IP包,按传统路由方式送到最终目的地。

四、MPLS的能力

  1. 速度快:中间设备不用逐跳查路由表,查标记转发表(类似“字典查字”)比查路由表(类似“翻书找章节”)快得多,适合大型网络。

  2. 支持“多协议”:不管数据包是IP、以太网还是ATM格式,都能贴标记转发(这就是“多协议”的由来),兼容性强。

  3. 轻松实现“特殊需求”

    • 比如“QoS(服务质量)”:给高优先级的数据包(如视频通话)贴特殊标记,让网络优先转发;
    • 比如“VPN”:不同企业的数据包贴不同标记,即使走同一条物理线路,也能隔离成独立的“虚拟通道”,互不干扰。

以上就是本篇博客的全部内容,下一篇我们继续探讨计算机网络里面的知识。

我的个人主页,欢迎来阅读我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343
我的计算机网络专栏,欢迎来阅读
https://blog.csdn.net/2402_83322742/category_12909527.html

如果您觉得内容对您有帮助,欢迎点赞收藏,您的支持是我创作的最大动力!

在这里插入图片描述

http://www.lryc.cn/news/593018.html

相关文章:

  • 结合python面向对象编程,阐述面向对象三大特征
  • 软件设计师之开发模型
  • HTML5中的自定义属性
  • 从Prompt到结构建模:如何以数据驱动重构日本语言学校体系?以国际日本语学院为例
  • World of Warcraft [CLASSIC] The Ruby Sanctum [RS] Halion
  • 在 .NET Core 中创建 Web Socket API
  • Kotlin泛型约束
  • NLP中情感分析与观念分析、价值判断、意图识别的区别与联系,以及四者在实际应用中的协同
  • RabbitMQ—事务与消息分发
  • espidf启用vTaskList方法
  • 使用MATLAB探索圆周率π的奇妙计算之旅
  • day25 力扣90.子集II 力扣46.全排列 力扣47.全排列 II
  • bws-rs:Rust 编写的 S3 协议网关框架,支持灵活后端接入
  • VBA 运用LISTBOX插件,选择多个选项,并将选中的选项回车录入当前选中的单元格
  • 关于NUC+雷达+倍福组网交换机是否完全足够的问题(是否需要一个路由器)
  • 软考 系统架构设计师系列知识点之杂项集萃(113)
  • WPF为启动界面(Splash Screen)添加背景音乐
  • 【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - snowNLP库实现中文情感分析
  • 标准文件和系统文件I/O
  • 车载刷写框架 --- 关于私有节点刷写失败未报引起的反思
  • 《命令行参数与环境变量:从使用到原理的全方位解析》
  • 移除debian升级后没用的垃圾
  • laravel RedisException: Connection refused优雅草PMS项目管理系统报错解决-以及Redis 详细指南-优雅草卓伊凡
  • 2025第15届上海国际生物发酵展:聚焦合成生物与绿色制造,共启生物经济新时代
  • Rust Web 全栈开发(十):编写服务器端 Web 应用
  • 医疗AI与融合数据库的整合:挑战、架构与未来展望(下)
  • 【C# in .NET】19. 探秘抽象类:具体实现与抽象契约的桥梁
  • xss的利用
  • CS231n-2017 Lecture2图像分类笔记
  • Kafka深度解析:架构、原理与应用实践