局域网组播技术白皮书

来源:建设工程网 发布时间:2020-08-25 点击:

 局域网组播技术白皮书

 华为技术有限公司

 二OO一年六月

 目录

  TOC \o "1-3" \h \z 1 组播概述 1

 2 组播技术 1

 2.1 组播体系结构 1

 2.2 组播地址 2

 2.2.1 组播IP地址 2

 2.2.2 组播地址划分 2

 2.2.3 组播地址映射 2

 2.3 组管理协议——IGMP(Internet Group Management Protocol) 3

 2.4 二层交换环境中组管理的实现 4

 2.4.1 IGMP Snooping(IGMP监听) 4

 2.4.2 HGMP(华为组管理协议) 4

 2.4.3 GARP组播注册协议--GMRP 5

 2.4.4 HMVR(Huawei Multicast Vlan Register) 5

 2.4.5 RGMP-路由器端口组管理协议 6

 2.5 域内组播路由协议 7

 2.5.1 DVMRP(Distance Vector Multicast Routing Protocol) 8

 2.5.2 PIM-DM(Protocol Independent Multicast – Dense Mode) 8

 2.5.3 PIM-SM(Protocol Independent Multicast – Sparse Mode) 9

 2.6 域间组播路由协议 10

 2.6.1 MBGP(MultiProtocol Border Gateway Protocol) 10

 2.6.2 MSDP(Multicast Source Discovery Protocol) 12

 3 组播业务组网方案 13

 3.1 网络结构 13

 3.1.1 单域网络组播组网 13

 3.1.2 多域网络组播组网 14

 3.2 组播业务管理—受控组播 15

 3.2.1 组播信源管理 15

 3.2.2 组播用户管理 16

 3.2.3 用户计费 17

 4 展望 18

 摘要

  IP组播技术实现了IP网络中点到多点的高效数据传送。由于能够有效地节约网络带宽、降低网络负载,IP组播技术在实时数据传送、多媒体会议、数据拷贝、游戏和仿真等诸多方面都有广泛的应用。

 本文介绍了组播的基本概念和技术,并针对目前组播业务需求和运营过程中面临的主要问题,提出了电信级的可运营、可管理的“受控组播”解决方案,包括组网、信源管理、用户管理和业务计费等方面内容。

 关键词

 组播 运营管理 受控组播 IGMP PIM-SM PIM-DM MBGP MSDP

 缩略语

 DVMRP

 距离矢量组播路由协议(Distance Vector Multicast Routing Protocol)

 IANA

 因特网编号分配委员会(Internet Assigned Numbers Authority)

 IGMP

 互联网组管理协议(Internet Group Management Protocol)

 MBGP

 组播边界网关协议(Multicast Border Gateway Protocol )

 MSDP

 组播源发现协议(Multicast Source Discovery Protocol )

 PIM-DM

 协议无关组播-密集模式(Protocol Independent Multicast-Dense Mode)

 PIM-SM

 协议无关组播-稀疏模式(Protocol Independent Multicast-Sparse Mode)

 RP

 汇集点(Rendezvous Point)

 RPF

 逆向路径转发(Reverse Path Forwarding)

 RPT

 “共享树”或“汇集树”(Rendezvous Point Tree)

 SPT

 最短路径树(Shortest Path Tree)

 组播概述

 传统的IP通信是在一个源IP主机和一个目标IP主机之间(单播)或者一个源IP主机和网络中所有的IP主机之间(广播)进行的。如果我们要将信息发送给网络中的多个而非所有IP主机,要么采用广播方式,要么由源IP主机分别向网络中的多个目标IP主机单播发送IP包。广播方式不仅会将信息发送给不需要的IP主机而浪费带宽,也可能由于路由回环引起一场严重的广播风暴;单播方式由于IP包的重复发送而白白浪费掉大量带宽,也增加了服务器的负载。可以说传统的IP通信技术不能有效地解决单点发送多点接收的问题。

 组播是指信源将信息发向所有网络节点的某个确定子集的点到多点的通信形式。IP组播是指在IP网络中数据包以尽力传送的形式发送到所有网络节点的某个确定子集,这个子集称为组播组。IP组播的基本思想是源IP主机只发送一份数据,一个或多个接收者可接收相同数据的拷贝。即允许源IP主机向网上所有IP主机的一部分(子集)发送IP分组,只有该子集内的主机(目标主机)可以接收该分组,而网络中其它IP主机不能收到该分组。这种逻辑上的子集(目标主机)就是组播组,用D类IP地址(224.0.0.0~239.255.255.255)来标识。

 IP组播技术有效地解决了单点发送多点接收、多点发送多点接收的问题,实现了IP网络中点到多点的高效数据传送,能够有效地节约网络带宽、降低网络负载。IP组播技术在实时数据传送、网络电视、多媒体会议、数据拷贝、游戏和仿真等诸多方面都有广泛的应用。

 组播技术

 组播体系结构

 组播协议分为主机-路由器之间的组成员关系协议和路由器-路由器之间的组播路由协议。组成员关系协议包括IGMP(互连网组管理协议)。组播路由协议分为域内组播路由协议及域间组播路由协议。域内组播路由协议包括PIM-SM、PIM-DM、DVMRP等协议,域间组播路由协议包括MBGP、MSDP等协议。同时为了有效抑制组播数据在链路层的扩散,引入了IGMP Snooping、HGMP等二层组播协议。

 IGMP建立并且维护路由器直联网段的组成员关系信息。域内组播路由协议根据IGMP维护的这些组播组成员关系信息,运用一定的组播路由算法构造组播分发树进行组播数据包转发。域间组播路由协议在各自治域间发布具有组播能力的路由信息以及组播源信息,以使组播数据在域间进行转发。

 组播地址

 组播IP地址

 IP组播地址用于标识一个IP组播组。IANA把D类地址空间分配给IP组播,其范围是从224.0.0.0到239.255.255.255。如图2所示(二进制表示),IP组播地址前四位均为1110。

 八位组(1)

 八位组(2)

 八位组(3)

 八位组(4)

 1110XXXX

 XXXXXXXX

 XXXXXXXX

 XXXXXXXX

 D类IP地址格式

 组播地址划分

 如图2所示,224.0.0.0保留不做分配。IANA预留224.0.0.1到224.0.0.255的组播地址,为路由协议以及其他低级拓扑查找及维护协议使用。该范围地址属于局部范畴,不论生存时间字段(TTL)值是多少,都不会被IP路由器转发。239.0.0.0到239.255.255.255被用作本地组播管理地址。其余组播地址作为用户组播地址。当IP层收到组播数据报文时,根据组播转发表进行转发。

 组播地址划分

 组播地址映射

 如图3所示,以太网和FDDI的MAC地址01:00:5E:00:00:00到01:00:5E:7F:FF:FF用于将三层IP组播地址映射为二层地址,即IP组播地址中的低23位放入IEEE MAC地址的低23位。IP组播地址有28位地址空间,但只有23位被映射到IEEE MAC地址,这样会有32个IP组播地址映射到同一MAC地址上。

 组播地址映射

 组管理协议——IGMP(Internet Group Management Protocol)

 IGMP协议运行于主机与和主机直接相连的组播路由器之间,主机通过此协议告诉本地路由器希望加入并接受某个特定组播组的信息,同时路由器通过此协议周期性地查询局域网内某个已知组的成员是否处于活动状态(即该网段是否仍有属于某个组播组的成员),实现所连网络组成员关系的收集与维护。

 IGMP有三个版本,IGMPv1由RFC1112定义,目前通用的是IGMPv2,由RFC2236定义。IGMPv3目前仍然是一个草案。IGMPv1中定义了基本的组成员查询和报告过程,IGMPv2在此基础上添加了组成员快速离开的机制,IGMPv3中增加的主要功能是成员可以指定接收或指定不接收某些组播源的报文。这里着重介绍IGMPv2协议的功能。

 IGMPv2通过查询器选举机制为所连网段选举唯一的查询器。查询器周期性的发送普遍组查询消息进行成员关系查询;主机发送报告消息来应答查询。当要加入组播组时,主机不必等待查询消息,主动发送报告消息。当要离开组播组时,主机发送离开组消息;收到离开组消息后,查询器发送特定组查询消息来确定是否所有组成员都已离开。

 另外,对于作为组成员的路由器而言,该路由器的行为和普通的主机一样,它响应其它路由器的查询。通常本协议中,“接口”指在一个所连网络上的主接口,若一个路由器连在同一个网络上的接口有多个,则只需要在其中一个接口上运行此协议即可。另一方面,对主机而言,则需要在有组成员的所有的接口上都运行此协议。

 通过上述IGMP机制,在组播路由器里建立起一张表,其中包含路由器的各个端口以及在端口所对应的子网上都有哪些组的成员。当路由器接收到某个组G的数据报文后,只向那些有G的成员的端口上转发数据报文。至于数据报文在路由器之间如何转发则由路由协议决定,IGMP协议并不负责。

 二层交换环境中组管理的实现

 IGMP组播成员管理机制是针对第三层设计的,在第三层,路由器可以对组播报文的转发进行控制,只要进行适当的端口配置和对TTL值的检测就可以了。但是在很多情况下,组播报文要不可避免地经过一些第二层交换设备,尤其是在局域网环境里。如果不对第二层设备进行相应的配置,则组播报文就会转发给第二层交换设备的所有端口,显然这会浪费大量的资源。IGMP Snooping可以解决这个问题,不过IGMP Snooping会降低二层交换设备的处理能力。为了有效抑制组播报文在二层广播,华为公司提出了HGMP协议。

 IGMP Snooping(IGMP监听)

 IGMP监听的工作原理如下:

 主机发出IGMP成员报告消息,这个消息是给路由器的;在IGMP成员报告经过交换机时,交换机对这个消息进行监听并记录下来,形成组成员和端口的对应关系;

 交换机在收到组播数据报文时,根据组成员和端口的对应关系,仅向具有组成员的端口转发组播报文。

 这个原理看似简单,但实现起来相当复杂。首先,要求交换机具有提取第三层信息的功能;其次,要求交换机对所有的组播报文进行监听和解读,这会产生很多的无效工作;此外,监听和解读工作会占用大量的CPU处理时间。

 IGMP最原始的设计是在共享介质(如Ethernet)上运行的。当用二层交换机搭建一个局域网时,许多的厂家在交换机中内嵌IGMP SNOOPING,以避免IP组播报文在所有端口泛滥。当前在局域网中,针对IPv4组播最好的经验是用IGMP Snooping来避免不必要的IPv4组播泛滥。

 HGMP(华为组管理协议)

 HGMP是华为公司为有效抑制组播报文在二层广播而提出来的,其工作原理如下:

 主机发出IGMP成员报告消息

 路由器收到IGMP报告消息后,向交换机发送HGMP消息,将IGMP组成员信息通知交换机;交换机据此维护组成员和端口的对应关系。当收到组播数据报文时,交换机仅向需要组播的端口发送。

 由于路由器具有三层信息的处理能力,所以实现效率很高;二层交换机不再需要提取第三层信息的功能,也不需要对所有的组播报文进行监听和解读,避免了很多的无效工作,因此,交换机的处理能力不受影响。

 GARP组播注册协议--GMRP

 GARP 组播注册协议(GMRP)是个通用属性注册协议的应用,提供与IGMP Snooping类似功能的组播泛滥抑制功能。GMRP与GARP是IEEE定义的工业标准协议。

 GMRP软件部件运行在交换机与主机上。在主机上GMRP同IGMP一起使用。交换机接收来自于主机的二层的GMRP与3层的IGMP流量。交换机用收到的GMRP流量在2层上限制主机所在VLAN的组播。

 当主机想加入一个组播组时,发送IGMP Join的消息,同时也发送GMRP join的消息。

 接收到GMRP jion消息,交换机接收到此消息的接口到合适的组播组中。交换机传播次GMRP join消息到此VLAN的其他所有主机,通常,其中有一个主机是组播源。当源发送组播报文到此组时,交换机转发组播报文到接收到GMRP Join消息的端口。

 交换机周期性发送GMRP的查询。如果主机想继续保持在组播组中,就响应查询。在这种情况下,交换机不作任何操作。如果主机不希望在组播组中,则发送离开消息或者不响应周期性的查询。如果交换机接收到离开消息或者在设定的时间内没有收到响应,交换机将端口从组播组中删除。

 注意,在所有情况下,能用IGMP Snooping来限制二层的组播,而不需要在主机上安装配置软件。GMRP需要主机的软件支持。

 HMVR(Huawei Multicast Vlan Register)

 HMVR适用于使用VLAN对用户进行隔离的二层网络,解决在二层网络中多个VLAN,组播流量多次复制问题,高效地用网络的带宽。

 一般情况下,当二层网络中多个VLAN的用户都加入某个组播组时,这个组播组的流量在此网络中传送将有多份相同的组播流量,极大地浪费网络带宽。

 HMVR允许端口下的用户加入/退出组播VLAN中的组播流量。允许在不同VLAN里的用户共享一个组播VLAN。HMVR提供在MVLAN内不断发送组播流量的能力,但为了带宽与安全,隔离来自用户的VLAN的流量。

 HMVR假定用户端口通过IGMP join/leave消息加入/离开这些组播流量。HMVR在IGMP snooping的基础上操作,但这两个特性是相互独立的。一个激活/去激活不影响另一个的行为。如果IGMP SNOOPING与HMVR同时激活,HMVR仅影响来自HMVR配置的组播组的加入/离开消息(配置一些组播组由HMVR来管理)。从其他组播组来的加入/离开由IGMP snooping管理。

 启动HMVR功能,交换机执行标准的IGMP snooping。IGMP的报文被送至CPU,但组播数据报文不送到CPU。交换机的CPU确定在转发表中的HMVR的IP组播流量和它们相关的MAC地址,截取IGMP消息,修改转发表以包含或去除作为组播流量接收者的用户。HMVR允许组播路由器正常操作,因为交换机发送IGMP加入消息给路由器,仅当路由器从接口接收到一个加入组的消息时,路由器才转发特定组的组播流量到此接口。对于HMVR的组播控制和数据流量,作为组播VLAN的成员用户端口,发送在HMVR组内的IGMP报告消息从组播VLAN发送。

 HMVR的处理流程:

 1: 首先,在末端交换机上,配置MVLAN,以及MVLAN内支持的组播组。

 2: 当接收者发送IGMP join到交换机,并匹配交换机中MVLAN的组播组中的一个,则交换机的CPU修改硬件地址表,以包含这个接收者的端口和VLAN,作为组播流量的转发的出口。并向上级交换机,从MVLAN发送此jion消息,而不是用户所在的Vlan,直到路由器为止。

 3: 当交换机从MVLAN接收到组播流量时,发送到相应的出口去。

 HMVR消除了在每个VLAN内复制组播流量的必要。组播流量仅在MVLAN传送一次。

 RGMP-路由器端口组管理协议

 路由器组管理协议(Router-port Group Management Protocol)是管理VLAN内路由器加入组播组的协议。按照通常的VLAN内组播实现,组播流在VLAN内路由端口上是广播的,从而增加了网络和下游路由器的负担。

 如图所示组网应用:

 RGMP在组网中的应用

 在这种组网中,RGMP就能抑制组播流不会在VLAN内所有连接路由器的端口上扩散。从而避免不必要的组播流扩散到下游路由器,减轻网络和下游路由器的负担。

 RGMP工作原理如下:

 路由器希望加入组时,周期性的向以太网交换机发出RGMP Join消息;交换机根据收到的Join消息形成和维护组成员和端口的对应关系。交换机收到组播数据报文时,根据组成员和端口的对应关系,仅向具有组成员的端口转发组播数据报文。

 当路由器离开组时,向交换机发出RGMP Leave消息;交换机根据Leave消息取消组成员与端口的对应关系,停止向该端口转发组播数据报文。

 路由器还可以向交换机发出RGMP Bye消息,来恢复接收所有的组播数据报文。

 RGMP虽然只能与具有明确加入/离开过程的组播路由协议如:PIM-SM一起配合运行。但RGMP却是当前解决组播流在路由器端口上扩散的最简单、最有效的方法。

 域内组播路由协议

 与单播路由一样,组播路由也分为域内和域间两大类。域内组播路由目前已经讨论的相当成熟,在众多的域内路由协议中,DVMRP(距离向量组播路由协议)、PIM-DM(密集模式协议无关组播)和PIM-SM(稀疏模式协议无关组播)是目前应用最多的协议。

 DVMRP(Distance Vector Multicast Routing Protocol)

 DVMRP是第一个在MBONE上得到普遍使用的组播路由协议,它在RIP协议的基础上扩充了支持组播的功能,是一个密集模式协议。DVMRP协议首先通过发送探测消息来进行邻居发现,之后通过路由交换来进行单播寻径和确定上下游依赖关系。

 DVMRP采用逆向路径组播(RPM)算法进行组播转发。当组播源第一次发送组播报文时,使用截断逆向路径广播算法沿着源的组播分发树向下转发组播报文。当叶子路由器不再需要组播数据包时,它朝着组播源发送剪枝消息,对组播分发树进行剪枝,借此来去除不必要的通信量。上游路由器收到剪枝消息后将收到此消息的接口置为剪枝状态,停止转发数据。剪枝状态关联着超时定时器,当定时器超时时,剪枝状态又重新变为转发状态,组播数据得以再次沿着这些分支流下。另外,当剪枝区域内出现了组播组成员时,为了减少反应时间,下游不必等待上游剪枝状态超时,而是主动向上游发送嫁接报文,以使剪枝状态变为转发状态。可见,DVMRP是由数据触发驱动,建立组播路由表,而路由树的建立过程可以概括为“广播与剪枝”(Broadcast and prune)。在转发特点上为被动接受,主动退出。

 另外,在多路访问网络中,当有两个或多个的组播路由器时,网络上可能会重复转发包。为了防止此现象出现,在多路访问网络上,DVMRP为每个源选择了一个唯一的转发器。

 PIM-DM(Protocol Independent Multicast – Dense Mode)

 在PIM-DM域中,运行PIM-DM协议的路由器周期性的发送Hello消息,用以发现邻接的PIM路由器,进行叶子网络、叶子路由器的判断,并且负责在多路访问网络中进行指定路由器(DR)的选举。

 PIM-DM协议为密集模式协议,缺省认为当组播源开始发送组播数据时,域内所有的网络节点都需要接收该数据。因而,PIM-DM采用扩散-剪枝的方式进行组播数据包的转发。组播源开始发送数据时,沿路路由器向除朝着源的RPF接口之外的所有接口转发组播数据包。这样,PIM-DM域中所有网络节点都会收到这些组播数据包。为了完成组播转发,沿路的路由器需要为组G和它的源S创建相应的组播路由项(S,G)。

 (S,G)路由项包括组播源地址、组播组地址、入接口、出接口列表、定时器和标志等。

 如果网络中某区域没有组播组成员,PIM-DM协议会发送剪枝消息,将通往该区域的转发接口剪枝,并且建立剪枝状态。剪枝状态对应着超时定时器。当定时器超时时,剪枝状态又重新变为转发状态,组播数据得以再次沿着这些分支流下。另外,剪枝状态包含组播源和组播组的信息。当剪枝区域内出现了组播组成员时,为了减少反应时间,协议不必等待上游剪枝状态超时,而是主动向上游发送嫁接报文,以使剪枝状态变为转发状态。

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

 PIM-SM(Protocol Independent Multicast – Sparse Mode)

 在PIM-SM域中,运行PIM-SM协议的路由器周期性的发送Hello消息,用以发现邻接的PIM路由器,并且负责在多路访问网络中进行指定路由器(DR)的选举。这里,DR负责为其直连组成员朝着组播分发树根节点的方向发送“加入/剪枝”消息,或是将直连组播源的数据发向组播分发树。

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

 当DR具有组G的活动成员时,则向着组G的RP方向逐跳组播加入消息用以加入共享树。当本次加入沿着树上行进行时,沿途的路由器建立组播转发状态,以使组播数据可以沿着树下行转发。这些状态被称为组播路由项,简称路由项。路由项可以包括下列字段:源地址、组地址、组播数据包的入接口,组播数据包的出接口列表、定时器、标志位等。当不再需要组播数据时,DR向着组G的RP逐跳组播剪枝消息用以剪枝共享树。当本次剪枝沿着树上行进行时,沿途的路由器适当的更新它的路由项,例如适当删除出接口等操作。分发树上的路由器要向着这个组的RP周期性地发送适当的加入/剪枝消息,用以维护组播分发树状态。

 源主机向组发送组播数据时,源的数据被封装在注册消息内,并由其DR 单播至RP。RP再将源的解封装数据包沿着共享树转发到各个组成员。之后,RP 可以朝着源方向发送源特定的加入/剪枝消息,用以加入此源的最短路径树。这样源的数据包将沿着其最短路径树不加封装地发送到RP。

 当第一个组播数据沿此树到达时,RP向源的DR发送注册-停止消息,以使DR停止注册封装过程。此后,这个源的组播数据不再注册封装,而是先沿着源的最短路径树发送到RP,再由RP 将其沿着共享树转发到各个组成员。

 若达到一定的数据传送速率,具有本地接收者的路由器也可以发送显式的加入消息来加入源的最短路径树,并对以RP为中心的共享树进行适当的更新,例如删除相应的出接口等操作。

 PIM-SM中还涉及到其根节点RP的选择机制。PIM-SM域内配置了一个或多个候选自举路由器(Candidate-BSR)。应用一定的规则从中选出自举路由器(BSR)。PIM-SM域中还配置了候选 RP路由器(Candidate-RP),这些候选 RP将包含了它们地址及可以服务的组播组等信息的包单播至自举路由器。BSR 定期生成包括一系列候选 RP以及相应的组地址的“自举”消息。“自举”消息在整个域中逐跳发送。路由器接收并保存这些“自举”消息。若 DR 从直连主机收到了某组的成员关系报告后,如果它没有这个组的路由项,DR 将使用一个hash算法将组地址映射至一个可以为该组服务的候选 RP。然后 DR 将朝RP方向逐跳组播“加入/剪枝”消息。若 DR从直连主机收到组播数据包,如果它没有这个组的路由项,DR 将使用hash算法将组地址映射至一个可以为该组服务的候选 RP。然后 DR将组播数据封装在注册消息中单播到RP。

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

 域间组播路由协议

 域间组播目前仍然处于一个研究阶段,目前比较成型的解决方案是下面三个协议的组合:

 MBGP(组播边缘网关协议),用于在自治域间交换组播路由信息;

 MSDP(组播信源发现协议),用于在ISP之间交换组播信源信息;

 PIM-SM,用做域内的组播路由协议。

 由于PIM-SM已经在前文介绍过,因此这一部分中着重介绍MBGP和MSDP,以及这种方案的工作过程。

 MBGP(MultiProtocol Border Gateway Protocol)

 域间路由的首要问题是路由信息(或者说可达信息)如何在域间传递,由于不同的AS可能属于不同的运营商,因此除了距离信息外,域间路由信息必须包含运营商的策略,这是与域内路由信息的不同之处。目前使用最多的域间单播路由协议是BGP-4。为了实现域间组播路由信息的传递,必须对BGP进行改动。因为组播的网络拓扑和单播拓扑有可能不同,这里既有物理方面的原因,也有策略方面的原因。网络中的一些路由器可能只支持单播不支持组播,也可能按照策略配置不转发组播分组。所以为了构造域间组播路由树,除了要知道单播路由信息外,还要知道网络中哪些部分是支持组播的,即组播的网络拓扑情况。此外,为了实现方便,要求协议建立在通用的、已有的单播模型基础之上。简而言之,域间的组播路由信息交换协议应该满足下面的要求:

 ·应该能对单播和组播拓扑进行区分;

 ·应该有一套稳定的对等和策略控制方法。

 BGP已经满足后一个条件,而且已经证明是一个有效的、稳定的单播域间路由协议,因此合理的解决方案是对BGP协议进行增强和扩展,而不是构建一套全新的协议。在RFC2858中规定了对BGP进行多协议扩展的方法,扩展后的BGP协议(MBGP,也写作BGP-4+)不仅能携带IPv4单播路由信息,也能携带其它网络层协议(如组播、IPv6等)的路由信息,携带组播路由信息只是其中一个扩展功能。

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

 MBGP对BGP-4进行的改动是,MBGP在UPDATE报文里添加了两个属性:MP_REACH_NLRI(多协议可达NLRI)和MP_UNREACH_NLRI(多协议不可达NLRI)。它们都是可选非过渡(optional non-transitive)属性,即不支持MBGP的路由器可以忽略这些属性里的信息,而且不对这些属性进行转发。下面简单地介绍这两个属性。

 MP_REACH_NLRI属性

 MP_REACH_NLRI属性用一个<AFI,NHI,NLRI>的三元组来表示。其中:

 ·AFI(Address Family Information)是地址族信息,其中又包括地址族标识AFI和补充地址族标识SAFI,前者表明所使用的通信协议以及NHI中的地址类型,协议标识方法由RFC1700规定,如1代表IPv4地址,2代表IPv6地址;SAFI是对NLRI中信息的补充,在RFC2858中定义了三个值:1表示NLRI中的信息是单播模式,2表示NLRI中的信息是组播模式,3则表示NLRI域中的信息即可用于单播也可用于组播。

 ·NHI(Next Hop Idetifier)是下一跳信息,其中包括下一跳的网络地址。通过下一跳网络地址可以到达NLRI中指定的所有目的地。

 ·NLRI(Network Layer Reachability Information)是网络层可达性信息,其中的目的地址可以通过NHI中的下一跳地址到达。

 MP_UNREACH_NLRI属性

 MP_UNREACH_NLRI属性用于取消一条或多条现有路由,用<AFI,WR>二元组表示。其中:

 AFI的含义和结构与MP_REACH_NLRI属性中的AFI相同;

 WR(Withdrawn Route)是取消的路由,其中包括一个或多个NLRI,NLRI里的内容是不可达的目的地址。

 可见,通过引入SAFI,MBGP既可以支持单播和又可以支持组播,在网络中构建不同的单播和组播拓扑结构,而且能分别支持不同的策略。所以针对某一个策略,MBGP构造出来的域间单播和组播转发路由可能是不同的。MBGP兼容BGP-4,不支持MBGP的路由器忽略这些属性即可。

 MSDP(Multicast Source Discovery Protocol)

 对于ISP来说,不希望依靠竞争对手的RP转发组播流量,但同时又要求无论信源的RP在哪里,都能从信源获取信息发给自己内部的成员。MSDP就是为了解决这些问题而提出的。在MSDP里使用的是域间信源树而不是公共树,MSDP要求域内组播路由协议必须是PIM-SM。

 在MSDP中,某个域内的RP使用TCP连接与其它域内的RP建立MSDP对等关系,用这些对等关系交换信源信息。如果本地的接收者要接收其它域的信源发出的分组,则使用与PIM-SM中同样的方法构造信源树。下面是PIM-SM/MSDP/MBGP方案的工作过程,参见图4所示。

 0、AS之间建立MBGP对等、RP之间建立MSDP对等;

 1、某个域(设为AS2)里的信源开始发出分组;

 2、信源的指定PIM-SM路由器(一般是在本地距信源最近的PIM-SM路由器)将信源发出的数据封装在一个Register报文里,发给域内的RP;

 3、RP将报文解封装,沿域内的共享树向下转发给域内的所有成员,域内成员可以选择是否切换到信源树上。从步骤1到3都是PIM-SM的典型工作过程,在此不再解释;

 4、同时,RP收到报文后,生成一个SA(Source Active,信源有效)报文,发送给MSDP对等方(AS1和AS3内的RP)。每个SA报文中包含信源的IP地址、组播组地址和生成报文的RP的地址。只要信源在发送数据,RP就周期性地发送SA报文;

 5、如果在对等方RP所在的域(图中为AS3)里有接收者,则对等方RP在把报文向收端发送的同时,直接向信源发送PIM-SM Join报文,注意不是向信源所在的域(AS2)的RP发送报文;

 6、反向转发路径建立起来,源端发出的数据直接发送到AS3的RP上,RP开始转发数据;

 PIM-SM/MSDP/MBGP方案的工作过程

 7、8、AS3中的组成员就可以选择是否切换到SPT上,因为此时组成员已经知道信源的IP地址信息。这个过程与PIM-SM中的一样。

 通过上面的介绍,可以看出,PIM-SM/MBGP/MSDP实际上是PIM-SM协议在域间环境下的扩展。如果把整个PIM-SM/MBGP/MSDP机制看作PIM-SM,则所有域的RP的集合就是PIM-SM协议中的“RP”,而PIM-SM/MBGP/MSDP无非是增加了两个过程:

 1、信源信息在RP集合中的泛滥,以实现信源和成员在“RP”点的会合;

 2、域间组播路由信息的传递,目的是保证组播分组在域间的顺利转发。在上述过程中,AS3中的RP和收端向AS2中的远端建立反向路径的过程中都需要用到MBGP传递的组播拓扑信息。

 组播业务组网方案

 针对目前网络的特点,结合组播技术和运营管理的需求,提出了组播业务的解决方案。

 网络结构

 单域网络组播组网

 如下图所示,企业网规模较小时,由一个自治域组成。为了支持组播,仅需在网络中运行PIM-SM协议即可,网络结构简单。为了增强PIM-SM中RP节点的可靠性,以及对网络中的组播流量合理分布,可在网络中选取若干RP点,运行MSDP协议,达到冗余备份,负荷分担的目的。这种网络结构适合当前大多数企业网。

 单域网络组播组网

 多域网络组播组网

 如下图所示,当企业网规模非常大时,将网络分成若干个自治域。在每个自治域内运行PIM-SM,域间支持MBGP、MSDP。也就是说域内的组播路由和组播源信息收集工作由PIM-SM完成,域间由MBGP来传播具有组播能力的路由信息,MSDP传播组播源信息,PIM-SM负责组播路由。这种方案(MBGP+MSDP)是域间组播组网较成熟,并已广泛实施的方案。

 多域网络组播组网

 组播业务管理—受控组播

 IP组播技术实现了IP网络中点到多点的高效数据传送。与单播方式相比,它能够有效地节约网络带宽、降低网络负载;与广播方式相比,组播避免了在网络上形成路由回环而导致广播风暴;同时,对于服务器来说,一个组播流只需发送一份数据拷贝,大大的降低了对服务器的性能要求。因此,它对于新媒体业务的开展具有重要的意义。

 但是,目前组播业务在运营方面还存在用户管理、业务管理等方面的问题。

 首先,组播协议中没有提供用户认证支持,用户可以随意加入一个组播组,并可以任意离开。组播源无法知道用户何时加入,何时退出,无法统计出某个时间网络上共有多少个用户在接收组播流量。组播源也缺少有效的手段有效控制组播信息在网络上传送的方向和范围。

 另外,组播协议在安全上也没有提供可靠的保证。在网络上的任何用户都可以作为组播源发送组播流量,在组播系列协议中缺乏对组播源可靠的控制,同样也无法对用户进行有效控制。在一个支持组播的网络中,存在组播节目冲突问题,也存在非法组播源传播的问题。

 因此,尽管组播技术具备开展新业务的许多优势,并且协议日趋完善,但开展组播业务还面临的问题就是要解决组播用户认证、组播信源安全性和组播流量扩散安全性等问题。结合目前网络的特点,组播技术和应用的实际情况,华为公司在完全符合标准组播协议的基础上,提供受控组播技术(包括组播信源管理、组播用户管理和组播业务管理),有效的解决了当前组播业务开展所遇到的各种问题。

 组播信源管理

 信源管理是指在组播流进入骨干网络前,组播业务控制设备应负责区分合法和非法媒体服务器,转发合法的组播信息流,阻断非法的组播信息流。

 在网络规模比较大的情况下,手工配置信源管理信息的工作将变得非常复杂,阻碍网络的发展。为了解决上述问题,华为公司采用QUIDWAY业务管理平台实现组播信源管理。

 采用QUIDWAY业务管理方式,可以很容易完成信源管理配置,增加和删除信源控制表项,保证整个网络表项的一致性。

 实现了信源的控制后,弥补了由于组播协议自身缺点带来的非法媒体服务器对网络带宽的占用,保证了骨干网络的安全和稳定性。

 组播信源管理

 组播用户管理

 组播业务管理另外一个方面是用户管理。

 标准组播协议没有考虑用户的管理,在很多组播业务运营(包括国内外目前正在运行或测试的组播业务)中,用户管理仍然没有得到很好的解决。组播业务作为一项增值业务,对用户进行控制管理显然是必不可少的。

 整体上讲,组播业务的用户管理可以分为两大类:一、用户已经收到组播数据,但必须通过认证后才能“看到”相应的组播内容;二、用户必须先通过认证才能接收和看到相应的组播内容。

 管理方式一的实现对中间设备的要求比较低,中间设备只需支持标准的组播协议,保证用户收到组播数据,其他的事都由客户端软件完成。基于软件模式的组播用户控制实现上比较简单,虽然可以控制到具体用户,但是以网络带宽被占用为代价的(没有权限的用户也会收到组播流量),也不利于组播的统一管理。

 管理方式二目前可以控制到二层交换机的端口或VLAN,通过802.1X协议实现。二层设备首先根据802.1X对用户的组播权限进行验证。如果验证通过,则二层设备接收用户的IGMP加入/离开的信息,并建立相应的转发表项,允许用户接收组播流量。否则,丢弃用户的IGMP报文,禁止用户接收组播流量。

 并且认证通过后,QUIDWAY业务管理平台可以为该用户建立一个组播访问规则表项,用户只能访问授权的组播服务。当用户加入某个组播组,二层设备首先到QUIDWAY业务管理平台进行用户的业务认证。如果认证通过,二层设备生成到用户的组播通道;否则禁止用户加入。

 二层设备、QUIDWAY业务管理系统结合起来,可以在全网范围内进行用户认证、授权。

 组播用户管理

 安全控制

 在标准的组播中,接受者可以加入任意的组播组,也即组播树的分支是不可控,信源不知道组播树的范围与方向,安全性较低。为了实现对一些较重要的信息的保护,需要控制其扩散范围的,华为的静态组播树满足此需求。实现静态组播树的配置,满足高价值用户的安全需求。静态组播树就是组播树事先配置,控制组播树的范围与方向,不接收其他动态的组播成员的加入,这样能使组播信源的报文在规定的范围内扩散。

 静态组播树

 展望

 随着宽带化成为建设信息高速网络架构的重点,许多企业网都实现了宽带化,架构了以IP为基础的无阻塞数据承载平台。

 网络的宽带化不仅是为了让人们在宽阔的信息高速公路上更顺畅地进行交流,而且人们越来越希望宽带网络带来更直观更丰富的多媒体信息表现。组播技术为多媒体业务的开展提供了传送技术的基础。组播的域内技术已基本成熟,域间技术还在不断完善。

 基于组播技术可以开展包括流媒体、视讯在内的各种宽带增值业务。业务的顺利开展依赖于有效的业务管理、监控。作为组播国标制定的主要承担单位,华为公司将努力推动组播技术的发展,并结合我们在业务运营管理方面的理解和经验积累,提供不断完善的可运营可管理的受控组播解决方案。

推荐访问:白皮书 白皮书 局域网 组播
上一篇:教师党员2019年主题教育学习新疆若干历史问题等3个白皮书学习心得体会研讨交流发言2020
下一篇:中软睿剑统一认证管理系统产品白皮书范

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有