CN112866114B - 组播报文的处理方法及装置 - Google Patents
组播报文的处理方法及装置 Download PDFInfo
- Publication number
- CN112866114B CN112866114B CN202011621273.XA CN202011621273A CN112866114B CN 112866114 B CN112866114 B CN 112866114B CN 202011621273 A CN202011621273 A CN 202011621273A CN 112866114 B CN112866114 B CN 112866114B
- Authority
- CN
- China
- Prior art keywords
- multicast
- address
- forwarded
- destination
- multicast message
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/201—Multicast operation; Broadcast operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/354—Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种组播报文的处理方法及装置,该方法包括:确定接收到的待转发组播报文的目的互联网协议IP地址的类型;若确定所述目的IP地址的类型为单播地址,则丢弃所述待转发组播报文;若确定所述目的IP地址的类型为组播地址,则基于组播硬件转发表确定所述待转发组播报文的类型;若确定所述待转发组播报文的类型是知名组播报文,则根据访问控制列表ACL、所述目的IP地址和所述待转发组播报文的目的媒体访问控制MAC地址确定是否转发所述待转发组播报文。该方案可以节省交换芯片和CPU的资源,从而处理更多的合法报文。
Description
技术领域
本发明涉及通信技术领域,尤指一种组播报文的处理方法及装置。
背景技术
互联网编号分配委员会(Internet Assigned Numbers Authority,IANA)将D类地址空间分配给互联网协议第四版(Internet Protocol version 4,IPv4)组播地址使用,范围从224.0.0.0到239.255.255.255。IANA规定,IPv4组播媒体访问控制(Media AccessControl Address,MAC)地址的高24位为0x01005E,第25位为零,低23位为IPV4组播地址的低23位,IPv4组播地址与IPv4组播MAC地址的映射关系如图1所示。IPv6组播地址的最高8位为固定值FF,IPv6组播MAC地址的高16位为0x3333,低32位为IPv6组播地址的低32位,IPV6组播地址与IPV6组播MAC地址的映射关系如图2所示。
网络设备的交换芯片接收到报文后,首先确定报文的目的MAC地址是否是组播MAC地址,若确定目的MAC地址是组播MAC地址,则确定该报文为组播报文,在组播硬件转发表中查找包括报文的源IP地址、目的IP地址和报文的接收端口所属的虚拟局域网标识(VirtualLocal Area Network Identification,VID)的转发表项,若查找到转发表项,则该组播报文为知名组播报文,根据查找的转发表项转发组播报文;若未查找到转发表项,则该组播报文为未知组播报文,确定报文的接收端口所属的VID对应的虚拟局域网(Virtual LocalArea Network,VLAN)是否开启组播,若确定未开启组播,则在报文的接收端口所属的VID对应的VLAN内泛洪该未知名组播报文;若确定开启组播,则将该未知名组播报文发送给中央处理器(Central Processing Unit,CPU),由CPU学习该未知名组播报文的转发表项后下发给交换芯片,并转发该未知名组播报文,交换芯片接收到转发表项后添加到组播硬件转发表中。
上述报文处理方法,会将接收端口所属的VID对应的VLAN开启组播功能的未知名组播报文发送CPU处理,一种可能的情况是报文的目的IP地址与目的MAC地址不满足图1或者图2所示的映射关系,也就是说该报文是非法报文,而CPU不会进行目的IP地址与目的MAC地址是否匹配的判断,依然会学习转发表项并下发,交换芯片添加该转发表项,以后会基于该转发表项转发该目的IP地址的报文,转发非法报文是没有意义的,会严重浪费交换芯片的资源,影响合法报文的处理效率;还有一种可能的情况是目的IP地址为单播地址,也就是说该报文也是非法报文,CPU会直接丢弃该报文,如果CPU接收大量的此种类型的报文,则会严重浪费CPU的资源,影响合法报文的处理效率。可见,上述方法会严重浪费交换芯片和CPU的资源,影响合法报文的处理效率。
发明内容
本发明实施例提供一种组播报文的处理方法及装置,用以解决现有技术中存在的严重浪费交换芯片和CPU的资源,影响合法报文的处理效率的问题。
根据本发明实施例,提供一种组播报文的处理方法,,应用于网络设备包括的交换芯片中,所述方法包括:
确定接收到的待转发组播报文的目的互联网协议IP地址的类型;
若确定所述目的IP地址的类型为单播地址,则丢弃所述待转发组播报文;
若确定所述目的IP地址的类型为组播地址,则基于组播硬件转发表确定所述待转发组播报文的类型;若确定所述待转发组播报文的类型是知名组播报文,则根据访问控制列表ACL、所述目的IP地址和所述待转发组播报文的目的媒体访问控制MAC地址确定是否转发所述待转发组播报文。
具体的,基于组播硬件转发表确定所述待转发组播报文的类型,具体包括:
获取所述待转发组播报文的接收端口所属的虚拟局域网标识VID;
在组播硬件转发表中查找所述待转发报文的源IP地址、所述目的IP地址和所述VID;
若在所述组播硬件转发表中查找到所述源IP地址、所述目的IP地址和所述VID,则确定所述待转发组播报文的类型为知名组播报文;
若在所述组播硬件转发表中未查找到所述源IP地址、所述目的IP地址和所述VID,则在所述组播硬件转发表中查找所述目的IP地址和所述VID,若在所述组播硬件转发表中查找到所述目的IP地址和所述VID,则确定所述待转发组播报文的类型为知名组播报文;若在所述组播硬件转发表中未查找到所述目的IP地址和所述VID,则确定所述待转发组播报文的类型为未知名组播报文。
具体的,根据ACL、所述目的IP地址和所述待转发组播报文的目的MAC地址确定是否转发所述待转发组播报文,具体包括:
在ACL中查找到所述目的IP地址和所述待转发组播报文的目的MAC地址;
若在所述ACL中查找到所述目的IP地址和所述目的MAC地址,则根据在所述组播硬件转发表中查找到的所述目的IP地址和所述VID对应的转发表项转发所述待转发组播报文;
若在所述ACL中未查找到所述目的IP地址和所述目的MAC地址,则丢弃所述待转发组播报文。
可选的,还包括:
若确定所述待转发组播报文的类型是未知名组播报文,则确定所述待转发组播报文的接收端口所属的虚拟局域网VLAN是否开启组播功能;
若确定所述VLAN开启组播功能,则将所述待转发组播报文发送给所述网络设备的中央处理器CPU,以使所述CPU学习所述待转发组播报文对应的第一转发表项、返回所述第一转发表项、并根据所述第一转发表项转发所述待转发组播报文;
接收所述第一待转发表项后,在所述组播硬件转发表中添加所述第一转发表项;
计算与所述目的IP地址对应的组播MAC地址;
在所述ACL中添加所述目的IP地址和所述组播MAC地址对应的表项。
可选的,还包括:
若确定所述VLAN未开启组播功能,则在所述VLAN泛洪所述待转发组播报文。
根据本发明实施例,还提供一种组播报文的处理装置,应用于网络设备包括的交换芯片中,包括:
确定模块,用于确定接收到的待转发组播报文的目的互联网协议IP地址的类型;
处理模块,用于若确定所述目的IP地址的类型为单播地址,则丢弃所述待转发组播报文;若确定所述目的IP地址的类型为组播地址,则基于组播硬件转发表确定所述待转发组播报文的类型;若确定所述待转发组播报文的类型是知名组播报文,则根据访问控制列表ACL、所述目的IP地址和所述待转发组播报文的目的媒体访问控制MAC地址确定是否转发所述待转发组播报文。
具体的,所述处理模块,用于基于组播硬件转发表确定所述待转发组播报文的类型,具体用于:
获取所述待转发组播报文的接收端口所属的虚拟局域网标识VID;
在组播硬件转发表中查找所述待转发报文的源IP地址、所述目的IP地址和所述VID;
若在所述组播硬件转发表中查找到所述源IP地址、所述源IP地址、所述目的IP地址和所述VID,则确定所述待转发组播报文的类型为知名组播报文;
若在所述组播硬件转发表中未查找到所述目的IP地址和所述VID,则在所述组播硬件转发表中查找所述目的IP地址和所述VID,若在所述组播硬件转发表中查找到所述目的IP地址和所述VID,则确定所述待转发组播报文的类型为知名组播报文;若在所述组播硬件转发表中未查找到所述目的IP地址和所述VID,则确定所述待转发组播报文的类型为未知名组播报文。
具体的,所述处理模块,用于根据ACL、所述目的IP地址和所述待转发组播报文的目的MAC地址确定是否转发所述待转发组播报文,具体用于:
在ACL中查找到所述目的IP地址和所述待转发组播报文的目的MAC地址;
若在所述ACL中查找到所述目的IP地址和所述目的MAC地址,则根据在所述组播硬件转发表中查找到的所述目的IP地址和所述VID对应的转发表项转发所述待转发组播报文;
若在所述ACL中未查找到所述目的IP地址和所述目的MAC地址,则丢弃所述待转发组播报文。
可选的,所述处理模块,还用于:
若确定所述待转发组播报文的类型是未知名组播报文,则确定所述待转发组播报文的接收端口所属的虚拟局域网VLAN是否开启组播功能;
若确定所述VLAN开启组播功能,则将所述待转发组播报文发送给所述网络设备的中央处理器CPU,以使所述CPU学习所述待转发组播报文对应的第一转发表项、返回所述第一转发表项、并根据所述第一转发表项转发所述待转发组播报文;
接收所述第一待转发表项后,在所述组播硬件转发表中添加所述第一转发表项;
计算与所述目的IP地址对应的组播MAC地址;
在所述ACL中添加所述目的IP地址和所述组播MAC地址对应的表项。
可选的,所述处理模块,还用于:
若确定所述VLAN未开启组播功能,则在所述VLAN泛洪所述待转发组播报文。
根据本发明实施例,还提供一种电子设备,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存储的程序时,实现上述的方法步骤。
根据本发明实施例,还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法步骤。
本发明有益效果如下:
本发明实施例提供一种组播报文的处理方法及装置,通过网络设备的交换芯片确定接收到的待转发组播报文的目的IP地址的类型;若确定所述目的IP地址的类型为单播地址,则丢弃所述待转发组播报文;若确定所述目的IP地址的类型为组播地址,则基于组播硬件转发表确定所述待转发组播报文的类型;若确定所述待转发组播报文的类型是知名组播报文,则根据访问控制列表ACL、所述目的IP地址和所述待转发组播报文的目的媒体访问控制MAC地址确定是否转发所述待转发组播报文。该方案中,由交换芯片直接丢弃目的IP地址的类型为单播地址的待转发组播报文,无需再发送CPU处理,从而可以节省CPU的资源,CPU可以处理更多的合法报文;对于知名组播报文,交换芯片不会直接转发,还会根据ACL、待转发组播报文的目的IP地址和目的MAC地址进一步确定是否转发,也就是说对于需要的才会转发,从而可以节省交换芯片的资源,交换芯片可以处理更多的合法报文。
附图说明
图1为现有技术中IPv4组播地址与IPv4组播MAC地址的映射关系的示意图;
图2为现有技术中IPv6组播地址与IPv6组播MAC地址的映射关系的示意图;
图3本发明实施例中一种组播报文的处理方法的流程图;
图4为本发明实施例中一种组播报文的处理装置的结构示意图;
图5为本申请示出的一种电子设备的结构示意图。
具体实施方式
针对现有技术中存在的严重浪费交换芯片和CPU的资源,影响合法报文的处理效率的问题,本发明实施例提供一种组播报文的处理方法,应用于网络设备包括的交换芯片中,该方法的流程如图3所示,执行步骤如下:
S31:接收待转发组播报文。
通常交换芯片在接收到待转发报文后,可以根据待转发报文的目的MAC地址确定报文的类型,若目的MAC地址为组播MAC地址,则确定待转发报文为组播报文;若目测MAC地址是单播MAC地址,则确定待转发报文为单播报文。对于确定为组播报文的待转发报文可以定义为待转发组播报文。
S32:确定待转发组播报文的目的IP地址的类型,若确定目的IP地址的类型为单播地址,则执行S33;若确定目的IP地址的类型为组播地址,则执行S34。
S33:丢弃待转发组播报文。
若确定目的IP地址的类型为单播地址,说明该报文不能作为组播报文处理,可以直接丢弃。
S34:基于组播硬件转发表确定待转发组播报文的类型。
若确定目的IP地址的类型为组播地址,还需要进一步确定待转发组播报文的类型,可能为知名组播报文,也可能为未知名组播报文,具体可以根据组播硬件转发表确定。
S35:若确定待转发组播报文的类型是知名组播报文,则根据访问控制列表(Access Control List,ACL)、目的IP地址和待转发组播报文的目的MAC地址确定是否转发待转发组播报文。
对于知名组播报文,不会直接进转发,还需要进一步根据据ACL、目的IP地址和待转发组播报文的目的MAC地址确定是否转发。
该方案中,由交换芯片直接丢弃目的IP地址的类型为单播地址的待转发组播报文,无需再发送CPU处理,从而可以节省CPU的资源,CPU可以处理更多的合法报文;对于知名组播报文,交换芯片不会直接转发,还会根据ACL、待转发组播报文的目的IP地址和目的MAC地址进一步确定是否转发,也就是说对于需要的才会转发,从而可以节省交换芯片的资源,交换芯片可以处理更多的合法报文。
具体的,上述S34中的基于组播硬件转发表确定待转发组播报文的类型,实现过程具体包括:
获取待转发组播报文的接收端口所属的虚拟局域网标识VID;
在组播硬件转发表中查找待转发报文的源IP地址、目的IP地址和VID;
若在组播硬件转发表中查找到源IP地址、目的IP地址和VID,则确定待转发组播报文的类型为知名组播报文;
若在组播硬件转发表中未查找到源IP地址、目的IP地址和VID,则在组播硬件转发表中查找目的IP地址和VID,若在组播硬件转发表中查找到目的IP地址和VID,则确定待转发组播报文的类型为知名组播报文;若在组播硬件转发表中未查找到目的IP地址和VID,则确定待转发组播报文的类型为未知名组播报文。
在基于组播硬件转发表确定待转发组播报文的类型时,可以首先获取待转发组播报文的接收端口所属的VID,然后在组播硬件转发表中查找待转发组播报文的源IP地址、目的IP地址和VID,若在组播硬件转发表中查找到源IP地址、目的IP地址和VID,说明之前学习过该源IP地址、目的IP地址和VID的转发表项,则确定待转发组播报文的类型为知名组播报文;若在组播硬件转发表中未查找到源IP地址、目的IP地址和VID,说明之前并未学习过该源IP地址、目的IP地址和VID的转发表项,则扩大查找范围,进一步在组播硬件转发表中查找目的IP地址和VID,若在组播硬件转发表中查找到目的IP地址和VID,说明之前学习过该目的IP地址和VID的转发表项,则确定待转发组播报文的类型为知名组播报文;若在组播硬件转发表中未查找到目的IP地址和VID,说明之前并未学习过该目的IP地址和VID的转发表项,则确定待转发组播报文的类型为未知名组播报文。在确定待转发组播报文的类型后,还可以进一步对其进行相应处理。
具体的,上述S35中的根据ACL、目的IP地址和待转发组播报文的目的MAC地址确定是否转发待转发组播报文,实现过程具体包括:
在ACL中查找到目的IP地址和待转发组播报文的目的MAC地址;
若在ACL中查找到目的IP地址和目的MAC地址,则根据在组播硬件转发表中查找到的目的IP地址和VID对应的转发表项转发待转发组播报文;
若在ACL中未查找到目的IP地址和目的MAC地址,则丢弃待转发组播报文。
可以预先在ACL中配置各种转发规则,然后确定待转发组播报文为知名组播报文后,可以在ACL中查找到目的IP地址和待转发组播报文的目的MAC地址,若在ACL中查找到目的IP地址和目的MAC地址,说明之前配置过该目的IP地址和目的MAC地址,也就说明待转发组播报文是合法报文,则根据在组播硬件转发表中查找到的目的IP地址和VID对应的转发表项转发待转发组播报文;若在ACL中未查找到目的IP地址和目的MAC地址,说明之前未配置过该目的IP地址和目的MAC地址,也就说明待转发组播报文是非法报文,则丢弃待转发组播报文。从而可以实现更加准确地处理待转发组播报文。
可选的,还包括:
若确定待转发组播报文的类型是未知名组播报文,则确定待转发组播报文的接收端口所属的VLAN是否开启组播功能;
若确定VLAN开启组播功能,则将待转发组播报文发送给网络设备的CPU,以使CPU学习待转发组播报文对应的第一转发表项、返回第一转发表项、并根据第一转发表项转发待转发组播报文;
接收第一待转发表项后,在组播硬件转发表中添加第一转发表项;
计算与目的IP地址对应的组播MAC地址;
在ACL中添加目的IP地址和组播MAC地址对应的表项。
对于未知名组播报文,若确定待转发组播报文的接收端口所属的虚拟局域网VLAN开启组播功能,则由CPU学习到对应的转发表项后,该转发表项可以定义为第一转发表项,可以在组播硬件转发添加第一转发表项,后续若接收到相同目的IP地址和VID的组播报文,就可以确定其为知名组播报文,然后按照S35进行报文处理;除此之外,还可以计算该目的IP地址对应的组播MAC地址,若目的IP地址为IPv4地址,则可以基于图1所示的映射关系计算,若目的IP地址为IPv6地址,则可以基于图2所示的映射关系计算,也就是说计算得到的组播MAC地址是准确的与目的IP地址对应的,可以将其添加到ACL中,以便于处理后续的报文。
相应地,还包括:
若确定VLAN未开启组播功能,则在VLAN泛洪待转发组播报文。
对于未知名组播报文,若确定待转发组播报文的接收端口所属的VLAN未开启组播功能,则只能在该VLAN泛洪待转发组播报文。
需要说明的是,可以在ACL中配置匹配域和动作域来实现根据ACL、目的IP地址和待转发组播报文的目的MAC地址确定是否转发待转发组播报文的过程,具体过程为,可以将添加的目的IP地址和组播MAC地址对应的表项配置为匹配域,动作域配置为转发,优先级可以设置为中;将未知名组播报文、VLAN开启组播功能和目的IP地址为组播地址配置为匹配域,动作域配置为上送CPU,优先级可以设置为高。对于接收端口所属的VLAN未开启组播功能和目的IP地址为组播地址的未知名组播报文,可以在接收端口所属的VLAN内泛洪;对于不符合ACL上的各个表项的匹配域的报文和不符合泛洪条件的报文,可以直接丢弃。
基于同一发明构思,本发明实施例提供一种组播报文的处理装置,应用于网络设备的交换芯片中,该装置的结构如图4所示,包括:
确定模块41,用于确定接收到的待转发组播报文的目的IP地址的类型;
处理模块42,用于若确定目的IP地址的类型为单播地址,则丢弃待转发组播报文;若确定目的IP地址的类型为组播地址,则基于组播硬件转发表确定待转发组播报文的类型;若确定待转发组播报文的类型是知名组播报文,则根据ACL、目的IP地址和待转发组播报文的目的MAC地址确定是否转发待转发组播报文。
该方案中,由交换芯片直接丢弃目的IP地址的类型为单播地址的待转发组播报文,无需再发送CPU处理,从而可以节省CPU的资源,CPU可以处理更多的合法报文;对于知名组播报文,交换芯片不会直接转发,还会根据ACL、待转发组播报文的目的IP地址和目的MAC地址进一步确定是否转发,也就是说对于需要的才会转发,从而可以节省交换芯片的资源,交换芯片可以处理更多的合法报文。
具体的,处理模块42,用于基于组播硬件转发表确定待转发组播报文的类型,具体用于:
获取待转发组播报文的接收端口所属的虚拟局域网标识VID;
在组播硬件转发表中查找待转发报文的源IP地址、目的IP地址和VID;
若在组播硬件转发表中查找到源IP地址、目的IP地址和VID,则确定待转发组播报文的类型为知名组播报文;
若在组播硬件转发表中未查找到源IP地址、目的IP地址和VID,则在组播硬件转发表中查找目的IP地址和VID,若在组播硬件转发表中查找到目的IP地址和VID,则确定待转发组播报文的类型为知名组播报文;若在组播硬件转发表中未查找到目的IP地址和VID,则确定待转发组播报文的类型为未知名组播报文。
具体的,处理模块42,用于根据ACL、目的IP地址和待转发组播报文的目的MAC地址确定是否转发待转发组播报文,具体用于:
在ACL中查找到目的IP地址和待转发组播报文的目的MAC地址;
若在ACL中查找到目的IP地址和目的MAC地址,则根据在组播硬件转发表中查找到的目的IP地址和VID对应的转发表项转发待转发组播报文;
若在ACL中未查找到目的IP地址和目的MAC地址,则丢弃待转发组播报文。
可选的,处理模块42,还用于:
若确定待转发组播报文的类型是未知名组播报文,则确定待转发组播报文的接收端口所属的虚拟局域网VLAN是否开启组播功能;
若确定VLAN开启组播功能,则将待转发组播报文发送给网络设备的中央处理器CPU,以使CPU学习待转发组播报文对应的第一转发表项、返回第一转发表项、并根据第一转发表项转发待转发组播报文;
接收第一待转发表项后,在组播硬件转发表中添加第一转发表项;
计算与目的IP地址对应的组播MAC地址;
在ACL中添加目的IP地址和组播MAC地址对应的表项。
可选的,处理模块42,还用于:
若确定VLAN未开启组播功能,则在VLAN泛洪待转发组播报文。
本申请实施例还提供了一种电子设备,请参见图5所示,包括处理器510、通信接口520、存储器530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。
存储器530,用于存放计算机程序;
处理器510,用于执行存储器530上所存放的程序时,实现上述实施例中任一所述的组播报文的处理方法。
通信接口520用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
该方案中,由交换芯片直接丢弃目的IP地址的类型为单播地址的待转发组播报文,无需再发送CPU处理,从而可以节省CPU的资源,CPU可以处理更多的合法报文;对于知名组播报文,交换芯片不会直接转发,还会根据ACL、待转发组播报文的目的IP地址和目的MAC地址进一步确定是否转发,也就是说对于需要的才会转发,从而可以节省交换芯片的资源,交换芯片可以处理更多的合法报文。
相应地,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的组播报文的处理方法。
该方案中,由交换芯片直接丢弃目的IP地址的类型为单播地址的待转发组播报文,无需再发送CPU处理,从而可以节省CPU的资源,CPU可以处理更多的合法报文;对于知名组播报文,交换芯片不会直接转发,还会根据ACL、待转发组播报文的目的IP地址和目的MAC地址进一步确定是否转发,也就是说对于需要的才会转发,从而可以节省交换芯片的资源,交换芯片可以处理更多的合法报文。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种组播报文的处理方法,应用于网络设备包括的交换芯片中,其特征在于,所述方法包括:
确定接收到的待转发组播报文的目的互联网协议IP地址的类型;
若确定所述目的IP地址的类型为单播地址,则丢弃所述待转发组播报文;
若确定所述目的IP地址的类型为组播地址,则基于组播硬件转发表确定所述待转发组播报文的类型;若确定所述待转发组播报文的类型是知名组播报文,则根据访问控制列表ACL、所述目的IP地址和所述待转发组播报文的目的媒体访问控制MAC地址确定是否转发所述待转发组播报文。
2.如权利要求1所述的方法,其特征在于,基于组播硬件转发表确定所述待转发组播报文的类型,具体包括:
获取所述待转发组播报文的接收端口所属的虚拟局域网标识VID;
在组播硬件转发表中查找所述待转发报文的源IP地址、所述目的IP地址和所述VID;
若在所述组播硬件转发表中查找到所述源IP地址、所述目的IP地址和所述VID,则确定所述待转发组播报文的类型为知名组播报文;
若在所述组播硬件转发表中未查找到所述源IP地址、所述目的IP地址和所述VID,则在所述组播硬件转发表中查找所述目的IP地址和所述VID,若在所述组播硬件转发表中查找到所述目的IP地址和所述VID,则确定所述待转发组播报文的类型为知名组播报文;若在所述组播硬件转发表中未查找到所述目的IP地址和所述VID,则确定所述待转发组播报文的类型为未知名组播报文。
3.如权利要求2所述的方法,其特征在于,根据ACL、所述目的IP地址和所述待转发组播报文的目的MAC地址确定是否转发所述待转发组播报文,具体包括:
在ACL中查找到所述目的IP地址和所述待转发组播报文的目的MAC地址;
若在所述ACL中查找到所述目的IP地址和所述目的MAC地址,则根据在所述组播硬件转发表中查找到的所述目的IP地址和所述VID对应的转发表项转发所述待转发组播报文;
若在所述ACL中未查找到所述目的IP地址和所述目的MAC地址,则丢弃所述待转发组播报文。
4.如权利要求1-3任一所述的方法,其特征在于,还包括:
若确定所述待转发组播报文的类型是未知名组播报文,则确定所述待转发组播报文的接收端口所属的虚拟局域网VLAN是否开启组播功能;
若确定所述VLAN开启组播功能,则将所述待转发组播报文发送给所述网络设备的中央处理器CPU,以使所述CPU学习所述待转发组播报文对应的第一转发表项、返回所述第一转发表项、并根据所述第一转发表项转发所述待转发组播报文;
接收所述第一待转发表项后,在所述组播硬件转发表中添加所述第一转发表项;
计算与所述目的IP地址对应的组播MAC地址;
在所述ACL中添加所述目的IP地址和所述组播MAC地址对应的表项。
5.如权利要求4所述的方法,其特征在于,还包括:
若确定所述VLAN未开启组播功能,则在所述VLAN泛洪所述待转发组播报文。
6.一种组播报文的处理装置,应用于网络设备包括的交换芯片中,其特征在于,包括:
确定模块,用于确定接收到的待转发组播报文的目的互联网协议IP地址的类型;
处理模块,用于若确定所述目的IP地址的类型为单播地址,则丢弃所述待转发组播报文;若确定所述目的IP地址的类型为组播地址,则基于组播硬件转发表确定所述待转发组播报文的类型;若确定所述待转发组播报文的类型是知名组播报文,则根据访问控制列表ACL、所述目的IP地址和所述待转发组播报文的目的媒体访问控制MAC地址确定是否转发所述待转发组播报文。
7.如权利要求6所述的装置,其特征在于,所述处理模块,用于基于组播硬件转发表确定所述待转发组播报文的类型,具体用于:
获取所述待转发组播报文的接收端口所属的虚拟局域网标识VID;
在组播硬件转发表中查找所述待转发报文的源IP地址、所述目的IP地址和所述VID;
若在所述组播硬件转发表中查找到所述源IP地址、所述源IP地址、所述目的IP地址和所述VID,则确定所述待转发组播报文的类型为知名组播报文;
若在所述组播硬件转发表中未查找到所述目的IP地址和所述VID,则在所述组播硬件转发表中查找所述目的IP地址和所述VID,若在所述组播硬件转发表中查找到所述目的IP地址和所述VID,则确定所述待转发组播报文的类型为知名组播报文;若在所述组播硬件转发表中未查找到所述目的IP地址和所述VID,则确定所述待转发组播报文的类型为未知名组播报文。
8.如权利要求7所述的装置,其特征在于,所述处理模块,用于根据ACL、所述目的IP地址和所述待转发组播报文的目的MAC地址确定是否转发所述待转发组播报文,具体用于:
在ACL中查找到所述目的IP地址和所述待转发组播报文的目的MAC地址;
若在所述ACL中查找到所述目的IP地址和所述目的MAC地址,则根据在所述组播硬件转发表中查找到的所述目的IP地址和所述VID对应的转发表项转发所述待转发组播报文;
若在所述ACL中未查找到所述目的IP地址和所述目的MAC地址,则丢弃所述待转发组播报文。
9.如权利要求6-8任一所述的装置,其特征在于,所述处理模块,还用于:
若确定所述待转发组播报文的类型是未知名组播报文,则确定所述待转发组播报文的接收端口所属的虚拟局域网VLAN是否开启组播功能;
若确定所述VLAN开启组播功能,则将所述待转发组播报文发送给所述网络设备的中央处理器CPU,以使所述CPU学习所述待转发组播报文对应的第一转发表项、返回所述第一转发表项、并根据所述第一转发表项转发所述待转发组播报文;
接收所述第一待转发表项后,在所述组播硬件转发表中添加所述第一转发表项;
计算与所述目的IP地址对应的组播MAC地址;
在所述ACL中添加所述目的IP地址和所述组播MAC地址对应的表项。
10.如权利要求9所述的装置,其特征在于,所述处理模块,还用于:
若确定所述VLAN未开启组播功能,则在所述VLAN泛洪所述待转发组播报文。
11.一种电子设备,其特征在于,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存储的程序时,实现权利要求1-5任一所述的方法步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011621273.XA CN112866114B (zh) | 2020-12-31 | 2020-12-31 | 组播报文的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011621273.XA CN112866114B (zh) | 2020-12-31 | 2020-12-31 | 组播报文的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112866114A CN112866114A (zh) | 2021-05-28 |
CN112866114B true CN112866114B (zh) | 2022-12-13 |
Family
ID=75999155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011621273.XA Active CN112866114B (zh) | 2020-12-31 | 2020-12-31 | 组播报文的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112866114B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114448740B (zh) * | 2022-01-14 | 2023-11-07 | 绿盟科技集团股份有限公司 | 一种组播方法、装置、介质、产品和设备 |
CN114885190B (zh) * | 2022-07-07 | 2022-11-08 | 中央广播电视总台 | 一种组播流量检测的方法、系统、设备及存储介质 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8379559B2 (en) * | 2007-02-07 | 2013-02-19 | Marvell World Trade Ltd. | Wireless multicast proxy |
CN101115006B (zh) * | 2007-08-21 | 2010-08-25 | 杭州华三通信技术有限公司 | 三层报文转发方法及路由设备和二层交换模块 |
US8078892B2 (en) * | 2007-11-01 | 2011-12-13 | Ricoh Company, Limited | Information-processing apparatus, packet processing method, and computer program product for communicating with an external network device and switching between a normal power mode and a power saving mode |
CN103368850B (zh) * | 2013-07-16 | 2016-12-28 | 杭州华三通信技术有限公司 | 一种目的未知单播报文的处理方法和设备 |
CN105227465B (zh) * | 2014-06-23 | 2018-09-04 | 杭州迪普科技股份有限公司 | 一种cpu代理方法以及网络设备 |
CN105490961A (zh) * | 2014-09-19 | 2016-04-13 | 杭州迪普科技有限公司 | 报文处理方法、装置以及网络设备 |
CN104333481A (zh) * | 2014-09-23 | 2015-02-04 | 无锡锐格思信息技术有限公司 | 一种通过PC组播ping包形成正确转发表的方法 |
CN106453409B (zh) * | 2016-11-28 | 2019-12-10 | 迈普通信技术股份有限公司 | 一种报文处理方法及接入设备 |
CN108206828B (zh) * | 2017-12-28 | 2021-03-09 | 浙江宇视科技有限公司 | 一种双重监测安全控制方法及系统 |
CN108900439A (zh) * | 2018-05-04 | 2018-11-27 | 烽火通信科技股份有限公司 | 一种pon olt系统及其实现主备倒换的方法 |
CN111224882A (zh) * | 2018-11-23 | 2020-06-02 | 中兴通讯股份有限公司 | 报文处理方法及装置、存储介质 |
CN109510780B (zh) * | 2018-12-12 | 2023-02-17 | 锐捷网络股份有限公司 | 流控方法、交换芯片及网络设备 |
CN110113230B (zh) * | 2019-04-30 | 2021-03-09 | 新华三技术有限公司 | 一种报文统计方法及网络设备 |
CN110830371B (zh) * | 2019-11-13 | 2022-04-05 | 迈普通信技术股份有限公司 | 报文重定向方法、装置、电子设备及可读存储介质 |
-
2020
- 2020-12-31 CN CN202011621273.XA patent/CN112866114B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112866114A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190116220A1 (en) | Neighbor Discovery for IPV6 Switching Systems | |
CN112866114B (zh) | 组播报文的处理方法及装置 | |
WO2015161780A1 (en) | Forwarding data packets | |
CN109921995B (zh) | 一种配置地址表的方法、fpga和应用该fpga的网络设备 | |
CN113285918A (zh) | 针对网络攻击的acl过滤表项建立方法及装置 | |
CN111934969B (zh) | Mac转发表的维护方法及装置 | |
CN106301970A (zh) | 一种使用转发表收敛以减少tcam表项消耗的芯片实现方法 | |
US9712393B2 (en) | Network loop prevention | |
CN111526225A (zh) | 会话管理方法和装置 | |
CN112187636B (zh) | Ecmp路由的存储方法及装置 | |
CN111654437A (zh) | 基于数据中心的报文转发方法及装置 | |
CN111800338B (zh) | 跨as的evpn路由交互方法及装置 | |
CN110971526B (zh) | 一种混合交换机fdb资源的流表扩展方法及装置 | |
CN113132506B (zh) | 基于超级虚拟局域网的报文处理方法及装置 | |
US20220174081A1 (en) | Monitoring of abnormal host | |
US20160330166A1 (en) | Address Acquiring Method and Network Virtualization Edge Device | |
US20100238930A1 (en) | Router and method of forwarding ipv6 packets | |
CN110677439B (zh) | Nd攻击的防护方法和装置 | |
CN112737957B (zh) | 流表的老化方法及装置 | |
CN106453144B (zh) | 软件定义网络中的报文处理方法和设备 | |
CN109327462B (zh) | 一种基于l2vpn网络的mac地址认证方法 | |
CN107707480B (zh) | 一种报文转发方法及装置 | |
CN107086965B (zh) | 一种arp表项的生成方法、装置及交换机 | |
CN114389844B (zh) | 报文处理方法、装置、电子设备及计算机可读存储介质 | |
CN115473843B (zh) | 信息交互方法、路由器和通信系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |