MPLS L3VPN.docx
- 文档编号:11517855
- 上传时间:2023-03-02
- 格式:DOCX
- 页数:28
- 大小:648.57KB
MPLS L3VPN.docx
《MPLS L3VPN.docx》由会员分享,可在线阅读,更多相关《MPLS L3VPN.docx(28页珍藏版)》请在冰豆网上搜索。
MPLSL3VPN
1.1.1 MPLSL3VPN概述
MPLSL3VPN是服务提供商VPN解决方案中一种基于PE的L3VPN技术,它使用BGP在服务提供商骨干网上发布VPN路由,使用MPLS在服务提供商骨干网上转发VPN报文。
MPLSL3VPN组网方式灵活、可扩展性好,并能够方便地支持MPLSQoS和MPLSTE,因此得到越来越多的应用。
MPLSL3VPN模型由三部分组成:
CE、PE和P。
● CE(CustomerEdge)设备:
用户网络边缘设备,有接口直接与SP(ServiceProvider,服务提供商)相连。
CE可以是路由器或交换机,也可以是一台主机。
CE“感知”不到VPN的存在,也不需要必须支持MPLS。
● PE(ProviderEdge)路由器:
服务提供商边缘路由器,是服务提供商网络的边缘设备,与用户的CE直接相连。
在MPLS网络中,对VPN的所有处理都发生在PE上。
● P(Provider)路由器:
服务提供商网络中的骨干路由器,不与CE直接相连。
P设备只需要具备基本MPLS转发能力。
图1-1是一个MPLSL3VPN组网方案的示意图。
图1-1MPLSL3VPN组网
CE和PE的划分主要是根据SP与用户的管理范围,CE和PE是两者管理范围的边界。
CE设备通常是一台路由器,当CE与直接相连的PE建立邻接关系后,CE把本站点的VPN路由发布给PE,并从PE学到远端VPN的路由。
CE与PE之间使用BGP/IGP交换路由信息,也可以使用静态路由。
PE从CE学到CE本地的VPN路由信息后,通过BGP与其它PE交换VPN路由信息。
PE路由器只维护与它直接相连的VPN的路由信息,不维护服务提供商网络中的所有VPN路由。
P路由器只维护到PE的路由,不需要了解任何VPN路由信息。
当在MPLS骨干网上传输VPN流量时,入口PE做为IngressLSR(LabelSwitchRouter,标签交换路由器),出口PE做为EgressLSR,P路由器则做为TransitLSR。
1.1.2 MPLSL3VPN的基本概念
1.Site
在介绍VPN时经常会提到“Site”,Site(站点)的含义可以从下述几个方面理解:
● Site是指相互之间具备IP连通性的一组IP系统,并且,这组IP系统的IP连通性不需通过服务提供商网络实现;
● Site的划分是根据设备的拓扑关系,而不是地理位置,尽管在大多数情况下一个Site中的设备地理位置相邻;
● 一个Site中的设备可以属于多个VPN,换言之,一个Site可以属于多个VPN;
● Site通过CE连接到服务提供商网络,一个Site可以包含多个CE,但一个CE只属于一个Site。
对于多个连接到同一服务提供商网络的Sites,通过制定策略,可以将它们划分为不同的集合(set),只有属于相同集合的Sites之间才能通过服务提供商网络互访,这种集合就是VPN。
2.地址空间重叠
VPN是一种私有网络,不同的VPN独立管理自己使用的地址范围,也称为地址空间(AddressSpace)。
不同VPN的地址空间可能会在一定范围内重合,比如,VPN1和VPN2都使用了10.110.10.0/24网段的地址,这就发生了地址空间重叠(OverlappingAddressSpaces)。
3.VPN实例
在MPLSVPN中,不同VPN之间的路由隔离通过VPN实例(VPN-instance)实现。
PE为每个直接相连的Site建立并维护专门的VPN实例。
VPN实例中包含对应Site的VPN成员关系和路由规则。
如果一个Site中的用户同时属于多个VPN,则该Site的VPN实例中将包括所有这些VPN的信息。
为保证VPN数据的独立性和安全性,PE上每个VPN实例都有相对独立的路由表和LFIB(LabelForwardingInformationBase,标签转发表)。
具体来说,VPN实例中的信息包括:
标签转发表、IP路由表、与VPN实例绑定的接口以及VPN实例的管理信息。
VPN实例的管理信息包括RD(RouteDistinguisher,路由标识符)、路由过滤策略、成员接口列表等。
4.VPN-IPv4地址
传统BGP无法正确处理地址空间重叠的VPN的路由。
假设VPN1和VPN2都使用了10.110.10.0/24网段的地址,并各自发布了一条去往此网段的路由,BGP将只会选择其中一条路由,从而导致去往另一个VPN的路由丢失。
PE路由器之间使用MP-BGP来发布VPN路由,并使用VPN-IPv4地址族来解决上述问题。
VPN-IPv4地址共有12个字节,包括8字节的RD和4字节的IPv4地址前缀,如图1-2所示。
图1-2VPN-IPv4地址结构
PE从CE接收到普通IPv4路由后,需要将这些私网VPN路由发布给对端PE。
私网路由的独立性是通过为这些路由附加RD实现的。
SP可以独立地分配RD,但必须保证RD的全局唯一性。
这样,即使来自不同服务提供商的VPN使用了同样的IPv4地址空间,PE路由器也可以向各VPN发布不同的路由。
建议为PE上每个VPN实例配置专门的RD,以保证到达同一CE的路由都使用相同的RD。
RD为0的VPN-IPv4地址相当于全局唯一的IPv4地址。
RD的作用是添加到一个特定的IPv4前缀,使之成为全局唯一的VPNIPv4前缀。
RD或者是与自治系统号(ASN)相关的,在这种情况下,RD是由一个自治系统号和一个任意的数组成;或者是与IP地址相关的,在这种情况下,RD是由一个IP地址和一个任意的数组成。
RD有三种格式,通过2字节的Type字段区分:
● Type为0时,Administrator子字段占2字节,Assignednumber子字段占4字节,格式为:
16bits自治系统号:
32bits用户自定义数字。
例如:
100:
1
● Type为1时,Administrator子字段占4字节,Assignednumber子字段占2字节,格式为:
32bitsIPv4地址:
16bits用户自定义数字。
例如:
172.1.1.1:
1
● Type为2时,Administrator子字段占4字节,Assignednumber子字段占2字节,格式为:
32bits自治系统号:
16bits用户自定义数字,其中的自治系统号最小值为65536。
例如:
65536:
1
为保证RD的全局唯一性,建议不要将Administrator子字段的值设置为私有AS号或私有IP地址。
5.VPNTarget属性
MPLSL3VPN使用BGP扩展团体属性——VPNTarget(也称为RouteTarget)来控制VPN路由信息的发布。
PE路由器上的VPN实例有两类VPNTarget属性:
● ExportTarget属性:
在本地PE将从与自己直接相连的Site学到的VPN-IPv4路由发布给其它PE之前,为这些路由设置ExportTarget属性;
● ImportTarget属性:
PE在接收到其它PE路由器发布的VPN-IPv4路由时,检查其ExportTarget属性,只有当此属性与PE上VPN实例的ImportTarget属性匹配时,才把路由加入到相应的VPN路由表中。
也就是说,VPNTarget属性定义了一条VPN-IPv4路由可以为哪些Site所接收,PE路由器可以接收哪些Site发送来的路由。
与RD类似,VPNTarget也有三种格式:
● 16bits自治系统号:
32bits用户自定义数字,例如:
100:
1。
● 32bitsIPv4地址:
16bits用户自定义数字,例如:
172.1.1.1:
1。
● 32bits自治系统号:
16bits用户自定义数字,其中的自治系统号最小值为65536。
例如:
65536:
1。
6.MP-BGP
MP-BGP(MultiprotocolextensionsforBGP-4)在PE路由器之间传播VPN组成信息和路由。
MP-BGP向下兼容,既可以支持传统的IPv4地址族,又可以支持其他地址族(比如VPN-IPv4地址族)。
使用MP-BGP既确保VPN的私网路由只在VPN内发布,又实现了MPLSVPN成员间的通信。
7.路由策略(RoutingPolicy)
在通过入口、出口扩展团体来控制VPN路由发布的基础上,如果需要更精确地控制VPN路由的引入和发布,可以使用入方向或出方向路由策略。
入方向路由策略根据路由的VPNTarget属性进一步过滤可引入到VPN实例的路由,它可以拒绝接收引入列表中的团体选定的路由,而出方向路由策略则可以拒绝发布输出列表中的团体选定的路由。
VPN实例创建完成后,可以选择是否需要配置入方向或出方向路由策略。
8.隧道策略(TunnelingPolicy)
隧道策略用于选择给特定VPN实例的报文使用的隧道。
隧道策略是可选配的,VPN实例创建完成后,就可以配置隧道策略。
缺省情况下,选择LSP做为隧道,不进行负载分担(负载分担条数为1)。
另外,隧道策略只在同一AS域内生效。
1.1.3 MPLSL3VPN的报文转发
在基本MPLSL3VPN应用中(不包括跨域的情况),VPN报文转发采用两层标签方式:
● 第一层(外层)标签在骨干网内部进行交换,指示从PE到对端PE的一条LSP。
VPN报文利用这层标签,可以沿LSP到达对端PE;
● 第二层(内层)标签在从对端PE到达CE时使用,指示报文应被送到哪个Site,或者更具体一些,到达哪一个CE。
这样,对端PE根据内层标签可以找到转发报文的接口。
特殊情况下,属于同一个VPN的两个Site连接到同一个PE,这种情况下只需要知道如何到达对端CE。
以图1-3为例,说明VPN报文的转发:
图1-3VPN报文转发示意图
(1) Site1发出一个目的地址为1.1.1.2的IP报文,由CE1将报文发送至PE1。
(2) PE1根据报文到达的接口及目的地址查找VPN实例表项,匹配后将报文转发出去,同时打上内层和外层两个标签。
(3) MPLS网络利用报文的外层标签,将报文传送到PE2(报文在到达PE2前一跳时已经被剥离外层标签,仅含内层标签)。
(4) PE2根据内层标签和目的地址查找VPN实例表项,确定报文的出接口,将报文转发至CE2。
(5) CE2根据正常的IP转发过程将报文传送到目的地。
1.1.4 MPLSL3VPN的网络架构
在MPLSL3VPN网络中,通过VPNTarget属性来控制VPN路由信息在各Site之间的发布和接收。
VPNExportTarget和ImportTarget的设置相互独立,并且都可以设置多个值,能够实现灵活的VPN访问控制,从而实现多种VPN组网方案。
1.基本的VPN组网方案
最简单的情况下,一个VPN中的所有用户形成闭合用户群,相互之间能够进行流量转发,VPN中的用户不能与任何本VPN以外的用户通信。
对于这种组网,需要为每个VPN分配一个VPNTarget,作为该VPN的ExportTarget和ImportTarget,并且,此VPNTarget不能被其他VPN使用。
图1-4基本的VPN组网方案
在图1-4中,PE上为VPN1分配的VPNTarget值为100:
1,为VPN2分配的VPNTarget值为200:
1。
VPN1的两个Site之间可以互访,VPN2的两个Site之间也可以互访,但VPN1和VPN2的Site之间不能互访。
2.Hub&Spoke组网方案
如果希望在VPN中设置中心访问控制设备,其它用户的互访都通过中心访问控制设备进行,可以使用Hub&Spoke组网方案,从而实现中心设备对两端设备之间的互访进行监控和过滤等功能。
对于这种组网,需要设置两个VPNTarget,一个表示“Hub”,另一个表示“Spoke”。
各Site在PE上的VPN实例的VPNTarget设置规则为:
● 连接Spoke站点(Site1和Site2)的Spoke-PE:
ExportTarget为“Spoke”,ImportTarget为“Hub”;
● 连接Hub站点(Site3)的Hub-PE:
Hub-PE上需要使用两个接口或子接口,一个用于接收Spoke-PE发来的路由,其VPN实例的ImportTarget为“Spoke”;另一个用于向Spoke-PE发布路由,其VPN实例的ExportTarget为“Hub”。
图1-5Hub&Spoke组网方案
在图1-5中,Spoke站点之间的通信通过Hub站点进行(图中箭头所示为Site2的路由向Site1的发布过程):
● Hub-PE能够接收所有Spoke-PE发布的VPN-IPv4路由;
● Hub-PE发布的VPN-IPv4路由能够为所有Spoke-PE接收;
● Hub-PE将从Spoke-PE学到的路由发布给其他Spoke-PE,因此,Spoke站点之间可以通过Hub站点互访。
● 任意Spoke-PE的ImportTarget属性不与其它Spoke-PE的ExportTarget属性相同。
因此,任意两个Spoke-PE之间不直接发布VPN-IPv4路由,Spoke站点之间不能直接互访。
3.Extranet组网方案
如果一个VPN用户希望提供部分本VPN的站点资源给非本VPN的用户访问,可以使用Extranet组网方案。
对于这种组网,如果某个VPN需要访问共享站点,则该VPN的ExportTarget必须包含在共享站点的VPN实例的ImportTarget中,而其ImportTarget必须包含在共享站点VPN实例的ExportTarget中。
图1-6Extranet组网方案
在图1-6中,VPN1的Site3能够被VPN1和VPN2访问:
● PE3能够接受PE1和PE2发布的VPN-IPv4路由;
● PE3发布的VPN-IPv4路由能够为PE1和PE2接受;
● 基于以上两点,VPN1的Site1和Site3之间能够互访,VPN2的Site2和VPN1的Site3之间能够互访。
PE3不把从PE1接收的VPN-IPv4路由发布给PE2,也不把从PE2接收的VPN-IPv4路由发布给PE1(IBGP邻居学来的条目是不会再发送给别的IBGP邻居),因此,VPN1的Site1和VPN2的Site2之间不能互访。
1.1.5 MPLSL3VPN的路由信息发布
在基本MPLSL3VPN组网中,VPN路由信息的发布涉及CE和PE,P路由器只维护骨干网的路由,不需要了解任何VPN路由信息。
PE路由器也只维护与它直接相连的VPN的路由信息,不维护所有VPN路由。
因此,MPLSL3VPN网络具有良好的可扩展性。
VPN路由信息的发布过程包括三部分:
本地CE到入口PE、入口PE到出口PE、出口PE到远端CE。
完成这三部分后,本地CE与远端CE之间将建立可达路由,VPN私网路由信息能够在骨干网上发布。
下面分别对这三部分进行介绍。
1.本地CE到入口PE的路由信息交换
CE与直接相连的PE建立邻接关系后,把本站点的VPN路由发布给PE。
CE与PE之间可以使用静态路由、RIP、OSPF、IS-IS或EBGP。
无论使用哪种路由协议,CE发布给PE的都是标准的IPv4路由。
2.入口PE到出口PE的路由信息交换
PE从CE学到VPN路由信息后,为这些标准IPv4路由增加RD和VPNTarget属性,形成VPN-IPv4路由,存放到为CE创建的VPN实例中。
入口PE通过MP-BGP把VPN-IPv4路由发布给出口PE。
出口PE根据VPN-IPv4路由的ExportTarget属性与自己维护的VPN实例的ImportTarget属性,决定是否将该路由加入到VPN实例的路由表。
PE之间通过IGP来保证内部的连通性。
3.出口PE到远端CE的路由信息交换
远端CE有多种方式可以从出口PE学习VPN路由,包括静态路由、RIP、OSPF、IS-IS和EBGP,与本地CE到入口PE的路由信息交换相同。
1.1.6 跨域VPN
实际组网应用中,某用户一个VPN的多个Site可能会连接到使用不同AS号的多个服务提供商,或者连接到一个服务提供商的多个AS。
这种VPN跨越多个自治系统的应用方式被称为跨域VPN(Multi-ASVPN)。
RFC2547bis中提出了三种跨域VPN解决方案,分别是:
● VRF-to-VRF:
ASBR间使用子接口管理VPN路由,也称为Inter-ProviderOptionA;
● EBGPRedistributionoflabeledVPN-IPv4routes:
ASBR间通过MP-EBGP发布标签VPN-IPv4路由,也称为Inter-ProviderOptionB;
● MultihopEBGPredistributionoflabeledVPN-IPv4routes:
PE间通过MP-EBGP发布标签VPN-IPv4路由,也称为Inter-ProviderOptionC。
下面逐一对这些方案进行介绍。
1.ASBR间使用子接口管理VPN路由
这种方式下,两个AS的PE路由器直接相连,PE路由器同时也是各自所在自治系统的边界路由器ASBR。
作为ASBR的PE之间通过多个子接口相连,两个PE都把对方作为自己的CE设备对待,使用传统的EBGP方式向对端发布IPv4路由。
报文在AS内部作为VPN报文,采用两层标签转发方式;在ASBR之间则采用普通IP转发方式。
理想情况下,每个跨域的VPN都有一对子接口与之对应,用来交换VPN路由信息。
图1-7ASBR间使用子接口管理VPN路由组网图
使用子接口实现跨域VPN的优点是实现简单:
两个作为ASBR的PE之间不需要为跨域进行特殊配置。
缺点是可扩展性差:
作为ASBR的PE需要管理所有VPN路由,为每个VPN创建VPN实例。
这将导致PE上的VPN-IPv4路由数量过于庞大。
并且,为每个VPN单独创建子接口也提高了对PE设备的要求。
2.ASBR间通过MP-EBGP发布标签VPN-IPv4路由
这种方式下,两个ASBR通过MP-EBGP交换它们从各自AS的PE路由器接收的标签VPN-IPv4路由。
路由发布过程可分为以下步骤:
(1) AS100内的PE先通过MP-IBGP方式把标签VPN-IPv4路由发布给AS100的边界路由器PE,或发布给为ASBRPE反射路由的路由反射器;
(2) 作为ASBR的PE通过MP-EBGP方式把标签VPN-IPv4路由发布给AS200的PE(也是AS200的边界路由器);
(3) AS200的ASBRPE再通过MP-IBGP方式把标签VPN-IPv4路由发布给AS200内的PE,或发布给为PE反射路由的路由反射器。
这种方式的ASBR需要对标签VPN-IPv4路由进行特殊处理,因此也称为ASBR扩展方式。
图1-8ASBR间通过MP-EBGP发布标签VPN-IPv4路由组网图
在可扩展性方面,通过MP-EBGP发布标签VPN-IPv4路由优于ASBR间通过子接口管理VPN。
采用MP-EBGP方式时,需要注意:
● ASBR之间不对接收的VPN-IPv4路由进行VPNTarget过滤,因此,交换VPN-IPv4路由的各AS服务提供商之间需要就这种路由交换达成信任协议;
● VPN-IPv4路由交换仅发生在私网对等点之间,不能与公网交换VPN-IPv4路由,也不能与没有达成信任协议的MP-EBGP对等体交换VPN-IPv4路由。
3.PE间通过MP-EBGP发布标签VPN-IPv4路由
前面介绍的两种方式都能够满足跨域VPN的组网需求,但这两种方式也都需要ASBR参与VPN-IPv4路由的维护和发布。
当每个AS都有大量的VPN路由需要交换时,ASBR就很可能成为阻碍网络进一步扩展的瓶颈。
解决上述可扩展性问题的方案是:
ASBR不维护或发布VPN-IPv4路由,PE之间直接交换VPN-IPv4路由。
两个ASBR通过MP-IBGP向各自AS内的PE路由器发布标签IPv4路由。
ASBR上不保存VPN-IPv4路由,相互之间也不通告VPN-IPv4路由。
ASBR保存AS内PE的带标签的IPv4路由,并通告给其它AS的对等体。
另一个自治系统中的ASBR也通告带标签的IPv4路由。
这样,在入口PE和出口PE之间建立起一条LSP。
不同AS的PE之间建立Multihop方式的EBGP连接,交换VPN-IPv4路由。
图1-9PE间通过Multi-hopMP-EBGP发布标签VPN-IPv4路由组网图
为提高可扩展性,可以在每个AS中指定一个路由反射器RR(RouteReflector),由RR保存所有VPN-IPv4路由,与AS的PE交换VPN-IPv4路由信息。
两个AS的RR之间建立跨域VPNv4连接,通告VPN-IPv4路由。
如图1-10所示。
图1-10采用RR的跨域VPNOptionC方式组网图
1.1.7 运营商的运营商
1.简介
MPLSL3VPN服务提供商的用户可能也是一个服务提供商。
这种情况下,前者称为提供商运营商(ProviderCarrier)或一级运营商(FirstCarrier),后者称为客户运营商(CustomerCarrier)或二级运营商(SecondCarrier)。
这种组网模型称为运营商的运营商(Carriers’carriers),低级别的SP作为更高级别SP的CE。
为保持良好的可扩展性,一级运营商并不引入二级运营商的外部路由,只引入为不同站点的二级运营商交换报文的路由。
二级运营商维护的外部路由通过在相关二级运营商路由器间建立BGP会话交换。
这可以大大减少一级运营商网络中需要维护的路由数量。
2.实现
与普通MPLSL3VPN相比,配置运营商的运营商的主要区别在于一级运营商PE接入二级运营商CE这一部分:
● 如果一级运营商PE与二级运营商CE位于同一个AS内,则它们之间配置IGP和LDP;
● 如果一级运营商PE与二级运营商CE位于不同的AS,则它们之间配置MP-EBGP。
MP-EBGP为PE与
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MPLS L3VPN