MPLS VPN 部署与应用

news2025/1/22 17:18:48

一.简介

  • MPLS,称之为多协议标签交换,在九十年代中期被提出来,用于解决传统IP报文依赖查表转发而产生的瓶颈,现多用于VPN技术,MPLS报头封装在数据链路层之上,网络层之下。
  • 本文为结合了华为技术和新华三技术的大成,即结合了HCIA,HCIP,HCIE Datacom和H3CNE-RS+,H3CSE-RS+,H3CIE-RS+。本文将主要介绍MPLS VPN的部署与应用,博主将会在MPLS专栏中持续更新关于MPLS的进阶内容。

二.前言

  • BGP/MPLS IP VPN因其支持地址空间重叠、组网方式灵活、可扩展性好,并能够方便地支持MPLS TE等一系列优点,已经在广域IP承载网络得到了广泛的应用。
  • 针对不同客户的业务需求以及组网情况,MPLS VPN的部署方式不尽相同。
  • 本文章将介绍几种常见的MPLS VPN应用场景与这些场景下MPLS VPN的部署方法,此外还将介绍OSPF对MPLS VPN的扩展特性与功能。

三.MPLS VPN应用与组网概述

1.MPLS VPN典型应用

  • 目前,MPLS VPN的主要应用包括企业互连和虚拟业务网络。
    • 企业互连应用:可通过MPLS VPN将分布在各地的分支机构和合作伙伴的IP网络连接在一起;
    • 虚拟业务网络:可在同一物理网络上运行多种业务,如VoIP、IPTV等,为每个业务建立一个VPN,实现业务隔离。

2.MPLS VPN基本组网:Intranet

  • 当采用Intranet组网方案时,一个VPN中的所有用户形成闭合用户群,相互之间能够进行流量转发,VPN中的用户不能与任何本VPN以外的用户通信,其站点通常是属于同一个组织。

3.MPLS VPN基本组网:Extranet

  • 当采用Extranet组网方案时,VPN用户可将部分站点中的网络资源给其他VPN用户进行访问。

4.MPLS VPN基本组网:Hub&Spoke

  • 当采用Hub&Spoke方案时,可以将多个站点中的一个站点设置为Hub站点,其余站点为Spoke站点。站点间的互访必须通过Hub站点,通过Hub站点集中管控站点间的数据传输。

  • 从Site1到Site2的路由发布过程如下:

5.MCE组网

  • 当一个私网需要根据业务或者网络划分VPN时,不同VPN用户间的业务需要完全隔离。此时,为每个VPN单独配置一台CE将增加用户的设备开支和维护成本。
  • 具有MCE(Multi-VPN-Instance,CE多实例CE)功能的CE设备可以在MPLS VPN组网应用中承担多个VPN实例的CE功能,减少用户网络设备的投入。

6.MPLS VPN跨域组网

  • 随着MPLS VPN解决方案的广泛应用,服务的终端用户的规格和范围也在增长,在一个企业内部的站点数目越来越大,某个地理位置与另外一个服务提供商相连的需求变得非常的普遍,例如国内运营商的不同城域网之间,或相互协作的运营商的骨干网之间都存在着跨越不同自治系统(AS,Autonomous System)的情况。
  • 一般的MPLS VPN体系结构都是在一个AS内运行,任何VPN的路由信息都是只能在一个AS内按需扩散。AS之间的MPLS VPN部署需要通过跨域(Inter-AS)MPLS VPN解决方案来实现。

  • 在BGP/MPLS IP VPN组网中,一个VPN实例仅能与其他VPN-Target相匹配的VPN实例相互通信,但是VPN实例无法与公网或其他VPN-Target不匹配的VPN实例中的用户相互通信。用户可以配置不同实例的路由相互引入功能。配置不同实例的路由相互引入功能可以分为两种类型:
    • 公网与私网的路由相互引入功能。
    • 不同私网间的路由相互引入功能。

四.MPLS VPN典型场景部署介绍

1.Intranet场景

(1)部署Intranet场景的MPLS VPN

  • 如图所示,客户X及Y各自有2个站点,现需要通过MPLS VPN实现站点之间的互联,分别对应VPN X和VPN Y;
  • 互联接口、AS号及IP地址信息,CE与PE通过如图的协议或方法交换路由信息;

(2)PE-CE之间部署OSPF1

(3)PE-CE之间部署OSPF2

(4)PE-CE之间部署静态路由

(5)PE-CE之间部署EBGP

(6)特殊场景下的BGP配置:AS号替换

  • 在MPLS VPN场景中,若PE与CE之间运行EBGP交互路由信息,则可能会出现两个站点的AS号相同的情况。

  • 若CE1通过EBGP向PE1发送一条私网路由,并经过PE2发送到CE2,则CE2会由于AS号重复丢弃这条路由导致属于同一VPN的Site 1和Site 2之间无法连通。
  • 可以在PE上执行peer substitute-as命令使能AS号替换功能,即PE用本地AS号替换收到的私网路由中CE所在VPN站点的AS号,这样对端CE就不会因为AS号重复而丢弃路由了。

(7)特殊场景下的BGP配置:SoO

  • 在CE多归属场景,若使能了BGP的AS号替换功能,可能会引起路由环路,需要So0(Site ofOrigin)特性来避免环路。
    • CE1与CE3处于同一个VPN站点1,CE2位于站点Site2,site1和Site2站点所在的AS号都为65001。PE与CE之间运行的都是EBGP路由协议,为了Site1和Site2之间的路由可以正常学习,需要在PE1和PE2上配置AS号替换功能。
    • CE1传递站点内的路由给PE1,PE1传递该路由给CE3,由于配置AS号替换,CE3会接收该路由,可能会导致产生路由环路。

(8)PE-CE之间部署IS-IS

2.Hub&Spoke场景

(1)部署Hub&Spoke场景的MPLS VPN

  • Hub&Spoke有以下组网方案:
    • 方式-:Hub-CE与Hub-PE,Spoke-PE与Spoke-CE使用EBGP。
    • 方式二:Hub-CE与Hub-PE,Spoke-PE与Spoke-CE使用IGP。
    • 方式三:Hub-CE与Hub-PE使用EBGP,Spoke-PE与Spoke-CE使用IGP。
  • 无法通过Hub-CE与Hub-PE使用IGP,Spoke-PE与Spoke-CE使用EBGP来部署Hub&Spoke组网的MPLS VPN。

(2)VRF配置

  • Spoke-PE上创建一个VPN实例,RT配置如图。
  • Hub-PE上创建VPN_in和VPN_out两个VPN实例,分别用于从Spoke-PE接收私网路由或向Spoke-PE发布私网路由,RT配置如图。

(3)方式一:路由发布过程

  • Spoke-CE与Spoke-PE之间通过EBGP交互路由信息,建立EBGP连接后,把相关的路由发布到BGP即可。
  • Hub-PE与Hub-CE之间建立两条EBGP连接,分别用来发布和接收私网路由。

  • 以路由从Spoke-CE1发布到Spoke-CE2为例,大体过程如下:
    • Spoke-CE1通过EBGP将路由发布给Spoke-PE1。
    • Spoke-PE1通过IBGP将该路由发布给Hub-PE。
    • Hub-PE通过VPN实例(VPN in)的lmport Target属性将该路由引入VPN _in路0由表,并通过EBGP发布给Hub-CE。
    • Hub-CE通过EBGP连接学习到该路由,并通过另一个EBGP连接将该路由发布给0Hub-PE的VPN实例(VPN out)。
    • Hub-PE发布携带VPN_out的Export Target属性的路由给所有Spoke-PE。
    • Spoke-PE2通过EBGP将该路由发布给Spoke-CE2。

(4)方式一:Hub-PE与Hub-CE间配置

  • Hub-PE通过VPN in对应的EBGP连接将从Spoke站点学习的路由发布到Hub站点。
  • Hub-CE通过VPN out对应的EBGP将这些路由发布到Spoke站点。

(5)方式二:路由发布过程

  • 以选用OSPF作为IGP协议为例:
    • Spoke-CE与Spoke-PE之间通过OSPF(进程100)邻居关系交互路由信息。
    • Hub-PE通过两个OSPF进程与Hub-CE建立OSPF邻居,分别负责私网路由的发送和接收。

  • 以路由从Spoke-CE1发布到Spoke-CE2为例,大体过程如下:
    • Spoke-CE1通过OSPF100将路由发布给Spoke-PE1。
    • Spoke-PE1通过IBGP将路由发布给Hub-PE。
    • Hub-PE通过VPN实例(VPN in)的lmport Target属性将该路由引入VPN in路0由表;通过将BGP引入OSPF100的配置进而将从Spoke-PE1传递来的路由发布给Hub-CE。
    • Hub-CE通过OSPF100接收该路由;并通过配置路由引入将路由发布到OSPF2000OSPF200再将路由发布给Hub-PE。
    • Hub-PE的BGP-VPN实例(VPN out)引入OSPF200多实例的路由,将携带Export Target属性的路由发布给所有Spoke-PE。
    • Spoke-PE2通过OSPF100将该路由发布给Spoke-CE2。

(6)方式二:Hub-PE与Hub-CE间配置

    • Hub-PE通过VPN in对应的OSPF(进程100)将从Spoke站点学习的路由发布到Hub站点。
    • Hub-CE通过VPN_out对应的OSPF(进程200)将这些路由发布到Hub-PE,进而发布给所有Spoke站点。

    (7)方式三:路由发布过程

    • 以选用OSPF作为IGP协议为例,Spoke-CE与Spoke-PE之间通过OSPF(进程100)邻居关系交互路由信息。
    • Hub-PE与Hub-CE之间建立两条EBGP连接,分别用来发布和接收私网路由,Hub-PE与Hub-CE的配置与方式一相同。

    • 以路由从Spoke-CE1发布到Spoke-CE2为例,大体过程如下:
      • Spoke-CE1通过OSPF100将路由发布给Spoke-PE1。
      • Spoke-PE1通过IBGP将路由发布给Hub-PE。
      • Hub-PE通过VPN实例(VPN in)的lmport Target属性将该路由引入VPN in路0由表,并通过EBGP发布给Hub-CE。
      • Hub-CE通过EBGP连接学习到该路由,并通过另一个EBGP连接将该路由发布给Hub-PE的VPN实例(VPN out)。
      • Hub-PE发布携带VPN out的Export Target属性的路由给Spoke-PE2。
      • Spoke-PE2通过OSPF100将该路由发布给Spoke-CE2。

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

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

    相关文章

    麒麟操作系统服务架构保姆级教程(十三)tomcat环境安装以及LNMT架构

    如果你想拥有你从未拥有过的东西,那么你必须去做你从未做过的事情 之前咱们学习了LNMP架构,但是PHP对于技术来说确实是老掉牙了,PHP的市场占有量越来越少了,我认识一个10年的PHP开发工程师,十年工资从15k到今天的6k&am…

    67,【7】buuctf web [HarekazeCTF2019]Avatar Uploader 2(未完成版)

    进入靶场 和上一题一母同胞&#xff0c;先把上一题的答案拖进去看看 区别在于上一题这块直接显示了flag&#xff0c;这里并没有 看看源码 加载不出来&#xff0c;ctrlu <!-- 上传头像的提示信息&#xff0c;说明上传要求 --><p>Please upload a PNG image less th…

    QD Laser携“Lantana”激光器参展SPIE光子学西部展2025,聚焦紧凑型设计

    据悉&#xff0c;QD Laser公司将在2025年SPIE光子学西部展览会上展出其最新产品——世界最小一体化紧凑型可见光激光器“Lantana”。该展会将于1月28日至30日在旧金山的Moscone中心举行。 在展会期间&#xff0c;QD Laser公司将现场展示这款超小型、轻便设备—— “Lantana”。…

    63,【3】buuctf web Upload-Labs-Linux 1

    进入靶场 点击pass1 查看提示 既然是上传文件&#xff0c;先构造一句话木马&#xff0c;便于用蚁剑连接 <?php eval($_POST[123])?> 上传木马 文件后缀写为.php.jpg 右键复制图片地址 打开蚁剑连接 先点击测试连接&#xff0c;显示成功后&#xff0c;再点击添加即可 …

    不重启JVM,替换掉已经加载的类

    不重启JVM&#xff0c;替换掉已经加载的类 直接操作字节码 使用ASM框架直接操作class文件&#xff0c;在类中修改代码&#xff0c;然后retransform就可以了 下边是BTrace官方提供的一个简单例子&#xff1a; package com.sun.btrace.samples;import com.sun.btrace.annotati…

    使用插件SlideVerify实现滑块验证

    作者gitee地址&#xff1a;https://gitee.com/monoplasty/vue-monoplasty-slide-verify 使用步骤&#xff1a; 1、安装插件 npm install --save vue-monoplasty-slide-verify 2、在main.js中进行配置 import SlideVerify from vue-monoplasty-slide-verify; Vue.use(SlideV…

    Kafka 和 MQ 的区别

    1.概述 1.1.MQ简介 消息中间件&#xff0c;其实准确的叫法应该叫消息队列&#xff08;message queue&#xff09;&#xff0c;简称MQ。其本质上是个队列&#xff0c;有FIFO的性质&#xff0c;即first in first out&#xff0c;先入先出。 目前市场上主流的MQ有三款&#xff…

    61,【1】BUUCTF WEB BUU XSS COURSE 11

    进入靶场 左边是吐槽&#xff0c;右边是登录&#xff0c;先登录试试 admin 123456 admiin# 123456 admin"# 123456 不玩了&#xff0c;先去回顾下xss 回顾完就很尴尬了&#xff0c;我居然用SQL的知识去做xss的题 重来 吐槽这里有一个输入框&#xff0c;容易出现存储型…

    CAN 网络介绍

    背景 在T-Box 产品开发过程中&#xff0c;我们离不开CAN总线&#xff0c;因为CAN总线为我们提供了车身的相关数据&#xff0c;比如&#xff0c;车速、油耗、温度等。用于上报TSP平台&#xff0c;进行国标认证&#xff1b;也帮助我们进行车身控制&#xff0c;比如车门解锁/闭锁…

    【C++】在线五子棋对战项目网页版

    目录 1.Websocket 1.1.Websocket的简单认识 1.2.什么是轮询呢&#xff1f; 1.3.websocket协议切换过程 1.4.websocketpp库常用接口认识 1.5.websocketpp库搭建服务器流程 1.6.websocketpp库搭建服务器 2.mysqlclient库-接口认识 3.项目模块的划分&#xff1a; 4.项目…

    《鸿蒙 HarmonyOS 应用开发从入门到精通(第 2 版)》学习笔记 ——HarmonyOS 环境搭建之安装DevEco Studio

    作为一款开发工具&#xff0c;除了具有基本的代码开发、编译构建及调测等功能外&#xff0c;DevEco Studio还具有如下特点&#xff1a; 高效智能代码编辑&#xff1a;支持Java、XML、ArkTS、JS、C/C等语言的代码高亮、代码智能补齐、代码错误检查、代码自动跳转、代码格式化、…

    2025年最新深度学习环境搭建:Win11+ cuDNN + CUDA + Pytorch +深度学习环境配置保姆级教程

    本文目录 一、查看驱动版本1.1 查看显卡驱动1.2 显卡驱动和CUDA对应版本1.3 Pytorch和Python对应的版本1.4 Pytorch和CUDA对应的版本 二、安装CUDA三、安装cuDANN四、安装pytorch五、验证是否安装成功 一、查看驱动版本 1.1 查看显卡驱动 输入命令nvidia-smi可以查看对应的驱…

    LAYA3.0 组件装饰器说明

    原文 在LayaAirIDE中&#xff0c;如果想在IDE内展示组件脚本的属性&#xff0c;需要通过装饰器的规则来实现。下面分别介绍四种装饰器。 文章目录 一、regClass()二、property()2.1 组件属性的常规使用2.2 属性访问器的装饰器使用2.3 是否序列化保存2.4 组件属性是否在IDE中显…

    PostIn安装教程

    PostIn是一款国产开源免费的接口管理工具&#xff0c;包含项目管理、接口调试、接口文档设计、接口数据MOCK等模块&#xff0c;支持常见的HTTP协议、websocket协议等&#xff0c;支持免登陆本地接口调试&#xff0c;同时可以对项目进行灵活的成员权限、消息通知管理等。 1、服务…

    RabbitMQ--延迟队列

    &#xff08;一&#xff09;延迟队列 1.概念 延迟队列是一种特殊的队列&#xff0c;消息被发送后&#xff0c;消费者并不会立刻拿到消息&#xff0c;而是等待一段时间后&#xff0c;消费者才可以从这个队列中拿到消息进行消费 2.应用场景 延迟队列的应用场景很多&#xff0c;…

    后端面试题分享第一弹(状态码、进程线程、TCPUDP)

    后端面试题分享第一弹 1. 如何查看状态码&#xff0c;状态码含义 在Web开发和调试过程中&#xff0c;HTTP状态码是了解请求处理情况的重要工具。 查看状态码的步骤 打开开发者工具&#xff1a; 在大多数浏览器中&#xff0c;您可以通过按下 F12 键或右键单击页面并选择“检查…

    网络通信---MCU移植LWIP

    使用的MCU型号为STM32F429IGT6&#xff0c;PHY为LAN7820A 目标是通过MCU的ETH给LWIP提供输入输出从而实现基本的Ping应答 OK废话不多说我们直接开始 下载源码 LWIP包源码&#xff1a;lwip源码 -在这里下载 ST官方支持的ETH包&#xff1a;ST-ETH支持包 这里下载 创建工程 …

    CSS笔记基础篇02——浮动、标准流、定位、CSS精灵、字体图标

    黑马程序员视频地址&#xff1a; 前端Web开发HTML5CSS3移动web视频教程https://www.bilibili.com/video/BV1kM4y127Li?vd_source0a2d366696f87e241adc64419bf12cab&spm_id_from333.788.videopod.episodes&p70https://www.bilibili.com/video/BV1kM4y127Li?vd_source…

    Linux:进程(三)

    1. 进程创建补充 fork之后父子两个执行流分别执行&#xff0c;fork之后谁谁先执行由调度器来决定。 一般&#xff0c;父子代码共享。当父子不再写入时&#xff0c;数据也是共享的&#xff0c;但是当有一方要写入&#xff0c;就触发写时拷贝。 fork调用失败的原因 1. 系统中有…

    2025年1月21日刷题记录

    1.leetcode1768题目 链接&#xff1a;1768. 交替合并字符串 - 力扣&#xff08;LeetCode&#xff09; 代码&#xff1a; class Solution { public:string mergeAlternately(string word1, string word2) {string word3;int a word1.size(), b word2.size();int i 0, j 0…