MPLS VPN配置/基本原理

通信设计应用

63人已加入

描述

  MPLS简述

  MPLS(multi-protocollabelswitch)是Internet核心多层交换计算的最新发展。这里主要描述一下标签转发表的产生过程及IP包如何通过MPLS转发。

  MPLS标签栈头

  

VPN

 

  图1 MPLS标签栈头

  32位的MPLS栈头包括以下区域(如图1所示):

  承载MPLS标记实际值的标记区域(20位);

  CoS区域(3位),用于在分组通过网络时施加在分组上的排队和丢弃算法;

  堆栈区域(S区域,1位),用于支持标记堆栈序列;

  TTL区域(8位),提供传统的IPTTL功能。

  标签转发表产生过程

  1.路由器之间通过路由协议或静态路由产生路由表。

  

VPN

 

  图2 路由器之间通过路由协议或静态路由产生路由表

  如图2所示,假设途中A、B、C、D四台路由器之间运行了OSPF协议,A路由器学习到D路由器网段211.91.168.0/24的路由。

  2.运行MPLS的路由器为路由表中的路由分配标签。

  

VPN

 

  图3 运行MPLS的路由器为路由表中的路由分配标签

  图3A、B、C、D四台路由器的路由表中都有211.91.168.0/24网段的路由,假设各路由器都已运行MPLS协议,则每台路由器都会为该路由分配一个标签。

  3.通过LDP/RSVP协议发现其MPLS邻居。

  假设在各路由器接口启动LDP协议。通过LDP发现协议,A路由器知道B路由器为其MPLS邻居,B路由器知道A、C为其MPLS邻居,C路由器知道B、D为其MPLS邻居,D的MPLS邻居为C。

  4.将打标签的路由通告给其MPLS邻居。

  各路由器将其打了标签的路由通告给其MPLS邻居,而不管是否已从其邻居学习到该路由的标签。这样对于路由211.91.168.0/24在各路由器中的标签情况如图4所示。

  

VPN

 

  图4 各路由器中的标签情况

  5.路由器将其下一跳路由器通告的标签加到其转发表中。通常在实际应用中路由器将目的地不是本地的IP包转发给其下一跳。因此在MPLS中,路由器只将其下一跳路由器通告的标签加到其转发表中。对于211.91.168.0/24网段对应的转发如图5所示。

  

VPN

 

  图5 路由器将其下一跳路由器通告的标签加到其转发表中

  IP包在MPLS网络中转发过程

  1.MPLS入口路由器根据目的地址查找路由表。

  如图5例,假设一目的地址为211.91.168.0/24的IP包到达路由器A。此时路由器A将查找其路由表,发现该路由下一跳为路由器B。

  2.将该IP包打上标签,转发给下一跳路由器。

  上例中,路由器A将目的地址为211.91.168.0/24的IP包打上标签20,转发给其下一跳路由器B。

  3.下一跳路由器查找其转发表,替换标签,继续转发。

  上例中,当打有标签的IP包到达B路由器时,路由器不再根据目的地址查找路由表了,而是根据标签查找标签转发表。从A来的出站标签对应于B的入站标签,也就是B通告给A的标签。B路由器通过标签替换,将其入站标签替换成出站标签,即用标签30替换掉标签20,然后转发给其下一跳路由器C。C路由器同样进行标签交换,将带有标签40的IP包送给D路由器。

  4.出口路由器查找其转发表,发现其就是目的地网络,弹出标签,送给相应端口处理。

  上例中D路由器将查找标签转发表,发现该IP包目的地为自己,则弹出标签。标签交换过程结束。

  VPN在MPLS中的实现

  RFC2547bis定义了允许服务提供商使用其IP骨干网为用户提供VPN服务的一种机制。RFC2547bis也被称为BGP/MPLSVPN,因为BGP被用来在提供商骨干网中发布VPN路由信息,而MPLS 被用来将VPN业务从一个VPN站点转发至另一个站点。首先对MPLS VPN中用到的常用术语作一说明,然后介绍一下MPLS VPN实现的基本原理及常见组网。

  MPLS/VPN中常用术语

  PE路由器:又称作提供商边缘路由器。该路由器负责用户端网络到提供商网络的接入。

  P路由器:又称提供商路由器。P路由器是提供商网络中不连接任何CE设备的路由器。

  CE路由器:又称用户边缘设备。CE路由器通过连接至一个或多个提供商边缘(PE)路由器的数据链路为用户提供对服务提供商的接入。

  VPN-IPV4地址:VPN用户通常使用私有地址来规划自己的网络。当不同的VPN用户使 用相同的私有地址规划时就会出现路由查找问题。

  路由区分符RD:路由区分符RD即VPN-Ipv4地址的前8字节,用来区分不同VPN中的相同私网地址。

  路由目标RT:RT为MP-BGP中的扩展共同体属性之一。路由目标属性定义了PE路由器发布路由的一组站点(VRF)的集合。PE路由器使用这一属性来对输入远端路由到其VRF进行约束。

  VPN路由转发表(VRF):每个PE路由器为其直连的站点维持一个VRF。每个用户链接被映射至一个特定的VRF。每个VRF与PE路由器的一个端口相关联。

  VPN在MPLS网络中的实现

  网络拓扑描述

  假设一个服务提供商具有一个IP骨干网,为不同的企业提供BGP/MPLSVPN服务。网络中有3个PE路由器,连接到4个不同的用户站点。

  

VPN

 

  图6 网络拓扑

  图6中,CE1与CE3属同一VPN1,CE2与CE4同属另一VPN2。站点1(CE1)中的任何主机可以与站点3(CE3)中的任何主机进行通信。站点2(CE2)中的任何主机可以与站点4(CE4)中的任何主机进行通信。

  路由学习过程

  在一个用户站点能够将VPN业务转发到远端站点之前,必须将VPN路由信息从每个用户站点通过骨干网转发至其他用户站点。PE路由器从其直连的CE路由器学习路由,入口PE通过骨干网向出口PE发布路由,出口PE路由器将路由发布至CE。

  标签转发过程

  在网络中,只有PE及P路由器运行标签转发协议,

  图6中CE1与CE3客户属于同一VPN。当CE1的客户需要向CE3客户发送信息时:

  CE1路由器查找路由表,将数据包发给PE1路由器;

  PE1路由器发现CE1属于VRF1,查找VRF1表,找到目的地址下一跳为MP-BGP对等体路由器PE2;

  PE1路由器查找路由表知到达对等体PE2的直连下一跳为P1路由器;

  给该数据包分配标签,将该数据包转发给P1路由器;

  该数据包通过中间P路由器标签转发,到达PE2;

  PE2弹出标签。查找VRF1路由,将该数据包转发给CE3;

  到达CE3客户。

  MPLS/VPN的几种典型组网

  MESH方式

  

VPN

 

  图7 典型的组网图

  MESH方式为普通VPN业务,是客户对VPN的最基本的需求。

  基本的VPN服务要求相同的VPN客户之间能相互通信,而不同的VPN客户间不能通信。典型的组网图如图7所示,VPN1间互相通信,VPN2间互相通信,而VPN1与VPN2间不能通信。

  HUB-SPOKE方式

  对于有很多子公司的大客户来说,普通的VPN业务可能无法满足其需求。通常总公司可能需要监控子公司间的通信,同时要能够与各子公司直接通信。这就要求子公司间通信时必须经过总公司中转。

  

VPN

 

  图8 HUB-SPOKE方式

  一种典型的组网图如图8所示,总公司可以直接与子公司1、子公司2通信,而子公司1和子公司2间通信时必须经过总司中转,如此总公司可以监控各子公司间的通信。其中PE-3为HUB路由器,PE-1及PE-2为SPOKE路由器。

  INTERNET接入

  VPN客户间通信使用的是私网地址,可以自由规划内部网络,但同样可能需要能连上INTERNET。

  

VPN

 

  图9 INTERNET接入

  一种典型的组网图如图9所示,通过在VPN1的某个网关上提供NAT完成私网地址到公网地址的转换即可完成INTERNET业务。

  在ZXR10中配置MPLS/VPN

  ZXR10中配置MPLS/VPN的基本步骤

  目前ZXR10中MPLS/VPN应用最多的为T64E/T128及T32C/T64C等中高档路由器产品。其中E系列中,T64E/T128支持 MPLS/VPN的常用单板有8端口FEI板、2端口GEI接口板、4端口POS3接口板、E1接口板。C系列中支持MPLS/VPN的常用单板有GEI 板、POS接口板。

  对于T64E/T128而言,要配置MPLS/VPN业务必须使用V1.2以上版本或平台版本,对于C系列路由器而言需要使用ros9302以上版本。在ZXR10中配置MPLS/VPN业务主要步骤如下。

  1.在PE路由器上定义一个VPN名称或者说一个VPN的转发表(VRF)的名称。名称长度为1到16个字符。注意该名称只是本地有效,在某个接口与VPN绑定时将使用到该名称。

  2.定义该VRF的路由标识符(RD)和路由目标(RT),定义导入导出策略,该策略将在MP-BGP中用来区分不同的VPN。

  3.定义指定的接口与VRF关联。如果这个接口预先配置了IP地址,那么需将原IP地址删除,定义好关联后,再行配置IP地址。

  4.定义VRF路 由。PE路由器与CE路由器之间可以定义静态路由,也可以运行动态路由协议。

  5.配置MPBGP协议。PE路由器从CE路由器学习到VRF路由后,需要通过运行MPBGP协议通告给其他PE。配置MPBGP协议通常分以下三步:

  (1)在BGP路由配置模式下,用neighbor命令指定PE对等体,必须是IBGP对等体;

  (2)进入BGP的address-familaryvpnv4地址模式,激活该对等体;

  (3)对于不同的VRF,将其路由(直连、静态、OSPF、ISIS)重分布到MPBGP中进行通告。

  MPSL/VPN配置实例

  下面通过一个组网实例讲述MPLS/VPN业务在ZXR10中的应用。实例中描述的是E系列路由器独立组网配置。

  

VPN

 

  图10 E系列路由器独立组网配置

  图10中,CE1和CE2在同一个VPN中,CE1的loopback地址为100.1.1.1/24,CE2的loopback地址为 200.1.1.1/24,需要能互相学习到对端的loopback路由。CE1与PE1之间运行BGP协议,CE2与PE2之间运行OSPF协议。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分