《图解TCP/IP》阅读笔记(第七章 7.7)——MPLS 多协议标记交换技术

news2024/11/19 6:30:21

7.7 MPLS

由小而大的讲完了三种路由协议RIP、OSPF、BGP之后,我们来看在转发IP数据包时使用到的另外一种技术——标记交换技术

路由技术基于IP地址中的最长匹配原则进行转发,而标记交换则对每个IP包都设定一个叫做“标记”的值,根据该标记进行转发。

标记交换技术中最具代表性的属于多协议标记交换技术(Multi Protocol Label Switching,MPLS)

image-20221226213452791

MPLS的标记不像MAC地址直接对应到硬件设备,他不需要具备以太网或者ATM等数据链路层协议的作用,而只需要关注它与下面一层IP之间的功能和协议即可。

由于基于标记的转发通常无法在路由器上进行,所以MPLS也就无法被整个互联网采用。如下图所示,其转发处理方式与IP也有所不同。

此图中第一个明显的不同之处在于“路由器”。MPLS网络中实现MPLS功能的路由器叫做标记交换路由器(LSR,Label Switching Router),特别注意的是,与外部网络连接的那部分LSR叫做标记边缘路由器(LER,Label Edge Router)。MPLS正是在LER上对数据包进行追加标记和删除标记操作的。

image-20221226214453043

在一个数据包上附加标记十分简单,如果数据链路本来就有一个相当于标记的信息,那么可以直接进行映射。如果没有携带任何相当于标记的信息(最典型的就是以太网),那么就需要追加一个全新的垫片头(Shim Header),这个垫片头中就包含标记信息。

下图则展示了数据从以太网的IP网开始,经过MPLS网再发送给其他IP网的整个转发过程。数据包进入MPLS时,在其IP首部的前面被追加了32bits的垫片头(其中包含20bits的标记值)。MPLS网络内,根据垫片头中的标记进一步转发。当数据离开MPLS时,垫片头就被去除。

在这个过程中,附加标记转发的动作称为Push ,替换标记转发的动作为Swap,去掉标记转发的动作为Pop

image-20221226215435615

MPLS中目标地址和数据包(称为FEC,Forwarding Equivalence Class,指具有相同特性的报文)都要通过由标记决定的同一个路径,称作标记交换路径(LSP,Label Switch Path)。LSP可以划分为一对一连接的点对点LSP,和一对多绑定的合并LSP两类。

扩展LSP也有两种方式,一是通过各个LSR向自己邻接的LSR分配MPLS标记,二是由路由协议载着标记信息进行交互。LSP本身属于单方向的通路,如果需要双向的通信则需要两个LSP。

image-20221226215852223


听起来有些一头雾水,因为此前的知识中虽然有可能读者初次了解,但现实中接触的仍算是较多的,理解起来也容易,而对于这块内容,甚至连听说也没听说过。本书的宗旨,是以图解的形式介绍一些较为基本的内容,所以理解就好,

MPLS的优势可以归纳为两点。

一,转发速度快。通常,路由器转发IP数据包时,首先要对目标地址和路由控制表中可变长的网络地址进行比较,然后从中选取最长匹配的路径才能进行转发。MPLS则是使用固定长度的标记信息,略过了比较长度这一步,使得处理更加简单,可以通过高速的硬件实现转发。且由于MPLS只需要设置必要的几处信息,所要处理的数据量相较于主干路由器需要保存大量路由表而言,也大幅度减少。而且除了IPv4、IPv6以外,对于其他协议,MPLS仍然可以实现高速转发。

二,在于利用标记生成虚拟路径,在之上实现IP等数据包的通信。基于这些特点,被称为“尽力而为(Best-Effort)”的IP网也可以基于MPLS提供通信质量控制、带宽保证和VPN等功能。

本篇小结

本篇的内容为转发IP数据包时用到的另一种技术——标记交换技术。

标记交换对每个IP包都设定一个叫做“标记”的值,根据该标记进行转发,其中最具代表性的属于多协议标记交换技术(Multi Protocol Label Switching,MPLS)。但由于基于标记的转发通常无法在路由器上进行,所以MPLS也就无法被整个互联网采用。

MPLS网络中实现MPLS功能的路由器叫做标记交换路由器(LSR,Label Switching Router),特别注意的是,与外部网络连接的那部分LSR叫做标记边缘路由器(LER,Label Edge Router)

其转发操作依赖于在数据包上附加的标记,如果没有类似于以太网中数据链路的标记信息,就需要追加一个叫做垫片头(Shim Header)的东西。

以下图为例,垫片头为32位,标记值为20bits,附加标记转发的动作称为Push ,替换标记转发的动作为Swap,去掉标记转发的动作为Pop
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6uRdm2Au-1672223841799)(https://farewellyi-pic-bed.oss-cn-hangzhou.aliyuncs.com/img/202212281832529.png)]

MPLS中需要标记交换路径(LSP,Label Switch Path)进行数据的转发。

其优势在于:1、转发速度快,因为缺少了比较网络地址的部分;2、在于利用标记生成虚拟路径,被称为“尽力而为(Best-Effort)”的IP网也可以基于MPLS提供通信质量控制、带宽保证和VPN等功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/124969.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构与算法-堆

什么堆 堆是一种特殊的数据结构,是最高效的优先级队列。可以被看作是一颗完全的二叉树表达的数组对象。 堆的定义 1、必须是一颗完全二叉树 完全二叉树就是子节点必须从左到右都是完整的,没有缺失。 2、用数组表示看作完全二叉树的堆 假设&#xff1a…

基于MYSQL的互联网药品交易系统数据库设计项目实战

说明:这是一个数据库课程设计实战项目(附带代码文档视频讲解),如需代码文档视频讲解可以直接到文章最后获取。 项目背景 疫情期间实体经济收到打击,实体药店经营困难,医院也面临着疫情患者的压力运转着&…

window安装Docker Desktop for Windows(基于WSL2)

目录一 什么是Ducker二 安装Ducker1 window for Linux子系统环境搭建1.1 打开系统虚拟机平台和WSL(适用于Linux的window子系统)1.2安装WSL21.3为什么用wsl2,不用wsl11.4 下载集成支持linux内核的wsl21.5 设置WSL默认版本二、安装Ubuntu20.04LTS1 打开Microsoft Stor…

解析某音短视频X-Bogus

文章目录写在前面目标正向梳理主要加密函数主要算法解析逆向梳理结论测试进阶写在后面写在前面 首先推荐一篇资料: 某音短视频 X-Bogus 逆向分析,JSVMP 纯算法还原 这篇文章介绍了通过插桩日志抠算法的过程,很有参考价值。 文章已经实现的部…

什么是外汇跟单?外汇MT4自动跟单系统靠谱吗?

对于很多刚刚进入外汇市场的新手投资者而言,必须踏踏实实学习基础知识和交易技巧,才能在外汇市场获取盈利,因为在没有任何专业知识的情况下,想要在外汇市场盈利是一件非常艰难的事情。而一些脑洞大开的外汇新手投资者却在思考&…

第7章 分页之模型分页(物理分页)

模型分页主要通过前端页面中的分页控件,向后端指定路由(控制器行为方法),传递相等的参数,然后间接的通过后端程序从数据库指定表中获取一些指定行的数据,然后把这些数据在前端页面渲染显示出来。模型分页的主要用于前端页面与后端…

Java开发 - 数据库索引的数据结构

目录 前言 题外话 什么是索引 索引的使用场景 索引的失效瞬间 索引的数据结构 Tree BTree BTree 索引提高查询效率的原因 索引的分类 innodb的特点 聚簇索引 非聚簇索引 索引操作 创建索引 查询索引 删除索引 外键 结语 前言 上一章中讲解了慢sql优化的方…

快速诊断I/O性能问题

背景客户反馈最近一段时间数据库运行缓慢,磁盘的压力很大,现在有两种不同的分析结论,存储设备性能下降和数据库压力变大,请我们进行系统的分析,给一个结论 现象 登录SQL专家云,进入性能指标页面&#xff0c…

跨境电商小白:一件代发是什么?为什么要选择Starday一件代发?

近两年经济形势比较复杂多变,许多人面临就业难、职场改革、行业转型等困境,而跨境电商行业在此形势下依靠着国家优惠政策以及中国高质量产品在海外市场获得越来越多的份额。随着跨境电商行业发展规模的扩大,越来越多人选择加入到跨境电商赛道…

【实时数仓】省份交易额统计接口、新老访客对比接口、访客分时统计接口

文章目录一 省份交易额统计接口1 Sugar配置(1)图表配置(2)接口地址(3)数据格式(4)执行SQL2 数据接口实现(1)创建地区交易额统计实体类ProvinceStats&#xff…

Kafka基础_2

Kafka系列 注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等,Spark Flink Kafka Hbase …

18-RocketMQ源码解读

NameServer启动 1、功能回顾 NameServer的核心作用 一是维护Broker的服务地址并进行及时的更新。 二是给Producer和Consumer提供服务获取Broker列表。 2、启动流程-源码重点 整个NameServer的核心就是一个NamesrvController对象。这个controller对象就跟java Web开发中的Contr…

3D可视化大屏是如何实现的?

3D可视化是指拥有3D效果的数据可视化,对于所要展示的数据可视化内容还原出真实场景,并实时接入数据,在面对复杂操作时灵活应对,使得整个场景在大屏上的展示更具立体、更具科技感、更具易用性。 物联网时代,可视化大屏的…

【发表案例】传感器网络及电路类,仅1个月26天录用

【期刊简介】IF:1.0-2.0,JCR4区,中科院4区 【检索情况】SCI 在检,正刊 【征稿领域】自主传感器网络的高级接口电路及其应用 【参考周期】2个月左右录用 【截稿日期】2023.1.31 重要时间节点:仅1个月26天录用 2022/12…

神经网络中常用的权重初始化方法及为何不能全初始化为0

1.权重初始化的重要性 神经网络的训练过程中的参数学习时基于梯度下降算法进行优化的。梯度下降法需要在开始训练时给每个参数赋予一个初始值。这个初始值的选取十分重要。在神经网络的训练中如果将权重全部初始化为0,则第一遍前向传播过程中,所有隐藏层…

深度学习笔记:感知机

感知机(perceptron)为神经网络的起源算法。感知机接受多个输入信号,输出一个信号。感知机信号只有0和1。 在上图的感知机中,x1和x2两个输入信号会分别乘以其对应权重(weight) w1和w2,传入神经元。神经元计算传来信号综…

Disentangled Face Attribute Editing via Instance-Aware Latent Space Search翻译

论文地址 代码地址 摘要 最近的研究表明,生成对抗网络(GAN)的潜空间中存在一组丰富的语义方向,这使得各种面部属性编辑应用成为可能。然而,现有的方法可能会遇到属性变化不好的问题,从而导致在更改所需属…

JS中数组对象使用

文章目录一、创建数组对象二、数组翻转1.检测数组2.翻转数组:三、添加数组元素1.push方法2.unshift方法四、删除数组元素1.pop方法2.shift方法🤘案例1五、数组排序六、数组索引方法1.indexof(数组元素)2.lastIndexOf方法🤟案例2七、数组转化为…

数字验证学习笔记——SystemVerilog芯片验证16 ——约束控制块随机函数

一、约束块控制 一个类可以包含多个约束块。可以把不同约束块用于不同测试。一般情况下,各个约束块之间的约束内容是互相协调不违背的,因此通过随机函数产生随机数时可以找到合适的解 如果子类继承父类,也继承了父类的约束,这个时…

基于蒙特卡诺的电动汽车充电负荷曲线研究(充电开始时间,充电电量,充电功率)(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…