MPLS 虚拟私有网概述

定义与目的

定义:多协议标签交换MPLS(Multiprotocol Label Switching)是一种IP(Internet Protocol)骨干网技术。MPLS在无连接的IP网络上引入面向连接的标签交换概念,将第三层路由技术和第二层交换技术相结合,充分发挥了IP路由的灵活性和二层交换的简捷性。

起源:90年代中期,随着IP技术的快速发展,Internet数据海量增长。但由于硬件技术存在限制,基于最长匹配算法的IP技术必须使用软件查找路由,转发性能低下,因此IP技术的转发性能成为当时限制网络发展的瓶颈。
为了适应网络的发展,ATM(Asynchronous Transfer Mode)技术应运而生。ATM采用定长标签,并且只需要维护比路由表规模小得多的标签表,能够提供比IP路由方式高得多的转发性能。然而,ATM协议相对复杂,且ATM网络部署成本高,这使得ATM技术很难普及。
传统的IP技术简单,且部署成本低。如何结合IP与ATM的优点成为当时热门话题。多协议标签交换技术MPLS就是在这种背景下产生的。
MPLS最初是为了提高路由器的转发速度而提出的。与传统IP路由方式相比,它在数据转发时,只在网络边缘分析IP报文头,而不用在每一跳都分析IP报文头,节约了处理时间。
随着专用集成电路ASIC(Application Specific Integrated Circuit)技术的发展,路由查找速度已经不是阻碍网络发展的瓶颈。这使得MPLS在提高转发速度方面不再具备明显的优势。但是MPLS支持多层标签和转发平面面向连接的特性,使其在VPN(Virtual Private Network)、流量工程、QoS(Quality of Service)等方面得到广泛应用。(原本用于提升路由器转发速度的技术随着集成电路的发展已经不再是关键,但是其中的标签转发功能还在许多方面进行应用)

MPLS-VPN工作原理

VPN技术的产生

在这里插入图片描述
VPN(Virtual Private Network)虚拟私有网,不希望让别人看见,只有自己能看见的网络。
现在客户1的两台设备和客户2的两台设备想要互相进行通信,但是中间需要经过运营商的网络,直接接到运营商的网络不安全,那怎么办呢?可以进行购买专线,一条线直接连接两台设备,但是专线有以下特点:

  • 线路专有,安全性高,不同用户之间物理隔离;
  • 价格昂贵;
  • 使用不充分,带宽浪费很严重。
  • 灵活性差

于是便引出了MPLS-VPN技术:
在这里插入图片描述
新的共享带宽的技术有帧中继、X.25等,这些技术其实是一种逻辑的隔离技术,就好像在两个站点之间跨越公共网络建立了专用的隧道,站点通过隧道实现通信。
当用户将信息发送到运营商边界设备之后,边界设备会现在外层打上一层包头,然后直接通过隧道标签进行转发,不去解析内层的信息,直接到达出接口,达到了VPN设计的目的以及信息的保密性。

企业用户接入运营商的网络结构

在这里插入图片描述

  • 企业用户的网络设备:
    RTA、RTB、RTG、RTF称作CE(Customer Edge客户边界路由器)设备。
  • 运营商的网络设备:
    RTC、RTE直接与客户设备相连接,被称为PE(Provided Edge运营商边界路由器)设备;
    RTD是运营商网络中的骨干设备,被称作P(Provide)设备。(网络规模比较小的时候可能没有P设备)

VPN模型-Overlay VPN

在这里插入图片描述
实质上是一种静态的VPN。
Overlay VPN的特点:
客户路由协议总是在客户设备之间交换,而运营商对客户网络结构一无所知,客户需要负责所有的VPN维护工作。
典型的协议:二层——帧中继;三层——GRE与IPSec;应用层——SSL VPN。

VPN模型-Peer-to-Peer VPN(1)

在这里插入图片描述
Peer-To-Peer VPN特点:

  • 在CE设备与PE设备之间交换私网信息,由PE设备将私网信息在运营商网络中传播,实现了VPN部署及路由发布的动态性。
  • 解决了Overlay VPN的“静态”性质不太适合大规模应用和部署的问题。

也就是说在CE与PE之间交互私网信息,然后运营商的PE设备之间建立隧道,进而转发。
但是现在,CE1设备的流量会传给PE1,CE2设备的信息也会传给PE1,那么如果地址重叠的时候,如何进行区分流量信息是CE1的还是CE2的呢?

VPN模型-Peer-to-Peer VPN(2)

在这里插入图片描述
一方面可以做大量的ACL,另一方面也可以针对每一个用户进行安排一个PE设备进行流量的转发,这样就不用进行ACL进行区分了。但是这样部署成本太大,价格太高。现在就要想一个比较综合技术进行有效的区分设备流量。

MPLS-VPN产生的原因

在这里插入图片描述
两个客户的VPN存在相同的地址空间,传统VPN网络结构中的设备无法区分客户重叠的路由信息。

解决地址空间重叠需要解决的三个问题

在这里插入图片描述

  1. PE设备对于接收到的路由如何进行区分?
  2. PE设备对于要发送出去的路由如何准确送达?
  3. PE如何让数据包在网络中进行传输?
解决本地地址空间冲突方案(1)

在这里插入图片描述
一台CE设备对应一台PE设备,这样类似于专线,实现物理隔离,但是成本忒大,可以有别的方法进行解决。
3. PE如何让数据包在网络中进行传输?

解决本地地址空间冲突方案(2)

在这里插入图片描述
在共享PE设备上使用VRF技术将重叠的路由隔离:每个VPN的路由放入自己对应的VPN Routing Table中。
PE设备在维护多个VPN Routing Table时,同时还维护一个公网的路由表。
就是利用VRF技术把一台实际的物理路由器分成逻辑上的两台虚拟的设备,分别维护各自的路由表,这样就可以准确的进行区分。

解决传递过程中如何标识冲突路由

在这里插入图片描述
之前已经解决了在本地如何存储重叠的路由信息,在本地已经没有问题了,但是接下来如何在传递过程中进行区别重叠的路由呢?

将VPN路由发布到全局路由表之前,使用一个全局唯一的标识和路由绑定,以区分冲突的私网路由。这个标识被称为RD(Route Distinguisher)

Hub-Spoke场景中VPN路由的引入问题

在这里插入图片描述
现在两条已经加以区分的路由已经到达了PE2,但是在PE2向总部传输路由的时候出问题了,如果先把RD值为1:1的路由传递给总部,那么RD值为2:2的路由就传递不进总部了,因为总部的路由表中只能存在一条相同的路由。那怎么解决这个问题呢?

RD不能解决VPN路由正确引入VPN的问题。
我们需要一种类似于Tag的标识。这个标识由人工分配,发送端PE发送时打上标识,接收端PE收到后,根据需要将带有相应标识的路由引入VPN。

Hub-Spoke场景中VPN路由的引入问题的解决

在这里插入图片描述
RT属性用于将路由正确引入VPN,有两类VPN Target属性,Import Target和Export Target,分别用于VPN路由的导出与导入。
Export与Import可以理解为一种路由喜好,表示可以接收哪种路由。

Hub-Spoke场景中VPN路由的引入问题的解决的优化

在这里插入图片描述

从图中可以发现,只使用了两种RT值就实现了分部与总部互通但是分部之间不通。
本端的Export Target=对端的Import Target,本端的Import Target=对端的Export Target。

解决数据转发过程中冲突路由的查找

在这里插入图片描述
现在有以上场景:CE3去ping172.16.1.1,然后发送给PE2,于是PE2进行数据转发,但是到了PE1之后就会出现问题,既然PE1有很多个表,并且表中都有172.16.1.1这个地址,那么究竟应该从哪张表进行转发呢?
因为数据包没有携带任何标识,所以在ICMP的数据包到达PE1时,PE1并不知道该查找哪个VPN的路由表找到正确的目标地址。

MPLS标签嵌套应用

在这里插入图片描述

简单说就是在IP数据包从CE发送给PE后,也就是进入了MPLS域,于是进行打标签,打的是两层标签:外层标签负责在公网中转发,内层标签负责指导从哪个路由表中转发出去。

MPLS-VPN的工作过程

在这里插入图片描述

MPLS VPN的工作过程分为两部分:

  • MPLS VPN路由的传递过程;(控制层面)
  • MPLS VPN数据的转发过程。(数据层面)

CE与PE之间的路由交换

在这里插入图片描述
PE与CE之间可以通过静态路由协议交换路由信息,也可以通过动态路由协议(如:RIP,OSPF,ISIS,BGP等)交换路由信息。
(简单说就是CE跟PE之间得运行一些路由协议,然后把CE的路由信息传递给PE)

VPN路由注入MP-BGP的过程

在这里插入图片描述
VRF中的IPv4路由被添加上RD,RT与标签等信息成为VPN-IPv4的路由,放入到MP-BGP的路由表中,并通过MP-BGP协议在PE设备之间交换路由信息。
MP-BGP:多协议BGP,首先有BGP是因为BGP可以跨设备建立邻居,正适应VPN的这个网络,多协议是因为,以往的BGP仅仅是针对于IPv4网络,现在已经是VPN的网络,IPv4已经不足以支持BGP了,就是已经不适用了,因为在一台路由器上都会有多张路由表,BGP已经不够用于VPN网络了,于是就叫多协议BGP。(个人理解这个多协议是因为PE设备上的路由表是可以有多中协议学习到)

公网标签分配过程

在这里插入图片描述

  • MPLS协议在运营商网络分配公网标签,建立标签隧道,实现私网数据在公网上的转发。
  • PE之间运行的MP-BGP协议为VPN路由分配私网标签,PE设备根据私网标签将数据正确转发给相应的VPN

简单说就是公网标签负责在公网中进行传递,私网标签决定从哪个表转发出去。

MP-BGP注入VPN的过程

在这里插入图片描述
PE2在接收到PE1发送的VPNv4路由后将检查路由的扩展团体属性,将携带的Export Target值与本端VPN的Import Target值比较,数值相同则将路由引入VPN的路由表,实现路由的正确导入。
(简单说就是接收时对比RT值,符合接收,不符合丢弃)

CE设备到PE设备的数据转发

在这里插入图片描述
数据从CE4转发给PE2,在PE2设备上需要查找VPN2的路由表,确定数据进行标签转发后,再查找下一跳与出接口,根据分配的标签进行MPLS的封装。

公网设备上的数据转发

在这里插入图片描述

PE1收到剥离公网标签的数据包后,根据私网标签查找转发数据包的下一跳,将数据包正确发送给相应VPN客户。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小刘不忙!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值