APP下载

在测控网络中组播通信的实现方法

2013-09-01解社锋马春梅王治朝

邯郸职业技术学院学报 2013年2期
关键词:单播测控路由器

解社锋 马春梅 王治朝

(中国联合网络通信有限公司邯郸市分公司,河北 邯郸 056002)

1 概述

航天测控网由航天测控中心和分布在全国或全球的若干个航天测控站组成,其任务是对航天器进行跟踪测量、控制航天器的运行、接收和分发有效载荷数据。在测控系统中,测控网络是各测控中心系统的数据交换中枢,是前端通信、数据处理、显示和辅助支持等各系统的联系纽带,是统一管理、灵活调配任务设备、实现系统优化和自动化的基础,具有十分重要的地位和作用。

2 需求

随着测控领域技术的不断发展,测控网络中交互的各种数据、语音和视频信息越来越多,测控系统对测控网络的实时性和稳定性提出了更高的要求,尤其在点到多点的实时高效数据传送、有效节约网络带宽、降低网络负载等诸多方面需求迫切。具体需求为:

a)在网络中能实现组播的实时高效数据传送;

b)网络中重要节点需实现冗余备份;

c)网络切换时对各种业务的影响时间较短,为秒级;

d)与其他测控中心能够进行组播通信。

3 IP组播路由技术介绍

IP组播涉及到的协议主要有组播组管理协议和组播路由协议。和组播相关的协议在网络中的应用位置如图1所示:

3.1 组播组管理协议

组播组管理协议采用 IGMP(Internet Group Management Protocol,互连网组管理协议),它运行在主机和组播路由器之间,定义了主机与路由器之间组播成员关系的建立和维护机制。

3.2 组播路由协议

组播路由协议运行在组播路由器之间,用于建立和维护组播路由,并正确、高效地转发组播数据包。组播路由建立了一个从数据源端到多个接收端的无环数据传输路径。组播路由协议的任务就是构建分发树结构。组播路由器能采用多种方法来建立数据传输的路径,即分发树,常用的两种方法是:源点基准树和组共享树。

3.2.1 域内路由协议

域内组播路由目前已经相当成熟,在众多的域内路由协议中,PIM(Protocol Independent Multicast,协议无关组播)是目前应用最多的协议,可以和任何单播路由协议协同工作。PIM协议又分为PIM-DM(Protocol Independent Multicast-Dense Mode,密集模式协议无关组播)和 PIM-SM(Protocol Independent Multicast-Sparse Mode,稀疏模式协议无关组播),其中PIM-SM因其良好的扩展性和从共享树向信源树转换的能力而成为域内组播路由的首选协议。

PIM-SM通过建立组播分发树来进行组播数据包的转发。组播分发树分为两种:以组G的RP(Rendezvous Point,汇聚点)为根的共享树和以组播源为根的最短路径树。PIM-SM通过显式的加入/剪枝机制来完成组播分发树的建立与维护。

在多路访问网络中,PIM-SM还引入了以下机制:使用断言机制选举唯一的转发者,以防向同一网段重复转发组播数据包;使用加入/剪枝抑制机制减少冗余的加入/剪枝消息;使用剪枝否决机制否决不应有的剪枝行为。

当组播源 S向组播组 G发送了一个组播报文时,与组播源S直接相连的路由器接收到该组播报文后,就将该报文封装成Register注册报文,并单播发送给对应的 RP。当 RP接收到来自组播源S的注册消息后,一方面解封装注册消息并将组播信息沿着 RPT(RP-rooted shared tree,基于RP的共享树)树转发到接收者,另一方面朝组播源S逐跳发送(S,G)加入消息,从而让RP和组播源S之间的所有路由器上都生成了(S,G)表项,当RP检测到从组播源发出的多播数据包经由SPT(Shortest Path Tree,最短路径树)到达时,(表明SPT稳定,沿途各路由器均已有正确转发条目)RP向组播发送“Register Stop(注册停止)”消息,至此,从组播源到接收者的转发路径形成。SPT源树以组播源 S为根,以 RP为目的地。组播源S发出的组播信息沿着已经建立好的 SPT树到达RP,然后由 RP将信息沿着RPT共享树进行转发。

3.2.2 域间路由协议

域间路由的首要问题是路由信息如何在自治系统之间传递。除了距离信息外,域间路由信息必须包含数据处理中心的策略。目前,域间路由协议包括 MSDP(Multicast Source Discovery Protocol,组播源发现协议)和MBGP(Multiprotocol Border Gateway Protocol,多协议边界网关协议)组播扩展。

MSDP描述了多个PIM-SM域互连的机制。MSDP允许不同域的RP共享其组播源信息。MSDP要求域内组播路由协议必须是PIM-SM。

配置了MSDP对等体的RP将其域内的活动组播源信息通过SA(Source Active,活动源)消息通告给它的所有MSDP对等体,这样,一个PIMSM域内的组播源信息就会被传递到另一个PIM-SM域。另外,MSDP通过 RPF(Reverse Path Forwarding,逆向路径转发)检查机制,只接受从正确路径上接收到的SA消息,避免接受冗余的SA消息;可以通过配置Mesh(网状)全连接组来避免SA消息在MSDP对等体之间泛滥。

MBGP是对 BGP-4协议的一个增强和扩展,通过添加 MP_REACH_NLRI、MP_UNREACH_NLRI两个属性,MBGP具有了携带多协议信息的功能。MBGP既可以支持单播又可以支持组播,在网络中构建不同的单播和组播拓扑结构,而且能分别支持不同的策略。

有了MBGP之后,单播和组播路由信息可以通过同一个进程交换,但是存放在不同的路由表里。由于MBGP是BGP-4协议的一个增强版,因此BGP-4所支持的常见的策略和配置方法都可以用到组播里。

4 组播通信的实现方法

4.1 组播域内通信的实现方法

目前测控网络中业务应用大部分采用组播通信方式,组成员范围较广、规模较大。测控网络承担着对运载火箭和航天器进行跟踪、测量和控制的任务,为了保证测控任务的正常执行,作为整个测控系统的数据传输中心,测控网络在实时性、可靠性和稳定性等方面的要求较高。

域内组播路由协议包括MOSPF(Multicast Extension to Open Shortest Path First,组播扩展开放最短路径优先),CBT(Core Based Tree,有核树),PIM-SM、PIM-DM、DVMRP(Distance Vector Multicast Routing Protocol,距离矢量组播路由协议)等协议。由于MOSPF的扩展性很差,并且过于复杂,很少被实现,并且不支持隧道,已经被抛弃。CBT简单,但端到端的性能无法满足,不适于用在全网性的组播应用中。DVMRP存在计数到最大,保持时间和周期更新等问题,且扩展性较差,逐渐被淘汰出局。故在域内,主要使用 PIMSM,PIM-DM 协议。

PIM-DM适用于小型网络,在这种网络环境下,组播组的成员相对比较密集。PIM-SM主要用于组成员分布相对分散、范围较广、大规模的网络。鉴于Dense mode的适用特点及其周期性的Flood(洪泛)行为对网络影响较大,不利于整个网络的稳定工作等因素,测控网络中采用 Sparse mode来构建多播转发表。

目前PIM-SM协议是域内组播的公认标准。对于由一个自治域组成的网络,或者组播仅在域内进行时,仅需在网络中运行PIM-SM协议即可。

为了增强PIM-SM中RP节点的可靠性,避免RP的单点故障,以及对网络中的组播流量进行分担,可在网络中选取若干 RP点,达到冗余备份,负载分担的目的,在 RP宕机时备份 RP可及时代替RP工作。如何实现RP的冗余备份和负载分担以及 RP故障时快速切换,是测控网络中需要着重考虑的问题。

PIM-SM协议规定,SPT转发树的生成是由组播数据流触发的。因此,组播数据流开始发送时,SPT转发树从开始被触发到完全生成需要一个过程,伴随而来的是此过程中接收端接收组播数据会产生丢包现象。在测控系统中,测控网络承担着目标飞行器的跟踪、测量、控制等重要数据的分发,丢包现象会对任务的正常执行带来一定影响。随着应用卫星的发展,特别是导航卫星、高分辨率遥感卫星、载人飞船的会合和对接、航天飞机以及行星际和更远距离的航行,对航天测控系统提出了更高的要求,因此如何避免组播发送时,接收端初始丢包是一个测控网络需要解决的问题。

4.1.1 如何实现组播域内通信的RP备份

配置组播域内 RP的方法通常有四种,分别是静态指定 RP、BSR、Auto RP、Anycast RP。其中,静态 RP无法实现 RP的冗余备份,其余三种均可实现RP的冗余备份。

a)BSR(Bootstrap Router,自举路由器)

BSR是PIM-SM网络里的管理核心,候选RP将声明发送到BSR,BSR负责收集并发布所有候选 RP的信息。一个网络内部只能有一个BSR,但可以配置多个候选BSR,即 C-BSR(Candidate-BSR,候选 BSR)。这样,一旦某个 BSR发生故障后,能够切换到另外一个。C-BSR通过自动选举产生BSR,优先级高的C-BSR成为BSR,如果优先级相同,则IP地址大的C-BSR优先成为BSR。但此收敛过程通常需要三分钟,收敛过程会导致现有组播业务持续丢包,而且新增组播业务将无法转发。如此长的组播业务中断时间将会严重影响到测控系统任务的正常执行。

b)Auto RP(自动 RP)

所有路由器自动学习与特定组相关的RP地址,除了Candidate RPs(RP候选者)和Mapping A-gents(映射代理)外的路由器不需要为 RP做任何设置。通过专用的两个多播地址 224.0.1.39和224.0.1.40以PIM DM 方式传递 RP相关信息。

Mapping Agents用于接收发自Candidate RPs的声明,自动加入224.0.0.39这个多播组。所有声明存储在缓存中,为每个特定组范围选举具有最高IP地址的候选者作为RP。

Auto RP是思科私有协议,其工作原理类似于BSR,收敛时间通常也为三分钟。

c)Anycast RP(任播 RP)

所谓Anycast RP是指通过在相同PIM-SM域内两个具有相同地址的RP之间形成MSDP对等体关系,从而实现域内 RP之间的负载分担和冗余备份。在相同PIM-SM域内,将多个路由器的接口(通常是 Loopback接口)上都配置 C-RP(Candidate RP,RP候选者)功能,并且这些接口具有相同IP地址。在这些RP之间建立MSDP相邻关系,如图2所示。

组播源 S通常选择距离最近的 RP进行注册,形成SPT树;而接收者也向距离最近的RP发送Join加入消息以构建RPT树,因此组播源注册的RP可能不是接收者加入的RP,为了实现RP之间的信息一致,这些互为 MSDP对等体的 RP之间通过相互发送SA消息,了解对方的注册源信息,最终让每个RP了解到整个 PIM-SM域内的所有组播源。这样,各 RP上所带的接收者都可以接收到整个PIM-SM域内的所有组播源发出的组播数据。

由于RP之间借助 MSDP互通信息,而组播源或接收者分别向就近 RP发起注册或RPT加入,因此可以实现 RP负载分担。一个 RP失效后,其上原先注册的组播源和加入的接收者会自动选择另一个就近 RP进行注册和加入操作,从而实现了 RP冗余备份。RP收敛时间取决于单播路由收敛时间,如在部署了HSRP(Hot Standby Routing Protocol,热备份路由选择协议)的环境中,当HSRP收敛完成后,RP即可对新增组播业务提供服务。

通过上述分析,我们得知,手工静态指定RP无法实现RP的冗余备份;BSR和Auto RP虽能实现RP的冗余备份,但因其在RP故障时收敛时间较长,不能满足测控网络对实时性的要求;而Anycast RP不但能实现RP的冗余备份和负载分担,而且在RP故障时收敛时间较快,其收敛时间取决于单播路由收敛时间。经测试,Anycast RP方式下RP收敛时间可控制在秒级,满足测控网络对实时性的要求,是测控网络中域内RP备份的最佳选择。

4.1.2 如何避免组播初始丢包

a)初始丢包原因分析

使用IP PIM SM后,当RP接收到来自组播源S的注册消息后,一方面解封装注册消息并将组播信息沿着RPT树转发到接收者,另一方面朝组播源S逐跳发送(S,G)加入消息,从而让RP和组播源S之间的所有路由器上都生成了(S,G)表项。当组播包进入路由器时,路由器在硬件转发表项建立之前,会用处理器会来交换最初的组播包。由于CPU的限制,它会处理最初的75包,其他的组播包会被CPU丢弃。所以在RP和组播源S之间的所有沿途路由器上生成(S,G)表项之前发生了丢包。

b)避免初始丢包的方法

从工作机制上分析,使用 Bidirection Pim(双向PIM)时,路由器只创建(*,G)多播转发表项,并且会将它写入硬件转发表,所以理论上不存在丢包问题。但经多次试验测试,结果表明其并不是每次都能避免初始丢包现象。另外,在测试过程中发现使用双向PIM时有不规律丢包现象。

除双向PIM外,使用PIM-SSM模型能够在用户和组播源之间直接建立最短路径树,从而不会产生初始丢包。但其需要IGMP V3的支持。

除了在网络层设备采取措施外,还可以通过应用程序发链监数据的方式避免组播初始丢包。采用从组播源不间断向目的网段中任一台主机发送链监数据的方式,始终维护途经交换机的(S,G)表项使其永不过期,这样就可保证在任务执行时不会出现初始丢包现象。

通过分析和试验,我们得出结论:双向PIM不能很好解决组播初始丢包问题,且存在重包的问题;PIM-SSM可避免初始丢包,但需IGMP V3的支持;利用应用程序从源主机不间断向目的网段发送链监数据可保证在任务执行时,组播无丢包现象。

4.1.3 组网结构

如图3所示,在测控网络组播域内通信的组网方案中,核心交换机之间配置HSRP备份协议,实现路由的冗余备份。设备间连接通过配置链路汇聚实现链路的冗余备份和负载分担。汇聚交换机通过堆叠电缆连接,构成堆叠单元,实现冗余备份和端口扩展。通过配置 Flex links(灵活连接)和STP(Spanning Tree Protocol,生成树)实现链路层的链路备份和防止环路功能,在主链路故障时,可快速完成切换。

在所有需要配置的三层交换机上,配置应用域内组播的公认标准-IP PIM SM组播路由协议和IGMP协议。内部 RP之间配置内部MSDP对等,运行Anycast RP,实现 RP的冗余被封和负载分担,当其中一个 RP宕机时,另一个 RP可快速收敛,从而将故障对测控任务的影响降至最低。在所有交换机上配置IGMP Snooping,抑制组播数据在链路层的扩散。通过组播源不间断向与组成员同在一个网段的任一台主机发送链监数据,保证途径路由器的(S,G)转发表项永不过期,避免出现初始丢包现象。

上述组网结构经过长时间的测试,验证了该结构系统状态稳定、丢包率较低,任一台设备或链路故障时,冗余设备或链路会快速收敛,影响组播业务的时间较短。

4.2 组播域间通信的实现方法

域间路由的首要问题是路由信息(或者说可达信息)如何在各数据处理中心之间传递,除了距离信息外,域间路由信息必须包含数据处理中心的过滤策略,这是与域内路由信息的不同之处。

针对域间组播路由有两类解决方案:短期方案和长期方案。短期方案包括三个协议MBGP/MSDP/PIM-SM:MBGP(组播边缘网关协议),用于在自治域间交换组播路由信息;MSDP(组播信源发现协议),用于在数据处理中心之间交换组播信源信息;域内组播路由协议 PIM-SM。长期方案目前讨论最多的是 MASC/MBGP/BGMP,它建立在现有的组播业务模型上,其中 MASC(Multicast Address Set-Claim)实现域间组播地址的分配、MBGP在域间传递组播路由信息、BGMP(Border Gateway Multicast Protocol,边界网关组播协议)完成域间路由树的构造。此外还有一些组播路由策略,如 PIM-SSM(Protocol Independent Multicast-Source Specific Multicast,特定信源协议无关组播)等,建立在其它的组播业务模型上。目前仅短期方案 MBGP/MSDP/PIM-SM是成熟的,并在许多的组播业务应用领域中广泛使用。其他方案的标准还在研究中。

如果要实现跨域组播,假设两个测控中心要实现组播网络的互通,一些新的问题就出来了,最突出的两个问题就是RP选择和RPF检查问题。

4.2.1 如何实现域间的 RP选择

目前情况下,要运行 PIM协议,必须有一个全局的RP,这个RP完成数据源的注册和数据接收端的分发。一般情况下,每个测控中心都有自己的RP路由器,而每个RP路由器仅仅知道自己内部的数据源和数据接收端,而实际情况是,一个测控中心内的用户可能接收另外一个测控中心内的组播数据流,而另外一个测控中心内的组播数据源对本测控中心的RP来说是未知的,MSDP协议就是为解决这个问题而提出来的。

4.2.2 如何实现域间 RPF检查

测控中心1和测控中心2通过两条高速链路连接起来,这时,测控中心2想让单播数据走连接1,而想让多播数据走连接2。因为 PIM是基于单播路由表来进行RPF检查的,这样如果不对用于RPF检查的路由和用于单播数据发送的路由进行区分的话,就没法做到这一点。而传统的BGP无法完成这样的要求,所以必须采用扩展 BGP,即 MBGP(多协议BGP,在多播领域可以成为多播BGP)。

采用多播BGP后,BGP连接在传输路由时,会把单播路由跟多播路由分开(通过在BGP协议中引入特殊属性解决),这样另外的测控中心在接收到BGP邻居发送过来的路由后,就会把用于组播RPF检查的路由跟用于单播数据转发的路由区分开。

一个重要的概念就是,MBGP传播的路由仅仅用于组播路由器的 RPF检查,MBGP不为组播数据转发提供任何支持。

4.2.3 组网结构

如图4所示,在全网都运行 PIM-SM,域间运行 MBGP、MSDP。也就是说,域内的组播路由和组播源信息收集工作由PIM-SM完成,域间由MBGP来传播具有组播拓扑信息,MSDP传播组播源信息。这种方案要求所有的自治域都支持PIM-SM、MBGP和 MSDP。PIM-SM/MBGP/MSDP方案是域间组播组网较成熟的方案。

在PIM-SM/MBGP/MSDP组合方案中,自治域边界交换机之间配置外部MBGP对等,RP之间配置外部MSDP对等;自治域内部交换机之间根据需要配置内部 MBGP对等,内部 RP之间配置内部MSDP对等,运行Anycast RP。所有的自治域都运行PIM-SM协议。所有交换机均配置IGMP和 IGMP Snooping。

5 结束语

组播域间通信的解决方案除了目前较为成熟的 PIM-SM/MBGP/MSDP外,还有 MASC/MBGP/BGMP和 SSM等,其中 MASC/MBGP/BGMP的标准还在研究中,而PIM-SSM则在测控网络中有较为广阔的应用前景。

针对文中提到的组播初始丢包问题,目前的解决方案是通过应用程序不间断发送链监数据,来使交换机中的组播转发表项(S,G)永不过期,其并未从根本上解决此问题,而是从上层规避了问题的产生。而SSM模型能够在用户和组播源之间直接建立最短路径树,理论上可解决组播初始丢包问题。

SSM是指定组播源的组播技术,SSM和IGMPv3相结合,能够在组播源和组播数据接收者之间直接建立最短路径树(SPT),省去了PIMSM中先建立共享树再从共享树向最短路径树切换的过程,从而能够从一开始就沿最短路径树转发数据。IGMPv3协议的主要目的是支持源特定组播,并进一步对 IGMPv2进行完善。和 IGMPv2相比,IGMPv3增加了源过滤功能,允许主机指定其需要接收的特定组的数据,还可以指定接收这个组中特定源的数据。

随着测控网络中各类业务的逐渐增加,组播技术为点对多点业务的开展提供了一个强有力的技术手段。在组播技术组网应用中,SSM网络相对于传统的PIM-SM网络,具有非常突出的优越性,网络中不再需要汇聚点,也不再需要共享树或RP的映射,同时网络中也不再需要 MSDP协议,以完成RP与RP之间的源发现,在已知组播源的情况下,不但效率高,而且简化了组播地址分配。另外,SSM理论上可避免组播初始丢包问题。SSM技术正在不断发展和成熟,它在实时数据传送、多媒体传输等方面将得到越来越广泛的应用。

[1]欧建平,娄生强.网络与多媒体通信技术[M].北京:人民邮电出版社,2002.02

[2] Alberto Leon-Garcia,Indra Widjaja.Communication Networks Fundamental Concepts and Key Architecture[M].北京:清华大学出版社,2000

[3]Wayne Lewis,Ph.D.思科网络技术学院教程 CCNP3层交换(第二版)[M].颜凯,样宁,向渝,李育强译.北京:人民邮电出版社,2006.01

[4]Jeff Doyle,Jennifer Carroll.TCP/IP 路由技术(第一卷)(第二版)[M].葛建立,吴剑章译.北京:人民邮电出版社,2007.01

[5]Wendell Odom,Jim Geier,Naren Mehta.CCIE Routing and Switching Official Exam Certification Guide Second Edition[M].北京:人民邮电出版社,2007.02

猜你喜欢

单播测控路由器
高空通信平台非正交广播与单播复用容量研究
买千兆路由器看接口参数
维持生命
路由器每天都要关
路由器每天都要关
基于LabWindows/CVI与TekVISA的Tek示波器远程测控软件设计
基于现代测控技术及其应用分析
向着新航程进发——远望7号测控船首航记录
基于USB2.0协议的通用测控通信接口设计
城市车辆网络单播路由协议:审查、分类和开放问题研究