云服务器

IP组播协议-IGMPv1工作原理

2019-12-04 16:27:27 141

01

 IGMPv1报文

近年来,随着Internet的迅速普及和快速发展,在Internet上产生了许多新的应用,其中IP组播技术为多数研究热点,其独特的优越性在于,在组播网络中,即使用户数量成倍增长,主干带宽不需要随之增加。这个优点使它成为当前网络技术中的研究热点之一。 


本期小普主要介绍IP组播协议-IGMPv1工作原理,希望通过本文能使读者对组播技术有简单的了解。

而想要理解IGMPv1的工作原理,首先要了解IGMPv1有哪些的报文类型,IGMPv1有以下两种类型的报文,分别是:


1、 普遍组查询报文(General Query):查询器向共享网络上所有主机和路由器发送的查询报文,用于了解哪些组播成员存在。

Report):主机向查询器发送的报告报文,用于申请加入某个组播组成员或者应答。

IGMPv1的报文格式:


以下是IGMPv1报文的字段说明:

Version——GIMP版本,值为1 

Type——报文类型:0x1(表示普遍组查询报文);0x2(表示成员报告报文)

Unused——在IGMPv1当中,该字段在发送时被设为0,并在接收时被忽略

Checksum——IGMP报文的校验和:校验和是IGMP报文长度(即IP报文的整个有效负载)的16位检测,表示IGMP信息补码之和的补码。CheckSum字段在进行校验计算时设为0.当发送报文时,必须计算校验和并插入到CheckSum字段中去。当接收报文时,校验和必须在处理该报文之前进行校验。

Group Address——组播组地址:在普遍组查询报文中,该字段设为0;在成员报告报文中,该字段为成员计入的组播组地址


02

 IGMPv1工作机制


IGMPv1协议主要基于查询和响应机制完成组播组管理。当一个网段内有多个组播路由器时,由于他们都可以接收到主机发送的成员报告报文,因此只需要选取其中一台组播路由器发送查询报文就足够了,该组播路由器称为IGMP查询器(Querier)。在IGMPv1中,由组播路由器PIM选举出唯一的组播信息转发者(Assert WinnerDR)作为IGMPv1的查询器,负责该网段的组成员关系查询。

IGMPv1的工作机制可以分为:普遍组查询和响应机制、新组成员计入机制和组成员离开机制。


1、 普遍组查询和响应机制

通过普遍组查询和响应,IGMP查询器可以了解到该网段内有哪些组播存在成员。


如上图,普遍组查询和响应过程如下:


第一步:

IGMP查询器发送目的地址224.0.0.1(表示同一网段内所有主机和路由器)的普遍组查询报文;收到该查询报文的组成员启动定时器。普遍组查询报文是周期性发送的,发送周期可以通过命令配置,缺省情况下每隔60秒发送一次。例如PC8PC9是组播组G1的成员,则在本地启动定时器Time-G1,缺省情况下,定时器的范围为0~10秒之间的随机值。


第二步:

第一个定时器超时的组成员发送针对该组的报告报文。假设PC8Timer-G1首先超时,PC8向该网段发送目的地址为G1的报告报文。也想加入组G1PC9收到此报告报文,则停止定时器Timer-G1,不再发送针对G1的报告报文。这样报告报文被抑制,可以减少网段上的流量。


第三步:

IGMP查询组接收到PC8的报告报文后,了解到本网段内存在组播组G1的成员,则由组播路由协议生成(*,G1)组播转发表项,“*”代表任意组播源。网络中一旦有组播组G1的数据到达路由器,将向该网段转发。


2、 新成员加入机制

如上图,HostC加入组播组G2的过程如下:

1、 主机C不等待普遍组查询报文的到来,主动发送针对G2的报告报文以声明加入。

2、 IGMP查询器接收到C的报告报文后,了解到本地段内出现了组播组G2的成员,则生成组播转发项(*,G2)。网络中一旦有G2的数据到达路由器,将向该网段转发。


3、 组成员离开机制


IGMPv1没有专门定义离开组的报文。主机离开组播组后,便不会再对普遍组查询报文作出回应。


假设PC8想退出组播组G1

PC8收到IGMP查询器发送的普遍组查询报文时,不再发送针对G1的报告报文。由于网段内还存在G1组成员PC9PC9会向IGMP查询器发送针对G1的报告报文,因此IGMP查询器感知不到PC8的离开。


假设PC10向退出组播组G2

PC10收到IGMP查询器发送的普遍组查询报文时,不再发送针对G2的报告报文。由于网段内不存在组G2的其他成员,IGMP查询器不会收到G2组成员的报告报文,则在一定时间(缺省值为130秒)后,删除G2所对应的组播转发表项。




睿江云官网链接:https://www.eflycloud.com/home?from=RJ0032


微信关注

获取更多技术咨询