MBGP MPLS VPN

一、MPLS的不足与发展

1、在90年代初期,各个厂商的硬件设备性能不足时,MPLS能够很好的替代掉传统路由基于IP路由表多次查表转发数据的问题,但随着硬件性能的不断攀升,MPLS在转发性能上的优势几乎丧失掉;

2、但MPLS由于其使用的标签嵌套能力与转控分离能力,令其在其他诸多领域得到了很好的发挥

3、传统VPN存在诸多不足,其中最为重要的一点是,无论那种VPN,都需要令客户端自行配置与维护,对于非网络公司而言,难度极高,需要付出额外成本

4、在上述问题面前,MBGP MPLS VPN技术诞生,其使用扩展的BGP技术,配合上MPLS的标签分配能力,让VPN技术得到更好的发展

二、传统VPN存在的缺陷

1、所有的VPN都需要静态建立隧道,因此导致其扩展性不强,随着企业内部需要经过VPN的网段数量增加,需要配置的感兴趣流将会成N平方增长

2、传统的VPN均需要用户自行建设,由于各个企业内部死亡地址极有可能产生冲突问题,因此导致运营商的设备很难实现接管,运营商的设备从不同接口接收到来自不同企业的相同路由条目,将造成路由表混乱

3、传统的VPN无法适应大规模的部署及应用,需要一种更新的技术加以实现

三、MBGP MPLS VPN的优势

MBGP MPLS VPN作为一种新的VPN技术,解决了传统VPN的所有缺陷:

1、通过MBGP MPLS VPN搭建的隧道是动态建立的

2、能够让运营商的网络设备识别相同的客户网络,解决本地地址冲突问题

3、很好的控制VPN私网路由

四、隧道技术与MPLS

1、传统的VPN中(例如:GRE隧道),为了能够实现私网IP穿越公有互联网络,需要在原始的3层头部的外面在增加一个4Byte大小的GRE头部与20Btye大小的新IP头部,新的IP头部中包含的是可在公网上路由的公有源IP与目的IP地址

2、在MPLS网络中,MPLS的头部封装在原始3层头部与2层头部之间(MPLS头部在外,原始3层头部在内)

3、MPLS的封装将原始的3层头部包裹在其中,形成了一条天然隧道,起到与GRE隧道一样的封装作用

五、MPLS的隧道应用

1、在MPLS网络中,沿着LSP【Label Switching Path|标签交换路径】转发数据的LSR【Lable Switching Path|标签交换路由器】设备无需知道私网路由,完全根据MPLS头部中的标签进行数据转发

2、只需要在MPLS网络中的LER【Lable Edge Router|标签边界路由器】(数据的入/出口)设备上做处理,就能够实现令私网路由穿越公网

3、在非MPLS网络的客户上,客户与运营商的LER设备需要运行一款路由协议(IGP、EGP)以便将自身内部的私网路由传递至运营商,运营商内部运行BGP协议,将私网路由注入进BGP,令对端设备设法知道数据的目的地所在

4、当运营商的LER设备知道了目标所在地后便可以压标签进行标签转发

5、当运营商连接接收方客户端的LER设备接收到数据包后,发现目标地址是自己,于是将标签抹除,查询自身的IP路由表项,根据IP路由表将数据转发至真正的客户端

六、MPLS的PHP技术(倒数第二条弹出)

1、在LDP分配标签的过程中,倒数第一的路由器为倒数第二的路由器分配的标签永远是3

注:16以下的标签都是系统保留使用的系统标签,在分配时不会分发出去(0:显示空标签、1:路由器报警标签、3:隐式空标签)

2、因此倒数第二路由器在给倒数第一路由器发送数据时,就可以直接将标签3弹出,令倒数第一路由器直接查找路由表将数据转发至目的客户网络即可

3、该技术就称为【MPLS倒数第二跳弹出】

七、MPLS VPN的组网结构

在MBGP MPLS VPN中定义了3个特殊名词:

1、CE(Custom Edge Router):非MPLS网络的客户端的边界网络设备

2、PE(Provide Edge Router):运营商的MPLS的边界网络设备,用来连接CE设备

3、P(Provider Router):工作在MPLS网络内的基于标签转发路由器

八、传统VPN隧道的建立与维护

1、若让用户自行建站维护VPN隧道,首先隧道需要静态手工建立;其次对于非网络公司而言,需要支付额外的费用来聘请专业的人员配置并维护,且工作繁琐,易出现错误

2、若让运营商帮忙建站维护VPN隧道,由于不同的客户网络有可能使用相同的私有网段,因此运营商无法通过同一台设备来连接不同的客户网络,将会造成路由表混乱问题;因此运营商就需要为不同的客户网络来单独使用一台设备连接,相当于运营商为不同的客户搭建了一条专线,成本更加高昂

3、若让运营商帮忙建站维护VPN隧道,不向使用运营商的独立设备建站时,希望多个客户网络可以使用同一条VPN隧道(共享隧道)来完成数据的传输,那么地址冲突如何解决呢?

九、VRF技术

1、若运营商同一台路由器连接不同的客户网络,而不同的客户网络内部使用相同的私网网段,这将造成运营商设备(PE)的路由表混乱,造成地址冲突问题

2、因此提出的解决方案为:VRF(Virtual Routing Forwarding|虚拟路由转发)

        2.1、VRF相当于是让一台物理路由器分裂为多台逻辑路由器

        2.2、每台VRF路由器负责维护自身单独的路由表项,各个VRF路由器的路由表项完全独立,互不可见

        2.3、每台VRF路由器拥有3个独立:

                2.3.1、独立的IP路由表项

                2.3.2、独立的端口/接口

                2.3.3、独立的路由协议

3、将运营商同一个PE设备的不同接口绑定在不同的VRF中,从某一个接口接收到的路由条目,只查询其绑定的VRF路由表项,各个VRF之间相互不可互访

4、同一个PE设备上的不同VRF与不同的客户网络之间运行不同或相同的路由协议(只需进程号不同即可),本协议只学习自己绑定的客户网络的路由条目,只与自身连接的客户网络建立邻居关系,不同的VRF之间不建立任何关系,达到完全独立的状态,能够很好的避免客户的私网路由冲突问题

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

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

相关文章

[笔试训练](二十三)067:打怪068:字符串分类069:城市群数量

目录 067:打怪 068:字符串分类 069:城市群数量 067:打怪 题目链接:打怪 (nowcoder.com) 题目: 题解: 直接计算结果: 1.一只怪物能抗几次攻击 int m(H/a)(H%a0?0:1); 2.杀死一只怪物,玩家要抗几次攻击 int nm-1; *3.杀死一只…

Lc33---- 414. 第三大的数(java版)---排序(去重/复制到新数组)

1.题目描述 给你一个非空数组,返回此数组中 第三大的数 。如果不存在,则返回数组中最大的数。 示例 1: 输入:[3, 2, 1] 输出:1 解释:第三大的数是 1 。 示例 2: 输入:[1, 2] 输出…

jmeter指南:JMeter 安装、配置和性能测试

使用 JMeter 进行性能测试 1. Java 版本要求 JMeter 要求与 Java 8 或更高版本兼容。为了确保安全性和性能,建议安装最新次要版本的主要 Java 版本。鉴于 JMeter 仅使用标准 Java API,如果由于 JRE 实现问题而无法运行 JMeter,请不要提交错…

【Python】记录第一次接 python 项目搭建环境的问题

python安装指定版本的包 pip install packageversion查看包版本 pip show <package_name>运行main函数报 coreapi 错误 AssertionError: coreapi must be installed for schema support. 错误解 pip install coreapi 修改 pip install 目录 有可能会没有&#xff0c…

VMware Workstation 安装CentOS Linux操作系统

1.我们已经下载好VMware 创建新的虚拟机 2.选择典型 3.安装程序光盘映像文件 4.配置用户名密码 5.命名虚拟机&#xff0c;并确定位置 6.如图所示设置 7.等待&#xff08;时间会有点久&#xff09; 8.输入密码登入账号

工单系统有哪些?

市面上的工单系统真的非常多&#xff0c;一个个列举肯定说不完&#xff0c;我大致给它们按照不同的依据&#xff0c;进行了一下分类&#xff1a; 1、按部署方式分类&#xff1a; 本地化部署工单系统&#xff1a;适用于对数据安全性要求较高的企业&#xff0c;需要企业在本地服…

uniapp小程序控制页面元素滚动指定距离

要实现页面元素滚动&#xff0c;最好还是使用 scroll-view 来实现&#xff0c;官方文档地址&#xff1a;scroll-view | uni-app官网 通过设置scroll事件来实现滚动监听&#xff0c;当滚动的元素的时候&#xff0c;就会触发这个事件&#xff0c;并且事件里面包含有滚动距离&…

Java基础之常见集合 api 详细示例代码

集合 1 . Collection接口 Collection接口是Java单列集合的根接口&#xff0c;它定义了各种具体单列集合的共性 &#xff0c; 其它大多数单列集合直接或间接继承该接口 定义 : public interface Collection<E> extends Iterable<E>{// Operations } 一般用得少…

Java 中能创建 volatile 数组吗?

在Java中&#xff0c;volatile关键字用于确保多线程环境下的变量可见性和有序性。然而&#xff0c;当你将volatile关键字应用于数组时&#xff0c;它仅仅保证了数组引用本身的可见性&#xff0c;而不是数组内部元素的可见性。 这意味着&#xff0c;如果你有一个volatile数组&a…

MySQL--增删改查案例演示

一&#xff1a;显示数据库及模糊查询&#xff08;like&#xff09; mysql> show databases; -------------------- | Database | -------------------- | db_classes | | db_user | | information_schema | | mysql | | perfor…

PCIE协议-2-事务层规范-Virtual Channel (VC) Mechanism

2.5 虚拟通道&#xff08;VC&#xff09;机制 虚拟通道&#xff08;VC&#xff09;机制提供了对可以在整个结构中传输使用TC&#xff08;流量类别&#xff09;标签区分的流量的支持。VC的基础是独立的结构资源&#xff08;队列/缓冲区及其相关的控制逻辑&#xff09;。这些资源…

【Android踩坑】重写onClick方法时,显示Method does not override method from its supperclass

问题 重写onClick方法时&#xff0c;显示Method does not override method from its supperclass 解决 在类上加implements View.OnClickListener

【Python】通过字典映射调用方法

通过字典映射决定调用哪个py脚本中的方法 from proxy_anchor.dataset import CUBirds, SOP, Cars from proxy_anchor.dataset.Inshop import Inshop_Datasetds_list {"CUB": CUBirds, "SOP": SOP, "Cars": Cars, "Inshop": Inshop_D…

用于WB的抗体一定能用来做IHC吗?

首先&#xff0c;我们来了解下抗原表位。由于蛋白可以折叠成三维结构。 所以抗原表位可以分成两种类型&#xff1a; 线性表位 一般指的是由序列上相连接的一些氨基酸残基通过共价键形成的结构&#xff0c;也称为顺序表位&#xff0c;是蛋白质的一级结构&#xff0c;比较稳定&…

【重生之我在学Android】WorkManager (章一)

相关文章 【重生之我在学Android原生】ContentProvider(Java) 【重生之我在学Android原生】Media3 【重生之我在学Android】WorkManager &#xff08;章一&#xff09; 前言 官方文档 官方推荐 - 前台服务、后台服务都可以使用WorkManger来实现 案例 语言&#xff1a;JA…

Vue3详细讲解

Vue 3 介绍 文章目录 Vue 3 介绍为什么要学习 vue 3Vue3 动机 和 新特性 Vite 的使用vite介绍为什么选 Vite &#xff1f;Vite 的基本使用Vue3.0项目介绍vscode插件说明 组合式APIcomposition API vs options API体验 composition APIsetup 函数reactive 函数ref 函数script se…

webpack优化构建体积示例-并行压缩:

uglifyjs-webpack-plugin和terser-webpack-plugin都可以开启多进程并进行压缩来减小构件体积大小。 当在 Webpack 配置中启用 minimize: true 时&#xff0c;构建时间通常会增加&#xff0c;这是因为 Webpack 会在构建过程中添加一个额外的步骤&#xff1a;代码压缩。代码压缩是…

Python实现将日志写入到数据表中

文章目录 1. 设计数据库表结构2. 对日志的处理1. 日志数据结构化2. 使用日志库3. 日志异步写入4. 错误处理和重试机制5. 合理的索引和表设计6. 清理和维护策略示例&#xff1a;使用logging库和MySQL处理器 3. Python代码实现注意事项 4 .用pymysql实现安装 pymysqlPython 脚本实…

Mysql数据库二进制日志导致磁盘满了处理过程

数据库的二进制日志是数据库管理系统&#xff08;DBMS&#xff09;用来记录所有对数据库进行修改的操作的记录。这种日志对于数据库的备份、恢复、复制和审计等操作至关重要。 以MySQL数据库为例&#xff0c;二进制日志&#xff08;Binary Log&#xff09;记录了所有更改数据的…

摸鱼大数据——Linux搭建大数据环境资源包

请点击文件分享去腾讯微云下载资源包 文件分享