天天看点

【数通面试私房菜之组播专题】第四期: IGMP Snooping二层中组播数据转发的问题IGMP Snooping机制的提出,解决了二层组播泛洪问题。

二层中组播数据转发的问题

组播数据在二层被泛洪,造成:

Ø 网络资源浪费。

Ø 存在安全隐患。

主机加入组播组需要向上游设备发送IGMP成员报告,这样上游设备才可以将组播报文发送给主机。由于IGMP报文是封装在IP报文内,属于三层协议报文,而二层设备不处理报文的三层信息,所以主机加组的过程二层设备并不知道,而且通过对数据链路层数据帧的源MAC地址的学习也学不到组播MAC地址(数据帧的源MAC地址不会是组播MAC地址)。

这样当二层设备在接收到一个目的MAC地址为组播MAC地址的数据帧时,在MAC地址表中就不会找到对应的表项。那么这时候,它就会采用广播方式发送组播报文,这样一来不但对网络资源造成的极大浪费而且影响网络安全。

IGMP Snooping机制的提出,解决了二层组播泛洪问题。

IGMP Snooping工作原理

Ø IGMP Snooping可以实现组播数据帧在数据链路层的转发和控制。

Ø 使能IGMP Snooping功能后,二层设备会侦听主机和路由器之间交互的IGMP报文。通过分析报文中携带的信息(报文类型、组播组地址、接收报文的接口等),建立和维护二层组播转发表,从而指导组播数据帧在数据链路层按需转发。

IGMP Snooping建立和维护二层组播转发表的过程:

1) RTA作为查询器,周期性的发送普遍组查询,该报文被扩散到交换机的所有端口,包括与交换机CPU相连的内部接口0。交换机CPU收到查询报文后,判断1号接口为连接路由器的接口。

继续阅读