IGMP用途
用于主机和路由器进行多播的协议。它让一个物理网络上的所有系统知道主机当前所在的多播组。多播路由器需要这些信息以便知道多播数据报应该向哪些接口转发。
IGMP报文
IGMP报文格式中没有可选项。
IGMP协议细节
加入一个多播组
一个主机通过组地址和接口来识别一个多播组。主机必须保留一个表,此表中包含所有至少含有一个进程的多播组以及多播组中的进程数量。进程在一个主机的给定接口上加入了一个多播组,在一个给定接口上的多播组成员是动态的。一个进程可以在多个接口上加入同一多播组。
IGMP报告和查询
多播路由器对每个接口保持一个表,表中记录接口上至少还包含一个主机的多播组。当路由器收到要转发的多播数据报时,它只将该数据报转发到(使用相应的多播链路层地址)还拥有属于那个组主机的接口上。
具体规则如下:
D类IP组播地址为从224.0.0.0到239.255.255.255。从224.0.0.0到224.0.0.255的特殊地址空间是打算用于多播范围不超过1跳的应用。不管TTL值是多少,多播路由器均不转发目的地址为这些地址中的任何一个地址的数据报。
原文:https://www.cnblogs.com/chen-cs/p/12880356.html