IGMP协议

IGMP:因特网组管理协议,手机TCP/IP协议族中负责IP组播成员管理的协议,它用来在接受者和与其直接相邻的组播路由器之间创建、维护组播组成员关系。ide

接受者与路由器须要交换哪些信息呢spa

1.接受者须要声明本身要接受哪一个组的数据blog

2.路由器须要了解哪些组播组存在接受者ip

组成员管理-IGMP:因特网组管理协议路由

IGMP协议运行在主机与组播路由器之间get

做用:it

主机侧:经过IGMP协议向路由器通告组成员关系io

路由器侧:经过IGMP协议维护组成员关系class

IGMPv1的工做机制:cli

wKioL1mdIiSRPaEvAAB5Cc8h9lM515.png

IGMPv1版本支持两种报文:

广泛组查询报文(General Query):路由器会周期性的向224.0.0.1这个地址发送查询报文,默认周期时间为60S

成员关系报告报文(Membership Report):用于主机加入某个组播组

若是所示,广泛组查询和响应过程以下:

①RTA发送广泛组的查询报文

②网段内的全部主机都收到该查询报文,clintA和clintC是属于G1组的,因此他们就启动定时器Timer-G1,clintB属于G2组,因此启动timer-G2。定时器的范围是0-10s,定时器先超时的主机发送该组的成员关系

③原本当RTA发送一个查询报文的时候,同一个网段内的全部主机都须要给RTA发送一个消息确认,这样就形成了网段内的大量流量,因此,当clintC收到clintA发送的成员关系报文以后,则中止定时器,不在发送针对G1的成员关系报文,这样就减小了协议流量,这就是抑制机制

IGMPv1成员加入:

若是有clintD加入这个组,为了快速接受组播数据,clintD会主动发送IGMP成员关系报文,标识但愿加入这个组,RTA收到之后,就会向该网段转发数据

组成员的离开:

静默离开:不打任何招呼就走了,很是讨厌啊

组成员离开的话,RTA不会收到组成员关系报文,以后会在130s以后会删除这个组播

查询器选举:

依赖于组播路由协议

选举规则:

优先级以大为优

若相同,IP地址以大为优


IGMPv2:

改进了组成员离开

ClintB向本网段内的全部组播路由器(亩的地址为224.0.0.2)发送针对组G2离开的消息,而后查询器收到了离开的报文,会发送针对这个G2的特定组的查询报文,同时启动组成员关系定时器,每隔1s发送一次,一共发送2次,速度仍是很快的,比V1版本强太多了。若是G2组没有成员了,那么路由器就删除了这个组播,若是这个组播还有主机,那么就接着向该网段转发数据

改进了查询器选举

独立的查询器选举机制

全部的IGMPv2版本的路由器在初始状态都认为本身是查询器,而后他们向本网段内的路由器和主机发送广泛组查询报文,而后另外一个路由器收到这个查询报文以后,会将报文中的IP地址和本身的IP地址进行比较,哪一个IP地址小就成为查询器,也就是winer。

IGMPv3版本:

这个版本很简单啦,简单的来讲,就是哪些我想接受,哪些我不想接受,把不想接受的过滤掉,留下我想接受的,简单吧。

各个版本的差别:

wKiom1mdIkDhTEf_AAAwnvP_jwc923.png

相关文章
相关标签/搜索