城域网MPLS ×××的几种实现方法



一、MPLS ×××技术的发展

随着IP城域网逐步发展成为城域网建设的主流方案,具有解决企业互连能力和提供丰富业务能力的MPLS ×××技术,正在成为IP网络运营增值业务的重要手段。MPLS ×××技术可将IP网络分解为逻辑上隔离的网络,这种逻辑隔离的网络的应用可以千变万化:企业单独互连、政府办事部门单独互连、提供新业务—如为IP电话业务开辟×××、解决IP网络地址不足、保证QoS等。

二、MPLS ×××的实现技术

1)MPLS BGP ×××

如图1所示,基于BGP扩展实现的MPLS三层×××包含以下基本组件:

  • PE(Provider Edge Router):骨干网边缘路由器,存储VRF,处理×××-IPv4路由,是MPLS三层×××的主要实现者。
  • CE(Custom Edge Router):用户网边缘路由器,分布用户网络路由。
  • P router(Provider Router):骨干网核心路由器,负责MPLS转发。
  • RR(Route Reflector):BGP路由反射器。
  • ASBR:自治系统边界路由器,在实现跨自治系统的×××时,与其它自治系统交换×××路由。
  • MP-BGP:多协议扩展BGP,承载携带标签的IPv4/×××路由,包括MP-IBGP、MP-EBGP。
  • PE-CE路由协议:在PE、CE之间传递用户网络路由,可以是静态路由,或RIP、OSPF、ISIS、BGP协议。
  • LDP:在PE之间建立尽力而为的LSP,经过P路由器,所有PE、P路由器均需要支持。
  • RSVP-TE:在×××需要QoS保障时,在PE之间建立具有QoS能力的ER-LSP。
  • VRF(Virtual Routing Forwarding Table):虚拟路由转发表,它包含同一个Site相关的路由表、转发表、接口(子接口)、路由实例和路由策略等。在PE设备上,属于同一×××的物理端口或逻辑端口对应一个VRF,可通过命令行或网管工具进行配置,主要参数包括RD(Route Distinguish)、Import Route-Targets、Export Route-Targets、接口(子接口)等。
  • ×××用户站点(Site):Site是×××中的一个孤立的IP网络,一般来说,它不通过骨干网,公司总部、分支机构都是Site的具体例子。CE路由器通常为××× Site中的一个路由器或交换设备,Site通过一个单独的物理端口或逻辑端口(通常是VLAN端口)连接到PE设备。


图1 基于BGP扩展实现的MPLS ×××模型

用户接入MPLS ×××后,每个Site提供一个或多个CE与骨干网的PE连接,并在PE上为该Site配置VRF,将连结PE-CE的物理接口、逻辑接口、甚至L2TP/IPSec隧道绑定到VRF上,但不可以是多跳的三层连接。

BGP扩展实现的MPLS ×××扩展的BGP NLRI的IPv4地址,在其前增加了一个8字节的RD(Route Distinguisher),用于标识×××的成员(Site)。每个VRF可配置某些策略,规定×××可以接收哪些Site的路由信息,可以向外发布哪些Site的路由信息。PE根据BGP扩展发布的信息进行路由计算,生成相关×××的路由表。
通常,PE-CE之间通过静态路由交换路由信息,也可通过RIP、OSPF、BGP、IS-IS等协议,静态路由方式可以减少因CE设备管理不善等原因造成的对骨干网BGP路由的震荡,从而提高骨干网的稳定性。

MPLS BGP三层×××适用于固定的Intranet/Extranet用户,每个Site可代表Intranet/Extranet的总部或分支机构。MPLS三层×××的CE与PE设备之间只需要一条物理或逻辑链路,但PE设备必须保存多个路由表。如果在CE和PE之间运行动态路由协议,则PE还必须支持多实例,对PE性能要求较高。PE与PE之间需要运行BGP协议,可扩展性较差,目前可通过一个或多个路由反射器解决这一问题。对于同一AS域的×××,必须建立运营商之间路由器IBGP连接的PE,与路由反射器建立IBGP连接即可。
MPLS BGP三层×××可通过与Internet路由之间配置一些静态路由的方式,实现×××的Internet上网服务,并可为跨不地域的、属于同一个AS但没有骨干网的运营商提供×××互连,即提供"运营商的运营商"模式的×××网络互连。

2)MPLS L2 ×××

对于MPLS二层×××,网络运营商负责向用户提供二层的连通性,而不需参与×××用户的路由计算。在提供全连接的二层×××时,和传统的二层×××一样(如ATM PVC提供的×××),存在N方问题,每个×××的CE到其它的CE都需要在CE与PE之间分配一条连接。对PE设备来说,当一个×××有N个Site时,CE-PE必需有N-1个物理或逻辑端口连接。由于与用户的路由无关,二层MPLS ×××的可扩展性只与连接的×××用户数目相关。

二层×××可以通过MP-BGP扩展实现,也可以通过LDP扩展实现,两者草案分别为:

  • draft-kompella-pp***-l2***
  • draft-martini-l2circuit-trans-mpls

Kompella MPLS L2 ×××:

简单地说,MPLS L2 ×××就是在MPLS网络上透明地传递用户的二层。从用户角度来看,该MPLS网络就是一个二层交换网络,用户可在网络在不同站点之间建立二层连接。以ATM为例,每个用户边缘设备(CE)配置一个ATM虚电路,通过MPLS网络与远端CE设备相连,这一过程与通过ATM网络实现互联完全一样。 数据


图2 L2 ×××组网示意图

在Kompella MPLS L2 ×××中,CE、PE和P的概念与BGP/MPLS ×××一样,原理也很近似,也是利用标记栈来实现用户报文在MPLS网络中的透明传送,其中外层标记(Tunnel标记)用于将报文从一个PE传递到另一个PE,内层标记(VC标记)用于区分不同×××中的连接,接收方PE可根据VC标记决定将报文传递到哪个CE。在转发过程中,报文标记栈的变化如图3所示。


图3 L2 ×××标记栈处理

目前,Kompella L2 ×××是通过MP-BGP来实现的,它不直接对CE与CE之间的连接进行操作,而是在整个SP(Service Provider)网络中划分不同的×××,在×××内部对CE进行编号。在建立两个CE之间的连接时,只需要在PE上设置本地CE和远程CE的CD ID,并指定本地CE为该连接分配Circuit ID(如ATM VPI/VCI)。
与MPLS BGP ×××一样,Kompella L2 ×××也是采用Route Target来区分×××,因此×××的组网具有很大的灵活性。
在标记分配方面,Kompella L2 ×××可采取标记块方式一次为多个连接分配标记。用户可以指定本地CE的范围(CE Range),表明该CE可与多少个CE建立连接,系统将一次为该CE分配一个标记块,标记块的大小与CE Range相同。这种标记方式允许用户为×××分配一些额外的标记备用,这会造成标记资源浪费,但却可以减少×××部署和扩容的配置工作量。

Martini MPLS L2 ×××:

Martini L2 ×××方式是通过扩展LDP来实现的,它着重解决"如何在两个CE之间建立VC(Virtual Circuit)"的问题。Martini L2 ×××采用VC-TYPE+VC-ID来识别VC,其中,VC-TYPE表明VC的类型为ATM、VLAN或PPP,而VC-ID用于唯一标志一个VC。在同一VC-TYPE的所有VC中,VC-ID在整个SP网络中具有唯一性,连接两个CE的PE通过LDP交换VC标记,并通过VC-ID将对应的CE绑定起来。
在连接两个PE的LSP建立成功,双方的标记交换和绑定完成后,一个VC就建立起来了,两个CE即可通过该VC传递二层。
为了在PE之间交换VC标记,Martini草案对LDP进行了扩展,增加了VC FEC的FEC类型。此


转载于:https://blog.51cto.com/fastkknd/481718