IP组播-IGMP技术介绍-D

上传人:I*** 文档编号:170317596 上传时间:2021-03-01 格式:DOCX 页数:11 大小:466.62KB
返回 下载 相关 举报
IP组播-IGMP技术介绍-D_第1页
第1页 / 共11页
IP组播-IGMP技术介绍-D_第2页
第2页 / 共11页
IP组播-IGMP技术介绍-D_第3页
第3页 / 共11页
IP组播-IGMP技术介绍-D_第4页
第4页 / 共11页
IP组播-IGMP技术介绍-D_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《IP组播-IGMP技术介绍-D》由会员分享,可在线阅读,更多相关《IP组播-IGMP技术介绍-D(11页珍藏版)》请在金锄头文库上搜索。

1、,IP组播-IGMP技术介绍技术介绍IP 组播目 录目 录IGMP1IGMP简介1IGMP的版本1IGMPv1 工作机制1IGMPv2 的改进3IGMPv3 的改进4IGMP SSM Mapping.5IGMP Proxying7多实例的IGMP8i技术介绍IP 组播IGMPIGMPIGMP 简介IGMP 是 Internet Group Management Protocol(互联网组管理协议)的简称。它是TCP/IP 协议族中负责 IP 组播成员管理的协议,用来在 IP 主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。IGMP 的版本到目前为止,IGMP 有三个版本: IGMP

2、v1(由 RFC 1112 定义) IGMPv2(由 RFC 2236 定义) IGMPv3(由 RFC 3376 定义)所有版本的IGMP 都支持ASM(Any-Source Multicast,任意信源组播)模型;IGMPv3可以直接应用于 SSM(Source-Specific Multicast,指定信源组播)模型,而 IGMPv1 和 IGMPv2 则需要在 IGMP SSM Mapping 技术的支持下才能应用于 SSM 模型。IGMPv1 工作机制IGMPv1 主要基于查询和响应机制来完成对组播组成员的管理。当一个网段内有多台组播路由器时,由于它们都能从主机那里收到 IGMP 成

3、员关系报告报文(Membership Report Message),因此只需要其中一台路由器发送 IGMP 查询报文(Query Message)就足够了。这就需要有一个查询器(Querier)的选举机制来确定由哪台路由器作为 IGMP 查询器。对于 IGMPv1 来说,由组播路由协议(如 PIM)选举出唯一的组播信息转发者 DR(Designated Router,指定路由器)作为 IGMP 查询器。8IP networkDRRouter ARouter BEthernetHost A (G2)Host B (G1)Host C (G1) Query Report图1 IGMP 查询响应示

4、意图如 图 1所示,假设Host B与Host C想要收到发往组播组G1 的组播数据,而Host A 想要收到发往组播组G2 的组播数据,那么主机加入组播组以及IGMP查询器(Router B)维护组播组成员关系的基本过程如下:(1) 主机会主动向其要加入的组播组发送 IGMP 成员关系报告报文以声明加入,而不必等待 IGMP 查询器发来的 IGMP 查询报文;(2) IGMP 查询器周期性地以组播方式向本地网段内的所有主机与路由器发送IGMP 查询报文(目的地址为 224.0.0.1);(3) 在收到该查询报文后,关注 G1 的 Host B 与 Host C 其中之一(这取决于谁的延迟定时

5、器先超时)譬如 Host B 会首先以组播方式向 G1 发送 IGMP 成员关系报告报文,以宣告其属于 G1。由于本地网段中的所有主机和路由器都能收到 Host B 发往 G1 的报告报文,因此当 Host C 收到该报告报文后,将不再发送同样针对 G1 的报告报文,因为 IGMP 路由器(Router A 和 Router B) 已知道本地网段中有对 G1 感兴趣的主机了。这个机制称为主机上的 IGMP 成员关系报告抑制机制,该机制有助于减少本地网段的信息流量;(4) 与此同时,由于 Host A 关注的是 G2,所以它仍将以组播方式向 G2 发送报告报文,以宣告其属于 G2;(5) 经过以

6、上的查询和响应过程,IGMP 路由器了解到本地网段中有 G1 和 G2 的成员,于是由组播路由协议(如 PIM)生成(*,G1)和(*,G2)组播转发项作为组播数据的转发依据,其中的“*”代表任意组播源;(6) 当由组播源发往 G1 或 G2 的组播数据经过组播路由到达 IGMP 路由器时,由于 IGMP 路由器上存在(*,G1)和(*,G2)组播转发项,于是将该组播数据转发到本地网段,接收者主机便能收到该组播数据了。IGMPv1 没有专门定义离开组播组的报文。当运行 IGMPv1 的主机离开某组播组时, 将不会向其要离开的组播组发送报告报文。当网段中不再存在该组播组的成员后, IGMP 路由

7、器将收不到任何发往该组播组的报告报文,于是 IGMP 路由器在一段时间之后便删除该组播组所对应的组播转发项。IGMPv2 的改进与 IGMPv1 相比,IGMPv2 增加了查询器选举机制和离开组机制。1. 查询器选举机制在 IGMPv1 中,当某共享网段上存在多个组播路由器时,由组播路由协议(如 PIM) 选举的指定路由器充当查询器。在 IGMPv2 中,增加了独立的查询器选举机制,其选举过程如下:(1) 所有 IGMPv2 路由器在初始时都认为自己是查询器,并向本地网段内的所有主机和路由器发送 IGMP 普遍组查询(General Query)报文(目的地址为224.0.0.1);(2) 本

8、地网段中的其它 IGMPv2 路由器在收到该报文后,将报文的源 IP 地址与自己的接口地址作比较。通过比较,IP 地址最小的路由器将成为查询器,其它路由器成为非查询器(Non-Querier);(3) 所有非查询器上都会启动一个定时器(即其它查询器存在时间定时器 Other Querier Present Timer)。在该定时器超时前,如果收到了来自查询器的 IGMP 查询报文,则重置该定时器;否则,就认为原查询器失效,并发起新的查询器选举过程。2. 离开组机制在 IGMPv1 中,主机离开组播组时不会向组播路由器发出任何通知,导致组播路由器只能依靠组播组成员查询的响应超时来获知组播组成员的

9、离开。而在 IGMPv2 中,当一个主机离开某组播组时:(1) 该主机向本地网段内的所有组播路由器(目的地址为 224.0.0.2)发送离开组(Leave Group)报文;(2) 当查询器收到该报文后,向该主机所声明要离开的那个组播组发送特定组查询(Group-Specific Query)报文(目的地址字段和组地址字段均填充为所要查询的组播组地址);(3) 如果该网段内还有该组播组的其它成员,则这些成员在收到特定组查询报文后,会在该报文中所设定的最大响应时间(Max Response Time)内发送成员关系报告报文;(4) 如果在最大响应时间内收到了该组播组其它成员发送的成员关系报告报文

10、,查询器就会继续维护该组播组的成员关系;否则,查询器将认为该网段内已无该组播组的成员,于是不再维护这个组播组的成员关系。IGMPv3 的改进IGMPv3 在兼容和继承 IGMPv1 和 IGMPv2 的基础上,进一步增强了主机的控制能力,并增强了查询和报告报文的功能。1. 主机控制能力的增强IGMPv3 增加了针对组播源的过滤模式(INCLUDE/EXCLUDE),使主机在加入某组播组 G 的同时,能够明确要求接收或拒绝来自某特定组播源 S 的组播信息。当主机加入组播组时: 若要求只接收来自指定组播源如 S1、S2、的组播信息,则其报告报文中可以标记为 INCLUDE Sources(S1,S

11、2,); 若拒绝接收来自指定组播源如 S1、S2、的组播信息,则其报告报文中可以标记为 EXCLUDE Sources(S1,S2,)。如 图 2所示,网络中存在Source 1(S1)和Source 2(S2)两个组播源,均向组播组G发送组播报文。Host B仅对从Source 1 发往G的信息感兴趣,而对来自Source 2 的信息没有兴趣。Source 1ReceiverSource 2Host AHost BHost CPackets (S1,G) Packets (S2,G)图2 指定源组的组播流路经如果主机与路由器之间运行的是 IGMPv1 或 IGMPv2,Host B 加入组播

12、组 G 时无法对组播源进行选择,因此无论 Host B 是否需要,来自 Source 1 和 Source 2 的组播信息都将传递给 Host B。当主机与路由器之间运行了IGMPv3 之后,Host B 就可以要求只接收来自Source 1、发往 G 的组播信息(S1,G),或要求拒绝来自 Source 2、发往 G 的组播信息(S2, G),这样就只有来自 Source 1 的组播信息才能传递给 Host B 了。2. 查询和报告报文功能的增强(1) 携带源地址的查询报文IGMPv3 不仅支持 IGMPv1 的普遍组查询和 IGMPv2 的特定组查询,而且还增加了对特定源组查询的支持: 普

13、遍组查询报文中,既不携带组地址,也不携带源地址; 特定组查询报文中,携带组地址,但不携带源地址; 特定源组查询报文中,既携带组地址,还携带一个或多个源地址。(2) 包含多组记录的报告报文IGMPv3 报告报文的目的地址为 224.0.0.22,可以携带一个或多个组记录。在每个组记录中,包含有组播组地址和组播源地址列表。组记录可以分为多种类型,如下: IS_IN:表示组播组与组播源列表之间的过滤模式为 INCLUDE,即只接收从指定组播源列表发往该组播组的组播数据。 IS_EX:表示组播组与组播源列表之间的过滤模式为 EXCLUDE,即只接收从指定组播源列表之外的组播源发往该组播组的组播数据。

14、TO_IN:表示组播组与组播源列表之间的过滤模式由 EXCLUDE 转变为INCLUDE。 TO_EX :表示组播组与组播源列表之间的过滤模式由 INCLUDE 转变为EXCLUDE。 ALLOW:表示在现有状态的基础上,还希望从某些组播源接收组播数据。如果当前的对应关系为 INCLUDE,则向现有组播源列表中添加这些组播源;如果当前的对应关系为 EXCLUDE,则从现有组播源列表中删除这些组播源。 BLOCK:表示在现有状态的基础上,不再希望从某些组播源接收组播数据。如果当前的对应关系为 INCLUDE,则从现有组播源列表中删除这些组播源; 如果当前的对应关系为 EXCLUDE,则向现有组播

15、源列表中添加这些组播源。IGMP SSM MappingIGMP SSM Mapping 通过在路由器上配置SSM 静态映射规则,从而为运行 IGMPv1或 IGMPv2 的接收者主机提供对 SSM 模型的支持。SSMIGMPv1 report IGMPv2 reportIGMPv3 reportQuerierRouter ASSM 模型要求在接收者主机所在的网段,路由器能够了解主机加入组播组时所指定的组播源。如果接收者主机上运行的是 IGMPv3,则可以在 IGMPv3 的报告报文中直接指定组播源的地址;如果某些接收者主机只能运行 IGMPv1 或 IGMPv2,则在IGMPv1 或 IGMPv2 的报告报文中无法指定组播源的地址。这种情况下需要通过在路由器上配置 IGMP SSM Mapping 功能,将 IGMPv1 或 IGMPv2 报告报文中所包含的(*,G)信息映射为(G,INCLUDE,(S1,S2.)

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

当前位置:首页 > IT计算机/网络 > 网络与通信

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