防火墙中提到的IGMP,IGMP是啥呀
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/18 20:27:25
防火墙中提到的IGMP,IGMP是啥呀
防火墙中提到的IGMP,IGMP是啥呀
防火墙中提到的IGMP,IGMP是啥呀
Internet组管理协议
(IGMP:Internet Group Management Protocol)
Internet 组管理协议(IGMP)是因特网协议家族中的一个组播协议,用于 IP 主机向任一个直接相邻的路由器报告他们的组成员情况.IGMP 信息封装在 IP 报文中,其 IP 的协议号为 2.IGMP 具有三种版本,即 IGMP v1、v2 和 v3.
IGMPv1:主机可以加入组播组.没有离开信息(leave messages).路由器使用基于超时的机制去发现其成员不关注的组.
IGMPv2:该协议包含了离开信息,允许迅速向路由协议报告组成员终止情况,这对高带宽组播组或易变型组播组成员而言是非常重要的.
IGMPv3:与以上两种协议相比,该协议的主要改动为:允许主机指定它要接收通信流量的主机对象.来自网络中其它主机的流量是被隔离的.IGMPv3 也支持主机阻止那些来自于非要求的主机发送的网络数据包.
IGMP 协议变种有:
距离矢量组播路由选择协议(DVMRP:Distance Vector Multicast Routing Protocol)
IGMP 用户认证协议 (IGAP:IGMP for user Authentication Protocol)
路由器端口组管理协议(RGMP:Router-port Group Management Protocol)
协议结构
IGMP v3 必须实现5种基本信息类型且与以前的版本相兼容:
0x11:会员查询
0x22:第3版本会员报告
0x12:第1版本会员报告
0x16:第2版本会员报告
0x17:第2版本离开组
它用来在ip主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系.igmp不包括组播路由器之间的组成员关系信息的传播与维护,这部分工作由各组播路由协议完成.所有参与组播的主机必须实现igmp.
参与ip组播的主机可以在任意位置、任意时间、成员总数不受限制地加入或退出组播组.组播路由器不需要也不可能保存所有主机的成员关系,它只是通过igmp协议了解每个接口连接的网段上是否存在某个组播组的接收者,即组成员.而主机方只需要保存自己加入了哪些组播组.
igmp在主机与路由器之间是不对称的:主机需要响应组播路由器的igmp查询报文,即以igmp membership report报文响应;路由器周期性发送成员资格查询报文,然后根据收到的响应报文确定某个特定组在自己所在子网上是否有主机加入,并且当收到主机的退出组的报告时,发出特定组的查询报文(igmp版本2),以确定某个特定组是否已无成员存在.
到目前为止,igmp有三个版本:igmp版本1(由rfc1112定义)、igmp版本2(由rfc2236定义)和igmp版本3.目前应用最多的是版本2.
igmp版本2对版本1所做的改进主要有:
(1)共享网段上组播路由器的选举机制
共享网段表示一个网段上有多个组播路由器的情况.在这种情况下,由于此网段上运行igmp的路由器都能从主机那里收到成员资格报告消息,因此,只需要一个路由器发送成员资格查询消息,这就需要一个路由器选举机制来确定一个路由器作为查询器.
在igmp版本1中,查询器的选择由组播路由协议决定;igmp版本2对此做了改进,规定同一网段上有多个组播路由器时,具有最小ip地址的组播路由器被选举出来充当查询器.
(2)igmp版本2增加了离开组机制
在igmp版本1中,主机悄然离开组播组,不会给任何组播路由器发出任何通知.造成组播路由器只能依靠组播组响应超时来确定组播成员的离开.而在版本2中,当一个主机决定离开时,如果它是对最近一条成员资格查询消息作出响应的主机,那么它就会发送一条离开组的消息.
(3)igmp版本2增加了对特定组的查询
在igmp版本1中,组播路由器的一次查询,是针对该网段下的所有组播组.这种查询称为普遍组查询.
在igmp版本2中,在普遍组查询之外增加了特定组的查询,这种查询报文的目的ip地址为该组播组的ip地址,报文中的组地址域部分也为该组播组的ip地址.这样就避免了属于其它组播组成员的主机发送响应报文.
(4)igmp版本2增加了最大响应时间字段
igmp版本2增加最大响应时间字段,以动态地调整主机对组查询报文的响应时间.