1.引入

  VPN技术的产生

  

MPLS大二层数据中心 二层mpls专线_VPN

  

  专线的特点

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

  VPN模型 - Overlay VPN

  

MPLS大二层数据中心 二层mpls专线_运营商_02

  Overlay VPN的特点:

  • 客户路由协议总是在客户设备之间交换,而运营商对客户网络结构一无所知。
  • 典型的协议:二层一一顿中继;三层一-GRE与IPSec;应用层一-SSL VPN。

  VPN模型- Peer-to-Peer VPN

  

MPLS大二层数据中心 二层mpls专线_路由表_03

 

  Peer-to-Peer VPN特点:

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

  

MPLS大二层数据中心 二层mpls专线_路由表_04

 

  Peer-to-Peer VPN的专用PE的接入方式特点:

  • 运营商为每一个VPN单独准备一台PE设备,PE和CE之间可以运行任意的路由协议,与其他VPN无关。

  传统VPN技术的缺陷:无法适应大规模VPN网络应用

  

MPLS大二层数据中心 二层mpls专线_VPN_05

 

2.MPLS VPN概述:

  • 运营商VPN解决方案中一种基于PE的L3 VPN技术。
  • 使用BGP在运营商骨于网上发布VPN路由
  • 使用MPLS在运营商骨干网上转发VPN报文

  

MPLS大二层数据中心 二层mpls专线_VPN_06

  

MPLS大二层数据中心 二层mpls专线_运营商_07

 

  MPLS VPN特点

  • 通过扩展的BGP协议 (MP-BGP) 传输路由报文;
  • 使用MPLS LSP为公网隧道对私网数据报文进行封装传输;
  • CE、PE、P设备不兼容其它功能 (没有一台设备既是CE,又是PE)。
  • 实现隧道的动态建立
  • 解决本地地址冲突问题
  • VPN私网路由易于控制

  

MPLS大二层数据中心 二层mpls专线_VPN_08

 

  MPLS VPN网络架构

  

MPLS大二层数据中心 二层mpls专线_VPN_09

    

MPLS大二层数据中心 二层mpls专线_VPN_10

 

  Site:站点

  • Site是指相互之间具备IP连通性的一组IP系统,且不需通过运营商网络实现。
  • Site的划分是根据设备的拓扑关系,而不是地理位置,尽管在大多数情况下一个Siteo中的设备地理位置相邻。
  • 地理位置隔离的两组IP系统,如果它们使用专线互联,不需要通过运营商网络就可以互通,那么这两组IP系统也组成一个Site。
  • Site通过CE连接到运营商网络,一个Site可以包含多个CE,但一个CE只属于一个Site。
  • 根据Site的情况,建议CE设备选择方案如下:
  • 如果Site只是一台主机,则这台主机就作为CE设备;
  • 如果Site是单个子网,则使用交换机作为CE设备;
  • 如果Site是多个子网,则使用路由器作为CE设备。
  • 对于多个连接到同一运营商网络的Sites,通过制定策略,可以将它们划分为不同的集合 (Set),只有属于相同集合的Sites之间才能通过运营商网络互访,这种集合就是VPN。
  • 一个Site中的设备可以属于多个VPN,换言之,一个Site可以属于多个VPiN

  VPN-instance:VPN实例

  在MPLS VPN中,不同VPN之间的路由隔离通过VPN实例实现,VPN实例中包含对应 Site的VPN成员关系和路由规则,PE上每个VPN实例都有相对独立的路由表和LFIB。

  

MPLS大二层数据中心 二层mpls专线_MPLS大二层数据中心_11

 

  VPN、Site和VPN-instance的关系:

  • VPN是多个Site的组合。
  • 一个Site可以属于多个VPN。
  • 每个Site在PE上都关联一个VPN实例。
  • VPN实例综合了它所关联的Site的VPN成员关系和路由规则。
  • 多个Site根据VPN实例的规则组合成一个VPN。

3.MPLS隧道技术

  隧道技术与MPLS:

  隧道:一个虚拟的点对点的连接。它提供了一条虚拟通路,使经过特殊封装的数据报能够在这个通路上传输。在隧道的两端分别对数据报进行封装及解封装。

  如GRE封装,隧道上的路由器根据报文外层的公网IP头进行数据转发。

  

MPLS大二层数据中心 二层mpls专线_MPLS大二层数据中心_12

 

  MPLS是天然的隧道,隧道上的路由器可以根据报文的MPLS头进行报文转发:

  

MPLS大二层数据中心 二层mpls专线_运营商_13

 

  MPLS隧道应用:隧道中间的LSR设备直接根据MPLS标签转发表进行数据转发,无需查询路由表,也无需学习到私网用户的路由,只要在进出MPLS网络的LSR设备 (隧道入出口)上进行处理,私网数据就能穿越公共网络。

  

MPLS大二层数据中心 二层mpls专线_VPN_14

 

  私网报文进入MPLS隧道:只要LSR1设法知道该私网用户的目的LSR,就可以将数据封装到该目的LSR的MPLS道中。

  

MPLS大二层数据中心 二层mpls专线_运营商_15

 

  私网报文离开MPLS隧道:报文到达LSR3设备 (隧道出口设备) 后,LSR3设备检查报文标签发现该发文发给自己 (下一跳是自己的loopback接口),进一步解析标签内部的IP头,发现报文真正的目的地址,

  再查询路由表成功转发报文给私网用户。

  

MPLS大二层数据中心 二层mpls专线_VPN_16

 

  MPLS倒数第二跳弹出:既然报文在隧道出口处 (LSR3上)查完标签后还要根据IP头进行转发,不如在LSR2出就直接弹出MPLS标签,这个技术就叫着MPLS倒数第二跳弹出。

  

MPLS大二层数据中心 二层mpls专线_VPN_17

 

  地址空间重叠: Overlapping Address Spaces

  用户维护隧道

  • 传统的VPN技术如GRE、IPSec等均采用这种隧道维护方案;
  • 缺点在于隧道建立维护工作完全由VPN用户完成,对于网络使用者来说工作繁琐而复杂,成本高昂。

  

MPLS大二层数据中心 二层mpls专线_运营商_18

 

  运营商维护隧道

  • 将VPN的维护工作移交给运营商,运营商作为公网的运营者,有充足的网络维护资源,又能以向用户提供VPN服务,而从中获利;
  • 然而,运营商需要为每个VPN用户的每一个分支提供台接入设备,这样的硬件成本过于高昂。

   

MPLS大二层数据中心 二层mpls专线_路由表_19

 

  运营商维护共享隧道

  • 更优的解决方案是运营商可以将同一网络位置的不同用户,采用同一台设备进行接入,并在相同的接入设备之间共用隧道;
  • 然而,不同的VPN用户可能选用相同的私网地址空间,PE设备上将存在地址冲突。

  

MPLS大二层数据中心 二层mpls专线_MPLS大二层数据中心_20

      

MPLS大二层数据中心 二层mpls专线_路由表_21

 

  解决地址空间重叠问题的讨论

  

MPLS大二层数据中心 二层mpls专线_VPN_22

4.VRF技术:Virtual Routing and Forwarding,虚拟路由及转发 (VPN路由表)

  多VRF技术将一台路由器划分成多个VRF每个VRF之间互相独立,互不可见,拥有独立的路由表项、端口、路由协议等。

  

MPLS大二层数据中心 二层mpls专线_路由表_23

 

  多VRF和设备端口

  • Eth0/0接口绑定VPN1,从Eth0/0接口进入路由器的报文只能查询VPN1的路由表进行转发;
  • Eth0/1接口绑定VPN2,从Eth0/1接口进入路由器的报文只能查询VPN2的路由表进行转发。
  • 一旦创建了VRF,并将特定的接口放入特定的VRF,那么这些接口将只为所属的VRF服务。 

  

MPLS大二层数据中心 二层mpls专线_MPLS大二层数据中心_24

     

MPLS大二层数据中心 二层mpls专线_路由表_25

 

  多VRF和路由协议多实例

  • 各个VRF与各自的用户网络之间运行一个路由实例该路由实例学习到的路由只能加入该VPN的路由表。
  • 各个路由实例与所属的VPN进行绑定,他们之间互相独立,只能学习到各自的邻居信息。

  

MPLS大二层数据中心 二层mpls专线_运营商_26

 

  本地路由冲突的解决方案

  • 在共享PE设备上使用VRF技术将重叠的路由隔离: 每个VPN的路由放入自己对应的VPN Routing Table中。
  • PE设备在维护多个VPN Routing Table时,同时还维护一个公网的路由表。

  

MPLS大二层数据中心 二层mpls专线_运营商_27

      

MPLS大二层数据中心 二层mpls专线_VPN_28

 

  解决地址空间重叠问题的讨论

  

MPLS大二层数据中心 二层mpls专线_路由表_29

 

5.MP-BGP技术

  • PE router in an MPLS VPN uses virtual routing tables to implement the functionality of customer dedicated PE routers.

  

MPLS大二层数据中心 二层mpls专线_VPN_30

     

MPLS大二层数据中心 二层mpls专线_VPN_31

  

  • Question:How will PE routers exchange customer routing information?
  • Option #2:Run a single routing protocol that will carry all customer routesinside the provider backbone.
  • Better answer, but still not good enough:P routers carry all customer routes.

  

MPLS大二层数据中心 二层mpls专线_VPN_32

 

  • Question:How will PE routers exchange customer routing information?
  • Option #1: Run a dedicated IGP for each customer across the P-network
  • This is the wrong answer for these reasons:
  • The solution does not scale.  P routers carry all customer routes.

  

MPLS大二层数据中心 二层mpls专线_路由表_33

  

  • Question: How will PE routers exchange customer routing information?
  • Option ##3: Run a single routing protocol that will carry all customer routes betweenPE routers. Use MPLS labels to exchange packets between PE routers.
  • The best answer:P routers do not carry customer routes; the solution is scalable.
  • Question:Which protocol can be used to carry customer routes betweenPE routers?
  • Answer:The number of customer routes can be very large. BGP is the onlyrouting protocol that can scale to a very large number of routes.  

  BGP可以跨设备建立邻居,传递路由,基于TLV架构,可以扩展属性位,从而携带更多表表明路由特征的信息。
  BGP路由更新包 (Update):

  

MPLS大二层数据中心 二层mpls专线_MPLS大二层数据中心_34

   

MPLS大二层数据中心 二层mpls专线_运营商_35

  

  • 传统的BGP更新只能发布或删除IPv4路由信息 (BGP-4),为了能够承载多个协议的路由信息 (IPv6、组播、MPLS VPN等),RFC 2858对BGP进行了扩展,称为MP-BGP (Multiprotocol BGP,

          多协议BGP,BGP-4+) ,新增了MP REACH NLRI和MP UNREACH NLRI两个属性,RFC 4360对团体属性进行了扩展,新增了扩展团体属性 (Extended Communities)

  • MP-BGP采用地址簇 (Address Family) 来区分不同的网络层协议

  MP_REACH NLRI属性:MP REACH NLRI是对原BGP更新消息中NLRI的扩展,增加了地址族的描述,以及私网Label和RD并包含了原BGP更新消息中的Next-hop属性。

  

MPLS大二层数据中心 二层mpls专线_运营商_36

 

  MP UNREACH NLRI属性:MP_UNREACH_NLRI替代了原BGP更新消息中的Withdrawn Routes,可以撤销通过MP_REACH_NLRI发布的各种地址族的路由:

  

MPLS大二层数据中心 二层mpls专线_VPN_37

   

MPLS大二层数据中心 二层mpls专线_路由表_38