MPLS VPN原理与配置

MPLS VPN

  • 物理专线:独享物理网络带宽
  • 优点:安全性高,网络质量取决于网络设备和链路带宽
  • 缺点:成本高,链路带宽利用率低
  • VPN:虚拟专用网
  • 优点:安全性高,链路带宽利用率高,与其他用户在公网中实现逻辑上的隔离
  • BGP/MPLS IP VPN:
  • 简称MPLS VPN,是目前广泛应用的三层VPN技术,属于VPN技术中的一种

MPLS VPN网络架构

  • CE设备:直接与服务商网络连接的用户边界设备
  • PE设备:服务商MPLS VPN骨干网络的边界设备,与CE设备相连,主要负责VPN业务接入
  • P设备:指服务商MPLS VPN骨干网络中的核心设备,主要负责路由和数据的

MPLS VPN技术架构

  1. MP-BGP:负责PE与PE之间的私网路由传递
  2. LDP:负责PE与PE之间建立MPLS隧道,用于私网流量穿越公网
  3. VRF:负责PE设备上的VPN用户管理
  4. 静态路由、IGP、BGP:负责CE和PE之间的私网路由信息交换

VRF:虚拟路由转发

  • 也称为VPN实例,同样称为小路由器(虚拟路由器)
  • 作用:在PE设备上管理不同的VPN用户的私网路由

RD和RT的区别

RD:路由标识符,8B

type(2B)

管理员字段

用户自定义字段

0

2字节AS号

4字节用户自定义

1

4字节IPv4地址

2字节用户自定义

2

点分4字节AS号

2字节用户自定义

3

整数型4字节

2字节用户自定义

  • type字段不需要配置,管理员字段和用户自定义字段在项目中有严格规范,按照以上一种方式配置,实验环境无要求
作用
  • 用来区分在PE间传递来的重叠的私网IPv4路由
  • 原因
  • 由于在PE设备上将不同的CE传来的同一条IPv4路由引入BGP中传递出去,BGP会当作一跳BGP路由传递出去
  • RD(8B)+ipv4路由形成vpnv4路由(12B)
  • 入口PE到出口PE之间通过BGP传递VPNv4路由,但是传统的BGP 4只能传递IPv4单播路由,所以入口PE和出口PE之间需要运行MP-BGP

RT:route-target,路由目标,8B

  • 书写格式与RD一致
  • 是BGP扩展团体属性
  • 可以由一个或多个export target和import target组成
作用
  • 用于在PE设备上将VPNv4路由导入到正确的VRF中

export target:本地PE设备朝远端PE通过MP-BGP通告vpnv4路由时,携带export target

import target:PE收到其他PE通过MP-BGP通告的vpnv4路由时,检查其export target属性当此属性与PE上某个VPN实例(VRF)的importtarget匹配时,PE就把该路由加入到该VPN实例的路由表中

MPLS VPN路由传递的过程

  • 分三部分
  1. 本地CE到入口PE之间交互IPv4路由信息
  • 问题:入口PE如何区分不同站点的重叠路由信息?
  • 解决方法
  • PE为每个站点单独配置一个VPN实例(VRF,相当于一个小路由器),每个VRF单独维护一章IPv4私网路由表,PE自己还维护一张公网路由表,不同的VRF路由表之间和公网路由表都是逻辑上隔离的,相互独立
  • PE设备将每个站点传递过来的路由信息存放在对应的VRF中,最终PE设备上将维护一章公网路由表和多个数量可变的VRF(接入多个VPN用户,就有多少个VRF)
  1. 入口PE和出接口PE之间交互vpnv4路由信息
  • 问题:相同的私网路由如何在公网中传输而不冲突?
  • 解决方法
  • 给每条IPv4私网路由打上对应VPN实例的RD值,相同的IPv4路由打上不同的RD值,形成不同的VPNv4路由,使用BGP在传递时就可以区分不同站点重叠的私网路由
  • 问题:传统的BGPv4无法传递VPNv4路由
  • 解决方法
  • 在VPN专线中,用MP-BGP协议承载VPNv4路由,PE与PE之间建立MP-IBGP对等体关系,开启通告VPNv4单播路由的能力,存放在VPNv4路由表中,通过update报文通告
  • 新增两种属性
  • MP-reach-NLRI:多协议可达网络层路由信息,用来携带更新的VPNv4前缀信息和路由属性
  • MP-unrech-NLRI:多协议不可达网络层路由信息,用来携带撤销VPNv4前缀信息,撤销时不携带路由属性
  1. 出口PE和远端CE之间交互IPv4路由信息
  • 问题:出口PE接收到私网路由后,如何正确的将私网路由导入到对应的VRF中?
  • 解决方法
  • 入口在通告VPNv4路由时,携带出站RT值(export target),出口PE检查其export target属性,当其与PE上某个VPN实例import target匹配时,才会把路由加入到该VPN实例的路由表中
  • 同一VPN中
  • 入口PE export target(钥匙)=出口PE impoet target(锁)
  • 入口PE import target(锁)=出口PE expoet target(钥匙)

MPLS VPN数据转发的问题

  • 问题1:PE设备在接收到私网数据 时,如何判断去往那个站点?
  • 解决方法:
  • 通过MP-BGP协议在通告vpnv4路由时为VPNv4分配标签,从对应的VPN中发出的数据在PE设备上打上标签,在接收端PE设备上通过标签识别VPN及转发接口
  • 问题2:公网中的p设备没有参与VPN路由的传递,如何转发私网数据?
  • 解决方法
  • 公网设备使能MPLS和MPLS LDP,为私网数据分发公网标签,建立公网隧道
  • 原因:
  • 公网设备没有私网路由,私网数据无法在公网传输,加上标签保护私网数据,发送到公网上时会通过公网标签穿越公网

配置步骤

  1. ISP网络IGP互通,配置LDP
  2. 在PE设备上创建VPN实例,并绑定到对应接口上
  3. 在CE和PE之间配置路由协议
  4. 在PE与PE之间建立MP-IBGP对等体关系
  5. 在PE设备上执行IGP和BGP的路由双向引入