一种组播报文转发方法及装置的制作方法

文档序号:7928206阅读:252来源:国知局

专利名称::一种组播报文转发方法及装置的制作方法
技术领域
:本发明涉及计算机网络通信
技术领域
,尤其涉及一种组播报文转发方法及装置。
背景技术
:组播是一种点到多点的通信的技术,它通过在路由交换结点上进行数据报文的复制和分发,将组播源发送的组播报文交付给多个组播接收者。因此,组播转发表项的基本要素是组播流特征+出口集合。转发时,首先判断组播报文是否符合特定的"组播流特征",如果符合,将组播报文发送到"出口集合"中的各出口。根据OSI模型中网络分层模型所定义的层次概念,接口(Interface)具有三层概念,指具有三层行为能力的逻辑口,也可以称为三层口或三层接口。端口(Port)具有二层概念,指具有二层行为能力的逻辑口,也可以称为二层口或二层端口。通常情况下,一个接口下可以含有一个或多个端口。RPF检查是指检查组播报文是否从组播路由协议认为正确的接口进入。如果组播报文从正确的接口进入,才能按照三层组播转发表进行转发。否则,不予转发。二层组播指在一个二层网络内进行组播报文转发,一般在二层交换机上实现,其典型行为是将特定VLAN下某端口收到组播报文复制后,从该虚拟局域网(VLAN,VirtualLocalAreaNetwork)的其他一些端口发送出去。基于MAC的二层组播转发表的一力殳形式为(V,dMAC,PORT-LIST)。该表项表示在VLANV内,目的MAC地址为dMAC的组4番报文复制发往PORT-LIST中的所有的端口。由于一个MAC地址可能对应多个IP地址,所以基于MAC的二层组播不够精确,逐渐被基于IP的二层组播替代。基于IP的二层组播转发表的一般形式为(*,G,V,PORT-LIST)或(S,G,V,PORT-LIST)。前一表项表示在VLANV内,任意源IP地址、目的IP地址为G的组播才艮文复制发往PORT-LIST中所有的端口。后一表项表示在VLANV内,源IP地址为S,目的IP地址为G的组播报文复制发往PORT-LIST中所有的端口。这些表项与具体的组播协议是无关的。这里的"*,,为通配符,表示任意的源IP地址,但是,在具体组播转发表项中,"*,,作为特定的格式被保存下来,在匹配相应表项的时候,需要先用"*"替换组播报文中的源IP地址,再匹配相关表项。三层组播指跨不同三层网络的组播,一般在路由器或具有路由功能的交换机上实现。其典型行为是将从一个三层网络收到的组播报文发送到其他一些需要该组播流的三层网络中去。其转发行为符合RFC1812中IP报文的转发规则。三层组播转发表的一般形式为(S,G,IIF,OIF-LIST)或(,G,IIF,OIF-LIST)。前一表项表示源IP地址为S、目标IP地址为G的组播报文,如果其接收接口为IIF,那么应该复制转发到OIF-LIST中的其他OIF。后一表项表示任意源IP地址、目标IP地址为G的组播报文,如果其接收接口为IIF,那么应该复制转发到OIF-LIST中的其他OIF。这些表项与具体的组播协议是无关的。如图1所示,五个用户U1-U5,连接在三层交换机上进行视频会议。Ul、U2在VLAN200内,U3、U4在VLAN300内,U5在VLAN400内。以用户Ul发送的会议视频组播数据为例,Ul是发送者,U2-U5都是该视频流的接收者。如果只运行三层组播,Fl/2、F3/5、Fl/5、F2/3等这些不参加视频会议的二层端口的也将会接收到组播流,造成网络资源的浪费。此时,就需要同时启用三层组播和二层组播,才能保证组播流转发到且只发送到连接用户U2-U5的二层端口,即F1/3、F2/l、F3/4、F2/4。现有的报文转发方法中,只有当组播路由协议下发转发表项时才查询二层信息,将三层出口转化为二层端口信息后,设置到交换芯片。因此不能同时实现二层组播转发,只做到了组播跨VLAN转发时的精确控制,而无法做到VLAN内的组播转发及其精确控制。简单的说,不支持同时进行二层组播和三层组播。而且现有方法导致三层模块需要查询二层信息,增加了模块的耦合度,提高的系统实现的复杂度,降低了网络部署的灵活性。
发明内容本发明实施例提供一种组播报文转发方法及装置,实现同时进行组播报文的二层转发和三层转发,使组播报文的转发精确到二层端口,解决现有技术中不能同时实现二层组播转发与三层组播转发的问题。一种组播报文转发方法,该方法包括设置组播转发表;所述组播转发表由若干条组播转发表项组成,每条组播转发表项包括组播源地址、组播组地址、上游VLAN标识、下游VLAN标识、下游端口信息;当接收到组播报文时,匹配所述组播转发表,如果匹配成功,则按照所匹配的组播转发表项转发所述组播报文;否则,丢弃所述组播报文。一种组播报文转发装置,包括组播转发表、设置单元、匹配单元和转发单元,其中,所述组播转发表由若干条组播转发表项组成,每条组播转发表项包括组播源地址、组播组地址、上游VLAN标识、下游VLAN标识、下游端口信息;所述设置单元,用于设置组播转发表;所述匹配单元,用于当接收到组播报文时,匹配所述组播转发表,并件匹配结果通知所述转发单元;所述转发单元,用于"l妄收所述匹配结果,如果匹配成功,则^J安照所匹配的组播转发表项转发所述组播报文;否则,丢弃所述组播报文。本发明实施例通过设置组播转发表;所述组播转发表由若干条组播转发表项组成,每条组4番转发表项包括组播源地址、组纟番组地址、上游VLAN标识、下游VLAN标识、下游端口信息;当接收到组播报文时,匹配所述组播转发表,如果匹配成功,则按照所匹配的组播转发表项转发所述组播报文;否则,丢弃所述组播报文。本发明实施例提供的方案,可带来如下有益效果1、实现了在单台系统中同时进行二层组播转发和三层组播转发,提高了路由交换设备的适用范围和网络部署的灵活性。例如原先可能需要部署两台设备分别进行二层组播转发和三层组播转发,使用本方案后,只需使用单台设备就可以实现。2、无论是在本VLAN转发,还是跨VLAN转发,都可以使组播报文的转发精确到二层端口,避免组播报文在VLAN内广播,节省了网络带宽。3、使用组播转发表管理所有的转发信息,简化了组播转发过程.转发时只需要查询一张表就可以确定组播报文的转发行为,降低了组播转发引擎设计的复杂度,提高了转发效率。二层协议(组播窥探协议)的计算结果和三层协议(组播路由协议)的计算结果可以独立的设置且形成最终的转发表项,使两者之间无耦合,降低了协议处理模块设计的复杂度。图1为现有技术中组播转发网络结构示意图2为本发明实施例1的主要实现原理流程图3为本发明实施例2提供的网络结构拓朴图4为本发明实施例2提供的组播转发路由示意图之一;图5为本发明实施例2提供的组播转发路由示意图之二;图6为本发明实施例3提供的组播转发表项设置示意图7为本发明实施例3提供的组播转发方法流程图8为本发明实施例4提供的组播报文转发装置结构示意图。具体实施例方式下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。如图2所示,本发明实施例1的主要实现原理流程如下步骤IO,设置组播转发表。组播转发表由若干条组播转发表项组成,组播转发表项的基本思想是将三层分发信息和二层分发信息按照一定的规则进行汇总,融合成为一张表。因而,每条组播转发表项中都携带三层转发的所需要的组播源地址、组播组地址、上游VLAN标识、下游VLAN标识,同时携带二层转发所需要的组纟番源地址、组播组地址、VLAN标识(这里的VLAN标识对应于上游VLAN标识与下游VLAN标识相同时的VLAN标识)、下游端口信息。每条组播转发表项包括组播源地址、组播组地址、上游VLAN标识、下游VLAN标识、下游端口信息。具体内容如表一所示<table>tableseeoriginaldocumentpage9</column></row><table>表一中,其中S表示组播源地址,G表示组播组地址,Vin表示上游VLAN标识,Vout表示下游VLAN标识。OPort表示组播下游端口信息。Vin、Vout可以直接使用接口对应的VLAN的VLAN标记号(VID,VLANIdentifier)表示,对于一些没有VLAN与之对应的接口,Vin、Vout由接口标识计算获得,例如对于接口i,Vin(i)=4096+i的接口编号。表一中列出的表项的实际意义是在Vin所代表的上游接口或者VLAN内收到的,源IP为S,组IP为G的组播报文,应转发到以下二层端口Voutl所代表的下游接口或者VLAN内的二层端口OPortl1、OPortl2、...,OPortlm;Vout2所代表的下游接口或者VLAN内的二层端口OPort21.....OPort2n;Voutk等类推。根据组播协议模块的设置,组播转发表的表项除了上述的(S,G,Vin,Vout,PORT-LIST)形式外,也可以是(、G,Vin,Vout,PORT-LIST)和(*,*,Vin,Vout,PORT-LIST)。五元组中,第一个"*,,代表任意源IP地址,第二个""代表任意组IP地址。组播转发表表项的生成将分为以下两类操作,这两类操作没有先后顺序限制,可以先执行第一类操作,再在此基础上执行第二类操作,或者先执行第二类操作,再在此基础上执行第一类操作。第一类操作将三层组播分发信息设置到组播转发表。假设组播路由协议计算形成三层组播分发信息(sl,gl,IIF:il,OIF-LIST:i2,i3,…,in);其中sl^表组播源IP地址,gl代表组4番组IP地址,IIF代表上游VLAN标识;OIF-LIST代表下游VLAN标识链表,i1/i2/i3等表示下游VLAN标识。这条表项的含义为如果组播流(sl,gl)从接口il进入,将转发到下游接口i2、i3......ik。将这些信息填入组播转发表中,将生成如表二所示的表项内容。其中,il同时也添加到下游接口中,也就是说,同时才艮据上游VLAN标识构造出Vin(il"Vout(il)的下游VLAN标识,并将Vin(il)-Vout(il)的情形也添加到表项中。表二<table>tableseeoriginaldocumentpage11</column></row><table>第二类操作将二层组播分发信息设置到组播转发表。假设组播窥探协议(如IGMPSnooping/PIMSnooping)形成二层组播分发信息:(s1,g1,v(i1),OPORT-LIST:p11,p12,...,p1m)与(s1,g1,v(i2),OPORT-LIST:p21,p22,…,p2n)。其中,sl代表特定源IP地址,gl代表组^番组IP地址,il代表VLAN的标识,OPORT-LIST代表下游端口链表,p代表二层端口。这两条表项的意义为VLANil内存在组播流(sl,gl)的接收者,分别在VLANil内的二层端口pll,p12,...,plm下;VLANi2内存在组播流(sl,gl)的接收者,分别在VLANi2内的二层端口p21,p22,…,p2n下;将下游二层端口信息填入如上第一类操作生成的组播转发表,形成如表三所示的两条表项内容。表三<table>tableseeoriginaldocumentpage11</column></row><table>这里,在第一类操作的基础上,进行第二类操作时,需要匹配相应的(s,g,v)。这里的v为Vin与Vout相同时的Vin或Vout。也就是说,在表二所示的表项的基础上,首先需要将v分解为Vin与Vout,并填入路由转发表,形成不同的表项。然后将对应的二层端口标识填入。据此,进一步匹配(s,g,Vout),如果匹配,则在其中相应位置填入对应的二层端口标识。这里的Vin=Vout=v。当然,如果先执行第二类操作时,首先根据二层组播分发协议将相应的(s,g,v,p)填入相应的表项,这里的v可以分解为Vin与Vout,即表项内容为(s,g,Vin,Vout,p),这里的Vin=Vout=v。再根据三层组播分发协议添加相应的表项内容,也就是(s,g,Vin,Vout)。这里的Vin与Vout不相等,并且,根据(s,g,Vin)的匹配,添加相应的Vout。最后,再根据(s,g,Vout)进4亍查找匹配,将可以匹配的表项中的下游端口信息p进行复制,从而得到完整的组播转发表。步骤20,当接收到组播报文时,匹配所述组播转发表,如果匹配成功,则按照所匹配的组播转发表项转发所述组播报文;否则,丢弃所述组播报文。组播报文到达后,经过基本的合法性校验后,查询组播转发表,如果查询成功,按照表项描述的规则进行转发。如果查询失败,丟弃该报文。查询组播转发表的过程,就是逐条的匹配组播报文与组播转发表中的组播转发表项。组播转发表表项的匹配4姿照最优匹配的原则进行,分为以下几个步骤1:以S、G、Vin三元组进行匹配。如果存在表项与之完全匹配,返回表项查询成功;否则进入下一步。2:以*、G、Vin三元组进行匹配。如果存在表项与之完全匹配,返回表项查询成功;否则进入下一步。3:以*、*、Vin三元组进行匹配。如果存在表项与之完全匹配,返回表项查询成功;否则返回表项查询失败。S为需要转发的组播报文的源IP地址,G为该组播报文的组IP地址,Vin为收到该组播报文的VLAN的标识。这里的"*"为通配符,表示任意的源IP地址(或组IP地址),但是,在具体组播转发表项中,"*"作为特定的格式被保存下来,在匹配相应表项的时候,需要先用"*,,替换组播报文中的源IP地址(或组IPi也址),再匹配相关表项。当匹配到转发表项后,应根据该表项的内容进行数据报文的转发。其具体方法为遍历该表项的Vout列表,对于每个Vout项执行以下几个步骤1:判断该Vout与表项的Vin是否相等。如果相等,进入步骤2。如果不相等,进入步骤3。2:按照网络内组播报文转发的方法对组播报文进行转发。这里的网络内对组播报文转发的方法,实际上就是指一般意义上的二层转发,也就是符合正EE802.1D3004第7.1节的流程的报文转发过程,将报文从该Vout所对应的PORT-LIST中的每一个二层端口转发出去。具体的转发过程为现有
技术领域
的常用技术,此处不在赘述。3:按照网络间组播报文转发的方法对组播报文进行转发。这里的网络间对组播报文转发的方法,实际上就是指一般意义上的三层转发,也就是符合RFC1812第5节的流程的才艮文转发过程,将才艮文从该Vout所对应的PORT-LIST中的每一个二层端口转发出去。具体的转发过程为现有
技术领域
的常用技术,此处不在赘述。如图3所示,为本发明实施例2提供的网络结构拓朴图,其中,设备上存在三个VLAN,分别是VLAN200,VLAN300和VLAN400。每个VLAN下都有三个端口。属于VLAN200的端口有F1/1、Fl/2、Fl/3。属于VLAN300的端口有F2/1、F3/4、F3/5。属于VLAN400的端口有F1/5,F2/3,F2/4。Sl表示组播流(192.168.10.50,224丄1.1)的发送者,Rl、R2、R3、R4代表组播流(192.168.10.50,224.1.1.1)的接收者。Rl和Sl都在VLAN200中,R2和R3在VLAN300中,R4在VLAN400中。按照以上方法形成的多层组播转发表项如表四所示。表四<table>tableseeoriginaldocumentpage14</column></row><table>当源IP为192.168.10.50,目的IP为224.1.1.1的组播报文到达后F1/1后,查找组播转发表,匹配第一条表项,按照表项转发的组播数据流的流向如图4中箭头所示。没有连接接收者的端口,无论是与发送者不同VLAN的F3/5、Fl/5、F2/3,还是与发送者同在一个VLAN的Fl/2,都不会收到组播流。表四的组播转发表中的第二条和第三条表项保证了VLAN300和VLAN400内组播流的二层转发。以第三条表项为例,如图5所示,如果端口Fl/5收到本VLAN内的发送者S2发送的组播流(192.168.10.50,224.1丄l),由于RPF检查失败,三层组播路由协议将不会产生转发表项。但是,根据二层组播窥探协议原理,由于VLAN400的端口F2/4下存在该组播流的接收者R4,应允许该组播流在VLAN400内的转发到端口F2/4。其组播数据流向如图5中箭头所示。相应的,如图6所示,为本发明实施例3提供的组播转发表项设置示意图,其中,通过组播窥探协议模块(二层协议)和组播路由协议模块(三层协议)的计算,在软件上生成以上所述的组播转发表项,将交换芯片支持的转发行为部分设置到交换芯片。例如交换芯片只能支持(*,G,V)和(S,G,V)表项,那么只将(*,G,V)和(S,G,V)设置到交换芯片,而(V,V)表项不进行设置。如果交换芯片对于某条表项只能处理部分转发行为,设置该硬件表项的同时设置转发并送本地处理的标志。例如交换芯片对(S,G,V)只支持跨VLAN的转发,而不支持本VLAN的转发,那么只将(S,G,V)跨VLAN转发的部分i殳置到交换芯片,并在硬件表项上设置"转发并送本地CPU处理"的标记,一旦交换芯片收到该组播流(S,G),除了进行跨VLAN转发外,还会将改组播流送到CPU,由CPU进行VLAN内的转发。相应的,组播报文的转发方法如图7所示,其中,组播报文到达系统时,首先由交换芯片处理,如果交换芯片查询不到硬件表项,或者只能处理部分转发行为,将送给CPU处理。CPU查找软件的转发表进行转发。对于某条表项硬件已经进行过部分转发的,CPU将不再转发到硬件已转发的二层端口。这里的交换芯片处理过程为现有的处理过程,而送CPU处理的过程中,加入了本发明实施例提供的组播转发表项内容。交换芯片处理过程中,接收到组播报文后,首先查询自身的硬件表项,如果匹配硬件表项,则按照硬件表项转发,否则,送CPU处理。如果硬件表项中标记了送CPU处理,则送CPU处理,否则,处理结束。CPU处理过程中,首先查询组播转发表,如果找到匹配的组播转发表项,则按照组播转发表项进行转发,否则,丟弃组播报文。在将报文送给CPU处理之前,也先可以由网络处理器(NP)处理组播流的转发,如果网络处理器认为有必要交给CPU(例如本地有组播接收者)时,才将报文发送给CPU处理,这样可以降低CPU的负担。相应的,如图8所示,为本发明实施例4提供的组播报文转发装置结构示意图,包括组播转发表100、设置单元200、匹配单元300和转发单元400,其中,组播转发表IOO,由若干条组播转发表项组成,每条组播转发表项包括组播源地址、组^番组地址、上游VLAN标识、下游VLAN标识、下游端口信息;设置单元200,用于设置组播转发表IOO。匹配单元300,用于当接收到组播报文时,匹配所述组播转发表100,并15件匹配结果通知转发单元400。这里,需要用接收到的组播报文逐条匹配组播转发表中的组播转发表项。转发单元400,用于接收所述匹配结果,如果匹配成功,则按照所匹配的组播转发表项转发所述组播报文;否则,丟弃所述组播报文。较佳地,上述的设置单元200进一步包括第一设置子单元101和第二设置子单元102,其中,第一设置子单元101,用于将组播源地址、组播组地址、上游VLAN标识、下游VLAN标识分别填入组播转发表100;或将组播源地址、组播组地址、下游VLAN标识、下游端口信息填入组播转发表100。第二设置子单元102,用于根据组播源地址、组播组地址、下游VLAN标识填入相应的下游端口信息;或根据组播源地址、组播组地址、下游VLAN标识、下游端口信息填入相应的上游VLAN标识。较佳地,上述的匹配单元300进一步包括第一匹配子单元301、第二匹配子单元302和第三匹配子单元303,其中,第一匹配子单元301,用于根据组播报文中的组播源地址、组播组地址、上游VLAN标识,逐条匹配组播转发表项,若存在与之匹配的组播转发表项,匹配成功;否则,通知第二匹配子单元302;第二匹配子单元302,用于用通配符替换所述组播才艮文中的组播源地址,逐条匹配组播转发表项,若存在与之匹配的組播转发表项,匹配成功;否则,通知第三匹配子单元303;第三匹配子单元303,用于用通配符替换所述组播报文中的组播源地址和组播组地址,逐条匹配组播转发表项,若存在与之匹配的组4番转发表项,匹配成功;否则,匹配失败。较佳地,如上所述的转发单元400,进一步包括比较子单元401、网络内转发子单元402与网络间转发子单元403,其中,比较子单元401,用于比较所述组播转发表项中上游VLAN标识与下游VLAN标识是否相同;如果是,通知网络内转发子单元402,否则,通知网络间转发子单元403;网络内转发子单元402,用于按照网络内组播报文转发方法转发所述组播报文;这里的网络内对组播报文转发的方法,实际上就是指一般意义上的二层转发,也就是符合IEEE802.1D3004第7.1节的流程的寺艮文转发过程,将报文从该Vout所对应的PORT-LIST中的每一个二层端口转发出去。具体的转发过程为现有
技术领域
的常用技术,此处不在赘述。网络间转发子单元403,用于按照网络间组播报文转发方法转发所述组播报文;按照网络间组播报文转发的方法对组播报文进行转发。这里的网络间对组播报文转发的方法,实际上就是指一般意义上的三层转发,也就是符合RFC1812第5节的流程的报文转发过程,将报文从该Vout所对应的PORT-LIST中的每一个二层端口转发出去。具体的转发过程为现有
技术领域
的常用技术,此处不在赘述。综上所述,本发明实施例实现了在单台系统中同时进行二层组播转发和三层组播转发,提高了路由交换设备的适用范围和网络部署的灵活性。无论是在本VLAN转发,还是跨VLAN转发,都可以使组播报文的转发精确到二层端口,避免组播报文在VLAN内广播,节省了网络带宽。使用组播转发表管理所有的转发信息,简化了组播转发过程.转发时只需要查询一张表就可以确定组播报文的转发行为,降低了组播转发引擎设计的复杂度,提高了转发效率。二层协议的计算结果和三层协议的计算结果可以独立的设置且形成最终的转发表项,使两者之间无耦合,降低了协议处理模块设计的复杂度。明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。权利要求1、一种组播报文转发方法,其特征在于,该方法包括设置组播转发表;所述组播转发表由若干条组播转发表项组成,每条组播转发表项包括组播源地址、组播组地址、上游VLAN标识、下游VLAN标识、下游端口信息;当接收到组播报文时,匹配所述组播转发表,如果匹配成功,则按照所匹配的组播转发表项转发所述组播报文;否则,丢弃所述组播报文。2、如权利要求l所述的方法,其特征在于,所述设置组播转发表,包括将组4番源;也址、组纟番组:l也址、上游VLAN一示识、下游VLAN标识分别》真入组播转发表;根据组播源地址、组播组地址、下游VLAN标识填入相应的下游端口信息;或将上游VLAN标识与下游VLAN标识相同的表项对应的组纟番源地址、组播组地址、上游VLAN标识、下游VLAN标识、下游端口信息填入组播转发表;将上游VLAN标识与下游VLAN标识不同的表项对应的组播源地址、组播组地址、上游VLAN标识、下游VLAN标识分别填入组播转发表;将组播源地址、组纟番组地址、下游VLAN标识相同的表项的下游端口地址进行复制。3、如权利要求1所述的方法,其特征在于,所述匹配所述组播转发表,包括逐条匹配所述组播转发表中的组播转发表项。4、如权利要求3所述的方法,其特征在于,所述匹配所述组播转发表中的组播转发表项,包括A、根据所述组播报文中的组播源地址、组播组地址、上游VLAN标识,逐条匹配组播转发表项,若存在与之匹配的组播转发表项,匹配成功;否则,执行步骤B;B、用通配符替换所述组播报文中的组播源地址,逐条匹配组播转发表项,若存在与之匹配的组播转发表项,匹配成功;否则,执行步骤C;C、用通配符替换所述组播报文中的组播源地址和组播组地址,逐条匹配组播转发表项,若存在与之匹配的组播转发表项,匹配成功;否则,匹配失败。5、如权利要求1所述的方法,其特征在于,所述按照所匹配的组播转发表项转发所述组纟番报文,包括比较所述组^番转发表项中上游VLAN标识与下游VLAN标识是否相同,如果是,按照网络内组播报文转发方法转发所述组播报文;否则,按照网络间组播报文转发方法转发所述组播报文。6、如权利要求15任一所述的方法,其特征在于,所述上游VLAN标识与下游VLAN标识,为相应的接口标识、接口对应的VLAN的VID、或者通过接口标识计算得到。7、一种组播报文转发装置,其特征在于,包括组播转发表、设置单元、匹配单元和转发单元,其中,所述组播转发表由若干条组播转发表项组成,每条组播转发表项包括组播源地址、组,牆组地址、上游VLAN标识、下游VLAN标识、下游端口信息;所述设置单元,用于设置组播转发表;所述匹配单元,用于当接收到组播报文时,匹配所述组播转发表,并件匹配结果通知所述转发单元;所述转发单元,用于接收所述匹配结果,如果匹配成功,则按照所匹配的组播转发表项转发所述组播报文;否则,丢弃所述组播纟艮文。8、如权利要求7所述的装置,其特征在于,所述的设置单元进一步包括第一设置子单元和第二设置子单元,其中,所述第一设置子单元,用于将组播源地址、组播组地址、上游VLAN标识、下游VLAN标识分别填入组播转发表;或将组播源地址、组播组地址、下游VLAN标识、下游端口信息填入组播转发表;所述第二设置子单元,用于根据组播源地址、组播组地址、下游VLAN标识填入相应的下游端口信息;或根据组播源地址、组播组地址、下游VLAN标识、下游端口信息填入相应的上游VLAN标识。9、如权利要求7所述的装置,其特征在于,所述匹配单元进一步包括第一匹配子单元、第二匹配子单元和第三匹配子单元,其中,所述第一匹配子单元,用于根据组播报文中的组播源地址、组播组地址、上游VLAN标识,逐条匹配组播转发表项,若存在与之匹配的组播转发表项,匹配成功;否则,通知所述第二匹配子单元;所述第二匹配子单元,用于用通配符替换所述组播报文中的组播源地址,逐条匹配组播转发表项,若存在与之匹配的组播转发表项,匹配成功;否则,通知所述第三匹配子单元;所述第三匹配子单元,用于用通配符替换所述组^^艮文中的组播源地址和组播组地址,逐条匹配组播转发表项,若存在与之匹配的组播转发表项,匹配成功;否则,匹配失败。10、如权利要求7所述的装置,其特征在于,所述的转发单元进一步包括比较子单元、网络内转发子单元与网络间转发子单元,其中,所述比较子单元,用于比较所述组播转发表项中上游VLAN标识与下游VLAN标识是否相同;如果是,通知所述网络内转发子单元、,否则,通知所述网络间转发子单元;所述网络内转发子单元,用于按照网络内组播报文转发方法转发所述组播报文;所述网络间转发子单元,用于按照网络间组播报文转发方法转发所述组播报文。全文摘要本发明公开了一种组播报文转发方法及装置,通过设置组播转发表;所述组播转发表由若干条组播转发表项组成,每条组播转发表项包括组播源地址、组播组地址、上游VLAN标识、下游VLAN标识、下游端口信息;当接收到组播报文时,匹配所述组播转发表,如果匹配成功,则按照所匹配的组播转发表项转发所述组播报文;否则,丢弃所述组播报文。本发明实施例提供的方案,实现了在单台系统中同时进行二层组播转发和三层组播转发,提高了路由交换设备的适用范围和网络部署的灵活性。文档编号H04L12/56GK101478477SQ200810227839公开日2009年7月8日申请日期2008年12月1日优先权日2008年12月1日发明者宏倪申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1