CN116939035A - 数据处理方法、装置、电子设备以及存储介质 - Google Patents
数据处理方法、装置、电子设备以及存储介质 Download PDFInfo
- Publication number
- CN116939035A CN116939035A CN202210323482.9A CN202210323482A CN116939035A CN 116939035 A CN116939035 A CN 116939035A CN 202210323482 A CN202210323482 A CN 202210323482A CN 116939035 A CN116939035 A CN 116939035A
- Authority
- CN
- China
- Prior art keywords
- data packet
- node
- processed
- data
- processing
- 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
Links
- 238000003860 storage Methods 0.000 title claims abstract description 33
- 238000003672 processing method Methods 0.000 title abstract description 13
- 238000012545 processing Methods 0.000 claims abstract description 664
- 238000000034 method Methods 0.000 claims abstract description 106
- 238000001514 detection method Methods 0.000 claims description 136
- 238000013507 mapping Methods 0.000 claims description 48
- 238000004590 computer program Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 22
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 description 26
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 6
- 230000004927 fusion Effects 0.000 description 5
- 235000019580 granularity Nutrition 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- UPBAOYRENQEPJO-UHFFFAOYSA-N n-[5-[[5-[(3-amino-3-iminopropyl)carbamoyl]-1-methylpyrrol-3-yl]carbamoyl]-1-methylpyrrol-3-yl]-4-formamido-1-methylpyrrole-2-carboxamide Chemical compound CN1C=C(NC=O)C=C1C(=O)NC1=CN(C)C(C(=O)NC2=CN(C)C(C(=O)NCCC(N)=N)=C2)=C1 UPBAOYRENQEPJO-UHFFFAOYSA-N 0.000 description 4
- 239000000047 product Substances 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 101100534223 Caenorhabditis elegans src-1 gene Proteins 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 101100058681 Drosophila melanogaster Btk29A gene Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- 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/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种数据处理方法、装置、电子设备以及存储介质,涉及资源池、安全及网络调度等技术领域。该方法包括:接收待处理数据包,根据待处理数据包的第一数据包标识,确定待处理数据包对应的目标处理路径;记录目标处理路径对应的地址信息,地址信息包括目标处理路径中的各节点标识在该路径中的顺序信息以及各节点标识对应的各个数据处理节点的地址;根据第一个节点标识对应的地址,将地址信息和待处理数据包发送给对应的数据处理节点进行处理。基于本申请实施例提供的方法,可以简单、灵活地实现对网络传输的数据包按需、按策略的处理。
Description
技术领域
本申请涉及数据处理、资源池、安全、网络调度以及云技术等技术领域,具体而言,本申请涉及一种数据处理方法、装置、电子设备以及存储介质。
背景技术
随着科技的快发发展以及应用需求的不断提升,对于数据处理的要求也越来越高。为了满足不断提升的数据处理需求,资源池(Resource Pool)随之产生,资源池是指各种硬件和/或软件的集合,按类型可分为计算资源、存储资源、网络资源、安全资源等多种类型的资源池。以安全资源池为例,安全资源池是一种集成了多种不同的安全能力并实现统一管理的安全产品,在安全资源池中,存在多样化的安全能力,还可以拟定出很多的安全能力的使用逻辑和使用方式,可以通过安全资源池将流量按需的在不同的安全能力中转发,完成安全检测。例如,可以按需定义流量被IPS(Intrusion Prevention System,入侵防御系统)、FW(Firewall,防火墙)等进行安全检测。
目前,基于资源池实现对数据处理的相关技术中,方案的实现通常都比较复杂,且无法进行灵活的调整和适配,不能够很好的满足实际应用需求,仍需改进。
发明内容
本申请实施例提供了一种数据处理方法、装置、电子设备及存储介质,该方法提供了一种全新的处理方案,可以简单、灵活的实现对数据包的调度和处理。本申请实施例提供的技术方案如下:
一方面,本申请实施例提供了一种数据处理方法,该方法包括:
接收待处理数据包,确定所述待处理数据包的第一数据包标识;
根据所述第一数据包标识,确定所述待处理数据包在资源池中对应的目标处理路径,资源池中包括多个数据处理节点,每个数据处理节点对应至少一种数据处理策略,目标处理路径为资源池中的至少一个数据处理节点的节点标识构成的路径;
记录所述目标处理路径对应的地址信息,所述地址信息包括所述目标处理路径中的各节点标识在该路径中的顺序信息、以及所述各节点标识对应的各个数据处理节点的地址;
根据所述顺序信息对应的第一个节点标识的地址,将所述地址信息和所述待处理数据包发送给对应的数据处理节点,以由该数据处理节点对所述待处理数据包进行处理,并根据所述地址信息,将处理后的数据包和所述地址信息发送给所述目标处理路径上的下一个数据处理节点,以使得所述待处理数据包被所述目标处理路径上的各数据处理节点依次进行处理。
另一方面,本申请实施例提供了一种数据处理装置,该装置包括:
数据接收模块,用于接收待处理数据包;
数据处理模块,用于确定所述待处理数据包的第一数据包标识,根据所述第一数据包标识,确定所述待处理数据包在资源池中对应的目标处理路径,所述资源池中包括多个数据处理节点,每个数据处理节点对应至少一种数据处理策略,所述目标处理路径为所述资源池中的至少一个数据处理节点的节点标识构成的路径;
所述数据处理模块,还用于记录所述目标处理路径对应的地址信息,所述地址信息包括所述目标处理路径中的各节点标识在该路径中的顺序信息、以及所述各节点标识对应的各个数据处理节点的地址;
数据转发模块,用于根据所述顺序信息对应的第一个节点标识的地址,将所述地址信息和所述待处理数据包发送给对应的数据处理节点,以由该数据处理节点对所述待处理数据包进行处理,并根据所述地址信息,将处理后的数据包和所述地址信息发送给所述目标处理路径上的下一个数据处理节点,以使得所述待处理数据包被所述目标处理路径上的各数据处理节点依次进行处理。
可选的,所述数据处理模块可以用于:获取预配置的映射关系,所述映射关系为至少一个第二数据包标识中的各标识与其在所述资源池中对应的处理路径的对应关系;根据所述第一数据包标识和所述映射关系,确定所述映射关系中与所述第一数据包标识相匹配的第二数据包标识对应的候选处理路径;根据确定出的候选处理路径,确定所述待处理数据包对应的目标处理路径。
可选的,所述资源池为安全资源池,所述安全资源池中的每个数据处理节点为安全检测节点,每个所述安全检测节点具备至少一种安全检测能力;所述数据处理模块可以用于:
对所述待处理数据包的报文头进行解析,获取所述待处理数据包对应的安全标签,所述安全标签表征了所述待处理数据包对应的安全检测策略;将所述候选处理路径中满足所述安全标签的处理路径,确定为所述目标处理路径。
可选的,若所述映射关系中不存在与所述第一数据包标识相匹配的第二数据包标识,或者所述候选处理路径中不存在满足所述安全标签的处理路径,所述数据处理模块可以用于:
根据所述安全标签,从所述安全资源池的各安全检测节点中确定满足所述安全标签的至少一个安全检测节点、以及所述至少一个安全检测节点中的各节点对应的检测顺序;基于确定出的对应于所述检测顺序的至少一个安全检测节点,确定所述待处理数据包对应的目标处理路径。
可选的,若所述候选处理路径中不存在满足所述安全标签的处理路径,所述数据处理模块可以用于:
将所述候选处理路径中满足预设条件的处理路径,作为初始目标路径;通过融合所述初始目标路径和确定出的对应于所述检测顺序的至少一个安全检测节点,得到所述待处理数据包对应的目标处理路径。
可选的,所述资源池为安全资源池,所述安全资源池中的每个数据处理节点为安全检测节点,每个所述安全检测节点具备至少一种安全检测能力;所述数据处理模块可以用于:
对所述待处理数据包的报文头进行解析,获取所述待处理数据包对应的安全标签,所述安全标签表征了所述待处理数据包对应的安全检测策略;根据所述待处理数据包对应的安全标签,从所述安全资源池中确定出该安全标签对应的目标安全子池,其中,不同的目标安全子池对应不同的安全标签;根据所述第一数据包标识,从所述目标安全子池中确定出满足所述安全标签的目标处理路径。
可选的,所述数据处理模块可以用于:确定所述待处理数据包的优先级;根据所述第一数据包标识和所述优先级,确定所述待处理数据包在资源池中对应的目标处理路径。
可选的,数据处理模块可以用于:将所述各节点标识对应的各个数据处理节点的地址,按照所述顺序信息记录到所述待处理数据包中,得到第一数据包;将所述第一数据包发送给第一个节点标识对应的数据处理节点;
目标处理路径中的数据处理节点在接收到的数据包之后,可以执行以下操作:根据节点对应的数据处理策略对接收到的数据包进行处理,得到处理后的第二数据包,并将所述第二数据包发送给下一个数据处理节点,所述第二数据包中携带有所述地址信息。
可选的,所述待处理数据包是基于IPv6数据平面的分段路由SRv6协议的数据包;数据处理模块在将所述各节点标识对应的各个数据处理节点的地址,按照所述顺序信息记录到所述待处理数据包中时,可以用于:
按照所述顺序信息,将所述各节点标识对应的各个数据处理节点的地址依次写入到所述待处理数据包的段列表字段中;
目标处理路径上的数据处理节点可以用于:根据所述段列表字段中记录的所述各个数据处理节点的地址,确定当前数据处理节点对应的下一个数据处理节点的地址;根据确定出的地址,将所述第二数据包发送给下一个数据处理节点。
可选的,数据处理模块可以用于:确定所述待处理数据包的数据包类型;在所述数据包类型为指定类型时,根据所述第一数据包标识,确定所述待处理数据包对应的目标处理路径。
可选的,所述指定类型包括基于指定互联网协议的数据包类型。数据处理模块在确定所述待处理数据包的数据包类型时,可以用于:
根据所述待处理数据包中携带的数据包的版本字段的值、源地址字段或目的地址字段的值中的至少一项,确定所述数据包类型。
可选的,数据接收模块还用于:接收所述目标处理路径对应的最后一个数据处理节点发送的处理后的数据包,删除接收到的数据包中携带的所述地址信息,将删除了所述地址信息的数据包发送给所述待处理数据包的下一跳接收设备。
可选的,所述目标处理路径上的最后一个数据处理节点在根据该节点对应的数据处理策略对接收到的数据包进行处理后,还执行以下操作:删除处理后的数据包中的所述地址信息,将删除了所述地址信息的数据发送包发送给所述待处理数据包的下一跳接收设备。
可选的,上述映射关系中的对应关系是通过以下方式获取到的:
接收数据处理策略配置操作,所述配置操作包括待配置的数据包标识;
响应于所述策略配置操作,向所述策略配置操作的请求端展示可选策略信息,所述可选策略信息包括各候选数据处理节点或者各候选数据处理策略中的至少一项:
响应于针对所述可选策略信息的选择操作,根据所述选择操作对应的目标策略信息生成所述待配置的数据包标识对应的数据处理路径;
记录所述待配置的数据包标识及其对应的数据处理路径的对应关系。
可选的,所述第一数据包标识包括所述待处理数据包对应的网络流量多元组特征中的至少一项。
可选的,所述数据处理模块可以用于:对所述待处理数据包的报文头进行解析,得到报文头数据;提取所述报文头数据中所述待处理数据包对应的网络流量多元组特征;将所述网络流量多元组特征中至少一项指定特征,确定为所述待处理数据包的第一数据包标识。
可选的,所述目标处理路径为安全处理路径,所述目标处理路径中的各节点标识为安全资源池中的安全检测节点的节点标识,所述数据处理策略为数据安全检测策略。
另一方面,本申请实施例还提供了一种电子设备,该电子设备包括存储器和处理器,存储器中存储有计算机程序,处理器执行该计算机程序以实现本申请任一可选实施例中提供的方法。
另一方面,本申请实施例还提供了一种计算机可读存储介质,该存储介质中存储有计算机程序,该计算机程序被处理器执行时实现本申请任一可选实施例中提供的方法。
另一方面,本申请实施例还提供了一种计算机程序产品,该计算机产品包括计算机程序,该计算机程序被处理器执行时实现本申请任一可选实施例中提供的方法。
本申请实施例提供的技术方案带来的有益效果如下:
本申请实施例提供的数据处理方法,对于接收到的待处理数据包,可以根据数据包的标识,确定出该数据包对应的目标处理路径,通过记录该路径对应的地址信息,并在数据包的转发过程中将该地址信息由路径中的上一个数据处理节点依次传递给下一个数据处理节点,使得每个数据处理节点可以根据该地址信息将处理后的数据包转发给对应的第一个数据处理节点,简单、便捷的实现了对待处理数据包的按需处理。
本申请的可选方案中,可以根据实际使用需求,配置数据包标识和对应的数据处理路径之间的对应关系,在获取到待处理数据包时,可以根据数据包的标识和该对应关系,快速确定出数据包对应的目标处理路径,从而可实现数据包按需、按策略被转发并进行处理的场景,该方法实现简单、且可以按照需求通过调整上述对应关系,实现对数据包的处理策略的灵活调整,更好的满足了实际应用需求。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请提供的方法所适用的一种数据处理系统的架构示意图;
图2为本申请实施例提供的一种转发策略获取方式的原理示意图;
图3a为本申请实施例提供的一种安全资源池中的数据处理方法的流程示意图;
图3b为本申请实施例提供的一种确定数据包的类型以及确定数据包对应的目标处理路径的流程示意图;
图4为本申请实施例中的一种报文头格式的示意图;
图5为本申请实施例中的一种报文扩展头的示意图;
图6为本申请实施例提供的一种数据处理方法的流程示意图;
图7为本申请实施例提供的一种数据处理装置的结构示意图;
图8为本申请实施例所适用的一种电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。在描述多个(两个或两个以上)项目时,如果没有明确限定多个项目之间的关系,这多个项目之间可以是指多个项目中的一个、多个或者全部,例如,对于“参数A包括A1、A2、A3”的描述,可以实现为参数A包括A1或A2或A3,还可以实现为参数A包括参数A1、A2、A3这三项中的至少两项。
本申请实施例是针对现有相关技术方案实现复杂、无法灵活调整和适配的问题,而提出的一种数据处理方法,基于本申请实施例提供的该方法,可以方便、快捷地实现对数据处理的定制化处理,且可以有效规避网络调整过于复杂、调整不够灵活、适配性不够丰富的问题。
可选的,本申请实施例的方案可以基于云技术(Cloud technology)实现,比如,本申请实施例中的资源池(如安全资源池、应用服务资源池等)可以是基于云技术实现的集成了不同数据处理能力的资源池,资源池中可以存在多样化的数据处理能力,具有这些多样化的数据处理能力的数据处理节点可以是基于云技术实现的节点,数据处理节点在采用对应的数据处理策略对接收到的待处理数据进行处理时,处理过程中所涉及的计算可以采用云计算(cloud computing)技术实现。可选的,本申请实施例中涉及的数据存储可以采用云存储(cloud storage)方式,比如,对于数据包标识及其对应的数据处理路径之间的对应关系的存储可以基于云存储技术实现。
云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。该技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。而云存储是在云计算概念上延伸和发展出来的一个新的概念,通过将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。伴随着互联网行业的高度发展和应用,云计算技术将变成各行业的重要支撑。
为了更好的理解和说明本申请实施例提供的方法,下面对本申请实施例中的所涉及的一些相关技术或技术用语进行介绍和解释。
IPv6:是Internet Protocol Version 6(互联网协议第6版)的缩写,是互联网工程任务组(IETF)设计的用于替代IPv4(互联网协议第6版)的下一代IP协议。
SRv6:是Segment Routing over IPv6 dataplane(基于IPv6数据平面的分段路由)的缩写,SRv6是通过扩展报文头来实现的,没有改变原有IPv6报文的封装结构,是新一代IP承载协议。
SDN:是Software-defined networking(软件定义网络)的缩写,SDN是网络虚拟化的一种实现方式,SDN具有了强大的可编程能力,这种强大的可编程性使网络能够真正地被软件所定义,达到简化网络运维、灵活管理调度的目标。
本申请实施例提供的数据处理方法的执行主体可以是任意类型的电子设备,可选的,可以设立一个网关,通过该网关执行该方法,该网关可以与资源池(如安全资源池)内的各数据处理节点(提供数据处理服务的节点,如安全资源池内提供安全检测服务的各个节点)通过网络连接。其中,对于网关的实现形式本申请实施例不做限定,网关可以是物理实体设备,如服务器,也可以是虚拟设备。或者,执行主体也可以是一个管理服务器,该服务器可以与资源池内的所有数据处理节点通信,用于接收来自资源池外的数据包,并通过执行本申请实施例提供的方法实现对数据包的按需处理。其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是云服务器。
本申请提供的可选实施方案中,在对网络数据包的处理中巧妙的利用了SDN的思想,对于待处理数据包,可以基于预配置的数据包标识及其对应的数据处理路径之间的映射关系,通过查询获知待处理数据包对应的目标处理路径,通过记录目标处理路径上的各数据处理节点对应的地址信息,并将该地址信息和待处理数据包一同进行转发给目标处理路径上的第一个数据处理节点,使得数据处理节点在对数据包进行处理后,可以根据该地址信息将处理后的数据包和该地址信息一同转发给路径上的下一个数据处理节点。采用该方法,可以方便、灵活地实现对网络流量(也就是数据包)的按需、按策略的编排和调度,且不会对现有网络造成大的改动和影响,具有很好的适用性,能够更好的满足实际应用需求。该方法可以实现为独立的计算机程序,也可以实现为一功能插件并部署于其他应用中,作为执行主体的电子设备可以通过运行该计算机程序或调用该插件,执行本申请实施例提供的方法,实现对待处理数据包的按需、按策略的调度及处理。
本申请提供的该方法可以用于解决多种应用场景中网络数据包的处理,尤其可以适用于各种类型的资源池等需要基于策略进行数据包转发的服务集中性应用场景中,比如,可以应用在包括但不限于安全资源池、应用服务资源池等类型的产品中。在应用于安全资源池时,本申请实施例中的数据处理节点即为该资源池中提供安全服务的各个节点(可以称为安全服务节点或安全检测节点),每个节点可以具有各自对应的安全检测能力,用于对接收到的网络流量进行安全检测(也就是可以按照节点中预配置的安全检测策略对接收到的数据包进行安全检测),该场景中的数据处理路径可以称为安全处理路径或者安全转发路径。在应用于应用服务资源池中时,数据处理节点即为该资源池中提供各种应用服务的节点,比如,应用服务资源池是提供各种视频服务的资源池,该资源池中的每个节点可以提供不同的视频处理方式,即数据处理策略是视频处理策略,进入到该资源池的数据包可以是携带视频数据的数据包,可以通过资源池中的一个或多个节点对数据包中的视频数据进行处理,例如,有的节点可以提升视频的质量,有的节点可以为视频添加特效或字幕等。
为了能够更全面的说明和理解本申请提供的方法,下面首先结合一个实际的应用场景对本申请提供的方法的一种可选实施例进行说明。该实施例中以将本申请实施例的方法应用于安全资源池为例进行说明。
目前的相关技术中,在安全资源池中,网络流量(也就是进入安全资源池的数据包)通常都是被以拟定好的路由策略、策略路由、网卡桥接、网络隧道、虚拟网络等方式进行转发和调度,实现网络流量经过不同的安全能力并完成相应的安全检测。但是由于这些技术与网络策略、网络基础设施贴合过于紧密,在需求出现变更时,需要对网络层开展过大的调整,尤其是对于路由策略和策略路由的调整,稍有不慎就会引起网络策略下发错误,造成网络中断,并且由于很多网络设备对于路由策略和策略路由都有明显的数量限制,不能很好地支持大规模的编排和调度策略,对于虚拟网络之类的硬件的调整甚至可能会造成短时间的网络和服务中断。可见,目前相关技术的实现较为复杂,也无法进行灵活的调整和适配,不能够很好的满足实际应用需求。
而将本申请实施例提供的方法应用于安全资源池中时,可以有效避免上述问题中的至少部分问题,能够更好的满足应用需求。可选的,安全资源池可以是支持SRv6技术的安全资源池,将本申请实施例提供的方法应用于安全资源池中,可以通过使用SRv6技术和SDN的思想,实现了一种基于SRv6技术的安全资源池内流量编排和调度方法。
图1示出了该应用场景下的一种数据处理系统的结构示意图,如图1所示,该系统可以包括应用服务器11和安全资源池,其中,应用服务器11可以是任意的具有数据发送需求的服务器,比如,可以是运维服务器,待处理数据包可以是运维的流量。安全资源池内集成了多种不同的安全能力,也就是具有多种不同的安全服务节点(也就是安全检测节点/安全处理节点),如图1中所示的安全服务节点1、安全服务节点2、……、安全服务节点n,每个安全服务节点具有各自的安全检测能力,比如,节点1可以对接收到的数据包进行IPS入侵检测,节点2具有防火墙功能等。
在该应用场景中,为了保证方案的实施,需要一些必要的条件来配合和支撑。首先,需要在安全资源池中设立一个网关20,该网关可以独立开发来实现,也可以由虚拟路由器、虚拟交换机或者其他设备和装置修改来实现。安全资源池中的网关和所有安全能力(也就是安全服务节点)必须能够识别和支持SRv6协议。网关20可以与安全资源池内的各个安全服务节点通信,资源池内的安全服务节点之间也可以通信,可选的,安全资源池中的安全服务节点可以与资源池外的电子设备直接通信,或者安全服务节点可以通过网络与资源池外的电子设备通信。
网关20可以获知安全资源池中的各个安全服务节点的地址(获知方式不做限定,比如,可以是在设立网关时将各个服务节点的标识存储到网关中),节点标识的形式本申请不做限定,比如可以是节点的IP地址。安全资源池中还可以配置转发策略库21,该策略库可以是网关20中的存储空间,也可以是与网关20通信的其他存储空间,策略库21中可以存储有预先配置的映射关系,该映射关系是数据包标识与数据包标识对应的安全处理路径的对应关系,一条安全处理路径包括至少一个安全服务节点以及各节点对应的顺序信息,该顺序信息是指被检测的流量(也就是待处理数据包)经由各个节点的顺序,也就是各节点执行安全检测的顺序。
对于转发策略库21中存储上述映射关系的方式本申请实施例不做限定。下表1中示出了一种转发策略库存储数据包标识和对应的安全处理路径的一种可选方式,在网络数据包传输中,五元组是数据包在网络中转发的重要依据,因此,数据包标识可以采用数据包的五元组,即来源IP、目的IP、来源端口、目的端口和传输层协议五项,安全处理路径为表1中转发策略,策略中的每个标识(如A)代表一个安全服务节点的标识,如可以是安全处理节点的IP地址或其他标识。
表1
来源IP | 目的IP | 来源端口 | 目的端口 | 协议 | 转发策略 |
Src1 | Dst1 | 1-65535 | 80 | Tcp | A-B-C-D |
Src2 | Dst2 | 10000 | 22 | Tcp | A-B-D |
Src3 | Dst3 | 1-65535 | 53 | Udp | A-B-C |
Src1 | Dst3 | 1-65535 | 53 | 所有 | B |
如表1中所示,表中的每一行代表一个对应关系,一行中的前五项(由左至右)的组合标识一个数据包标识(后文中的第二数据包标识),一行中的第六项表示该数据包标识对应的安全处理路径,“协议”一列代表数据包所采用的传输层协议,如Tcp(TransmissionControl Protocol,传输控制协议)或Udp(User Datagram Protocol,用户数据报协议)。以转发策略为“A-B-C-D”的一行为例,该行描述了数据包标识为(Src1,Dst1,1-65535,80,Tcp)的数据包对应的安全处理路径为“A-B-C-D”,该路径表示五元组为(Src1,Dst1,1-65535,80,Tcp)的数据包需要依次经过A、B、C、D这四个安全服务节点的安全检测。
由表中还可以看出,在实际应用中,数据包标识还可以是覆盖多个五元组的标识,如表1中最后一行中的数据包标识,其覆盖了数据传输层协议为任意协议,来源IP为Src1、目的IP为Dst3、来源端口为1-65535、目的端口为53的所有五元组,也就是说,如果一个待处理数据包的来源IP为Src1、目的IP为Dst3、来源端口为1-65535、目的端口为53,不论该数据包的传输层协议是哪种协议,该数据包对应的安全处理路径都是B,即该数据包要经过节点标识为B的安全服务节点的安全检测。
采用本申请实施例提供的方案,使用者(如安全资源池的管理员或者安全资源池的租户等)可以根据自己的实际需要编辑上述对应关系,并写入到转发策略库中,这样,安全资源池的网关20在接收到来自资源池之外的待处理数据包时,即可以根据数据包的五元组从转发策略库中进行查找,并根据查找到的安全处理路径对数据包进行对应的处理。
在实际应用中,作为一可选方案,使用者可以通过其终端设备与网关20直接通信,进行转发策略的配置。作为另一可选方案,可以设立专门的策略配置服务器,通过该服务器为使用者提供转发策略配置服务。图2中示出了本申请实施例提供的一种使用者根据需求配置转发策略的原理示意图。如图2中所示,策略配置服务器40可以分别与网关20和使用者的终端设备30进行通信,使用者可以通过其终端设备30中的策略配置界面发起转发策略配置操作,策略配置服务器40可以根据使用者的配置操作生成对应的转发策略,并提供给网关20,由网关20将接收到的转发策略补充到转发策略库中,或者由策略配置服务器40直接将转发策略存储到转发策略库中。可以理解的是,使用者可以是根据需求增加新的转发策略,也可以是对已经配置好的转发策略进行更新,如删除或修改等。
下面结合图2中所示的架构,对使用者按需配置转发策略的过程进行说明。可选的,该过程可以包括如下步骤:
步骤a、终端设备30通过策略配置界面接收使用者的策略配置触发操作,显示安全资源池的相关信息。
可选的,安全资源池的提供商可以为其租户提供用于配置转发策略的应用程序,该程序的形式不做限定,如可以是需要用户安装的独立程序,也可以是小程序或者是浏览器形式的程序,租户可以通过该程序的策略配置界面发起转发策略的配置。其中,策略配置界面可以显示有安全资源池中所能够提供的各种安全服务,或者是当前租户有权限使用的各种安全服务,比如,可以显示有各个安全服务节点的节点标识以及节点具有的安全能力(也就是对应的安全检测策略),或者也可以只显示安全资源池所提供的各种安全能力,显示形式不做限定。
步骤b、终端设备30接收使用者的转发策略配置操作,并将对应的配置信息发送给策略配置服务器40。
使用者(如安全资源池的租户的管理员)可以根据其需求编辑数据包标识及其对应的转发策略即安全处理路径,可选的,使用者可以输入数据包标识或者从界面显示的可选标识中进行选择,使用者可以从界面中显示的安全资源池提供的各种安全能力中选择该标识对应的各种安全能力以及执行顺序,或者是使用者可以从界面中显示的安全资源池中的各个安全服务节点的标识中选择所需的节点标识,并确定所选择的各节点之间的执行顺序,终端设备30根据使用者的编辑操作,将对应的策略配置信息发送给策略配置服务器40,如将数据包标识、该数据包标识对应的安全能力以及安全能力之间的执行顺序等信息发送给服务器40,或者是将数据包标识、该数据包标识对应的各个安全服务节点及对应的执行顺序等信息发送给服务器40。可选的,使用者如果没有设置其所选择的各个安全能力之间的执行顺序,可以由服务器40确定该执行顺序,确定方式不做限定。
步骤c、策略配置服务器40根据接收到的策略配置信息生成数据包标识和对应的转发策略(即路径)之间的对应关系,并提供给网关20。
其中,步骤b中的上述执行顺序就是路径中各个节点标识在路径中的顺序,也就是对数据包进行处理时,数据包经由各节点标识的顺序。在实际实施时,如果使用者在配置策略时,选择的是所需的各种安全能力,服务器40在接收到策略配置信息之后,可以根据安全资源池中的各个安全服务节点所能够提供的安全能力,确定出使用者所选择的安全能力对应的各个安全服务节点,根据所编辑的安全能力之间的执行顺序,确定对应的各个安全服务节点的执行顺序,按照该顺序和确定出的各个安全服务节点的节点标识,生成使用者编辑的数据包标识和对应的安全处理路径之间的对应关系。
步骤d、网关20接收策略配置服务器40发送的上述对应关系并增加到策略转发库中。
通过该可选方案,使用者只需要在其终端设备上进行简单的编辑操作,即可完成数据包转发策略的配置。
其中,五元组的作用是标识需要被检测的流量,在实际应用中,五元组可以设置的粒度非常细,比如,可以描述每一个IP地址和/或每一个端口,即每个IP地址和/或每一个端口对应各自的转发策略,也可以依据实际情况放宽,比如,描述一些网段和/或端口段,即一些网络和/或端口段对应相同的转发策略,而转发策略中包含的是需要依次经过的安全能力。可选的,如果使用者在配置转发策略时,没有设置不同的安全服务器节点对应的执行顺序,该顺序可以策略配置服务器确定,如可以是随机确定顺序或者是根据预配置的顺序确定策略确定。每一个安全能力(也就是具有该安全能力的安全服务节点)在网络中也都有一个固定的IPv6地址,地址在网络中必须可达,确保流量在按策略处理之后,能将流量转发到这个安全能力中被处理。
下面结合图1中所示的系统架构,对将本申请实施例提供的方法应用于安全资源池中时的数据处理流程进行说明。图3a和图3b中示出了该数据处理流程的示意图,如图3a中所示,该流程可以包括如下几个步骤:
步骤S101:安全资源池网关接收到数据包即待处理数据包。
安全资源池的网关接收来自安全资源池之外的IPv6数据包(即采用IPv6协议的数据包),该数据包中可以包括五元组即来源IP、来源端口、目标IP、目标端口和协议。如图1所示的示例中,网关20可以接收来自应用服务器20的待处理数据包(即待检测的网络流量),并对该数据包开始启动后续的流程。
步骤S102:确定待处理数据包是否是目标类型的数据包,在待处理数据包的类型为目标类型时,根据数据包标识确定数据包对应的目标处理路径。
可选的,该应用场景中安全资源池是基于SRv6协议的资源池,该场景中所适用的数据包应该是IPv6数据包(即采用IPv6协议的数据包),目标类型可以是IPv6数据包。网关在接收到数据包之后,可以首先检查数据包的类型,如果通过检查发现待处理数据包不是IPv6数据包,则说明当前收到的数据包不适用于安全资源池,整个网络中存在转发错误,可以直接将包丢弃,如果待处理数据包是IPv6数据包,则初步检查通过,可以继续执行后续处理。
可选的,可以通过解析待处理数据包的报文头来确定待处理数据包的类型。图4中示意性的示出了IPv6报文头格式(采用IPv6协议的数据包的包头格式)的示意图,其中,Version字段表示数据包采用的IP协议的版本号;Traffic Class为流量类别;Flow Label为流标签(可用来标记特定流的报文,以便在网络层区分不同的报文);Payload Length为有效载荷长度,也就是IPv6数据包基本头以后部分的长度;Next Header为下一报头,用来标识当前头(基本头或扩展头)后下一个头的类型;Hop Limit为跳数限制,这个字段可以防止由于路由环路而导致数据包在网络中不停被转发;Source Address和DestinationAddress分别为数据包的源地址和目的地址,都是128bit(比特);Extension Headers为扩展报头,增强了IPv6的灵活性。
基于IPv6的数据包格式可以看出,安全资源池的网关20在对收到的数据包的类型进行检查时,可选的,可以通过检查IP包的Version字段,查看Version字段中的值是否为6,如果为6则是IPv6的数据包。还可以对数据包的SourceAddress和DestinationAddress字段进行检查,确定这两个字段中的IP地址是否是IPv6地址,以对数据包的类型进行双重确认,如果地址段中的IP地址是IPv6地址则说明数据包是IPv6数据包。如果待处理数据包是IPv6数据包,则可以基于待处理数据包的标识确定待处理数据包对应的目标处理路径(也就是安全处理路径),如果待处理数据包不是IPv6数据包,可以直接将包丢弃。
作为一可选实施方式,图3b示出了本申请提供的一种确定待处理数据的类型以及对应的目标处理路径的流程示意图,如图3b所示,可以包括以下步骤:
步骤S1:解析待处理数据包的报文头,提取数据包的版本字段的值、数据包的五元组和安全标签。
安全资源池的网关在接收到来自资源池外的待处理数据包之后,可以通过解析数据包的报文头来获取用于确定数据包类型及目标处理路径的相关信息。可选的,相关信息可以包括上述版本字段的值、数据包的五元组和安全标签。其中,在实际实施时,具体采用哪些信息或者将这些信息携带在数据包的哪个字段可以根据实际需求配置,本申请实施例不做限定,比如,安全标签可以是数据包的五元组,数据包标识可以是五元组中的部分指定项或者是全部项,也就是说,安全标签和数据包标识可以相同或者部分信息相同。可选的,安全标签也可以是数据包的流标签或者是流量类型中的一项或多项的组合,如可以采用图4中所示的Flow Label字段的值或者是Traffic class字段的值中的至少一项作为安全标签,还可以是在扩展头字段中设置安全标签,例如,在扩展头字段中新增安全标签,安全标签代表了数据包所要进行的安全检测。
步骤S2:根据版本字段的值和五元组确定数据包是否是指定类型的数据包。
可选的,可以根据版本字段的值、以及五元组中源地址字段的值(即源地址)和目的地址字段的值(即目的地址),确定数据包是否是IPv6数据包,如果版本字段的值为6,或者,源地址和目的地址是IPv6地址,则确定数据包是IPv6数据包,则执行步骤S3,基于数据包标识(五元组)和转发策略库确定待处理数据包对应的目标处理路径,否则,可以丢弃数据包。
步骤S3:基于五元组查询转发策略库,确定转发策略库中是否存在该五元组对应的候选处理路径,若存在则执行步骤S4,若不存在则执行步骤S6。
步骤S4:确定候选处理路径中是否存在满足安全标签的处理路径,若存在则执行步骤S5,若不存在则执行步骤S6。
步骤S5:将满足安全标签的候选处理路径确定为目标处理路径。
在实际实施时,作为一可选方式,如果可以根据五元组在转发策略库中查找到该五元组对应的至少一条候选处理路径,可以将至其中的任一条路径确定为目标处理路径,或者是将其中最新配置的一条候选处理路径作为目标处理路径。
作为另一可选方式,在确定存在至少一条候选处理路径时,可以基于安全标签进一步确定目标处理路径。可选的,如果至少一条候选处理路径中存在满足安全标签的至少一条路径,则将满足安全标签的任一路径确定为目标处理路径,采用该方案,可以根据待处理数据包的安全标签和数据包标识,从预配置的安全处理路径中找到满足该数据包的安全标签的目标处理路径。
步骤S6:根据安全资源池中各安全服务节点的安全能力,确定满足安全标签的至少一个安全服务节点。
步骤S7:根据确定出的安全服务节点确定目标处理路径。
作为一可选方式,如果根据数据包的五元组在转发策略库中没有找到该五元组对应的候选处理路径,也就是策略库中没有该五元组对应的对应关系,可以直接丢弃数据包或者是将数据包转出资源池,发送给待处理数据包的下一跳接收设备。
作为另一可选方式,如果未映射关系找到候选处理路径,可以根据数据包中携带的安全标签来确定目标处理路径。比如,根据安全标签可以确定数据包要依次经过安全能力a和安全能力b的检测处理,安全资源池中的节点1是具有安全能力a的节点,节点3是具有安全能力b的节点,那么则可以确定目标处理路径为节点1到节点3的安全处理路径。
如果是根据数据包的五元组查找到了候选处理路径,但候选处理路径中不存在满足安全标签的处理路径,也可以通过步骤S6确定出满足安全标签的至少一个安全服务节点,基于确定出的安全服务节点确定目标处理路径。可选的,可以直接是基于确定出的安全服务节点得到目标处理路径,也可以是通过融合候选处理路径和确定出的安全服务节点得到目标处理路径,比如,候选处理路径是节点1到节点4的处理路径,根据安全标签确定出的安全服务节点是节点1和节点3,且这两个节点的检测顺序是先经过节点1检测,再经过节点3检测,那么可以通过融合候选处理路径和这两个节点得到最终的目标处理路径。
其中,对于融合的具体策略可以根据需求配置,本申请实施例不做限定,如安全资源池中的各安全服务节点可以具有优先级,在融合时,可以根据节点的优先级进行融合,比如,上述示例中,节点4的优先级高于节点3的优先级,目标处理路径可以是节点1到节点4再到节点3,或者,也可以是只要求目标处理路径中包括候选处理路径和确定出的各节点,目标处理路径可以是节点1到节点3再到节点4,或者是节点1到节点4再到节点3。作为另一方式,也可以是数据包标识和安全标签具有不同的优先级,比如安全标签的优先级高于数据包标签,那么在融合时,根据安全标签确定出的安全服务节点在目标处理路径中的顺序应该先于(至少不晚于)候选处理路径中节点的顺序。
在实际应用中,如果候选处理路径有至少两条,在融合时,可以任选一条候选处理路径进行融合,也可以是根据预配置的选取策略选择一条候选处理路径进行融合。当然,理论上也可以是将多条候选处理路径和确定出的安全服务节点进行融合。
在确定出目标处理路径之后,则可以执行步骤S103。
步骤S103:将目标处理路径对应的地址信息写入待处理数据包中,即将确定出的路径上的各节点的地址按顺序写入数据包的指定字段中。
具体的,该步骤是在确定出待处理数据包的转发路径即目标处理路径之后,将该转发路径中包含的各个节点标识对应的安全服务节点的地址按顺序写入到待处理数据包中。作为一个示例,假设确定出的路径为节点标识1-节点标识3,则将节点标识1对应的安全服务节点的IP地址和节点标识3对应的安全服务节点的IP地址按顺序写入到数据包中。
对于SRv6技术,该技术是在IPv6的IP扩展头中进行的新的扩展,这个扩展部分称为SRH(Segment Routing Header,段路由头/路由扩展报头),图5中示意性的示出了SRv6的报文头格式的部分示意图,可以看出,SRH这个扩展部分没有破坏标准的IPv6报文头,SRH中各字段的含义为:Next Header字段标识紧跟在SRH之后的报文头的类型,Hdr Ext Len标识SRH头的长度,Routing Type标识路由头部类型,Segments Left表示仍然应当访问的中间节点数,Last Entry为段列表中最后一个元素的索引,Flags是数据包的一些标识,Tag标识同组数据包,Segment list[.]为段列表,段列表从路径的最后一段开始编码,Segmentlist[0]为路径中最后一个数据处理节点的IPv6地址。
按照SRv6协议的规定,对于已经查询出来的安全能力(也就是具有安全能力的安全服务节点)的地址,可以直接利用SegmentList字段,将各节点的IP地址依次写入到数据包的该指定字段中。具体的,对于路径上的最后一个节点标识,将该标识对应的IPIPv6地址(128比特的IPv6地址)写入SegmentList[0]字段中,将倒数第二个节点的IPv6地址写入到SegmentList[1]字段中,依次类推,按照各节点标识在路径上的顺序的倒序,将转发路径上的各个IPv6地址写到SegmentList中,SegmentList中写入的各个IPv6地址即为后文中描述的转发路径对应的地址信息。
步骤S104:将待处理数据包转发给第一个安全服务节点,由第一个安全服务节点执行步骤S105。
步骤S105:第一个安全服务器节点对数据包进行安全检测,并将检测之后的数据包发送给第二个安全服务节点。
网关在将上述地址信息按序写入到SegmentList中之后,则可以根据该字段中的各个地址,将数据包发送给转发路径上的第一个安全服务节点(简称为第一个节点,也就是目标检测路径上的第一个节点标识对应的节点),第一个节点接收到数据包之后,可以根据其具有的安全能力(即全检测策略)对数据包进行相应的安全检测处理,比如,第一个节点的安全能力是入侵检测,那么第一个节点收到数据包之后,则可以预配置好的入侵检测策略对数据包进行检测,如果检测未通过,可以丢弃数据包,如果检测通过,第一个节点则可以根据数据包的SRv6的SegmentList字段中记录的IPv6地址,将第一个节点的IPv6地址的后一个IPv6地址设置为目标IP地址,将其检测后的数据包发送给该目标IP地址对应的节点,也就是转发路径上的第二个安全服务节点(简称为第二个节点),由第二个节点执行步骤S106。
步骤S106:第二个安全服务节点对接后到的数据包进行安全检测,在安全检测之后,将数据包发送给安全资源网关。
第一个节点接收到第一个节点发送的数据包之后,可以根据其具有的安全能力对接收到的数据包进行处理,如果检测通过,则同样可以根据SegmentList字段中的地址信息,将检测过后的数据包再发送给第三个节点,以此类推,直至SegmentList字段中记录的所有IPv6地址对应的节点都已经按顺序对数据包进行过安全处理,则可以进入到将数据包转出安全资源池的步骤。在图3a所示的示意图中,目标处理路径包括两个安全服务节点,即第一个节点和第二个节点,第二个节点是该路径上的最后一个节点,第二个节点在对数据包进行安全检测之后,根据SegmentList字段中记录的地址,可以知道自身是最后一个节点,可以将检测通过的数据包发送给资源池网关,由网关将数据包转出安全资源池。
步骤S107:网关将上述指定字段从数据包中剥离,将剥离后的数据包转出安全资源池。
可选的,转出安全资源池的操作可以由安全池网关来进行处理,也可以由转发路径上的最后一个安全服务器节点来进行处理。网关或者最后一节点需要将SRv6的整个字段进行剥离,并将预设的或基于策略设定的下一跳IP(下一跳接收设备的IP地址)作为目标IP地址,将处理后的数据包转发出去。如图1所示,假设一个待处理数据包对应的转发路径是节点1至节点2的路径,那么网关20在确定出该路径之后,将节点1的IP地址和节点2的IP地址按序写入到SRv6的SegmentList字段,并根据节点1的IP地址将数据包发送给节点1,节点1对数据包进行安全检测且通过之后,根据节点2的IP地址将处理后的数据包发送给节点2,节点2对数据包进行安全处理且通过之后,可以将处理后的数据包发送给网关20,由网关20将数据包中SRv6的整个字段删除后将数据包发送至数据包对应的下一跳接收设备12,或者由节点2将SRv6的整个字段删除后的数据包发送给网关,由网关将数据包发送给设备12,或者是由节点2将数据包中的SRv6的整个字段删除,并将处理后的数据包发送给设备12。
将本申请提供的方法应用在IPv6的网络场景下,安全资源池可以实现对流量进行灵活编排和调度的需求,IPv6网络中的数据包在转发到安全资源池时,可以根据用户需要,通过一次性下发定制化的流量编排和调度策略的方式,实现网络流量按需、按策略在安全资源池中被转发并进行安全处理的场景,且基于SRv6来实现,可以有效的规避网络调整过多过于复杂、实现不够灵活、适配性不够丰富的问题。
可以看出,本申请实施例提供的该方法较现有技术,有了较大的转变,无需通过路由策略、策略路由、网卡桥接、网络隧道、虚拟网络等方式实现,可以与现网的其他网络策略和网络基础设施实现一定程度的隔离,同时依托查询转发路径、写入数据包的SRv6字段、基于SRv6信息转发在内的几个关键环节,可以更加灵活的通过自定义策略来定义编排和调度方式。在实际使用中,如果需要实现对网络流量的非常精细化的编排和调度,可以在转发路径编辑时,将数据包标识(如五元组)和对应的策略定义到最细粒度,比如,可以定义出每一个来源IP、目的IP、来源端口、目的端口和协议所需要的转发调度策略。如果仅需要对流量进行较粗狂的编排和调度,可以在转发路径编辑时,使用IPv6网段、端口段、所有端口等方式来定义转发调度策略。但不论是精细化的使用还是粗狂的使用,本申请实施例提供的方案并不会对现有的网络策略造成大的改动和影响,也不会因为策略的变动和调整需要下发可能影响整个网络稳定的变更。
可以理解是,本申请实施例提供的方法适用于上述基于SRv6的安全资源池的场景中,但并不只限于该场景,比如,该方法还可以应用于其他基于策略进行数据包转发及处理的服务集中性的应用场景中。下面通过对几个示例性实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
为了描述方便,下面将以网关作为执行主体为例,对本申请实施例中的方案进行说明。
图6为本申请实施例提供的一种数据处理方法的流程示意图,如图6中所示,该方法可以包括以下步骤S110至步骤S140。
步骤S110:接收待处理数据包,确定待处理数据包的第一数据包标识。
其中,待处理数据包是网关从数据发送端接收到的需要发送给数据接收端(可以是数据包的源端设备即源IP地址对应的设备,也有可以是源端设备和网关之间的其他传输节点)的数据包,网关在将该待处理数据包发送给下一传输节点之前,需要根据应用需求对其进行相应的处理,例如,网关是安全资源池的网关,根据应用需求,待处理数据包需要经过安全资源池,那么待处理数据包需要被发送到安全资源池的网关,以经由安全资源池中的一种或多种安全产品的安全检测,通过安全检测的待处理数据包才能够被安全资源池继续传输到下一传输节点(即前文中的下一跳接收设备),下一传输节点是预设好的,可能是目的接收端,也可能是待处理数据包的传输路径上的其他节点,比如,其他应用网关。
待处理数据包的数据包标识(即上述第一数据包标识)是用于标识该数据包的信息,对于标识的具体形式本申请实施例不做限定,可以是携带在数据包中的能够用于标识该数据包的任意信息。其中,数据包标识的标识粒度本申请实施例也不做限定,可以根据实际需求配置,可选的,数据包标识可以是能够用于唯一标识一个数据包的标识,也可以是能够标识数据包的类别的标识,还是可以是数据包对应的会话(session)标识。
作为一可选方案,第一数据包标识可以包括待处理数据包对应的网络流量多元组特征中的至少一项。确定待处理数据包的第一数据包标识可以包括:对待处理数据包的报文头进行解析,得到报文头数据;提取报文头数据中待处理数据包对应的网络流量多元组特征;将网络流量多元组特征中至少一项指定特征,确定为待处理数据包的第一数据包标识。
其中,网络流量多元组特征也就是数据包的数据流的多个维度的特征信息,是指能够用于区分网络中传输的不同数据包的相关信息,包括能够表征网络流量的多个特征。比如,网络流量多元组特征可以是数据包的四元组、五元组或七元组等,以五元组为例,一个数据包的五元组包括该数据包的来源IP(即源IP地址)、来源端口(源端口)、目标IP、目标端口和传输层协议,五元组中的每一项可以是一个维度的网络流量特征,数据包标识可以是源IP、源端口、目标IP、目标端口或传输层协议中的部分或全部。网关在接收到待处理数据包之后,可以通过提取该数据包的五元组,得知该数据包的数据包标识。
步骤S120:根据第一数据包标识,确定待处理数据包在资源池中对应的目标处理路径。
其中,资源池中包括多个数据处理节点,每个数据处理节点对应至少一种数据处理策略。可选的,根据第一数据包标识,确定待处理数据包在资源池中对应的目标处理路径,可以包括:
获取预配置的映射关系,映射关系为至少一个第二数据包标识中的各标识与其在资源池中对应的处理路径的对应关系;
根据第一数据包标识和上述映射关系,确定映射关系中与第一数据包标识相匹配的第二数据包标识对应的候选处理路径;
根据确定出的候选处理路径,确定待处理数据包对应的目标处理路径。
其中,上述映射关系为至少一个第二数据包标识中的各标识与其对应的处理路径的对应关系,每条处理路径为至少一个数据处理节点的节点标识构成的路径,每个数据处理节点对应至少一种数据处理策略。
不同处理路径上的数据处理节点可能完全不同,也有可能具有部分相同的节点。本申请实施例中的数据处理节点为资源池中提供数据处理服务的节点,每个数据处理节点可以按照预配置的数据处理策略提供对应的数据处理服务。在实际实施时,使用者(比如资源池的租户)可以根据实际需求配置其所提供的产品(应用)中的数据包的处理策略,包括配置所需的数据处理策略或者数据处理节点的节点标识、以及数据包标识,网关或者策略配置服务器可以根据使用者的配置生成数据包标识和对应的数据处理路径(如果使用者配置的是所需的数据处理策略,网关可以根据资源池中每个数据处理节点对应的数据处理策略,确定出所需的数据处理策略对应的数据处理节点的节点标识)之间的对应关系,并存储到转发策略库中。
根据上述映射关系,网关在通过解析待处理数据包得到待处理数据包对应的第一数据包标识之后,即可以基于第一数据包标识和上述映射关系,确定出待处理数据包对应的候选处理路径。具体的,根据第一数据包标识和预配置的映射关系,确定待处理数据包对应的目标处理路径,可以包括以下至少一项:
将上述映射关系中与第一数据包标识相同的第二数据包标识对应的处理路径,确定为待处理数据包对应的候选处理路径;
将上述映射关系中涵盖第一数据包标识的第二数据包标识对应的处理路径,确定为待处理数据包对应的候选处理路径。
在实际实施时,第一数据包标识和第二数据包标识可以是相同粒度的标识信息,比如,第一数据包标识和第二数据包标识都是五元组,那上述候选处理路径就包括映射关系中第一数据包标识对应的处理路径。第一数据包标识和第二数据包标识也可以是不同粒度的标识信息,比如,第一数据包标识是五元组,第二数据包标识可以是涵盖至少一个五元组的信息,例如,第二数据包标识也可以是对应于五元组样式的标识信息,但其中的源IP不是一个具体的地址,而是源IP地址段,那么如果待处理数据包的源IP属于一个第二数据包标识中的源IP地址段,且待处理数据包的五元组中除源IP之外的四项都与该第二数据包标识中除源IP地址段之外的四项相同,那么该第二数据包标识对应的处理路径是待处理数据包对应的候选处理路径。
其中,一个数据处理节点的节点标识的形式本申请实施不做限定,理论上只要是能够唯一标识该处理节点的信息即可。比如,节点标识可以是节点的名称或节点的地址信息,如可以是IP地址等。
可以理解的是,每条处理路径中的各节点标识对应的数据处理节点,即为要对数据包进行相应处理的节点,且各节点标识在该处理路径的中的顺序(也就是位置),代表了对应的各个数据处理节点对数据包进行处理的顺序。
可选的,如果根据第一数据包标识和上述映射关系,可以查找到候选处理处理路径,可以将候选处理路径中的任一条路径作为目标处理路径,或者根据预配置的策略从候选处理路径中确定出目标处理路径。
本申请的可选实施例中,上述资源池可以是安全资源池,相应的,安全资源池中的每个数据处理节点为安全检测节点,每个安全检测节点具备至少一种安全检测能力,也就是说,安全检测节点的数据处理策略为数据安全检测策略,上述处理路径则为安全处理路径,处理路径中的各节点标识为安全资源池中的安全检测节点的节点标识。
本申请提供的方法可以应用于安全资源池上,该应用场景中,上述映射关系中包含的处理路径是安全处理路径,不同的安全处理路径对应不同的安全检测策略。在实际实施时,可以通过在安全资源池中设立一个网关,需要经过安全资源池进行安全检测的来自安全资源池之外的待处理数据包,可以发送到该网关,网关可以根据上述接收到的数据包的标识和上述映射关系,快速确定出待处理数据包对应的候选安全处理路径,并基于候选安全处理路径确定目标安全处理路径,通过记录该路径上的各个安全检测节点的地址信息,使得待处理数据包可以按需求依次经过各个安全检测检节点,并由各个安全检测节点按照具有各自的安全能力(即安全检测策略)对数据包进行安全检测。可选的,路径上的任一安全检测节点在对数据包进行安全检测时,如果安全检测结果为未通过,该节点可以丢弃该数据包不再对其进行后续处理,或者也可以根据预配置的其他策略,对未通过检测的数据包进行相应处理。
可选的,本申请提供的该方法还可以包括:对待处理数据包的报文头进行解析,获取待处理数据包对应的安全标签,安全标签表征了待处理数据包对应的安全检测策略(也就是需要经过的安全能力);
上述根据确定出的候选处理路径,确定待处理数据包对应的目标处理路径,可以包括:将候选处理路径中满足安全标签的处理路径,确定为目标处理路径。
基于该可选方案,可以基于待处理数据包的安全标签从候选处理路径中确定目标处理路径,从而保证了数据包能够经由满足其安全标签的各安全检测节点进行安全检测。
若候选处理路径中不存在满足安全标签的处理路径,可以基于安全标签从安全资源池的各安全检测节点中确定满足该安全标签的至少一个节点。作为一可选方案,若映射关系中不存在与第一数据包标识相匹配的第二数据包标识,或者候选处理路径中不存在满足安全标签的处理路径,该方法还包括:
根据安全标签,从安全资源池的各安全检测节点中确定满足安全标签的至少一个安全检测节点、以及上述至少一个安全检测节点中的各节点对应的检测顺序;
基于确定出的对应于上述检测顺序的至少一个安全检测节点,确定待处理数据包对应的目标处理路径。
其中,若上述映射关系中不存在与第一数据包标识相匹配的第二数据包标识,说明映射关系中的各第二数据包标识中不存在能够覆盖第一数据包标识的标识,即不存在第一数据包标识对应的候选处理路径,此时,可以根据安全标签从安全资源池中筛选出满足该安全标签对应的安全检测策略的至少一个节点,基于筛选出的节点得到目标处理路径。可选的,安全标签除了可以表征待处理数据包对应的安全检测策略,还可以数据包对应的安全检测策略依次被执行的顺序,也就是数据包经由这些安全检测策略对应的安全检测节点的顺序,那么可以根据安全标签确定出待处理数据包需要经由的各安全检测检测节点和经由这些节点的先后顺序。当然,如果安全标签不包含上述顺序,在确定出满足安全标签的各安全检测节点之后,可以根据确定出的各节点随机生成目标处理路径,即各节点对应的先后顺序可以随机确定,或者可以根据预配置的顺序确定策略确定,例如,具有不同安全检测能力的安全检测节点可以对应有各自的优先级,在确定出满足安全标签的各节点之后,可以按照节点的优先级确定目标处理路径,例如,高优先级的节点在目标处理路径的顺序靠前。
可选的,若第一数据包标识存在对应的候选处理路径,但候选处理路径中不存在满足安全标签的处理路径,上述基于确定出的对应于上述检测顺序的至少一个安全检测节点,确定所述待处理数据包对应的目标处理路径,包括:
将候选处理路径中满足预设条件的处理路径作为初始目标路径;
通过融合初始目标路径和确定出的对应于上述检测顺序的至少一个安全检测节点,得到待处理数据包对应的目标处理路径。
需要说明的是,作为一可选方式,在候选处理路径中不存在满足安全标签的路径时,同样也可以采用前文中提供的第一数据包标识不存在对应的候选处理路径时确定目标处理路径的方案。
作为另一可选方式,可以融合候选处理路径中满足预设条件的初始目标路径和根据安全标签确定出的各安全检测节点,得到目标处理路径。其中,预设条件可以根据实际应用需求配置,比如,可以将候选处理路径中最新配置的路径(策略库中可以记录每个对应关系的配置时间信息)或者是与第一数据包标识的匹配度最高的第二数据包标识对应的处理路径,作为初始目标路径。当然,如果候选处理路径只有一条,直接将候选处理路径作为初始目标路径即可。对于融合初始目标路径和确定出的各安全检测节点的方式,本申请实施例也不做限定。
可选的,上述根据第一数据包标识,确定待处理数据包在资源池中对应的目标处理路径,可以包括:
根据待处理数据包对应的安全标签,从安全资源池中确定出该安全标签对应的目标安全子池,其中,不同的目标安全子池对应不同的安全标签;
根据第一数据包标识,从所述目标安全子池中确定出满足所述安全标签的目标处理路径。
在实际应用中,由于安全资源池中安全检测节点的数量可能会比较多,为了提高目标处理路径的确定效率,可以根据安全标签的不同,将安全资源池中的安全检测节点进行划分,将安全资源池划分为至少两个安全子池,每个子池中可以包括多个安全检测节点,不同子池中可以存在部分相同的安全检测节点,也可以没有相同的安全检测节点。一个安全子池可以对应一个或多个安全标签,一个安全标签对应至少一个安全子池,可选的,一个安全标签可以对应一个安全子池。采用该方案,在获取到待处理数据包的安全标签之后,可以根据该安全标签查找到待处理数据包对应的目标安全子池,进一步,可以基于第一数据包标识,确定出该目标安全子池中满足该数据包的安全标签的目标处理路径。
其中,基于第一数据包标识确定目标安全子池中满足该数据包的安全标签的目标处理路径的方案,可以采用与前文中提供的基于数据包标识,确定安全资源池中待处理数据包对应的目标处理路径相同原理的方案,比如,每个安全子池可以对应有各自的上述映射关系,在确定出目标安全子池后,可以基于第一数据包标识和该目标安全子池对应的映射关系,确定出待处理数据包的候选处理路径,再基于候选处理路径确定目标处理路径,如将候选处理路径中满足该数据包的安全标签的路径确定为目标处理路径。
需要说明的是,本申请的多个可选实施例中提供的不同实施方案,在相互不存在矛盾的前提下,是可以相互结合使用的。
作为本申请的另一可选实施例,该方法可以包括:确定待处理数据包的优先级;根据第一数据包标识和待处理数据包的优先级,确定待处理数据包在资源池中对应的目标处理路径。
也就是说,目标处理路径除了与数据包标识具有关联之外,还可以与数据包的优先级有关。数据包优先级高低的划分方式本申请实施例不做限定。可选的,待处理数据包中携带有优先级标签,可以通过解析待处理数据包的报文头,得到该标签,确定出待处理数据包的优先级。
作为一可选方式,前文实施例中的映射关系可以是数据包标识和数据包的优先级与对应的处理路径的对应关系,例如,前文表1中所示的映射关系表中,还可以增加一列,该列的内容是数据包的优先级,那么可以根据数据包标识(如五元组)和数据包的优先级确定待处理数据包对应的候选处理路径,再基于候选处理路径确定目标处理路径。
步骤S130:记录目标处理路径对应的地址信息,该地址信息包括目标处理路径中的各节点标识在该路径中的顺序信息、以及各节点标识对应的各个数据处理节点的地址。
步骤S140:根据上述顺序信息中第一个节点标识对应的地址,将上述地址信息和待处理数据包发送给对应的数据处理节点,由该数据处理节点根据节点对应的数据处理策略对所述待处理数据包进行数据处理操作。
其中,上述数据处理操作包括:根据节点对应的数据处理策略对接收到的数据包进行处理,并根据上述地址信息,将处理后的数据包和上述地址信息发送给下一个数据处理节点,以使得待处理数据包被目标处理路径上的各数据处理节点依次进行处理。
网关在确定出待处理数据包对应的目标处理路径之后,可以根据该路径知晓待处理数据包所要经由的各个数据处理节点,还可以知晓数据包经由各个数据处理节点的顺序,该顺序也就是目标处理路径中各个节点标识在该路径中的顺序(也就是位置先后),即各节点标识在路径中的顺序信息代表了各节点标识对应的各个数据处理节点对数据包进行处理的顺序。比如,目标处理路径为A-B-C,A、B、C为3个节点标识,A-B-C表示这条路径上的第一个数据处理节点为标识A对应的数据处理节点,标识B和C对应的数据处理节点分别为该路径上的第二个和第三个数据处理节点,数据包需要依次经由A、B、C对应的节点进行处理。根据记录的目标处理路径对应的地址信息,可以得知数据包要经由的各个数据处理节点及经过各个节点的顺序。
在确定出目标处理路径对应的地址信息之后,网关可以根据第一个节点标识对应的地址,将待处理数据包和该地址信息一同发送给第一个数据处理节点(也就是第一个节点标识对应的数据处理节点),第一个数据处理处理节点作为目标处理路径上的第一个当前数据处理节点,在接收到网关发送的数据之后,根据其对应的数据处理策略对待处理数据包进行相应的处理,在完成处理后,根据接收到的上述地址信息,可以知晓自己的下一个数据处理节点的地址,并可以根据该地址将处理后的数据包和该地址信息再一同发送给对应的下一个数据处理节点,此时,该下一个数据处理节点作为新的当前数据处理节点,可以根据其对应的数据处理策略对接收到的数据包进行相应处理,并将处理后的数据包和上述地址信息继续发送给目标处理路径上的下一个数据处理节点,通过该方式,可以简单、方便的实现待处理数据包依次经由目标数据路径上的各个节点对其进行处理的需求。
对于每个数据处理节点对应的数据处理策略具体是何种策略,本申请实施例不做限定,可以根据实际应用需求配置。可选的,一个数据处理节点对应的数据处理策略除了可以包括对接收到的数据包进行什么样的处理(也就是该节点提供的数据处理服务,可简称为处理算法),可选的,数据处理策略还可以包括后处理规则,该规则可以限定在采用处理算法对数据包进行处理之后,根据不同的处理结果确定后续的处理方式。例如,数据处理节点是安全资源池中提供安全检测服务的节点,后处理规则可以包括根据不同的检测结果进行下一步处理的方式,比如,如果通过安全检测则将数据包发给下一个数据处理节点,未通过安全检测可以丢弃数据包等。
本申请实施例提供的数据处理方法,对于接收到的待处理数据包,可以根据其数据包标识,确定出资源池中该数据包对应的目标处理路径,通过记录该路径对应的地址信息,并在数据包的转发过程中将该地址信息由路径中的上一个数据处理节点依次传递给下一个数据处理节点,使得每个数据处理节点可以根据该地址信息将处理后的数据包转发给对应的第一个数据处理节点,简单、便捷的实现了对待处理数据包的按需处理。
基于本申请实施例提供的该方法,可以根据使用需求,配置数据包标识和对应的数据处理路径之间的对应关系,即可实现数据包按需、按策略被转发并进行处理的场景,该方法实现简单、且可以按照需求通过调整上述对应关系,实现对数据包的处理策略的灵活调整,由于数据包的转发处理策略是基于待处理数据包对应的目标处理路径上各节点对应的地址信息实现的,因此,即使对处理策略进行变动和调整,也不会因策略的变动和调整对整个网络的稳定造成大的影响和变更,更好的满足了应用需求。
其中,对于网关将目标处理路径对应的地址信息如何发送给第一个数据处理节点,以及目标处理路径的中的一个数据处理节点将该地址信息如何发送给下一个数据处理节点的具体实现,可以根据应用需求预先约定。
作为一可选方案,上述记录目标处理路径对应的地址信息,可以包括:
将各节点标识对应的各个数据处理节点的地址,按照上述顺序信息记录到待处理数据包中,得到第一数据包;
响应的,将上述地址信息和待处理数据包发送给对应的数据处理节点,包括:将第一数据包发送给对应的数据处理节点;
对于目标处理路径上的数据处理节点,根据节点对应的数据处理策略对接收到的数据包进行处理,并根据地址信息,将处理后的数据包和所述地址信息发送给目标处理路径上的下一个数据处理节点,包括:
根据节点对应的数据处理策略对接收到的数据包进行处理,得到处理后的第二数据包,并将第二数据包发送给下一个数据处理节点,第二数据包中携带有上述地址信息。
该方案中,目标处理路径对应的地址信息是作为待转发数据包(对于网关而言是待处理数据包,对于数据处理节点而言是处理后的数据包)的一部分,被发送给目标处理路径上的数据处理节点。在实际实施时,可以预先配置好将地址信息写入到数据包的哪个字段,接收到数据包的数据处理节点,可以通过读取该字段的内容,确定出下一个数据处理节点的地址,并将处理后的数据包根据确定出的地址转发给下一个数据处理节点。
在实际应用中,为了更好的满足使用者的个性定制化需求,或者为了避免对网络造成较大的影响,本申请实施例提供的该方法,在实际实施时,可配置针对数据包的处理条件,可以根据待处理数据包所满足的处理条件进行相应的处理。具体的处理条件可以根据实际应用需求或应用场景设置。
本申请的可选实施例中,待处理数据包可以是基于SRv6协议的数据包;此时,上述将各节点标识对应的各个数据处理节点的地址,按照上述顺序信息记录到待处理数据包中,可以包括:
按照上述顺序信息,将各节点标识对应的各个数据处理节点的地址依次写入到待处理数据包的段列表字段(即Segment List字段)中;
相应的,上述将第二数据包发送给下一个数据处理节点,包括:
根据段列表字段中记录的所述各个数据处理节点的地址,确定当前数据处理节点对应的下一个数据处理节点的地址;根据确定出的地址,将第二数据包发送给下一个数据处理节点。
本申请的该实施例,可以用于解决支持IPv6协议的网络场景下,对于基于SRv6协议实现的网络数据包的处理。该场景中,网关和资源池中的各个数据处理节点都需要能够识别和支持SRv6协议,网关对于接收到的来自资源池外的待处理数据包,可以根据数据包的标识确定出对应的目标处理路径,并使得数据包可以经由目标处理路径上的各个数据处理节点进行对应的处理。
SRv6技术是在IPv6的IP扩展头中进行了新的扩展,SRv6没有改变IPv6数据包的封装结构,保持了对现有网络的兼容性,可实现任意节点之间的互通,使得SRv6跨域部署更加简单。SRv6中新的扩展部分称为SRH(Segment Routing Header,段路由头/路由扩展报头),该扩展头为SRv6具有可编程能力提供了支持,SRH通过将多个Segment有序组合进行路径编程,并可根据业务需求灵活调整路径。将本申请提供的方法应用于支持SRv6的网络场景中,可以有效规避网络调整过于复杂、实现不够灵活、适配性不够丰富的问题,可以更好的满足方便、快捷地实现对网络数据包的按需定制的处理需求。
作为一可选方案,上述根据第一数据包标识,确定待处理数据包对应的目标处理路径,可以包括:
确定待处理数据包的数据包类型;
在待处理数据包的数据包类型为指定类型时,根据第一数据包标识确定待处理数据包对应的目标处理路径。
需要说明的是,指定类型可以是一种,也可以是多种(至少两种),在指定类型包括多种类型时,上述待处理数据包的数据包类型为指定类型是指待处理数据包属于多种指定类型中的任一种。对于数据包类型的划分依据,本申请实施例不做限定,可以根据需求配置。比如,可以根据业务类型对数据包的类型进行划分,还可以根据数据包的格式进行划分,还可以是自定义的其他类型划分方式。不论采用哪种划分方式,在实际实施时,待处理数据包中可以携带有用于确定数据包类型的信息。
基于该可选方案,在确定待处理数据包对应的目标处理路径之前,可以先判断待处理数据包的类型,如果类型不是指定类型,可以无需执行确定待处理数据包对应的目标处理路径的操作。相应的,上述映射关系中的第二数据包标识为指定类型的数据包对应的标识。
需要说明的是,对于非指令类型的待处理数据包的处理方式,本申请实施例不做限定,可以包括但不限于丢弃待处理数据包或者是将该待处理数据包发送给待处理数据包对应的下一跳接收设备。
本申请的可选实施例中,上述指定类型包括基于指定互联网协议的数据包类型;相应的,确定待处理数据包的数据包类型可以包括:
根据待处理数据包中携带的数据包的版本字段的值、源地址字段或目的地址字段的值中的至少一项,确定数据包类型。
在实际应用中,由于不同的网络架构所支持的互联网协议可能是不同的,或者是有的网络架构可能兼容多种互联网协议,但是对于基于不同互联网协议的数据包需要进行不同的处理。而基于该可选方案,可以基于网络架构中数据传输所支持的互联网协议,来判断数据包的类型。网关在接收到待处理数据包之后,可以首先基于待处理数据包中的相关信息确定该数据包所采用的是哪种类型的互联网协议,在是指定互联网协议时,再执行后续处理。
基于该可选方案,在将本申请提供的方法部署到实际应用中的网络场景中时,可以根据网络场景当前所支持的互联网协议进行个性化的配置,可以无需对现有网络造成大的改动和影响,具有更好的实用性,具体的,可以根据网络支持的互联网协议,配置该协议对应的映射关系(即基于该协议的第二数据包标识及对应的数据处理路径的对应关系)并提供给网关,网关只需对该网络场景中相应类型的数据包进行后续处理。
在网络中传输的任一数据包,数据包的包头(Header)中通常都会携带有多个用于对数据包的格式等信息进行描述的字段,其中,这些字段中一般都会包括版本字段(即Version字段)、源地址字段(Source address)和目的地址字段(Destination address),Version字段用于描述数据包所采用的IP协议版本号,因此,可以根据待处理数据包的Version字段的值来确定数据包所基于的互联网协议是否为指定协议,可选的,上述指定互联网协议可以包括SRv6协议,那么如果Version字段的值为6,则说明待处理数据包采用的是SRv6协议。Source address和Destination address分别用于描述发送方主机地址(即数据包的起始地址)和数据包的最终的目的地,由于不同的互联网协议中的IP地址是不同的,比如,IPv4协议和IPv6协议所对应的IP地址的长度是不同的,因此,也可以基于Sourceaddress或Destination address中的至少一项来确定数据包所采用的互联网协议是哪种协议。
可选的,在实际应用中,可以根据数据包的Version字段和地址字段(Sourceaddress或Destination address中的至少一项)来对数据包所采用的互联网协议进行双重确认,以更加准确的判定数据包是否是指定类型的数据包。其中,如果根据数据包的Version字段和地址字段确定出的互联网协议的类型是不同的,可以认为数据包不符合要求,可以不对该数据包进行处理,如丢掉待处理数据包。
基于本申请实施例提供的方法,使用者可以根据其应用需求,通过一次性下发定制化的流量编排和调度策略(即可以根据需要配置上述映射关系)的方式,实现网络流量(即数据包)按需、按策略在资源池中被转发并进行处理的场景,如可以按需在安全资源池的节点中被转发并进行安全处理,可选的,该方法可以基于SRv6技术来实现,该方案实现简单,无需通过路由策略、策略路由、网卡桥接、网络隧道、虚拟网络等方式实现,可以与现网的其他网络策略和网络基础设施实现一定程度的隔离,同时依托查询转发路径(即目标处理路径)、将转发路径对应的地址信息写入数据包、基于写入的地址信息进行转发等在内的几个关键环节,可以更加灵活的通过自定义策略来定义编排和调度方式,本申请实施例提供的该方法,可以有效的规避网络调整过多过于复杂、实现不够灵活、适配性不够丰富的问题。
作为一可选方案,上述映射关系中的对应关系是通过以下方式获取到的:
接收数据处理策略配置操作,配置操作包括待配置的数据包标识;
响应于策略配置操作,向该策略配置操作的请求端展示可选策略信息,可选策略信息包括各候选数据处理节点或者各候选数据处理策略中的至少一项:
响应于针对可选策略信息的选择操作,根据选择操作对应的目标策略信息生成待配置的数据包标识对应的数据处理路径;
记录待配置的数据包标识及其对应的数据处理路径的对应关系。
为了更好的满足使用者按需定制的需求,在实际应用中,可以让使用者可以根据需要配置和调整数据包的处理策略。可选的,可以为使用者提供的提供策略配置界面,使用者可以通过其终端设备上的该界面进行策略配置,该界面上可以显示有策略配置控件,使用者在点击该控件之后,可以在界面开始进行配置,比如,可以在该界面上显示当前使用者有权限使用的资源池中的各个数据处理节点或各个数据处理节点的数据处理策略中的至少一项等,还可以为使用者展示各种处理策略的说明信息等,使用者可以根据其需求,输入其所需要配置的数据包的标识(即上述待配置的数据包标识)、以及选择该标识对应的数据处理策略或者数据处理节点,在使用者确定其配置之后,可以根据使用者的选择生成对应的数据处理路径,并将配置的数据包标识和该数据处理路径的对应关系提供给网关使用。在后续处理中,网关如果接收到该对应关系中的数据包标识的待处理数据包,即可以根据该对应关系得知该数据包对应的数据处理路径(即目标处理路径),让该数据包依次经过该路径上的各个数据处理节点进行处理。
其中,可选的,上述对应关系可以是本申请提供的该方法的执行主体(如网关)执行的,也可以是其他设备执行的,可以由其他设备将记录的对应关系提供给网关。
在数据包依次经由目标处理路径上的各个节点对其进行处理之后,需要将处理后的数据包转出资源池,以将数据包继续进行传输,发送该数据包的下一跳接收设备。本申请的可选实施例中,在数据包经过目标处理路径上的最后一个节点进行处理后,数据包转出资源池的操作可以由网关执行,也可以是由最后一个节点执行。在由网关执行时,该方法还可以包括:
接收目标处理路径对应的最后一个数据处理节点发送的处理后的数据包,删除接收到的数据包中携带的地址信息,将删除了地址信息的数据包发送给待处理数据包的下一跳接收设备。
在由最后一个数据处理节点执行时,最后一个数据处理节点在根据其对应的数据处理策略对接收到的数据包进行处理后,还执行以下操作:
删除处理后的数据包中的地址信息,将删除了地址信息的数据发送包发送给待处理数据包的下一跳接收设备。
由于目标处理路径对应的地址信息的作用是为了让待处理数据包可以按需、按策略依次经由该路径上的各个节点的处理,在最后一个数据处理节点完成数据包的处理后,则可以将该地址信息进行剥离,由网关或者最后一个数据处理节点将剥离了该地址信息的数据包发送到该数据包对应的下一跳接收设备。其中,对于下一跳接收设备的确定方式本申请实施例不做限定,下一跳接收设备是预设的或者是基于一定策略设定的数据包的下一跳IP地址对应的设备,即下一跳接收设备是预设好的,可能是目的地址、也可能是其他应用网关或者负载均衡设备等等。
可选的,也可以是最后一个数据处理节点根据其对应的数据处理策略对接收到的数据包处理之后,将上述地址信息从数据包中剥离,然后将剥离了地址信息的数据包发送给网关,网关将该数据包发送到下一跳接收设备。
可以理解的是,本申请提供的不同实施例之间是可以相互结合的,采用本申请实施例提供的方法,可以实现更加灵活和统一的对进入安全资源池的流量进行调度,并实现按需的对数据包的处理,方法实现简单且可以按需求灵活的进行调整。
基于与本申请实施例提供的数据处理方法相同的原理,本申请实施例还提供了一种数据处理装置,如图7所示,该数据处理装置100可以包括数据接收模块110、数据处理模块120和数据转发模块130。
数据接收模块110,用于接收待处理数据包,待处理数据包中包括第一数据包标识和待处理数据;
数据处理模块120,用于根据第一数据包标识,确定待处理数据包在资源池中对应的目标处理路径,资源池中包括多个数据处理节点,每个数据处理节点对应至少一种数据处理策略,目标处理路径为资源池中的至少一个数据处理节点的节点标识构成的路径;
数据处理模块120,还用于记录所述目标处理路径对应的地址信息,所述地址信息包括所述目标处理路径中的各节点标识在该路径中的顺序信息、以及所述各节点标识对应的各个数据处理节点的地址;
数据转发模块130,用于根据上述顺序信息对应的中第一个节点标识的地址,将上述地址信息和待处理数据发送给对应的数据处理节点,以由该数据处理节点根据节点对应的数据处理策略对待处理数据包进行处理,并根据地址信息,将处理后的数据包和地址信息发送给目标处理路径上的下一个数据处理节点,以使得待处理数据包被目标处理路径上的各数据处理节点依次进行处理。
可选的,数据处理模块在确定目标处理路径时可以用于:获取预配置的映射关系,映射关系为至少一个第二数据包标识中的各标识与其在资源池中对应的处理路径的对应关系;根据第一数据包标识和映射关系,确定映射关系中与第一数据包标识相匹配的第二数据包标识对应的候选处理路径;根据确定出的候选处理路径,确定待处理数据包对应的目标处理路径。
可选的,上述资源池为安全资源池,安全资源池中的每个数据处理节点为安全检测节点,每个安全检测节点具备至少一种安全检测能力;数据处理模块可以用于:
对待处理数据包的报文头进行解析,获取待处理数据包对应的安全标签,安全标签表征了待处理数据包对应的安全检测策略;将候选处理路径中满足安全标签的处理路径,确定为目标处理路径。
可选的,若上述映射关系中不存在与第一数据包标识相匹配的第二数据包标识,或者候选处理路径中不存在满足安全标签的处理路径,数据处理模块可以用于:
根据安全标签,从安全资源池的各安全检测节点中确定满足安全标签的至少一个安全检测节点、以及该至少一个安全检测节点中的各节点对应的检测顺序;基于确定出的对应于上述检测顺序的至少一个安全检测节点,确定待处理数据包对应的目标处理路径。
可选的,数据处理模块可以用于:在候选处理路径中不存在满足安全标签的处理路径时,将候选处理路径中满足预设条件的处理路径作为初始目标路径;通过融合初始目标路径和确定出的对应于检测顺序的至少一个安全检测节点,得到待处理数据包对应的目标处理路径。
可选的,上述资源池为安全资源池,上述安全资源池中的每个数据处理节点为安全检测节点,每个安全检测节点具备至少一种安全检测能力;上述数据处理模块可以用于:
对待处理数据包的报文头进行解析,获取待处理数据包对应的安全标签,安全标签表征了待处理数据包对应的安全检测策略;
根据待处理数据包对应的安全标签,从安全资源池中确定出该安全标签对应的目标安全子池,其中,不同的目标安全子池对应不同的安全标签;根据第一数据包标识,从目标安全子池中确定出满足安全标签的目标处理路径。
可选的,上述数据处理模块可以用于:确定待处理数据包的优先级;根据第一数据包标识和优先级,确定待处理数据包在资源池中对应的目标处理路径。
可选的,数据处理模块可以用于:将各节点标识对应的各个数据处理节点的地址,按照顺序信息记录到待处理数据包中,得到第一数据包;将第一数据包发送给对应的数据处理节点;
第一个节点标识对应的数据处理节点在接收到的待处理数据包之后,可以执行以下操作:根据节点对应的数据处理策略对接收到的数据包进行处理,得到处理后的第二数据包,并将第二数据包发送给目标处理路径上的下一个数据处理节点,第二数据包中携带有地址信息。
可选的,待处理数据包是基于IPv6数据平面的分段路由SRv6协议的数据包;数据处理模块在将各节点标识对应的各个数据处理节点的地址,按照顺序信息记录到待处理数据包中时,可以用于:
按照顺序信息,将各节点标识对应的各个数据处理节点的地址依次写入到待处理数据包的段列表字段中;
目标处理路径上的第一个节点标识对应的数据处理节点在将第二数据包发送给下一个数据节点时,可以用于:根据段列表字段中记录的所述各个数据处理节点的地址,确定当前数据处理节点(即第一个节点标识对应的数据处理节点)对应的下一个数据处理节点的地址;根据确定出的地址,将第二数据包发送给下一个数据处理节点(即确定出的地址对应的节点)。
可选的,数据处理模块可以用于:确定待处理数据包的数据包类型;在数据包类型为指定类型时,根据第一数据包标识确定待处理数据包对应的目标处理路径。
可选的,指定类型包括基于指定互联网协议的数据包类型;数据处理模块在确定待处理数据包的数据包类型时,可以用于:
根据待处理数据包中携带的数据包的版本字段的值、源地址字段或目的地址字段的值中的至少一项,确定数据包类型。
可选的,数据接收模块还用于:接收目标处理路径对应的最后一个数据处理节点发送的处理后的数据包,删除接收到的数据包中携带的地址信息,将删除了地址信息的数据包发送给待处理数据包的下一跳接收设备。
可选的,目标处理路径中的最后一个数据处理节点在根据节点对应的数据处理策略对接收到的数据包进行处理后,还执行以下操作:删除处理后的数据包中的地址信息,将删除了地址信息的数据发送包发送给待处理数据包的下一跳接收设备。
可选的,上述映射关系中的对应关系是通过以下方式获取到的:
接收数据处理策略配置操作,配置操作包括待配置的数据包标识;
响应于策略配置操作,向该策略配置操作的请求端展示可选策略信息,可选策略信息包括各候选数据处理节点或者各候选数据处理策略中的至少一项:
响应于针对可选策略信息的选择操作,根据选择操作对应的目标策略信息生成待配置的数据包标识对应的数据处理路径;
记录待配置的数据包标识及其对应的数据处理路径的对应关系。
可选的,第一数据包标识包括待处理数据包对应的网络流量多元组特征中的至少一项指定特征。数据处理模块可以用于:
对待处理数据包的报文头进行解析,得到报文头数据;提取所述报文头数据中待处理数据包对应的网络流量多元组特征;将网络流量多元组特征中至少一项指定特征,确定为待处理数据包的第一数据包标识。
本申请实施例的装置可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
本申请实施例中提供了一种电子设备(如资源池的网关),包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行存储器中存储的计算机程序时可实现本申请任一可选实施例中的方法。
其中,该电子设备还包括通信模块,该电子设备通过通信模块与资源池中的各数据处理节点进行通信,还可以通过该通信模块与资源池外的其他电子设备进行通信,接收资源池外的电子设备发送的待处理数据包,根据待处理数据包的数据包标识确定对应的目标处理路径,根据该路径控制待处理数据包依次经由资源池中该路径上的各个数据处理节点对数据包进行处理,在该路径上最后一个数据处理节点完成处理后,该电子设备还可以将数据包转出资源池。
图8示出了本发明实施例所适用的一种电子设备的结构示意图,如图8所示,该电子设备可以用于执行本发明任一实施例中提供的方法。
如图8中所示,该电子设备2000可以包括至少一个处理器2001(图8中示出了一个)、存储器2002、通信模块2003和输入/输出接口2004等组件,可选的,各组件之间可以通过总线2005实现连接通信。需要说明的是,图8中示出的该电子设备2000的结构只是示意性的,并不构成对本申请实施例提供的方法所适用的电子设备的限定。
其中,存储器2002可以用于存储操作系统和应用程序等,应用程序可以包括在被处理器2001调用时实现本发明实施例所示方法的计算机程序,还可以包括用于实现其他功能或服务的程序。存储器2002可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和计算机程序的其他类型的动态存储设备,也可以是EEPROM(ElectricallyErasable Programmable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(CompactDisc Read Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
处理器2001通过总线2005与存储器2002连接,通过调用存储器2002中所存储的应用程序实现相应的功能。其中,处理器2001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application Specific Integrated Circuit,专用集成电路),FPGA(FieldProgrammable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合,其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
电子设备2000可以通过通信模块2003(可以包括但不限于网络接口等组件)连接到网络,以通过网络与其它设备(如用户终端或服务器等)的通信,实现数据的交互,如向其他设备发送数据或从其他设备接收数据。其中,通信模块2003可以包括有线网络接口和/或无线网络接口等,即通信模块可以包括有线通信模块或无线通信模块中的至少一项。
电子设备2000可以通过输入/输出接口2004可以连接所需要的输入/输出设备,如键盘、显示设备等,电子设备2000自身可以具有显示设备,还可以通过接口2004外接其他显示设备。可选的,通过该接口2004还可以连接存储装置,如硬盘等,以可以将电子设备2000中的数据存储到存储装置中,或者读取存储装置中的数据,还可以将存储装置中的数据存储到存储器2002中。可以理解的,输入/输出接口2004可以是有线接口,也可以是无线接口。根据实际应用场景的不同,与输入/输出接口2004连接的设备,可以是电子设备2000的组成部分,也可以是在需要时与电子设备2000连接的外接设备。
用于连接各组件的总线2005可以包括一通路,在上述组件之间传送信息。总线2005可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。根据功能的不同,总线2005可以分为地址总线、数据总线、控制总线等。
可选的,对于本发明实施例所提供的方案而言,存储器2002可以用于存储执行实现本申请实施例提供的方法的计算机程序,并由处理器2001来运行,处理器2001运行该计算机程序时实现本发明实施例提供的方法或装置的动作。
基于与本申请实施例提供的方法相同的原理,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的相应内容。
本申请实施例还提供了一种计算机程序产品,该产品包括计算机程序,该计算机程序被处理器执行时可实现前述方法实施例的相应内容。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。
Claims (17)
1.一种数据处理方法,其特征在于,所述方法包括:
接收待处理数据包,确定所述待处理数据包的第一数据包标识;
根据所述第一数据包标识,确定所述待处理数据包在资源池中对应的目标处理路径,所述资源池中包括多个数据处理节点,每个数据处理节点对应至少一种数据处理策略,所述目标处理路径为所述资源池中的至少一个数据处理节点的节点标识构成的路径;
记录所述目标处理路径对应的地址信息,所述地址信息包括所述目标处理路径中的各节点标识在该路径中的顺序信息、以及所述各节点标识对应的各个数据处理节点的地址;
根据所述顺序信息对应的第一个节点标识的地址,将所述地址信息和所述待处理数据包发送给对应的数据处理节点,以由该数据处理节点根据节点对应的数据处理策略对所述待处理数据包进行处理,并根据所述地址信息,将处理后的数据包和所述地址信息发送给所述目标处理路径上的下一个数据处理节点,以使得所述待处理数据包被所述目标处理路径上的各数据处理节点依次进行处理。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一数据包标识,确定所述待处理数据包在资源池中对应的目标处理路径,包括:
获取预配置的映射关系,所述映射关系为至少一个第二数据包标识中的各标识与其在所述资源池中对应的处理路径的对应关系;
根据所述第一数据包标识和所述映射关系,确定所述映射关系中与所述第一数据包标识相匹配的第二数据包标识对应的候选处理路径;
根据确定出的候选处理路径,确定所述待处理数据包对应的目标处理路径。
3.根据权利要求2所述的方法,其特征在于,所述资源池为安全资源池,所述安全资源池中的每个数据处理节点为安全检测节点,每个所述安全检测节点具备至少一种安全检测能力;
所述方法还包括:
对所述待处理数据包的报文头进行解析,获取所述待处理数据包对应的安全标签,所述安全标签表征了所述待处理数据包对应的安全检测策略;
所述根据确定出的候选处理路径,确定所述待处理数据包对应的目标处理路径,包括:
将所述候选处理路径中满足所述安全标签的处理路径,确定为所述目标处理路径。
4.根据权利要求3所述的方法,其特征在于,若所述映射关系中不存在与所述第一数据包标识相匹配的第二数据包标识,或者所述候选处理路径中不存在满足所述安全标签的处理路径,所述方法还包括:
根据所述安全标签,从所述安全资源池的各安全检测节点中确定满足所述安全标签的至少一个安全检测节点、以及所述至少一个安全检测节点中的各节点对应的检测顺序;
基于确定出的对应于所述检测顺序的至少一个安全检测节点,确定所述待处理数据包对应的目标处理路径。
5.根据权利要求4所述的方法,其特征在于,若所述候选处理路径中不存在满足所述安全标签的处理路径,所述基于确定出的对应于所述检测顺序的至少一个安全检测节点,确定所述待处理数据包对应的目标处理路径,包括:
将所述候选处理路径中满足预设条件的路径作为初始目标路径;
通过融合所述初始目标路径和确定出的对应于所述检测顺序的至少一个安全检测节点,得到所述待处理数据包对应的目标处理路径。
6.根据权利要求1所述的方法,其特征在于,所述资源池为安全资源池,所述安全资源池中的每个数据处理节点为安全检测节点,每个所述安全检测节点具备至少一种安全检测能力;
所述方法还包括:
对所述待处理数据包的报文头进行解析,获取所述待处理数据包对应的安全标签,所述安全标签表征了所述待处理数据包对应的安全检测策略;
所述根据所述第一数据包标识,确定所述待处理数据包在资源池中对应的目标处理路径,包括:
根据所述待处理数据包对应的安全标签,从所述安全资源池中确定出该安全标签对应的目标安全子池,其中,不同的目标安全子池对应不同的安全标签;
根据所述第一数据包标识,从所述目标安全子池中确定出满足所述安全标签的目标处理路径。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
确定所述待处理数据包的优先级;
所述确定所述待处理数据包在资源池中对应的目标处理路径,包括:
根据所述第一数据包标识和所述优先级,确定所述待处理数据包在资源池中对应的目标处理路径。
8.根据权利要求2至6中任一项所述的方法,其特征在于,所述映射关系中的对应关系是通过以下方式获取到的:
接收数据处理策略配置操作,所述配置操作包括待配置的数据包标识;
响应于所述策略配置操作,向所述策略配置操作的请求端展示可选策略信息,所述可选策略信息包括各候选数据处理节点或者各候选数据处理策略中的至少一项:
响应于针对所述可选策略信息的选择操作,根据所述选择操作对应的目标策略信息生成所述待配置的数据包标识对应的数据处理路径;
记录所述待配置的数据包标识及其对应的数据处理路径的对应关系。
9.根据权利要求1所述的方法,其特征在于,所述记录所述目标处理路径对应的地址信息,包括:
将所述各节点标识对应的各个数据处理节点的地址,按照所述顺序信息记录到所述待处理数据包中,得到第一数据包;
所述将所述地址信息和所述待处理数据包发送给对应的数据处理节点,包括:将所述第一数据包发送给对应的数据处理节点;
所述根据节点对应的数据处理策略对待处理数据包进行处理,并根据所述地址信息,将处理后的数据包和所述地址信息发送给所述目标处理路径上的下一个数据处理节点,包括:
根据节点对应的数据处理策略对接收到的数据包进行处理,得到处理后的第二数据包,并将所述第二数据包发送给下一个数据处理节点,所述第二数据包中携带有所述地址信息。
10.根据权利要求9所述的方法,其特征在于,所述待处理数据包是基于IPv6数据平面的分段路由SRv6协议的数据包;
所述将所述各节点标识对应的各个数据处理节点的地址,按照所述顺序信息记录到所述待处理数据包中,包括:
按照所述顺序信息,将所述各节点标识对应的各个数据处理节点的地址依次写入到所述待处理数据包的段列表字段中;
所述将所述第二数据包发送给下一个数据处理节点,包括:
根据所述段列表字段中记录的所述各个数据处理节点的地址,确定当前数据处理节点对应的下一个数据处理节点的地址;
根据确定出的地址,将所述第二数据包发送给下一个数据处理节点。
11.根据权利要求1至6中任一项所述的方法,其特征在于,所述根据所述第一数据包标识,确定所述待处理数据包在资源池中对应的目标处理路径,包括:
确定所述待处理数据包的数据包类型;
在所述数据包类型为指定类型时,根据所述第一数据包标识,确定所述待处理数据包对应的目标处理路径。
12.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法包括:
接收所述目标处理路径对应的最后一个数据处理节点发送的处理后的数据包,删除接收到的数据包中携带的所述地址信息,将删除了所述地址信息的数据包发送给所述待处理数据包的下一跳接收设备;
或者,
所述目标处理路径中的最后一个数据处理节点在根据节点对应的数据处理策略对接收到的数据包进行处理后,还执行以下操作:
删除处理后的数据包中的所述地址信息,将删除了所述地址信息的数据发送包发送给所述待处理数据包的下一跳接收设备。
13.根据权利要求1至6中任一项所述的方法,其特征在于,所述确定所述待处理数据包的第一数据包标识,包括:
对所述待处理数据包的报文头进行解析,得到报文头数据;
提取所述报文头数据中所述待处理数据包对应的网络流量多元组特征;
将所述网络流量多元组特征中至少一项指定特征,确定为所述待处理数据包的第一数据包标识。
14.一种数据处理装置,其特征在于,包括:
数据接收模块,用于接收待处理数据包;
数据处理模块,用于确定所述待处理数据包的第一数据包标识,根据所述第一数据包标识,确定所述待处理数据包在资源池中对应的目标处理路径,所述资源池中包括多个数据处理节点,每个数据处理节点对应至少一种数据处理策略,所述目标处理路径为所述资源池中的至少一个数据处理节点的节点标识构成的路径;
所述数据处理模块,还用于记录所述目标处理路径对应的地址信息,所述地址信息包括所述目标处理路径中的各节点标识在该路径中的顺序信息、以及所述各节点标识对应的各个数据处理节点的地址;
数据转发模块,用于根据所述顺序信息对应的第一个节点标识的地址,将所述地址信息和所述待处理数据包发送给对应的数据处理节点,以由该数据处理节点根据节点对应的数据处理策略对所述待处理数据包进行处理,并根据所述地址信息,将处理后的数据包和所述地址信息发送给所述目标处理路径上的下一个数据处理节点,以使得所述待处理数据包被所述目标处理路径上的各数据处理节点依次进行处理。
15.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序以实现权利要求1至13中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至13中任一项所述的方法。
17.一种计算机程序产品,其特征在于,所述计算机产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210323482.9A CN116939035A (zh) | 2022-03-29 | 2022-03-29 | 数据处理方法、装置、电子设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210323482.9A CN116939035A (zh) | 2022-03-29 | 2022-03-29 | 数据处理方法、装置、电子设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116939035A true CN116939035A (zh) | 2023-10-24 |
Family
ID=88374030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210323482.9A Pending CN116939035A (zh) | 2022-03-29 | 2022-03-29 | 数据处理方法、装置、电子设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116939035A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117112451A (zh) * | 2023-10-25 | 2023-11-24 | 腾讯科技(深圳)有限公司 | 测试方法、装置、电子设备及计算机可读存储介质 |
CN117938750A (zh) * | 2024-03-22 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 调度路由信息的处理方法、装置、设备、存储介质及产品 |
-
2022
- 2022-03-29 CN CN202210323482.9A patent/CN116939035A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117112451A (zh) * | 2023-10-25 | 2023-11-24 | 腾讯科技(深圳)有限公司 | 测试方法、装置、电子设备及计算机可读存储介质 |
CN117112451B (zh) * | 2023-10-25 | 2024-02-09 | 腾讯科技(深圳)有限公司 | 测试方法、装置、电子设备及计算机可读存储介质 |
CN117938750A (zh) * | 2024-03-22 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 调度路由信息的处理方法、装置、设备、存储介质及产品 |
CN117938750B (zh) * | 2024-03-22 | 2024-06-07 | 腾讯科技(深圳)有限公司 | 调度路由信息的处理方法、装置、设备、存储介质及产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10158561B2 (en) | Data plane learning of bi-directional service chains | |
CN109981457B (zh) | 一种报文处理的方法、网络节点和系统 | |
CN113507417B (zh) | 报文处理方法、相关设备及计算机存储介质 | |
EP3012999B1 (en) | Method, apparatus and system for creating virtual interfaces based on network characteristics | |
US11368386B2 (en) | Centralized error telemetry using segment routing header tunneling | |
US20170359252A1 (en) | Techniques for efficient service chain analytics | |
CN102461089B (zh) | 用于使用标签进行策略执行的方法和设备 | |
CN110401599B (zh) | 数据包的处理方法及装置、存储介质、电子装置 | |
CN116939035A (zh) | 数据处理方法、装置、电子设备以及存储介质 | |
WO2005031533A2 (en) | Model-based method and apparatus for determining mpls network properties | |
CN111131021B (zh) | 双向转发检测bfd报文的转发方法和网络设备 | |
WO2021088433A1 (zh) | 一种报文的处理方法,装置和系统 | |
US7720003B2 (en) | Model-based method and apparatus for determining MPLS network properties | |
Kim et al. | Safe data transmission architecture based on cloud for Internet of Things | |
US11863454B2 (en) | Systems and methods for scalable validation of multiple paths in a network using segment routing | |
US10594604B1 (en) | End to end application identification and analytics of tunnel encapsulated traffic in the underlay | |
US9356876B1 (en) | System and method for classifying and managing applications over compressed or encrypted traffic | |
JP7446489B2 (ja) | インサイチュフロー検出方法及び電子デバイス | |
CN110808924A (zh) | 芯片环回报文处理方法、装置及存储介质 | |
CN114422160B (zh) | 一种虚拟防火墙的设置方法、装置、电子设备和存储介质 | |
CN113726652B (zh) | 一种通告信息的处理方法、装置及存储介质 | |
US20230261963A1 (en) | Underlay path discovery for a wide area network | |
CN114285907B (zh) | 数据传输方法、装置、电子设备及存储介质 | |
CN108574637B (zh) | 一种地址自学习的方法、装置及交换机 | |
CN109327389B (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 |