时间:2015-11-24 09:28 文章来源:http://www.lunwenbuluo.com 作者:刘金辉 点击次数:
【摘要】P2MP MPLS TE(Point-to Multi Protocol Label Switch Traffic Engineering)是MPLS的一个重要应用,通过建立点到多点的LSP,并在建立过程中预留带宽,从而对通过LSP的组播流量提供带宽保护。本文主要描述通过P2MP TE实现跨VPN组播的方法。
【关键词】P2MP;MPLS-TE VPN;组播
产生背景
目前,在部署IP/MPLS技术的网络中主要是给用户提供L3/L2的VPN服务。随着用户组播业务(如视频会议等)需求的增长,用户期望能在IP/MPLS网络上为其提供组播VPN的服务。传统基于MPLS的VPN解决方案只能承载单播业务。目前,网络服务商主要通过在IP/MPLS网络上使用MD(Multicast Domain,组播域,它是通过在服务提供商网络中为每个VPN维护一个组播域来实现的)方案来提供组播VPN服务。该技术的本质还是通过在网络服务商中使用GRE隧道封装用户的组播流量,是基于IP的组播转发技术,并没有使用MPLS的转发机制。
当前政务外网通常使用MPLS L3VPN实现不同部门之间的业务隔离,目前存在如下应用,IPTV(Internet Protocol Television,网络电视)需要不同的VPN站点都能接收到,由于传统MD方案只能在一个VPN内实现组播分发业务,故当一个PE(Provider Edge,运营商边缘设备)连接多个VPN站点时,高效的实现不同VPN站点(也即跨VPN组播)同时接收组播流量是急需解决的问题。
1、P2MP-TE基础
P2MP-TE[1][2]是MPLS流量工程的一种,MPLS流量工程在建立LSP的时候可以不依赖于IGP最短路径。当使用IP组播方式转发组播时,转发过程中为了避免环路,需要对接收到的组播报文执行RPF(Reverse Path Forwarding,逆向路径检测,也即对于接收到的组播报文首先校验本地通往源地址的路由是否和接收到的入接口一致)。当使用P2MP-TE LSP转发组播报文时[3],由于转发过程中使用标签转发,内部报文对于P设备是不可见的,故不需要进行校验。转发过程中依靠分支节点(链接2个或以上P节点)和bud节点(自身即是PE节点又是P节点)的复制能力完成报文的复制,从而确保在同一链路上只出现一份组播报文。
P2MP-TE LSP建立过程如下:头结点沿着计算的路径发送Path消息,可以为每个叶子节点发送一个Path消息,也可以为多个尾节点只发送一个Path消息。当多个尾节点使用一个Path消息建立时,需要利用分支节点和bud节点的Path消息拆分能力,为所有其关联的下一跳发送一个Path消息。Path消息到达尾节点时,向上游发送Resv消息,其中携带为上游分配的标签,当Resv消息到达分支节点或者bud节点时,为不同下一跳向上游分配相同的标签,Resv消息到达头结点时,P2MP-TE LSP就建立成功了。
2、当前方案弊端
现有使用MD方案解决跨VPN组播实现有如下几种方式:
1、在和组播源相连的PE设备上为每个需要接收组播流量的VPN实例分别创建一个VRF,并分别为这些VRF绑定一个接口,这些接口都和组播源相连接。该种方式不但增大了和组播源相连PE设备的压力(需要更多的接口和VRF),同时将为每个接收端VPN复制一份组播流在公网上传播,影响了公网的传输带宽。
2、在和组播源相连的PE设备上为每个需要接收组播流量的VPN实例分别创建一个VRF,只配置一个接口和视频源相连,但是需要接收组播流量的VRF需要导入和视频源相连VRF的路由,使用此种方式虽说一定程度减少了配置复杂度,但是还存在入口PE为每个接收端VPN复制一份组播流在公网上传播,影响了公网的传输带宽。
3、使用BGP的MDT地址族,通过使用该方式可以保证组播报文在公网中只传输一份,在每个接收端PE,需要为组播源对应的VPN创建一个VRF,然后将从组播源对应VRF接收到的组播流量转发到其他组播接收者VPN对应的VRF。虽说此种方式可以节省公网带宽,但是各出口PE都需要配置发送端VPN实例,配置繁琐。
4、不使用BGP的MDT地址族,但是在接收端PE通过配置组播源对应VRF,然后通过配置将从组播源对应VRF接收到的组播报文引入到需要接收组播流量的VRF中,该方式和3类似,所说不用使用BGP的MDT地址族,但是各出口PE都需要配置发送端VPN实例,配置繁琐。
可以看出,上述方案不是存在浪费公网带宽,就是配置复杂,且由于实际转发时使用的是IP组播隧道,故无法沿路径预留带宽,且在公网出现故障时,由于IP组播目前还不支持快速重路由,故也无法快速对流量进行保护。
2.1P2MP-TE跨VPN组播方案
如上图所示,正常情形下,VPN1的两个站点可以互访,VPN2之间的站点可以互访,但是VPN1和VPN2之间不可以互访,为了能够使VPN1和VPN2都可以接收到视频流量,首先需要通过使用L3VPN的基本配置,在PE1上将视频源对应的路由发布给BGP邻居,其携带的export RT和VPN1和VPN2配置的其中一个import RT相同,通过此种方式将组播源对应的路由导入到PE2和PE3上VPN1和VPN2对应的VRF路由表中,用于组播的RPF校验。
和组播源相连的PE1负责建立到达PE1和PE2的P2MP LSP。这里以PE2为例,当PE2接收到CE1发送的加入组播消息时,判断是否存在对应的P2MP LSP,若存在,则判断该LSP是否已经生成虚拟接口,若未生成,则生成虚拟接口,并生成一个以该虚拟接口为出口的组播路由用于RPF校验,同时将该虚拟接口和CE对应的VRF绑定。当PE2在收到CE2发送的加入组播消息时,执行和收到CE1发送的加入组播消息相同操作,假设LSP对应的虚拟接口已经生成,只需将虚拟接口增加和CE2对应的VRF绑定即可,也即该虚拟接口此时和VPN1和VPN2绑定。当PE2从P2MP-LSP上接收到组播报文后,认为是从虚拟接口上接收到的报文,由于已经生成了以虚拟接口为出口的RPF校验路由,故能够通过校验,然后将报文进行复制,同时发送给CE1和CE2,从而达到视频流能够送达不同的VPN。
3、典型应用
本文描述的方法主要应用于已经部署IP/MPLS网络环境中,若想新增跨VPN组播业务,可以结合本文描述的方法,避免在MPLS核心网络中引入IP组播,同时可以结合MPLS-TE的特性,对组播流量进行带宽保证和可靠性保证。
方案优势
1、使用该方法可以确保组播流量在MPLS网络中只出现一份,且可以利用P2MP-TE的FRR特性在网络链路或者节点出现故障时,减少组播流量的中断时间。
2、使用该方法不需要在组播源为每个接收VPN创建对应的VRF。
3、使用该方法不需要在组播接收者PE创建一个组播源对应的VRF,然后通过手工配置方式将组播流量引入不同的组播流量接收VPN。
4、由于P2MP-TE作为组播承载隧道,也即使用MPLS实现组播方式,故该方法不需要在MPLS骨干网中运行IP组播协议。
参考文献
[1]S. Yasukawa, Ed,”Signalling Requirements for Point-to-Multipoint Traffic-Engineered MPLS Label Switched Paths(LSPs).”RFC4461,IETF,April 2006
[2]R. Aggarwal, Ed,D. Papadimitriou, Ed,”Extensions to Resource Reservation Protocol - Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE Label Switched Paths (LSPs)”,RFC4875, IETF,May 2007
[3]T. Eckert,E. Rosen, Ed.,”MPLS Multicast Encapsulations.”, RFC5332,IETF, August 2008
[4]Eric C. Rosen (Editor), Rahul Aggarwal (Editor),”Multicast in MPLS/BGP IP VPNs.”, draft-ietf-l3vpn-2547bis-mcast-10,January , 2010
联系方式
随机阅读
热门排行