CN101771611A - 在vlan内精确转发ip组播数据的方法和转发设备 - Google Patents
在vlan内精确转发ip组播数据的方法和转发设备 Download PDFInfo
- Publication number
- CN101771611A CN101771611A CN200910312869A CN200910312869A CN101771611A CN 101771611 A CN101771611 A CN 101771611A CN 200910312869 A CN200910312869 A CN 200910312869A CN 200910312869 A CN200910312869 A CN 200910312869A CN 101771611 A CN101771611 A CN 101771611A
- Authority
- CN
- China
- Prior art keywords
- multicast
- forwarding
- port
- transmitting
- transmits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000012217 deletion Methods 0.000 claims description 21
- 230000037430 deletion Effects 0.000 claims description 21
- 230000001965 increasing effect Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 12
- 230000008878 coupling Effects 0.000 claims description 7
- 238000010168 coupling process Methods 0.000 claims description 7
- 238000005859 coupling reaction Methods 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明涉及组播技术,提供一种在VLAN内根据组播组IP地址和组播源IP地址进行精确转发IP组播数据的方法和交换设备,通过建立识别组播源的转发表项,从而使用户真正屏蔽掉不想接收的组播源,在转发设备中形成包含组播源的组播转发表,然后依据该组播转发表生成硬件IP组播转发表,二层硬件IP组播转发表无需在组播转发表的基础上进行修改,无需针对硬件的交换芯片进行修改。
Description
技术领域
本发明涉及组播技术。
背景技术
IGMP(Internet Group Management Protocol,互联网组管理协议)是TCP/IP协议族中负责IP组播成员管理的协议,用来在IP主机和与其直接相邻的组播转发设备之间建立、维护组播组成员关系。对于交换机而言,其接收到从组播转发设备下发的组播数据,在没有组播成员关系表时,会向其VLAN(虚拟局域网)内所有主机转发,直接在VLAN内洪泛。为了有效抑制组播数据在链路层的扩散,引入了IGMP Snooping(因特网组成员管理协议监听)二层组播协议。IGMP snooping通过监听下游接收者发送给上游转发设备的IGMP报告,建立组播组和端口的对应关系。组播数据进入组播转发设备后按照对应关系进行转发。传统的交换机只根据组MAC(Media Access Control,媒体接入控制)地址来转发组播数据。由于组播MAC地址和组播IP地址的映射关系不是唯一对应的,即32位IP组播地址可变化的28bit中只映射了23bit,还剩下5bit可自由变化,所以,每32个(25=32)IP组播地址映射一个组播MAC地址。由于IP组播地址同MAC组地址是32:1的对应关系,因此依靠MAC转发并不能真正的控制组播数据的精确转发,造成不必要的带宽浪费。
如何实现在VLAN内精确转发IP组播数据的问题有待解决。在2008年公开的中国专利申请CN101286990A中,实现了在转发组播数据的转发表中增加了组ID的字段,用于区分相同MAC不同IP的组播组。该技术的实现需要针对硬件的交换芯片(L2MC交换芯片)进行修改,但是目前采购的交换芯片是不支持该功能的。另外,该技术也不能实现对组播源IP进行识别和转发。
到目前为止,IGMP有三个版本:IGMPv1(由RFC 1112定义)、IGMPv2(由RFC 2236定义)、IGMPv3(由RFC 3376定义)。IGMPv3在兼容和继承IGMPv1和IGMPv2的基础上,进一步增强了主机的控制能力,并增强了查询和报告报文的功能。主机控制能力的增强:IGMPv3增加了针对组播源的过滤模式(过滤模式包括INCLUDE、EXCLUDE,其中INCLUDE为明确要求接收来自某特定组播源的组播信息,EXCLUDE为明确要求拒绝来自某特定组播源的组播信息),使组播组成员在加入某组播组的同时,能够明确要求接收或拒绝来自某特定组播源的组播信息。IGMPv3可以携带一个或多个组记录。在每个组记录中,包含有组播组地址和组播源地址列表。组记录可以分为多种类型,如下:
IS_IN:表示组播组与组播源列表之间的过滤模式为INCLUDE,即只接收从指定组播源列表发往该组播组的组播数据;
IS_EX:表示组播组与组播源列表之间的过滤模式为EXCLUDE,即只接收从指定组播源列表之外的组播源发往该组播组的组播数据;
TO_IN:表示组播组与组播源列表之间的过滤模式由EXCLUDE转变为INCLUDE;
TO_EX:表示组播组与组播源列表之间的过滤模式由INCLUDE转变为EXCLUDE;
ALLOW:表示在现有状态的基础上,还希望从某些组播源接收组播数据。如果当前的过滤模式为INCLUDE,则向现有组播源列表中添加这些组播源;如果当前的过滤模式为EXCLUDE,则从现有组播源列表中删除这些组播源;
BLOCK:表示在现有状态的基础上,不再需要从某些组播源接收组播数据。如果当前的过滤模式为INCLUDE,则从现有组播源列表中删除这些组播源;如果当前的过滤模式为EXCLUDE,则向现有组播源列表中添加这些组播源。
目前很多交换设备是可以做到在VLAN内匹配源IP地址及目的IP地址进行转发的,这种交换设备一般是为实现三层IP组播设计的,三层交换设备可以在将组播数据转发至入VLAN内的接收端口和各出VLAN的接收端口。
发明内容
本发明所要解决的技术问题是,提供一种在VLAN内根据组播组IP地址和组播源IP地址进行精确转发IP组播数据的方法和交换设备。
本发明为解决上述技术问题所采用的技术方案是,在VLAN内精确转发IP组播数据的方法,包括以下步骤:
a、启动了IGMP snooping的转发设备,维护VLAN内各端口的组记录;
b、转发设备根据所述组记录,在VLAN内计算生成并维护针对该组播组的组播转发表,将组记录的变化映射到组播转发表;所述组播转发表包括(*,G)转发表与若干(S,G)转发表;所述(*,G)转发表项包括组播组IP地址、VLAN ID、转发端口列表;所述(S,G)转发表项包括组播源IP地址、组播组IP地址、VLAN ID、转发端口列表;
c、转发设备根据VLAN内的(*,G)转发表与(S,G)转发表生成硬件IP组播转发表;
d、转发设备根据硬件IP组播转发表进行组播数据的转发。
进一步的,转发设备在VLAN内转发组播数据时,首先匹配(S,G)转发表进行转发,匹配不到再匹配(*,G)转发表进行转发;为了便于维护,(*,G)转发表中记录(S,G)转发表的数量;组记录包括VLAN ID、组播组IP地址、过滤模式、转发的源列表,禁止的源列表;更进一步的,组记录为基于IGMPv3的组记录。VLAN内的(*,G)转发表与(S,G)转发表生成硬件IP组播转发表,(*,G)转发表与(S,G)转发表为软件转发表,由软件转发表生成的硬件转发表内容相同,硬件转发表使用的是三层交换机中IP组播转发表的VLAN内转发功能。
本发明还提供一种实现上述方法的交换设备,在VLAN内精确转发IP组播数据的转发设备,包括组记录模块、组记录处理模块、组播转发表模块、硬件IP组播转发表模块、硬件转发模块;所述组记录模块与组记录处理模块相连,组记录处理模块与组播转发表模块相连;组播转发表模块与硬件IP组播转发表模块相连,硬件IP组播转发表模块与硬件转发模块相连;
组记录模块,用于根据接收的主机成员的IGMP报告生成端口的组记录;
组记录处理模块,用于根据端口组记录的变化映射到VLAN内IP组播转发表;
组播转发表模块,用于维护VLAN内IP组播转发表;
硬件IP组播转发表模块,用于根据VLAN内IP组播转发表生成硬件IP组播转发表;
硬件转发模块,用于将接收到的IP组播数据在VLAN内通过硬件IP组播转发表进行转发。
具体的,组播转发表模块中维护的IP组播转发表包括(*,G)转发表与若干(S,G)转发表。
本发明的有益效果是,通过建立识别组播源的转发表项,从而使用户真正屏蔽掉不想接收的组播源,在转发设备中形成包含组播源的组播转发表,然后依据该组播转发表生成硬件IP组播转发表,二层硬件IP组播转发表无需在组播转发表的基础上进行修改,无需针对硬件的交换芯片进行修改。
附图说明
图1是端口组记录变化影响VLAN内IP组播转发表变化流程图。
图2是本发明方法实施例网络示意图。
图3是本发明实施例转发设备端口A收到IS_IN报告示意图。
图4是本发明实施例转发设备转发表和各端口组记录示意图。
图5为本发明实施例组播转发设备的结构框图。
具体实施方式
要实现在VLAN内精确转发IP组播数据的方法,VLAN内的交换设备(交换机)应为三层交换设备,转发设备需进行以下步骤:
a、启动了IGMP snooping的转发设备,维护VLAN内各端口的组记录;
b、转发设备根据所述组记录在VLAN内计算生成并维护针对该组播组的组播转发表,所述组播转发表包括(*,G)转发表与若干(S,G)转发表;所述(*,G)转发表项包括组播组IP地址、VLAN ID、转发端口列表;所述(S,G)转发表项包括组播源IP地址、组播组IP地址、VLAN ID、转发端口列表;
c、转发设备根据VLAN内的(*,G)转发表与(S,G)转发表生成硬件IP组播转发表;
d、转发设备根据硬件IP组播转发表进行组播数据的转发。
根据RFC3376定义的IGMPv3协议中有6种成员报告,分别是IS_IN,IS_EX,TO_IN,TO_EX,ALLOW,BLOCK,并包含有源定时器和组定时器这两种定时器。本发明转发设备的端口接收到以上六种报告报文和两种定时器到期的这八个事件均引发组记录变化。
一般来说,组记录的变化可以分为两类,过滤模式变化和源列表变化。过滤模式变化有两种:INCLUDE变为EXCLUDE,和EXCLUDE变为INCLUDE。源列表变化分为转发的源列表变化和禁止的源列表变化,其中转发或者禁止的源列表变化又可分为增加源和删除源。因此转发设备中组记录与转发相关的基本变化可归纳总结为六种:1、端口的组记录增加一个需要转发的组播源,2、端口的组记录中增加一条禁止的组播源时,3、端口的组记录中增加一条禁止的组播源,4、端口的组记录中删除一条禁止的组播源,5、过滤模式从INCLUDE变为EXCLUDE,6、过滤模式从EXCLUDE变为INCLUDE。
VLAN内的组播转发表针对转发端口列表一般有四种操作,分别为:添加(*,G)端口,添加(S,G)端口,删除(*,G)端口,删除(S,G)端口。同时对组播转发表有四种操作,建立和删除(*,G)转发表,建立和删除(S,G)转发表。
将转发设备端口组记录的六种变化同VLAN内组播转发表变化的映射起来,基本流程图见图1。根据这种方法可以完成将端口下维护的IGMPv3组记录综合形成VLAN内的(*,G)和(S,G)转发表项,从而达到通过识别源精确转发IP组播的功能。下面就组记录的六种变化映射到组播转发表与组播转发表具体过程,说明如下:
一、当端口的组记录增加一个需要转发的组播源时,在VLAN内将(S,G)转发表的转发端口列表中增加该端口。如果(*,G)转发表不存在,则要新建(*,G)转发表,转发端口列表中为空。如果(S,G)转发表不存在,则要新建(S,G)转发表,并拷贝(*,G)转发表中的转发端口列表到(S,G)转发表中的转发端口列表中,再将该端口增加到(S,G)转发表中的转发端口列表中。
二、当端口的组记录中删除一条需要转发的组播源时,在VLAN内将(S,G)转发表的转发端口列表中删除该端口。
三、当端口的组记录中增加一条禁止的组播源时,在VLAN内的(S,G)转发表中应该将该端口在转发端口列表中删除。此时如果(*,G)转发表不存在,是错误的情况。如果(S,G)转发表不存在则应该新建(S,G)转发表,并将(*,G)转发表的转发端口列表拷贝至(S,G)转发表中,并将该端口在(S,G)转发表的转发端口列表中删除。
四、当端口的组记录中删除一条禁止的组播源时,在VLAN内应在(S,G)转发表的转发端口列表中增加该端口。
五、过滤模式从INCLUDE变为EXCLUDE,这种情况应在(*,G)转发表的转发端口列表中增加该端口。如果没有(*,G)转发表,则新建(*,G)转发表,转发端口列表为空,再在转发端口列表中增加该端口。
六、过滤模式从EXCLUDE变为INCLUDE,这种情况应在(*,G)转发表的转发端口列表中删除该端口。
如果过滤模式变化和源列表变化在同一个事件中发生,应该先进行过滤模式变化的操作,再进行源列表变化的操作。如果在转发表添加端口时发现端口已经在转发端口列表中,或者删除端口时发现转发端口列表中没有该端口,则不应重复填加或删除端口。删除转发或禁止组播源的时候,如果没有找到对应的(S,G)转发表,则认为操作成功。
同时,对(*,G)转发表或(S,G)转发表的操作应按照以下四条规则进行:
一、在(*,G)转发表中增加转发端口时,应该在所有(S,G)转发表的转发端口列表中增加该转发端口。
二、只有当(*,G)转发表存在时才能创建(S,G)转发表,在创建时要将(*,G)转发表的转发端口列表拷贝到(S,G)转发表。
三、如果(S,G)转发表的转发端口和(*,G)转发表的转发端口相同,为了节约表项,应该删除(S,G)转发表。
四、如果(*,G)转发表没有转发端口,且(S,G)转发表的数量为零,则应删除(*,G)转发表。
通过以上描述可知,将六种组记录变化和组播转发表变化建立的对应关系,加上各种限制条件,就可以完成将各端口的组记录转化为VLAN内的组播转发表。
实施例1
如图2,有两个合法的组播源192.168.36.31,192.168.36.32和一个非法的组播源192.168.37.11,都向组播组224.1.1.12发送组播数据。三个组播源的组播数据都从并只从交换机的上联端口进入了交换机。交换机的端口A,B,C分别与主机A,B,C相连,并且端口A,B,C和上联端口属于且只属于同一个VLAN100。
如果主机以IGMPv2的报告报文来加入组播组,在转发时不能区分组播源,三个组播组的数据都会转发给接收者。采用IGMPv3报告报文来指定加入或禁止某些组播源,配合VLAN内丢弃没有转发表项的组播数据,很好的解决了这个问题。
当主机A只想接收来自192.168.36.31的组播数据,那么主机A就会向转发设备发送组播组224.1.1.12的IS_IN{192.168.36.31}的IGMPv3报告。如图3,交换机的IGMP snooping从端口A监听到此报告,在端口A的组记录中查找组224.1.1.12,没有找到则建立组播组224.1.1.12的组记录为INCLUDE{192.168.36.31}。因此产生的组记录的变化是,增加接收来自组播源192.168.36.31的组播数据,VLAN100内增加(192.168.36.31,224.1.1.12)转发端口的操作如下:
首先查找(*,224.1.1.12)的转发表,没有找到则创建(*,224.1.1.12)转发端口为空;之后查找(192.168.36.31,224.1.1.12)的转发表,没有找到则新建(192.168.36.31,224.1.1.12)的转发表,且该转发表从(*,224.1.1.12)复制转发端口,并在转发端口列表中增加端口A。
这样三个组播源的组播流量进入交换机以后首先查找该VLAN内的(S,G)转发表,找到了(192.168.36.31,224.1.1.12)转发表,按照转发端口转发到主机A,来自其它组播源向组播组224.1.1.12转发组播数据匹配到(*,224.1.1.12)转发表,但是没有转发端口,因此不会被转发,这样主机A就可以只接收来自192.168.36.31的组播数据了。
当主机B禁止接收来自组播源192.168.36.32的组播数据时,那么主机B就向组播组224.1.1.12发送IS_EX{192.168.36.32}的IGMPv3报告。端口B的组记录就变化为EXCLUDE模式,并且增加了禁止的组播源192.168.36.32。对应的VLAN内转发表操作是,在(*,224.1.1.12)和(192.168.36.31,224.1.1.12)都增加转发端口B,再查找(192.168.36.32,224.1.1.12)的表项,没有找到,因此新建(192.168.36.32,224.1.1.12)并拷贝(*,224.1.1.12)的转发端口,将(192.168.36.32,224.1.1.12)的转发端口列表中删除端口B。
这样组播数据流进入交换机中,如果是来自192.168.36.31的流量,匹配VLAN内的转发表项(192.168.36.31,224.1.1.12)转发至端口A,如果是来自192.168.36.32的流量,匹配到VLAN内的转发表项(192.168.36.32,224.1.1.12)的转发端口,由于此时其转发端口列表中没有任何端口,因此来自192.168.36.32的组播数据不会被转发。如果是其他组播源的组播数据,由于匹配不到VLAN内的(S,G)的转发表,则按照VLAN内的(*,G)转发表来进行转发,即按照VLAN内的(*,224.1.1.12)的转发端口列表,只转发至端口B。这样就达到了主机B不会接收到来自组播组192.168.36.32的组播数据的目的。而此时主机A仍然只能收到来自192.168.36.31和192.168.36.32的组224.1.1.12的组播数据,而主机C收不到任何的组播数据。
这时如果主机B发现收到了来自192.168.37.11的非法数据,而要禁止接收来自该组播源的组播数据时。主机B就将发送BLOCK{192.168.37.11}的IGMPv3报文,按照组记录状态机的处理,会在转发的组播源列表中增加192.168.37.11,源定时器值同当前组定时器,并发送指定源组192.168.37.11的查询,同时将源192.168.37.11的源定时器置为LMQT,这是个很小的值。B不会响应这个指定源组查询,源定时器到期后,源192.168.37.11将被移到禁止的源列表中,这时转发状态变为了稳定的状态。这个过程实际上进行了三个组记录的操作,增加转发的组播源,删除转发的组播源,增加禁止的组播源。对应于VLAN内的转发表的计算是,首先新建(192.168.37.11,224.1.1.12)的表项,复制(*,224.1.1.12)的端口列表到(192.168.37.11,224.1.1.12),在(192.168.37.11,224.1.1.12)的转发端口列表中增加端口B。之后定时器超时,在(192.168.37.11,224.1.1.12)的转发端口列表中删除端口B。
这样来自192.168.37.11的组播数据进入交换机中,首先会匹配到(192.168.37.11,224.1.1.12),按照转发端口来转发,由于转发端口中没有端口B,因此主机B不会收到数据,达到了主机B屏蔽来自非法源192.168.37.11的组播数据的目的。
主机C不想收到组224.1.1.12的数据,不会发送关于改组的IGMP加入消息,因此在VLAN内维护的关于该组的(*,G)和(S,G)转发表中的转发端口中都不会有该端口,来自该组的组播数据不是匹配到(S,G)就是匹配到(*,G),无论哪种匹配成功,都不会向该端口转发。因此主机C就不会收到任何关于组224.1.1.12的组播数据。最终形成的端口A、B、C下的组记录和VLAN下的转发表以及组播数据流向如图4。
实施例2
根据转发方法,提供了VLAN内精确转发IP组播数据的转发设备。图5是根据本发明所实现的在VLAN内精确转发IP组播数据转发设备的方框图,IP组播转发设备包括:
组记录模块51:用于根据接收的主机成员的IGMP报告生成端口下组记录。根据RFC3376定义的IGMPv3协议中有6种成员报告,分别是IS_IN,IS_EX,TO_IN,TO_EX,ALLOW,BLOCK,并包含有源定时器和组定时器这两种定时器。本发明转发设备的端口接收到以上六种报告报文和两种定时器到期的这八个事件均引发组记录变化。
组记录处理模块52,用于根据组记录的变化映射到IP组播转发表;具体操作如下:
a、组记录增加一个组播源时,将(S,G)转发表的转发端口列表中增加该端口;如果(*,G)转发表不存在,则要新建(*,G)转发表;如果(S,G)转发表不存在,则要新建(S,G)转发表,并拷贝(*,G)转发表中的转发端口列表到(S,G)转发表中的转发端口列表中,再将该端口增加到(S,G)转发表中的转发端口列表中;
b、组记录中删除一条组播源时,将(S,G)转发表的转发端口列表中删除该端口;
c、组记录中增加一条禁止的组播源时,在(S,G)转发表中将该端口在转发端口列表中删除;如果(S,G)转发表不存在则应该新建(S,G)转发表,并将(*,G)转发表的转发端口列表拷贝至(S,G)转发表中,并将该端口在(S,G)转发表的转发端口列表中删除;
d、组记录中删除一条禁止的组播源时,在(S,G)转发表的转发端口列表中增加该端口;
e、过滤模式从INCLUDE变为EXCLUDE,在(*,G)转发表的转发端口列表中增加该端口;如果没有(*,G)转发表,则新建(*,G)转发表,转发端口列表为空,再在转发端口列表中增加该端口;
f、过滤模式从EXCLUDE变为INCLUDE,在(*,G)转发表的转发端口列表中删除该端口。
组播转发表模块53,用于维护VLAN内IP组播转发表;根据组记录处理模块52的处理结果生成并维护IP组播转发表;该IP组播转发表包括(*,G)转发表与若干(S,G)转发表。
硬件IP组播转发表模块54,根据转发设备的硬件厂商提供的接口,完成将组播转发表模块53中的VLAN内IP组播转发表写入硬件转发表,从而生成硬件IP组播转发表,该硬件IP组播转发表包括VLANID,组播组IP地址,组播源IP地址,转发端口列表信息。
硬件转发模块55;用于将组播数据接收模块56接收到的IP组播数据在VLAN内通过硬件IP组播转发表进行转发。
以上所述仅为本发明的优选实例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.在VLAN内精确转发IP组播数据的方法,其特征在于,包括以下步骤:
a、启动了IGMP snooping的转发设备,维护VLAN内各端口的组记录;
b、转发设备根据所述组记录,在VLAN内计算生成并维护针对该组播组的组播转发表,将组记录的变化映射到组播转发表;所述组播转发表包括(*,G)转发表与若干(S,G)转发表;所述(*,G)转发表项包括组播组IP地址、VLAN ID、转发端口列表;所述(S,G)转发表项包括组播源IP地址、组播组IP地址、VLAN ID、转发端口列表;
c、转发设备根据VLAN内的(*,G)转发表与(S,G)转发表生成硬件IP组播转发表;
d、转发设备根据硬件IP组播转发表进行组播数据的转发。
2.如权利要求1所述在VLAN内精确转发IP组播数据的方法,其特征在于,所述转发设备在VLAN内转发组播数据时,首先匹配(S,G)转发表进行转发,匹配不到再匹配(*,G)转发表进行转发。
3.如权利要求1所述在VLAN内精确转发IP组播数据的方法,其特征在于,所述(*,G)转发表中记录(S,G)转发表的数量。
4.如权利要求1或2所述在VLAN内精确转发IP组播数据的方法,其特征在于,所述组记录包括VLAN ID、组播组IP地址、过滤模式、转发的源列表,禁止的源列表。
5.如权利要求1或2所述在VLAN内精确转发IP组播数据的方法,其特征在于,所述组记录为基于IGMPv3的组记录。
6.如权利要求5所述在VLAN内精确转发IP组播数据的方法,其特征在于,步骤b中,将组记录的变化映射到组播转发表的具体方法为:
b1、组记录增加一个组播源时,将(S,G)转发表的转发端口列表中增加该端口;如果(*,G)转发表不存在,则要新建(*,G)转发表;如果(S,G)转发表不存在,则要新建(S,G)转发表,并拷贝(*,G)转发表中的转发端口列表到(S,G)转发表中的转发端口列表中,再将该端口增加到(S,G)转发表中的转发端口列表中;
b2、组记录中删除一条组播源时,将(S,G)转发表的转发端口列表中删除该端口;
b3、组记录中增加一条禁止的组播源时,在(S,G)转发表中将该端口在转发端口列表中删除;如果(S,G)转发表不存在则应该新建(S,G)转发表,并将(*,G)转发表的转发端口列表拷贝至(S,G)转发表中,并将该端口在(S,G)转发表的转发端口列表中删除;
b4、组记录中删除一条禁止的组播源时,在(S,G)转发表的转发端口列表中增加该端口;
b5、过滤模式从INCLUDE变为EXCLUDE,在(*,G)转发表的转发端口列表中增加该端口;如果没有(*,G)转发表,则新建(*,G)转发表,转发端口列表为空,再在转发端口列表中增加该端口;
b6、过滤模式从EXCLUDE变为INCLUDE,在(*,G)转发表的转发端口列表中删除该端口。
7.如权利要求6所述在VLAN内精确转发IP组播数据的方法,其特征在于,步骤b中对组播转发表的操作满足以下要求:
在(*,G)转发表中增加转发端口时,在所有(S,G)转发表的转发端口列表中增加该转发端口;
只有当(*,G)转发表存在时才能创建(S,G)转发表,在创建时要将(*,G)转发表的转发端口列表拷贝到(S,G)转发表;
当(S,G)转发表的转发端口和(*,G)转发表的转发端口相同,则删除(S,G)转发表;
当(*,G)转发表没有转发端口,且(S,G)转发表的数量为零,则应删除(*,G)转发表。
8.在VLAN内精确转发IP组播数据的转发设备,其特征在于,包括组记录模块、组记录处理模块、组播转发表模块、硬件IP组播转发表模块、硬件转发模块;所述组记录模块与组记录处理模块相连,组记录处理模块与组播转发表模块相连;组播转发表模块与硬件IP组播转发表模块相连,硬件IP组播转发表模块与硬件转发模块相连;
组记录模块,用于根据接收的主机成员的IGMP报告生成端口的组记录;
组记录处理模块,用于根据端口组记录的变化映射到VLAN内IP组播转发表;
组播转发表模块,用于维护VLAN内IP组播转发表;
硬件IP组播转发表模块,用于根据VLAN内IP组播转发表生成硬件IP组播转发表;
硬件转发模块,用于将接收到的IP组播数据在VLAN内通过硬件IP组播转发表进行转发。
9.如权利要求8所述在VLAN内精确转发IP组播数据的转发设备,其特征在于,所述组播转发表模块中维护的IP组播转发表包括(*,G)转发表与若干(S,G)转发表。
10.如权利要求9所述在VLAN内精确转发IP组播数据的转发设备,其特征在于,所述组记录处理模块,根据组记录的变化映射到组播转发表的操作如下:
a、组记录增加一个组播源时,将(S,G)转发表的转发端口列表中增加该端口;如果(*,G)转发表不存在,则要新建(*,G)转发表;如果(S,G)转发表不存在,则要新建(S,G)转发表,并拷贝(*,G)转发表中的转发端口列表到(S,G)转发表中的转发端口列表中,再将该端口增加到(S,G)转发表中的转发端口列表中;
b、组记录中删除一条组播源时,将(S,G)转发表的转发端口列表中删除该端口;
c、组记录中增加一条禁止的组播源时,在(S,G)转发表中将该端口在转发端口列表中删除;如果(S,G)转发表不存在则应该新建(S,G)转发表,并将(*,G)转发表的转发端口列表拷贝至(S,G)转发表中,并将该端口在(S,G)转发表的转发端口列表中删除;
d、组记录中删除一条禁止的组播源时,在(S,G)转发表的转发端口列表中增加该端口;
e、过滤模式从INCLUDE变为EXCLUDE,在(*,G)转发表的转发端口列表中增加该端口;如果没有(*,G)转发表,则新建(*,G)转发表,转发端口列表为空,再在转发端口列表中增加该端口;
f、过滤模式从EXCLUDE变为INCLUDE,在(*,G)转发表的转发端口列表中删除该端口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009103128699A CN101771611B (zh) | 2009-12-31 | 2009-12-31 | 在vlan内精确转发ip组播数据的方法和转发设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009103128699A CN101771611B (zh) | 2009-12-31 | 2009-12-31 | 在vlan内精确转发ip组播数据的方法和转发设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101771611A true CN101771611A (zh) | 2010-07-07 |
CN101771611B CN101771611B (zh) | 2012-12-19 |
Family
ID=42504222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009103128699A Expired - Fee Related CN101771611B (zh) | 2009-12-31 | 2009-12-31 | 在vlan内精确转发ip组播数据的方法和转发设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101771611B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101895481A (zh) * | 2010-08-31 | 2010-11-24 | 迈普通信技术股份有限公司 | 支持二层组播转发的桥接方法及其路由器 |
CN103067286A (zh) * | 2013-01-25 | 2013-04-24 | 杭州华三通信技术有限公司 | 一种组播数据传输方法和设备 |
CN103269318A (zh) * | 2013-04-18 | 2013-08-28 | 广西广播电视信息网络股份有限公司 | 一种otn网络广播ip组播信号的方法 |
CN103346951A (zh) * | 2013-07-29 | 2013-10-09 | 迈普通信技术股份有限公司 | 建立代理成员数据库的方法和装置 |
CN104022958A (zh) * | 2014-05-28 | 2014-09-03 | 上海斐讯数据通信技术有限公司 | 一种组播报文的控制方法 |
CN104202174A (zh) * | 2014-08-13 | 2014-12-10 | 上海斐讯数据通信技术有限公司 | 一种精确转发ip特定源组播数据的实现方法 |
WO2016184028A1 (zh) * | 2015-05-18 | 2016-11-24 | 中兴通讯股份有限公司 | 一种交换机设备的组播报文转发控制方法及装置 |
CN108400939A (zh) * | 2018-03-02 | 2018-08-14 | 赛特斯信息科技股份有限公司 | Nfv中实现加速组播复制的系统及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100486207C (zh) * | 2003-12-26 | 2009-05-06 | 华为技术有限公司 | 三层交换中ip组播精确端口转发的方法 |
CN101478477A (zh) * | 2008-12-01 | 2009-07-08 | 北京星网锐捷网络技术有限公司 | 一种组播报文转发方法及装置 |
-
2009
- 2009-12-31 CN CN2009103128699A patent/CN101771611B/zh not_active Expired - Fee Related
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101895481B (zh) * | 2010-08-31 | 2013-01-09 | 迈普通信技术股份有限公司 | 支持二层组播转发的桥接方法及其路由器 |
CN101895481A (zh) * | 2010-08-31 | 2010-11-24 | 迈普通信技术股份有限公司 | 支持二层组播转发的桥接方法及其路由器 |
CN103067286A (zh) * | 2013-01-25 | 2013-04-24 | 杭州华三通信技术有限公司 | 一种组播数据传输方法和设备 |
CN103067286B (zh) * | 2013-01-25 | 2016-06-08 | 杭州华三通信技术有限公司 | 一种组播数据传输方法和设备 |
CN103269318A (zh) * | 2013-04-18 | 2013-08-28 | 广西广播电视信息网络股份有限公司 | 一种otn网络广播ip组播信号的方法 |
CN103346951B (zh) * | 2013-07-29 | 2017-04-19 | 迈普通信技术股份有限公司 | 建立代理成员数据库的方法和装置 |
CN103346951A (zh) * | 2013-07-29 | 2013-10-09 | 迈普通信技术股份有限公司 | 建立代理成员数据库的方法和装置 |
CN104022958A (zh) * | 2014-05-28 | 2014-09-03 | 上海斐讯数据通信技术有限公司 | 一种组播报文的控制方法 |
CN104022958B (zh) * | 2014-05-28 | 2018-01-16 | 上海斐讯数据通信技术有限公司 | 一种组播报文的控制方法 |
CN104202174A (zh) * | 2014-08-13 | 2014-12-10 | 上海斐讯数据通信技术有限公司 | 一种精确转发ip特定源组播数据的实现方法 |
CN104202174B (zh) * | 2014-08-13 | 2017-12-19 | 上海斐讯数据通信技术有限公司 | 一种精确转发ip特定源组播数据的实现方法 |
CN106302188A (zh) * | 2015-05-18 | 2017-01-04 | 中兴通讯股份有限公司 | 一种交换机设备的组播报文转发控制方法及装置 |
WO2016184028A1 (zh) * | 2015-05-18 | 2016-11-24 | 中兴通讯股份有限公司 | 一种交换机设备的组播报文转发控制方法及装置 |
CN108400939A (zh) * | 2018-03-02 | 2018-08-14 | 赛特斯信息科技股份有限公司 | Nfv中实现加速组播复制的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101771611B (zh) | 2012-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101771611B (zh) | 在vlan内精确转发ip组播数据的方法和转发设备 | |
Cain et al. | Internet group management protocol, version 3 | |
US8064449B2 (en) | Methods and apparatus for managing multicast traffic | |
CN100566282C (zh) | 控制组播数据转发的设备及方法 | |
EP2079198A1 (en) | Method and exchanger for realizing internet group management protocol snooping | |
KR101604810B1 (ko) | 단말기의 멀티캐스트 상태를 얻기 위한 방법 | |
CN101119311B (zh) | 一种控制组播数据流的方法及装置 | |
CN100477635C (zh) | 一种域间组播的传输方法及边缘设备 | |
CN100466606C (zh) | 未知组播报文的处理方法 | |
Cain et al. | RFC3376: internet group management protocol, version 3 | |
CN106375223A (zh) | 一种基于sdn的数据转发系统及方法 | |
CN106411750A (zh) | 数据分发方法及系统 | |
CN101083664A (zh) | 一种防止二层组播数据流洪泛的方法 | |
CN102984043A (zh) | 组播数据流的转发方法及装置 | |
CN107547535A (zh) | 防攻击的mac地址学习方法、装置和网络设备 | |
US20050185663A1 (en) | Method, system and source for implementing multicasting | |
CN101252539B (zh) | 通用属性注册方法及节点 | |
CN102347906A (zh) | 一种组播方法及组播网络系统 | |
CN101166084B (zh) | 防止组播用户攻击的安全方法 | |
CN101409704B (zh) | 组播成员管理协议的处理方法及装置 | |
CN101917351A (zh) | 路由器上组播转发方法及转发路由器 | |
CN102025626B (zh) | 转发组播数据报文的方法和提供商边缘设备 | |
CN106357540A (zh) | 一种组播控制方法及装置、组播系统 | |
CN101304359A (zh) | Rrpp环网链路恢复方法和设备 | |
CN100421410C (zh) | 移动通信网络多媒体增强业务的实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121219 |