为了使路由器知道多播组成员的信息,需要利用网际组管理协议(Internet Group Man-agement Protocol,IGMP)。连接在局域网上的多播路由器还必须和Internet上的其他多播路由器协同工作,以便把多播数据报用最小代价传送给所有的组成员。这就需要使用多播路由选择协议。
图4-15强调了IGMP的本地使用范围。IGMP并非在Internet范围内对所有多播组成员进行管理的协议。IGMP不知道IP多播组包含的成员数,也不知道这些成员都分布在哪些网络上。
图4-15 IGMP使多播路由器知道多播组成员信息
IGMP是让连接在本地局域网上的多播路由器知道本局域网上是否有主机(严格讲,是主机上的某个进程)参加或退出了某个多播组。
IGMP已有3个版本。1989年 公布的RFC 1112(IGMP v1)早已成为Internet的标准协议。1997年公布的RFC 2236(IGMP v2,建议标准)对IGMP v1进行了更新。2002年10月公布了RFC 3376(IGMP v3,建议标准),宣布RFC 2236(IGMP v2)是陈旧的。和IC-MP相似,IGMP使用IP数据报传递其报文(即IGMP报文加上IP首部构成IP数据报),但它也向IP提供服务。因此,不要把IGMP看成是一个单独的协议,而是属于整个网际协议IP的一个组成部分。(www.xing528.com)
从概念上讲,IGMP的工作可分为两个阶段。
第一阶段:当某个主机加入新的多播组时,该主机应向多播组的多播地址发送IGMP报文,声明自己要成为该组的成员。本地的多播路由器收到IGMP报文后,将组成员关系转发给Internet上的其他多播路由器。
第二阶段:因为组成员关系是动态的,因此本地多播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否还继续是组的成员。只要某个组有一个主机响应,那么多播路由器就认为这个组是活跃的。但一个组在经过几次的探询后仍然没有一个主机响应,则不再将该组的成员关系转发给其他的多播路由器。
IGMP的报文格式可参阅有关文档。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。