首页 理论教育 优化互联网组管理的协议介绍

优化互联网组管理的协议介绍

时间:2023-06-30 理论教育 版权反馈
【摘要】:IGMPv2消息有8B长,与协议号码2一起封装在IP数据包里。在同一个接口上连续加入同一个多播组时IGMP不需要发送报告。图2.5是IGMP功能的例子。组成员信息报告无需请求直接发送给多播路由器,DA和GA都设置为239.0.10.10,这是刚刚谈到的多播组地址。离开消息的目的地址是所有路由器进行多播时都用的地址224.0.0.2,并且离开消息将多播组地址放置在IGMP消息的GA域。图2.5 IGMPv2操作示例IGMP的最新版本IGMPv3,引入了支持数据源过滤的功能。

优化互联网组管理的协议介绍

IGMP是IPv4不可或缺的部分,是每个想要接收多播数据的主机都必须执行的协议。IGMPv2消息有8B长,与协议号码2一起封装在IP数据包里。由于IGMP消息只能到达与其本地子网直接连接的路由器,发送IP封装的IGMP消息时要将TTL(Time-to-Live,生存时间)值设为1。

IGMP是一种基于询问-应答的机制。路由器周期性地向主机发送多播组成员询问来获取新的成员信息,而主机则反馈组成员报告来作答。两次询问之间的间隔可以设置,通常为125s。除了周期性询问(也称为例行询问)还有一种特定组询问。例行询问会触发任意数量的多播组的成员报告,而特定组询问只是为了得到某些特定的多播组的成员报告。

与每个有多播能力的接口相连的子网,其多播组成员信息都列入一份独立的名单,由路由器维护这份名单。当接收到成员信息报告时,路由器就更新多播组成员名单。如果路由器发出成员信息询问后并没有接收到任何活跃多播组的成员信息报告,那么就认为这个多播组失效,从名单中移除,也就意味着不再向这个接口发送多播业务。为了最小化路由器必须记录的状态,路由器只需要记录接口活跃的多播组的状态。这样一来,路由器通常不知道一个子网中有多少主机是多播组成员。

周期性询问间隔长度可能会延迟路由器更新组成员信息细节。为了使用户加入过程更具时效性,用户可以不经请求直接发送成员信息报告,从而将一个多播组成员信息通知给多播路由器。类似地,主机也可以给多播路由器发送离开某个特定组的消息。接下来,在将成员信息名单入口从指定接口移除之前,路由器先发送一个指定组询问,以确定该特定多播组中是否还有其他主机。

在主机中,多播组成员信息与特定的网络接口之间有特殊的对应关系。主机的应用指定了应该在特定网络接口添加或者删除组成员信息。只有当接口添加一个新的组成员信息时,IGMP才发送组成员信息报告。在同一个接口上连续加入同一个多播组时IGMP不需要发送报告。类似地,只有当最后一个应用删除其接口上的组成员信息时才需要为这个多播组发送离开消息。(www.xing528.com)

图2.5是IGMP功能的例子。路由器周期性地发送成员信息的例行询问,其中DA(Destination Address,目的地址)为所有系统都用的多播地址224.0.0.1而IGMP消息的GA(Group Address,多播组地址)域设置为0。过一段时间以后,应用通过套接接口加入多播组239.0.10.10。组成员信息报告无需请求直接发送给多播路由器,DA和GA都设置为239.0.10.10,这是刚刚谈到的多播组地址。路由器将GA添加到接口感兴趣组的名单中,然后将信息传递给多播路由选择协议。路由器开始向接口上的多播组发送业务。在多播会话期间,路由器继续发送周期性询问,主机只要还有兴趣,就回复成员信息报告。当应用离开多播组时,比如由于用户终止这项应用,路由器会收到消息通知,从而知道主机希望离开多播组。离开消息的目的地址是所有路由器进行多播时都用的地址224.0.0.2,并且离开消息将多播组地址放置在IGMP消息的GA域。然后路由器发送特定组询问以确定是否对多播组感兴趣,这个流程在将入口从接口的名单移除之前完成。

978-7-111-35083-5-Chapter02-5.jpg

图2.5 IGMPv2操作示例

IGMP的最新版本IGMPv3,引入了支持数据源过滤的功能。接收端不再从多播组订制业务,而是从多播组及其相关数据源名单订制业务。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈