网际组管理协议应视为网际协议IP的一个组成部分
作用
让连接在本地局域网上的多播路由器知道本局域网上是否有主机(严格来讲是主机上的某个进程)参加或退出了某个多播组
报文类型
成员报告报文、成员查询报文、离开组报文
工作的两个阶段
1、第一阶段:主机加入新的多播组时,该主机向多播组的多播地址发送一个IGMP报文,声明要成为该组的成员,本地的多播路由器收到IGMP报文后,将成员关系转发给因特网上的其他多播路由器
2、第二阶段:组成员关系是动态的,本地多播路由器周期性地探寻本地局域网上的主机,以便知道这些主机是否仍继续是组的成员,只要对某个组有一台主机响应,那么多播路由器就认为这个组是活跃的。如果一个组在经过几次的探询后仍然没有一台主机响应时,则不再将该组的成员关系转发给其他的多播
为了避免多播控制信息给网络增加过多的开销,所采取的措施
1、在主机和多播路由器之间的所有通信都是使用IP多播
2、多播路由器在探询组成员关系时,只需要对所有的组发送一个请求信息的询问报文,而不需要对每一个组发送一个询问报文。默认的询问速率是每125秒发送一次
3、当同一个网络上连接有几个多播路由器时,它们能够迅速和有效地选择其中的一个来探询主机的成员关系
4、在IGMP的询问报文中有一个数值N,它指明一个最长响应时间(默认值为10秒)。当收到询问时,主机在0到N之间随机选择发送响应所需要经过的时延。对应于最小时延的响应最先发送
5、同一个组内的每个主机都要监听响应,只要有本组的其他主机先发送了响应,主机就可以不再发送响应了
优点
设计得很巧妙,避免了多播控制信息给网络增加大量开销
实现因特网多播的路由算法
1、基于链路状态的路由选择
2、基于距离-向量的路由选择
协议无关的多播(PIM)(可以建立在任何路由协议上)