组播协议学习

上传人:xzh****18 文档编号:33926307 上传时间:2018-02-19 格式:DOC 页数:13 大小:478KB
返回 下载 相关 举报
组播协议学习_第1页
第1页 / 共13页
组播协议学习_第2页
第2页 / 共13页
组播协议学习_第3页
第3页 / 共13页
组播协议学习_第4页
第4页 / 共13页
组播协议学习_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《组播协议学习》由会员分享,可在线阅读,更多相关《组播协议学习(13页珍藏版)》请在金锄头文库上搜索。

1、组播相关:一、组播协议体系:1)组成员关系协议包括 IGMP(互连网组管理协议);2)组播路由协议分为域内组播路由协议及域间组播路由协议;3)域内组播路由协议包括 MOSPF,CBT,PIM-SM、PIM-DM、DVMRP 等协议;4)域内的组播协议又分为密集,与稀疏模式的协议。DVMRP,PIM-DM,MOSPF 属于密集模式,CBT,PIM-SM 属于稀疏模式。5) 针对域间组播路由有两类解决方案:短期方案和长期方案。短期方案包括三个协议 MBGP/MSDP/PIM-SM:MBGP(组播边缘网关协议) ,用于在自治域间交换组播路由信息;MSDP (组播信源发现协议) ,用于在 ISP 之间

2、交换组播信源信息;以及域内组播路由协议 PIM-SM长期方案目前讨论最多的是 MASC/MBGP/BGMP,它建立在现有的组播业务模型上,其中MASC 实现域间组播地址的分配、MBGP 在域间传递组播路由信息、BGMP 完成域间路由树的构造。此外还有一些组播路由策略,如 PIM-SSM(特定信源协议无关组播)等,建立在其它的组播业务模型上。目前仅短期方案 MBGP/MSDP/PIM-SM 是成熟的,并在许多的运营商中广泛使用。6)同时为了有效抑制组播数据在链路层的扩散,引入了 IGMP Snooping、HGMP,HMVR,RGMP ,GMRP 等二层组播协议。名词解释:组播路由协议有距离矢量

3、组播路由协议(DVMRP) 、协议无关组播密集模式(PIM-DM) 、协议无关组播-稀疏模式(PIM-SM ) 、开放式组播最短路径优先( MOSPF) 、有核树组播路由协议(CBT )IGMP 协议简介:IGMP(Internet Group Management Protocol,因特网组管理协议)是 TCP/IP 协议族中负责 IP 组播成员管理的协议。它用来在 IP 主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。IGMP 不包括组播路由器之间的组成员关系信息的传播与维护,这部分工作由各组播路由协议完成。所有参与组播的主机必须实现 IGMP 协议。IGMP 有三个版本:IG

4、MP 版本 1(由 RFC1112 定义) 、IGMP 版本 2(由 RFC2236 定义)和 IGMP 版本 3。目前应用最多的是版本 2。IGMP 版本 2 对版本 1 所做的改进主要有:1. 共享网段上组播路由器的选举机制共享网段即一个网段上有多个组播路由器的情况。在这种情况下,由于此网段下运行IGMP 的路由器都能从主机那里收到成员资格报告消息,因此,只需要一个路由器发送成员资格查询消息,这就需要一个路由器选举机制来确定一个路由器作为查询器。在 IGMP 版本 1 中,查询器的选择由组播路由协议决定;IGMP 版本 2 对此做了改进,规定同一网段上有多个组播路由器时,具有最低 IP 地

5、址的组播路由器被选举出来充当查询器。2. IGMP 版本 2 增加了离开组机制在 IGMP 版本 1 中,主机悄然离开组播组,不会给任何组播路由器发出任何通知。造成组播路由器只能依靠组播组响应超时来确定组播成员的离开。而在版本 2 中,当一个主机决定离开一个组播组时,如果它是对最近一条成员资格查询消息作出响应的主机,那么它就会发送一条离开组的消息。3. IGMP 版本 2 增加了对特定组的查询在 IGMP 版本 1 中,组播路由器的一次查询,是针对该网段下的所有组播组。这种查询称为普遍组查询。在 IGMP 版本 2 中,在普遍组查询之外增加了特定组的查询,这种查询报文的目的 IP 地址为该组播

6、组的 IP 地址,报文中的组地址域部分也为该组播组的 IP 地址。这样就避免了属于其它组播组成员的主机发送响应报文。4. IGMP 版本 2 增加了最大响应时间字段IGMP 版本 2 增加最大响应时间字段,以动态地调整主机对组查询报文的响应时间。二、组播原理:1)组播地址:IANA 预留了两个地址范围:224.0.0.0224.0.0.255 和 239.0.0.0239.255.255.255。前一个地址范围的所有地址都有特殊用途,如:224.0.0.1 表示所有组播成员(包括路由器) ,224.0.0.2 表示所有组播路由器。可以向 IANA 就某个特殊用途申请专用 IP 组播地址,如:2

7、24.0.0.13 表示所有 PIM 路由器。后一个地址范围作为用于私人组播领域的管理权限地址,犹如单播的 10.x.x.x/8 等私有地址网段。组播 MAC 地址:以 0x01005Exx.xxxx 的 24 位前缀开始的 MAC 层地址都是组播地址。2)组播地址映射关系:在以太网中,第 3 层的 IP 组播地址信息的全部 28 位不能映射进入只有 23 位的第 2 层MAC 地址空间,所以在映射过程中丢失 5 位地址信息,导致 32:1 的地址不明确。这意味着一个 IEEE MAC 地址能表示 32 个 IP 组播地址。主机必须考察每一个收到帧的 IP 部分才能确定是不是需要的组播信息。3

8、)组播数据转发:RPF(Reverse Path Forward 检查):组播数据包中的目的地址是组地址而不是一个明确的主机地址;并且在与路由器相连的每条路径上或者说每个接口都可能有组成员。因此,组播数据转发将采用逆向数据转发即:对到达的组播数据包作逆向检查(Reverse Path Forward 检查) ,判断数据包是否是从指向源站点的接口(指向源的接口是根据单播路由获得的,亦即单播路由的目的网络)上到达;如果是,逆向检查成功,数据包被转发;否则,数据包就被丢弃。4)组播 2 层交换:网桥或二层交换机(以下统称二层交换机)是工作在二层的网络设备。当它们收到组播数据包后如何处理?最简单的处理

9、方式就是当网桥从一个接口收到组播数据报后向所有其它接口都转发出去。一般的没有组播功能的二层交换机都是这么处理的,所以这样的网桥也最便宜。但是这样处理就偏离的组播的初衷。二层交换机将在转发表中添加一项:MAC 地址是组播地址,端口包含与希望接收到组播数据的主机相连所有的端口。以后当二层交换机接收到组播数据报后,将向除接收端口外的所有转发表项的其它希望接收组播数据的端口转发组播数据。三、组播路由协议:1)PIM:PIM(协议无关组播)表示它不依赖于某种具体的 IP 路由选择协议。PIM 协议报文基于 UDP 协议,其端口号是 103。PIM 还有专门的组播地址 224.0.0.13,表示所有的 P

10、IM 路由器。在组播应用环境中大致可分为两类:一类是密集环境。即:在某一个范围内组成员众多。比如:股票交易大厅信息的发布,学校的网上教学等。路由器的几乎每一个接口都有组成员正在接收组播信息。对于这种环境将采用密集模式协议如:PIM_DM(协议无关组播_密集模式)来解决。PIM_DM 转发在运行 PIM-DM 协议的网络中,路由器默认所有接口上都有接收者。当组播数据到达路由器后,路由器立即建立起转发项。转发项的入接口是路由器依据单播到数据源的接口;出接口则包括除入接口外的所有接口。如果数据 RPF 检查成功,它将根据转发项向所有接口(除入接口外)溢流。PIM_DM 剪枝如果路由器所有出接口上都没

11、有接收者,它将清空转发项的出接口列表,并向其 RPF 上游发送剪枝消息,以使组播数据不再流向本路由器。上游路由器收到剪枝消息后,从转发项出接口列表中删除接收到剪枝消息的接口。组播数据就不再从该接口转发出去。但是这种状况只能维持一段时间。在经过一段时间后,上游路由器重新将该出口添加到转发项出接口列表中。组播数据又能流向先前被剪枝的下游路由器。然后,下游路由器再发起剪枝。周而复始,这个过程被称之为扩散剪枝。PIM_DM 嫁接和嫁接应答当剪枝期间,路由器需要接收组播数据(比如:收到 IGMP 加入) ,怎么办?这时,路由器并不需要等到下一个扩散剪枝周期,而是立即向 RPF 上游路由器发送嫁接消息,要

12、求将自己添加到出接口列表中。上游路由器收到嫁接消息后,立即回送一个嫁接应答,告知下游路由器已收到嫁接消息;然后,上游路由器将收到嫁接消息的接口添加到出接口列表中。组播数据就能够到达希望接收数据的路由器和组成员PIM_DM 状态维护PIM_DM 如何维护转发项而不必总是重复创建过程?PIM_DM 是依靠组播数据流来维护的。只要路由器收到某个组的组播数据包,路由器就刷新该转发项。路由器如果长时间未收到这个组的组播数据包,将删除该转发项。断言(assert)机制在共享网段上,当有多个路由器向网络上发送组播数据包时,共享网段上将收到重复的数据包。怎么办?Assert 断言机制能够解决这个问题。当路由器

13、从出接口接收到其它路由器发来的重复组播数据时,路由器将向该出接口发送断言消息。断言消息中带有本路由器的优先级、到源 S 的路由开销等信息。网段上的其它路由器收到断言消息后,将对端路由器的优先级、路由开销以及 IP 地址与自身相比较(先比较优先级,优先级低者获胜;若二者相同,则比较路由开销,开销小者获胜;若二者还相等,则比较 IP 地址,大者获胜) 。若自己失败,则剪枝该接口,不再向该共享网段转发组播数据包。若自己获胜,则发送断言消息,申明组播数据流应该从本出接口转发,其它路由器重复上面的动作。PIM 邻居发现与 PIM HELLO 消息路由器周期性的发送 Hello 消息到所有 PIM 路由器

14、(224.0.0.13) ,并借此来发现邻居,建立邻居关系。PIM 路由器可以借邻接关系判断自己是否为叶路由器。PIM Hello 消息除了用于建立邻接外,它还被用来为共享网段上选择指定路由器(DR) 。PIM 路由器都被配有优先级。这个优先级被包含在 PIM Hello 消息中。当路由器收到 PIM Hello 消息时,先比较自己的优先级。如果自己的优先级高,路由器将默认消息源为 DR,自己变成非 DR。当优先级相同时,IP 地址最大的获胜,被选举为 DR。DR 主要应用在 SM 中,将在 SM 中由 DR 负责向上游发起加入/ 剪枝过程,或是将直连组播源的数据发向组播分发树。这在 PIM-

15、SM 一节会有讲述。如果路由器是工作在 IGMPv1 下,DR 同时也是 IGMP 查询器。2)PIM-SM:BSR 即 “BootStrap Router”,自举路由器,负责在 PIM-SM 网络启动后,收集网络内的RP 信息,为每个组选举出 RP,然后将 RP 集(即组-RP 映射数据库)发布到整个 PIM-SM 网络。一个网络内部只有一个 BSR,可以配置多个候选 BSR (C-BSR),一旦某个 BSR Down 掉,可以切换到另外一个。候选 RP(C-RP)将声明发送到 BSR,C-RP 通告通过单播发送。BSR 在 RP 集存储所有的 C-RP 通告;BSR 周期性地向所有路由器发

16、送 BSR 消息,BSR消息包含整个 RP-set 和 BSR 地址,消息一跳一跳地自 BSR 向整个网络泛滥(flood) 。所有的路由器使用收到的 RP 集来确定 RP,所有路由器都使用相同的 RP 选择算法,选择的RP 也是一致的。同时实现 RP 负载分担(不同组映射到不同 RP) 。PIM-SM 转发、加入前面讲到,PIM-SM 适合于接收成员较少的环境。那么它与 DM 有何显著的区别?先看看PIM-SM 转发机制。转发当组播数据到达路由器时,路由器也会去创建转发项。转发项的入接口也依据单播路由指向源(请注意这里的源不再一定是数据源 S,它是网络中某一个作为核心的路由器 RP。所有数据源向组发送数据时都由源 DR 先将数据发向 RP。RP 再将数据向网络转发) ;但出接口列表却为空。因此,路由器并不向网络转发组播数据。为什么会这样?因为,SM 默认为其所有接口上并无谁需要组播数据。加入但是,当网络中有主机想加入组,接收组数据时怎么办?这时主机先向 DR 发送 IGMP 加入。DR

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业合同/协议

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号