igmp报文格式

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

以太网交换机通过运行IGMP Snooping实现对IGMP报文的侦测,并为<主机> 及<其对应端口>与相应的<组播组地址>建立映射关系。为实现IGMP Snooping,二层以太网交换机对各种IGMP报文的处理过程如胶片所示:

IGMP通用查询报文:IGMP通用查询报文是组播路由器向组播组成员发送的报文,用于查询哪些组播组存在成员。当收到IGMP通用查询报文时,如果收到通用查询报文的端口原来就是路由器端口(ROUTER PORT),以太网交换机就重置该端口的老化定时器;如果收到通用查询报文的端口原来不是路由器端口,则交换机启动对该端口的老化定时器。

IGMP特定组查询报文:IGMP特定组查询报文是组播路由器向组播组成员发送的报文,用于查询特定组播组是否存在成员。当以太网交换机收到IGMP特定组查询报文时,只向被查询的发特定组查询。

IGMP报告报文:IGMP报告报文是主机向组播路由器发送的报告报文,用于申请加入某个组播组或者应答IGMP查询报文。当以太网交换机收到IGMP报告报文时,首先判断该报文要加入的对应的是否已经存在。

如果该报文对应的MAC组播组不存在,则新建MAC组播组,并将接收报告报文的端口加入该MAC组播组中,同时启动该端口的老化定时器,将该端口所属VLAN下存在的所有路由器端口加入到此MAC组播转发表中,而且新建IP组播组,并将接收报告报文的端口加入到IP组播组中。

如果该报文对应的MAC组播组已经存在,但是接收报告报文的端口不在该MAC组播组中,则将接收报告报文的端口加入MAC组播组中并启动该端口的老化定时器,然后判断此报文对应的IP组播组是否存在:如果不存在,则新建IP组播组并把接收报告报文的端口加入到IP组播组中,如果存在则将接收报告报文的端口加入到IP组播组中。

如果该报文对应的MAC组播组已存在,并且接收报告报文的端口也已经存在于该MAC组播组,则仅重置接收报告报文的端口上的老化定时器。

IGMP离开报文:IGMP离开报文是组播组成员向组播路由器发送的报文,用于告知路由器主机离开了某个组播组。当以太网交换机收到对某IP组播组的离开报文,则会向接收此离开报文的端口发送所离开组的特定组查询报文,以确认此端口相连的主机中还有没有此组播组的其他成员,同时启动一个响应查询定时器。如果在该定时器超时的时候还没有收到该组播组的报告报文,则将该端口从相应MAC组播组中删去。如果MAC组播组没有组播成员端口时,交换机将通知组播路由器将该分支从组播树中删除。

看看利用IGMP Snooping建立和维护组播组的过程:

1、在上图中,PC2希望加入组播组224.1.2.3,因此组播一个IGMP成员报告给该组,报告中具有目的MAC地址0x0100-5e01-0203。最初转发表上没有这个组播MAC地址的表项,所以该报告被扩散到交换机的所有端口,包括与交换机CPU相连的内部端口0;

2、当CPU收到PC2组播的IGMP报告时,此CPU利用IGMP报告中的信息建立了一个转发表项,此表项包括PC2的端口号,连接路由器的端口号和连接交换机内部CPU的端口号;

3、形成此转发表项的结果是使后面任何目的地址为0x0100-5e01-0203的组播帧都被抑制在端口0、1和3,而且不向交换机其他端口扩散。

4、假设PC4要加入该组,并主动发一个IGMP报告给该组,交换机根据转发表项向外部端口1和3转发此报告。交换机的CPU也收到此报告,它在转发表项上为MAC地址0x0100-5e01-0203增加一个端口(端口5)。

相关文档
最新文档