组播原理与配置.docx
《组播原理与配置.docx》由会员分享,可在线阅读,更多相关《组播原理与配置.docx(27页珍藏版)》请在冰豆网上搜索。
![组播原理与配置.docx](https://file1.bdocx.com/fileroot1/2023-2/26/1598a04e-cd93-436f-a66e-68aaa8e42711/1598a04e-cd93-436f-a66e-68aaa8e427111.gif)
组播原理与配置
组播原理与配置
编者:
周洪强
审核:
中兴通讯固网深圳用服部
修改记录
文档
编号
版本号
拟制人/修改人
审核人
拟制/修改
日期
更改理由
主要更改内容
(写要点即可)
目录
第1章组播概述1
1.1关键字1
1.2组播技术的产生原因1
1.3组播技术的市场前景2
第2章组播基本原理3
2.1组播协议体系3
2.2组播地址3
2.2.1组播IP地址3
2.2.2组播地址的划分4
2.2.3IP组播地址到MAC地址的映射5
2.3组播成员管理5
2.3.1IGMP5
2.3.2二层环境中组成员管理的实现6
2.4组播报文转发7
2.4.1组播路由的分类7
2.4.2组播报文转发过程8
2.5域内组播路由协议9
2.5.1DVMRP9
2.5.2PIM-DM10
2.5.3PIM-SM11
2.6域间组播路由协议13
2.6.1gdhgfh15
2.7hgfhgf15
2.7.1gfdgfdfg15
2.7.2gfdgdfgd15
2.8gfdgfdgdf15
第3章〈粘贴原文第3章〉16
第4章〈粘贴原文第4章〉17
第5章〈粘贴原文第5章〉19
第6章〈粘贴原文第6章〉20
第一章组播概述
摘要
IP组播技术实现了IP网络中点到多点的高效数据传送因为组播能够有效地节约网络带宽降低网络负载所以在实时数据传送多媒体会议数据拷贝游戏和仿真等诸多方面都有广泛的应用本文介绍了组播的基本概念和目前通用的组播协议以及组播组网的基本方案并针对组播业务需求和运营过程中面临的问题提出了电信级的可运营可管理的“受控组播”解决方案包括信源管理用户管理和组播安全控制等方面的内容
一.1关键字
组播
运营管理
可控组播
IGMP
DVMRP
PIM-SM
PIM-DM
MBGP
MSDP
一.2缩略语
AFIAddress-FamilyIdentifier地址族标识
ASAutonomousSystem自治系统
BGPBorderGatewayProtocol边界网关协议
BSRBootStrapRouter自举路由器
DRDesignatedRouter指定路由器
DVMRPDistanceVectorMulticastRoutingProtocol距离矢量组播路由协议
IANAInternetAssignedNumbersAuthorityInternet地址分配机构
IETFInternetEngineeringTaskForceInternet工程任务组
IGMPInternetGroupManagementProtocolInternet组管理协议
IPInternetProtocol互连网协议
ISPInternetServiceProvoderInternet服务提供商
MACMediaAccessControl介质访问控制
MBGPMultiprotocolBorderGatewayProtocol多协议边界网关协议
MBONEMulticastbackBONE组播主干网
MSDPMulticastSourceDiscoveryProtocol组播源发现协议
NLRINetworkLayerReachableInformation网络层可达信息
PIMProtocolIndependentMulticast协议无关组播
PIM-DMProtocolIndependentMulticast-DenseMode密集模式协议无关组播
PIM-SMProtocolIndependentMulticast-SparseMode稀疏模式协议无关组播
RIPRoutingInformationProtocol路由信息协议
RPRendezvousPoint汇集点
RPFReversePathForwarding逆向路径转发
RPMReversePathMulticast逆向路径组播
SASourceActive“源有效”报文
SAFISubsequentAFI子地址族标识
SPTShortestPathTree最短路径树
TTLTimetoLive生存时间
一.3组播技术的产生原因
传统的IP通信有两种方式第一种是在一台源IP主机和一台目的IP主机之间进行即单播unicast第二种是在一台源IP主机和网络中所有其它的IP主机之间进行即广播broadcast如果要将信息发送给网络中的多个主机而非所有主机则要么采用广播方式要么由源主机分别向网络中的多台目标主机以单播方式发送IP包采用广播方式实现时不仅会将信息发送给不需要的主机而浪费带宽也可能由于路由回环引起严重的广播风暴采用单播方式实现时由于IP包的重复发送会白白浪费掉大量带宽也增加了服务器的负载所以传统的单播和广播通信方式不能有效地解决单点发送多点接收的问题。
IP组播是指在IP网络中将数据包以尽力传送best-effort的形式发送到网络中的某个确定节点子集这个子集称为组播组multicastgroupIP组播的基本思想是源主机只发送一份数据这份数据中的目的地址为组播组地址组播组中的所有接收者都可接收到同样的数据拷贝并且只有组播组内的主机目标主机可以接收该数据网络中其它主机不能收到组播组用D类IP地址224.0.0.0239.255.255.255来标识。
一.4组播技术的市场前景
IP组播技术有效地解决了单点发送多点接收的问题实现了IP网络中点到多点的高效数据传送能够大量节约网络带宽降低网络负载作为一种与单播和广播并列的通信方式组播的意义不仅在于此更重要的是可以利用网络的组播特性方便地提供一些新的增值业务包括在线直播网络电视远程教育远程医疗网络电台实时视频会议等互联网的信息服务领域组播从1988年提出到现在已经经历了十几年的发展许多国际组织对组播的技术研究和业务开展进行了大量的工作随着互联网建设的迅猛发展和新业务的不断推出组播也必将走向成熟尽管目前端到端的全球组播业务还未大规模开展起来但是具备组播能力的网络数目在增加一些主要的ISP已运行域间组播路由协议进行组播路由的交换形成组播对等体在IP网络中多媒体业务日渐增多的情况下组播有着巨大的市场潜力组播业务也将逐渐得到推广和普及。
第二章组播基本原理
摘要
组播技术涵盖的内容相当丰富从地址分配组成员管理到组播报文转发路由建立可靠性等诸多方面下面首先介绍组播协议体系的整体结构之后从组播地址组播成员管理组播报文转发域内组播路由和域间组播路由等几个方面介绍有代表性的协议和机制。
二.1组播协议体系
根据协议的作用范围组播协议分为主机-路由器之间的协议即组播成员管理协议以及路由器-路由器之间协议主要是各种路由协议组成员关系协议包括IGMP互连网组管理协议组播路由协议又分为域内组播路由协议及域间组播路由协议两类域内组播路由协议包括PIM-SMPIM-DMDVMRP等协议域间组播路由协议包括MBGPMSDP等协议同时为了有效抑制组播数据在二层网络中的扩散引入了IGMPSnooping等二层组播协议。
通过IGMP和二层组播协议在路由器和交换机中建立起直联网段内的组成员关系信息具体地说就是哪个接口下有哪个组播组的成员域内组播路由协议根据IGMP维护的这些组播组成员关系信息运用一定的组播路由算法构造组播分发树在路由器中建立组播路由状态路由器根据这些状态进行组播数据包转发域间组播路由协议根据网络中配置的域间组播路由策略在各自治系统ASAutonomousSystem间发布具有组播能力的路由信息以及组播源信息使组播数据能在域间进行转发。
二.2组播地址
二.2.1组播IP地址
IP组播地址用于标识一个IP组播组IANA把D类地址空间分配给组播使用范围从224.0.0.0到239.255.255.255如图2.2.11IP组播地址格式所示二进制表示IP组播地址前四位均为“1110”。
图2.2.11IP组播地址格式
二.2.2组播地址的划分
图2.2.21组播地址划分
224.0.0.0到224.0.0.255地址范围被IANA预留地址224.0.0.0保留不做分配其它地址供路由协议及拓扑查找和维护协议使用该范围内的地址属于局部范畴不论生存时间字段TTL值是多少都不会被路由器转。
224.0.1.0到238.255.255.255地址范围作为用户组播地址在全网范围内有效其中233/8为GLOP地址GLOP是一种自治系统之间的组播地址分配机制将AS号直接填入组播地址的中间两个字节中每个自治系统都可以得到255个组播地址。
239.0.0.0到239.255.255.255地址范围为本地管理组播地址administrativelyscopedaddresses仅在特定的本地范围内有效当IP层收到组播数据报文时根据组播目的地址查找组播转发表对报文进行转发。
二.2.3IP组播地址到MAC地址的映射
IANA将MAC地址范围01:
00:
5E:
00:
00:
00~01:
00:
5E:
7F:
FF:
FF分配给组播使用这就要求将28位的IP组播地址空间映射到23位的MAC地址空间中具体的映射方法是将组播地址中的低23位放入MAC地址的低23位如图2.2.31组播地址到MAC地址的映射。
图2.2.31组播地址到MAC地址的映射
由于IP组播地址的后28位中只有23位被映射到MAC地址这样会有32个IP组播地址映射到同一MAC地址上。
二.3组播成员管理
二.3.1IGMP
IGMP(InternetGroupManagementProtocol)协议运行于主机和与主机直接相连的组播路由器之间IGMP实现的功能是双向的一方面通过IGMP协议主机通知本地路由器希望加入并接收某个特定组播组的信息另一方面路由器通过IGMP协议周期性地查询局域网内某个已知组的成员是否处于活动状态即该网段是否仍有属于某个组播组的成员实现所连网络组成员关系的收集与维护通过IGMP在路由器中记录的信息是某个组播组是否在本地有组成员而不是组播组与主机之间的对应关系。
到目前为止IGMP有三个版本IGMPv1RFC1112中定义了基本的组成员查询和报告过程目前通用的是IGMPv2由RFC2236定义在IGMPv1的基础上添加了组成员快速离开的机制IGMPv3中增加的主要功能是成员可以指定接收或指定不接收某些组播源的报文以下着重介绍IGMPv2协议的原理。
IGMPv2的原理如图2.3.11IGMPV2的工作原理所示
图2.3.11IGMPV2的工作原理
当同一个网段内有多个组播路由器时IGMPv2通过查询器选举机制从中选举出唯一的查询器查询器周期性地发送通用组查询消息进行成员关系查询主机发送报告消息来响应查询主机发送报告消息的时间有随机性当检测到同一网段内有其它成员发送同样的消息时则抑制自己的响应报文如果有新的主机要加入组播组不必等待查询器的查询消息而是主动发送报告消息当要离开组播组时主机发送离开组消息收到离开组消息后查询器发送特定组查询消息来确定是否所有组成员都已离开对于作为组成员的路由器而言其行为和普通的主机一样响应其它路由器的查询。
通过上述机制在组播路由器里建立起一张表其中记录了路由器的各个接口所对应的子网上都有哪些组的成员当路由器接收到某个组G的数据报文后只向那些有G的成员的接口上转发数据报文至于数据报文在路由器之间如何转发则由路由协议决定不是IGMP协议的功能。
二.3.2二层环境中组成员管理的实现
IGMP组播成员管理机制是针对第三层设计的在第三层路由器可以对组播报文的转发进行控制只要进行适当的接口配置和对TTL值的检测就可以了但是在很多情况下组播报文要不可避免地经过一些二层交换设备尤其是在局域网环境里如果不对二层设备进行相应的配置则组播报文就会转发给二层交换设备的所有接口这显然会浪费大量的系统资源IGMP监听IGMPSnooping可以解决这个问题。
IGMP监听的工作原理如下:
主机发出IGMP成员报告消息这个消息是给路由器的在IGMP成员报告经过交换机时交换机对这个消息进行监听并记录下来形成组成员和接口的对应关系。
交换机在收到组播数据报文时根据组成员和接口的对应关系仅向具有组成员的接口转发组播报文。
IGMP监听可以解决二层环境中的组播报文泛滥问题但要求交换机具有提取第三层信息的功能其次要求交换机对所有的组播报文进行监听和解读这会产生很多的无效工作此外组播报文监听和解读工作也会占用大量的CPU处理时间。
二.4组播报文转发
与单播报文的转发相比组播报文的转发相对复杂一方面组播路由类型与单播路由不同是点到多点的一棵路由树另一方面组播报文转发的处理过程也有所不同。
二.4.1组播路由的分类
组播路由可以分为两大类信源树SourceTree和共享树SharedTree信源树是指以组播源作为树根将组播源到每一个接收者的最短路径结合起来构成的转发树由于信源树使用的是从组播源到接收者的最短路径因此也称为最短路径树shortestpathtreeSPT对于某个组网络要为任何一个向该组发送报文的组播源建立一棵树共享树以某个路由器作为路由树的树根该路由器称为汇集点RendezvousPointRP将RP到所有接收者的最短路结合起来构成转发树使用共享树时对应某个组网络中只有一棵树所有的组播源和接收者都使用这棵树来收发报文组播源先向树根发送数据报文之后报文又向下转发到达所有的接收者。
图2.4.11信源树和共享树
信源树的优点是能构造组播源和接收者之间的最短路径使端到端的延迟达到最小但是付出的代价是在路由器中必须为每个组播源保存路由信息这样会占用大量的系统资源路由表的规模也比较大共享树的最大优点是路由器中保留的状态数可以很少缺点是组播源发出的报文要先经过RP再到达接收者经由的路径通常并非最短而且对RP的可靠性和处理能力要求很高。
二.4.2组播报文转发过程
单播报文的转发过程中路由器并不关心组播源地址只关心报文中的目的地址通过目的地址决定向哪个接口转发在组播中报文是发送给一组接收者的这些接收者用一个逻辑地址标识路由器在接收到报文后必须根据源和目的地址确定出上游指向组播源和下游方向把报文沿着远离组播源的方向进行转发这个过程称作RPFReversePathForwarding逆向路径转发。
RPF执行过程中会用到原有的单播路由表以确定上游和下游的邻接结点只有当报文是从上游邻接结点对应的接口称作RPF接口到达时才向下游转发RPF的作用除了可以正确地按照组播路由的配置转发报文外还能避免由于各种原因造成的环路环路避免在组播路由中是一个非常重要的问题RPF的主体是RPF检查路由器收到组播报文后先对报文进行RPF检查只有检查通过才转发否则丢弃RPF检查过程如下:
1.路由器在单播路由表中查找组播源或RP对应的RPF接口当使用信源树时查找组播源对应的RPF接口使用共享树时查找RP对应的RPF接口某个地址对应的RPF接口是指从路由器向该地址发送报文时的出接口;
2.如果组播报文是从RPF接口接收下来的则RPF检查通过报文向下游接口转发;
3.否则丢弃该报文。
图2.4.21RPF检查过程所示是在使用信源树的情况下的RPF检查过程。
图2.4.21RPF检查过程
路由器E从S0接口接收到一个组播报文其中的源地址属于N0网段路由器E检查单播路由表发现到N0的输出接口是S1因此将此报文丢弃如果组播报文是从S1接口到达则与查表的结果一致对该报文进行转发。
从RPF检查过程可以看出RPF检查中使用的是从路由器到组播源或RP的最短路所对应的接口因此称作逆向路径转发。
二.5域内组播路由协议
与单播路由一样组播路由也分为域内和域间两大类域内组播路由目前已经讨论的相当成熟在众多的域内路由协议中DVMRP距离矢量组播路由协议PIM-DM密集模式协议无关组播和PIM-SM稀疏模式协议无关组播是目前应用最多的协议。
二.5.1DVMRP
DVMRP(DistanceVectorMulticastRoutingProtocol)是第一个在MBONE上得到普遍使用的组播路由协议它在RIP协议的基础上扩充了支持组播的功能DVMRP协议首先通过发送探测消息来进行邻居发现之后通过路由交换来进行单播寻径和确定上下游依赖关系。
DVMRP采用逆向路径组播RPM算法进行组播转发当组播源第一次发送组播报文时使用截断逆向路径组播truncatedRPM算法沿着源的组播分发树向下转发组播报文当叶子路由器不再需要组播数据包时它朝着组播源发送剪枝消息对组播分发树进行剪枝借此除不必要的通信量上游路由器收到剪枝消息后将收到此消息的接口置为剪枝状态停止转发数据剪枝状态关联着超时定时器当定时器超时时剪枝状态又重新变为转发状态组播数据再次沿着这些分支流下另外当剪枝区域内出现了组播组成员时为了减少反应时间下游不必等待上游剪枝状态超时而是主动向上游发送嫁接报文以使剪枝状态变为转发状态可见DVMRP是由数据触发驱动建立组播路由表而路由树的建立过程可以概括为“扩散与剪枝”BroadcastandPrune转发特点可以概括为“被动接受主动退出”。
另外在多路访问网络中当有两个或多个的组播路由器时网络上可能会重复转发包为了防止这种情况出现在多路访问网络上DVMRP为每个源选择了一个唯一的转发器。
二.5.2PIM-DM
PIM-DM(ProtocolIndependentMulticastDenseMode)在PIM-DM域中运行PIM-DM协议的路由器周期性的发送Hello消息发现邻接的PIM路由器进行叶子网络叶子路由器的判断并且负责在多路访问网络中选举指定路由器DR。
PIM-DM协议使用下面的假设当组播源开始发送组播数据时域内所有的网络节点都需要接收数据因此采用“扩散-剪枝”的方式进行组播数据包的转发组播源开始发送数据时沿途路由器向除组播源对应的RPF接口之外的所有接口转发组播数据包这样PIM-DM域中所有网络节点都会收到这些组播数据包为了完成组播转发沿途的路由器需要为组G和源S创建相应的组播路由项(S,G)(S,G)路由项包括组播源地址组播组地址入接口出接口列表定时器和标志等。
如果网络中某区域没有组播组成员该区域内的路由器会发送剪枝消息将通往该区域的转发接口剪枝并且建立剪枝状态剪枝状态对应着超时定时器当定时器超时时剪枝状态又重新变为转发状态组播数据得以再次沿着这些分支流下另外剪枝状态包含组播源和组播组的信息当剪枝区域内出现了组播组成员时为了减少反应时间协议不必等待上游剪枝状态超时而是主动向上游发送嫁接报文以使剪枝状态变为转发状态。
图2.5.21PIM-DM中的扩散-剪枝动作
最初组播源发出的数据在全网内扩散注意路由器在转发报文时要进行RPF检查因此路由器B和C向对方发送的扩散报文都会因为RPF检查不通过而被拒绝转发之后由于路由器C所在的区域中没有组成员所以向组播组播数据的到来方向A和B发送剪枝报文这样在路由器A和B中会将相应的接口设置为剪枝状态组播数据沿着正确的路由发送到所有组成员。
PIM-DM在多路访问网络中除了涉及DR的选举外还使用断言assert机制来选举唯一的转发者以防向同一网段重复转发组播数据包使用加入/剪枝抑制机制来减少冗余的加入/剪枝消息使用剪枝否决机制来否决不应该的剪枝行为。
二.5.3PIM-SM
PIM-SM(ProtocolIndependentMulticastSparseMode)在PIM-SM域中运行PIM-SM协议的路由器周期性的发送Hello消息用以发现邻接的PIM路由器并且负责在多路访问网络中进行DR的选举。
这里DR负责为与其直连的组成员向组播树根节点的方向发送“加入/剪枝”消息,或是将直连组播源的数据发向组播分发树。
PIM-SM通过建立组播分发树来进行组播数据包的转发。
组播分发树分为两种:
以组G的RP为根的共享树和以组播源为根的最短路径树。
PIM-SM通过显式的加入/剪枝机制来完成组播分发树的建立与维护。
当DR直连的网络中具有组G的活动成员时则向着组G的RP方向逐跳发送组播加入消息加入共享树图中标号1当本次加入沿着树上行进行时沿途的路由器建立组播转发状态图中标号2即路由项路由项中包括以下字段源地址组地址组播数据包的入接口组播数据包的出接口列表定时器和标志位等以使路由器在收到组播数据后可以沿着树向下转发当不再希望接收组播数据时DR向着组G的RP逐跳组播剪枝消息用以剪枝共享树剪枝沿着树上行进行时沿途的路由器更新它的路由项例如删除出接口等转发树上的路由器要向着这个组的RP周期性地发送加入/剪枝消息用以维护组播分发树状态。
源主机向组发送组播数据时源的数据被封装在注册消息内并由DR单播至RP图中标号3RP再将注册消息解封装成数据包沿着共享树转发到各个组成员之后RP可以朝着源方向发送对特定源的加入/剪枝消息图中标号4加入这个源的最短路径树这样源的数据包将沿着最短路径树不加封装地发送到RP图中标号5当组播数据包沿最短路径到达时RP向源的DR发送注册-停止消息图中标号5使DR停止注册封装过程此后这个源的组播数据不再注册封装而是先沿着源的最短路径树发送到RPBARP再由RP将数据包转发到共享树上沿着共享树RPDC发送到各个组成员
若达到一定的数据传送速率DR也可以发送显式的加入消息加入到源的最短路径树上图中标号7组播报文就经由最短路径树转发下来图中标号8之后DR对共享树进行更新删除相应的共享转发路由图中标号9。
图2.5.31PIM-SM协议工作过程一
图2.5.32PIM-SM协议工作过程二
PIM-SM中还涉及到RP的选择机制在PIM-SM域内配置了一个或多个候选自举路由器(Candidate-BSR)使用一定的规则从中选出自举路由器(BSR)PIM-SM域中还配置有候选RP路由器(Candidate-RP)这些候选RP将包含了它们地址及可以服务的组播组等信息的报文单播发送给自举路由器再由BSR定期生成包括一系列候选RP以及相应的组地址的“自举”消息“自举”消息在整个域中逐跳发送路由器接收并保存这些“自举”消息若DR从直连主机收到了IGMP加入报文后如果它没有这个组的路由项将使用ha