VPN的定义:在公共的网络上来传递私有网络的数据包的技术称之为VPN(虚拟私有网络)
VPN的发展:VPN技术的出现替代了P2P的专线,它在公共的网络上是用虚拟电路来替代站点之间专用的P2P线路。客户倾向于使用VPN,是因为可以减少花费。
VPN的术语:P设备是运营商的核心设备;PE设备是运营商的边界设备,主要用于连接客户。CE设备,又称为CPE,是客户网络中连接运营商的设备。
VPN的分类:VPN服务有两种主要模式:
- Overlay VPN(覆盖型VPN):将运行商看成是一条P2P的线路,两个客户之间看起来是直连。
- 一层部署:这是传统的TDM(时分多路复用)的解决方案
- 运营商在客户间建立物理层的连接
- 客户只需要负责上层的操作就可以
- 二层部署(传统的):这是传统的包交换的WAN(广域网)的解决方案
- 运营商在客户间建立虚电路连接
- 客户只需要负责上层的操作就可以
- IP隧道:使用IP-over-IP的技术来部署VPN
- 使用GRE或IPSec来做Tunnel的连接
- GRE简单和快速;IPSec提供认证和安全
- 二层转发:使用PPP-over-IP的隧道技术,主要用于拨号环境
- 一层部署:这是传统的TDM(时分多路复用)的解决方案
- Peer-to-Peer VPN(对等型VPN):PE和CE是对等的邻居关系,运营商参与客户的路由。
- 共享式PE
- PE路由器承载所有客户的路由
- 在PE-CE之间的接口上通过ACL的方式做包过滤,可以使客户之间相互独立
- 专用PE控制路由分发
- P路由器承载所有客户的路由
- 每个客户都有专属的PE连接,只存放这个客户的路由
- 客户之间的相互独立是通过控制路由的泄露来完成的
- 共享式PE
覆盖型VPN和对等型VPN的优缺点
- 覆盖型VPN的优点:
- 大家都知道,并且易于配置
- 运营商不参与客户的路由
- 客户网络与运营商网络相互独立
- 可以使用重复的地址空间
- 覆盖型VPN的缺点:
- 部署最优路径需要全互联的虚拟电路
- 虚拟电路需要手工配置
- 会增加额外的负载包头
- 对等型VPN的优点:
- 在客户站点间保证其是最优路径
- 易于添加额外的VPN
- 站点的创建,非常简单
- 对等型VPN的缺点:
- 运营商参与客户的路由
- PE承载所有客户的路由
- 需要有详细的IP路由的知识
- 地址空间不能重复
- 共享式PE,性能比较低下(每个数据包都需要查ACL)
- 专用PE的费用比较高
MPLS VPN的特点
- MPLS VPN既有覆盖型VPN的优点,也有对等型VPN的优点
- PE参与客户的路由,保证最优路径,并且提供一个新站点非常简单
- PE路由器承载一系列分割的路由表(客户是客户单独的路由,全局是全局的路由。类似于专用PE的环境)
- 客户可以使用重复的地址空间
MPLS VPN的体系架构
- MPLS VPN分为两个平面:
- 控制平面:
- 研究使用什么样的路由协议,如何传路由
- 底层IGP使各个设备互联互通;使用BGP将客户路由从一个PE传到另一个PE。
- 研究使用什么样的标签分发协议,如何分发标签
- 研究使用什么样的路由协议,如何传路由
- 数据平面:
- IP包查FIB
- 标签包查LFIB
- 控制平面:
MPLS VPN的基本配置 — 六大步骤
- 核心的IGP
- 核心的MPLS
- PE-PE之间的MBGP
- CE-PE之间路由协议
- 将CE-PE之间的路由协议重分布进MBGP(可选)
- 将MBGP路由重分布进CE-PE之间路由协议(可选)
MPLS VPN的RD(route distinguisher 路由区分)
- RD路由区分,一共64bits,没有特别意义。主要用于添加在ipv路由之前,使其全局唯一。
- 形成的96bits路由称之为VPNv4地址。
- 传统的ipv4 unicast的BGP只能用于传32bits的路由。现在96bits的路由需要一个新的BGP的地址簇才可以传递,将可以传递96bits路由的BGP地址簇称为VPNv4 unicast地址簇。这样既支持IPv4 unicast的BGP又支持其他地址簇的BGP称为多协议BGP(MBGP或MPBGP)。
- RD有两种格式:
- – 16:16:32 AA:NN 例: 1:1
- – 16:32:16 IP:NN 例: 10.1.0.3:1
MPLS VPN的RT(route target 路由目标)
- RT路由目标,一共64bits,是BGP的扩展团体属性(extcommunity),主要用途是指明路由是属于哪个VPN的成员
- 一条路由可以携带多个RT
- RT有两种格式:
- – 16:16:32 AA:NN 例: 1:1
- – 16:32:16 IP:NN 例: 10.1.0.3:1
MPLS VPN数据包的走向
- 顶层标签被称为隧道标签或递送标签,由真实下一跳为BGP的下一跳分配。主要作用是把数据包送到下一跳的设备上去。
- 底层标签又称为VPN标签,由MBGP分配。作用是区分哪个vrf的数据包。