组播vs单播
组播地址
组播报文的目的地址使用 d 类 ip 地址,
范围是从 224.0.0.0 到 239.255.255.255。d 类地址不能出现在 ip 报文的源 ip 地址字段。
224.0.0.0~224.0.0.255 为预留的组播地址(永久组地址) 只能用于局域网中,路由器是不会转发的地址。
224.0.0.0 保留不做分配,其它地址供路由协议使用。
224.0.1.0~238.255.255.255 为用户可用的组播地址(临时组地址),可以用于 Internet 上的。
239.0.0.0~239.255.255.255 为本地管理组播地址,仅在特定的本地范围内有效。
例如:224.0.0.1子网所有系统
224.0.0.2 子网所有路由器
224.0.0.22 igmp v3组地址
igmp版本对比
IGMP(Internet组管理协议)是用于记录和跟踪组播路由器以及其相连网络中组成员变化情况的一种协议。IGMP只是用于路由器及其组内成员管理的,而组内成员不能通过这个协议获知网络中其他组成员的信息,也不能用于在广域网上完成组播信息的路由。
IGMP中主要有两种报文:查询报文(membership_query)和应答报文(membership_report)。Query一般用于路由器在查询与它相连接的节点所加入的所有组播组,路由器希望每个组播组至少有一个成员发回一个应答,所以它的目的IP字段为224.0.0.1,这个地址是一个代表所有主机组的地址,只要主机支持组播,则这个IP地址就会成为相应接口的一个地址。这样就保证了只要主机支持组播,则它就能够收到query查询报文(不管它具体属于哪个组播组)。
Report报文用于组播组成员通知路由器,这时它的目的地址改成了相应的组地址,正因为这样,子网内所有属于此组的成员都能收到report报文。路由器收到report报文后在其接口的路由表上标识出至少还有一个主机的属于该组播组。当路由器收到要转发的组播数据报时,它就会将数据报转发到还拥有属于那个组主机的接口上。
报文分类
0x11 成员关系查询报文(Membership Qeury)
版本3成员关系查询报文
通用成员查询
特定成员查询
0x22 版本 3 成员关系报告报文(version 3 Membership Report)
0x12 版本 1 成员关系报告报文(version 1 Membership Report)
0x16 版本 2 成员关系报告报文(version 2 Membership Report)
0x17 版本 2 离开报文(version 2 Leave Group)。
组播交互过程
报文分析
成员关系报告信息,加入源为55.1.1.1的组播232.1.1.1,224.0.0.22为固定的组播地址,指代的是v3 管理器
成员关系普遍组查询,组地址为0.0.0.0
成员关系报告,离开源为55.1.1.1的组232.1.1.1
igmp snooping和igmp proxy