admin管理员组

文章数量:1530278

2024年4月1日发(作者:)

1 IGMP 协议

IGMP用来动态的将各个主机注册到特定局域网中的一个组播组中。主机向本地的组播

路由器发送IGMP消息来表明自己所属的组播组。在IGMP协议中,路由器侦听IGMP消

息并周期的发出查询,以发现某个子网上哪些组是活动的,哪些是不活动的。

IGMP消息在IP数据报内发送,用IP协议号2来标识。同时,将IP存活时间(TTL)

字段值设定为1,因此IGMP信息处于本地范围本子网内传送并且不会被路由器转发。

1989年,IGMP版本1(RFClll2)第一次详细定义了IGMP规范。后来施乐公司对最早的IGMP

版本1进行了大幅更新,产生了IGMP版本2(RFC2236)。到目前为止IGMP版本3规范己

经称为IETF正式标准(RFC3376),通用的是IGMPv2。IGMPvl实现简单,但是有离开延迟

过大和选择查询路由器需要依赖组播路由协议的缺点,IGMPv2对此进行了改进。IGMPv3

协议的主要目的是支持源特定组播,并进一步对IGMPv2进行完善。

1.1 IGMPv1协议

1.1.1 IGMPv1的工作原理

在IGMPvl中定义了基本规则、组成员查询机制和报告机制。当某接收主机希望接收到某个

组播组的数据时,它会向本地链路上的查询路由器发送加入消息,通知查询路由器本机希望

申请加入的组播组;查询路由器收到加入消息之后,把这条消息加入到查询路由器所维护的

状态列表,同时向源发起建立组播分发树的请求;查询路由器在设定的周期内发起组成员查

询消息;接收主机收到查询消息之后,会向查询路由器发送报告消息来应答查询,否则查询

路由器会认为不存在接受主机;主机如果想离开某个组播组,就对路由器的查询保持沉默,

经过一定时间,路由器便知道子网内没有组成员了。

1.1.2 IGMPv1报文格式

IGMPvl报文格式如图2-4所示,

图2-4 IGMPv1报文格式

其主要内容包括:

(1) 版本字段表示IGMP协议的版本号,在IGMP中置为1.

(2) 类型字段,在IGMPv1中,只有两个值:

取值为0x11,表示该报文为成员关系查询(Membership Query),主要是由路由器使用。

取值为0x12,表示该报文为成员关系报告(Membership Report),主要是主机使用。

(3) 校验和字段用于数据报文的校验。

(4) 组地址字段。当用于成员关系查询时,本字段置为0,并被主机忽略;当用于成员关

系报告时,本字段包含组播组地址。

IGMPv1报文在网络中传输完整的报文格式如图2-5:

图2-5 在网络中传输的IGMPv1报文

1.1.3 IGMPv1工作过程

本文标签: 查询路由器组播消息