民航数据通信网中组播VPN的应用探讨
2015-02-04王硕李占勇
王硕 李占勇
民航空管信息业务IP化传输趋势增强,MPLS VPN是民航ATM数据通信网为解决IPoA使用的主要技术,也是未来空管IP通信网中的主要业务应用模式。在民航数据通信MPLS L3VPN网络基础上实现组播将是雷达信息、场间监视、视频会议以及视频监控等民航业务信息广播传输的合理高效解决方案。本文通过民航ATM数据通信网组播VPN设计与实现,为民航业务组播和运维奠定良好的基础,也为民航业务发展提供可靠保障。
【关键词】数据通信 MPLS VPN IP
1 IP组播技术
组播(Multicast)技术指的是单个发送者对应多个接收者的一种网络通信。作为一种与单播(Unicast)和广播(Broadcast)并列的通信方式,组播技术能够有效地解决单点发送、多点接收的问题,从而实现了网络中点到多点的高效数据传送,能够节约大量网络带宽、降低网络负载。
IP组播属于端到端的服务,无论何种组播模型,组播机制都包括如下四个部分:
(1)寻址机制:借助组播地址实现信息从组播源发送到接收者;
(2)主机注册:允许接收主机动态加入和离开某组播组,实现对组播成员的管理;
(3)组播路由:构建组播报文分发树(即组播数据在网络中的树型转发路径),并通过该分发树将报文从组播源传输到接收者;
(4)组播应用:组播源与接收者必须安装支持视频会议等组播应用的软件,TCP/IP协议栈必须支持组播信息的发送和接收。
1.1 组播路由协议
组播路由协议运行在三层组播设备之间,用于建立和维护组播路由,并正确、高效地转发组播数据包。组播路由建立了从一个数据源端到多个接收端的无环数据传输路径,即组播分发树。
组播分发树有两种:最短路径树(SPT)和共享路径树(RPT)。最短路径树是以组播源为根构造的从根到所有接收者路径都最短的分布树,又称为源树。源树的状态条目使用符号(S,G)表示,其中S表示多播源的IP地址,G表示组播地址。(S,G)源树是针对每一个源和组播组构建的组播源和接收者之间的可用路径,(S,G)是组播源至接收者的最短可用路径。
共享树与源树的不同之处就在于树根,共享树的树根位于网络中某个公共点。这个公共点被称为集合点(rendezvous point,RP)。所有的接收者都将自己加入到RP上,同时,组播源也将“注册”到RP上,并将流量发送给RP,由RP将流量发送给共享树中相应的组播数据接收者。共享树的多播转发条目用(*,G)表示,其中“*”通配符表示所有的源。与源树相比,共享树在路由选择中可能不是最优的,但每个路由器上需保存的状态数更少。
PIM(Protocol Independent Multicast)是协议无关组播的简称,它可以利用各类单播路由表为IP组播提供路由。组播路由与所采用的单播路由协议无关,只要能够通过单播路由协议产生相应的组播路由表项即可。根据实现机制的不同,PIM分为两种模式:密集模式(PIM-DM)和稀疏模式(PIM-SM)。前者适用于组播组成员相对比较密集的小型网络,后者适用于组播组成员分布相对分散、范围较广的大中型网络的。
1.2 组播报文转发
网络中组播报文的传输须依靠单播路由表或者单独提供给组播使用的路由表来指导转发;PIM借助RPF(Reverse Path Forwarding)逆向路径转发机制实现对组播报文的转发。当组播报文到达本地设备时,首先对其进行RPF检查。若RPF检查通过,则创建相应组播路由表项,进行组播报文的转发;若RPF检查失败,则丢弃该报文。故此,RPF检查机制是组播路由协议进行组播转发的基础。
2 MPLS VPN技术
MPLS L3VPN是BGP(Border Gateway Protocol)边界网关协议和MPLS(Multiprotocol Label Switching)多协议标签交换扩展实现的VPN(Virtual Private Network)虚拟专用网解决方案,RFC2547对该规范进行了描述。
在MPLS L3VPN架构中,其主要包括了如下的组件:
(1)CE(Custom Edge):用户网络边缘设备,位于用户站点(Site)中,有接口直接与服务提供商相连。
(2)PE(Provider Edge):服务提供商网络边缘设备,与用户的CE直接相连。在MPLS网络中,对VPN的所有处理都发生在PE上。
(3)P(Provider Router):服务提供商网络中的骨干路由器,不与CE直接相连。P设备具备基本MPLS转发能力,仅根据外层标签对VPN报文进行MPLS转发,无须参与VPN用户管理及相关表项的创建和维护。
(4)VRF(Virtual Routing Forwarding Table):虚拟路由转发表,它包含同一个站点相关的路由表、转发表、接口(子接口)、路由实例和路由策略等。在PE设备上,属于同一VPN的物理端口或逻辑端口对应一个VRF。
(5)站点(Site):VPN中的一个孤立网络,站点通过单独的物理端口或逻辑端口连接到PE上。VPN实际即是对站点集合的划分,一个VPN对应一个若干站点组成的集合。
3 组播VPN机制
组播VPN是基于MPLS L3VPN来实现组播传输的技术。如图1所示,网络中同时承载着两个相互独立的组播业务:公网实例、VPN实例A。公共网络边缘PE组播设备支持多实例。各实例之间形成彼此隔离的平面,每个实例对应一个平面。
以VPN实例A为例,组播VPN指:当VPN A中的组播源向某组播组发送组播数据时,在网络中所有可能的接收者中,仅属于VPN A(即Site 1、Site 3 或Site 5中)的组播组成员才能收到该组播源发来的组播数据。组播数据在各Site及公网中均以组播方式进行传输。endprint
其中,实现组播VPN所需具备的网络条件如下:
(1)在每个Site内支持基于VPN实例的组播。
(2)在公共网络内支持基于公网实例的组播。
(3)PE 设备支持多实例组播,即支持基于VPN实例和公网实例的组播,并支持支持公网实例与VPN实例之间的信息交互和数据转换。
为了满足以上条件,互联网工程任务组(IETF)最终形成制定了以MD(Multicast Domain)组播域方案来实现组播VPN的标准。
MD方案的基本思想是:在骨干网中为每个VPN维护一棵称为Share-MDT的组播转发树。来自VPN中任一Site的组播报文都会沿着Share-MDT被转发给属于该MD的所有PE。MD是一个集合,它由一些相互间可以收发组播数据的VRF组成。其中,支持组播业务的VRF为MVRF,它同时维护单播和组播路由转发表。PE收到组播报文后,如果其MVRF内有该组播组的接收者,则继续向CE转发;否则将其丢弃。
不同的MVRF加入到同一个MD中,通过MD内自动建立的PE间的组播隧道(MT)将这些MVRF连接在一起,实现了不同Site之间的组播业务互通。每个MD会被分配一个独立的组播地址,称为Share-Group。当两个MVRF之间通信时,用户报文以GRE方式被封装在骨干报文里通过MT进行传输,骨干报文的源地址为PE用来建立BGP连接所使用的接口IP地址,目的地址为Share-Group。
4 民航数据通信网中组播VPN的实现
在民航数据通信网中实现组播VPN主要需完成骨干网络的准备工作以及组播VPN设计与实施等工作。
4.1 组播VPN的规划设计
民航ATM数据网华东地区ATM交换机上的RPM-PR板卡提供了MPLS VPN业务,目前部署的MPLS VPN业务网络拓扑为星形结构,即由区域一级节点9槽RPM板卡作为P设备和路由反射器,而其他节点均为PE设备。华东地区ATM网络中同时承载着两个相互独立的组播业务:ATM数据网公网组播实例和名为YJCJ2的用户私网组播实例。
VPN组播实例是通过在P和PE设备上部署实现的,网络中,作为P和PE的RPM板卡上运行着公网组播实例,而作为PE的RPM板卡同时又运行着用户私网组播实例。公网的组播实例是在所有RPM板卡上开启组播应用。上海虹桥和浦东机场两个节点的10槽RPM板卡负责接入用户的VPN组播业务,所以需在这两台设备上部署MPLS VPN应用,并在这两个用户站点相应的VRF实例中开启组播应用。在本案例中,VPN用户接入侧要求使用的是PIM密集模式,而民航数据网MPLS VPN公网则使用的是PIM稀松模式。
在MPLS VPN网络中不同用户的VPN站点都是彼此逻辑独立的,并且VPN用户数据封装MPLS标签后通过公网的PE和P设备进行传输。对于VPN组播来说,数据的传输模式也是类似的。PE设备通过将该VPN实例中的用户VPN组播数据报文封装成公网所能“识别”的公网组播数据报文进行组播转发。这种将私网组播报文封装成公网组播报文的过程就叫做构造组播隧道(MT)。在PE上,每个VPN用户的组播数据是通过不同的MTI(Multicast Tunnel Interfac)组播隧接口在公网构造组播隧道,参见图2。
由于公网、VPN网以及用户接入侧各组播部署中都采用PIM协议启用了组播应用,MPLS VPN中组播应用包含如下的PIM邻居关系:
(1)PE-P邻居关系:指PE上公网实例接口与链路对端P上的接口之间所建立的PIM邻居关系。
(2)PE-PE邻居关系:指PE上的VPN实力通过MTI收到远端PE上的VPN实例发来的PIM Hello报文后建立的邻居关系。
(3)PE-CE邻居关系:指PE上绑定VPN实例的接口与链路对端CE上的接口之间建立的PIM邻居关系。
部署公网组播实例需在华东地区所有相关RPM板卡开启组播服务,考虑到密集模式对RPM设备和骨干网资源的开销,在民航ATM数据网中使用了PIM稀松模式。根据网络的物理网络拓扑模型,选取上海虹桥9槽RPM板卡作为RP。
4.2 组播VPN的实施运行
在MPLS VPN网络中的P和PE设备上部署PIM协议,这些设备之间会形成PE-P邻居关系,从而使得公网支持组播功能,并形成公网的组播分发树。本案例中使用PIM稀松模式,即在虹桥和浦东机场节点的9、10槽RPM板卡的配置底层IGP路由协议的接口上部署PIM稀松模式,这样就构造了公网的PIM共享树。
在传输用户私网组播报文的PE上部署基于VRF实例的组播,一个VPN实例唯一制定一个Share-Group地址。同一个VPN组播域内的PE之间形成PE-PE邻居,并形成该组播域的共享组播分发树(Share-MDT)。在本例中就是在虹桥和浦东机场的10槽YJCJ2 VRF实例中部署相应的default MDT地址239.255.0.5。
用户CE设备和PE连接CE的相应接口启用组播,本例中使用PIM密集模式。这样就形成了PE-CE邻居关系。本例中是在虹桥和浦东机场节点的相应VPN业务端口配置PIM密集模式。
当用户有组播报文需要传输的时候,就将组播报文发送给PE的VRF实例,PE设备收到报文后识别组播数据所属的VRF实例。用户私网的数据报文对于公网是透明的,不论数据归属或类别,PE都统一将其封装为公网组播数据报文,并以Share-Group作为其所属的公网组播组。一个Share-Group唯一对应一个MD,并利用公网资源唯一创建一棵Share-MDT进行数据转发。在该VPN中所有私网组播报文,都通过此Share-MDT进行转发。如图3所示,可以看到华东地区公网上的Share-MDT创建的过程。endprint
虹桥节点10槽RPM向9槽RPM(RP节点)发起加入消息,以Share-Group地址作为组播组地址,在公网沿途的设备上分别创建(*,239.255.0.5)表项。同时虹桥浦东机场节点也发起类似的加入过程,最终在MD中形成一棵以虹桥节点9槽RPM为根,以虹桥、浦东机场节点10槽RPM为叶的共享树(RPT)。随后,虹桥和浦东机场节点10槽RPM的公网实例向公网RP发起注册,并以自身BGP的router-id地址作为组播源地址、Share-Group地址作为组播组地址,在公网的沿途设备上分别创建(20.51.5.6,239.255.0.5)和(20.51.5.3,239.255.0.5)表项,形成连接PE和RP的最短路径树(SPT)。在PIM-SM网络中,由(*,239.255.0.5)和这两棵相互独立的SPT共同组成了Share-MDT。虹桥节点PE的私网组播报文在进入公网后,均沿该Share-MDT向浦东机场节点PE转发。
图4是私网组播报文在公网中转发的过程。当浦东机场节点的YJCJ2 VPN 用户CE设备加入到虹桥节点数据源所在的组播组,此时由于这两个站点部署为PIM-DM模式,虹桥节点组播设备会立刻将数据推送到虹桥节点10槽RPM的YJCJ2 VRF实例中,并通过该VPN构建的Share-MDT在公网上以(20.51.5.6,239.255.0.5)构建的SPT进行公网组播报文传输。当公网组播报文被浦东机场10槽PE设备收到后会将其解封装成原始的私网组播报文,并转发给相应的接收CE,最终完成用户私网组播数据在MPLS VPN网络中的传输。
5 总结
民航空管信息业务IP化传输趋势增强,MPLS VPN是民航ATM数据通信网为解决IPoA使用的主要技术,也是未来空管IP通信网中的主要业务应用模式。在民航数据通信MPLS L3VPN网络基础上实现组播将是雷达信息、场间监视、视频会议以及视频监控等民航业务信息广播传输的合理高效解决方案。通过本次民航ATM数据通信网组播VPN设计与实现,为民航业务组播和运维奠定良好的基础,也为民航业务发展提供可靠保障。
参考文献
[1]Beau Williamson著,顾金星,张拥军,南亲良等译[J].IP多播网络的设计开发(第1卷)Developing IP Multicast Networks Volume I,2005.
[2]佩皮贾克,盖查德.MPLS和VPN体系结构[M].北京:人民邮电出版社,2009.
作者单位
北京天航信民航通信网络发展有限公司 北京市 100000endprint