MPLS VPN详解

了解MPLS VPN之前,要先了解一下MPLS。

了解MPLS之前,先回顾一下基于MAC地址的交换和基于IP地址的路由转发。

(上篇主要是介绍基于mac地址的交换、基于IP地址的路由转发、MPLS详解)

(下篇主要是MPLS VPN的网络结构、组成原理、接入方式、为什么要用MPLS VPN、优势及应用场景)

一、传统基于mac地址的交换和基于IP地址的路由转发

1.1、基于mac地址的交换(二层)

交换层面,也就是基于发arp学习mac地址,形成mac地址和接口的对照表,然后根据mac地址表逐跳进行交换。

1.2、基于IP地址的路由转发(三层)

1、路由器收到数据包的时候,先解封装,还原成数据帧,此时路由器查看数据包头的mac地址的目的地址,如果是自己接收数据的接口地址,那么继续解封装,如果不是,则丢弃。

2、路由器继续解封装到源IP和目的IP,路由器分析目的IP不是自己接口的IP,那么路由器会将这个目的IP拿到自己的路由表中,进行最长匹配原则,如果匹配不上,则丢弃。

3、路由表如果匹配上了,就会根据路由表往相应的接口去送,此时送之前要把三层的数据包压上二层的帧头,如果是以太网的话,得要下一跳的目的mac,没有吓一跳的目的mac,要发arp请求目的mac,然后进行封装,再转发到下一个路由器。

传统的IP路由也是逐跳转发。

1.3、三层转发和二层交换有什么不同

三层说是转发,通过三层头部(IP)进行相关表项的查找进行转发。

二层说是交换,是针对二层头部(mac)相关表项的查找进行交换。

1.4、二层交换和三层转发哪个快

肯定是交换快,因为交换机是直接将0101转发成帧,只需要通过一步进行交换,不用解封装。

路由器进行解封装的时候,先解成帧,对比目的mac,再解成IP,查找路由表,最后再根据表项转发,再封装二层mac,最后转发,是比较消耗资源的。

所以二层要比三层快。

二、MPLS详解

2.1、MPLS全称 Multi-protocol label switching 多协议标签交换

多协议:指支持三层协议,如果IPv4、IPv6、IPX等;

标签交换:在所承载的报文前加上标签栈,基于标签做转发。

2.2、MPLS的封装结构

图片

MPLS数据IP头和MAC头中间,数据2.5层协议。

2.3、MPLS简介

MPLS是一种新的转发机制,数据在MPLS网络中是以标签信息进行转发;

MPLS标签依据IP路由及CEF交换。

2.4、MPLS原理介绍

图片

1、路由器运行IGP路由协议,维护RIB表及CEF表,所有路由器运行OSPF路由,只看图中30.0.0.0/24这个网段。

图片

2、路由器运行标签分发协议LDP,维护LIB表;LDP维护自己的邻居关系,且为所有的路由前缀绑一个本地标签。

如图中,将R3将本地的30.0.0.0/24的路由前缀捆绑标签30且通告给自己的LDP邻居R2;

R2为30.0.0.0/24的前缀添加本地标签20,且在自己的LIB表中记录R3为30.0.0.0/24分配的标签30,同时R2将为30.0.0.0/24分配的本地标签20通告给R1;

R1为30.0.0.0/24分配的本地标签是10,且记录R2通告给R1的标签信息。

图片

3、路由器更新CEF表时,同时维护LFIB表,LFIB表是由LIB表和CEF表共同组成。

2.5、MPLS架构

控制层面:交换三层路由信息(如OSPF/ISIS/BGP等)及标签(LDP)

         IGP填充RIB表

         LDP为前缀填充标签形成LIB表

控制层面关键点:

       routing protocol

       ip routing table (RIB)

       label exchange protocol(LDP)

数据层面:基于标签进行数据的转发

控制层面关键点:

        ip forwording table (FIB)

       label forwarding table (LFIB)

原理解析:IGP协议产生RIB表,LDP协议产生LIB表,这样LDP为路由前缀加上标签,形成LFIB表(LDP会产生本地的LIB,然后通过LDP通告给自己的邻居,这样就形成LFIB表)。

2.6、MPLS网络中的设备角色

MPLS网络中的设备角色,只是为了区别不同的设备角色,主要分为三种:

1、入站LSR;(label seitch routing)

2、出站LSR;

3、链路中的LSR。

结合上面图看,R1就是入站LSR,R2就是链路中的LSR,R3就是出站LSR。

2.7、MPLS优势总结

* 采用MPLS,可避免IP路由的逐跳转发情况,减少对数据包的深入分析、借助标签建立二层的快速转发路径,使得数据沿着一条预先建立的路径快速的转发;

* 数据包再进入MPLS网络的入口路由器上被进行一次三层查找,而在此后的LSR只是进行简单的标签交换动作,无需进一步分析三层信息;

* 每个LSR必须在数据转发之前建立好LIB(标签信息库),及LFIB(标签转发信息库)。当LSR收到一个标签数据帧时,将数据帧中的标签在LFIB表中进行查找,再根据LFIB表中指示的相关动作对标签进行压入、弹出、交换、移除等动作。

三、MPLS VPN详解

3.1、MPLS VPN的网络结构

图片

P:(Provider)运营商网络中除PE之外的运营商网络设备

PE:(Provider Edge)运营商网络与客户(用户)网络相连的边缘网络设备

CE:(Customer Edge)客户(用户)网络与运营商网络相连的边缘网络设备

运营商只是一个统称,不一定非要是三大运营商。

3.2、MPLS VPN的接入方式

接入方式主要说的是CE和PE之间连接方式。

1、直接链路接入(直连)――POS/GE/FE等接口直连接入;

2、VLAN TRUNK方式接入;

3、二层隧道接入――L2TP/PPPoE等;

4、三层隧道接入――GRE/IPsec等;

接入协议支持IGP或BGP

IGP支持静态路由,RIP、OSPF、ISIS等。

BGP支持EBGP。

IGP和BGP唯一区别是:IGP是需要将IPv4路由重分布到MP-BGP中,但是EBGP是直接带有重分布功能(静态写入VRF中)。

3.3、MPLS VPN的组成原理

1、MPLS VPN的网络架构是由运营商来完成的。在这种架构中由运营商向用户提供VPN服务,用户是感知不到运营商的网络的存在的。

2、对于P设备来说,不知道VPN的存在,因为P设备只负责MPLS内部的数据传输。只要支持MPLS协议即可。

3、所有面向用户网络的VPN的构建、连接和管理都是在PE上进行的。

4、从PE的视角看用户的网络(CE),CE其实就是一个站点(site),一个CE可以包含多个site,一个或多个site组成一个VPN。

5、CE与CE之间的通信,通过中间运营商的PE与PE之间的VPN隧道来完成。

6、任何两个没有共同site的VPN都可以使用重叠的地址空间,这些都需要依赖于PE上的VRF。

3.4、MPLS VPN中的VRF、RD、RT、MP-iBGP、vpnv4路由、双标签(内层和外层)

1、VRF:虚拟路由转发(virtual routing forwarding),是一种VPN路由转发的实例,每一个独立的VRF都有一张独立路由表。虚拟说明是在一台路由器上虚拟出多个路由表,每个表之间相互隔离,其实一个VRF实例就可以当作一台路由器,只不过是在一台真实路由器上虚拟出来的。

2、RD:路由区分符(route distinguish),解决地址冲突问题。其实就是在IPv4的加上64bit的字段,保证在IPv4地址进入PE后保持全局唯一性。

3、RT:路由目标(route target),是BGP的扩展团体属性,分为export target和import target,可以理解为是VRF路由表的大门,路由出携带export属性,路由进对比import属性。

4、MP-iBGP:PE和PE之间交换路由信息以及私网标签分配,该私网标签是随机生成(控制层面的私网标签)。

5、vpnv4路由:RD+IPv4路由=vpnv4路由。

6、双标签:均是在数据转发层面打上的内层和外层标签,内层标签主要是区分数据包是哪个VRF,外层标签主要是数据包进行域内转发(外层标签与下一跳出口PE路由器的地址紧密相联)。

3.5、MPLS VPN的原理(控制层面和转发层面)

图片

LDP协议:在PE-P、P-P之间分发外层标签,建立从入口PE到出口PE之间的隧道LSP。

MP-BGP协议:在入口PE和出口PE交换VPN路由,用于建立VPN标签。

PE:接收用户IP报文,识别VPN,选择VPN相应的VRF表,找到VPN下一跳出口,加VPN内层标签,找到下一跳PE的出口,加外层标签。

重点:MPLS隧道包含两层标签,外层标签为隧道LSP标签,内层标签为VPN标签。

路由更新(控制层面):当CE到PE之间可以用IGP或者EBGP通告纯IPv4路由。当PE vrf接收到路由以后,IPv4路由被注入到vrf路由表中,IPv4路由被重分布到MP-BGP中,同时RD和RT(export)被添加上,骨干网络PE和PE之间通过MP-IBGP通告带有标签和RT的vpnv4路由(包含IPv4地址、路由区分符RD、路由目标RT、VPN标签和下一跳PE地址),到达对端PE时,通过对端PE的RT(import)知道应该把路由注入到哪个VRF中,然后对端PE将RD、RT、标签等属性移除,将ipv4路由通告给对端CE。

数据转发(数据层面):当CE路由器将一个VPN分组转发给入口PE路由器后,PE路由器查找该VPN对应的VRF,从VRF中得到一个VPN标签和下一跳出口PE路由器的地址,VPN标签作为内层标签打在VPN分组上,根据下一跳出口PE路由器的地址可以在全局路由表中查出到达该PE路由器应打上的域内路由的标签,即外层标签,也是VPN分组被打上了两层标签。主干的P路由器根据外层标签转发VPN分组,在最后一个P路由器(注意是P路由器,不是PE)处,外层标签弹出,VPN分组只剩下内层标签(此过程被称作次末级弹出机制),接着VPN分组被发往出口PE路由器上。出口PE路由器根据内层标签查找到相应的出口后,将VPN分组上的内层标签删除,将不含标签的VPN分组转发给正确的CE路由器,CE路由器根据自己的路由表将分组转发到正确的目的地。


重点区分:

1、PE上两张路由表:VRF路由表和全局路由表

PE上分别存放着VRF路由表和全局路由表,VRF路由表中存放VPN路由,全局路由表中存放着运营商的域内路由。

2、外层标签交换

所有PE路由器和P路由器都运行主干网的域内路由(OSPF或者ISIS等),生成的路由表将触发主干网中LSP的建立(拓扑驱动方式),通过LDP或RSVP等信令协议建立LSP,产生的标签转发表用于VPN分组外层标签的交换(也就说在数据转发时,在PE收到CE的数据报文时,VRF为数据报文打上内层VPN标签和获取下一跳出口PE路由器的地址,根据这个地址进行外层标签的转发,因此这个下一跳地址是连接域内路由和VPN路由的纽带)。


3.6、 MPLS VPN分析

3.6.1、MPLS VPN的实现目标

1、隧道在PE和PE之间建立,用户不需要维护自己的VPN隧道;

2、VPN隧道的部署和路由发布变为动态实现。

3.6.2、MPLS VPN解决的问题

1、提供一种动态建立隧道的方式;

2、解决不同VPN共享相同地址空间的问题。

3.6.3、用BGP传递VPN路由的好处

VPN路由信息可以直接在PE之间传递,P路由器不包含任何VPN路由信息。

3.7、MPLS VPN应用场景

1、三大运营商的构建的IP承载网:例如中国联通的A网、B网等都是采用MPLS VPN的架构承载大客户业务、固网传输业务、宝视通、视频监控、114/116业务、自营业务、互联网业务等。

2、大型OTT、云厂商的广域网均采用MPLS VPN架构,例如:阿里云的广域网。

3、国企等政府部门,不同的政府部门有着不同的业务系统,各系统之间的数据都是相互隔离的,同时各个业务系统都存在互访的需求,所以使用MPLS VPN架构技术实现隔离和互访;

4、二级ISP运营商、二级IDC运营商的城域网均采用MPLS VPN架构。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

前端基础------margin上下传递

1,出现的原因及解决方法 ◼ margin-top传递 如果块级元素的顶部线和块级父元素的顶部线重叠,那么这个块级元素的margin-top值会传递给父元素 ◼ margin-bottom传递 如果块级元素的底部线和块级父元素的底部线重叠,并且父元素的高度是…

【Proteus仿真】【51单片机】停车场车位管理系统

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器,使用按键、LED、蜂鸣器、LCD1602、红外传感器、74HC595模块等。 主要功能: 系统运行后,LCD1602显示进入、驶出、剩余车位数&am…

1000道精心打磨的计算机考研题,408小伙伴不可错过

提示:408考研人看过来,超精选计算机考研1000题! 文章目录 前言1. 为什么是1000题?2. 有什么优势?【练学结合,助力强化】【难度适中,但不刁钻】【题目新颖,独具匠心】【考题预测&…

学生五科成绩统计

随机生成10名学生姓名(包括自己)和五科成绩,将数据存入*.csv,读取保存的*.csv文本数据计算每个学生总分和平均分,并存入*.csv文本;打印总分排名前三学生信息;查找10学生各科最高最低分、中位分、平均分。 (笔记模板由p…

Python参数传递,从入门到精通

Python是一种非常灵活的编程语言,以多种方式定义和调用函数。其中一个关键方面是参数传递的灵活性。在Python中,可以通过位置、关键字、默认值和可变长度参数等多种方式来传递参数。 1. 位置参数 位置参数是最常见的参数传递方式。当调用一个函数时&am…

curl使用

文章目录 前言一、curl use case二、下载操作我使用第一种方式:不验证证书,果然下载下来了。而且是下载到当前的工作文件夹。C:\Users\xxx\test.zip如果自己想指定文件地址 前言 使用 curl 工具 一、curl use case Simple Usage Get the main page fro…

ts学习02-数据类型

新建index.html <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> </h…

享受JoySSL证书买赠活动,提升您的网站安全和用户信任!

互联网时代&#xff0c;网站安全性和用户信任度变得尤为重要。作为您网站的保护盾&#xff0c;SSL证书是确保数据传输安全和建立可信连接的关键组成部分。在这个背景下&#xff0c;我们非常激动地宣布JoySSL平台推出了令人兴奋的SSL证书买赠活动&#xff1a;买二送一&#xff0…

web3 React dapp进行事件订阅

好啊&#xff0c;上文web3 React Dapp书写订单 买入/取消操作 我们已经写好了 填充和取消订单 这就已经是非常大的突破了 但是 留下了一个问题 那就是 我们执行完之后 订单的数据没有直接更新 每次都需要我们手动刷新 才能看到结果 那么 今天我们就来看解决这个问题的事件订阅 …

CSS常用示例100+ 【目录】

目前已有文章 11 篇 本专栏记录的是经常使用的CSS示例与技巧&#xff0c;主要包含CSS布局&#xff0c;CSS特效&#xff0c;CSS花边信息三部分内容。其中CSS布局主要是列出一些常用的CSS布局信息点&#xff0c;CSS特效主要是一些动画示例&#xff0c;CSS花边是描述了一些CSS相关…

来看看电脑上有哪些不为人知的小众软件?

​ 电脑上的各类软件有很多&#xff0c;除了那些常见的大众化软件&#xff0c;还有很多不为人知的小众软件&#xff0c;专注于实用功能&#xff0c;简洁干净、功能强悍。 1.桌面停靠栏工具——BitDock ​ BitDock是一款运行在Windows系统中的桌面停靠栏工具&#xff0c;功能实…

ASUS华硕ROG枪神2笔记本GL504GS原厂Win10预装OEM系统

链接&#xff1a;https://pan.baidu.com/s/1sqm9NXopSe_mg8v--7fzzA?pwd9dru 提取码&#xff1a;9dru 原厂系统自带显卡网卡声卡等所有驱动、出厂主题壁纸、系统属性华硕专属LOGO标志、Office办公软件、MyASUS华硕电脑管家、控制中心等预装程序 由于时间关系,绝大部分资料…

Nginx学习(在 Docker 中使用 Nginx)

1. 安装Nginx 使用 docker pull nginx 下载最新的 Nginx Docker 镜像。 下载完毕后&#xff0c;使用 docker run -d -p 80:80 --name nginx nginx&#xff0c;即可启动 Nginx 容器。其中&#xff0c;-p 80:80 表示将容器的 80 端口映射到 主机的 80 端口&#xff1b;--name ng…

虹科方案 | 汽车电子电气架构设计仿真解决方案

来源&#xff1a;虹科汽车电子 虹科方案 | 汽车电子电气架构设计仿真解决方案 导读 本文将介绍面向服务&#xff08;SOA&#xff09;的汽车TSN网络架构&#xff0c;并探讨RTaW-Pegase仿真与设计软件在TSN网络设计中的应用。通过RTaW将设计问题分解&#xff0c;我们可以更好地理…

前端面试之事件循环

什么是事件循环 首先&#xff0c; JavaScript是一门单线程的语言&#xff0c;意味着同一时间内只能做一件事&#xff0c;这并不意味着单线程就是阻塞&#xff0c;而是实现单线程非阻塞的方法就是事件循环 在JavaScript中&#xff0c;所欲任务都可以分为&#xff1a; 同步任务…

创意卡片制作

效果展示 CSS 知识点 box-shadow 属性灵活运用background 属性的 linear-gradient 值灵活运用 页面整体结构 <div class"container"><div class"card"><div class"icon"><ion-icon name"rocket-outline">&…

操作系统(三)进程和线程的基础知识

文章目录 前言进程和线程进程进程的状态进程控制块(PCB&#xff0c;Process Control Block)进程的上下文切换 线程线程的实现 进程加载进程等待和退出等待退出 优先级控制进程调试支持定时 小结 前言 本文主要涉及操作系统的简介、硬件结构、内存管理、进程管理、文件系统、设…

2024京津冀人工智能展会(世亚智博会)展现“中国智造”高端技术

2024京津冀人工智能展会&#xff08;简称:世亚智博会&#xff09;已正式定档2024年6月28-30日&#xff0c;将启用北京亦创会展中心的一层全部展厅&#xff0c;预计展出面积达6万平方米&#xff0c;吸纳全球超过800家展商&#xff0c;展现“中国智造”的尖端理念与高端技术&…

软件推荐目录——按类划分

之前的文章中&#xff0c;博主介绍过诸多实用的软件&#xff0c;今天博主就继续来泛总结一下电脑常用的功能里&#xff0c;有哪些天花板级别存在的软件呢。 1. 浏览器 在之前的文章中&#xff0c;学长已经详细介绍过优秀的浏览器产品&#xff0c;还是同样的套路&#xff1a;外网…

ceph-deploy bclinux aarch64 ceph 14.2.10【3】vdbench fsd 文件系统测试

接上 ceph-deploy bclinux aarch64 ceph 14.2.10-CSDN博客 https://blog.csdn.net/hknaruto/article/details/134347935 fsd.conf 本地也采用远程连接的方式&#xff0c;方便后续扩增到局域网其他机器 hddefault,vdbench/root/vdbench,userroot,shellssh hdhd1,systemceph-…