CN112134929A - 一种会话报文分析方法、装置及存储介质 - Google Patents
一种会话报文分析方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112134929A CN112134929A CN202010884192.2A CN202010884192A CN112134929A CN 112134929 A CN112134929 A CN 112134929A CN 202010884192 A CN202010884192 A CN 202010884192A CN 112134929 A CN112134929 A CN 112134929A
- Authority
- CN
- China
- Prior art keywords
- message
- kafka
- session
- cluster
- collector
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- 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
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
本公开提供了一种会话报文分析方法、装置及存储介质,用于解决将部分分析公开均衡到采集器集群的技术问题。本公开实施例通过在采集器集群中部署Kafka集群,将会话报文从报文流中分离出来,将同一会话的报文导入到同一个采集器中进行分析处理,再将分析结果传递给分析器进行进一步处理。通过该方案可以将分析器的部分分析功能卸载到采集器上,充分利用采集器的计算资源,从而提高整个报文分析***的性能。
Description
技术领域
本公开涉及通信及数据分析技术领域,尤其涉及一种会话报文分析方法、装置及存储介质。
背景技术
远距离测量技术,例如Telemetry技术,是一项远程的从物理设备或虚拟设备上高速采集数据的技术,在网络运维中,各网络设备,例如交换机、路由器等,通过远距离测量技术上报流量数据(如基于远程封装交换机端口分析Encapsulated Remote Switch PortAnalyzer,ERSPAN协议镜像的TCP报文等)和性能Metrics数据(如基于谷歌远程过程调用Google Remote Procedure Call,GRPC协议上报的接口流量等)。
图1为远距离测量技术的组网原理示意图,采集器集群负责收集网络设备上报的通过远距离测量技术,例如Telemetry技术,上报的报文,并将收到的报文打包发送给分析器进行分析。分析器集群接收来自采集器上送的数据,并对不同的数据类型执行相应的分析处理,例如:计算报文的转发路径、转发时延、链路时延等,完成应用交互关系分析,实现应用和网络路径的关联;基于AI算法对部分性能Metrics数据建立动态基线并进行异常检测;预测光模块的故障概率等等,并进行统计分析、呈现。
在TCP流分析中,一条TCP连接的建立需要经过三次握手,连接关闭需要经过四次挥手。为了监控网络中应用之间TCP的建链拆链,需要将TCP协议中的同步SYN、结束FIN、复位RST等报文镜像到采集器上。
可以看出,大量分析工作在分析器上运行(如获取TCP流的报文转发路径、计算报文转发时延、分析TCP会话异常、进行应用分析等),容易形成性能瓶颈。而采集器仅仅只是打包转发,其处理性能被大量浪费。
发明内容
有鉴于此,本公开提供一种会话报文分析方法、装置及存储介质,用于解决分析器负载过重,采集器资源利用率不高的技术问题。
基于本公开一实施例,本公开提供了一种会话报文分析方法,该方法应用于配置有Kafka集群的采集器集群中,所述方法包括:
采集器集群中的采集器作为Kafka集群的生产者,在接收到会话报文时,将会话封装成Kafka消息,并以重定向主题发送给采集器上的Kafka集群的代理,所述Kafka消息的关键字由所述会话报文的五元组生成;
Kafka集群中的代理接收到重定向主题的Kafka消息时,基于Kafka消息中的关键字与分区的映射关系,将Kafka消息发送到与关键字对应的分区中,以使属于同一会话的报文被传送给同一采集器;
采集器作为消费者从指定分区中获取Kafka消息,对其中存储的属于同一会话的会话报文进行分析,并将分析结果传送给分析器集群。
进一步地,在本公开一实施例中,所述方法还包括:
在所述采集器集群与分析器集群之间还布置有第二Kafka集群;
所述采集器接收到报文后根据报文头部的类型字段鉴别所接收的报文是否为会话报文,当接收到会话报文时,执行所述会话报文封装为Kafka消息的步骤;当接收到非会话报文时,所述采集器直接通过非会话主题写入所述第二Kafka集群;
所述采集器通过会话主题将所述分析结果写入所述第二Kafka集群;
所述分析器集群中的分析器通过所述第二Kafka集群获取所述非会话主题下的报文和会话主题下的分析结果。
进一步地,在本公开一实施例中,所述五元组包括源地址、目的地址、协议类型、原端口、目的端口,在生成所述关键字之前,对所述源地址和目的地址的位置进行调整,以使得这两个地址按大小顺序排列。
进一步地,在本公开一实施例中,所述Kafka消息中的关键字与分区的映射关系通过关键字的哈希值与分区数取模来获得。
进一步地,在本公开一实施例中,在所述重定向主题下,为所述采集器集群中的每一个采集器配置不同的分区,通过关键字与分区的映射关系,将包含会话报文的Kafka消息分散均衡地写入到位于不同采集器的分区中;多个采集器分别从不同的分区中获取属于同一会话的报文并对会话报文进行分析。
基于本公开的另一实施例,本公开还提供了一种会话报文分析装置,该装置应用于配置有Kafka集群的采集器集群中采集器中,所述装置包括:
会话报文重定向模块,用于在接收到会话报文时,将会话封装成Kafka消息,并以重定向主题发送给Kafka集群的代理,所述Kafka消息的关键字由所述会话报文的五元组生成;
Kafka代理模块,用于在接收到重定向主题的Kafka消息时,基于Kafka消息中的关键字与分区的映射关系,将Kafka消息发送到与关键字对应的分区中,以使属于同一会话的报文被传送给同一采集器;
分析模块,用于从指定分区中获取Kafka消息,对其中存储的属于同一会话的会话报文进行分析,并将分析结果传送给分析器集群。
进一步地,所述会话报文重定向模块接收到报文后,根据报文头部的类型字段鉴别所接收的报文是否为会话报文,当接收到会话报文时,执行所述会话报文的Kafka消息封装处理;当接收到非会话报文时,直接通过非会话主题写入位于所述采集器集群与分析器集群之间的第二Kafka集群;
所述分析模块通过会话主题将所述分析结果写入所述第二Kafka集群,使得所述分析器集群中的分析器通过所述第二Kafka集群获取所述非会话主题下的报文和会话主题下的分析结果。
进一步地,所述五元组包括源地址、目的地址、协议类型、原端口、目的端口,在生成所述关键字之前,对所述源地址和目的地址的位置进行调整,以使得这两个地址按大小顺序排列。
进一步地,所述Kafka消息中的关键字与分区的映射关系通过关键字的哈希值与分区数取模来获得。
本公开实施例通过在采集器集群中部署Kafka集群,将会话报文从报文流中分离出来,将同一会话的报文导入到同一个采集器中进行分析处理,再将分析结果传递给分析器进行进一步处理。通过该方案可以将分析器的部分分析功能卸载到采集器上,充分利用采集器的计算资源,从而提高整个报文分析***的性能。
附图说明
为了更加清楚地说明本公开实施例或者现有技术中的技术方案,下面将对本公开实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本公开实施例的这些附图获得其他的附图。
图1为远距离测量技术的组网原理示意图;
图2为一个典型的由Kafka集群及相关组件构成的分布式消息***的结构示意图;
图3为本公开一实施例提供的会话报文分析方法的步骤流程图;
图4为本公开一实施例提供的会话报文处理流程示意图;
图5为Kafka消息格式示意图;
图6为本公开一实施例提供的一种会话报文分析装置结构示意图;
图7为本公开一实施例提供的一种会话报文分析设备结构示意图。
具体实施方式
在本公开实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本公开实施例。本公开实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。本公开中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了提高远距离报文监测分析的整体性能,本公开提供了一种会话Session报文分析方法,该方法将一部分分析功能卸载到采集器上运行,例如在对TCP的流分析中,将TCP会话分析转移到采集器上进行。为实现该目的,采集器集群需对外提供一个统一的IP地址,各采集器上使能路由协议,发布统一的IP地址,形成等价多路径(Equal-Cost Multi-Path,ECMP)路由。这样网络设备在镜像TCP协议报文给采集器时,会通过ECMP方式发送给采集器集群,同一个会话的报文经过不同设备,可能会被Hash后转发给不同的采集器。然而针对TCP会话分析,又要求来自与同一个Session的报文都送给同一个采集器分析,显然在处理逻辑上会导致冲突,因此这是本领域技术人员需要克服的一个技术困难。
为解决上述问题,本公开发明人通过分析研究,创造性地提出了一种会话报文分析方法,该发明的基本思路是在配置ECMP路由的采集器集群中布置分布式发布订阅消息***,例如Kafka,通过分布式发布订阅消息***将会话报文分离出来,并根据会话报文的五元组信息将属于同一会话的报文导入到同一个采集器上,由该采集器进行会话报文分析后将分析结果传送给分析器。通过这种方法,可以将session分析功能卸载到采集器集群上处理,极大提升了整个报文分析***的处理性能。
Kafka是一种基于发布/订阅的分布式消息***,具有以下特性:可实现消息的快速持久化;具有高吞吐率,例如在一台普通的服务器上可以实现10W/s的吞吐速率;具有完全的分布式***架构,Kafka集群的代理Broker、生产者Producer、消费者Consumer等都原生自动支持分布式,自动实现负载均衡;通过Hadoop的并行加载机制统一了在线和离线的消息处理。
图2为一个典型的由Kafka集群及相关组件构成的分布式消息***的结构示意图,典型Kafka集群中包含若干producer(生产者)、若干broker(代理)(Kafka集群包含一个或多个服务器,这种服务器被称为broker)、若干consumer group(消费者组)以及一个Zookeeper集群。Kafka通过Zookeeper管理集群配置,producer使用推送push模式将消息发布到broker,consumer使用拉取pull模式从broker订阅并消费消息。Kafka的消息队列降低了进程间的耦合度,所以即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在***恢复后被处理。
每条发布到Kafka Cluster的消息都有一个类别,这个类别被称为主题Topic,每个Topic包含一个或多个Partition。Producer发送消息到broker时,可以指定这条消息的关键字key,Producer根据这个key和Partition机制来判断应该将这条消息存储到哪一个Partition,这样就实现了负载均衡。不同的消息可以并行写入不同broker的不同Partition里,极大的提高了吞吐率。
图3为本公开一实施例提供的会话报文分析方法的步骤流程图,该方法应用于采用等价多路径ECMP路由的采集器集群中,在采集器集群中配置有Kafka集群,该方法包括:
步骤301.采集器作为Kafka集群的生产者,在接收到会话报文时,将会话封装成Kafka消息,并以重定向主题发送给采集器上的Kafka集群的代理;所述Kafka消息的关键字由所述会话报文的五元组生成;
本公开实施例中,在采集器集群中布置Kafka集群,布置的方式可以是在一个或多个采集器上布置Kafka的代理Broker,通过Zookeeper进行配置,使采集器即作为Kafka集群的生产者Producer也作为消费者Consumer。在Kafka集群上建立两类主题Topic,一类主题对应非会话报文,一类主题对应会话报文,该步骤中对应会话报文的主题为重定向主题Redirect Topic。
采集器接收到报文后根据报文头部的类型字段,例如TCP协议的报文类型同步SYN、结束FIN、复位RST等,鉴别所接收的报文是否为会话报文,当接收到会话报文时,提取会话报文中的五元组(源地址、目的地址、协议类型、原端口、目的端口)生成Kafka消息中的关键字key值,将会话报文作为Kafka消息的值Value字段,将会话报文封装为Kafka消息,然后以重定向主题将会话报文发送给该采集器上的Kafka集群的代理。
步骤302.Kafka集群中的代理接收到重定向主题的Kafka消息时,基于Kafka消息中的关键字与分区的映射关系,将Kafka消息发送到与关键字对应的分区中,以使属于同一会话的报文被传送给同一采集器;
由于属于同一会话的多个会话报文经ECMP路由后,可能会被分配给不同的采集器进行处理,但为了对属于同一会话的会话报文进行集中分析,需要将属于同一会话的会话报文发送给同一采集器进行分析,因此,本公开各采集器上的代理在收到重定向主题的Kafka消息时,基于关键字key值将Kafka消息转发到该消息key值映射的分区partition,这样处理即可使得属于同一会话的报文都存储相同的分区中,从而达到使得属于同一会话的报文被传送给同一采集器进行分析的目的。
假设在第一采集器上,Kafka代理根据key值映射的分区判定该分区所在的采集器就是第一采集器,则第一采集器既是生产者又是消费者;当根据key值映射的分区不在第一采集器时,则需要将接收到的Kafka消息转发到第二采集器上的分区中,这样第一采集器为生产者,第二采集器为消费者。
步骤303.采集器作为消费者从指定分区中获取Kafka消息,对其中存储的属于同一会话的会话报文进行分析,并将分析结果发送给分析器集群。
本公开实施例中,Kafka仅是发布/订阅的分布式消息***中的一种,本领域技术人员可以理解的是,所有能够实现Kafka在本公开实施例中所发挥功能的组件、模块或***,都应属于本公开的等同替换的实现。
在本公开实施中,为了描述简洁起见,将需要集中到同一个采集器进行分析处理的报文简称会话报文,但本领域技术人员可以理解,这一简称并非将本公开的保护范围仅限制于会话Session报文。
图4为本公开一实施例提供的会话报文处理流程示意图,该实施例中,部署有两个Kafka集群,第一Kafka集群部署在采集器集群中,第一Kafka集群的生产者Producer和消费者Consumer都在这组采集器集群中。在第一Kafka集群配置Redirect Topic主题,那些必须集中到同一个采集器上进行分析处理的会话报文将封装为消息写入Redirect Topic的分区中。
第二Kafka集群部署在采集器集群与分析器集群之间,该Kafka集群的Producer为采集器,Broker布置在分析器上,Consumer为分析器。采集器将收到的非会话报文解析封装后以Pkt topic写入第二Kafka集群的分区中,分析器基于与Pkt Topic分区的映射关系获取Pkt Topic下的非会话报文进行分析。
图5为Kafka消息格式示意图,Kafka消息主要字段包括key和value。Kafkaproducer发送消息时,如果指定key,这个key的作用是为消息选择存储分区。当指定key且不为空的时候,kafka根据key与分区Partition的映射关系,例如key的hash值与分区(partition)数取模,来确定消息存储到哪个Topic的哪个分区里,当key为Null时,Kafka随机选择一个分区进行存储。
步骤401.当采集器接收到报文后,根据报文类型字段的内容区分报文是否是必须集中到同一个采集器处理的报文(简称会话报文),例如进行TCP Session分析的报文,在该实施例中,如果是会话报文,则将会话报文的五元组提取出来作为Kafka消息的关键字key,将会话报文封装成Kafka消息,并以Redirect Topic重定向主题发送给第一采集器上的Kafka集群的代理。
具体地,通过五元组生成Kafka消息关键字key的方式可以为:将报文五元组(源地址Sip,目的地址Dip,协议类型ProtoType,源端口Sport,目的端口Dport)做源/目的调整,保障Sip<Dip,然后使用循环冗余校验(Cyclic Redundancy Check,CRC)对调整后的五元组进行校验生成Kafka消息的key。通过这种方式处理后,同一个session的报文生成的key值都相同,从而保证同一会话的报文都会被置入Redirect Topic下的同一分区Partition当中。
如果采集器接收到的报文为不需要集中到同一个采集器处理的报文,则直接通过pkt topic写入第二Kafka集群,通过第二Kafka集群传递给分析器集群进行处理。
步骤402.第一Kafka集群中的Broker代理接收到Redirect Topic重定向主题的Kafka消息时,基于Kafka消息中的关键字与分区的映射关系,将Kafka消息发送给与key对应的分区所在的采集器上,以使属于同一会话的报文被传送给同一采集器;
该实施例中,第一Kafka集群中的Broker接收到Redirect Topic主题的消息后,根据Key的哈希hash值与分区Partition的个数取模来确定数据存储到位于哪个采集器的分区中,由于同一个TCP session的报文其key值相同,因此可以保障同一个Session的报文被分配到同一个采集器上处理。
该实施例中,可在Redirect Topic主题下,为采集器集群中的每一个采集器配置不同的Partition,通过key与Partition的映射关系,可以将包含会话报文的Kafka消息分散均衡地写入到位于不同采集器的分区中,多个采集器分别从不同的分区中获取属于同一会话的报文并对会话报文进行分析,从而实现会话报文分析在多个采集器的负载分担,提高整个***的分析处理性能。
步骤403.采集器作为消费者从第一Kafka集群Redirect Topic主题下的指定分区中获取Kafka消息,对其中存储的属于同一会话的会话报文进行分析,并将分析结果发送给分析器集群。
采集器通过Kafka获取这些协议报文,来自于同一个session集中在同一个采集器处理,据此可以对session应用会话进行跟踪分析。如获取TCP流的报文转发路径、计算报文转发时延、分析TCP会话异常等。采集器得到的分析结果通过Session Topic主题写入第二kafka集群,通过第二kafka集群将分析结果传递给分析器做进一步处理。
随着分析业务量的逐渐增加,采集器和分析器实现集群管理现实的需求也是未来的趋势,然而,由于分析器集群和采集器集群之间的计算需求的不均衡,容易导致分析器的处理性能成为瓶颈,而采集器的性能则被大大浪费。本公开实施例通过在采集器集群中部署Kafka集群,将会话报文从报文流中分离出来,将同一会话的报文导入到同一个采集器中进行分析处理,再将分析结果传递给分析器进行进一步处理。通过该方案可以将分析器的部分分析功能卸载到采集器上,充分利用采集器的计算资源,从而提高整个报文分析***的性能。
图6为本公开一实施例提供的一种会话报文分析装置结构示意图,该装置中的各功能模块可以采用软件模块形式实现,也可以采用硬件单元方式实现。该装置的各模块的功能与本公开实施提供的回话报文分析方法中的各步骤具有对应关系。该装置中的各模块可以在一个硬件设备上执行,也可以由不同的硬件设备分别实施本公开提供的方法中的一个或多个步骤或模块功能。该装置应用于配置有Kafka集群的采集器集群中采集器中,该装置600包括:
会话报文重定向模块601,用于在接收到会话报文时,将会话封装成Kafka消息,并以重定向主题Redirect Topic发送给Kafka集群的代理,所述Kafka消息的关键字由所述会话报文的五元组生成;
Kafka代理模块602,用于在接收到重定向主题的Kafka消息时,基于Kafka消息中的关键字与分区的映射关系,将Kafka消息发送到与关键字对应的分区中,以使属于同一会话的报文被传送给同一采集器;
分析模块603,用于从指定分区中获取Kafka消息,对其中存储的属于同一会话的会话报文进行分析,并将分析结果传送给分析器集群。其中,会话报文重定向模块601接收到报文后,根据报文头部的类型字段鉴别所接收的报文是否为会话报文,当接收到会话报文时,执行所述会话报文的Kafka消息封装处理;当接收到非会话报文时,直接通过非会话主题Pkt Topic写入位于采集器集群与分析器集群之间的第二Kafka集群;
分析模块603通过会话主题Session Topic将所述分析结果写入所述第二Kafka集群,使得所述分析器集群中的分析器通过所述第二Kafka集群获取所述非会话主题下的报文和会话主题下的分析结果。
其中,五元组包括源地址、目的地址、协议类型、原端口、目的端口,在生成所述关键字之前,对所述源地址和目的地址的位置进行调整,以使得这两个地址按大小顺序排列。
在一实施例中,Kafka消息中的关键字与分区的映射关系通过关键字的哈希值与分区数取模来获得。
图7为本公开一实施例提供的一种会话报文分析设备结构示意图,该设备700包括:诸如中央处理单元(CPU)的处理器710、内部总线720、网络接口740以及计算机可读存储介质730。其中,处理器710与计算机可读存储介质730可以通过内部总线720相互通信。计算机可读存储介质730内可存储本公开提供的用于实施会话报文分析方法的计算机程序,当计算机程序被处理器710执行时即可实现本公开提供的方法的各步骤功能。
以上所述仅为本公开的实施例而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种会话报文分析方法,其特征在于,该方法应用于配置有Kafka集群的采集器集群中,所述方法包括:
采集器集群中的采集器作为Kafka集群的生产者,在接收到会话报文时,将会话封装成Kafka消息,并以重定向主题发送给采集器上的Kafka集群的代理,所述Kafka消息的关键字由所述会话报文的五元组生成;
Kafka集群中的代理接收到重定向主题的Kafka消息时,基于Kafka消息中的关键字与分区的映射关系,将Kafka消息发送到与关键字对应的分区中,以使属于同一会话的报文被传送给同一采集器;
采集器作为消费者从指定分区中获取Kafka消息,对其中存储的属于同一会话的会话报文进行分析,并将分析结果传送给分析器集群。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述采集器集群与分析器集群之间还布置有第二Kafka集群;
所述采集器接收到报文后根据报文头部的类型字段鉴别所接收的报文是否为会话报文,当接收到会话报文时,执行所述会话报文封装为Kafka消息的步骤;当接收到非会话报文时,所述采集器直接通过非会话主题写入所述第二Kafka集群;
所述采集器通过会话主题将所述分析结果写入所述第二Kafka集群;
所述分析器集群中的分析器通过所述第二Kafka集群获取所述非会话主题下的报文和会话主题下的分析结果。
3.根据权利要求1所述的方法,其特征在于,
所述五元组包括源地址、目的地址、协议类型、原端口、目的端口,在生成所述关键字之前,对所述源地址和目的地址的位置进行调整,以使得这两个地址按大小顺序排列。
4.根据权利要求1所述的方法,其特征在于,
所述Kafka消息中的关键字与分区的映射关系通过关键字的哈希值与分区数取模来获得。
5.根据权利要求1所述的方法,其特征在于,
在所述重定向主题下,为所述采集器集群中的每一个采集器配置不同的分区,通过关键字与分区的映射关系,将包含会话报文的Kafka消息分散均衡地写入到位于不同采集器的分区中;多个采集器分别从不同的分区中获取属于同一会话的报文并对会话报文进行分析。
6.一种会话报文分析装置,其特征在于,该装置应用于配置有Kafka集群的采集器集群中采集器中,所述装置包括:
会话报文重定向模块,用于在接收到会话报文时,将会话封装成Kafka消息,并以重定向主题发送给Kafka集群的代理,所述Kafka消息的关键字由所述会话报文的五元组生成;
Kafka代理模块,用于在接收到重定向主题的Kafka消息时,基于Kafka消息中的关键字与分区的映射关系,将Kafka消息发送到与关键字对应的分区中,以使属于同一会话的报文被传送给同一采集器;
分析模块,用于从指定分区中获取Kafka消息,对其中存储的属于同一会话的会话报文进行分析,并将分析结果传送给分析器集群。
7.根据权利要求6所述的装置,其特征在于,
所述会话报文重定向模块接收到报文后,根据报文头部的类型字段鉴别所接收的报文是否为会话报文,当接收到会话报文时,执行所述会话报文的Kafka消息封装处理;当接收到非会话报文时,直接通过非会话主题写入位于所述采集器集群与分析器集群之间的第二Kafka集群;
所述分析模块通过会话主题将所述分析结果写入所述第二Kafka集群,使得所述分析器集群中的分析器通过所述第二Kafka集群获取所述非会话主题下的报文和会话主题下的分析结果。
8.根据权利要求6所述的装置,其特征在于,
所述五元组包括源地址、目的地址、协议类型、原端口、目的端口,在生成所述关键字之前,对所述源地址和目的地址的位置进行调整,以使得这两个地址按大小顺序排列。
9.根据权利要求6所述的装置,其特征在于,
所述Kafka消息中的关键字与分区的映射关系通过关键字的哈希值与分区数取模来获得。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序当被处理器执行时实现如权利要求1至5中任一项的方法步骤功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010884192.2A CN112134929B (zh) | 2020-08-28 | 2020-08-28 | 一种会话报文分析方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010884192.2A CN112134929B (zh) | 2020-08-28 | 2020-08-28 | 一种会话报文分析方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112134929A true CN112134929A (zh) | 2020-12-25 |
CN112134929B CN112134929B (zh) | 2022-05-27 |
Family
ID=73847168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010884192.2A Active CN112134929B (zh) | 2020-08-28 | 2020-08-28 | 一种会话报文分析方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112134929B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113364651A (zh) * | 2021-06-28 | 2021-09-07 | 浪潮云信息技术股份公司 | 一种新型分布式网络流量采集方法 |
CN114615355A (zh) * | 2022-05-13 | 2022-06-10 | 恒生电子股份有限公司 | 报文处理方法以及报文解析模块 |
CN115334013A (zh) * | 2022-08-12 | 2022-11-11 | 北京天融信网络安全技术有限公司 | 一种流量统计方法、网卡及电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101562784A (zh) * | 2008-04-14 | 2009-10-21 | 华为技术有限公司 | 报文分发方法、设备及*** |
CN103973809A (zh) * | 2014-05-22 | 2014-08-06 | 北京锐安科技有限公司 | 一种数据分发方法及*** |
CN104065741A (zh) * | 2014-07-04 | 2014-09-24 | 用友软件股份有限公司 | 数据采集***和数据采集方法 |
CN106980678A (zh) * | 2017-03-30 | 2017-07-25 | 温馨港网络信息科技(苏州)有限公司 | 基于zookeeper技术的数据分析方法及*** |
CN107992617A (zh) * | 2017-12-20 | 2018-05-04 | 广东工业大学 | 一种注塑成型装备大数据采集***及方法 |
CN108696389A (zh) * | 2018-04-24 | 2018-10-23 | 国家电网公司信息通信分公司 | 一种基于海量数据的网络流量及协议报文分析平台 |
CN109451072A (zh) * | 2018-12-29 | 2019-03-08 | 广东电网有限责任公司 | 一种基于Kafka的消息缓存***和方法 |
CN110232073A (zh) * | 2019-05-10 | 2019-09-13 | 中国联合网络通信集团有限公司 | 一种数据处理分析***及方法 |
CN111162938A (zh) * | 2019-12-24 | 2020-05-15 | 泰康保险集团股份有限公司 | 数据处理***及方法 |
-
2020
- 2020-08-28 CN CN202010884192.2A patent/CN112134929B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101562784A (zh) * | 2008-04-14 | 2009-10-21 | 华为技术有限公司 | 报文分发方法、设备及*** |
CN103973809A (zh) * | 2014-05-22 | 2014-08-06 | 北京锐安科技有限公司 | 一种数据分发方法及*** |
CN104065741A (zh) * | 2014-07-04 | 2014-09-24 | 用友软件股份有限公司 | 数据采集***和数据采集方法 |
CN106980678A (zh) * | 2017-03-30 | 2017-07-25 | 温馨港网络信息科技(苏州)有限公司 | 基于zookeeper技术的数据分析方法及*** |
CN107992617A (zh) * | 2017-12-20 | 2018-05-04 | 广东工业大学 | 一种注塑成型装备大数据采集***及方法 |
CN108696389A (zh) * | 2018-04-24 | 2018-10-23 | 国家电网公司信息通信分公司 | 一种基于海量数据的网络流量及协议报文分析平台 |
CN109451072A (zh) * | 2018-12-29 | 2019-03-08 | 广东电网有限责任公司 | 一种基于Kafka的消息缓存***和方法 |
CN110232073A (zh) * | 2019-05-10 | 2019-09-13 | 中国联合网络通信集团有限公司 | 一种数据处理分析***及方法 |
CN111162938A (zh) * | 2019-12-24 | 2020-05-15 | 泰康保险集团股份有限公司 | 数据处理***及方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113364651A (zh) * | 2021-06-28 | 2021-09-07 | 浪潮云信息技术股份公司 | 一种新型分布式网络流量采集方法 |
CN114615355A (zh) * | 2022-05-13 | 2022-06-10 | 恒生电子股份有限公司 | 报文处理方法以及报文解析模块 |
CN115334013A (zh) * | 2022-08-12 | 2022-11-11 | 北京天融信网络安全技术有限公司 | 一种流量统计方法、网卡及电子设备 |
CN115334013B (zh) * | 2022-08-12 | 2024-01-23 | 北京天融信网络安全技术有限公司 | 一种流量统计方法、网卡及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112134929B (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kfoury et al. | An exhaustive survey on p4 programmable data plane switches: Taxonomy, applications, challenges, and future trends | |
CN112134929B (zh) | 一种会话报文分析方法、装置及存储介质 | |
US11265218B2 (en) | Configuration management method and apparatus, and device | |
US10200251B2 (en) | Methods and apparatus for accessing selectable application processing of data packets in an adaptive private network | |
US9749226B2 (en) | Flow-based network switching system | |
US10044619B1 (en) | System and method for processing and forwarding transmitted information | |
EP3343840B1 (en) | Dynamic distribution of network entities among monitoring agents | |
EP3651440B1 (en) | Distributed load balancer | |
US9172756B2 (en) | Optimizing application performance in a network environment | |
US20170331741A1 (en) | Mac chaining load balancer | |
US10284460B1 (en) | Network packet tracing | |
CN112039796B (zh) | 数据包传输方法和装置、存储介质和电子设备 | |
Luo et al. | Enhancing responsiveness and scalability for OpenFlow networks via control-message quenching | |
JP2013090079A (ja) | アクセス中継方法及び装置 | |
CN112788060A (zh) | 数据包传输方法和装置、存储介质和电子设备 | |
US20230239326A1 (en) | Microservice-Based Service Mesh System and Service Oriented Architecture Governance Method | |
TW201737664A (zh) | 集群精確限速方法和裝置 | |
Miguel-Alonso | A research review of OpenFlow for datacenter networking | |
US11218394B1 (en) | Dynamic modifications to directional capacity of networking device interfaces | |
US11528187B1 (en) | Dynamically configurable networking device interfaces for directional capacity modifications | |
CN115277504B (zh) | 一种网络流量监控方法、装置和*** | |
US11811685B1 (en) | Selective packet processing including a run-to-completion packet processing data plane | |
Gusat et al. | R3C2: reactive route and rate control for CEE | |
Zha et al. | Towards software defined measurement in data centers: A comparative study of designs, implementation, and evaluation | |
Kumar et al. | quicSDN: Transitioning from TCP to QUIC for Southbound Communication in SDNs |
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 |