MPLS基本原理

Multiprotocol Label Switching 多标签交换

前言

MPLS位于TCP/IP协议栈中的链路层和网络层之间,用于向IP层提供连接服务,同时又从链路层达到服务.MPLS以标签交换代替IP转发.
MPLS并不是一种业务或者应用,它实际上是一种隧道技术.这种技术不仅支持多种高层协议与业务,而且在一定晨读上可以保证信息传输的安全性.

传统IP转发

ATM信元转发

MPLS标签转发

传统的IP技术简单,且部署成本低的那由于硬件技术存在限制,基于最长匹配算法的IP\技术必须使用软件查找路由,转发性能低下.为了适应网络的发展,ATM技术应运而生.ATM采用定长标签(即信源),并且只需要维护比路由规模小得多得标签表,能够提供比IP路由方式高得多得转发性能.如何结合IP与ATM的优点岑伟当时热门话题.多协议标签交换技术MPLS就是在这种背景下产生的.

MPLS VPN应用

然而,随着ASIC技术的发展,路由查找速度已经不是阻碍网络发展的瓶颈.这使得MPLS在提高转发速度方面不再具有明显的优势.但是结合其它技术的应用上MPLS成为一大亮点.

MPLS TE应用

MPLS网络模型

MPLS控制平面和转发平面

帧模式MPLS

MPLS有两种模式:帧模式和信元模式(ATM采用MPLS模式封装,本课不涉及),正模式封装是直接在报文的二层头部和三层头部之间增加一个MPLS标签头.以太网,PPP采用这种封装.

MPLS标签时MPLS信息传递的载体,路由之间通过标签的交互,完成在建立的标签转发路径上传送数据.

MPLS报文头部

MPLS头部长度为32bit
LABEL:该标签用于报文转发,长度为20bit;
EXP:通常栈底IP报文中的优先级,长度为3bit;
S:标识栈底用来表明是否最后一个标签(MPLS标签可以多层嵌套),长度为1bit;
TTL:类似IP头部的TTL,用来防止报文环路等,长度为8bits;

MPLS标签嵌套

PID标识二层头部后面的报文类型
Ethernet 0x0800 IPv4 0x8847 MPLS 单播报文0x8848 MPLS多播报文
PPP 0x8021 IPv4 0x8281 MPLS单播报文0x8283 MPLS 多播报文
S 标识是否是栈底标签.
标签套用应用
MPLS VPN
MPLS TE
这里的Label1,Label2,Label3都指的是前一个胶片中的4个Bytes的MPLS头部,其中包含有20bits的标签信息.

FEC与NHLFE

FEC转发等价类,是一组具有某些共性的数据流的集合.这些数据流在转发过程中被LSR以相同方式处理.
FEC可以根据地址,业务类型,QoS等要素进行划分.例如传统的采用最长匹配算法的IP转发中,到同一条路由的所有报文就是一个转发等价类.
NHLFE:进行标签转发是用到,NHLFE包含这样一些基本信息:
1,报文的下一跳
2,如何进行标签操作(包括压入新的标签,弹出标签,用新的标签替换原有的标签等操作)
3,NHLFE还可能包含一些其他信息,如发送报文使用的链路层封装等.

FEC与NHLFE举例

FEC:Forwarding Equivalence Classes(转发等价类)
NHLFE:Next Hop Label Forwarding Entry(下一跳标签转发表项)

MPLS转发过程-lngress LER(RTA)

在Ingress,通过查询FIB表和NHLFE表指导报文的转发.

MPLS转发过程-LSR(RTB)

在Transit,通过查询ILM(Incoming Label Map)表和NHLFE表指导MPLS报文的转发.

MPLS转发过程-Egress LER(RTD)

子啊Egress,通过查询ILM表指导MPLS报文的转发.

思考题

1,C
2,ABC.

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

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

相关文章

《MarsCode:编程领域的智能新势力》

《MarsCode:编程领域的智能新势力》 一、MarsCode 的诞生与发展(一)逐步崛起的历程(二)与各方的合作与影响 二、MarsCode 的独特魅力(一)强大的功能特点(二)多语言支持与…

PyInstaller未包含预编译引导程序

1 现象 在使用 PyInstaller 打包 Python 应用时,遇到了一个错误,错误信息如下: Fatal error: PyInstaller does not include a pre-compiled bootloader for your platform. For more details and instructions how to build the bootloade…

华为HCIP-openEuler考试内容大纲:备考必看!

华为HCIP-openEuler认证考试作为ICT领域的一项重要技术认证,已经成为越来越多IT从业者追求的目标。无论你是想提升自己的技术能力,还是为了未来的职业发展,HCIP-openEuler都是一个极具价值的认证。那么,如何高效备考,顺…

编程之路,从0开始:知识补充篇

Hello大家好,很高兴我们又见面了! 给生活添点passion,开始今天的编程之路! 这一篇我们来补充一下在之前篇目没讲到的知识,并结合一些码友的私信提问和我在编程中遇到的问题,做一些易错点或易混点的讲解。 …

免费PC游戏加速器--慕讯公益加速器

百度网盘链接: 慕讯公益加速器 提取码: y54m 官网: 慕讯公益加速器 优点: 1.不像其他加速器假免费,但支持的话可以向软件捐款 2.加速游戏很全(Nikke等游戏都可以选择它),可以自由选择节点 …

git 常用命令大全

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、git是什么?二、工作中常用git命令集合三、部分git命令注意事项四、git reset 的五种模式五、总结 前言 git命令 其实不管是服务端还是前端&am…

【JAVA毕业设计】基于Vue和SpringBoot的校园资料分享平台

博主说明:本文项目编号 T 059 ,文末自助获取源码 \color{red}{T059,文末自助获取源码} T059,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析…

typedef 与 extern 的结合:一场误解的澄清

typedef 与 extern 的结合:一场误解的澄清 一、typedef 的基本用法二、extern 的基本用法三、typedef 与 extern 的结合:一场误解的澄清示例二:使用 extern 声明外部变量示例三:错误的用法:尝试在 typedef 中使用 extern四、总结在C语言编程的世界里,typedef和extern是两…

腾讯的AI困局

科技新知 原创作者丨林书 编辑丨蕨影 2024年已经逐渐步入了尾声,但国产大模型的内卷之战却还在继续着…… 最近,腾讯终于有了新动作,在开源模型上卯足了劲。11 月 5 日,腾讯宣布开源 MoE 大语言模型混元 Large,腾讯称…

想部署一个自己的抖音,但是不会写代码怎么办? 部署一个自己的抖音系统

想部署一个自己的抖音,但是不会写代码怎么办? 看完这篇文章,你也快速拥有自己的抖音 上效果 安装教程 docker pull ghcr.io/zyronon/douyin-vue:latest docker run -d -p 10002:80 ghcr.io/zyronon/douyin-vue:latest 使用 浏览器打开ip:10002 然后就可以使用你自己的抖音…

QT之QString常用函数

1、构造函数 char类型可以直接通过构造函数构造QString,std::string不能直接作为参数构造QString对象,可以使用QString中的静态函数转换为QString: std::string stdstr"world"; QString str4QString::fromStdString(stdstr); 2、格式化构造(…

Dubbo源码解析(三)

一、Dubbo整合Spring启动流程 Dubbo的使用可以不依赖Spring,但是生产环境中Dubbo都是整合到Spring中一起使用,所以本章就解析Dubbo整合Spring的启动流程 一、传统的xml解析方式 一、Dubbo配置解析流程 在Java 中,一切皆对象。在JDK 中使用…

用两行命令快速搭建深度学习环境(Docker/torch2.5.1+cu118/命令行美化+插件),包含完整的 Docker 安装步骤

深度学习环境的配置过于繁琐,所以我制作了两个基础的镜像,希望可以帮助大家节省时间,你可以选择其中一种进行安装,版本说明: base 版本基于 pytorch/pytorch:2.5.1-cuda11.8-cudnn9-devel,默认 python 版本…

怎么在MindMaster里插入剪贴画?

使用MindMaster绘制思维导图时,可以通过插入剪贴画的方式,让整个思维导图更具表现力。思维导图软件提供大量极具设计感的剪贴画,涉及商业活动、学习教育、社会生活等各个方面。本文中将详细为你解说怎样在MindMaster里插入剪贴画。 打开Mind…

shell脚本(1)脚本创建执行与变量使用

声明!!! 学习视频来自B站UP主泷羽sec,如涉及侵权马上删除文章 视频链接:泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 执行文件方法 首先…

智能体创新大赛|全球规模最大智能体赛事,超3成获奖者已使用智能体赚钱

11 月 12 日,百度搜索联合技术合作伙伴NVIDIA举办的「2024百度搜索文心智能体创新大赛」决赛颁奖典礼在百度世界2024「文心智能体,新智生产力」分论坛举行。 据了解,这是全球规模最大的智能体大赛,共吸引近万名参与者提交近 4000…

PVE纵览-Proxmox VE SDN入门指南:构建灵活的虚拟网络

PVE纵览-Proxmox VE SDN入门指南:构建灵活的虚拟网络 文章目录 PVE纵览-Proxmox VE SDN入门指南:构建灵活的虚拟网络摘要SDN 在 PVE 中的作用SDN 在 PVE 中的作用区域和 VNetsIPAM(IP Address Management) 关键字: PV…

【含文档】基于ssm+jsp的高校财务处理系统(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: apache tomcat 主要技术: Java,Spring,SpringMvc,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定义了两个…

安全见闻2

声明! 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关&#…

PVE纵览-Proxmox VE中的权限架构:角色、组与用户的关系

PVE纵览-Proxmox VE中的权限架构:角色、组与用户的关系 文章目录 PVE纵览-Proxmox VE中的权限架构:角色、组与用户的关系摘要权限1. 用户(Users)2. API 令牌(API Tokens)3. 二次验证(Two-Factor…