现在的位置: 首页 > 综合 > 正文

VPN原理基础

2014年02月05日 ⁄ 综合 ⁄ 共 5035字 ⁄ 字号 评论关闭

无连接的IP与面向连接的服务

无连接的IP如何提供类似面向连接的服务?

       众所周知,“全IP”已经到来,但是“尽最大努力的”服务的特点,使得IP和面向连接的ATMX.25等协议而言,在QoS上面要解决很多问题。

       IP本身而言,数据链路层的ARQ(自动重发请求)、传输层TCP的流量、拥塞控制和重传机制,以及各个层次的校验功能在一定程度上解决了一些可靠性问题。但是要使得IP能和实时性要求较高的语音、图像等应用结合,上面的机制还不能完全满足,并且上面的机制基本上没有能够解决全网(这里的全网一般是局部的)、端到端的QoS问题。

       IP技术中如何提供Qos的保证成为了最重要的问题之一。QoS相关的基本思想:分类(如何讲流分类)、管制(平均速率、峰值速率、突发长度等控制)、调度(调整流的优先权)以及呼叫接纳(哪些用户可以接入资源,接入的优先权控制)。

QoS相关的两个模型

如何解决全网、端到端的QoS问题?

综合服务(集成服务)InteServ模型

【道路戒严】:国家领导人视察的时候一些道路往往戒严“预留了一些行车道”。

区分服务DiffServ模型

【警车开:区别与综合服务模型,区分服务模型在领导视察的时候,仅仅在车辆上“打了标记”,车牌号往往O或者红色字面打头以0001结尾,并且前面有拉警报的警车开道,告诉相关部门“这是特殊的流量”,需要优先通过。

综合服务InteServ模型

    IETF提出了RSVP协议,具体的表现为MPLS中的RSVP隧道。核心思想是预留资源,一般从局部网络中实现,需要改变网络的结构,实现复杂,难以大规模实现。但是能达到的效果理想,并且使可控的。

区分服务DiffServ模型

    IETF提出了DSDifferential Services)。核心思想是利用IPV4IPV6(这个字段进行了扩展)中服务字段总的DS字段值来标记,边界路由器进行分类或者通信量调节。与InteServ相比实施简单,但是不能像RSVP那样提供相对“面向连接”的服务。

MPLS技术

MPLS产生背景——ATMIP结合

  • ATM保证QoS,但是硬件昂贵、实施复杂;基于IP的应用广泛,但是QoS问题突出,因此ATMIP结合,IP
    Over ATM
    (覆盖模型:IPOALANEMPOA)。
  • IPATM结合的典型的网络。

IPATM结合的主要问题

  • 由复杂的时候转发逻辑复杂。
  • 报文要分析到IP层,时间、空间开销满足不了高速网络;

更多发现一个很有趣的事情:开始IPATM之上,后面IP
MPLS
IP反过来可以承载ATM。又证明了通信界中的“潜规则”:先进的技术未必能广泛应用。

MPLS技术(多协议标记交换)

        MPLS是一种技术,更确切的说是一种思想。核心思想:使用很简单的转发算法对打算固定长度“标记”的分组用硬件进行转发,而避免了每个节点的三层路由(转发上升到三层),这些转发都是在二层。由于MPLS不局限于ATM,也可用于IPXPPP、以太等二层协议,因此这种标记是“多协议”的。更多】TMPLS可以视作是MPLS的一个扩展子集,数据是基于MPLS标签进行转发的,是面向连接的MPLS,对MPLS某些复杂的功能进行了简化,去掉了数据面中不必要的转发处理,用于传输网。

VPN分类

VPN中创建隧道的方式多种多样,我们以此对VPN进行了划分,主要包括:

传统VPN

           帧中继(二层)

           ATM(二层)

基于客户端实施(CPE)VPN

           L2TP(二层)

           GRE(三层)

基于运营商实施VPN

           基于MPLS的二层VPN

           BGP/MPLS VPN

这里说的VPN都是基于MPLSVPN,采用了MPLS技术。

VPN原理基本上包括控制和转发两个方面

控制(控制平面)

    控制平面主要是解决如何分配标签、维护路由信息、检测、切换等等问题。

转发(转发平面)

    转发平面主要是解决在路由信息、标签等信息确定的情况下如何识别报文、转发包括等等问题。

L2VPN概述

这里说的L2VPN都是基于MPLSL2VPN,采用了MPLS技术

VPWSVirtual Private Wire Service虚拟专线服务

   点到点连接。核心思想:提供点到点的服务,即透明的将报文一点“透明”传输到另外一点。这里的接入可以是以太、以太VLAN,也可以是PPPHDLC等等

VPLSVirtual Private LAN Service虚拟LAN服务

   点到多点连接。这个网络对用户而言是一个LAN,而且对用户而言是“透明”的。

通信、计算机中“透明”这个概念经常用到,而且很重要!

VPWS原理

1、用户侧如何识别?

由本端的接入点(AC)的绑定来解决如何识别该业务的报文——流匹配规则

2、网络侧如何识别?

由远端节点地址和vc-id(VCID)号构造全网唯一的PW标识。
  • vc-id:虚拟链路标志
  • vc-id在本地节点必须是唯一的,远端节点对应接口需分配同样的vc-id

3、如何转发?(转发平面)通过内、外层标签转发表

  • 外层标记,又称隧道标记, 由LDP或者RSVP协议分配,指示从该PE路由器到目的PE路由器的路径  PE之间创建公共通道(LSP)
  • 内层标记,又称虚拟链路标记,由扩展的LDP协议或者BGP分配,用以标签识别不同的VPN信息
    。是通过
    VCID和对端信息来协商或者指定的。 PE之间建立的点到点的子隧道称之为伪线PW更多两个模型MartiniKompella

4、如何分配标签(标签的形成)?(控制平面)

上面的转发逻辑是建立在内外层标签建立的基础之上,那么通过什么来分配,如何分配?

  • PEP设备或者PEPE之间需运行路由协议,并通过LDP或者RSVP分配标签创建LSP
  • PE之间用扩展LDP或者BGP协商分配内层标签(也可以手动指定内层标签,即静态伪线)

VPWS原理—总结

VPWS的工作模式:点到点
VPWSVC建立过程:
  • LSP建立:通过MPLS网络建立LSP隧道
  • VC分配:PE配置VCID分发VC Label并和远端PE交互
  • PW建立:两台PE之间通过mapping消息协商交互,建立PW
VPWS的数据转发过程:
  • CE1通过AC发送数据包给PE
  • PE1通过VCID封装VC LabelLSP Label转发
  • P根据LSP Label转发(只处理公网LSP标签)
  • PE2根据VC Label识别将报文传发送给对应CE2

VPLS原理

VPLS基本原理和VPWS一致,比VPWS多了如下一些基本概念:

1、虚拟转发实例VFI(Virtual forwarding Instance)VFIPE路由器上的一个VPLS实例
,不同
PE上相同vc-idVPLS实例属于同一个VPLS域,可以相互通信。创建VFI后就将连接VPN的接口添加到此VFI中,当PE从此接口收到报文就会根据接口对应VFI信息区分VPN。这个是ROS设备中的逻辑,而ROSNG中没有明显的VFI的概念,只要求伪线两端的VCID一致。

2、执行MAC学习、MAC交换等

3、伪线的Hub/Spoke属性、GroupID和接入接口(AC)的Client/Server属性、GroupID属性。

VPLS基本原理和VPWS一致,也包括上面提到的四个问题:

1、用户侧如何识别?

2、网络测如何识别?

3、如何转发?

4、如何分配标签?

除此之外,VPLS还涉及如下问题:

1、执行MAC学习、MAC交换等

2、伪线的Hub/Spoke属性、GroupID

3、接入接口(AC)的Client/Server属性、GroupID属性

等等

VPLS网络中,相对于一台PE设备,我们把其下挂的CE设备称为本地成员,配置的PE
peer
称为远端成员,ZXR10 VPLS成员可以归为以下属性:

  • 本地成员(Local CE):Client属性和Server属性
  • 远端成员(PW Peer):Hub属性和Spoke属性

为便于理解和记忆,我们做如下约定:

  • Hub_pw和 Client_interface      归纳为H属性成员;
  • Spoke_pw和 Server_interface 归纳为S属性成员。

VPLS工作机制中,PE路由器对于广播(Broadcast)、组播(Multicast)和未知(Unknown)包(Frames)要进行广播(或称洪泛)给其他成员

ZXR10 VPLS  广播定律” 表述如下:

  • H属性成员收到的广播包要向S属性成员广播,不得再向H属性成员广播
  • S属性成员收到的广播包要向其他S属性成员及其所有的H属性成员广播

广播定律是对PE路由器的一个VFI内部而言的,广播定律对单播转发同样适用。

VPLS原理-总结

VPLS:服务提供商ISP通过可扩展的IP/MPLS网络提供城域内和城域间的多点到多点二层连接,对于用户而言,遍布各地的站点就好像连接到一个简单的以太网LAN
用户可以通过MANMetropolitan Area Network,城域网)或WANWideArea Network,广域网)来实现自己的LANLocal
Area Network
,局域网)

L3VPN

L3VPNLayer 3 Virtual Private Network,三层虚拟专用网。

   L3VPN主要提供一种三层的透明传输业务,对用户而言,这个业务逻辑上就是一个路由器,并且是透明的。

L3VPN的基本原理、数据包转发过程与L2VPN一致,同样也是利用了MPLS的核心思想,通过标签交换实现业务的透明传输。

相同点:

1、都是采用了MPLS技术;2、外层标签都可以通过LDPRSVP分配

差异:

1、传输内容L2VPN是以太报文,而L3VPNIP报文;2、内层标签分配上,L2VPN用的是扩展LDP或者BGP(MPBGP),而L3VPN则是BGPMPBGP)。

      除此之外,L3VPN还需要解决其自身特殊的问题。

L3 VPN中关键要实现两个目标:

  • VPN的路由信息仅能由本VPN的设备学习而不能被P设备及其他VPN设备学习——通过PE两点间运行BGP决办法:可以通过在PE两点间运行BGP协议来实现
  • PE设备上需保存各组VPN及公共网络的相关路由信息,但相互之间不能影响——提出VRF概念 
VRFVPNRouting&Forwarding VPN路由转发
作用:隔离、识别不同的VPN
每个VRF存储的路由信息包括:
  • 与此VRF有关的直连从CE站点接收到的路由
  • 从其他PE路由器接收到的具有可接受的BGP属性的路由
只有来自与VRF相关的站点的数据包才会被查询
提供不同VPN间的隔离

1、如何识别VPN—本地识别

  • PE收到报文后如何判断这是VPN的用户信息还是公网信息?如何分辨VPN呢?
  • PE上配置不同的VRF,将不同的接口指定到对应的VRF中。

2、如何识别VPN——跨公网识别

  • PE发送VPN路由信息时如何标识他们的VPN属性呢?
  • 不同的VPN可能使用相同的地址空间,又如何标志路由信息属于哪VPN呢?

VRF中包含两种属性:RDRTBGP/MPLS VPN就是通过这两个属性解决以上问题的

1RD:路由标识符(Route Distinguisher):用来解决用户地址复用问题

2RT:路由目标(route-target):用来识别不同VPN的路由信

       作用:RT为路由实例VRF配置输入输出的路由策略,指定PE路由器能够接收、发送哪些路由信息,通过这些路由策略定义VPN的连接性。实质:RT实质上是BGP的扩展团体属性,用来标识每条路由信息的所属关系。格式:AS号:分配号或IP地址:分配号

VPN-IPV4地址仅用于公共网络,CE并不接收
入口PE在发送路由信息进入公共网络时,将Ipv4路由格式变为VPN-ipv4格式
出口PE在发送给CE路由信息时将Vpn-ipv4地址变为Ipv4地址发送
VPN-IPV4地址仅用于控制层面,即在BGP传递路由消息时使用,而数据报文转发时不会使用

RT实际由两部分组成:

  • import target:用于输入策略,只有当输入路由信息属性与PEVRFimport
    target
    属性相匹配才能学习保存
  • export target:用于输出策略,PE发送路由信息时携带对应VRFexport
    target
    属性,用来标识发送VPN

抱歉!评论已关闭.