加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

这是最全面的IGMP协议总结,没有之一!

发布时间:2019-01-22 07:21:43 所属栏目:教程 来源:三旺通信
导读:一、IGMP 简介 IGMP(Internet Group Management Protocol)互联网组打点协议是TCP/IP 协议族中认真IP组播成员打点的协议,用来在IP主机和与其直接相邻的组播路由器之间成立、维护组播构成员相关。 到今朝为止,IGMP 有三个版本: IGMPv1(由RFC 1112 界说) I
副问题[/!--empirenews.page--]

一、IGMP 简介

IGMP(Internet Group Management Protocol)互联网组打点协议是TCP/IP 协议族中认真IP组播成员打点的协议,用来在IP主机和与其直接相邻的组播路由器之间成立、维护组播构成员相关。

IGMP

到今朝为止,IGMP 有三个版本:

  • IGMPv1(由RFC 1112 界说)
  • IGMPv2(由RFC 2236 界说)
  • IGMPv3(由RFC 3376 界说)

全部版本的IGMP 都支持ASM(Any-Source Multicast,恣意信源组播)模子;IGMPv3 可以直策应用于SSM(Source-Specific Multicast,指定信源组播)模子,而IGMPv1 和IGMPv2 则必要在IGMP SSM Mapping 技能的支持下才气应用于SSM 模子。

二、IGMP 事变机制

1. IGMPv1 事变机制

IGMPv1 首要基于查询和相应机制来完成对组播构成员的打点。当一个网段内有多台组播路由器时,因为它们都能从主机哪里收到IGMP 成员相关陈诉报文(Membership Report Message)。

因此,只需个中一台路由器发送IGMP 查询报文(Query Message)就足够了。这时就必要有一个查询器(Querier)的推举机制来确定由哪台路由器作为IGMP查询器。

对付IGMPv1 来说,由组播路由协议(如PIM)推举出独一的组播信息转发者DR(Designated Router,指定路由器)作为IGMP 查询器。

这是最全面的IGMP协议总结,没有之一!

IGMP 查询响应表示图

如上图所示,假设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 个中之一(这取决于谁的耽误按时器先超时),譬如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)颠末以上的查询和相应进程,IGMP 路由器相识到当地网段中有G1 和G2 的成员,于是由组播路由协议(如PIM)天生(*,G1)和(*,G2)组播转发项作为组播数据的转发依据,个中的“*”代表恣意组播源;

6)当由组播源发往G1 或G2 的组播数据颠末组播路由达到IGMP 路由器时,因为IGMP 路由器上存在(*,G1)和(*,G2)组播转发项,于是将该组播数据转发到当地网段,吸取者主机便能收到该组播数据了。

IGMPv1 没有专门界说分开组播组的报文。当运行IGMPv1 的主机分开某组播组时,将不会向其要分开的组播组发送陈诉报文。当网段中不再存在该组播组的成员后,IGMP 路由器将收不到任何发往该组播组的陈诉报文,于是IGMP 路由器在一段时刻之后便删除该组播组所对应的组播转发项。

2. IGMPv2 的改造

与IGMPv1 对比,IGMPv2 增进了查询器推举机制和分开组机制。

(1) 查询器推举机制

在IGMPv1 中,当某共享网段上存在多个组播路由器时,由组播路由协议(如PIM)推举的指定路由器充当查询器。

在IGMPv2 中,增进了独立的查询器推举机制,其推举进程如下:

  • 全部IGMPv2 路由器在初始时都以为本身是查询器,并向当地网段内的全部主机和路由器发送IGMP 广泛组查询(General Query)报文(目标地点为224.0.0.1);
  • 当地网段中的其余IGMPv2 路由器在收到该报文后,将报文的源IP地点与本身的接口地点作较量。通过较量, IP 地点最小的路由器将成为查询器, 其余路由器成为非查询器(Non-Querier);
  • 全部非查询器上城市启动一个按时器(即其余查询器存在时刻按时器Other Querier Present Timer)。在该按时器超时前,假如收到了来自查询器的IGMP 查询报文,则重置该按时器;不然,就以为原查询器失效,并提倡新的查询器推举进程。

(2) 分开组机制

在IGMPv1 中,主机分开组播组时不会向组播路由器发出任何关照,导致组播路由器只能依赖组播构成员查询的相应超时来获知组播构成员的分开。

而在IGMPv2 中,当一个主机分开某组播组时:

  • 该主机向当地网段内的全部组播路由器(目标地点为224.0.0.2)发送分开组(Leave Group)报文;
  • 当查询器收到该报文后, 向该主机所声明要分开的谁人组播组发送特定组查询(Group-Specific Query)报文(目标地点字段和组地点字段均添补为所要查询的组播组地点);
  • 假如该网段内尚有该组播组的其余成员,则这些成员在收到特定组查询报文后,会在该报文中所设定的最大相应时刻(Max Response Time)内发送成员相关陈诉报文;
  • 假如在最大相应时刻内收到了该组播组其余成员发送的成员相关陈诉报文,查询器就会继承维护该组播组的成员相关;不然,查询器将以为该网段内已无该组播组的成员,于是不再维护这个组播组的成员相关。

3. IGMPv3 的改造

IGMPv3 在兼容和担任IGMPv1 和IGMPv2 的基本上,进一步加强了主机的节制手段,并加强了查询和陈诉报文的成果。

(1) 主机节制手段的加强

IGMPv3 增进了针对组播源的过滤模式(INCLUDE/EXCLUDE),使主机在插手某组播组G的同时,可以或许明晰要求吸取或拒绝来自某特定组播源S的组播信息。当主机插手组播组时:

  • 若要求只吸取来自指定组播源如S1、S2、……的组播信息,则其陈诉报文中可以标志为INCLUDE Sources(S1,S2,……);
  • 若拒绝吸取来自指定组播源如S1、S2、……的组播信息,则其陈诉报文中可以标志为EXCLUDE Sources(S1,S2,……)。

这是最全面的IGMP协议总结,没有之一!

指定源组的组播流路经

如上图所示,收集中存在Source 1(S1)和Source 2(S2)两个组播源,均向组播组G发送组播报文。Host B仅对从Source1 发往G的信息感乐趣,而对来自Source 2 的信息没有乐趣。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读