出于安全考虑,组播组成员可以只选择接收从特定组播源发来的组播数据。组成员需要告知组播网络,接收来自哪些特定组播源的组播流量。 IGMPv1与IGMPv2的报文中均无法携带组播源的信息,因此无法配合SSM使用(可使用SSM Mapping功能解决这个问题)。 回顾我们学习过的IGMPv1和IGMPv2,组播组成员通过成员关系报告在组播网络中告诉查询器自己要加入组G1,查询器生成对应的IGMP表项,但是在一个组播网络中是可以有多个组播源的,V1和V2无法指定在一个组播网络中指定接收特定组播源的报文数据。 IGMPv3主要是为了配合SSM(Source-Specific Multicast)模型发展起来的,提供了在报文中携带组播源信息的能力,即主机可以对组播源进行选择。 SSM模型的组播地址范围:232.0.0.0~232.255.255.255。SSM Mapping功能将在IGMP特性章节介绍。 IGMPv3大部分工作机制与IGMPv2类似: IGMPv3需要支持上报组播源信息,与IGMPv2相比IGMPv3的变化如下: IGMPv3报文有查询报文和成员关系报告报文。 IGMPv3的查询报文共有三类: IGMPv3查询报文重要字段说明: IGMPv3成员关系报告报文: IGMPv3成员关系报告报文除了通告组成员的加组信息外,还能通告组成员希望接收的组播源信息。通告组播源主要有两种模式: 成员关系报告报文中的组播组信息和组播源信息的关系会记录在组记录(Group Record)字段,发送给IGMP查询器。IGMPv3成员关系报告报文的目的地址为224.0.0.22,报文格式如下: 在IGMPv3中一个成员关系报告报文可以携带多个组播组信息,而之前的版本一个成员关系报告只能携带一个组播组。这样在IGMPv3中报文数量大大减少。 IGMPv3成员关系报告报文重要字段说明: Group Record重要字段说明: IGMPv3组成员加组机制与IGMPv2类似,但有以下不同: IGMPv3组成员加组流程如下: 1、查询器发送普遍组查询报文。 2、组播组成员回复成员关系报告报文,发往224.0.0.22,这样查询器接能够知道哪个组播组成员需要加入的组播组以及特定的组播源服务器,形成IGMP表项。 IGMPv3没有专门的成员离开报文,成员离开需要借助组成员关系报告实现。 IGMP查询器在收到改变源组对应关系的成员关系报告后,会发送特定源组查询报文,确认是否还有组成员存在。 总结:IGMPv3的特点是主机可以对组播源进行选择。IGMPv3报文有查询报文和成员关系报告报文。IGMPv3没有专门的成员离开报文,成员关系报告报文组播目的地址224.0.0.22。 IGMP各版本差异: 如果对文章感兴趣欢迎微信搜索公众号:不喜欢热闹的孩子 一、SSM模型带来的挑战
二、IGMPv3工作原理
2.1 IGMPv3简介
2.2 IGMPv3报文
2.3 IGMPv3加组机制
2.4 IGMPv3组成员离组机制
机制 IGMPv1 IGMPv2 IGMPv3 查询器选举 依靠其他协议 自己选举 自己选举 成员离开方式 静默离开 主动离开 主动离开 特定组查询 不支持 支持 支持 指定源、组 不支持 不支持 支持 版本兼容性 IGMPv1 IGMPv1、IGMPv2
本文由 mdnice 多平台发布
标签:IGMPv3,组播源,组播,报文,查询,计算机网络,原理,成员 From: https://blog.csdn.net/weixin_43483442/article/details/140513667