电脑技术学习

基于MPLS的透明局域网服务

dn001

  摘要:主要介绍了基于多协议标记交换(MPLS)技术的透明局域网服务(TLS)。具体分析了TLS业务流穿过MPLS网络时标记帧所发生的变化,并着重阐述了一种优化MPLS标记头的方法,使服务提供商能在基于MPLS的网络中扩展现有服务,从而提供具有QoS和流量工程的TLS服务。
  
    要害词:MPLS,TLS,LDP,SVLAN,SONET/SDH,GRE,RSVP-TE,GARP/GVRP
  
    传统的城域网业务大多基于时分复用技术(如SDH等),这些技术主要是为语音、视频等服务设计的。但在数据业务日益成为主导以来,新的城域网服务提供商(MSP)大多基于以太网和IP技术提供数据业务。以太网技术的经济性和灵活性使MSP能以越来越低廉的价格提供更高带宽的接入服务,这对用户非常具有吸引力。但是用户要求为他们提供高级别、有带宽和服务质量(QoS)保证的业务。目前很多MSP依靠虚拟局域网(VLAN)技术提供虚拟租用线(VLL)服务设计的。IEEE 802.1Q规范最多答应存在4096个VLAN,因此(GRE)的IP隧道技术既不提供像ATM虚电路一样的QoS机制,也不提供像SONET/SDH技术那样的保护倒换机制,因此MSP需要采用新的技术来解决这类问题。
  
  一、服务提供商目前采用的VPN新技术
  
    为了使跨城域服务变得轻易,目前MSP可采用可堆叠虚拟局域网(SVLAN)和GRE等技术来解决上述问题。
  
    SVLAN技术通过在以太帧中堆叠两个802.1Q包头,有效地扩展了VLAN数目,使VLAN的数目最多可达4096x4096个。同时,多个VLAN能够被复用到一个核心VLAN中。MSP通常为每个客户建立一个VLAN模型,用通用属性注册协议/通用VLAN注册协议(GARP/GVRP)自动监控整个主干网络的VLAN,并通过扩展生成树协议(STP)来加快网络收敛速度,从而为网络提供弹性。SVLAN技术作为初始的解决方案是不错的,但随着用户数量的增加,SVLAN模型也会带来可扩展性的问题。因为有些用户可能希望在分支机构间进行数据传输时可以携带自己的VLAN ID,这就使采用SVLAN技术的MSP面临以下两个问题:第一,第一名客户的VLAN标识可能与其他客户冲突;第二,服务提供商将受到客户可使用标识数量的严重限制。假如答应用户按他们自己的方式使用各自的VLAN ID空间,那么核心网络仍存在4096个VLAN的限制。
  
    GRE技术规定了如何用一种网络协议去封装另一种网络协议的方法。GRE隧道由两端的源IP地址和目的IP地址来定义,答应用户使用IP包封装IP、网际包交换协议(IPX)如AppleTalk包,并支持各种路由协议,如路由信息协议版本2(RIP2)、开放最短路径优先协议(OSPF)等。虽然GRE协议已经比较成熟,但这里需要处理的IP隧道却数量惊人,且必须通过手工调度来完成,还须给每个隧道指配一对IP地址,IP隧道地址对的治理是一个很大的问题。当网络出现故障时,IP路由协议至少需要花费数秒才能使网络收敛,为此IETF定义了链路治理协议(LMP)用于监控底层的链路状态并提供快速故障检测。虽然可以通过定义有层次的IP VPN使核心网络的隧道数最少以使网络具有可扩展性,但这将导致原始以太帧被封装到两个IP包头(分别用于点对点内部以及相互之间的连通)而使带宽利用率降低。
  
    多协议标记交换(MPLS)技术的出现提升了城域核心网络的流量控制,MSP不仅可以更有效地利用流量工程的概念治理网络,还可以更方便地实施不同等级的服务。基于MPLS的透明局域网服务(TLS)和VLL正好可以解决以上技术所面临的问题,使MSP可以为用户在整个MAN中提供安全、具有流量工程和QoS保证的租的租用线业务。
  
  二、基于MPLS的TLS服务及其包流分析
  
  1、工作原理
  
    当一个用户的以太帧被用户驻地设备(CPE)交换或路由到提供商边缘(PE)路由器后,PE路由器一般通过查看802.1Q头或输入端接口所属的VLAN来决定这个帧属于哪个VLAN。当CPE为路由器时,PE路由器查看该CPE的MAC地址,该帧一旦被确认为有效,则被映射到为该用户定义的快速以太通道(FEC)(用于定义如何转发),通过查找FEC得到输出端口和两个标记:第一个是栈顶标记,即隧道(Tunneling)标记,用于将该帧穿过主干网络;第二个是栈底标记,即虚拟电路(VC)标记,用于出口PE决定如何处理该帧。在增加了两个MPLS标记头后,该帧将被封装到与输出接口相对应的帧格式。主干提供商(P)路由器仅查看栈顶标记来交换标记帧,而栈顶标记通常被出口PE路由器之前的一个P路由器所剥离。出口PE路由器从VC标记中得出如何处理该帧,然后转发到合适的输出端口。
  
    以上我们假设隧道和VC标记交换路径(LSP)已经建立起来。通常,VC LSP是通过标记分发协议(LDP)静态或动态地建立起来的;当需要提供具有流量工程能力的LSP时,可以采用基于约束的LDP(CR-LDP)和资源预留协议流量工程(RSVP-TE)等信令协议动态建立LSP。由于城域网中的带宽资源非协议建立VC LSP是一个不错的方法;而核心网络中的带宽资源却非常宝贵,通常需要采用流量工程来优化网络流量。因此,隧道LSP一般是通过RSVP-TE协议来建立的,一个隧道LSP可以传送多个VLAN内的所有业务;在属于同一个VLAN的用户站点间可以建立一条或多条不同QoS的VC LSP。通过建立层次结构和限制提供了一个可扩展的解决方案。
  
    假设服务提供商为两个不同的用户提供TLS服务:用户A有三个不同的办事处,分别在旧金山、芝加哥和纽约。MSP主干网络已经建立了全网状的三条LSP,并为用户A和用户B的各办事处之间建立了端到端的LSP。用户A已经从旧金山接入点建立了两条VC LSP,一条传送业务到芝加哥,另外一条传送业务到纽约。同样地,在芝加歌和纽约也分别为用户A专门建立了两条LSP。这些全网状的LSP形成一个单独的广播域——VLAN。用户B则只需要在旧金山和纽约之间建立一条VC LSP。用户A和用户B共享旧金山和纽约之间的这条隧道LSP。
  
    需要指出的是,LSP是单向的,实际上需要建立两条反方向的LSP通道。目前有建议指出,可在第一条单向LSP建立起来后,通过扩展LDP和RSVP-TE信令协议自动建立反向LSP通道。
  
    可以通过把建立起来的几对LSP当成一个虚拟接口、并把该虚拟接口增加到一个VLAN的方法来答应透明桥接运行。当一个广播帧或未知帧需要发送时,该帧将被泛洪到该VLAN中的所有LSP路径中。当帧穿过MPLS域时,在LSP经过的所有P路由器执行包复制功能。一旦获得该未知帧的MAC地址,那么目的地为此MAC地址的帧将只发送到相应的LSP中。
  
    MPLS隧道采用层次结构,VC标志只有到达出口PE路由器时才可见,可在该帧所经过的其它LSP路径都是不可见的。出口的PE路由器从VC标志中得出所传送的流量类型(如帧中继、ATM或以太网等)。对于ATM AAL5业务流,该帧需要传送到相应的输出端口并打上相应的虚拟路径标识符/虚拟通道标识符(VPI/VCI);对于以太网业务流,VC标志被用来确定该帧所属的VLAN、输出端口。VC LSP为每个用户建立隔离的VC隧道,提供与帧中继和ATM VC同样级别的安全性能。
  
  2、帧传送过程
  
    当一个来自用户站点的以太帧传送到PE路由器时,先被PE路由器打上标记,然后被送到相应的链路中去。在这里我们假设用户边缘设备是以太网交换机,它不会改变任何信息。当帧进入服务提供商网络时,PE路由器增加两个标记头到原始的以太帧中。由于输出端也是一条以太链路,PE路由器将增加另外一个以太帧头。外部的以太帧头包含PE路由器的源地址和下一跳的目的地MAC地址(MPLS以太类型0x8847用于单播,0x8848用于组播)。原以太帧显然没有任何改变,仍然包含着发送者的源地址和实际接收者的目的地址。标记帧的隧道标记将随着传送被P路由器所交换。同样,标记帧的外部源和目的MAC地址也将随着改变,这与传统的路由器工作原理一样。当帧到达MPLS域倒数第二跳时,隧道标记将被弹出,然后标记帧将被发送到出口PE路由器。PE路由器使用VC标记得出输出端口,弹出栈底标记,除去外部以太帧头,这样就把原始的以太帧发送到接收方。
  
  3、分段与重组
  
    标记堆栈和外部包头信息的增加有可能导致帧的大小超过所答应的范围。假如原始以太帧是1518字节(最大以太帧),则不能增加新的包头,所以当新的帧长度超过最大答应帧长度时,很有必要对帧进行分段。假如巨型帧能够被所通过的LSP路径支持,那么该帧仍可以发送。源发送者通常被要求执行IP最大传输单元(MTU)找出所答应的最大传输帧,或使用缺省的MTU(576字节),但是有些应用程序不满足这类要求,则只有将该巨型帧进行重新分段。包预分段能使巨型帧穿过整个MPLS域,但是接收者需要重组这些IP包。IP包的重拆装将是一个高开销的处理过程,应尽量少进行。
  
  4、QoS
  
    QoS和服务成本(CoS)能够在TLS服务中通过两种不同的方式来提供,可以采用802.1Q的优先级或基于PE分类的方法来决定第二层帧的优先级。一旦帧的优先级确定,就能够用合适的CoS值进行填充或映射到特定的具有QoS的LSP中。MPLS头包含20bit的标记信息、3bit的CoS字段、1bit的栈底标记和8bit的存活时间(TTL)字段。
  
    在LSP的每一跳中,CoS位被用来决定排队策略。当一条LSP用于传送多种服务类型时,CoS位用于决定特定的队列、排队和丢弃策略。这种模型与MPLS Diff-Serv的E-LSP(EXP Inferred LSP)模型相对应。使用具有不同CoS的多条LSP可以满足流量工程、QoS和保护倒换的需要。
  
    当需要软QoS或CoS时,MSP能基于CoS位依靠P路由器来为高优先级的流量提供低时延业务。假如有必要的话,还可以使用加权公平队列或加权的轮询算法为各种流量提供公平服务。当需要更严格或有保证的服务时,MSP能够提供带宽和时延都满足的不同路径。此外,MSP能指定优先级不同的LSP,以便当较高级别的LSP出现故障时,低优先级的LSP可被预清除而恢复较高级别的LSP(这里指当资源短缺时所采取的措施)。
  
  5、负载均衡
  
    为了提供冗余和更高的吞吐量,业务流量能够在多条LSP链路上平均分担,但是一般要求所建立起来的不同LSP具有相同的流量特性。业务流通常在网络边缘实施负载均衡,但也有可能在网络核心实施负载均衡功能。
  
  6、网络弹性
  
    当主链路断开时,业务流能够切换到主链路的备份LSP。由于备份LSP已经预先建立起来,所以不需动态计算得出。当主链路恢复时,业务流被切换到主链路或仍保持在备份LSP链路上。另一个方法是通过快速重新路由计算出新的LSP链路。假如一个链路或节点发生故障,快速重新路由便迅速建立迂回的LSP,流量立即切换到迂回路径。故障检测一般是通过RSVP,LDP的Hello包或者路由拓扑更新包来完成的,可以通过调整RSVP Hello定时器,以在50ms内快速检测到网络故障来提高收敛速度。
  
  三、基于MPLS的TLS服务实现方法
  
    如前所述,用户LSP隧道是通过LDP协议建立起来的。每个PE路由器为它们所服务的不同用户都分配一个唯一的标识符。PE路由器发送LDP Hello包到包配置的远程PE路由器,在任何两个PE路由器都建立了邻居关系后,LDP会话正式建立。PE路由器为各用户发送标记映射消息到上游的PE路由器,该标记映射消息包含所通告的VC FEC字段信息(包含用户标识符和LSP的流量类型等信息)。通过FEC字段信息,PE路由器可以知道通过哪条VC LSP传送到指定的远程站点。
  
    因核心节点隧道大多是通过RSVP-TE,CR-LDP等信令协议来建立的,要为LSP路径预留所需带宽,所以全部的LSP都具有QoS保证。应在RSVP域中的每台路由器配置LDP消息,以便能建立端到端的LDP会话。然后从每个边缘PE路由器发出RSVP路径请求消息,建立LSP。反向RSVP带宽预留请求消息也将通过同样的路径发回到源请求发送者,这样会在该LSP路径上预留所需的带宽资源。
  
  四、结语
  
    MPLS技术由于能够在IP网上达到ATM信元交换网络的QoS保证和注量控制能力,被公认是在以太网上提供电信级QoS的最佳方案。基于MPLS的透明局域网技术能够在光城域网上实现灵活而有弹性的IP服务,可以实现大企业、运营商、ISP和数据中心的无缝互连。层次化的隧道技术大大简化了VPN网络的治理负担,服务提供商能够为用户提供可扩展的、安全的、有QoS保证的虚拟电路出租能力。