IGMP Snooping协议简介(2)
时间:2009-11-26 18:57
来源:网络
作者:秩名
点击:
2. 利用igmp snooping实现二层组播 以太网交换机通过运行igmp snooping实现对igmp报文的侦测,并为主机及其对应端口与相应的组播组地址建立映射关系。为实现
2. 利用igmp snooping实现二层组播 以太网交换机通过运行igmp snooping实现对igmp报文的侦测,并为主机及其对应端口与相应的组播组地址建立映射关系。为实现igmp snooping,二层以太网交换机对各种igmp报文的处理过程如图3-5所示。 igmp通用查询报文:igmp通用查询报文是组播路由器向组播组成员发送的报文,用于查询哪些组播组存在成员。当收到igmp通用查询报文时,如果收到通用查询报文的端口原来就是路由器端口,以太网交换机就重置该端口的老化定时器;如果收到通用查询报文的端口原来不是路由器端口,则交换机启动对该端口的老化定时器。 igmp特定组查询报文:igmp特定组查询报文是组播路由器向组播组成员发送的报文,用于查询特定组播组是否存在成员。当以太网交换机收到igmp特定组查询报文时,只向被查询的ip组播组发特定组查询。 igmp报告报文:igmp报告报文是主机向组播路由器发送的报告报文,用于申请加入某个组播组或者应答igmp查询报文。当以太网交换机收到igmp报告报文时,首先判断该报文要加入的ip组播组对应的mac组播组是否已经存在。 如果对应的mac组播组不存在,不只是通知路由器有成员加入某个组播组,还会新建mac组播组,并将接收报告报文的端口加入该mac组播组中,同时启动该端口的老化定时器,将该端口所属vlan下存在的所有路由器端口加入到此mac组播转发表中,而且新建ip组播组,并将接收报告报文的端口加入到ip组播组中。 如果该报文对应的mac组播组已经存在,但是接收报告报文的端口不在该mac组播组中,则将接收报告报文的端口加入mac组播组中并启动该端口的老化定时器,然后判断此报文对应的ip组播组是否存在:如果不存在,则新建ip组播组并把接收报告报文的端口加入到ip组播组中,如果存在则将接收报告报文的端口加入到ip组播组中。 如果该报文对应的mac组播组已存在,并且接收报告报文的端口也已经存在于该mac组播组,则仅重置接收报告报文的端口上的老化定时器。 igmp离开报文:igmp离开报文是组播组成员向组播路由器发送的报文,用于告知路由器主机离开了某个组播组。当以太网交换机收到对某ip组播组的离开报文,则会向接收此离开报文的端口发送所离开组的特定组查询报文,以确认此端口相连的主机中还有没有此组播组的其他成员,同时启动一个响应查询定时器。如果在该定时器超时的时候还没有收到该组播组的报告报文,则将该端口从相应mac组播组中删去。如果mac组播组没有组播成员端口时,交换机将通知组播路由器将该分支从组播树中删除。 可以通过将二层交换机的某个端口配置为组播组成员来响应组播路由器的igmp查询报文,从而避免组播路由器认为当前网段没有组播组的成员而取消相应的路径。具体配置原理及配置过程可参见“6.3.10 配置路由器加入指定组播组”。 缺省情况下,二层交换机端口不加入任何组播组。 指定的端口必须属于该vlan,且该vlan使能了igmp snooping协议,否则配置不会起作用。 |