CN112202674A - 一种组播报文的转发处理方法、装置、设备及存储介质 - Google Patents

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

Info

Publication number
CN112202674A
CN112202674A CN202011035310.9A CN202011035310A CN112202674A CN 112202674 A CN112202674 A CN 112202674A CN 202011035310 A CN202011035310 A CN 202011035310A CN 112202674 A CN112202674 A CN 112202674A
Authority
CN
China
Prior art keywords
description information
multicast
frame description
target
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.)
Granted
Application number
CN202011035310.9A
Other languages
English (en)
Other versions
CN112202674B (zh
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.)
Beijing Wuxin Technology Co ltd
Original Assignee
Beijing Wuxin Technology 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 Beijing Wuxin Technology Co ltd filed Critical Beijing Wuxin Technology Co ltd
Priority to CN202011035310.9A priority Critical patent/CN112202674B/zh
Publication of CN112202674A publication Critical patent/CN112202674A/zh
Application granted granted Critical
Publication of CN112202674B publication Critical patent/CN112202674B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种组播报文的转发处理方法、装置、设备及存储介质,包括:对接收到的原始组播报文进行存储,并生成与原始组播报文匹配的帧描述信息序列;在检测到与原始组播报文匹配的组播报文转发条件时,获取与原始组播报文匹配的多个目标转发端口;对帧描述信息序列进行复制处理,得到与目标转发端口的数量匹配的多个复制帧描述信息序列;将各复制帧描述信息序列发送至报文发送模块,以使报文发送模块根据接收的复制帧描述信息序列,获取存储的所述原始组播报文,并将所述原始组播报文发送到各目标转发端口。本发明实施例的技术方案可以节省存储器的存储空间,提高存储器的空间利用率。

Description

一种组播报文的转发处理方法、装置、设备及存储介质
技术领域
本发明实施例涉及以太网通信技术,尤其涉及一种组播报文的转发处理方法、装置、设备及存储介质。
背景技术
组播技术是一种基于网际互连协议(IP,Internet Protocol)传输数据的通信方式,实现了网络中点到多点的高效数据传输,被广泛应用于网络电视、实时数据传输和多媒体会议等网络业务中。
现有的交换设备在对组播报文进行复制时,通常需要对接收到的原始组播报文按照源端口组织队列进行存储,并将每一个原始组播报文需要复制的总份数和当前已经复制的份数分别存储在两个随机存取存储器(Random Access Memory,RAM)中,如果对接收到的某一原始组播报文完成复制,则将与该组播报文对应的用于存储复制份数的RAM地址资源进行释放。
但是,现有交换设备在对组播报文完成复制后,对RAM地址资源的回收过程较为繁琐,导致RAM的空间利用率较低。
发明内容
本发明实施例提供一种组播报文的转发处理方法、装置、设备及存储介质,可以节省存储器的存储空间,提高存储器的空间利用率。
第一方面,本发明实施例提供了一种组播报文的转发处理方法,所述方法包括:
对接收到的原始组播报文进行存储,并生成与所述原始组播报文匹配的帧描述信息序列,所述帧描述信息序列包括多个帧描述信息;
在检测到与所述原始组播报文匹配的组播报文转发条件时,获取与所述原始组播报文的组播类型匹配的多个目标转发端口;
对所述帧描述信息序列进行复制处理,得到与所述目标转发端口的数量匹配的多个复制帧描述信息序列;
将各复制帧描述信息序列发送至报文发送模块,以使报文发送模块根据接收的复制帧描述信息序列,获取存储的所述原始组播报文,并将所述原始组播报文发送到各目标转发端口。
第二方面,本发明实施例还提供了一种组播报文的转发处理装置,该装置包括:
原始组播报文存储模块,用于对接收到的原始组播报文进行存储,并生成与所述原始组播报文匹配的帧描述信息序列,所述帧描述信息序列包括多个帧描述信息;
目标转发端口获取模块,用于在检测到与所述原始组播报文匹配的组播报文转发条件时,获取与所述原始组播报文的组播类型匹配的多个目标转发端口;
复制处理模块,用于对所述帧描述信息序列进行复制处理,得到与所述目标转发端口的数量匹配的多个复制帧描述信息序列;
组播报文转发模块,用于将各复制帧描述信息序列发送至报文发送模块,以使报文发送模块根据接收的复制帧描述信息序列,获取存储的所述原始组播报文,并将所述原始组播报文发送到各目标转发端口。
第三方面,本发明实施例还提供了一种计算机设备,该计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例提供的一种组播报文的转发处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的一种组播报文的转发处理方法。
本发明实施例的技术方案首先对接收到的原始组播报文进行存储,并生成与原始组播报文匹配的帧描述信息序列;在检测到与原始组播报文匹配的组播报文转发条件时,获取多个目标转发端口;然后对帧描述信息序列进行复制处理,得到与目标转发端口的数量匹配的多个复制帧描述信息序列,并将各复制帧描述信息序列发送至报文发送模块,以使报文发送模块根据接收的复制帧描述信息序列,获取存储的所述原始组播报文,并将所述原始组播报文发送到各目标转发端口。本发明实施例的技术方案中交换设备在向多个接收机转发原始组播报文时,只需对帧描述信息序列进行复制,而无需对原始组播报文复制,从而可以节省存储器的存储空间,提高存储器的空间利用率。
附图说明
图1是本发明实施例一中的一种组播报文的转发处理方法的流程图;
图2是本发明实施例二中的一种组播报文的转发处理方法的流程图;
图3a是本发明实施例三中的一种组播报文的转发处理方法的流程图;
图3b是本发明实施例三中的一种组播报文的转发处理方法的示意图;
图4是本发明实施例四中的一种组播报文的转发处理装置的结构图;
图5是本发明实施例五中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种组播报文的转发处理方法的流程图,本实施例可适用于交换设备对接收的组播报文进行复制转发的情况,该方法可以由组播报文的转发处理装置来执行,该装置可以由软件和/或硬件来实现,并一般可以集成在交换设备中,具体包括如下步骤:
步骤110、对接收到的原始组播报文进行存储,并生成与所述原始组播报文匹配的帧描述信息序列,所述帧描述信息序列包括多个帧描述信息。
在此步骤中,原始组播报文为交换设备源端口接收的待转发的组播报文。可选的,当源端口接收到原始组播报文后,交换设备中的入口队列管理器(Ingress Queue Manage,IQM)将原始组播报文存储在随机存取存储器(Random Access Memory,RAM)或其他存储器(如Cache存储器)中。需要说明的是,当源端口接收到多个原始组播报文时,IQM将所述多个原始组播报文存储在一个存储器中,且每个原始组播报文对应一个特定的报文存储地址。
其中,每个原始组播报文可以对应多个帧描述信息(Frame Descriptor,FD),所述帧描述信息用于指示原始组播报文中各分段报文的特征信息。帧描述信息可以包括:各分段报文在整个原始组播报文中的位置信息、分段报文的数据类型、分段报文的数据长度、原始组播报文的数据长度、组播类型、存储地址以及原始组播报文对应的唯一性标识信息等。所述多个帧描述信息共同构成了与原始组播报文匹配的帧描述信息序列。
在本实施例中,可选的,IQM将原始组播报文存储在存储器后,还可以将与原始组播报文匹配的帧描述信息序列加入至预设的队列中,所述队列的数量值小于所述源端口的数量值。当多个源端口同时接收到多个原始组播报文时,IQM可以将多个原始组播报文对应的多个帧描述信息序列分布存储在各队列中。
现有交换设备对接收的原始组播报文按照源端口组织队列进行存储时,队列数通常为8的倍数,而本实施例中,为了方便对组播报文的处理,维护的队列数最大为8,具体数值以实际情况进行预设,本实施例对此并不进行限制。
由此,通过将多个原始组播报文存储在一个存储器,并设置数量较小的队列,使多个帧描述信息序列分布存储在各队列中,可以避免现有交换设备对接收到的原始组播报文按照源端口组织队列进行存储时,由于源端口个数较多,组织的队列数量较多,导致队列消耗的资源较多,维护成本较高的问题。
在本发明实施例的一个实施方式中,生成与原始组播报文匹配的帧描述信息序列,包括:将原始组播报文切分为多个数据帧单元,并生成与每个数据帧单元分别对应的帧描述信息;根据各数据帧单元在原始组播报文中的位置,将各帧描述信息排列得到帧描述信息序列。
其中,可以按照预设的数据长度将原始组播报文切分为多个数据帧单元,也可以按照不同的数据类型将原始组播报文切分为多个数据帧单元,本发明实施例并不对原始组播报文的切分方式进行限定。在将原始组播报文切分为多个数据帧单元之后,根据各数据帧单元在原始组播报文中的位置(也即数据帧单元位于原始组播报文的头部、中部或尾部),将各帧描述信息按照从头到尾的顺序排列得到帧描述信息序列。
在本实施例中,在生成与原始组播报文匹配的帧描述信息序列之后,还包括:将帧描述信息序列中的各帧描述信息顺序写入与原始组播报文对应的帧描述信息记录表中。
其中,当交换设备接收到多个原始组播报文时,在生成与多个原始组播报文分别匹配的帧描述信息序列之后,还将多个帧描述信息序列中的各帧描述信息顺序写入帧描述信息记录表中,所述帧描述信息记录表如表1所示。
a FD(a)
b FD(b)
c FD(c)
d FD(d)
e FD(e)
f FD(f)
表1
表1中以两个原始组播报文对应的帧描述信息序列为例,假设交换设备接收到的第一原始组播报文匹配的帧描述信息序列包括四个帧描述信息,分别为FD(a)、FD(b)、FD(c)和FD(d);交换设备接收到的第二原始组播报文匹配的帧描述信息序列包括两个帧描述信息,分别为FD(e)和FD(f)。
其中,以第一原始组播报文为例,FD(a)为位于第一原始组播报文头部的数据帧单元对应的帧描述信息,FD(b)和FD(c)为位于第一原始组播报文中部的数据帧单元对应的帧描述信息,FD(d)为位于第一原始组播报文尾部的数据帧单元对应的帧描述信息。如表1所示,第一原始组播报文对应的四个帧描述信息在帧描述信息记录表中的存储位置分别为a、b、c和d。
步骤120、在检测到与所述原始组播报文匹配的组播报文转发条件时,获取与原始组播报文的组播类型匹配的多个目标转发端口。
其中,交换设备中包括多个转发端口,所述转发端口用于将接收到的组播报文进行转发。在组播技术中,每种组播类型对应多个叶子类型,每个叶子类型与交换设备中多个转发端口中的几个转发端口相匹配,交换设备在接收到的原始组播报文后,首先获取该原始组播报文的组播类型,然后根据预存的组播类型中各叶子类型与匹配的转发端口的映射关系,获取到与该原始组播报文的匹配的目标转发端口。
在本实施例中,可选的,可以采用差分加权轮询(Deficit Weighted RoundRobin)算法确定各队列对应的原始组播报文是否满足组播报文转发条件,也即当检测到某一队列中存储完整的原始组播报文对应的帧描述信息序列时,则确认该原始组播报文满足组播报文转发条件。在检测到与原始组播报文匹配的组播报文转发条件时,IQM向入口调度程序(Ingress Scheduler,IS)发出获取目标转发端口的请求。
在本实施例中,每个原始组播报文对应特定的组播类型以及组播组标识mc_index,mc_index可以为与组播类型匹配的特征码或标识符等。在接收原始组播报文之前,还建立了组播表项以及组播组入口地址表。
在一个具体的实施例中,建立组播表项(如表2)的过程包括:首先获取大量组播报文的组播类型,并将各组播类型对应的各叶子类型存储于组播表项中。其中,组播表项存储有不同组播组标识对应的不同的组播组入口地址,且每个组播组入口地址对应多个组播链表;每个组播链表中存储多个叶子类型,以及所述组播组入口地址对应的下一组播链表在所述组播表项中的存储地址。
Figure BDA0002704862110000081
表2
在本实施例中,如表2所示,以两个组播组标识为例,第一组播组标识对应的组播组入口地址为mc_a_addr0,该组播组入口地址对应三个组播链表,即链表1、链表2和链表3。第二组播组标识对应的组播组入口地址为mc_b_addr0,该组播组入口地址对应两个组播链表,即链表4和链表5。示例性地,每个组播链表中存储两个叶子类型,如链表1中存储的两个叶子类型分别为Leaf0和Leaf1。
组播表项中每个链表除存储叶子类型以外,还存储了组播组入口地址对应的下一组播链表在所述组播表项中的存储地址,如链表1除了存储Leaf0和Leaf1以外,还存储了链表2的存储地址,记为mc_a_addr1。
由此,在组播表项中通过存储每个组播类型对应的至少两个叶子类型,可以实现原始组播报文复制次数的最大化,进而达到交换设备满带宽复制的效果。
在一个具体的实施例中,建立组播组入口地址表(如表3)的过程包括:从组播表项(如表2)中获取各组播组标识,并将各组播组标识,以及对应的的组播组入口地址存储于组播组入口地址表中。
mc_a_index mc_a_addr0
mc_b_index mc_b_addr0
表3
在一个具体的实施例中,获取与原始组播报文的组播类型匹配的多个目标转发端口,包括:S101、获取与原始组播报文对应的目标组播组入口地址,目标组播组入口地址与目标组播组标识关联,目标组播组标识与原始组播报文的组播类型关联;S102、根据目标组播组入口地址,查询组播表项,获取与目标组播组入口地址匹配的多个目标转发端口。
其中,可以首先获取原始组播报文对应的组播组标识,根据组播组标识在组播组入口地址表(如表3)中查询到对应的组播组入口地址,将此入口地址作为目标组播组入口地址,然后根据目标组播组入口地址在组播表项(如表2)中查询到对应的叶子类型,并根据叶子类型与转发端口之间的映射关系,获取到与原始组播报文对应的目标转发端口。
在本发明实施例的一个实施方式中,根据目标组播组入口地址,查询组播表项,获取与目标组播组入口地址匹配的多个目标转发端口还包括:
S1021、根据目标组播组入口地址,获取与目标组播组入口地址对应的目标链表,并获取所述目标链表中存储的叶子类型;
S1022、根据目标链表中存储的下一链表的存储地址,在所述组播表项中遍历原始组播报文对应的组播类型下剩余链表中的叶子类型;
S1023、如果在当前链表中检测到当前组播类型对应的下一链表的存储地址为空值时,则确定当前链表为所述原始组播报文对应的最后一个链表,并将所述目标链表至当前链表之间的全部链表中的叶子类型作为所述原始组播报文对应的目标叶子类型;
S1024、根据所述叶子类型与至少一个转发端口之间的映射关系,查找与所述目标叶子类型对应的多个目标转发端口。
其中,以表2为例,假设目标组播组入口地址为mc_a_addr0,则在组播表项中获取到对应的目标链表为链表1,并获取链表1中存储的叶子类型;然后根据链表1中存储的下一链表的存储地址mc_a_addr1,在组播表项中遍历原始组播报文对应的组播类型下剩余链表(如链表2与链表3等)中的叶子类型;在获取到链表3中的叶子类型后,在链表3中检测到当前组播类型对应的下一链表的存储地址为空值null后,则确定链表3为原始组播报文对应的最后一个链表,并将链表1至链表3之间的全部链表中的叶子类型作为原始组播报文对应的目标叶子类型;最后根据叶子类型与至少一个转发端口之间的映射关系,查找与目标叶子类型对应的多个目标转发端口。
步骤130、对帧描述信息序列进行复制处理,得到与所述目标转发端口的数量匹配的多个复制帧描述信息序列。
在本实施例中,获取到多个目标转发端口后,IS将帧描述信息序列发送至交换设备中的复制模块。可选的,复制模块可以从队列中获取原始组播报文对应的帧描述信息序列,对帧描述信息序列进行复制,也可以按照与原始组播报文对应的帧描述信息记录表,对帧描述信息序列进行复制处理。
步骤140、将各复制帧描述信息序列发送至报文发送模块,以使报文发送模块根据接收的复制帧描述信息序列,获取存储的所述原始组播报文,并将所述原始组播报文发送到各目标转发端口。
在本实施例中,复制模块对帧描述信息序列进行复制处理后,IS将多个复制帧描述信息序列发送给交换设备中的出口队列管理器(Egress Queue Manager,EQM),EQM向出口调度程序(Egress Scheduler,ES)申请发送请求,ES确认发送请求后,将各复制帧描述信息序列发送至报文发送模块。
当报文发送模块接收到复制帧描述信息序列后,根据帧描述信息序列中的帧描述信息获取到原始组播报文在存储器的存储位置,根据存储位置读取原始组播报文,并将原始组播报文发送到各目标转发端口。
在一个具体的实施例中,报文发送模块可以将原始组播报文直接发送至各目标转发端口,也可以在用户预设的端口过滤表中查询无效端口,将所述无效端口从多个目标转发端口中剔除,然后将原始组播报文发送至剩余的目标转发端口。当目标转发端口接收到原始组播报文后,将原始组播报文进行转发。
由此,交换设备在向多个接收机转发原始组播报文时,只需对帧描述信息序列进行复制,而无需对原始组播报文复制,从而可以节省存储器的存储空间,提高存储器的空间利用率。
本发明实施例的技术方案首先对接收到的原始组播报文进行存储,并生成与原始组播报文匹配的帧描述信息序列;在检测到与原始组播报文匹配的组播报文转发条件时,获取多个目标转发端口;然后对帧描述信息序列进行复制处理,得到与目标转发端口的数量匹配的多个复制帧描述信息序列,并将各复制帧描述信息序列发送至报文发送模块,以使报文发送模块根据接收的复制帧描述信息序列,获取存储的所述原始组播报文,并将所述原始组播报文发送到各目标转发端口。本发明实施例的技术方案可以节省存储器的存储空间,提高存储器的空间利用率。
实施例二
本实施例是对上述实施例一的进一步细化,与上述实施例相同或相应的术语解释,本实施例不再赘述。图2为本发明实施例二提供的一种组播报文的转发处理方法的流程图,在本实施例中,本实施例的技术方案可以与上述实施例的方案中的一种或者多种方法进行组合,在本实施例中,如图2所示,本发明实施例提供的方法还可以包括:
步骤210、对接收到的原始组播报文进行存储,并生成与原始组播报文匹配的帧描述信息序列。
步骤220、将帧描述信息序列中的各帧描述信息顺序写入与原始组播报文对应的帧描述信息记录表中。
在本实施例中,帧描述信息序列中首个帧描述信息中还包括原始组播报文对应的目标组播组标识。
在本发明实施例的一个实施方式中,将帧描述信息序列中的各帧描述信息顺序写入与原始组播报文对应的帧描述信息记录表中,包括:
S201、建立与原始组播报文对应的帧描述信息记录表以及辅助查询表;其中,辅助查询表如表4所示:
a mc_a_addr0 b
b c
c d
d null
表4
所述辅助查询表用于复制模块对帧描述信息序列进行多次复制时,为复制模块快速提供原始组播报文的目标组播组入口地址,以及对应的帧描述信息序列,进而提高复制模块对原始组播报文的复制效率,以及目标转发端口对原始组播报文的转发效率。
S202、将帧描述信息序列中的各帧描述信息顺序存储于帧描述信息记录表中,并在辅助查询表中对应写入各帧描述信息在帧描述信息记录表中的存储位置;
其中,帧描述信息记录表如表1所示,以表1中第一原始组播报文为例,第一原始组播报文对应的四个帧描述信息在帧描述信息记录表中的存储位置分别为a、b、c和d,将上述四个存储位置写入辅助查询表中,如表4所示。
在本实施例中,在建立与所述原始组播报文对应的帧描述信息记录表以及辅助查询表之后,还包括:
S203、在帧描述信息序列首个帧描述信息中识别与原始组播报文的组播类型匹配的目标组播组标识;
在此步骤中,可选的,可以通过预设的标识符在首个帧描述信息中识别目标组播组标识。
S204、根据预存的组播组标识与组播组入口地址之间的映射关系,确定与所述目标组播组标识对应的目标组播组入口地址,并将确定的所述目标组播组入口地址加入所述辅助查询表中;
其中,获取到目标组播组标识后,可以通过组播组入口地址表(如表3)查询到对应的目标组播组入口地址,并将此地址加入辅助查询表中。假设目标组播标识为mc_a_index,查询到的目标组播组入口地址则为mc_a_addr0,并将此地址加入辅助查询表,如表4所示。其中,辅助查询表中的每个链表除存储帧描述信息在帧描述信息记录表中的存储位置后,还存在下一帧描述信息在帧描述信息记录表中的存储位置。
步骤230、在检测到与所述原始组播报文匹配的组播报文转发条件时,获取与所述原始组播报文对应的目标组播组入口地址。
在本实施例中,获取与原始组播报文对应的目标组播组入口地址,包括:查询辅助查询表,获取目标组播组入口地址。
其中,每个原始组播报文对应一个匹配的辅助查询表,以便于复制模块对帧描述信息序列进行多次复制时,从辅助查询表快速获取目标组播组入口地址,以及对应的帧描述信息序列。
步骤240、根据所述目标组播组入口地址,查询组播表项,获取与所述目标组播组入口地址匹配的多个目标转发端口。
步骤250、查询所述辅助查询表,获取各所述帧描述信息在所述帧描述信息记录表中的存储位置,并根据获取的存储位置,从所述帧描述信息记录表获取各所述帧描述信息进行复制处理,得到与所述目标转发端口的数量匹配的多个复制帧描述信息序列。
步骤260、将各复制帧描述信息序列发送至报文发送模块,以使报文发送模块根据接收的复制帧描述信息序列,获取存储的所述原始组播报文,并将所述原始组播报文发送到各目标转发端口。
本发明实施例的技术方案通过对接收到的原始组播报文进行存储,生成与原始组播报文匹配的帧描述信息序列,然后将帧描述信息序列中的各帧描述信息顺序写入帧描述信息记录表中,在检测到与原始组播报文匹配的组播报文转发条件时,获取目标组播组入口地址,以便于查询组播表项,获取目标转发端口,并查询辅助查询表获取各帧描述信息在帧描述信息记录表中的存储位置,以便于获取各帧描述信息进行复制处理,最后将各复制帧描述信息序列发送至报文发送模块,以使报文发送模块根据接收的复制帧描述信息序列,获取存储的原始组播报文,并将原始组播报文发送到各目标转发端口。本发明实施例的技术方案可以节省存储器的存储空间,提高原始组播报文的复制效率,以及目标转发端口对原始组播报文的转发效率。
实施例三
本实施例是对上述实施例二的进一步细化,与上述实施例相同或相应的术语解释,本实施例不再赘述。图3a为本发明实施例三提供的一种组播报文的转发处理方法的流程图,在本实施例中,本实施例的技术方案可以与上述实施例的方案中的一种或者多种方法进行组合,在本实施例中,如图3a所示,本发明实施例提供的方法还可以包括:
步骤310、对接收到的原始组播报文进行存储,并生成与所述原始组播报文匹配的帧描述信息序列,帧描述信息序列包括多个帧描述信息。
在本实施例中,各帧描述信息中还包括与原始组播报文的组播类型匹配的报文转发优先级。
步骤320、获取帧描述信息序列中的一个帧描述信息作为当前处理帧描述信息。
步骤330、获取与原始组播报文的组播类型匹配的报文转发优先级。
其中,可选的,可以通过预设的标识符在当前帧描述信息中获取匹配的报文转发优先级。
步骤340、将当前处理帧描述信息加入至与报文转发优先级匹配的目标优先级队列中,并将当前处理帧描述信息写入帧描述信息记录表中。
在本实施例中,在对接收到的原始组播报文进行存储之前,预先设置了多个队列,所述队列的数量值小于交换设备源端口的数量值,且各队列按照优先级由高到低的顺序进行排列。在当前帧描述信息中获取匹配的报文转发优先级后,将当前帧描述信息加入至与报文转发优先级匹配的目标优先级队列中。
在本实施例中,为了方便对组播报文的处理,队列的数量值最大为8,,具体数值以实际情况进行预设,本实施例对此并不进行限制。
步骤350、判断是否完成对帧描述信息序列中全部帧描述信息的处理,若是,执行步骤360,若否,返回执行步骤320。
在此步骤中,可以通过识别当前处理帧描述信息在整个原始组播报文中的位置信息,判断当前处理帧描述信息是否为帧描述信息序列中最后一个帧描述信息,若是,则确定完成对帧描述信息序列中全部帧描述信息的处理。
步骤360、在检测到与原始组播报文匹配的组播报文转发条件时,获取与原始组播报文对应的目标组播组入口地址。
在本发明实施例的一个实施方式中,在确定与原始组播报文匹配的全部帧描述信息均加入至目标优先级队列中,且优先级高于目标优先级队列的其他优先级队列中不存在帧描述信息时,确定检测到与所述原始组播报文匹配的组播报文转发条件。
其中,若是低优先级队列中已经加入全部帧描述信息,但是高优先级队列中仍在加入帧描述信息,则需要等待高优先级队列中全部帧描述信息存储完成,并在完成对高优先级队列匹配的帧描述信息序列的复制处理后,再完成对低优先级队列匹配的帧描述信息序列的复制处理。由此,可以避免现有交换设备中高优先级组播报文复制延迟的问题,提升了高优先级组播报文处理过程的时效性。
步骤370、根据所述目标组播组入口地址,查询组播表项,获取与目标组播组入口地址匹配的多个目标转发端口。
步骤380、查询辅助查询表,获取各帧描述信息在所述帧描述信息记录表中的存储位置,并根据获取的存储位置,从所述帧描述信息记录表获取各所述帧描述信息进行复制处理,得到与所述目标转发端口的数量匹配的多个复制帧描述信息序列。
步骤390、将各复制帧描述信息序列发送至报文发送模块,以使报文发送模块根据接收的复制帧描述信息序列,获取存储的原始组播报文,并将原始组播报文发送到各目标转发端口。
本发明实施例的技术方案首先通过对接收到的原始组播报文进行存储,生成与原始组播报文匹配的帧描述信息序列;然后获取帧描述信息序列中的一个帧描述信息作为当前处理帧描述信息,获取与原始组播报文匹配的报文转发优先级,并将当前处理帧描述信息加入至目标优先级队列中;将当前处理帧描述信息写入帧描述信息记录表中,在确定完成对帧描述信息序列中全部帧描述信息的处理后,如果检测到与原始组播报文匹配的组播报文转发条件,则获取与原始组播报文对应的目标组播组入口地址,以便于查询组播表项,获取多个目标转发端口;最后查询辅助查询表,获取各帧描述信息进行复制处理,得到多个复制帧描述信息序列,并将各复制帧描述信息序列发送至报文发送模块,以使报文发送模块根据接收的复制帧描述信息序列,获取存储的原始组播报文,并将原始组播报文发送到各目标转发端口。本发明实施例的技术方案可以节省存储器的存储空间,提升高优先级组播报文处理过程的时效性。
为了更好的对本发明实施例提供的技术方案进行介绍,本发明实施例可以参考下述的实施方式,如图3b所示:步骤1:对接收到的原始组播报文进行存储,并生成与所述原始组播报文匹配的帧描述信息序列,帧描述信息序列包括多个帧描述信息FD。
步骤2:入口队列管理器IQM将当前处理帧描述信息加入至与报文转发优先级匹配的目标优先级队列中,并将当前处理帧描述信息写入帧描述信息记录表mc_fd_tbl中,并根据组播表项mc_leaf_tbl,以及帧描述信息记录表mc_fd_tbl,构建辅助查询表mc_link_tbl。
在本实施例中,每个队列对应匹配的队列描述信息QD,每个QD包括该队列中存储内容的头指针QD.head_ptr、尾指针QD.tail_ptr、帧描述信息对应的组播组入口地址QD.leaf_index、首个帧描述信息的地址QD.cur_sof_ptr、帧描述信息的个数QD.fd_cnt,以及该队列中全部帧描述信息对应的组播报文的个数QD.pkt_cnt。
其中,FD的入队过程具体如下:
当第1个FD(即首FD,记为FD(a))到来时队列为空,此时:
Q{n}.head_ptr=a;Q{n}.tail_ptr=a;
Q{n}.leaf_idx=FD(a).mc_a_addr0(使用FD的随路信息mc_index作为地址读取组播组入口地址表mc_leaf_addr_tbl);
把FD(a)其余信息写入mc_fd_tbl中地址为a的存储空间中;
当第2个FD(记为FD(b))到来时队列非空,此时:
Q{n}.tail_ptr=b;mc_link_tbl(a).next_ptr=b;
mc_link_tbl(a).leaf_index=0x0;
把FD(b)其余信息写入mc_fd_tbl中地址为b的存储空间中;
其他FD的入队操作以此类推。
具体的,将帧描述信息FD写入mc_fd_tbl的过程可以为:以在队列中申请到的FD的指针作为地址,把FD的信息以及FD对应的随路信息写入mc_fd_tbl中。
具体的,构建辅助查询表mc_link_tbl的过程可以为:根据FD携带的优先级,获取对应的优先级队列QD中的内容,以QD.Tail_Ptr为地址,把该FD在优先级队中申请到的空闲地址写入下一地址存储域Next Ptr中,如果当前FD是首FD,则需要把组播组入口地址写入对应的地址存储域中。
具体的,更新队列描述信息QD的过程可以包括:
(1)当QD.pkt_cnt不为0时表示该队列非空,并且至少有一个完整的报文可用于调度,此时该队列向调度器发送调取请求。
(2)获得出队的队列n,n=0,1,…,7,使用QD[n].head_ptr读取mc_fd_tbl,获得当前队列首个FD的信息,同时可以从QD[n].leaf_index获取访问mc_leaf_addr_tbl的地址,对于每个报文的首个FD,这个leaf_index为组播表项的入口地址。根据FD信息和leaf_index信息,并且使用leaf_index读取组播表项mc_leaf_tbl,获取要复制的叶子信息,同时获得组播组入口地址对应的下一链表的存储地址next_ptr,如果next_ptr=NULL(即全1),则表示当前是最后一片叶子。复制模块每收到一个FD,都会向接收模块反馈next ptr信息。
(3)如果next ptr为有效值,并且FD.Eof=1(即FD是最后一个FD),则产生rewind信号,需要把当前出队的FD重新出队一次,以用于完成下一次复制。如果next ptr=NULL,并且FD.Eof=1,则表示最后一份复制的报文的所有FD已经完成出队,则启动下一次调度。
步骤3:在确定与原始组播报文匹配的全部FD均加入至目标优先级队列中,且优先级高于目标优先级队列的其他优先级队列中不存在FD时,确定检测到与原始组播报文匹配的组播报文转发条件,即开始与原始组播报文匹配的多个FD的出队过程。
步骤4:访问组播组入口地址表mc_leaf_addr_tbl,获取到目标组播组入口地址,根据目标组播组入口地址,以及组播表项mc_leaf_tbl,获取到全部组播链表,并获取全部组播链表中存储的叶子类型。
步骤5:根据各叶子类型与转发端口的映射关系,获取目标转发端口。
步骤6:查询辅助查询表mc_link_tbl,获取各帧描述信息FD在帧描述信息记录表mc_fd_tbl中的存储位置,并根据获取的存储位置,获取各FD进行复制处理,得到与目标转发端口的数量匹配的多个复制帧描述信息序列。
步骤7:复制模块对帧描述信息序列进行复制处理后,入口调度程序将多个复制帧描述信息序列发送给交换设备中的出口队列管理器EQM,EQM向出口调度程序ES申请发送请求,ES确认发送请求后,将各复制帧描述信息序列发送至报文发送模块,以使报文发送模块根据接收的复制帧描述信息序列,获取存储的所述原始组播报文,并将所述原始组播报文发送到各目标转发端口。
实施例四
图4为本发明实施例四提供的一种组播报文的转发处理装置的结构图,该装置包括:原始组播报文存储模块410、目标转发端口获取模块420、复制处理模块430和组播报文转发模块440。
其中,原始组播报文存储模块410,用于对接收到的原始组播报文进行存储,并生成与所述原始组播报文匹配的帧描述信息序列,所述帧描述信息序列包括多个帧描述信息;目标转发端口获取模块420,用于在检测到与所述原始组播报文匹配的组播报文转发条件时,获取与所述原始组播报文的组播类型匹配的多个目标转发端口;复制处理模块430,用于对所述帧描述信息序列进行复制处理,得到与所述目标转发端口的数量匹配的多个复制帧描述信息序列;组播报文转发模块440,用于将各复制帧描述信息序列发送至报文发送模块,以使报文发送模块根据接收的复制帧描述信息序列,获取存储的所述原始组播报文,并将所述原始组播报文发送到各目标转发端口。
本发明实施例的技术方案首先对接收到的原始组播报文进行存储,并生成与原始组播报文匹配的帧描述信息序列;在检测到与原始组播报文匹配的组播报文转发条件时,获取多个目标转发端口;然后对帧描述信息序列进行复制处理,得到与目标转发端口的数量匹配的多个复制帧描述信息序列,并将各复制帧描述信息序列发送至报文发送模块,以使报文发送模块根据接收的复制帧描述信息序列,获取存储的原始组播报文,并将原始组播报文发送到各目标转发端口。本发明实施例的技术方案可以节省存储器的存储空间,提高存储器的空间利用率。
在上述各实施例的基础上,原始组播报文存储模块410,可以包括:报文切分单元,用于将所述原始组播报文切分为多个数据帧单元,并生成与每个所述数据帧单元分别对应的帧描述信息;帧描述信息排列单元,用于根据各所述数据帧单元在所述原始组播报文中的位置,将各所述帧描述信息排列得到所述帧描述信息序列;帧描述信息写入单元,用于将所述帧描述信息序列中的各帧描述信息顺序写入与所述原始组播报文对应的帧描述信息记录表中;表项建立单元,用于建立与所述原始组播报文对应的帧描述信息记录表以及辅助查询表;帧描述信息存储单元,用于将所述帧描述信息序列中的各帧描述信息顺序存储于所述帧描述信息记录表中,并在所述辅助查询表中对应写入各所述帧描述信息在所述帧描述信息记录表中的存储位置;目标组播组标识识别单元,用于在所述帧描述信息序列首个帧描述信息中识别与所述原始组播报文的组播类型匹配的目标组播组标识;目标组播组入口地址确定单元,用于根据预存的组播组标识与组播组入口地址之间的映射关系,确定与所述目标组播组标识对应的目标组播组入口地址,并将确定的所述目标组播组入口地址加入所述辅助查询表中;当前处理帧描述信息确定单元,用于获取所述帧描述信息序列中的一个帧描述信息作为当前处理帧描述信息;转发优先级获取单元,用于获取与所述原始组播报文的组播类型匹配的报文转发优先级;帧描述信息添加单元,用于将所述当前处理帧描述信息加入至与所述报文转发优先级匹配的目标优先级队列中,并将所述当前处理帧描述信息写入所述帧描述信息记录表中;顺序处理单元,用于返回执行顺序获取所述帧描述信息序列中的一个帧描述信息作为当前处理帧描述信息的操作,直至完成对所述帧描述信息序列中全部帧描述信息的处理。
目标转发端口获取模块420,可以包括:目标组播组入口地址获取单元,用于获取与所述原始组播报文对应的目标组播组入口地址,所述目标组播组入口地址与目标组播组标识关联,所述目标组播组标识与所述原始组播报文的组播类型关联;组播表项查询单元,用于根据所述目标组播组入口地址,查询组播表项,获取与所述目标组播组入口地址匹配的多个目标转发端口;其中,所述组播表项存储有不同组播组标识对应的不同的组播组入口地址,且每个组播组入口地址对应多个组播链表;每个组播链表中存储多个叶子类型,以及所述组播组入口地址对应的下一组播链表在所述组播表项中的存储地址;目标链表获取单元,用于根据所述目标组播组入口地址,获取与所述目标组播组入口地址对应的目标链表,并获取所述目标链表中存储的叶子类型;剩余链表处理单元,用于根据目标链表中存储的下一链表的存储地址,在所述组播表项中遍历原始组播报文对应的组播类型下剩余链表中的叶子类型;目标叶子类型确定单元,用于在当前链表中检测到当前组播类型对应的下一链表的存储地址为空值时,则确定当前链表为所述原始组播报文对应的最后一个链表,并将所述目标链表至当前链表之间的全部链表中的叶子类型作为所述原始组播报文对应的目标叶子类型;目标转发端口查找单元,用于根据所述叶子类型与至少一个转发端口之间的映射关系,查找与所述目标叶子类型对应的多个目标转发端口;辅助查询表查询单元,用于查询所述辅助查询表,获取所述目标组播组入口地址;报文转发条件确定单元,用于在确定与所述原始组播报文匹配的全部帧描述信息均加入至所述目标优先级队列中,且优先级高于所述目标优先级队列的其他优先级队列中不存在帧描述信息时,确定检测到与所述原始组播报文匹配的组播报文转发条件。
复制处理模块430,可以包括:帧描述信息序列复制单元,用于按照与所述原始组播报文对应的帧描述信息记录表,对所述帧描述信息序列进行复制处理;帧描述信息存储位置获取单元,用于查询所述辅助查询表,获取各所述帧描述信息在所述帧描述信息记录表中的存储位置,并根据获取的存储位置,从所述帧描述信息记录表获取各所述帧描述信息进行复制处理。
本发明实施例所提供的组播报文的转发处理装置可执行本发明任意实施例所提供的组播报文的转发处理方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5为本发明实施例五提供的一种计算机设备的结构示意图,如图5所示,该计算机设备包括处理器510、存储器520、输入装置530和输出装置540;计算机设备中处理器510的数量可以是一个或多个,图5中以一个处理器510为例;计算机设备中的处理器510、存储器520、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的一种组播报文的转发处理方法对应的程序指令/模块(例如,一种组播报文的转发处理装置中的原始组播报文存储模块410、目标转发端口获取模块420、复制处理模块430以及组播报文转发模块440)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的一种组播报文的转发处理方法。也即,该程序被处理器执行时实现:
对接收到的原始组播报文进行存储,并生成与所述原始组播报文匹配的帧描述信息序列,所述帧描述信息序列包括多个帧描述信息;在检测到与所述原始组播报文匹配的组播报文转发条件时,获取与所述原始组播报文的组播类型匹配的多个目标转发端口;对所述帧描述信息序列进行复制处理,得到与所述目标转发端口的数量匹配的多个复制帧描述信息序列;将各复制帧描述信息序列发送至报文发送模块,以使报文发送模块根据接收的复制帧描述信息序列,获取存储的所述原始组播报文,并将所述原始组播报文发送到各目标转发端口。
存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置530可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入,可以包括键盘和鼠标等。输出装置540可包括显示屏等显示设备。
实施例六
本发明实施例六还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述方法。当然,本发明实施例所提供的一种计算机可读存储介质,其可以执行本发明任意实施例提供的一种组播报文的转发处理方法中的相关操作。也即,该程序被处理器执行时实现:
对接收到的原始组播报文进行存储,并生成与所述原始组播报文匹配的帧描述信息序列,所述帧描述信息序列包括多个帧描述信息;在检测到与所述原始组播报文匹配的组播报文转发条件时,获取与所述原始组播报文的组播类型匹配的多个目标转发端口;对所述帧描述信息序列进行复制处理,得到与所述目标转发端口的数量匹配的多个复制帧描述信息序列;将各复制帧描述信息序列发送至报文发送模块,以使报文发送模块根据接收的复制帧描述信息序列,获取存储的所述原始组播报文,并将所述原始组播报文发送到各目标转发端口。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述一种组播报文的转发处理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (11)

1.一种组播报文的转发处理方法,其特征在于,
对接收到的原始组播报文进行存储,并生成与所述原始组播报文匹配的帧描述信息序列,所述帧描述信息序列包括多个帧描述信息;
在检测到与所述原始组播报文匹配的组播报文转发条件时,获取与所述原始组播报文的组播类型匹配的多个目标转发端口;
对所述帧描述信息序列进行复制处理,得到与所述目标转发端口的数量匹配的多个复制帧描述信息序列;
将各复制帧描述信息序列发送至报文发送模块,以使报文发送模块根据接收的复制帧描述信息序列,获取存储的所述原始组播报文,并将所述原始组播报文发送到各目标转发端口。
2.根据权利要求1所述的方法,其特征在于,所述生成与所述原始组播报文匹配的帧描述信息序列,包括:
将所述原始组播报文切分为多个数据帧单元,并生成与每个所述数据帧单元分别对应的帧描述信息;
根据各所述数据帧单元在所述原始组播报文中的位置,将各所述帧描述信息排列得到所述帧描述信息序列。
3.根据权利要求1所述的方法,其特征在于,在所述生成与所述原始组播报文匹配的帧描述信息序列之后,还包括:
将所述帧描述信息序列中的各帧描述信息顺序写入与所述原始组播报文对应的帧描述信息记录表中;
所述对所述帧描述信息序列进行复制处理,包括:
按照与所述原始组播报文对应的帧描述信息记录表,对所述帧描述信息序列进行复制处理。
4.根据权利要求3所述的方法,其特征在于,所述将所述帧描述信息序列中的各帧描述信息顺序写入与所述原始组播报文对应的帧描述信息记录表中,包括:
建立与所述原始组播报文对应的帧描述信息记录表以及辅助查询表;
将所述帧描述信息序列中的各帧描述信息顺序存储于所述帧描述信息记录表中,并在所述辅助查询表中对应写入各所述帧描述信息在所述帧描述信息记录表中的存储位置;
按照与所述原始组播报文对应的帧描述信息记录表,对所述帧描述信息序列进行复制处理,包括:
查询所述辅助查询表,获取各所述帧描述信息在所述帧描述信息记录表中的存储位置,并根据获取的存储位置,从所述帧描述信息记录表获取各所述帧描述信息进行复制处理。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述获取与所述原始组播报文的组播类型匹配的多个目标转发端口,包括:
获取与所述原始组播报文对应的目标组播组入口地址,所述目标组播组入口地址与目标组播组标识关联,所述目标组播组标识与所述原始组播报文的组播类型关联;
根据所述目标组播组入口地址,查询组播表项,获取与所述目标组播组入口地址匹配的多个目标转发端口;
其中,所述组播表项存储有不同组播组标识对应的不同的组播组入口地址,且每个组播组入口地址对应多个组播链表;每个组播链表中存储多个叶子类型,以及所述组播组入口地址对应的下一组播链表在所述组播表项中的存储地址。
6.根据权利要求5所述的方法,其特征在于,
所述根据所述目标组播组入口地址,查询组播表项,获取与所述目标组播组入口地址匹配的多个目标转发端口,包括:
根据所述目标组播组入口地址,在所述组播表项中获取与所述目标组播组入口地址对应的目标链表,并获取所述目标链表中存储的叶子类型;
根据目标链表中存储的下一链表的存储地址,在所述组播表项中遍历原始组播报文对应的组播类型下剩余链表中的叶子类型;
如果在当前链表中检测到当前组播类型对应的下一链表的存储地址为空值时,则确定当前链表为所述原始组播报文对应的最后一个链表,并将所述目标链表至当前链表之间的全部链表中的叶子类型作为所述原始组播报文对应的目标叶子类型;
根据所述叶子类型与至少一个转发端口之间的映射关系,查找与所述目标叶子类型对应的多个目标转发端口。
7.根据权利要求5所述的方法,其特征在于,在所述建立与所述原始组播报文对应的帧描述信息记录表以及辅助查询表之后,还包括:
在所述帧描述信息序列首个帧描述信息中识别与所述原始组播报文的组播类型匹配的目标组播组标识;
根据预存的组播组标识与组播组入口地址之间的映射关系,确定与所述目标组播组标识对应的目标组播组入口地址,并将确定的所述目标组播组入口地址加入所述辅助查询表中;
所述获取与所述原始组播报文对应的目标组播组入口地址,包括:
查询所述辅助查询表,获取所述目标组播组入口地址。
8.根据权利要求3所述的方法,其特征在于,所述将所述帧描述信息序列中的各帧描述信息顺序写入与所述原始组播报文对应的帧描述信息记录表中,包括:
获取所述帧描述信息序列中的一个帧描述信息作为当前处理帧描述信息;
获取与所述原始组播报文的组播类型匹配的报文转发优先级;
将所述当前处理帧描述信息加入至与所述报文转发优先级匹配的目标优先级队列中,并将所述当前处理帧描述信息写入所述帧描述信息记录表中;
返回执行顺序获取所述帧描述信息序列中的一个帧描述信息作为当前处理帧描述信息的操作,直至完成对所述帧描述信息序列中全部帧描述信息的处理;
所述检测到与所述原始组播报文匹配的组播报文转发条件,包括:
在确定与所述原始组播报文匹配的全部帧描述信息均加入至所述目标优先级队列中,且优先级高于所述目标优先级队列的其他优先级队列中不存在帧描述信息时,确定检测到与所述原始组播报文匹配的组播报文转发条件。
9.一种组播报文的转发处理装置,其特征在于,包括:
原始组播报文存储模块,用于对接收到的原始组播报文进行存储,并生成与所述原始组播报文匹配的帧描述信息序列,所述帧描述信息序列包括多个帧描述信息;
目标转发端口获取模块,用于在检测到与所述原始组播报文匹配的组播报文转发条件时,获取与所述原始组播报文的组播类型匹配的多个目标转发端口;
复制处理模块,用于对所述帧描述信息序列进行复制处理,得到与所述目标转发端口的数量匹配的多个复制帧描述信息序列;
组播报文转发模块,用于将各复制帧描述信息序列发送至报文发送模块,以使报文发送模块根据接收的复制帧描述信息序列,获取存储的所述原始组播报文,并将所述原始组播报文发送到各目标转发端口。
10.一种计算机设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行所述程序时实现如权利要求1-8中任一所述的组播报文的转发处理方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的组播报文的转发处理方法。
CN202011035310.9A 2020-09-27 2020-09-27 一种组播报文的转发处理方法、装置、设备及存储介质 Active CN112202674B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011035310.9A CN112202674B (zh) 2020-09-27 2020-09-27 一种组播报文的转发处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011035310.9A CN112202674B (zh) 2020-09-27 2020-09-27 一种组播报文的转发处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112202674A true CN112202674A (zh) 2021-01-08
CN112202674B CN112202674B (zh) 2022-10-28

Family

ID=74007420

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011035310.9A Active CN112202674B (zh) 2020-09-27 2020-09-27 一种组播报文的转发处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112202674B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113489652A (zh) * 2021-07-08 2021-10-08 恒安嘉新(北京)科技股份公司 一种数据流放大方法、装置、汇聚分流器以及存储介质
CN114157533A (zh) * 2021-12-06 2022-03-08 北京锐安科技有限公司 一种基于clos架构的报文跨板组播复制转发方法和系统
CN115484233A (zh) * 2022-09-23 2022-12-16 北京物芯科技有限责任公司 数通芯片中链路聚合报文的转发方法、装置、设备及介质
CN117411738A (zh) * 2023-12-15 2024-01-16 格创通信(浙江)有限公司 组播复制方法、装置、电子设备和存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1716904A (zh) * 2004-06-30 2006-01-04 华为技术有限公司 一种基于多业务传输平台的组播实现方法
CN101267396A (zh) * 2008-03-19 2008-09-17 北京星网锐捷网络技术有限公司 一种组播路由下游接口列表实现装置和方法
CN102739525A (zh) * 2012-06-08 2012-10-17 中兴通讯股份有限公司 一种报文复制方法及装置
CN102821045A (zh) * 2012-08-03 2012-12-12 中兴通讯股份有限公司 多播报文复制方法及装置
CN103731288A (zh) * 2012-10-16 2014-04-16 杭州华三通信技术有限公司 报文转发方法及设备
CN104270316A (zh) * 2014-09-23 2015-01-07 烽火通信科技股份有限公司 一种传输设备中的高效组播实现系统及方法
CN105763457A (zh) * 2014-12-15 2016-07-13 华为技术有限公司 组播报文处理方法和网络设备
WO2019228433A1 (zh) * 2018-05-31 2019-12-05 新华三技术有限公司 组播数据报文转发方法及设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1716904A (zh) * 2004-06-30 2006-01-04 华为技术有限公司 一种基于多业务传输平台的组播实现方法
CN101267396A (zh) * 2008-03-19 2008-09-17 北京星网锐捷网络技术有限公司 一种组播路由下游接口列表实现装置和方法
CN102739525A (zh) * 2012-06-08 2012-10-17 中兴通讯股份有限公司 一种报文复制方法及装置
CN102821045A (zh) * 2012-08-03 2012-12-12 中兴通讯股份有限公司 多播报文复制方法及装置
CN103731288A (zh) * 2012-10-16 2014-04-16 杭州华三通信技术有限公司 报文转发方法及设备
CN104270316A (zh) * 2014-09-23 2015-01-07 烽火通信科技股份有限公司 一种传输设备中的高效组播实现系统及方法
CN105763457A (zh) * 2014-12-15 2016-07-13 华为技术有限公司 组播报文处理方法和网络设备
WO2019228433A1 (zh) * 2018-05-31 2019-12-05 新华三技术有限公司 组播数据报文转发方法及设备

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113489652A (zh) * 2021-07-08 2021-10-08 恒安嘉新(北京)科技股份公司 一种数据流放大方法、装置、汇聚分流器以及存储介质
CN114157533A (zh) * 2021-12-06 2022-03-08 北京锐安科技有限公司 一种基于clos架构的报文跨板组播复制转发方法和系统
CN114157533B (zh) * 2021-12-06 2023-05-26 北京锐安科技有限公司 一种基于clos架构的报文跨板组播复制转发方法和系统
WO2023103461A1 (zh) * 2021-12-06 2023-06-15 北京锐安科技有限公司 基于clos架构的报文跨板组播复制转发方法和系统
CN115484233A (zh) * 2022-09-23 2022-12-16 北京物芯科技有限责任公司 数通芯片中链路聚合报文的转发方法、装置、设备及介质
CN115484233B (zh) * 2022-09-23 2024-04-12 北京物芯科技有限责任公司 数通芯片中链路聚合报文的转发方法、装置、设备及介质
CN117411738A (zh) * 2023-12-15 2024-01-16 格创通信(浙江)有限公司 组播复制方法、装置、电子设备和存储介质
CN117411738B (zh) * 2023-12-15 2024-03-08 格创通信(浙江)有限公司 组播复制方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN112202674B (zh) 2022-10-28

Similar Documents

Publication Publication Date Title
CN112202674B (zh) 一种组播报文的转发处理方法、装置、设备及存储介质
CN107766129B (zh) 一种任务处理方法、装置及系统
EP1779605B1 (en) Forwarding database in a network switch device
US8782160B2 (en) Cluster control system, cluster control method, and program
US8176006B2 (en) Maintaining and distributing relevant routing information base updates to subscribing clients in a device
CN108768866B (zh) 组播报文跨卡转发方法、装置、网络设备及可读存储介质
JP7050177B2 (ja) マルチキャストパケットを伝送する方法、デバイス、及びシステム
US9985818B2 (en) Forwarding ethernet packets
US20230006909A1 (en) Cluster wide packet tracing
CN113079097B (zh) 一种报文处理方法及装置
CN109639579B (zh) 组播报文的处理方法及装置、存储介质、处理器
CN107040393B (zh) 一种路由管理方法和设备
WO2021104393A1 (zh) 多规则流分类的实现方法、设备和存储介质
US20190182356A1 (en) Data networking method in data-centric network system and apparatus implementing same
WO2023087845A1 (zh) 数据调度方法、系统、装置及计算机可读存储介质
CN110912797B (zh) 一种广播报文的转发方法及装置
CN111262713B (zh) 一种报文组播的处理方法、处理装置、可读介质和系统
CN113596746B (zh) 集群消息的处理方法、装置、电子设备和介质
CN114257545B (zh) 一种报文转发方法及装置
WO2018233579A1 (en) INFORMATION CENTERED NETWORKING ON MULTIPLE ACCESS NETWORK INTERFACES
CN112187484B (zh) 降低占用宽带的网络广播流量发送方法、装置及存储介质
CN112910776B (zh) 一种数据转发方法、装置、设备及介质
US7149215B1 (en) Technique for multicasting receiver membership reports
CN110730130B (zh) 报文发送方法、装置、网络设备及存储介质
WO2024045599A1 (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