CN107508721A - 一种基于元数据的数据采集方法 - Google Patents

一种基于元数据的数据采集方法 Download PDF

Info

Publication number
CN107508721A
CN107508721A CN201710645987.6A CN201710645987A CN107508721A CN 107508721 A CN107508721 A CN 107508721A CN 201710645987 A CN201710645987 A CN 201710645987A CN 107508721 A CN107508721 A CN 107508721A
Authority
CN
China
Prior art keywords
tcp
analysis
flow
metadata
port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710645987.6A
Other languages
English (en)
Other versions
CN107508721B (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.)
Nanjing Yun Lee Software Technology Co Ltd
Original Assignee
Nanjing Yun Lee Software 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 Nanjing Yun Lee Software Technology Co Ltd filed Critical Nanjing Yun Lee Software Technology Co Ltd
Priority to CN201710645987.6A priority Critical patent/CN107508721B/zh
Publication of CN107508721A publication Critical patent/CN107508721A/zh
Application granted granted Critical
Publication of CN107508721B publication Critical patent/CN107508721B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions

Abstract

本发明公开了一种基于元数据的数据采集方法,使用一台设备替代分布式采集系统进行多点采集网络流量从而跟踪对比端到端的网络性能。在TCP/IP协议分析中增加了区分来自不同端口流量的能力,从而用一台高性能的智能分析采集器替代多台低速采集设备。本发明首先通过给每个物理端口的流量打入不同的二层标签,然后在逐层分析中使用这个标签用以区分来自于不同端口的流量。分析的结果以元数据的形式存入大数据分析平台,在大数据分析技术解决同一条流在数据传送中被修改后还能对比识别的难题。本发明公开的基于元数据的单点采集和大数据分析方法解决了网络性能分析中同一条TCP/UDP逻辑流被分成若干个物理TCP流后难以跟踪对比的难题。

Description

一种基于元数据的数据采集方法
技术领域
本发明属于信息技术领域,涉及一种网络上基于元数据的数据多点采集、单点分析的方法。
背景技术
从客户端发出一个网络请求到被数据库服务器接收,网络上的报文要历经千辛万苦才能从原点到达目的地。就以报文已经通过因特网到达数据中心为例,在数据中心里要经过边缘交换机,防火墙、入侵检测、核心交换机、路由器、负载平衡、网页应用防火墙、网页服务器、应用服务器、数据库安全检测,最后达到数据库服务器。任何一个环节出了问题,都会导致网络的传输性能受到影响,甚至网络不通。如何能实现端到端(end-to-end)的网络性能监测并及时发现任何一个环节出现的问题是一个梦寐以求的目标,这也是网络性能监测(Network Performance Monitoring)领域里一个没有解决好的问题。
网络性能监测可以用探针技术来解决。例如在手机上布探针,就能知道每一个从手机上发出的TCP连接的延迟。但探针只能在有限的情况下部署。例如:刷卡机、智能穿戴设备由于硬件条件所限,一般不支持布探针;网络安全设备、金融用的服务器一般也不容许第三方布探针。所以单靠软件探针布点是无法解决端到端的网络性能监测问题,更不用说在没有探针地方要监测网络性能了。
在数据中心里,通过光分流器或者交换机(路由器)的SPAN端口(镜像端口)把流量引出,再基于TCP/IP协议栈的分析也可以了解数据中心的网络性能。这种旁路分析不影响现有的网络和服务器,可以在数据中心里进行性能监测。Application-aware NPM(AA-NPM)0就是这样一种性能监测的思路,该方法正受到越来越多的关注。AA-NPM方法通过核心交换机SPAN端口把流量导出给能进行协议分析的iTAP(intelligent TAP)。iTAP在完成协议分析后,把有关协议的交易层信息以元数据(metadata)的形式输出给iMAP.这里iMAP(intelligent Metadata Analytic Platform)是一个大数据分析平台,支持对元数据描述的流量性能信息进行对比、关联、和分析,从而得出端到端的性能分析结果。由于是在网络上布点采集流量,布点的位置可以在数据中心里的任何位置。但是原有的方案需要多个iTAP设备。例如:防火墙前后、负载平衡前后、服务器前后等地方使用iTAP导出流量。这样就要为多个iTAP设备单独组建一个网络,例如:用一台交换机把多台iTAP的分析结果汇集、然后送入iMAP大数据分析平台。本发明用一台高性能的iTAP替代多台低速的iTAP,用于减少网络设备占有的空间和连线组网的复杂性,同时也便于iTAP的管理。
发明内容
本发明所要解决的技术难点是:多点采集网络流量时用一台高性能iTAP的多个物理端口来集中采集流量,然后在大数据分析平台上进行TCP流对比分析的问题。多台变一台后,在TCP流对比分析过程中需要解决以下两大新问题:
1)区分属于不同的监测点貌似一样的TCP流;
2)对比同一条TCP逻辑流被其它的网络设备分成若干个物理TCP流。
为解决上述技术问题本发明所采用的技术方案是:
1)对每一物理端口来的流量打上IEEE 802.1ad0的VLAN ID(VID)用于区分不同端口的流量,从而标记不同的采集点。
2)在TCP/IP协议分析中考虑二层VALN ID(VID),形成网络协议(链路层,网络层,传输层(L2/L3/L4)协议头一起分析用于区分不同端口的流量。
3)对于经过NAT的流量,考虑使用NAT日志来关联进入、进出的TCP流量。
4)对于经过Proxy的流量,使用DPI分析技术计算出应用层(七层)的特征信息来关联TCP(四层)的信息。
5)对于经过Proxy的流量,在没有应用层特征信息的情况下用TCP层报文体(payload)的的哈希值来关联TCP四层的信息。
6)借用网络层(L3)到应用层(L7)特征值的布尔表达式(逻辑与、或、非)提炼出基于元数据的大数据下的TCP层(L4)和应用层(L7)的性能分析技术。
在本发明中,多种技术要相互配合才能发挥作用。
·智能探点(iTAP)中使用IEEE 802.1ad标识好不同采集点来的流量
·TCP/IP协议栈要考虑二层的VLAN ID来构建哈希表做分析
·分析出的元数据要有足够的网络信息支持后续的大数据分析技术
·利用NAT日志来关联进、出的TCP/UDP流
·利用元数据中的应用层信息关联Proxy后的不同TCP/UDP流
·利用报文的哈希值关联Proxy后的不同TCP/UDP流
本发明的有益效果是:
本发明通过一台高性能的iTAP来代替多台低速的iTAP。实现多个采集点的流量直接从不同的物理端口进入一台高性能的iTAP,形成一个支持多点采集网络流量的单点分析方案时的要求,即:
1)一台直接汇聚流量的iTAP具有大流量高性能的分析能力。单台设备就能处理40G的流量以减少监控系统的成本和提高系统分析的稳定性。计算出的元数据要有足够的信息用于性能分析。
2)高性能iTAP要有能力区分貌似同一个TCP流来自于不同的物理端口,属于不同的监测点。假设,在一个交换机上把三个监控点的流量同时打入一个监控口的情况。如果服务器1和服务器2之间通讯,同样的TCP层的信息,即TCP的五元组:
(IPsrc,IPdst,Portsrc,Portdst,Protocol)
在连接服务器1的以太网交换机端口上被采集一次,在服务器2的以太网端口上再被采集一次(如图3所示)。这里IPsrc,IPdst,Portsrc,Portdst是TCP的四元组,代表源地址、目的地址、源端口、目的端口,这样在TCP层上就会看到两个一模一样的网络四层报文,会被认为是TCP的重传,丢掉其中的一个。这时如果要计算这两个端口的延迟就无法进行了。同样如果采集的流量来自于没有NAT的防火墙前后,类似的情况也会发生。
3)iMAP大数据分析平台要有能力对比几条不同TCP物理流属于同一个逻辑的TCP流。这个情况和上面情况相反:当网络设备对TCP流做了转换时,例如:防火墙可以做NAT,负载平衡可以做Proxy,这是流进、流出网络设备的TCP流就属于不同的TCP物理流。但做TCP性能分析时要求把它们当成同一个TCP逻辑流来对比、分析才能计算正确出TCP性能信息。
过去的方法要么以插件技术为主,或者需要部署多个探点来采集流量。即使用了多个探点,NAT、Proxy前后被截断的TCP流也无法处理。
基于前述的原因,需要一种适应多点采集网络流量而又能计算出数据中心任何一条路径各个采集点之间的网络性能分析方法。这个方法即能够区分和识别来自不同端口的TCP流量又能把不同的TCP流进行合适地对比和关联。
本发明利用识别不同端口来的网络流量这一核心技术,完成了用一台设备支持网络多点流量采集问题、保留各个物理端口的四层网络元数据信息,然后用大数据分析技术计算出 通过各个采集点的网络性能,从而形成对网络性能端到端的掌握。和原来的多台设备采集相比,有以下优点:
(1)节省了部署空间、网线长度、网络设备(例如:10G设备的10:1的节省);
(2)单个节点便于探点的管理,例如软件的一次更新和系统的一次配置;
(3)算法的实现不需要增加TCP协议栈的存储空间;
(4)概率算法的通用性:通过对TCP报文体哈希值的的对比分析来关联Proxy后的TCP流。
对应于以上技术方案的流量标签、协议分析、大数据流量对比、和计算机算法也在这里被说明和要求保护。
同时,本发明利用大数据下的关联分析技术解决了对多条TCP流的区分、对比、关联问题用于解决经过NAT、Proxy后的TCP流量性能分析问题。
附图说明
图1描述多点采集流量使用多个低速iTAP分析的示意图:例如:防火墙前后、负载平衡前后、服务器前后等地方使用iTAP导出流量,分析的结果通过交换机进入IMAP。
图2描述多点采集流量使用一个高性能iTAP替代多台的示意图:单点分析方案是旁路部署的支持多点采集流量的高性能智能探点,
图3描述不同端口使用同一个SPAN口可以造成TCP的重传现象;
这里描述的附图仅仅是一些例子。在不脱离本发明精神的情况下,这里所述的图可以有不同的变化。
具体实施方式
本发明提供多个采集点的流量直接从不同的物理端口进入一台高性能的iTAP,形成一个支持多点采集网络流量的单点分析方案(如图2所示)。这一方案代替了现有技术中多点采集流量使用多个低速iTAP分析(如图1所示)。
实施例1
1.1IEEE 802.1ad标签
IEEE 802.1ad和IEEE 802.1q是网络二层协议的扩充。本发明给不同采集点的流量打上二层标签,用于区分不同端口的流量。这个动作在网卡驱动层里完成。对于支持IEEE802.1.ad的网卡,在二层协议分析时嵌入所需要的IEEE 802.1ad的VLAN ID,打上标签的算法如下:
1)如果输入是Ethernet II的报文,在原来报文的基础上打上802.1q的TAG,TPID是:0x8100,VID是物理端口的编号:从2开始,2,3,4等等。
2)如果是802.1Q的报文,在原来报文的基础上打上802.1ad的TAG,TPID是:0x88a8,VID是物理端口的编号:从2开始。
3)如果输入已经是802.1ad的报文,这时应该
a.配置网卡能接受这种带有双重标签(标签)的报文;
b.把原来的外层(S-TAG)的VID改为物理端口的编号:从2开始。
由于外层的S-TAG是给ISP用的,数据中心不会用到,这样的修改即不会影响网络性能的监测,又为今后的协议分析并行铺平了道路。而且修改是在驱动层面上做的,对TCP协议栈分析没有影响。
本发明引入的IEEE 802.1ad VLAN ID是我们原始报文进入iTAP后加入的,属于内部使用,满足协议使用规范,它不会产生其它的副作用。这个打标签的过程是在驱动里做的,对其它的协议分析没有影响。因此这个二层标签嵌入算法是实际可行的。
对于不支持802.1ad的网卡,在网络做配置时先接受硬件错误的报文,然后忽略二层报文的格式错误,再在驱动里加入VALN ID:报文读入时会有错误的标志。这时要忽略二层格式的错误,接受原始报文,然后按如上方法同样在驱动中打入二层标签。
对于不支持802.1ad的网卡,用软件的方法实现报文的负载平衡支持报文分析的多核并行化工作:由于报文读入时会有错误的标志。这时要忽略二层格式的错误,接受原始报文。不过由于在网卡读入时有错误,基于网卡硬件的负载平衡无法实现。这时可以用用软件的方式实现原来硬件完成的负载平衡算法,把错误的报文均匀地分配到多个核上,支持报文分析的并行处理。
用软件实现负载平衡要求满足TCP对于流处理的亲和性(Flow Affinity),即同一个TCP连接的两条流要映射到同一个核上,以方便TCP分析的无锁算法实现。即:
hash(IPsrc,IPdst,Portsrc,Portdst)=hash(IPdst,IPsrc,Portdst,Portsrc)
这里IPsrc,IPdst,Portsrc,Portdst是TCP的四元组,代表源地址、目的地址、源端口、目的端口。具体实现时,hash函数可以选checksum。
1.2带有二层VLAN ID的TCP/IP协议栈
在驱动里打好二层的标签:VLAN ID后,二层协议分析只要能对IEEE 802.1ad能处理就行了。二层分析解开VLAN后,这个VLAN ID要往上传,被三层(IP)、四层(TCP)协议分析所用。以下我们就以TCP四层分析来阐述此算法的原理。本发明所描述的方法适用于IP、TCP、UDP等协议分析。在其它的协议实施中可以做类似的处理。
TCP协议分析是基于TCP哈希表来存储TCP控制块(TCP Control Block)进行的。查表过程是基于四元组(IPsrc,IPdst,Portsrc,Portdst),计算出哈希表的键值(Key),然后查表完成相应的操作。
图3演示了在一个交换机上把三个监控点的流量同时打入一个监控口的情况。一般的TCP分析是不看二层信息的,所以不同端口来的TCP流,如果只用四层信息(四元组)来分析就会误认为是TCP重传,后来的报文就会被丢弃。
所以简单的办法就是在新建立TCP流表时,在TCP控制块中加入VID这个值;以后在匹配时除了对比TCP的四元组,也要同时对比这个VID。这样TCP分析就可以识别不同端口的流量了。
但这样简单的做法会增加TCP控制块的大小。如果用2-bytes来表示VLAN-ID(12-bits字节对齐后是16-bits),处理两千万条TCP连接时,就要多出20M-bytes的空间,这样会造成大量三级缓存的cache miss,对计算性能有极大地负面影响。
解决的方法是:挑一个64-bit的指针域(现在服务器大都是64-bit),利用现有的物理寻址空间是48-bit,把这12bit的VID放到64-bit指针域里的高16位。经过压缩后,可以在原有的TCP控制块上不增加存储空间进行TCP带有VID的正常分析。
插入动作是:ptr=ptr|((VID&0xFFF)<<48)
取出动作是:ptr=ptr&((0x1<<49)-1)
以上方法就是修改TCP/IP协议栈支持带有VLAN ID的TCP四层分析用以识别不同端口的流量;这种修改是在不增加TCP控制块存储空间的约束条件下完成的。
经过带有二层VID的TCP分析后,其结果以元数据的形式存入大数据分析平台,元数据在四元组的基础上还有每个TCP流的:延迟、字节数、包数、重传率、SYN/ACK/RST/FIN等信息。 1.3NAT的关联
如果网络设备对TCP流进行了NAT的操作,进入进出的同一条TCP逻辑流由于TCP头的被NAT变化后在大数据仓库里会存入两条信息。假定目的地址被NAT从一个公共的(public)IP,180.1.1.250变成一个内部的(private)IP:10.1.1.250,那么在大数据iMAP里会记录:
(IPsrc,180.1.1.250,Psrc,Pdst)和
(IPsrc,10.1.1.250,Psrc,Pdst)
那么关联条件就是:
(VID:"vid-1"AND IPdst:180.1.1.250)OR
(VID:"vid-2"AND IPdst:10.1.1.250)
这里vid-1和vid-2代表不同的物理端口,即监测点的VID。这样就把两条不同的TCP流关联到同一个TCP逻辑流了。这里用到的查询语言是布尔表达式,每个条件项用(域名:值)来表示,用的是或条件。以上即是在静态NAT之后TCP流可以按照时间段、静态NAT表来做TCP流之间的对比分析。.
在具体的实施中如果是动态NAT,要按照一定的时间段,从NAT设备中吐出IP变化的日志,针对被动态NAT修改过的域和大数据仓库里TCP的元数据做关联查询。即在动态NAT之后TCP流可以按照时间段、动态NAT表的日志来做TCP流之间的对比分析。在不违背本发明精神的情况下,实际操作的域以及它们查询的值和条件表达式的形式是可以更改的。
1.4反向代理的关联
经过反向代理(Reverse Proxy)后,TCP前后的四元组可以完全不一样。甚至负载平衡和服务器之间是TCP的长连接,这些TCP根本还没有结束。这些情况给端到端的网络性能监测带来了一定的困难。这时要根据上层应用层的信息来关联四层的网络信息。现有的做法是要求开发团队在写应用时打入这个标签,这种做法要对应用层做大的改动,适用的范围有限。
针对HTTP错误!未找到引用源。、DNS错误!未找到引用源。、ISO8583错误!未找到引用源。本发明提出三种基于DPI(Deep Packet Inspection)分析的算法。算法的核心思想是应用层的标签是由iTAP自动分析而来,不需要对现有的应用做任何的修改。
1.4.1HTTP应用的性能监测
由于HTTP是公开的协议,其DPI分析方法是已知的。iTAP能对http协议进行分析,导出(IPsrc,IPdst,Portsrc,Portdst,URL)这五元组。在Proxy之后TCP流可以按照时间段、应用层标签来做TCP流之间的性能对比分析,TCP对比的过程分如下两步进行:
1)在一定的时间段内用条件表达式:
(VID:"vid-1"OR VID:"vid-2")AND url:"待查的url”)
在HTTP协议的元数据里找出满足条件的对应于vid-1和vid-2
和待查url的五元组。这里vid-1和vid-2用VID代表不同的物理端口,即监测点。
2)再根据如上查出的四元组里的IP地址、Port端口号在TCP里用条件表达式查出TCP
里有关性能的信息。例如:
(VID:"vid-1"AND SIP:IP_src1AND DIP:IP_dst1)OR
(VID:"vid-2"AND SIP:IP_src2AND DIP:IP_dst2)
这样就可以对Proxy前后某一特定url访问的TCP网络性能进行分析了。这里的核心
是大数据平台要支持横跨多层协议的布尔表达式的查询。
1.4.2DNS的性能监测
由于DNS协议是公开的网络协议,iTAP能对DNS协议进行分析并导出(IPsrc,IPdst,Portsrc,Portdst,Domain,direction)六元组,direction用于区分一个访问是询问还是响应。对比的过程分如下两步进行:
1)在一定的时间段内用条件表达式:
(VID:"vid-1"OR VID:"vid-2")AND domain:"待查的Domain”AND dir:"方向")
在DNS协议的元数据里找出满足条件的TCP的四元组。
2)再根据组里的IP、Port端口号在TCP协议中里用条件表达式查出TCP相关的性能信息。例如:
(VID:"vid-1"AND SIP:IP_src1AND DIP:IP_dst1)OR
(VID:"vid-2"AND SIP:IP_src2AND DIP:IP_dst2)
这样就可以对比Proxy前后特定DNS访问的网络性能了。
1.4.3 ISO8583的性能监测
由于ISO 8583是公开的网络协议,iTAP能对ISO 8583协议进行分析并导出(IPsrc,IPdst,Portsrc,Portdst,Transaction_ID)五元组,对比的过程分如下两步进行:
1)在一定的时间段内用条件表达式:
(VID:"vid-1"OR VID:"vid-2")AND url:"待查的TID”)
在协议的元数据里找出满足条件的Transaction_ID(TID)的TCP四元组。
2)再根据四元组里的IP、Port端口号在TCP里用条件表达式查出TCP里有关性能的信息。例如:
(VID:"vid-1"AND SIP:IP_src1AND DIP:IP_dst1)OR
(VID:"vid-2"AND SIP:IP_src2AND DIP:IP_dst2)
这样就可以对比Proxy前后特定ISO 8583交易的网络性能了。
1.4.4基于Payload哈希值的性能监测概率算法
前面的方法假定可以从应用层中抽取应用层的ID来关联两个TCP流。如果在某些条件下,iTAP无法做协议的DPI分析,例如是一个不公开的私有协议。没有ID如何做TCP的关联呢?
这时要存储TCP的报文体(payload)来对应两个TCP流。元数据由TCP的五元组:(IPsrc,IPdst,Portsrc,Portdst,Payload)组成。TCP的关联需要对比这五元组。但由于TCP的payload很大,这给存储空间造成了极大的压力。在Proxy之后TCP流在没有应用层标签可用的情况下,可以按照时间段、报文体的哈希值来做TCP流之间的对应和性能对比分析。Payload改成hash(Payload),通过只存payload的哈希值,存储空间就可以极大地优化了。例如:MD5(Payload)只有128bits。
这时两个TCP流的对比就变成了在一段时间域里比较:
hash(Payload)==hash(Payload_1)
上述算法只是在一定的概率下解决了任意TCP流的关联问题,其正确性由如上概率算法所保证。众说周知,不同哈希函数的选择会影响hash冲突的概率,实际使用中要根据计算量的大小折衷选择。其次,如果再考虑:一定时间段和TCP的四元组等因数,冲突的概率会大大地减少的,
本发明主要是以软件方式实现,大数据分析平台的选择可以参考0。但不排除在其它的平台上也可以类似的实现。其它对公开应用层协议的关联可以参考如上三个例子做类似的实现。
本发明可以包括在具有计算机可用介质的物品中。该介质在其中具有例如计算机可读程序代码装置或者逻辑(例如指令,代码,命令等)来提供和使用本发明的能力。该制造物品可作为计算机系统的一部分或者单独出售。
所有上述变化被认为是要求保护的本发明的一部分。
尽管这里详细描述了优选的实施例子,但是对于本领域熟练的技术人员来说,很显然在不脱离本发明精神的情况下可以作出不同的改变、增加、替换或者类似操作,并且这些均被认为是在权利要求中所定义的本发明的保护范围之内。
例如:二层打标签和TCP协议分析可以用FPGA实现,无论在那实现都是本发明的保护范围。
参考文献
1、http://www.ido-net.net/id5_en.html
2、https://en.wikipedia.org/wiki/IEEE_802.1Q
3、https://tools.ietf.org/html/rfc2616
4、https://en.wikipedia.org/wiki/Domain_Name_System
5、https://en.wikipedia.org/wiki/ISO_8583
6、http://www.elastic.co

Claims (10)

1.一种基于元数据的数据采集方法,其特征在于:该方法通过多点引出流量到单台设备,再使用高性能的智能探点计算导出元数据、从而利用大数据分析平台进行TCP/UDP流的性能对比分析技术。
2.如权利要求1所述的方法,其特征在于:识别同一台机器上从不同物理端口来的不同采集点的TCP/UDP报文,用高性能的单点部署来替代原有的多台低速探点。
3.如权利要求2所述的方法,其特征在于:对于支持IEEE 802.1.ad的网卡,在二层协议分析时嵌入所需要的IEEE 802.1ad的VLAN ID。
4.如权利要求2所述的方法,其特征在于:对于不支持IEEE 802.1.ad网卡,在网络做配置时先接受硬件错误的报文,然后忽略二层报文的格式错误,再在驱动里加入VALN ID。
5.如权利要求4所述的方法,其特征在于,所述的方法在网卡由于二层分析的格式问题不支持负载平衡时,用软件的方法实现报文的负载平衡支持报文分析的多核并行化工作。
6.如权利要求2所述的方法,其特征在于:修改TCP/IP协议栈支持带有VLAN ID的TCP四层分析用以识别不同端口的流量;这种修改是在不增加TCP控制块存储空间的约束条件下完成的。
7.如权利要求1所述的方法,其特征在于:在静态NAT之后TCP流可以按照时间段、静态NAT表来做TCP流之间的对比分析。
8.如权利要求7所述的方法,其特征在于:在动态NAT之后TCP流可以按照时间段、动态NAT表的日志来做TCP流之间的对比分析。
9.如权利要求1所述的方法,其特征在于,在Proxy之后TCP流可以按照时间段、应用层标签来做TCP流之间的性能对比分析。
10.如权利要求9所述的方法,其特征在于,在Proxy之后TCP流在没有应用层标签可用的情况下,可以按照时间段、报文体的哈希值来做TCP流之间的对应和性能对比分析。
CN201710645987.6A 2017-08-01 2017-08-01 一种基于元数据的数据采集方法 Active CN107508721B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710645987.6A CN107508721B (zh) 2017-08-01 2017-08-01 一种基于元数据的数据采集方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710645987.6A CN107508721B (zh) 2017-08-01 2017-08-01 一种基于元数据的数据采集方法

Publications (2)

Publication Number Publication Date
CN107508721A true CN107508721A (zh) 2017-12-22
CN107508721B CN107508721B (zh) 2018-11-02

Family

ID=60689013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710645987.6A Active CN107508721B (zh) 2017-08-01 2017-08-01 一种基于元数据的数据采集方法

Country Status (1)

Country Link
CN (1) CN107508721B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110830325A (zh) * 2019-11-05 2020-02-21 北京云杉世纪网络科技有限公司 一种自适应的网络旁路路径网流方向推测方法及系统
CN111092913A (zh) * 2020-01-09 2020-05-01 盛科网络(苏州)有限公司 基于dpi和tap的报文处理方法及系统
CN111163057A (zh) * 2019-12-09 2020-05-15 中国科学院信息工程研究所 一种基于异构信息网络嵌入算法的用户识别系统及方法
CN111212442A (zh) * 2019-12-31 2020-05-29 江苏省未来网络创新研究院 一种dpi引擎区分AP和无线客户端流量的系统及其方法
CN111310874A (zh) * 2020-02-19 2020-06-19 北京安帝科技有限公司 一种工控环境下的全量数据采集标识方法
CN113067815A (zh) * 2021-03-17 2021-07-02 上海牙木通讯技术有限公司 Dns日志分析方法、dns日志分析系统及计算机可读存储介质
CN113691410A (zh) * 2020-05-19 2021-11-23 华为技术有限公司 网络性能数据的获取方法、装置和服务器
CN114389792A (zh) * 2022-03-22 2022-04-22 合肥全息网御科技有限公司 一种web日志nat前后关联方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143070A (zh) * 2011-03-04 2011-08-03 中兴通讯股份有限公司 远程流量采集的方法、装置和系统
CN103546343A (zh) * 2013-10-18 2014-01-29 中国南方电网有限责任公司 网络流量分析系统的网络流量展示方法和系统
CN103618652A (zh) * 2013-12-17 2014-03-05 沈阳觉醒软件有限公司 一种业务数据的审计和深度分析系统及其方法
US20150043351A1 (en) * 2013-08-08 2015-02-12 Fujitsu Limited Packet analysis method, packet analysis device, and storage medium
CN105071954A (zh) * 2015-07-17 2015-11-18 云南电网有限责任公司信息中心 基于探针技术的资源池故障诊断与定位处理方法
US20160357587A1 (en) * 2015-06-05 2016-12-08 Cisco Technology, Inc. Technologies for annotating process and user information for network flows
CN106533832A (zh) * 2016-11-14 2017-03-22 中国电子科技集团公司第二十八研究所 一种基于分布式部署的网络流量探测系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143070A (zh) * 2011-03-04 2011-08-03 中兴通讯股份有限公司 远程流量采集的方法、装置和系统
US20150043351A1 (en) * 2013-08-08 2015-02-12 Fujitsu Limited Packet analysis method, packet analysis device, and storage medium
CN103546343A (zh) * 2013-10-18 2014-01-29 中国南方电网有限责任公司 网络流量分析系统的网络流量展示方法和系统
CN103618652A (zh) * 2013-12-17 2014-03-05 沈阳觉醒软件有限公司 一种业务数据的审计和深度分析系统及其方法
US20160357587A1 (en) * 2015-06-05 2016-12-08 Cisco Technology, Inc. Technologies for annotating process and user information for network flows
CN105071954A (zh) * 2015-07-17 2015-11-18 云南电网有限责任公司信息中心 基于探针技术的资源池故障诊断与定位处理方法
CN106533832A (zh) * 2016-11-14 2017-03-22 中国电子科技集团公司第二十八研究所 一种基于分布式部署的网络流量探测系统

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110830325A (zh) * 2019-11-05 2020-02-21 北京云杉世纪网络科技有限公司 一种自适应的网络旁路路径网流方向推测方法及系统
CN110830325B (zh) * 2019-11-05 2021-05-14 北京云杉世纪网络科技有限公司 一种自适应的网络旁路路径网流方向推测方法及系统
CN111163057A (zh) * 2019-12-09 2020-05-15 中国科学院信息工程研究所 一种基于异构信息网络嵌入算法的用户识别系统及方法
CN111212442A (zh) * 2019-12-31 2020-05-29 江苏省未来网络创新研究院 一种dpi引擎区分AP和无线客户端流量的系统及其方法
CN111212442B (zh) * 2019-12-31 2022-08-16 江苏省未来网络创新研究院 一种dpi引擎区分AP和无线客户端流量的系统及其方法
CN111092913A (zh) * 2020-01-09 2020-05-01 盛科网络(苏州)有限公司 基于dpi和tap的报文处理方法及系统
CN111310874A (zh) * 2020-02-19 2020-06-19 北京安帝科技有限公司 一种工控环境下的全量数据采集标识方法
CN113691410A (zh) * 2020-05-19 2021-11-23 华为技术有限公司 网络性能数据的获取方法、装置和服务器
CN113691410B (zh) * 2020-05-19 2023-05-12 花瓣云科技有限公司 网络性能数据的获取方法、装置和服务器
CN113067815A (zh) * 2021-03-17 2021-07-02 上海牙木通讯技术有限公司 Dns日志分析方法、dns日志分析系统及计算机可读存储介质
CN113067815B (zh) * 2021-03-17 2023-01-06 牙木科技股份有限公司 Dns日志分析方法、dns日志分析系统及计算机可读存储介质
CN114389792A (zh) * 2022-03-22 2022-04-22 合肥全息网御科技有限公司 一种web日志nat前后关联方法及系统

Also Published As

Publication number Publication date
CN107508721B (zh) 2018-11-02

Similar Documents

Publication Publication Date Title
CN107508721B (zh) 一种基于元数据的数据采集方法
EP3387803B1 (en) Router with optimized statistical functionality
CN102238083B (zh) 用于适配分组处理流水线的系统和方法
CN104243315B (zh) 用于唯一枚举解析树中的路径的装置和方法
CN106105165B (zh) 具有网络地址转换检测的动态服务链
US7225188B1 (en) System and method for performing regular expression matching with high parallelism
US11979322B2 (en) Method and apparatus for providing service for traffic flow
CN107872392A (zh) 在网络中分配服务功能链数据和服务功能实例数据
CN108696402A (zh) 虚拟路由器的基于会话的业务统计记录
CN101087296B (zh) 利用网络处理器实现IPv4/IPv6网络协议转换的方法
CN109861926A (zh) 报文的发送、处理方法及装置、pe节点、节点
CN104348716A (zh) 一种报文处理方法及设备
US10284471B2 (en) AIA enhancements to support lag networks
EP3574617B1 (en) Method and apparatus for managing routing disruptions in a computer network
CN104320304A (zh) 一种易扩展的多方式融合的核心网用户流量应用识别方法
US10432519B2 (en) Packet redirecting router
US11700202B2 (en) Port extender with local switching
CN107222342A (zh) 一种集群管理网络配置方法
CN106464600A (zh) 用于在第3层网络中提供拥塞通知的系统和方法
US11297037B2 (en) Method and network device for overlay tunnel termination and mirroring spanning datacenters
JP2008502244A (ja) フロー処理
Li et al. Parsing application layer protocol with commodity hardware for SDN
KR100576724B1 (ko) MPLS-L3VPN(Multi ProtocolLabel Switching - Layer 3Virtual PrivateNetwork)프로토콜과 고속 데이터 전송을 보장하는포워딩 검색 방법 및 포워딩 검색 트리.
JP2023553893A (ja) ネットワークプロトコルを用いてネットワークフローデータを通信すること
CN117857445A (zh) 一种智能网卡Vxlan流表合并方式

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