IGMPv2协议如何实现组成员关系的建立和维护?
基本概念:
组播组
组播组使用一个IP组播地址标识。任何用户主机(或其他接收设备),加入一个组播组,就成为了该组成员,可以识别并接收以该IP组播地址为目的地址的IP报文。
组播源
以组播组地址为目的地址,发送IP报文的信源称为组播源。
一个组播源可以同时向多个组播组发送数据。
多个组播源可以同时向一个组播组发送报文。
组播组成员
组播组中的成员是动态的,网络中的用户主机可以在任何时刻加入和离开组播组。组成员可能广泛分布在网络中的任何地方。
组播源通常不会同时是数据的接收者,不属于组播组成员。
说明:
下文以收看某电视频道的节目为例,可以帮助理解IP组播中的概念。
组播组是发送者和接收者之间的一个约定,如同电视频道。
电视台是组播源,它向某频道内发送数据。
电视机是接收者主机,观众打开电视机选择收看某频道的节目,表示主机加入某组播组;然后电视机播放该频道电视节目,表示主机接收到发送给这个组的数据。
观众可以随时控制电视机的开关和频道间的切换,表示主机动态的加入或退出某组播组。
组播分发树
根据组播组成员的分布情况,组播路由协议为多目的端的数据包转发建立树型路由。报文在距离组播源尽可能远的分叉路口才开始复制和分发,最终传送到组播组成员。
组播协议:
组播组成员关系管理
组播组成员关系管理是指在主机与交换机之间建立和维护组成员关系。
IGMP是用于IPv4网络的组播组成员关系管理协议,有以下特点:
包含三个版本,分别是IGMPv1、IGMPv2和IGMPv3。新版本完全兼容旧版本。目前应用最广泛的是IGMPv2。
三个版本都支持ASM模型;IGMPv3可以直接支持SSM模型,而IGMPv1和IGMPv2需要结合SSM-Mapping技术才能支持SSM模型。
MLD是用于IPv6网络的组播组成员关系管理协议,有以下特点:
包含两个版本,分别是MLDv1和MLDv2。
MLDv1的功能与IGMPv2相似。
MLDv2的功能与IGMPv3相似。
两个版本都支持ASM模型;MLDv2可以直接支持SSM模型,而MLDv1需要结合SSM-Mapping技术才能支持SSM模型。
建立并维护组播路由
组播路由也称为组播分发树,指从一个组播源到所有组成员的数据传输路径。组播路由单向、无环且路径最短。通过在交换机之间建立和维护组播路由,网络才能够正确、高效地转发组播数据包。
域内组播路由协议:用来在自治系统AS(Autonomous System)内发现组播源并构建组播分发树,将信息传递到接收者。PIM是典型的域内组播路由协议,有两套独立的模式:
DM(Dense Mode):适用于小规模、接收者分布较为密集的情况,支持ASM模型。
SM(Sparse Mode):适用于大规模、接收者分布较为稀疏的情况,同时支持ASM模型和SSM模型。
域间组播路由协议:用来在AS之间传递组播源信息,从而跨域建立组播路由,实现域间组播资源共享。MSDP是典型的域间组播路由协议,通常与MBGP协同工作。MSDP适用于各域内运行PIM-SM的情况。
对于SSM模型来说,没有域内和域间的划分。由于接收者预先知道组播源的具体位置,因此可以借助PIM-SM的部分功能直接创建组播传输路径。
如果觉得回答能帮助到你,请给个最佳,谢谢!