组播技术白皮书.docx
- 文档编号:9917436
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:23
- 大小:160.54KB
组播技术白皮书.docx
《组播技术白皮书.docx》由会员分享,可在线阅读,更多相关《组播技术白皮书.docx(23页珍藏版)》请在冰豆网上搜索。
组播技术白皮书
组播技术白皮书
摘要
IP组播技术实现了IP网络中点到多点的高效数据传送因为组播能够有效地节约网络带宽降低
网络负载所以在实时数据传送多媒体会议数据拷贝游戏和仿真等诸多方面都有广泛的应用本文
介绍了组播的基本概念和目前通用的组播协议以及组播组网的基本方案并针对组播业务需求和运营过
程中面临的问题提出了电信级的可运营可管理的受控组播解决方案包括信源管理用户管理和
组播安全控制等方面的内容
关键词
组播运营管理受控组播IGMPDVMRPPIM-SMPIM-DMMBGPMSDP
1组播概述
1.1组播技术的产生原因
传统的IP通信有两种方式第一种是在一台源IP主机和一台目的IP主机之间进行即单播
unicast第二种是在一台源IP主机和网络中所有其它的IP主机之间进行即广播
broadcast如果要将信息发送给网络中的多个主机而非所有主机则要么采用广播方式要么由源
主机分别向网络中的多台目标主机以单播方式发送IP包采用广播方式实现时不仅会将信息发送给不
需要的主机而浪费带宽也可能由于路由回环引起严重的广播风暴采用单播方式实现时由于IP包的
重复发送会白白浪费掉大量带宽也增加了服务器的负载所以传统的单播和广播通信方式不能有效地
解决单点发送多点接收的问题
IP组播是指在IP网络中将数据包以尽力传送best-effort的形式发送到网络中的某个确定节
点子集这个子集称为组播组multicastgroupIP组播的基本思想是源主机只发送一份数据
这份数据中的目的地址为组播组地址组播组中的所有接收者都可接收到同样的数据拷贝并且只有组播
组内的主机目标主机可以接收该数据网络中其它主机不能收到组播组用D类IP地址
224.0.0.0239.255.255.255来标识
1.2组播技术的市场前景
IP组播技术有效地解决了单点发送多点接收的问题实现了IP网络中点到多点的高效数据传送
能够大量节约网络带宽降低网络负载作为一种与单播和广播并列的通信方式组播的意义不仅在于
此更重要的是可以利用网络的组播特性方便地提供一些新的增值业务包括在线直播网络电视远
程教育远程医疗网络电台实时视频会议等互联网的信息服务领域
组播从1988年提出到现在已经经历了十几年的发展许多国际组织对组播的技术研究和业务开展进行了
大量的工作随着互联网建设的迅猛发展和新业务的不断推出组播也必将走向成熟尽管目前端到端的
全球组播业务还未大规模开展起来但是具备组播能力的网络数目在增加一些主要的ISP已运行域间
组播路由协议进行组播路由的交换形成组播对等体在IP网络中多媒体业务日渐增多的情况下组播
有着巨大的市场潜力组播业务也将逐渐得到推广和普及
2组播技术的基本原理
组播技术涵盖的内容相当丰富从地址分配组成员管理到组播报文转发路由建立可靠性等诸
多方面下面首先介绍组播协议体系的整体结构之后从组播地址组播成员管理组播报文转发域内
组播路由和域间组播路由等几个方面介绍有代表性的协议和机制
2.1组播协议体系结构
根据协议的作用范围组播协议分为主机-路由器之间的协议即组播成员管理协议以及路由器-路
由器之间协议主要是各种路由协议组成员关系协议包括IGMP互连网组管理协议组播路由协议
又分为域内组播路由协议及域间组播路由协议两类域内组播路由协议包括PIM-SMPIM-DMDVMRP等
协议域间组播路由协议包括MBGPMSDP等协议同时为了有效抑制组播数据在二层网络中的扩散
引入了IGMPSnooping等二层组播协议
通过IGMP和二层组播协议在路由器和交换机中建立起直联网段内的组成员关系信息具体地
说就是哪个接口下有哪个组播组的成员域内组播路由协议根据IGMP维护的这些组播组成员关系信
息运用一定的组播路由算法构造组播分发树在路由器中建立组播路由状态路由器根据这些状态进行
组播数据包转发域间组播路由协议根据网络中配置的域间组播路由策略在各自治系统AS
AutonomousSystem间发布具有组播能力的路由信息以及组播源信息使组播数据能在域间进行转发
2.2组播地址机制
2.2.1组播IP地址
IP组播地址用于标识一个IP组播组IANA把D类地址空间分配给组播使用范围从224.0.0.0
到239.255.255.255如下图所示二进制表示IP组播地址前四位均为1110
2.2.2组播地址的划分
整个IP组播地址的空间划分如下图所示
其中224.0.0.0到224.0.0.255地址范围被IANA预留地址224.0.0.0保留不做分配其它地址
供路由协议及拓扑查找和维护协议使用该范围内的地址属于局部范畴不论生存时间字段TTL值是
多少都不会被路由器转发224.0.1.0到238.255.255.255地址范围作为用户组播地址在全网范围
内有效其中2338为GLOP地址GLOP是一种自治系统之间的组播地址分配机制将AS号直接填
入组播地址的中间两个字节中每个自治系统都可以得到255个组播地址239.0.0.0到239.255.2
55.255地址范围为本地管理组播地址administrativelyscopedaddresses仅在特定的本地范围内
有效当IP层收到组播数据报文时根据组播目的地址查找组播转发表对报文进行转发
2.2.3IP组播地址到MAC地址的映射
IANA将MAC地址范围01:
00:
5E:
00:
00:
00~01:
00:
5E:
7F:
FF:
FF分配给组播使用这就要求
将28位的IP组播地址空间映射到23位的MAC地址空间中具体的映射方法是将组播地址中的低23
位放入MAC地址的低23位如下图所示
由于IP组播地址的后28位中只有23位被映射到MAC地址这样会有32个IP组播地址映
射到同一MAC地址上
2.3组播成员管理
2.3.1IGMP(InternetGroupManagementProtocol)
IGMP协议运行于主机和与主机直接相连的组播路由器之间IGMP实现的功能是双向的一方面
通过IGMP协议主机通知本地路由器希望加入并接收某个特定组播组的信息另一方面路由器通过
IGMP协议周期性地查询局域网内某个已知组的成员是否处于活动状态即该网段是否仍有属于某个组播
组的成员实现所连网络组成员关系的收集与维护通过IGMP在路由器中记录的信息是某个组播组
是否在本地有组成员而不是组播组与主机之间的对应关系
到目前为止IGMP有三个版本IGMPv1RFC1112中定义了基本的组成员查询和报告过程目前通用
的是IGMPv2由RFC2236定义在IGMPv1的基础上添加了组成员快速离开的机制IGMPv3中增加
的主要功能是成员可以指定接收或指定不接收某些组播源的报文以下着重介绍IGMPv2协议的原理
IGMPv2的原理如下图所示
当同一个网段内有多个组播路由器时IGMPv2通过查询器选举机制从中选举出唯一的查询器查询
器周期性地发送通用组查询消息进行成员关系查询主机发送报告消息来响应查询主机发送报告消息的
时间有随机性当检测到同一网段内有其它成员发送同样的消息时则抑制自己的响应报文如果有新的
主机要加入组播组不必等待查询器的查询消息而是主动发送报告消息当要离开组播组时主机发送
离开组消息收到离开组消息后查询器发送特定组查询消息来确定是否所有组成员都已离开对于作为
组成员的路由器而言其行为和普通的主机一样响应其它路由器的查询
通过上述机制在组播路由器里建立起一张表其中记录了路由器的各个接口所对应的子网上都有哪些组
的成员当路由器接收到某个组G的数据报文后只向那些有G的成员的接口上转发数据报文至于数
据报文在路由器之间如何转发则由路由协议决定不是IGMP协议的功能
2.3.2二层环境中组成员管理的实现
IGMP组播成员管理机制是针对第三层设计的在第三层路由器可以对组播报文的转发进行控制
只要进行适当的接口配置和对TTL值的检测就可以了但是在很多情况下组播报文要不可避免地经过
一些二层交换设备尤其是在局域网环境里如果不对二层设备进行相应的配置则组播报文就会转发给
二层交换设备的所有接口这显然会浪费大量的系统资源IGMP监听IGMPSnooping可以解决这个
问题
IGMP监听的工作原理如下
主机发出IGMP成员报告消息这个消息是给路由器的在IGMP成员报告经过交换机时交换机
对这个消息进行监听并记录下来形成组成员和接口的对应关系
交换机在收到组播数据报文时根据组成员和接口的对应关系仅向具有组成员的接口转发组播报文
IGMP监听可以解决二层环境中的组播报文泛滥问题但要求交换机具有提取第三层信息的功能其次
要求交换机对所有的组播报文进行监听和解读这会产生很多的无效工作此外组播报文监听和解读工
作也会占用大量的CPU处理时间
2.4组播报文转发
与单播报文的转发相比组播报文的转发相对复杂一方面组播路由类型与单播路由不同是点到
多点的一棵路由树另一方面组播报文转发的处理过程也有所不同
2.4.1组播路由的分类
组播路由可以分为两大类信源树SourceTree和共享树SharedTree信源树是指以组播
源作为树根将组播源到每一个接收者的最短路径结合起来构成的转发树由于信源树使用的是从组播源
到接收者的最短路径因此也称为最短路径树shortestpathtreeSPT对于某个组网络要为
任何一个向该组发送报文的组播源建立一棵树共享树以某个路由器作为路由树的树根该路由器称为
汇集点RendezvousPointRP将RP到所有接收者的最短路结合起来构成转发树使用共享树
时对应某个组网络中只有一棵树所有的组播源和接收者都使用这棵树来收发报文组播源先向树根
发送数据报文之后报文又向下转发到达所有的接收者
信源树的优点是能构造组播源和接收者之间的最短路径使端到端的延迟达到最小但是付出的代价
是在路由器中必须为每个组播源保存路由信息这样会占用大量的系统资源路由表的规模也比较大
共享树的最大优点是路由器中保留的状态数可以很少缺点是组播源发出的报文要先经过RP再到达接
收者经由的路径通常并非最短而且对RP的可靠性和处理能力要求很高
2.4.2组播报文转发过程
单播报文的转发过程中路由器并不关心组播源地址只关心报文中的目的地址通过目的地址决定
向哪个接口转发在组播中报文是发送给一组接收者的这些接收者用一个逻辑地址标识路由器在接
收到报文后必须根据源和目的地址确定出上游指向组播源和下游方向把报文沿着远离组播源的方
向进行转发这个过程称作RPFReversePathForwarding逆向路径转发
RPF执行过程中会用到原有的单播路由表以确定上游和下游的邻接结点只有当报文是从上游邻接结
点对应的接口称作RPF接口到达时才向下游转发RPF的作用除了可以正确地按照组播路由的配
置转发报文外还能避免由于各种原因造成的环路环路避免在组播路由中是一个非常重要的问题RPF
的主体是RPF检查路由器收到组播报文后先对报文进行RPF检查只有检查通过才转发否则丢
弃RPF检查过程如下
1路由器在单播路由表中查找组播源或RP对应的RPF接口当使用信源树时查找组播源对应
的RPF接口使用共享树时查找RP对应的RPF接口某个地址对应的RPF接口是指从路由器向该
地址发送报文时的出接口
2如果组播报文是从RPF接口接收下来的则RPF检查通过报文向下游接口转发
3否则丢弃该报文
2.5域内组播路由协议
与单播路由一样组播路由也分为域内和域间两大类域内组播路由目前已经讨论的相当成熟在众
多的域内路由协议中DVMRP距离矢量组播路由协议PIM-DM密集模式协议无关组播和PIM-SM
稀疏模式协议无关组播是目前应用最多的协议
2.5.1DVMRPDistanceVectorMulticastRoutingProtocol
DVMRP是第一个在MBONE上得到普遍使用的组播路由协议它在RIP协议的基础上扩充了支持组
播的功能DVMRP协议首先通过发送探测消息来进行邻居发现之后通过路由交换来进行单播寻径和确定
上下游依赖关系
DVMRP采用逆向路径组播RPM算法进行组播转发当组播源第一次发送组播报文时使用截断逆
向路径组播truncatedRPM算法沿着源的组播分发树向下转发组播报文当叶子路由器不再需要组播
数据包时它朝着组播源发送剪枝消息对组播分发树进行剪枝借此除不必要的通信量上游路由器收
到剪枝消息后将收到此消息的接口置为剪枝状态停止转发数据剪枝状态关联着超时定时器当定时器
超时时剪枝状态又重新变为转发状态组播数据再次沿着这些分支流下另外当剪枝区域内出现了组
播组成员时为了减少反应时间下游不必等待上游剪枝状态超时而是主动向上游发送嫁接报文以使
剪枝状态变为转发状态可见DVMRP是由数据触发驱动建立组播路由表而路由树的建立过程可以概
括为扩散与剪枝BroadcastandPrune转发特点可以概括为被动接受主动退出
另外在多路访问网络中当有两个或多个的组播路由器时网络上可能会重复转发包为了防止这
种情况出现在多路访问网络上DVMRP为每个源选择了一个唯一的转发器
2.5.2PIM-DMProtocolIndependentMulticastDenseMode
在PIM-DM域中运行PIM-DM协议的路由器周期性的发送Hello消息发现邻接的PIM路由
器进行叶子网络叶子路由器的判断并且负责在多路访问网络中选举指定路由器DR
PIM-DM协议使用下面的假设当组播源开始发送组播数据时域内所有的网络节点都需要接收数据因
此采用扩散-剪枝的方式进行组播数据包的转发组播源开始发送数据时沿途路由器向除组播源对
应的RPF接口之外的所有接口转发组播数据包这样PIM-DM域中所有网络节点都会收到这些组播数
据包为了完成组播转发沿途的路由器需要为组G和源S创建相应的组播路由项(S,G)(S,G)
路由项包括组播源地址组播组地址入接口出接口列表定时器和标志等
如果网络中某区域没有组播组成员该区域内的路由器会发送剪枝消息将通往该区域的转发接口剪
枝并且建立剪枝状态剪枝状态对应着超时定时器当定时器超时时剪枝状态又重新变为转发状态
组播数据得以再次沿着这些分支流下另外剪枝状态包含组播源和组播组的信息当剪枝区域内出现了
组播组成员时为了减少反应时间协议不必等待上游剪枝状态超时而是主动向上游发送嫁接报文以
使剪枝状态变为转发状态
2.5.3PIM-SMProtocolIndependentMulticastSparseMode
在PIM-SM域中运行PIM-SM协议的路由器周期性的发送Hello消息用以发现邻接的PIM路
由器并且负责在多路访问网络中进行DR的选举这里DR负责为与其直连的组成员向组播树根节点
的方向发送加入/剪枝消息或是将直连组播源的数据发向组播分发树
PIM-SM通过建立组播分发树来进行组播数据包的转发组播分发树分为两种以组G的RP为根
的共享树和以组播源为根的最短路径树PIM-SM通过显式的加入/剪枝机制来完成组播分发树的建立与
维护
PIM-SM中还涉及到RP的选择机制在PIM-SM域内配置了一个或多个候选自举路由器
(Candidate-BSR)使用一定的规则从中选出自举路由器(BSR)PIM-SM域中还配置有候选RP路由
器(Candidate-RP)这些候选RP将包含了它们地址及可以服务的组播组等信息的报文单播发送给自举
路由器再由BSR定期生成包括一系列候选RP以及相应的组地址的自举消息自举消息在整
个域中逐跳发送路由器接收并保存这些自举消息若DR从直连主机收到了IGMP加入报文后
如果它没有这个组的路由项将使用hash算法将组地址映射到一个候选RP然后朝RP方向逐跳组播
加入/剪枝消息若DR从直连主机收到组播数据包如果它没有这个组的路由项也将使用hash
算法将组地址映射到一个候选RP然后将组播数据封装在注册消息中单播发送到RP
在多路访问网络中PIM-SM还引入了以下机制使用断言机制选举唯一的转发者以防向同一网段重复
转发组播数据包使用加入/剪枝抑制机制减少冗余的加入/剪枝消息使用剪枝否决机制否决不应有的剪
枝行为
2.6域间组播路由协议
域间组播目前仍然处于研究和试验阶段目前比较成型的解决方案是下面三个协议的组合
MBGP组播边界网关协议用于在自治域之间交换组播路由信息MSDP组播信源发现协议用于
在ISP之间交换组播信源信息PIM-SM用作域内的组播路由协议
PIM-SM前文已经介绍这里重点介绍MBGP和MSDP以及PIM-SM/MBGP/MSDP组合方案的
工作过程
2.6.1MBGPMultiProtocolBorderGatewayProtocol
域间路由的首要问题是路由信息或者说可达信息如何在自治系统之间传递由于不同的AS可能
属于不同的运营商因此除了距离信息外域间路由信息必须包含运营商的策略这是与域内路由信息的
不同之处
目前使用最多的域间单播路由协议是BGP-4为了实现域间组播路由信息的传递必须对BGP进行
改动因为组播的网络拓扑和单播拓扑有可能不同这里既有物理方面的原因也有策略方面的原因网
络中的一些路由器可能只支持单播不支持组播也可能按照策略配置不转发组播报文为了构造域间组播
路由树除了要知道单播路由信息外还要知道网络中哪些部分是支持组播的即组播的网络拓扑情况
简而言之域间的组播路由信息交换协议应该满足下面的要求
能对单播和组播拓扑进行区分
有一套稳定的对等和策略控制方法
BGP-4已经满足后一个条件而且已经被证明是一个有效的稳定的单播域间路由协议因此合理
的解决方案是对BGP-4协议进行增强和扩展而不是构建一套全新的协议在RFC2858中规定了对
BGP进行多协议扩展的方法扩展后的BGP协议MBGP也写作BGP-4+不仅能携带IPv4单播路由
信息也能携带其它网络层协议如组播IPv6等的路由信息携带组播路由信息只是其中一个扩展
功能
有了MBGP之后单播和组播路由信息可以通过同一个进程交换但是存放在不同的路由表里由
于MBGP是BGP-4协议的一个增强版因此BGP-4所支持的常见的策略和配置方法都可以用到组播
里
2.6.2MSDPMulticastSourceDiscoveryProtocol
对于ISP来说不希望依靠竞争对手的RP转发组播流量但同时又要求无论信源的RP在哪里
都能从信源获取信息发给自己内部的成员MSDP就是为了解决这个问题而提出的在MSDP里使用的是
域间信源树而不是公共树而且要求域内组播路由协议必须是PIM-SM
在MSDP中某个域内的RP使用TCP连接与其它域内的RP建立MSDP对等关系用这些对等
关系交换信源信息如果本地的接收者要接收其它域的信源发出的报文则使用与PIM-SM中同样的方
法构造信源树
PIM-SM/MBGP/MSDP组合方案实际上是PIM-SM协议在域间环境下的扩展如果把整个PIMSM
/MBGP/MSDP组合方案机制看作PIM-SM则所有域的RP的集合就是PIM-SM协议中的
RP而PIM-SM/MBGP/MSDP无非是增加了两个过程
1信源信息在RP集合中的泛滥以实现信源和成员在RP点的会合
2域间组播路由信息的传递目的是保证组播报文在域间的顺利转发在上述过程中AS3中的
RP和收端向AS2中的远端建立逆向路径的过程中都需要用到MBGP传递的组播拓扑信息
3组播组网结构
3.1单域网络组播组网
目前PIM-SM协议是域内组播的公认标准对于由一个自治域组成的网络或者组播仅在域内进行
时仅需在网络中运行PIM-SM协议即可为了增强PIM-SM中RP节点的可靠性以及对网络中的组
播流量进行分担可在网络中选取若干RP点运行AnycastRP达到冗余备份负载分担的目的
AnycastRP的机制概括为多个RP配置一个相同的AnycastRP地址这个地址使用RP上的
一个接口通常是逻辑接口如LoopBack接口之后RP使用这个接口地址对外发布组到RP的映
射信息由于使用的是AnycastRP地址所以组成员在加入时会向拓扑距离最近的一个RP发起
在这些RP之间使用各自不同的地址建立MSDP连接利用MSDP实现信源信息在所有RP之间的同
步AnycastRP实际上是MSDP在域内的一个特殊应用
使用PIM-SM协议的单域网络组播组网如下图所示
3.2跨域组播组网
针对网络支持组播的能力不同跨域组播组网可以采用下面三个方式
3.2.1全网支持组播组网PIM-SM/MBGP/MSDP方案
如下图所示在全网都运行PIM-SM域间运行MBGPMSDP也就是说域内的组播路由和组播源
信息收集工作由PIM-SM完成域间由MBGP来传播具有组播拓扑信息MSDP传播组播源信息这种方
案要求所有的自治域都支持PIM-SMMBGP和MSDPPIM-SM/MBGP/MSDP方案是域间组播组网较成
熟的方案UUNETSprint等的跨域组播都使用这种方式组网
在PIM-SM/MBGP/MSDP组合方案中自治域边界路由器之间配置外部MBGP对等RP之间配置
外部MSDP对等自治域内部路由器之间根据需要配置内部MBGP对等内部RP之间配置内部MSDP
对等运行AnycastRP所有的自治域都运行PIM-SM协议
3.2.2骨干不支持组播组网PIM-SM/隧道MBGP&MSDP
如下图所示在骨干网不支持或不运行组播的情况下在城域网内部运行PIM-SM各个城域网的
RP节点与其他城域网RP节点之间通过隧道构成虚拟网络在此虚拟网络中运行PIM-SMMBGP
MSDP这种方案的优势是不要求骨干支持PIM-SMMBGPMSDP组播流量对骨干网络来说是透明的可
以避免组播报文转发对设备性能造成的影响缺点是要求RP节点之间既要支持PI
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 技术 白皮书