CN113132257B - 报文处理方法及装置 - Google Patents
报文处理方法及装置 Download PDFInfo
- Publication number
- CN113132257B CN113132257B CN202110474229.9A CN202110474229A CN113132257B CN 113132257 B CN113132257 B CN 113132257B CN 202110474229 A CN202110474229 A CN 202110474229A CN 113132257 B CN113132257 B CN 113132257B
- Authority
- CN
- China
- Prior art keywords
- message
- identifier
- shunting
- service message
- service
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/31—Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本说明书提供一种报文处理方法及装置,包括:可编程芯片接收到业务报文后,不进行报文复制,而是根据业务报文的报文特征查找对应的分流标识,并将查找到的分流标识写入业务报文的指定位置,该分流标识的写入不影响后续流量分析业务的进行。交换芯片根据分流标识匹配ACL,匹配到ACL后,为业务报文添加组播标识,以根据组播标识,将业务报文复制后组播出去。通过上述方法,可编程芯片不再复制报文,可编程芯片的性能不再被影响;且可以针对每条规则配置不同的转发列表,配置的转发列表的上限仅受限于交换芯片支持的ACL数量和组播组数量,这两者远大于可编程芯片支持的转发列表的数量,使得报文复制分流过程更加灵活。
Description
技术领域
本说明书涉及通信技术领域,尤其涉及一种报文处理方法及装置。
背景技术
流量分析设备用于对报文流进行统计与分析,一般通过汇聚分流设备获取需要该流量分析设备所需的具有特定报文特征的报文流。汇聚分流设备旁路部署在网络环境中,负责获取业务报文,并根据业务需求,将具有不同报文特征的业务报文分流给汇聚分流设备对接的不同的流量分析设备。
汇聚分流设备的可编程芯片(例如FPGA)中存储着业务报文的报文特征与分流列表的对应关系,这一对应关系使得可编程芯片在接收到业务报文后,可以根据业务报文的报文特征,查找该报文特征对应的分流列表,并使得交换芯片将该业务报文按照分流列表中包含的流量分析设备的地址信息进行分流。
在分流列表中有多个流量分析设备的情况下,可编程芯片需要将一个业务报文复制为多份,分别发送给多个流量分析设备,以达到分流的目的,而复制报文会占用可编程芯片大量的处理性能,影响可编程芯片对报文的处理。
此外,有些可编程芯片限定了分流列表的数量,因此并不能为每个特征指定单独的分流列表,使得设备不能灵活对业务报文进行分流。
发明内容
基于此,本说明书提供了一种报文处理方法及装置。
根据本说明书实施例的第一方面,提供一种报文处理方法,应用于对接了若干个流量分析设备的汇聚分流设备;所述汇聚分流设备装载有可编程芯片和交换芯片,可编程芯片中存储有N个分流标识,每个分流标识对应于至少一个报文特征,不同的分流标识对应的报文特征不重复;交换芯片中存储有N个访问控制列表ACL,第i个ACL的匹配条件包括报文中指定位置的信息为第i个分流标识,指定位置的信息不用于流量分析,处理动作包括为报文添加第i个组播组的组播标识,第i个组播组中存储有第i个分流标识对应的分流列表中的流量分析设备的地址信息,N为大于1的整数,1<i≤N;所述方法包括:
交换芯片接收业务报文,并将所述业务报文发送给可编程芯片;
可编程芯片根据所述业务报文的报文特征,查找所述业务报文的报文特征对应的分流标识,将查找到的分流标识写入所述业务报文的指定位置;
可编程芯片将写入分流标识后的业务报文发送给交换芯片;
交换芯片为所述业务报文匹配包含所述分流标识的ACL,根据匹配到的ACL的处理动作,为所述业务报文添加相应的组播组的组播标识,以便将所述业务报文组播给该组播组对应的流量分析设备。
根据本说明书实施例的第二方面,提供一种报文处理装置,应用于对接了若干个流量分析设备的汇聚分流设备;所述汇聚分流设备装载有可编程芯片和交换芯片,可编程芯片中存储有N个分流标识,每个分流标识对应于至少一个报文特征,不同的分流标识对应的报文特征不重复;交换芯片中存储有N个访问控制列表ACL,第i个ACL的匹配条件包括报文中指定位置的信息为第i个分流标识,指定位置的信息不用于流量分析,处理动作包括为报文添加第i个组播组的组播标识,第i个组播组中存储有第i个分流标识对应的分流列表中的流量分析设备的地址信息,N为大于1的整数,1<i≤N;所述装置包括:
业务报文接收模块,用于交换芯片接收业务报文,并将所述业务报文发送给可编程芯片;
分流标识写入模块,用于可编程芯片根据所述业务报文的报文特征,查找所述业务报文的报文特征对应的分流标识,将查找到的分流标识写入所述业务报文的指定位置;
业务报文发送模块,用于可编程芯片将写入分流标识后的业务报文发送给交换芯片;
业务报文组播模块,用于交换芯片为所述业务报文匹配包含所述分流标识的ACL,根据匹配到的ACL的处理动作,为所述业务报文添加相应的组播组的组播标识,以便将所述业务报文组播给该组播组对应的流量分析设备。
根据本说明书实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本说明书实施例第一方面所述的报文处理方法。
根据本说明书实施例的第四方面,提供一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本说明书实施例第一方面所述的报文处理方法。
本说明书一个或多个实施例中,可编程芯片接收到业务报文后,不进行报文复制,而是根据业务报文的报文特征查找对应的分流标识,并将查找到的分流标识写入业务报文的指定位置,该分流标识的写入不影响后续流量分析业务的进行。交换芯片根据分流标识匹配ACL,匹配到ACL后,为业务报文添加组播标识,以根据组播标识,将业务报文复制后组播出去。通过上述方法,可编程芯片不再复制报文,可编程芯片的性能不再被影响;且可以针对每条规则配置不同的转发列表,配置的转发列表的上限仅受限于交换芯片支持的ACL数量和组播组数量,这两者远大于可编程芯片支持的转发列表的数量,使得报文复制分流过程更加灵活。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是本说明书根据一示例性实施例示出的一种报文处理方法的流程图。
图2是本说明书根据一示例性实施例示出的一种报文处理装置的框图。
图3是本说明书根据一示例性实施例示出的一种报文处理装置所在计算机设备的一种硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
流量分析设备用于分析报文流,比如,流量分析设备可以是流量审计设备,流量审计设备负责分析报文流以检查报文流的安全性。为了达到预设的流量分析目的,一般会有多个流量分析设备共同分析报文流,不同的流量分析设备用于分析不同类型的报文流,比如,在流量分析设备为流量审计设备的情况下,可以有多个流量审计设备,分别检查下载报文流、某一特定应用程序对应的报文流等报文流的安全性。为了获取用于分析的报文流,一般多个共同用于分析报文流的流量分析设备会对接一个汇聚分流设备,汇聚分流设备负责获取网络中传输的报文流,并将获取到的报文流按照对接的流量分析设备的分析需求进行分流,换言之,汇聚分流设备根据获取到的业务报文中的报文特征,根据报文特征与各个流量分析设备所需的报文的报文特征进行匹配,并将业务报文发送给匹配到的报文特征对应的流量分析设备。
为了不影响业务报文的正常转发,汇聚分流设备一般旁路部署在网络中,以获取交换机/路由器通过分光或镜像生成的报文流。此外,为了使得汇聚分流设备获得更多的业务报文,汇聚分流设备一般旁路部署在运营商骨干网及以上级别的网络中。普通的转发设备中一般通过交换芯片的访问控制列表(Access Control Lists,ACL)来实现分流功能,但是汇聚分流设备至少需要10万ACL(存储业务报文和分流列表的对应关系)才能实现其分流功能,而目前高端交换芯片也仅仅支持16k的ACL,因此,相关技术中,汇聚分流设备一般是通过可编程芯片(例如FPGA)来实现其所需的分流功能,可编程芯片支持较高数量的业务报文和分流列表的对应关系,且可以保证业务报文的线速转发。
以可编程芯片处理一个业务报文为例,可编程芯片实现分流功能的过程具体是:可编程芯片接收到交换芯片发来的业务报文后,根据业务报文中携带的报文特征,以及报文特征与分流列表的对应关系,查找该业务报文中携带的报文特征对应的分流列表,以确定对该业务报文有分析需求的流量分析设备,其中,分流列表中存储着对携带该报文特征的报文有分析需求的流量分析设备的标识信息(一般为汇聚分流设备对接流量分析设备的接口的接口标识)。对于具有某一报文特征的报文来说,可能不仅只有一个流量分析设备对其有分析需求,因此,分流列表中一般存储着多个流量分析设备的标识信息。在确定分流列表后,可编程芯片需要根据分流列表中流量分析设备的数量,复制得到相应数量的业务报文,并分别发送给分流列表中包含的各个流量分析设备。
虽然通过可编程芯片可以实现分流功能,但是这其中存在一些问题:首先,用可编程芯片来复制报文会占用可编程芯片较多的性能,将所有输入可编程芯片的业务报文都复制成N份输出,将导致该可编程芯片的处理性能降为无复制情况下的1/N。那么,如果报文以可编程芯片可以承受的极限速率输入,对报文进行复制的过程将会占用可编程芯片的较多的性能,这样可能会导致报文丢包。其次,可编程芯片并不能灵活地为每个报文特征均指定一个单独的分流列表,一般是为一个业务指定一个分流列表,一个业务可能对应于多种报文特征,多种报文特征的分流列表并不是完全相同,因此并不能灵活地为每个报文特征配置一个对应的分流列表。
为了解决当前的可编程芯片处理性能受到影响的问题,考虑到可以通过交换芯片来复制业务报文,而不是通过可编程芯片来复制业务报文,这样可以减轻可编程芯片的处理压力。而进一步地,考虑到当前的交换芯片提供的报文复制方法仍然不够灵活,具体而言,当前交换芯片主要通过端口镜像功能来复制业务报文,而端口镜像功能只是基于输入或者输出端口进行复制,且最多只支持复制4份,如果通过交换芯片的端口镜像功能来复制业务报文,仍然不能达到灵活的分流效果。再进一步地,考虑利用其它方法来复制业务报文,在实践中,发现交换芯片的组播功能会进行报文复制,因此考虑将原本用于组播的组播功能,用于本说明书的方法中,以实现复制分流的效果。在此基础上,考虑到ACL支持二层组播重定向动作,换言之,ACL的处理动作可以包括为报文添加组播标识,以将报文组播给组播标识对应的组播组。因此,本申请中,可编程芯片确定业务报文的分流列表,并给报文打上对应的标记,交换芯片接收到业务报文后,通过ACL,识别业务报文上的标记,并为业务报文添加对应的组播标识,以将业务报文通过组播功能,复制后发送给确定的分流对象。
本说明书一个或多个实施例中,可编程芯片接收到业务报文后,不进行报文复制,而是根据业务报文的报文特征查找对应的分流标识,并将查找到的分流标识写入业务报文的指定位置,该分流标识的写入不影响后续流量分析业务的进行。交换芯片根据分流标识匹配ACL,匹配到ACL后,为业务报文添加组播标识,以根据组播标识,将业务报文复制后组播出去。通过上述方法,可编程芯片不再复制报文,可编程芯片的性能不再被影响;且可以针对每条规则配置不同的转发列表,配置的转发列表的上限仅受限于交换芯片支持的ACL数量和组播组数量,这两者远大于可编程芯片支持的转发列表的数量,使得报文复制分流过程更加灵活。
接下来将对本说明书提供的报文处理方法进行详细说明。
本说明书提供一种报文处理方法,应用于对接了若干个流量分析设备的汇聚分流设备;所述汇聚分流设备装载有可编程芯片和交换芯片,可编程芯片中存储有N个分流标识,每个分流标识对应于至少一个报文特征,不同的分流标识对应的报文特征不重复;交换芯片中存储有N个访问控制列表ACL,第i个ACL的匹配条件包括报文中指定位置的信息为第i个分流标识,指定位置的信息不用于流量分析,处理动作包括为报文添加第i个组播组的组播标识,第i个组播组中存储有第i个分流标识对应的分流列表中的流量分析设备的地址信息,N为大于1的整数,1<i≤N。
汇聚分流设备中可编程芯片的数量可以为一个,也可以为多个,可编程芯片为多个的情况下,不同可编程芯片内部均存储有相同的内容,以实现对业务报文的分流。相似的,汇聚分流设备中交换芯片的数量可以为一个,也可以为多个,不同交换芯片内部存储有相同的ACL,以实现对业务报文的分流。
每个分流标识可以对应一个报文特征,也可以对应多个报文特征,这些是根据实际需求确定的。但是一个报文特征仅对应于一个分流标识,也就是说一个报文特征仅仅对应于一个分流列表。
如图1所示,图1是本说明书根据一示例性实施例示出的一种报文处理方法的流程图,包括以下步骤:
步骤102,交换芯片接收业务报文,并将所述业务报文发送给可编程芯片。
步骤104,可编程芯片根据所述业务报文的报文特征,查找所述业务报文的报文特征对应的分流标识,将查找到的分流标识写入所述业务报文的指定位置。
考虑到业务报文在汇聚分流设备内部的传输过程中,仅仅传输报文本身,而并不能传输其他信息,比如组播标识这样并不是直接标记在报文内部的外部标记。因此如果在可编程芯片内部直接为业务报文添加组播标识,在业务报文到达交换芯片后,交换芯片是无法得知如何将报文转发出去的。考虑到上述问题,可编程芯片添加的分流标识,需要添加到报文内部。
进一步地,考虑到指定位置的信息被修改后的业务报文,在到达对接的流量分析设备后,被修改的指定位置的信息不能影响流量分析设备对报文的分析结果,因此,指定位置的信息需要是不用于流量分析的信息,也就是,指定位置的信息被更改后,原本报文中的用于流量分析的内容不会被影响。在此基础上,考虑到报文头部有些字段并非流量分析对象,且这些字段被修改并不会影响报文的正常发送。比如报文的网际互连协议(InternetProtocol,IP)报文头,有选项字段,在一些情况下,不作为流量分析字段。或者在在报文中添加一些额外的内容,比如在数据链路层头部和网络层头部之间插入一个或多个802.1Q头部(即VLAN标签)并用其携带额外信息。或者报文头部的媒体存取控制位址(Media AccessControl,MAC)地址字段,MAC地址仅用于识别二层转发路径,但是该业务报文本身就是镜像或者分光出来的业务报文,已经不再用于转发给原本的目的地址对应的设备了,因此转发该报文时已经不再需要该MAC地址,且二层转发路径是局域网内的转发路径,对于流量分析没有意义,MAC地址也不用于流量分析。
在流量标识写入的是MAC地址对应的字段的情况下,所述将查找到的分流标识写入所述业务报文的指定位置,具体包括:将查找到的分流标识写入所述业务报文的MAC地址。
将分流标识写入MAC地址的情况下,可以写入MAC地址前几位,可以写入MAC地址的后几位,也可以写入MAC地址的中间几位,本说明书在此不做限制。
进一步地,相关技术中,MAC地址一般占用6个字节,因此,分流标识的大小不能大于6个字节。又考虑到MAC地址的第一个字节一般用于标识组播报文,如果首位被修改,将会带来无法正常转发给对应设备的隐患。在此基础上,写入MAC地址的情况下,写入第2个字节至第6个字节,可以避免无法正常转发的隐患。换言之,所述将查找到的分流标识写入所述业务报文的MAC地址,可以是:将查找到的分流标识写入所述业务报文的MAC地址的低M位,其中M为分流标识所占用的位数。在此基础上,M不超过40(一个字节为8位)。
分流标识可以是任何形式的,其中,为了方便交换芯片识别,M为分流标识所占用的位数的情况下,M为所述汇聚分流设备对接流量分析设备的接口的数量。具体而言,由于汇聚分流设备通过不同接口对接了不同的流量分析设备,分流标识以二进制表示的情况下,可以选择通过分流标识的每一位来代表是否转发给特定的汇聚分流设备对接流量分析设备的接口,针对分流标识的每一位而言,其为特定值时表征需要从该接口输出报文。举例来说,以分流标识共16位,每一位为1时表征需要从该值对应的接口输出报文来说,即每一位对应于一个接口,16个接口的接口标识分别是1、2、3……16,假设根据业务报文的报文特征,确定其需要从接口1、2和3发出时,可以用0000000000000111(二进制)作为其分流标识,当确定要从16个接口都输出时,分流标识的值可以用1111111111111111(二进制,对应的十进制数值为65535)表示。在这种情况下,如果交换芯片允许,可以支持多达 即65535种端口的组合。
此外,在可编程芯片处理过程中,除了会匹配上特定的报文特征,并添加特定分流标识的报文之外,还会存在一些报文,这些报文中不包含流量分析设备所需报文包含的报文特征,也就是说,这些报文是不被任何流量分析设备所需要的。对于这些报文,可以由可编程芯片直接丢弃,也可以由可编程芯片为该报文添加特定标记,然后交换芯片根据ACL识别到该特定标记后,将该报文丢弃。如果由交换芯片将这些报文丢弃,且分流标识是写入MAC地址的话,可以对于这些报文,可以将MAC地址应该填入分流标识的位置都改为0,然后交换芯片识别到分流标识全部为0后,根据预设的ACL,将该报文丢弃。
步骤106,可编程芯片将写入分流标识后的业务报文发送给交换芯片。
步骤108,交换芯片为所述业务报文匹配包含所述分流标识的ACL,根据匹配到的ACL的处理动作,为所述业务报文添加相应的组播组的组播标识,以便将所述业务报文组播给该组播组对应的流量分析设备。
本说明书实施例中,将原本只是用于组播的组播功能,用于复制分流报文。其中,ACL的匹配条件除了上述内容之外,还包括业务报文的入接口为交换芯片的连接可编程芯片的内部口,否则交换芯片可能会根据ACL的匹配条件将其他报文错误的组播出去。其中,本说明书中的组播组指代的是二层组播组。
其中,组播组的成员接口可能是聚合端口,也可能是普通接口,如果某一成员接口是聚合端口,发送报文时仅将报文从该聚合端口所包含的一个接口输出,选择哪个接口作为输出的接口可以根据聚合端口对应的负载分担算法确定,而不是从该聚合端口的每个接口都输出一份。换言之,需要从组播组的每个成员接口输出一份报文。此外,一个接口(不论是普通接口还是聚合端口)也可以加入多个组播组。
此外,汇聚分流设备一般是机框式设备,汇聚分流设备的主控板卡上维护有分流标识和分流列表的对应关系;交换芯片的ACL可以通过主控板卡下发,在这种情况下,所述方法还包括:主控板卡向交换芯片下发分流标识和分流列表的对应关系,使得交换芯片根据分流列表创建组播组,并向主控板卡发送分流列表和组播组的组播标识的对应关系;主控板卡根据分流标识和分流列表的对应关系,及分流列表和组播标识的对应关系,向交换芯片下发ACL,ACL的匹配条件包括报文指定位置为特定的分流标识,处理动作包括为报文添加该分流标识对应的组播标识。
如上所述,汇聚分流设备的主控板卡上维护有分流标识和分流列表的对应关系,在创建组播组,下发ACL后,主控板卡上还存储有报文特征、分流标识、分流列表、组播组和ACL的对应关系。为了节约存储资源,在主控板卡确定某一个报文特征和分流标识的对应关系已经不再需要,或者某一分流列表不再需要后,可以由主控板卡通知可编程芯片和交换芯片删除对应的数据,以节约存储资源。
通过上述方法,借用了组播功能,实现了业务报文的复制分流过程,不再由可编程芯片负责业务报文的复制,使得可编程芯片可以维持高性能。且分流列表的数量不再受限于可编程芯片,仅仅受限于交换芯片支持的组播组数量或ACL数量,两者一般都能达到8k,远大于可编程芯片支持的分流列表数量,分流配置更加灵活。
与前述方法的实施例相对应,本说明书还提供了报文处理装置及其所应用的终端的实施例。
如图2所示,图2是本说明书根据一示例性实施例示出的一种报文处理装置的框图,应用于对接了若干个流量分析设备的汇聚分流设备;所述汇聚分流设备装载有可编程芯片和交换芯片,可编程芯片中存储有N个分流标识,每个分流标识对应于至少一个报文特征,不同的分流标识对应的报文特征不重复;交换芯片中存储有N个访问控制列表ACL,第i个ACL的匹配条件包括报文中指定位置的信息为第i个分流标识,指定位置的信息不用于流量分析,处理动作包括为报文添加第i个组播组的组播标识,第i个组播组中存储有第i个分流标识对应的分流列表中的流量分析设备的地址信息,N为大于1的整数,1<i≤N;所述装置包括:
业务报文接收模块202,用于交换芯片接收业务报文,并将所述业务报文发送给可编程芯片。
分流标识写入模块204,用于可编程芯片根据所述业务报文的报文特征,查找所述业务报文的报文特征对应的分流标识,将查找到的分流标识写入所述业务报文的指定位置。
业务报文发送模块206,用于可编程芯片将写入分流标识后的业务报文发送给交换芯片。
业务报文组播模块208,用于交换芯片为所述业务报文匹配包含所述分流标识的ACL,根据匹配到的ACL的处理动作,为所述业务报文添加相应的组播组的组播标识,以便将所述业务报文组播给该组播组对应的流量分析设备。
其中,所述将查找到的分流标识写入所述业务报文的指定位置,具体包括:将查找到的分流标识写入所述业务报文的MAC地址的低M位,其中M为分流标识所占用的位数。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
如图3所示,图3示出了实施例报文处理装置所在计算机设备的一种硬件结构图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本说明书实施例第一方面所述的报文处理方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (10)
1.一种报文处理方法,其特征在于,应用于对接了若干个流量分析设备的汇聚分流设备;所述汇聚分流设备装载有可编程芯片和交换芯片,可编程芯片中存储有N个分流标识,每个分流标识对应于至少一个报文特征,不同的分流标识对应的报文特征不重复;交换芯片中存储有N个访问控制列表ACL,第i个ACL的匹配条件包括报文中指定位置的信息为第i个分流标识,指定位置的信息不用于流量分析,处理动作包括为报文添加第i个组播组的组播标识,第i个组播组中存储有第i个分流标识对应的分流列表中的流量分析设备的地址信息,N为大于1的整数,1<i≤N;所述方法包括:
交换芯片接收业务报文,并将所述业务报文发送给可编程芯片;
可编程芯片根据所述业务报文的报文特征,查找所述业务报文的报文特征对应的分流标识,将查找到的分流标识写入所述业务报文的指定位置;
可编程芯片将写入分流标识后的业务报文发送给交换芯片;
交换芯片为所述业务报文匹配包含所述分流标识的ACL,根据匹配到的ACL的处理动作,为所述业务报文添加相应的组播组的组播标识,以便将所述业务报文组播给该组播组对应的流量分析设备。
2.如权利要求1所述方法,其特征在于,所述将查找到的分流标识写入所述业务报文的指定位置,具体包括:
将查找到的分流标识写入所述业务报文的媒体存取控制MAC地址。
3.如权利要求2所述方法,其特征在于,所述将查找到的分流标识写入所述业务报文的MAC地址,具体包括:
将查找到的分流标识写入所述业务报文的MAC地址的低M位,其中M为分流标识所占用的位数。
4.如权利要求3所述方法,其特征在于,M为所述汇聚分流设备对接流量分析设备的接口的数量。
5.如权利要求3所述方法,其特征在于,M不超过40。
6.如权利要求1所述方法,其特征在于,所述方法还包括:
汇聚分流设备的主控板卡维护有分流标识和分流列表的对应关系;
主控板卡向交换芯片下发分流标识和分流列表的对应关系,使得交换芯片根据分流列表创建组播组,并向主控板卡发送分流列表和组播组的组播标识的对应关系;
主控板卡根据分流标识和分流列表的对应关系,及分流列表和组播标识的对应关系,向交换芯片下发ACL,ACL的匹配条件包括报文指定位置为特定的分流标识,处理动作包括为报文添加该分流标识对应的组播标识。
7.一种报文处理装置,其特征在于,应用于对接了若干个流量分析设备的汇聚分流设备;所述汇聚分流设备装载有可编程芯片和交换芯片,可编程芯片中存储有N个分流标识,每个分流标识对应于至少一个报文特征,不同的分流标识对应的报文特征不重复;交换芯片中存储有N个访问控制列表ACL,第i个ACL的匹配条件包括报文中指定位置的信息为第i个分流标识,指定位置的信息不用于流量分析,处理动作包括为报文添加第i个组播组的组播标识,第i个组播组中存储有第i个分流标识对应的分流列表中的流量分析设备的地址信息,N为大于1的整数,1<i≤N;所述装置包括:
业务报文接收模块,用于交换芯片接收业务报文,并将所述业务报文发送给可编程芯片;
分流标识写入模块,用于可编程芯片根据所述业务报文的报文特征,查找所述业务报文的报文特征对应的分流标识,将查找到的分流标识写入所述业务报文的指定位置;
业务报文发送模块,用于可编程芯片将写入分流标识后的业务报文发送给交换芯片;
业务报文组播模块,用于交换芯片为所述业务报文匹配包含所述分流标识的ACL,根据匹配到的ACL的处理动作,为所述业务报文添加相应的组播组的组播标识,以便将所述业务报文组播给该组播组对应的流量分析设备。
8.如权利要求7所述装置,其特征在于,所述将查找到的分流标识写入所述业务报文的指定位置,具体包括:
将查找到的分流标识写入所述业务报文的MAC地址的低M位,其中M为分流标识所占用的位数。
9.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1至6中任一项所述的报文处理方法。
10.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至6中任一项所述的报文处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110474229.9A CN113132257B (zh) | 2021-04-29 | 2021-04-29 | 报文处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110474229.9A CN113132257B (zh) | 2021-04-29 | 2021-04-29 | 报文处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113132257A CN113132257A (zh) | 2021-07-16 |
CN113132257B true CN113132257B (zh) | 2022-04-26 |
Family
ID=76780494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110474229.9A Active CN113132257B (zh) | 2021-04-29 | 2021-04-29 | 报文处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113132257B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114205172B (zh) * | 2021-12-28 | 2024-06-25 | 杭州迪普信息技术有限公司 | 一种表项下发方法及一种报文转发方法 |
CN114189484B (zh) * | 2021-12-28 | 2023-10-27 | 杭州迪普科技股份有限公司 | 一种报文内部转发的方法和装置 |
CN114726801B (zh) * | 2022-04-01 | 2024-03-29 | 北京东土军悦科技有限公司 | 一种加密流量的转发方法和系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4464766B2 (ja) * | 2004-03-03 | 2010-05-19 | 株式会社日立製作所 | マルチキャスト配信制御装置 |
US7519054B2 (en) * | 2005-01-27 | 2009-04-14 | Intel Corporation | Replication of multicast data packets in a multi-stage switching system |
CN101340389B (zh) * | 2008-08-29 | 2011-04-20 | 华为技术有限公司 | 一种组播报文复制方法和设备 |
CN102347890B (zh) * | 2010-08-04 | 2014-03-26 | 杭州华三通信技术有限公司 | 一种组播报文的处理方法和装置 |
US9565028B2 (en) * | 2013-06-10 | 2017-02-07 | Brocade Communications Systems, Inc. | Ingress switch multicast distribution in a fabric switch |
US9832030B2 (en) * | 2014-01-21 | 2017-11-28 | International Business Machines Corporation | Multicast packet routing via crossbar bypass paths |
CN103986658B (zh) * | 2014-05-14 | 2017-06-06 | 北京锐安科技有限公司 | 一种报文输出方法及装置 |
CN107306220A (zh) * | 2016-04-18 | 2017-10-31 | 中兴通讯股份有限公司 | 报文转发方法及装置 |
CN108093051B (zh) * | 2017-12-20 | 2021-02-05 | 迈普通信技术股份有限公司 | 报文复制方法及装置 |
CN108683615B (zh) * | 2018-04-28 | 2022-03-11 | 新华三技术有限公司 | 报文分流方法、装置及分流交换机 |
CN109005122B (zh) * | 2018-08-20 | 2021-08-17 | 迈普通信技术股份有限公司 | 报文发送方法、装置及网络设备 |
CN110851289B (zh) * | 2019-10-23 | 2022-11-08 | 新华三信息安全技术有限公司 | 协议报文处理方法及交换机 |
CN110830371B (zh) * | 2019-11-13 | 2022-04-05 | 迈普通信技术股份有限公司 | 报文重定向方法、装置、电子设备及可读存储介质 |
-
2021
- 2021-04-29 CN CN202110474229.9A patent/CN113132257B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113132257A (zh) | 2021-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113132257B (zh) | 报文处理方法及装置 | |
US20220255855A1 (en) | Method for forwarding packet and network device | |
US10122614B2 (en) | Failure protection for traffic-engineered bit indexed explicit replication | |
US9819612B2 (en) | Multi-homing in an extended bridge | |
CN113300949B (zh) | 转发报文的方法、发布路由信息的方法、装置及系统 | |
CN108768866B (zh) | 组播报文跨卡转发方法、装置、网络设备及可读存储介质 | |
US11652735B2 (en) | Multicast data packet processing method, and apparatus | |
WO2020073685A1 (zh) | 转发路径确定方法、装置、系统、计算机设备及存储介质 | |
JP2010288168A (ja) | スイッチ及びアドレス学習方法 | |
JP2013535911A (ja) | プライマリマルチキャストツリーからスタンバイマルチキャストツリーに高速に切り換えるための方法および装置 | |
CN109510785B (zh) | 一种镜像报文的方法和装置 | |
CN112887229B (zh) | 一种会话信息同步方法及装置 | |
US7864776B2 (en) | Method and equipment for making a routing decision dependent on a quality-of-service class | |
US20230327986A1 (en) | Route Advertisement Method, Apparatus, and System | |
US20240048479A1 (en) | Packet Forwarding Method and Apparatus, Network Device, and Storage Medium | |
CN115712545B (zh) | 一种实现集群的服务拓扑感知的方法、装置、设备及介质 | |
WO2022134674A1 (zh) | 报文传输的方法、装置、设备、存储介质及系统 | |
CN111147385A (zh) | 一种软件定义数据中心网络数据平面转发方法及系统 | |
US10171368B1 (en) | Methods and apparatus for implementing multiple loopback links | |
CN110896378B (zh) | 网络流量转发方法、装置、电子设备及机器可读存储介质 | |
JP7521975B2 (ja) | 転送制御装置、転送制御システム、転送制御方法、及び、転送制御プログラム | |
CN113824720B (zh) | 报文处理方法、装置、设备及存储介质 | |
CN115842773A (zh) | 一种组播报文转发方法、装置和交换机 | |
CN112769693B (zh) | 一种维护组播组的方法及装置 | |
WO2022227695A1 (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 |