CN118301054A - 一种组播报文转发方法、装置、电子设备及存储介质 - Google Patents

一种组播报文转发方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN118301054A
CN118301054A CN202410382662.3A CN202410382662A CN118301054A CN 118301054 A CN118301054 A CN 118301054A CN 202410382662 A CN202410382662 A CN 202410382662A CN 118301054 A CN118301054 A CN 118301054A
Authority
CN
China
Prior art keywords
multicast
multicast message
vxlan tunnel
message
port
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.)
Pending
Application number
CN202410382662.3A
Other languages
English (en)
Inventor
陈腾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN202410382662.3A priority Critical patent/CN118301054A/zh
Publication of CN118301054A publication Critical patent/CN118301054A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种组播报文转发方法、装置、电子设备及存储介质,应用于网络设备中的交换芯片,根据第一接入口接收的组播报文查找第一组播路由表以获得第一表项,将组播报文在第一组播组中泛洪。回环口接收组播报文后查找第二组播路由表以获得第二表项,控制回环口对组播报文加封装得到第一组播报文并将其在第二组播组中泛洪。根据第一VXLAN隧道口接收的第一组播报文查找第三组播路由表以获得第三表项,将第一组播报文在第三组播组中泛洪。在回环口接收第一组播报文后控制回环口对第一组播报文解封装得到第二组播报文,查找第四组播路由表以获得第四表项,将第二组播报文在第四组播组中泛洪,实现了提升组播报文的转发效率和加/解封装效率。

Description

一种组播报文转发方法、装置、电子设备及存储介质
技术领域
本申请涉及通信技术领域,特别涉及一种组播报文转发方法、装置、电子设备及存储介质。
背景技术
在传统虚拟扩展局域网VXLAN(Virtual Extensible Local Area Network)中,VXLAN技术通过在数据包添加VXLAN头部来实现虚拟网络的隔离和扩展。VXLAN头部包括了VNI(VXLAN Network Identifier)等关键信息,用于标识数据包所属的VXLAN网络。VTEP(VXLAN Tunnel Endpoints)设备负责对数据包进行封装和解封装操作,并根据VXLAN头部中的VNI信息来进行转发。通过VXLAN头部的解析和VTEP设备之间的通信,可以实现数据包在VXLAN网络中的传输和转发,从而扩展了网络的规模和范围。
然而,传统VXLAN网络通常只能实现单对单的转发。为了解决这一问题,组播VXLAN技术应运而生。目前,组播VXLAN通过软件层进行处理,由软件层进行组播加组、加封装、解封装等操作,然而由于CPU处理慢,组播VXLAN的转发效率和加/解封装效率低。
发明内容
本申请提供了一种组播报文转发方法、装置、电子设备及存储介质,通过交换芯片以及交换芯片内部的回环口,实现提升组播报文的转发效率和加/解封装效率。
在本申请的第一方面,提供一种组播报文转发方法,应用于网络设备中的交换芯片,所述交换芯片包括接入口、VXLAN隧道口和回环口,包括:
响应于从第一接入口接收到组播报文,根据所述组播报文的目的IP查找第一组播路由表以获得第一表项,所述第一接入口为所述交换芯片的接入口中的任一个;
将所述组播报文复制并转发至所述第一表项所记录的第一组播组中的所有成员,所述第一组播组中的成员至少包括所述回环口;
在所述回环口接收到所述组播报文后,根据所述组播报文的目的IP查找第二组播路由表以获得第二表项;
控制所述回环口对所述组播报文进行加封装处理,得到第一组播报文,并将所述第一组播报文复制并转发至所述第二表项所记录的第二组播组中的所有成员,所述第二组播组中的成员至少包括多个VXLAN隧道口。
在本申请的第二方面,提供一种组播报文转发方法,用于对第一方面中的第一组播报文进行转发,该方法应用于网络设备中的交换芯片,所述交换芯片包括接入口、VXLAN隧道口和回环口,包括:
响应于从第一VXLAN隧道口接收到所述第一组播报文,根据所述第一组播报文的外层目的IP,查找第三组播路由表以获得第三表项,所述第一VXLAN隧道口为所述交换芯片的VXLAN隧道口中的任一个;
将所述第一组播报文复制并转发至所述第三表项所记录的第三组播组中的所有成员,所述第三组播组中的成员至少包括所述回环口;
在所述回环口接收到所述第一组播报文后,控制所述回环口对所述第一组播报文进行解封装处理,得到第二组播报文;
根据所述第二组播报文的目的IP查找第四组播路由表以获得第四表项,将所述第二组播报文复制并转发至所述第四表项所记录的第四组播组中的所有成员,所述第四组播组中的成员至少包括多个接入口。
在本申请的第三方面,提供一种组播报文转发装置,应用于网络设备中的交换芯片,所述交换芯片包括接入口、VXLAN隧道口和回环口,包括:
第一查找单元,用于响应于从第一接入口接收到组播报文,根据所述组播报文的目的IP查找第一组播路由表以获得第一表项,所述第一接入口为所述交换芯片的接入口中的任一个;
第一转发单元,用于将所述组播报文复制并转发至所述第一表项所记录的第一组播组中的所有成员,所述第一组播组中的成员至少包括所述回环口;
第二查找单元,用于在所述回环口接收到所述组播报文后,根据所述组播报文的目的IP查找第二组播路由表以获得第二表项;
第二转发单元,用于控制所述回环口对所述组播报文进行加封装处理,得到第一组播报文,并将所述第一组播报文复制并转发至所述第二表项所记录的第二组播组中的所有成员,所述第二组播组中的成员至少包括多个VXLAN隧道口。
在本申请的第四方面,提供一种组播报文转发装置,用于对第三方面中的第一组播报文进行转发,该装置应用于网络设备中的交换芯片,所述交换芯片包括接入口、VXLAN隧道口和回环口,包括:
第三查找单元,用于响应于从第一VXLAN隧道口接收到所述第一组播报文,根据所述第一组播报文的外层目的IP,查找第三组播路由表以获得第三表项,所述第一VXLAN隧道口为所述交换芯片的VXLAN隧道口中的任一个;
第三转发单元,用于将所述第一组播报文复制并转发至所述第三表项所记录的第三组播组中的所有成员,所述第三组播组中的成员至少包括所述回环口;
解封装单元,用于在所述回环口接收到所述第一组播报文后,控制所述回环口对所述第一组播报文进行解封装处理,得到第二组播报文;
第四转发单元,用于根据所述第二组播报文的目的IP查找第四组播路由表以获得第四表项,将所述第二组播报文复制并转发至所述第四表项所记录的第四组播组中的所有成员,所述第四组播组中的成员至少包括多个接入口。
在本申请的第五方面,提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器用于执行机器可执行指令,以实现第一方面或第二方面提供的任一方法。
在本申请的第六方面,提供一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现第一方面或第二方面提供的任一方法。
在本申请的第七方面,提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现第一方面或第二方面提供的任一方法的步骤。
由以上技术方案可以看出,本申请应用于网络设备中的交换芯片,该交换芯片包括接入口、VXLAN隧道口和回环口,根据第一接入口接收的组播报文,查找第一组播路由表以获得第一表项,并将组播报文在第一表项所记录的第一组播组中泛洪,在回环口接收到组播报文后,查找第二组播路由表以获得第二表项,控制回环口对组播报文进行加封装得到第一组播报文,并将其在第二组播组中泛洪。根据第一VXLAN隧道口接收的第一组播报文,查找第三组播路由表以获取第三表项,并将第一组播报文在第三组播组中泛洪,在回环口接收到第一组播报文后,控制回环口对第一组播报文进行解封装得到第二组播报文,查找第四组播路由表以获得第四表项,并将第二组播报文在第四组播组中泛洪。通过交换芯片以及交换芯片内部的回环口,实现了提升组播报文的转发效率和加/解封装效率。
附图说明
图1为本申请实施例提供的一种组播报文转发方法的流程示意图;
图2为本申请实施例提供的一种组播VXLAN的架构图;
图3为本申请另一实施例提供的一种组播报文转发方法的流程示意图;
图4为本申请实施例提供的一种组播报文转发装置的结构示意图;
图5为本申请另一实施例提供的一种组播报文转发装置的结构示意图;
图6为本申请实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的,因此不能用于限制本申请的保护范围。
首先对本申请涉及的一些技术缩略语进行解释:
VXLAN:虚拟扩展局域网(Virtual Extensible Local Area Network,VXLAN),是一种网络虚拟化技术,它允许在不同的物理网络之间创建一个逻辑上的二层网络,或者说是扩展的二层网络。VXLAN技术将原始的二层以太网帧封装在用户数据报协议UDP(UserDatagram Protocol)包中,使得这些帧能够跨越三层网络(如IP网络)进行传输,从而克服传统局域网的规模限制,为跨数据中心的虚拟化环境提供扩展性和灵活性,可以满足数据中心大二层虚拟迁移和多租户的需求。
VTEP:VXLAN隧道端点(VXLAN Tunnel End Point,VETP),位于VXLAN网络的边缘,与本地网络中的主机直接相连。VTEP设备即为网络设备,用于建立VXLAN隧道,是VXLAN技术中的关键组件。在VXLAN网络中,VTEP设备负责实现数据包的加/解封装、维护VXLAN隧道等工作。
Access口:Access口(接入口)用于连接本地网络中的主机,接收和发送原始的以太网帧。
VXLAN隧道口:指的是连接不同VXLAN网络之间的端口,用于VXLAN隧道的建立和VXLAN数据包的传输,包括接收从其他VXLAN网络中传输过来的VXLAN数据包和将VXLAN数据包转发到其他VXLAN网络中。
Loopback口:Loopback口(回环口)是一个虚拟的、逻辑上的端口,与物理端口完全隔离,可以用于网络设备的内部通信、路由协议建立、控制平面功能测试、设备管理等。
在VXLAN网络中,组播VXLAN技术允许源主机向多点目标主机发送数据,源主机只需发送一份数据,数据的目的地址是组播组地址,这样,凡是属于该组播组的成员,都可以接收到一份源主机发送的数据的拷贝。相关技术中,组播VXLAN的处理是由网络设备上的软件层负责的,通常是操作系统或网络设备的软件驱动。具体来说,组播VXLAN的操作,如加入组播组、加封装、解封装等,都是通过CPU执行的软件代码来实现的,而不是通过硬件专用的组件或芯片来实现,这种处理方式会受到CPU性能和系统负载的影响,在大量组播VXLAN流量的情况下存在性能瓶颈,组播VXLAN的转发效率和加/解封装效率低。
有鉴于此,本申请提供一种组播报文转发方法。参见图1,为本申请实施例提供的一种组播报文转发方法的流程示意图,该组播报文转发方法应用于网络设备中的交换芯片,上述交换芯片包括接入口、VXLAN隧道口和回环口。
在VXLAN网络中,上述网络设备亦可称之为VTEP设备。示例性的,上述网络设备可以是路由器、交换机、网关等设备,也可以是在原有设备功能服务的基础上额外搭载了构建、管理和维护网络功能的任意处理设备,其具体设备类型还有部署形式在实际操作中是可以较为灵活的,随实际需要配置即可,本申请的实施例对此并不具体限定。
示例性的,如图2所示,上述交换芯片可以包括接入口Access1、Access2以及Access3,上述任一接入口可以与本地网络中的主机连接,上述主机可以是服务器、虚拟机、工作站等。
上述任一接入口可以被配置为接入虚拟局域网VLAN(Virtual Local AreaNetwork)。如图2所示,VLAN10内存在主机1,主机1与交换芯片的Access1相连接,也即Access1被配置为接入VLAN10。同理,Access2被配置为接入VLAN20,Access3被配置为接入VLAN30。
示例性的,如图2所示,上述交换芯片可以包括VXLAN隧道口1、VXLAN隧道口2以及VXLAN隧道口3,任一VXLAN隧道口可以对应一条VXLAN隧道(VXLAN隧道在图2中并未示出),用于在不同VTEP设备之间传输VXLAN封装的数据包。
示例性的,如图2所示,上述交换芯片可以包括回环Loopback口,报文从Access1、Access2或Access3进入本交换芯片,通过回环口进行加封装处理后,转发至VXLAN隧道口1、VXLAN隧道口2和/或VXLAN隧道口3,以及带VXLAN头的封装报文从VXLAN隧道口1、VXLAN隧道口2或VXLAN隧道口3进入本交换芯片,通过回环口进行解封装处理后,转发至Access1、Access2和/或Access3。
如图1所示,该组播报文转发方法可以包括以下步骤:
步骤101:响应于从第一接入口接收到组播报文,根据所述组播报文的目的IP查找第一组播路由表以获得第一表项,所述第一接入口为所述交换芯片的接入口中的任一个。
示例性的,上述第一接入口可以根据实际业务需求预先配置为本交换芯片的接入口中的任一个。以图2所示的组播VXLAN架构图为例,在有主机1向多点目标主机发送信息的需求时(也即主机1为组播源),可以预先配置上述第一接入口为本交换芯片的Access1,交换芯片从Access1接收到组播源所发送的组播报文带VLAN标签为10。
在本申请的实施例中,为了便于描述,均以上述第一接入口为图2中的Access1来展开来说明。
在一些实施例中,交换芯片在从第一接入口接收到组播源所发送的组播报文后,可以对上述组播报文进行解析,获得上述组播报文的目的IP,上述目的IP即为组播组的IP地址。
在获得组播报文的目的IP后,可以根据组播报文的目的IP查找第一组播路由表。示例性的,第一组播路由表可以根据实际业务需求预先配置,第一组播路由表中的任一表项可以记录目的IP、组播组等信息之间的对应关系。
如果查找到第一组播路由表中某一表项所记录的目的IP与上述组播报文的目的IP相同,则该表项即为与上述组播报文匹配的第一表项。
步骤102:将所述组播报文复制并转发至所述第一表项所记录的第一组播组中的所有成员,所述第一组播组中的成员至少包括所述回环口。
在通过步骤101获得第一表项后,根据上述第一表项所记录的第一组播组,可以将上述组播报文在第一组播组中泛洪,也即将上述组播报文复制并转发至所述第一表项所记录的第一组播组中的所有成员。以图2所示的组播VXLAN架构图为例,第一组播组中的成员至少包括Loopback口。
在一些实施例中,第一组播组中的成员还可以包括交换芯片的接入口中除上述第一接入口以外的多个接入口,也即第一组播组中的成员可以是Access2、Access3和Loopback口。其中,在将上述组播报文在第一组播组中泛洪后,Access2接收到的组播报文带VLAN标签为20,Access3接收到的组播报文带VLAN标签为30。
在本申请的实施例中,第一组播组中的成员还可以包括交换芯片的接入口中除上述第一接入口以外的多个接入口,实现了从源主机组播发送数据到同一物理上的多个虚拟局域网中的目标主机,增强网络安全性和管理灵活性。
步骤103:在所述回环口接收到所述组播报文后,根据所述组播报文的目的IP查找第二组播路由表以获得第二表项。
在一些实施例中,交换芯片在从回环口接收到组播报文后,可以对上述组播报文进行解析,获得上述组播报文的目的IP,上述目的IP即为组播组的IP地址。
在获得组播报文的目的IP后,可以根据组播报文的目的IP查找第二组播路由表。示例性的,第二组播路由表可以根据实际业务需求预先配置,第二组播路由表中的任一表项可以记录目的IP、组播组、出接口(或下一跳)等信息之间的对应关系。
如果查找到第二组播路由表中某一表项所记录的目的IP与上述组播报文的目的IP相同,则该表项即为与上述组播报文匹配的第二表项。
步骤104:控制所述回环口对所述组播报文进行加封装处理,得到第一组播报文,并将所述第一组播报文复制并转发至所述第二表项所记录的第二组播组中的所有成员,所述第二组播组中的成员至少包括多个VXLAN隧道口。
在通过步骤103获得第二表项后,控制上述回环口对组播报文进行加封装处理,得到第一组播报文,该第一组播报文即为加封装后的组播报文。
在一些实施例中,可以通过预先配置硬件逻辑和固件,使得本交换芯片中的回环口具备对组播报文进行加/解封装处理的功能。
在一些实施例中,可以将上述第一组播报文在第二组播组中泛洪,也即将上述第一组播报文复制并转发至第二表项所记录的第二组播组中的所有成员,以图2所示的组播VXLAN架构图为例,第二组播组中的成员可以是VXLAN隧道口1、VXLAN隧道口2,或者是VXLAN隧道口2、VXLAN隧道口3,或者是VXLAN隧道口1、VXLAN隧道口3,亦或是VXLAN隧道口1、VXLAN隧道口2、VXLAN隧道口3。
在一些实施例中,多个VXLAN隧道口包括未配置VLAN标签的VXLAN隧道口和已配置VLAN标签的VXLAN隧道口。
以图2所示的组播VXLAN架构图为例,假设第二组播组中的成员为VXLAN隧道口1、VXLAN隧道口2、VXLAN隧道口3,VXLAN隧道口1可以配置为物理接口不带VLAN标签,VXLAN隧道口2可以配置VLAN标签为100,VXLAN隧道口3可以配置VLAN标签为200。
在将第一组播报文复制并转发至VXLAN隧道口1、VXLAN隧道口2以及VXLAN隧道口3后,由于VXLAN隧道口1被配置为物理接口,所以通过VXLAN隧道口1的第一组播报文不带VLAN标签,而通过VXLAN隧道口2的第一组播报文,其报文外层头带VLAN标签为100,通过VXLAN隧道口3的第一组播报文,其报文外层头带VLAN标签为200。
在本实施例中,多个VXLAN隧道口包括未配置VLAN标签的VXLAN隧道口和已配置VLAN标签的VXLAN隧道口,可以在VXLAN隧道中实现更细粒度的网络隔离,满足不同租户或不同业务场景的隔离需求,同时确保组播VXLAN技术能够与现有的VLAN管理机制相兼容,使得网络的升级和改造过程更加平滑。
在本申请的实施例中,通过硬件专用的组件或芯片,也即通过交换芯片和交换芯片中的回环口,实现了提升组播报文的转发效率和加/解封装效率。
参见图3,为本申请另一实施例提供的一种组播报文转发方法的流程示意图,该方法用于对上文各实施例中的第一组播报文进行转发,该方法应用于网络设备中的交换芯片,上述交换芯片包括接入口、VXLAN隧道口和回环口。
示例性的,如图2所示,上述交换芯片可以包括Access1、Access2、Access3、VXLAN隧道口1、VXLAN隧道口2、VXLAN隧道口3以及回环Loopback口,关于上述端口的详细描述,请参见前文,此处不再赘述。
如图3所示,本申请另一实施例提供的组播报文转发方法可以包括以下步骤:
步骤301:响应于从第一VXLAN隧道口接收到所述第一组播报文,根据所述第一组播报文的外层目的IP,查找第三组播路由表以获得第三表项,所述第一VXLAN隧道口为所述交换芯片的VXLAN隧道口中的任一个。
在一些实施例中,上述第一VXLAN隧道口可以为本交换芯片的VXLAN隧道口中的任一个,为了便于描述,下文均以上述第一VXLAN隧道口为图2中的VXLAN隧道口3来展开来说明。
上述第一组播报文为加封装的组播报文,交换芯片在从第一VXLAN隧道口接收到第一组播报文后,可以对上述第一组播报文进行解析,获得上述第一组播报文的外层IP头中的目的IP。
在获得第一组播报文的外层目的IP后,可以根据该外层目的IP查找第三组播路由表。示例性的,第三组播路由表可以根据实际业务需求预先配置,第三组播路由表中的任一表项可以记录外层目的IP、组播组等信息之间的对应关系。
如果查找到第三组播路由表中某一表项所记录的外层目的IP与上述第一组播报文的外层目的IP相同,则该表项即为与上述第一组播报文匹配的第三表项。
步骤302:将所述第一组播报文复制并转发至所述第三表项所记录的第三组播组中的所有成员,所述第三组播组中的成员至少包括所述回环口。
在通过步骤301获得第三表项后,根据上述第三表项所记录的第三组播组,可以将上述第一组播报文在第三组播组中泛洪,也即将上述第一组播报文复制并转发至所述第三表项所记录的第三组播组中的所有成员。以图2所示的组播VXLAN架构图为例,第三组播组中的成员至少包括Loopback口。
在一些实施例中,第三组播组中的成员还可以包括交换芯片的VXLAN隧道口中除上述第一VXLAN隧道口以外的多个VXLAN隧道口。以图2所示的组播VXLAN架构图为例,也即第三组播组中的成员可以是VXLAN隧道口1、VXLAN隧道口2和Loopback口。
在本申请的实施例中,第三组播组中的成员还可以包括交换芯片的VXLAN隧道口中除上述第一VXLAN隧道口以外的多个VXLAN隧道口,实现了细化网络隔离,提升VXLAN网络的可扩展性。
在一些实施例中,上述多个VXLAN隧道口包括未配置VLAN标签的VXLAN隧道口和已配置VLAN标签的VXLAN隧道口。以图2所示的组播VXLAN架构图为例,从VXLAN隧道口3接收到的第一组播报文,其外层的VLAN标签为200,VXLAN隧道口1可以配置为物理接口不带VLAN标签,VXLAN隧道口2可以配置VLAN标签为100。将上述第一组播报文在第三组播组中泛洪后,通过VXLAN隧道口1和VXLAN隧道口2的第一组播报文仍是加封装的组播报文,其中通过VXLAN隧道口1的第一组播报文,由于VXLAN隧道口1被配置为物理接口不带VLAN标签,所以该第一组播报文外层的VLAN标签将被去除,以及通过VXLAN隧道口2的第一组播报文,该第一组播报文外层的VLAN标签变更为100。
在本申请的实施例中,上述多个VXLAN隧道口包括未配置VLAN标签的VXLAN隧道口和已配置VLAN标签的VXLAN隧道口,可以在VXLAN隧道中实现更细粒度的网络隔离,满足不同租户或不同业务场景的隔离需求,同时确保组播VXLAN技术能够与现有的VLAN管理机制相兼容,使得网络的升级和改造过程更加平滑。
步骤303:在所述回环口接收到所述第一组播报文后,控制所述回环口对所述第一组播报文进行解封装处理,得到第二组播报文。
在一些实施例中,可以通过预先配置硬件逻辑和固件,使得本交换芯片中的回环口具备对组播报文进行加/解封装处理的功能。
步骤304:根据所述第二组播报文的目的IP查找第四组播路由表以获得第四表项,将所述第二组播报文复制并转发至所述第四表项所记录的第四组播组中的所有成员,所述第四组播组中的成员至少包括多个接入口。
在一些实施例中,交换芯片在控制回环口对第一组播报文进行解封装处理后得到第二组播报文,上述第二组播报文即为原始组播报文。交换芯片可以对上述第二组播报文进行解析,获得上述第二组播报文的目的IP,上述目的IP即为组播组的IP地址。
在获得第二组播报文的目的IP后,可以根据第二组播报文的目的IP查找第四组播路由表。示例性的,第四组播路由表可以根据实际业务需求预先配置,第四组播路由表中的任一表项可以记录目的IP、组播组、出接口(或下一跳)等信息之间的对应关系。如果查找到第四组播路由表中某一表项所记录的目的IP与上述第二组播报文的目的IP相同,则该表项即为与上述第二组播报文匹配的第四表项。
在一些实施例中,可以将上述第二组播报文在第四组播组中泛洪,也即将上述第二组播报文复制并转发至第四表项所记录的第四组播组中的所有成员,以图2所示的组播VXLAN架构图为例,第四组播组中的成员可以是Access1、Access2,或者是Access2、Access3,或者是Access1、Access3,亦或是Access1、Access2、Access3。
假设第四组播组中的成员为Access1、Access2、Access3,在将第二组播报文复制并转发至Access1、Access2、Access3后,通过Access1的第二组播报文,其携带的VLAN标签为10,通过Access2的第二组播报文,其携带的VLAN标签为20,通过Access3的第二组播报文,其携带的VLAN标签为30。
在本申请的实施例中,通过硬件专用的组件或芯片,也即通过交换芯片和交换芯片中的回环口,实现了提升组播报文的转发效率和加/解封装效率。
以上内容对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述:
请参见图4,为本申请实施例提供的一种组播报文转发装置的结构示意图。
如图4所示,该装置可以包括:
第一查找单元401,用于响应于从第一接入口接收到组播报文,根据所述组播报文的目的IP查找第一组播路由表以获得第一表项,所述第一接入口为所述交换芯片的接入口中的任一个。
第一转发单元402,用于将所述组播报文复制并转发至所述第一表项所记录的第一组播组中的所有成员,所述第一组播组中的成员至少包括所述回环口。
第二查找单元403,用于在所述回环口接收到所述组播报文后,根据所述组播报文的目的IP查找第二组播路由表以获得第二表项。
第二转发单元404,用于控制所述回环口对所述组播报文进行加封装处理,得到第一组播报文,并将所述第一组播报文复制并转发至所述第二表项所记录的第二组播组中的所有成员,所述第二组播组中的成员至少包括多个VXLAN隧道口。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,此处不再赘述。
请参见图5,为本申请另一实施例提供的一种组播报文转发装置的结构示意图。
如图5所示,该装置可以包括:
第三查找单元501,用于响应于从第一VXLAN隧道口接收到所述第一组播报文,根据所述第一组播报文的外层目的IP,查找第三组播路由表以获得第三表项,所述第一VXLAN隧道口为所述交换芯片的VXLAN隧道口中的任一个。
第三转发单元502,用于将所述第一组播报文复制并转发至所述第三表项所记录的第三组播组中的所有成员,所述第三组播组中的成员至少包括所述回环口。
解封装单元503,用于在所述回环口接收到所述第一组播报文后,控制所述回环口对所述第一组播报文进行解封装处理,得到第二组播报文。
第四转发单元504,用于根据所述第二组播报文的目的IP查找第四组播路由表以获得第四表项,将所述第二组播报文复制并转发至所述第四表项所记录的第四组播组中的所有成员,所述第四组播组中的成员至少包括多个接入口。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,此处不再赘述。
本申请实施例还提供了一种硬件结构。参见图6,图6为本申请实施例提供的电子设备结构图。如图6所示,该硬件结构可包括:处理器和机器可读存储介质,机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现本申请上述示例公开的方法。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的方法。
示例性的,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
需要说明的是,在本文中,诸如目标和目标等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (11)

1.一种组播报文转发方法,其特征在于,应用于网络设备中的交换芯片,所述交换芯片包括接入口、VXLAN隧道口和回环口,该方法包括:
响应于从第一接入口接收到组播报文,根据所述组播报文的目的IP查找第一组播路由表以获得第一表项,所述第一接入口为所述交换芯片的接入口中的任一个;
将所述组播报文复制并转发至所述第一表项所记录的第一组播组中的所有成员,所述第一组播组中的成员至少包括所述回环口;
在所述回环口接收到所述组播报文后,根据所述组播报文的目的IP查找第二组播路由表以获得第二表项;
控制所述回环口对所述组播报文进行加封装处理,得到第一组播报文,并将所述第一组播报文复制并转发至所述第二表项所记录的第二组播组中的所有成员,所述第二组播组中的成员至少包括多个VXLAN隧道口。
2.根据权利要求1所述的方法,其特征在于,所述第一组播组中的成员还包括所述交换芯片的接入口中除所述第一接入口以外的多个接入口。
3.根据权利要求1所述的方法,其特征在于,所述多个VXLAN隧道口包括未配置VLAN标签的VXLAN隧道口和已配置VLAN标签的VXLAN隧道口。
4.一种组播报文转发方法,其特征在于,用于对权利要求1-3任一项中的第一组播报文进行转发,该方法应用于网络设备中的交换芯片,所述交换芯片包括接入口、VXLAN隧道口和回环口,该方法包括:
响应于从第一VXLAN隧道口接收到所述第一组播报文,根据所述第一组播报文的外层目的IP,查找第三组播路由表以获得第三表项,所述第一VXLAN隧道口为所述交换芯片的VXLAN隧道口中的任一个;
将所述第一组播报文复制并转发至所述第三表项所记录的第三组播组中的所有成员,所述第三组播组中的成员至少包括所述回环口;
在所述回环口接收到所述第一组播报文后,控制所述回环口对所述第一组播报文进行解封装处理,得到第二组播报文;
根据所述第二组播报文的目的IP查找第四组播路由表以获得第四表项,将所述第二组播报文复制并转发至所述第四表项所记录的第四组播组中的所有成员,所述第四组播组中的成员至少包括多个接入口。
5.根据权利要求4所述的方法,其特征在于,所述第三组播组中的成员还包括所述交换芯片的VXLAN隧道口中除所述第一VXLAN隧道口以外的多个VXLAN隧道口。
6.根据权利要求5所述的方法,其特征在于,所述多个VXLAN隧道口包括未配置VLAN标签的VXLAN隧道口和已配置VLAN标签的VXLAN隧道口。
7.一种组播报文转发装置,其特征在于,应用于网络设备中的交换芯片,所述交换芯片包括接入口、VXLAN隧道口和回环口,该装置包括:
第一查找单元,用于响应于从第一接入口接收到组播报文,根据所述组播报文的目的IP查找第一组播路由表以获得第一表项,所述第一接入口为所述交换芯片的接入口中的任一个;
第一转发单元,用于将所述组播报文复制并转发至所述第一表项所记录的第一组播组中的所有成员,所述第一组播组中的成员至少包括所述回环口;
第二查找单元,用于在所述回环口接收到所述组播报文后,根据所述组播报文的目的IP查找第二组播路由表以获得第二表项;
第二转发单元,用于控制所述回环口对所述组播报文进行加封装处理,得到第一组播报文,并将所述第一组播报文复制并转发至所述第二表项所记录的第二组播组中的所有成员,所述第二组播组中的成员至少包括多个VXLAN隧道口。
8.一种组播报文转发装置,其特征在于,用于对权利要求7中的第一组播报文进行转发,该装置应用于网络设备中的交换芯片,所述交换芯片包括接入口、VXLAN隧道口和回环口,该装置包括:
第三查找单元,用于响应于从第一VXLAN隧道口接收到所述第一组播报文,根据所述第一组播报文的外层目的IP,查找第三组播路由表以获得第三表项,所述第一VXLAN隧道口为所述交换芯片的VXLAN隧道口中的任一个;
第三转发单元,用于将所述第一组播报文复制并转发至所述第三表项所记录的第三组播组中的所有成员,所述第三组播组中的成员至少包括所述回环口;
解封装单元,用于在所述回环口接收到所述第一组播报文后,控制所述回环口对所述第一组播报文进行解封装处理,得到第二组播报文;
第四转发单元,用于根据所述第二组播报文的目的IP查找第四组播路由表以获得第四表项,将所述第二组播报文复制并转发至所述第四表项所记录的第四组播组中的所有成员,所述第四组播组中的成员至少包括多个接入口。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器用于执行机器可执行指令,以实现如权利要求1-3任一项,或4-6任一项所述方法的步骤。
10.一种机器可读存储介质,其特征在于,所述机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现如权利要求1-3任一项,或4-6任一项所述方法的步骤。
11.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1-3任一项,或4-6任一项所述方法的步骤。
CN202410382662.3A 2024-03-29 2024-03-29 一种组播报文转发方法、装置、电子设备及存储介质 Pending CN118301054A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410382662.3A CN118301054A (zh) 2024-03-29 2024-03-29 一种组播报文转发方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410382662.3A CN118301054A (zh) 2024-03-29 2024-03-29 一种组播报文转发方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN118301054A true CN118301054A (zh) 2024-07-05

Family

ID=91687508

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410382662.3A Pending CN118301054A (zh) 2024-03-29 2024-03-29 一种组播报文转发方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN118301054A (zh)

Similar Documents

Publication Publication Date Title
US10320664B2 (en) Cloud overlay for operations administration and management
US9455935B2 (en) Remote port mirroring
US10333836B2 (en) Convergence for EVPN multi-homed networks
CN108781185B (zh) 提供用于网络设备的可编程包分类框架的系统和方法
US20190327109A1 (en) NSH Encapsulation for Traffic Steering
CN112787931B (zh) 报文传输方法、代理节点及存储介质
CN112787921B (zh) 报文传输方法、代理节点及存储介质
EP3278513B1 (en) Transforming a service packet from a first domain to a second domain
US20150169351A1 (en) Configuring virtual media access control addresses for virtual machines
JP6722816B2 (ja) パケット転送
CN111937358B (zh) 用于结构边缘设备的多vrf通用设备互联网协议地址
CN104871483A (zh) 对于基于mpls的虚拟私有云联网的ip组播服务加入过程
US10050859B2 (en) Apparatus for processing network packet using service function chaining and method for controlling the same
CN103888386A (zh) 可扩展虚拟局域网报文的传输方法及装置、系统
US20200007472A1 (en) Service insertion in basic virtual network environment
CN110445702B (zh) 一种报文转发方法及设备
US10567274B1 (en) Method, system, and apparatus for proxying intra-subnet traffic across multiple interfaces within networks
US11956148B2 (en) Packet transmission method and device
CN114095460B (zh) 一种报文广播方法及设备
CN112702254B (zh) 报文处理方法、装置及电子设备
US12010015B2 (en) Egress pipeline with tag manipulation and ESI label push capability
CN118301054A (zh) 一种组播报文转发方法、装置、电子设备及存储介质
CN107547449B (zh) 镜像报文转发方法、装置和系统
EP3913865B1 (en) Message decapsulation method and device, message encapsulation method and device, electronic device, and storage medium
US10601649B1 (en) Stack switching detection and provisioning

Legal Events

Date Code Title Description
PB01 Publication